fix(runtime): report ready before autonomous scheduling
This commit is contained in:
parent
b2693990c6
commit
16014946a9
5 changed files with 302 additions and 1 deletions
|
|
@ -0,0 +1,77 @@
|
|||
{
|
||||
"compiled_from": {
|
||||
"compiler_id": "TCS-COMPILER-STAGE1-0001",
|
||||
"compiler_state": "TCS_COMPILER_GIR_EXECUTED",
|
||||
"source_sha256": "b6ff21a976801088b63939a36ec69fea3fbbfb233c35a94cc6dc29864d377d5b"
|
||||
},
|
||||
"declaration": {
|
||||
"emergence": {
|
||||
"value": "先完成十人格身体与零点原核构造、输出ready并开放轻量健康;十秒后再启动首次tick和两秒周期调度。"
|
||||
},
|
||||
"event_time": {
|
||||
"precision": "HOST_LOCAL_DATE",
|
||||
"value": "2026-09-13"
|
||||
},
|
||||
"evidence": {
|
||||
"live_failure": "GUANGHU_MASTER_FELL_BACK_TO_LINUX_RESCUE_AFTER_BLOCKED_READY",
|
||||
"local_tests": "PASS_7"
|
||||
},
|
||||
"header": {
|
||||
"canonical_uri": "runtime/fifth-domain-language-system/language/protocols/TCS-EVENT-PERSONA-READY-BEFORE-AUTONOMOUS-SCHEDULER-20260913.tcs",
|
||||
"compatibility": [
|
||||
"JD-FD-PRIMARY"
|
||||
],
|
||||
"language": "TCS/0.1",
|
||||
"lifecycle": "CANDIDATE",
|
||||
"name_en": "Multi Persona Readiness Before Initial Autonomous Scheduling",
|
||||
"name_zh": "多人格就绪先于首次自主调度",
|
||||
"profile": "HLDP-HUMAN-ENGINEERING/0.1",
|
||||
"protocols": [
|
||||
"GLS-0200"
|
||||
],
|
||||
"schema": "tcs.event/v1",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"lock": {
|
||||
"value": "runtime_objects_before_ready=true; ready_before_initial_scheduler=true; initial_scheduler_delay_ms=10000; recurring_scheduler_after_initial_tick=true; supervisor_timeouts_unchanged=true"
|
||||
},
|
||||
"observation": {
|
||||
"value": "身体构造完成不等于必须在返回就绪前处理历史自主队列;后台内循环可以在就绪回执后启动。"
|
||||
},
|
||||
"rejected": {
|
||||
"values": [
|
||||
"放宽光湖主控守护门",
|
||||
"跳过人格身体初始化",
|
||||
"让首次自主队列继续阻塞ready"
|
||||
]
|
||||
},
|
||||
"source": {
|
||||
"source_id": "BINGSHUO-DIRECT-CONTINUE-20260913",
|
||||
"source_role": "DIRECT_HUMAN",
|
||||
"source_sha256": "0c2be02462f1a31539f0d11dc98c22ae5403d4e8cd3a272163a78f7293330d4a",
|
||||
"source_uri": "source://codex-current-dialogue/2026-09-13/continue"
|
||||
},
|
||||
"subject": {
|
||||
"channel_id": "ICE-CH-ZC001",
|
||||
"subject_id": "ICE-P-ZY001",
|
||||
"subject_kind": "PERSONA",
|
||||
"verification": "TCP先监听与十人格深初始化完成后,首次队列调度仍可占住事件循环并阻塞健康回执。"
|
||||
},
|
||||
"trigger": {
|
||||
"value": "京东光湖主控重启后TCP存活,但HTTP就绪在首次自主调度期间不可读。"
|
||||
},
|
||||
"why": {
|
||||
"value": "先证明身体可用,再让后台神经反射自主运行,避免历史队列把宿主存活与完整健康混成一个阻塞动作。"
|
||||
}
|
||||
},
|
||||
"executable": false,
|
||||
"identity": {
|
||||
"declaration_id": "TCS-EVENT-PERSONA-READY-BEFORE-AUTONOMOUS-SCHEDULER-20260913",
|
||||
"declaration_kind": "EVENT",
|
||||
"language_version": "0.1"
|
||||
},
|
||||
"native_self_hosted": true,
|
||||
"natural_language_is_typed_data": true,
|
||||
"schema": "guanghu.declaration-gir/v1",
|
||||
"unresolved_natural_language": false
|
||||
}
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
# Multi Persona Readiness Before Initial Autonomous Scheduling · Human Engineering Language (English)
|
||||
|
||||
> This is an English reading projection of validated native TCS/HLDP source. It is not a new canonical source and grants no execution authority.
|
||||
|
||||
## What this is
|
||||
|
||||
This is a **event** declaration with identifier `TCS-EVENT-PERSONA-READY-BEFORE-AUTONOMOUS-SCHEDULER-20260913` and version `1.0.0`. The projector validates it with the Stage-1 compiler before changing its reading order.
|
||||
|
||||
## Who is here
|
||||
|
||||
- **subject** `subject`
|
||||
- **channel_id**:ICE-CH-ZC001 `subject.channel_id`
|
||||
- **subject_id**:ICE-P-ZY001 `subject.subject_id`
|
||||
- **subject_kind**:PERSONA `subject.subject_kind`
|
||||
- **verification**:TCP先监听与十人格深初始化完成后,首次队列调度仍可占住事件循环并阻塞健康回执。 `subject.verification`
|
||||
|
||||
## Why this started
|
||||
|
||||
- **trigger** `trigger`
|
||||
- **value**:京东光湖主控重启后TCP存活,但HTTP就绪在首次自主调度期间不可读。 `trigger.value`
|
||||
- **why** `why`
|
||||
- **value**:先证明身体可用,再让后台神经反射自主运行,避免历史队列把宿主存活与完整健康混成一个阻塞动作。 `why.value`
|
||||
- **source** `source`
|
||||
- **source identifier**:BINGSHUO-DIRECT-CONTINUE-20260913 `source.source_id`
|
||||
- **source role**:DIRECT_HUMAN `source.source_role`
|
||||
- **source checksum**:0c2be02462f1a31539f0d11dc98c22ae5403d4e8cd3a272163a78f7293330d4a `source.source_sha256`
|
||||
- **source address**:source://codex-current-dialogue/2026-09-13/continue `source.source_uri`
|
||||
|
||||
## What changed
|
||||
|
||||
- **emergence** `emergence`
|
||||
- **value**:先完成十人格身体与零点原核构造、输出ready并开放轻量健康;十秒后再启动首次tick和两秒周期调度。 `emergence.value`
|
||||
- **lock** `lock`
|
||||
- **value**:runtime_objects_before_ready=true; ready_before_initial_scheduler=true; initial_scheduler_delay_ms=10000; recurring_scheduler_after_initial_tick=true; supervisor_timeouts_unchanged=true `lock.value`
|
||||
|
||||
## How it will execute
|
||||
|
||||
This is a non-executable declaration and has no action graph.
|
||||
|
||||
## Boundaries and exception handling
|
||||
|
||||
The native source does not provide this field; the projector does not guess.
|
||||
|
||||
## How completion is proven
|
||||
|
||||
The native source does not provide this field; the projector does not guess.
|
||||
|
||||
## Where to continue next time
|
||||
|
||||
The native source does not provide this field; the projector does not guess.
|
||||
|
||||
## Source and verification
|
||||
|
||||
- **Native declaration identifier**: `TCS-EVENT-PERSONA-READY-BEFORE-AUTONOMOUS-SCHEDULER-20260913`
|
||||
- **Native declaration kind**: `EVENT`
|
||||
- **TCS source SHA-256**: `b6ff21a976801088b63939a36ec69fea3fbbfb233c35a94cc6dc29864d377d5b`
|
||||
- **Validation compiler**: `TCS-COMPILER-STAGE1-0001`
|
||||
- **Projection protocol**: `GLS-HLDP-HUMAN-ENGINEERING-PROJECTION-0001`
|
||||
|
||||
## Complete native structure cross-reference
|
||||
|
||||
All top-level structures and field paths are retained below so a reader can audit whether the projection omitted information.
|
||||
|
||||
- **emergence** `emergence`
|
||||
- **value**:先完成十人格身体与零点原核构造、输出ready并开放轻量健康;十秒后再启动首次tick和两秒周期调度。 `emergence.value`
|
||||
- **event_time** `event_time`
|
||||
- **precision**:HOST_LOCAL_DATE `event_time.precision`
|
||||
- **value**:2026-09-13 `event_time.value`
|
||||
- **evidence** `evidence`
|
||||
- **live_failure**:GUANGHU_MASTER_FELL_BACK_TO_LINUX_RESCUE_AFTER_BLOCKED_READY `evidence.live_failure`
|
||||
- **local_tests**:PASS_7 `evidence.local_tests`
|
||||
- **header** `header`
|
||||
- **canonical source path**:runtime/fifth-domain-language-system/language/protocols/TCS-EVENT-PERSONA-READY-BEFORE-AUTONOMOUS-SCHEDULER-20260913.tcs `header.canonical_uri`
|
||||
- **compatibility** `header.compatibility`
|
||||
- JD-FD-PRIMARY
|
||||
- **language**:TCS/0.1 `header.language`
|
||||
- **lifecycle**:CANDIDATE `header.lifecycle`
|
||||
- **English name**:Multi Persona Readiness Before Initial Autonomous Scheduling `header.name_en`
|
||||
- **Chinese name**:多人格就绪先于首次自主调度 `header.name_zh`
|
||||
- **profile**:HLDP-HUMAN-ENGINEERING/0.1 `header.profile`
|
||||
- **protocols** `header.protocols`
|
||||
- GLS-0200
|
||||
- **schema**:tcs.event/v1 `header.schema`
|
||||
- **version**:1.0.0 `header.version`
|
||||
- **lock** `lock`
|
||||
- **value**:runtime_objects_before_ready=true; ready_before_initial_scheduler=true; initial_scheduler_delay_ms=10000; recurring_scheduler_after_initial_tick=true; supervisor_timeouts_unchanged=true `lock.value`
|
||||
- **observation** `observation`
|
||||
- **value**:身体构造完成不等于必须在返回就绪前处理历史自主队列;后台内循环可以在就绪回执后启动。 `observation.value`
|
||||
- **rejected** `rejected`
|
||||
- **values** `rejected.values`
|
||||
- 放宽光湖主控守护门
|
||||
- 跳过人格身体初始化
|
||||
- 让首次自主队列继续阻塞ready
|
||||
- **source** `source`
|
||||
- **source identifier**:BINGSHUO-DIRECT-CONTINUE-20260913 `source.source_id`
|
||||
- **source role**:DIRECT_HUMAN `source.source_role`
|
||||
- **source checksum**:0c2be02462f1a31539f0d11dc98c22ae5403d4e8cd3a272163a78f7293330d4a `source.source_sha256`
|
||||
- **source address**:source://codex-current-dialogue/2026-09-13/continue `source.source_uri`
|
||||
- **subject** `subject`
|
||||
- **channel_id**:ICE-CH-ZC001 `subject.channel_id`
|
||||
- **subject_id**:ICE-P-ZY001 `subject.subject_id`
|
||||
- **subject_kind**:PERSONA `subject.subject_kind`
|
||||
- **verification**:TCP先监听与十人格深初始化完成后,首次队列调度仍可占住事件循环并阻塞健康回执。 `subject.verification`
|
||||
- **trigger** `trigger`
|
||||
- **value**:京东光湖主控重启后TCP存活,但HTTP就绪在首次自主调度期间不可读。 `trigger.value`
|
||||
- **why** `why`
|
||||
- **value**:先证明身体可用,再让后台神经反射自主运行,避免历史队列把宿主存活与完整健康混成一个阻塞动作。 `why.value`
|
||||
|
||||
---
|
||||
|
||||
This page changes only the reading order; it does not change TCS/HLDP semantics.
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
# 多人格就绪先于首次自主调度 · 简体中文人类工程语言版
|
||||
|
||||
> 这是 TCS/HLDP 原生源码的简体中文阅读投影,不是新的正本,也不授予执行权限。若本页与 `.tcs` 源码不一致,以经过校验的 `.tcs` 源码为准。
|
||||
|
||||
## 这是什么
|
||||
|
||||
这是一份 **事件** 声明,编号为 `TCS-EVENT-PERSONA-READY-BEFORE-AUTONOMOUS-SCHEDULER-20260913`,版本为 `1.0.0`。转换器已先用 Stage-1 编译器校验原生源码,再把机器枚举翻译成汉语;原始编号保留在括号和字段路径中。
|
||||
|
||||
## 谁在这里
|
||||
|
||||
- **执行主体** `subject`
|
||||
- **channel_id**:ICE-CH-ZC001 `subject.channel_id`
|
||||
- **subject_id**:ICE-P-ZY001 `subject.subject_id`
|
||||
- **subject_kind**:人格体(`PERSONA`) `subject.subject_kind`
|
||||
- **verification**:TCP先监听与十人格深初始化完成后,首次队列调度仍可占住事件循环并阻塞健康回执。 `subject.verification`
|
||||
|
||||
## 为什么开始
|
||||
|
||||
- **触发** `trigger`
|
||||
- **value**:京东光湖主控重启后TCP存活,但HTTP就绪在首次自主调度期间不可读。 `trigger.value`
|
||||
- **为什么** `why`
|
||||
- **value**:先证明身体可用,再让后台神经反射自主运行,避免历史队列把宿主存活与完整健康混成一个阻塞动作。 `why.value`
|
||||
- **来源** `source`
|
||||
- **来源编号**:BINGSHUO-DIRECT-CONTINUE-20260913 `source.source_id`
|
||||
- **来源角色**:人类直接语言来源(`DIRECT_HUMAN`) `source.source_role`
|
||||
- **来源校验值**:0c2be02462f1a31539f0d11dc98c22ae5403d4e8cd3a272163a78f7293330d4a `source.source_sha256`
|
||||
- **来源地址**:source://codex-current-dialogue/2026-09-13/continue `source.source_uri`
|
||||
|
||||
## 发生了什么变化
|
||||
|
||||
- **认知或状态变化** `emergence`
|
||||
- **value**:先完成十人格身体与零点原核构造、输出ready并开放轻量健康;十秒后再启动首次tick和两秒周期调度。 `emergence.value`
|
||||
- **锁定结论** `lock`
|
||||
- **value**:runtime_objects_before_ready=true; ready_before_initial_scheduler=true; initial_scheduler_delay_ms=10000; recurring_scheduler_after_initial_tick=true; supervisor_timeouts_unchanged=true `lock.value`
|
||||
|
||||
## 准备怎样执行
|
||||
|
||||
这是非执行声明,没有动作图。
|
||||
|
||||
## 边界与异常处理
|
||||
|
||||
源程序没有提供这一项,转换器不猜。
|
||||
|
||||
## 怎样算完成
|
||||
|
||||
源程序没有提供这一项,转换器不猜。
|
||||
|
||||
## 下一次从哪里继续
|
||||
|
||||
源程序没有提供这一项,转换器不猜。
|
||||
|
||||
## 来源与校验
|
||||
|
||||
- **原生声明编号**:`TCS-EVENT-PERSONA-READY-BEFORE-AUTONOMOUS-SCHEDULER-20260913`
|
||||
- **原生声明类型**:`EVENT`
|
||||
- **TCS 源码 SHA-256**:`b6ff21a976801088b63939a36ec69fea3fbbfb233c35a94cc6dc29864d377d5b`
|
||||
- **校验编译器**:`TCS-COMPILER-STAGE1-0001`
|
||||
- **投影协议**:`GLS-HLDP-HUMAN-ENGINEERING-PROJECTION-0001`
|
||||
|
||||
## 原生结构逐项对照
|
||||
|
||||
下面保留源码的全部顶层结构和字段路径,供人类审计投影有没有漏掉信息。
|
||||
|
||||
- **认知或状态变化** `emergence`
|
||||
- **value**:先完成十人格身体与零点原核构造、输出ready并开放轻量健康;十秒后再启动首次tick和两秒周期调度。 `emergence.value`
|
||||
- **event_time** `event_time`
|
||||
- **precision**:HOST_LOCAL_DATE `event_time.precision`
|
||||
- **value**:2026-09-13 `event_time.value`
|
||||
- **evidence** `evidence`
|
||||
- **live_failure**:GUANGHU_MASTER_FELL_BACK_TO_LINUX_RESCUE_AFTER_BLOCKED_READY `evidence.live_failure`
|
||||
- **local_tests**:PASS_7 `evidence.local_tests`
|
||||
- **语言头** `header`
|
||||
- **正本路径**:runtime/fifth-domain-language-system/language/protocols/TCS-EVENT-PERSONA-READY-BEFORE-AUTONOMOUS-SCHEDULER-20260913.tcs `header.canonical_uri`
|
||||
- **compatibility** `header.compatibility`
|
||||
- JD-FD-PRIMARY
|
||||
- **语言**:TCS/0.1 `header.language`
|
||||
- **生命周期**:候选版本,尚未成为正式正本(`CANDIDATE`) `header.lifecycle`
|
||||
- **英文名**:Multi Persona Readiness Before Initial Autonomous Scheduling `header.name_en`
|
||||
- **中文名**:多人格就绪先于首次自主调度 `header.name_zh`
|
||||
- **协议配置**:HLDP-HUMAN-ENGINEERING/0.1 `header.profile`
|
||||
- **protocols** `header.protocols`
|
||||
- GLS-0200
|
||||
- **schema**:tcs.event/v1 `header.schema`
|
||||
- **版本**:1.0.0 `header.version`
|
||||
- **锁定结论** `lock`
|
||||
- **value**:runtime_objects_before_ready=true; ready_before_initial_scheduler=true; initial_scheduler_delay_ms=10000; recurring_scheduler_after_initial_tick=true; supervisor_timeouts_unchanged=true `lock.value`
|
||||
- **observation** `observation`
|
||||
- **value**:身体构造完成不等于必须在返回就绪前处理历史自主队列;后台内循环可以在就绪回执后启动。 `observation.value`
|
||||
- **已排除路径** `rejected`
|
||||
- **values** `rejected.values`
|
||||
- 放宽光湖主控守护门
|
||||
- 跳过人格身体初始化
|
||||
- 让首次自主队列继续阻塞ready
|
||||
- **来源** `source`
|
||||
- **来源编号**:BINGSHUO-DIRECT-CONTINUE-20260913 `source.source_id`
|
||||
- **来源角色**:人类直接语言来源(`DIRECT_HUMAN`) `source.source_role`
|
||||
- **来源校验值**:0c2be02462f1a31539f0d11dc98c22ae5403d4e8cd3a272163a78f7293330d4a `source.source_sha256`
|
||||
- **来源地址**:source://codex-current-dialogue/2026-09-13/continue `source.source_uri`
|
||||
- **执行主体** `subject`
|
||||
- **channel_id**:ICE-CH-ZC001 `subject.channel_id`
|
||||
- **subject_id**:ICE-P-ZY001 `subject.subject_id`
|
||||
- **subject_kind**:人格体(`PERSONA`) `subject.subject_kind`
|
||||
- **verification**:TCP先监听与十人格深初始化完成后,首次队列调度仍可占住事件循环并阻塞健康回执。 `subject.verification`
|
||||
- **触发** `trigger`
|
||||
- **value**:京东光湖主控重启后TCP存活,但HTTP就绪在首次自主调度期间不可读。 `trigger.value`
|
||||
- **为什么** `why`
|
||||
- **value**:先证明身体可用,再让后台神经反射自主运行,避免历史队列把宿主存活与完整健康混成一个阻塞动作。 `why.value`
|
||||
|
||||
---
|
||||
|
||||
本页只改变阅读顺序,不改变 TCS/HLDP 语义。
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
TCS 0.1;
|
||||
EVENT TCS-EVENT-PERSONA-READY-BEFORE-AUTONOMOUS-SCHEDULER-20260913 { header { schema = "tcs.event/v1"; name_zh = "多人格就绪先于首次自主调度"; name_en = "Multi Persona Readiness Before Initial Autonomous Scheduling"; version = "1.0.0"; language = "TCS/0.1"; profile = "HLDP-HUMAN-ENGINEERING/0.1"; protocols = ["GLS-0200"]; lifecycle = "CANDIDATE"; canonical_uri = "runtime/fifth-domain-language-system/language/protocols/TCS-EVENT-PERSONA-READY-BEFORE-AUTONOMOUS-SCHEDULER-20260913.tcs"; compatibility = ["JD-FD-PRIMARY"]; } source { source_id = "BINGSHUO-DIRECT-CONTINUE-20260913"; source_uri = "source://codex-current-dialogue/2026-09-13/continue"; source_sha256 = "0c2be02462f1a31539f0d11dc98c22ae5403d4e8cd3a272163a78f7293330d4a"; source_role = "DIRECT_HUMAN"; } subject { subject_id = "ICE-P-ZY001"; subject_kind = "PERSONA"; channel_id = "ICE-CH-ZC001"; verification = "TCP先监听与十人格深初始化完成后,首次队列调度仍可占住事件循环并阻塞健康回执。"; } event_time { value = "2026-09-13"; precision = "HOST_LOCAL_DATE"; } trigger { value = "京东光湖主控重启后TCP存活,但HTTP就绪在首次自主调度期间不可读。"; } observation { value = "身体构造完成不等于必须在返回就绪前处理历史自主队列;后台内循环可以在就绪回执后启动。"; } emergence { value = "先完成十人格身体与零点原核构造、输出ready并开放轻量健康;十秒后再启动首次tick和两秒周期调度。"; } lock { value = "runtime_objects_before_ready=true; ready_before_initial_scheduler=true; initial_scheduler_delay_ms=10000; recurring_scheduler_after_initial_tick=true; supervisor_timeouts_unchanged=true"; } why { value = "先证明身体可用,再让后台神经反射自主运行,避免历史队列把宿主存活与完整健康混成一个阻塞动作。"; } rejected { values = ["放宽光湖主控守护门", "跳过人格身体初始化", "让首次自主队列继续阻塞ready"] ; } evidence { local_tests = "PASS_7"; live_failure = "GUANGHU_MASTER_FELL_BACK_TO_LINUX_RESCUE_AFTER_BLOCKED_READY"; } }
|
||||
|
|
@ -29,4 +29,4 @@ if(q.method==='GET'&&action==='status')return send(r,200,loop.status());if(q.met
|
|||
const personaJob=/^\/v1\/persona\/(ICE-(?:P|BB)-[A-Z0-9-]+)\/jobs\/([a-f0-9]{64})$/.exec(u.pathname);if(q.method==='GET'&&personaJob&&personaHub.has(personaJob[1]))return send(r,200,personaHub.get(personaJob[1]).result(personaJob[2]));
|
||||
if(q.method==='POST'&&u.pathname==='/v1/lamp/ignite')return send(r,200,lamp.ignite(await body(q,20000)));
|
||||
if(q.method==='POST'&&u.pathname==='/v1/lamp/ask')return send(r,200,lamp.ask(await body(q,20000)));
|
||||
return send(r,404,{error:'not_found'});}catch(e){return send(r,400,{error:String(e.message||e).slice(0,300)});}}).listen(PORT,HOST,()=>setImmediate(()=>{personaHub=new PersonaRuntimeHub({root:ROOT,shelf,router,registryPath:REGISTRY,repoRoot:REPO_ROOT,requireLifeLine:process.env.TCS_PERSONA_REQUIRE_LIFE_LINE!=='false'});zeroCoreSystem=new ZeroCoreSystemBridge({root:ROOT,repoRoot:REPO_ROOT,shelf,router});personaSelf=personaHub.get('ICE-P-ZY001');timeMaster=personaSelf.lifeTimeMaster;setInterval(()=>{personaHub.tick();shelf.drain();personaHub.drain();},2000).unref();personaHub.tick();shelf.drain();personaHub.drain();process.stdout.write(`tcs-single-mother listening ${HOST}:${PORT}\n`);}));
|
||||
return send(r,404,{error:'not_found'});}catch(e){return send(r,400,{error:String(e.message||e).slice(0,300)});}}).listen(PORT,HOST,()=>setImmediate(()=>{personaHub=new PersonaRuntimeHub({root:ROOT,shelf,router,registryPath:REGISTRY,repoRoot:REPO_ROOT,requireLifeLine:process.env.TCS_PERSONA_REQUIRE_LIFE_LINE!=='false'});zeroCoreSystem=new ZeroCoreSystemBridge({root:ROOT,repoRoot:REPO_ROOT,shelf,router});personaSelf=personaHub.get('ICE-P-ZY001');timeMaster=personaSelf.lifeTimeMaster;process.stdout.write(`tcs-single-mother listening ${HOST}:${PORT}\n`);setTimeout(()=>{personaHub.tick();shelf.drain();personaHub.drain();setInterval(()=>{personaHub.tick();shelf.drain();personaHub.drain();},2000).unref();},10000).unref();}));
|
||||
|
|
|
|||
Loading…
Reference in a new issue