@cello-protocol/daemon 0.0.153 → 0.0.155
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-handlers.d.ts.map +1 -1
- package/dist/agent-handlers.js +5 -1
- package/dist/agent-handlers.js.map +1 -1
- package/dist/agent-state.d.ts +67 -0
- package/dist/agent-state.d.ts.map +1 -0
- package/dist/agent-state.js +66 -0
- package/dist/agent-state.js.map +1 -0
- package/dist/consortium-bootstrap.d.ts +13 -0
- package/dist/consortium-bootstrap.d.ts.map +1 -1
- package/dist/consortium-bootstrap.js +11 -6
- package/dist/consortium-bootstrap.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +72 -20
- package/dist/daemon.js.map +1 -1
- package/dist/document-handlers.d.ts.map +1 -1
- package/dist/document-handlers.js +125 -20
- package/dist/document-handlers.js.map +1 -1
- package/dist/document-json.d.ts +35 -12
- package/dist/document-json.d.ts.map +1 -1
- package/dist/document-json.js +87 -21
- package/dist/document-json.js.map +1 -1
- package/dist/document-layer.d.ts +8 -0
- package/dist/document-layer.d.ts.map +1 -1
- package/dist/document-layer.js +49 -1
- package/dist/document-layer.js.map +1 -1
- package/dist/document-notify.d.ts +38 -0
- package/dist/document-notify.d.ts.map +1 -1
- package/dist/document-notify.js +112 -1
- package/dist/document-notify.js.map +1 -1
- package/dist/document-watch.d.ts +50 -0
- package/dist/document-watch.d.ts.map +1 -0
- package/dist/document-watch.js +87 -0
- package/dist/document-watch.js.map +1 -0
- package/dist/document-write-guard.d.ts +66 -0
- package/dist/document-write-guard.d.ts.map +1 -0
- package/dist/document-write-guard.js +98 -0
- package/dist/document-write-guard.js.map +1 -0
- package/dist/document-write-path.d.ts.map +1 -1
- package/dist/document-write-path.js +9 -14
- package/dist/document-write-path.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/notification-dispatcher.d.ts +14 -0
- package/dist/notification-dispatcher.d.ts.map +1 -1
- package/dist/notification-dispatcher.js +30 -0
- package/dist/notification-dispatcher.js.map +1 -1
- package/dist/types.d.ts +28 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/vocabulary.d.ts.map +1 -1
- package/dist/vocabulary.js +1 -0
- package/dist/vocabulary.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-handlers.d.ts","sourceRoot":"","sources":["../src/agent-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAG3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAM7E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,gGAAgG;IAChG,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC;uFACmF;IACnF,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;IACxD,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,CAAC;IAC9D,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5G,sBAAsB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;IAC9D,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACrG,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAAK;QAAE,SAAS,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,MAAM,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACxJ,yBAAyB,EAAE,CAAC,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1F,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"agent-handlers.d.ts","sourceRoot":"","sources":["../src/agent-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAG3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAM7E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,gGAAgG;IAChG,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC;uFACmF;IACnF,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;IACxD,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,CAAC;IAC9D,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5G,sBAAsB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;IAC9D,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACrG,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAAK;QAAE,SAAS,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,MAAM,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACxJ,yBAAyB,EAAE,CAAC,GAAG,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1F,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAyiBlE"}
|
package/dist/agent-handlers.js
CHANGED
|
@@ -40,7 +40,11 @@ export function registerAgentHandlers(deps) {
|
|
|
40
40
|
keyProviders.set(name, keyProvider);
|
|
41
41
|
const loaded = { name, pubkey: pubkeyHex, keyProvider };
|
|
42
42
|
loadedAgents.push(loaded);
|
|
43
|
-
|
|
43
|
+
// The LOAD outcome, not the operator-facing state — that is derived per call by
|
|
44
|
+
// resolveAgentState. This agent has just been created and has no FROST share, so it derives as
|
|
45
|
+
// `unregistered` until `cello register-agent` runs. It used to be recorded as "registered"
|
|
46
|
+
// here, which was false at the moment it was written: nobody could reach this agent yet.
|
|
47
|
+
agents.push({ name, state: "stopped", pubkey: pubkeyHex });
|
|
44
48
|
// CELLO-M7-CONN-001 (DOD-CONN-1, supersedes ONBOARD-001 keystone election): on a fresh install
|
|
45
49
|
// the daemon started with zero agents, so there were no directory connections. Bring up THIS
|
|
46
50
|
// agent's OWN directory connection now (production: getAgentSignaling creates + connects a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-handlers.js","sourceRoot":"","sources":["../src/agent-handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-handlers.js","sourceRoot":"","sources":["../src/agent-handlers.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAIpF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAEjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA0BrD,MAAM,UAAU,qBAAqB,CAAC,IAAsB;IAC1D,MAAM,EACJ,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,EAAE,uBAAuB,EAAE,yBAAyB,EAC9G,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,EAC5E,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAC9E,yBAAyB,EAAE,iBAAiB,GAC7C,GAAG,IAAI,CAAC;IAET,6CAA6C;IAC7C,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,MAAM,EAAE,IAA0B,CAAC;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,wDAAwD,EAAE,CAAC;QACrH,CAAC;QACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,2DAA2D;IAC3D,kGAAkG;IAClG,kGAAkG;IAClG,qGAAqG;IACrG,QAAQ,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,oEAAoE,UAAU,CAAC,MAAM,sBAAsB,EAAE,CAAC;QAC5K,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACtE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,UAAU,IAAI,iEAAiE,EAAE,CAAC;QAClJ,CAAC;QACD,IAAI,SAAiB,CAAC;QACtB,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAClD,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1E,+FAA+F;YAC/F,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YACnD,4FAA4F;YAC5F,+FAA+F;YAC/F,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACpC,MAAM,MAAM,GAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;YACrE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,gFAAgF;YAChF,+FAA+F;YAC/F,2FAA2F;YAC3F,yFAAyF;YACzF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC3D,+FAA+F;YAC/F,6FAA6F;YAC7F,2FAA2F;YAC3F,2FAA2F;YAC3F,kGAAkG;YAClG,8CAA8C;YAC9C,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YAChD,+FAA+F;YAC/F,6FAA6F;YAC7F,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QACnG,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9H,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,wGAAwG,EAAE,CAAC;QAC1K,CAAC;QACD,8FAA8F;QAC9F,sDAAsD;QACtD,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QACnF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,yEAAyE;IACzE,iGAAiG;IACjG,qGAAqG;IACrG,qGAAqG;IACrG,oGAAoG;IACpG,6DAA6D;IAC7D,iGAAiG;IACjG,mGAAmG;IACnG,uGAAuG;IACvG,kGAAkG;IAClG,oEAAoE;IACpE,KAAK,UAAU,qBAAqB,CAAC,IAKpC;QACC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAChE,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,WAAW,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,uBAAuB,CAAC,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEnE,qGAAqG;QACrG,mGAAmG;QACnG,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QAC5E,oGAAoG;QACpG,uGAAuG;QACvG,MAAM,gBAAgB,GAAG,CAAC,YAAY,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACrE,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;YAC5E,IAAI,YAAmD,CAAC;YACxD,MAAM,OAAO,GAAG,IAAI,OAAO,CAA0B,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnF,iGAAiG;YACjG,MAAM,UAAU,GAAG,SAAS,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5D,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBACxB,IAAI,CAAC,CAAC,KAAK,sBAAsB,IAAI,CAAC,KAAK,wBAAwB,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,UAAU;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAChI,CAAC,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC1J,IAAI,CAAC,IAAI,CAAC,EAAE;oBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,uBAAuB,EAAE,CAAC;gBACzF,IAAI,KAAqC,CAAC;gBAC1C,MAAM,QAAQ,GAAG,IAAI,OAAO,CAA0B,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChI,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACtD,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,aAAa;oBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBACnF,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,wBAAwB;oBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC;gBAC1H,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC9E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC5B,CAAC;oBAAS,CAAC;gBACT,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAChD,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACpI,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;QACjE,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,6FAA6F,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;QACnL,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;QACtE,sGAAsG;QACtG,wFAAwF;QACxF,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,mBAAmB,IAAI,wBAAwB,EAAE,CAAC;QAC7G,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC;QAEpC,mGAAmG;QACnG,kGAAkG;QAClG,kGAAkG;QAClG,iBAAiB;QACjB,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACrC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,0BAA0B,IAAI,2BAA2B,IAAI,uBAAuB,EAAE,CAAC;QAClJ,CAAC;QAED,oGAAoG;QACpG,mGAAmG;QACnG,kGAAkG;QAClG,0EAA0E;QAC1E,IAAI,mBAAmB,GAAwC,SAAS,CAAC;QACzE,IAAI,gBAAoC,CAAC;QACzC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC1D,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjF,MAAM,GAAG,GAAG,MAAM,qBAAqB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACrH,mBAAmB,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YAC7D,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,IAAI,uBAAuB,EAAE,CAAC,CAAC;YAC1G,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YACzC,sFAAsF;YACtF,0FAA0F;YAC1F,oFAAoF;YACpF,gBAAgB,GAAG,iCAAiC,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,qGAAqG;QACrG,mDAAmD;QACnD,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,gGAAgG;YAChG,+FAA+F;YAC/F,0BAA0B;YAC1B,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1B,MAAM,kBAAkB,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC1E,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/I,CAAC,CAAC,CAAC;YACL,CAAC;YACD,yFAAyF;YACzF,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC3C,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChJ,CAAC,CAAC,CAAC;YACH,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC1D,IAAI,EAAE,IAAI,CAAC;gBAAE,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACxC,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACpD,IAAI,EAAE,IAAI,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAClC,6FAA6F;YAC7F,gGAAgG;YAChG,kGAAkG;YAClG,wFAAwF;YACxF,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;YACzG,4DAA4D;YAC5D,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC;gBACjD,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;oBAChC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;oBAC1B,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,4DAA4D;oBACvF,yBAAyB,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC1D,yBAAyB,EAAE,CAAC,2BAA2B,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;YACD,4FAA4F;YAC5F,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACnE,yBAAyB,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS;YACxB,CAAC,CAAC,4KAA4K;YAC9K,CAAC,CAAC,oCAAoC,CAAC;QACzC,MAAM,OAAO,GACX,mBAAmB,KAAK,UAAU;YAChC,CAAC,CAAC,oFAAoF;YACtF,CAAC,CAAC,mBAAmB,KAAK,UAAU;gBAClC,CAAC,CAAC,iEAAiE,gBAAgB,IAAI,uBAAuB,sEAAsE,IAAI,+CAA+C;gBACvO,CAAC,CAAC,gBAAgB,KAAK,iCAAiC;oBACtD,CAAC,CAAC,8MAA8M;oBAChN,CAAC,CAAC,2FAA2F,CAAC;QACtG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,EAAE,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,mFAAmF;IACnF,EAAE;IACF,6FAA6F;IAC7F,8FAA8F;IAC9F,8FAA8F;IAC9F,4FAA4F;IAC5F,yFAAyF;IACzF,WAAW;IACX,EAAE;IACF,+EAA+E;IAC/E,kGAAkG;IAClG,wFAAwF;IACxF,EAAE;IACF,8FAA8F;IAC9F,iEAAiE;IACjE,EAAE;IACF,oFAAoF;IACpF,2FAA2F;IAC3F,EAAE;IACF,gGAAgG;IAChG,gGAAgG;IAChG,iGAAiG;IACjG,gGAAgG;IAChG,qEAAqE;IACrE,EAAE;IACF,gGAAgG;IAChG,iGAAiG;IACjG,oEAAoE;IACpE,QAAQ,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE;QACtE,MAAM,IAAI,GAAG,MAAM,EAAE,IAA0B,CAAC;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,uDAAuD,EAAE,CAAC;QACpH,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;YAC5C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,IAAI,wDAAwD,EAAE,CAAC;QACpI,CAAC;QACD,+FAA+F;QAC/F,kGAAkG;QAClG,4FAA4F;QAC5F,4FAA4F;QAC5F,iGAAiG;QACjG,+CAA+C;QAC/C,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,oDAAoD;YACpD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;QACD,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,qFAAqF;QACrF,8FAA8F;QAC9F,8FAA8F;QAC9F,+FAA+F;QAC/F,MAAM,kBAAkB,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1E,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnI,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,EAAE;QACF,8FAA8F;QAC9F,+FAA+F;QAC/F,8FAA8F;QAC9F,gGAAgG;QAChG,gGAAgG;QAChG,iGAAiG;QACjG,oBAAoB;QACpB,EAAE;QACF,4FAA4F;QAC5F,+FAA+F;QAC/F,6FAA6F;QAC7F,4FAA4F;QAC5F,2CAA2C;QAC3C,MAAM,WAAW,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;QAC1G,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,kBAAkB,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YACjF,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,0FAA0F;gBAC1F,2FAA2F;gBAC3F,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;oBACjD,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU;oBACxC,MAAM,EAAE,6FAA6F;oBACrG,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACjG,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACrE,4DAA4D;QAC5D,yBAAyB,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAElF,yEAAyE;QACzE,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBAChC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC1B,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,4DAA4D;gBACvF,yBAAyB,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC1D,yBAAyB,EAAE,CAAC,2BAA2B,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC5E,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,+EAA+E;IAC/E,EAAE;IACF,kGAAkG;IAClG,mGAAmG;IACnG,uFAAuF;IACvF,EAAE;IACF,kGAAkG;IAClG,kGAAkG;IAClG,iGAAiG;IACjG,6FAA6F;IAC7F,EAAE;IACF,iGAAiG;IACjG,gGAAgG;IAChG,wFAAwF;IACxF,QAAQ,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;QACrE,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,QAAQ,EAAE,oDAAoD,EAAE,CAAC;QAC5H,CAAC;QACD,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC;QAEzC,gGAAgG;QAChG,8FAA8F;QAC9F,4FAA4F;QAC5F,6FAA6F;QAC7F,8FAA8F;QAC9F,+FAA+F;QAC/F,2FAA2F;QAC3F,qBAAqB;QACrB,OAAO,SAAS,CAAC,YAAY,CAAC;QAE9B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,2FAA2F;YAC3F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,kEAAkE,EAAE,CAAC;QACpH,CAAC;QACD,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC;QAC9B,yBAAyB,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAChE,yBAAyB,EAAE,CAAC,2BAA2B,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACvF,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,OAAO;YACL,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,SAAS;YACnB,4FAA4F;YAC5F,8FAA8F;YAC9F,+FAA+F;YAC/F,uFAAuF;YACvF,QAAQ,EACN,wBAAwB,SAAS,8DAA8D;gBAC/F,+FAA+F;gBAC/F,6FAA6F;gBAC7F,yEAAyE;SAC5E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE;QAC7D,MAAM,IAAI,GAAG,MAAM,EAAE,IAA0B,CAAC;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,sDAAsD,EAAE,CAAC;QACnH,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;YAC5C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,IAAI,wDAAwD,IAAI,gEAAgE,EAAE,CAAC;QACxM,CAAC;QACD,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,QAAQ,EAAE,oDAAoD,EAAE,CAAC;QAC5H,CAAC;QACD,+FAA+F;QAC/F,uFAAuF;QACvF,6FAA6F;QAC7F,mFAAmF;QACnF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,2FAA2F;gBAC3F,0FAA0F;gBAC1F,0FAA0F;gBAC1F,kFAAkF;gBAClF,0FAA0F;gBAC1F,wFAAwF;gBACxF,iDAAiD;gBACjD,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClG,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,oBAAoB;oBAC5B,YAAY,EAAE,QAAQ,CAAC,MAAM;oBAC7B,QAAQ,EAAE,0BAA0B,IAAI,mBAAmB,QAAQ,CAAC,QAAQ,mCAAmC;iBAChH,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,SAAS,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YACpC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,UAAU,IAAI,iHAAiH,EAAE,CAAC;QACnM,CAAC;QACD,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC;QACzC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC;QAC9B,gGAAgG;QAChG,6FAA6F;QAC7F,qCAAqC;QACrC,OAAO,SAAS,CAAC,YAAY,CAAC;QAC9B,6FAA6F;QAC7F,6FAA6F;QAC7F,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC;gBAAE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1D,CAAC;QACD,2FAA2F;QAC3F,yBAAyB,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAChE,yBAAyB,EAAE,CAAC,2BAA2B,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACvF,+FAA+F;QAC/F,uFAAuF;QACvF,+FAA+F;QAC/F,oFAAoF;QACpF,EAAE;QACF,+FAA+F;QAC/F,gEAAgE;QAChE,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC;QAChC,MAAM,OAAO,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC;QACtG,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3F,yFAAyF;QACzF,EAAE;QACF,8FAA8F;QAC9F,0FAA0F;QAC1F,8FAA8F;QAC9F,0FAA0F;QAC1F,gEAAgE;QAChE,MAAM,UAAU,GAAG,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,8FAA8F;QAC9F,+FAA+F;QAC/F,oFAAoF;QACpF,MAAM,MAAM,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACjE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,4FAA4F;YAC5F,4FAA4F;YAC5F,qFAAqF;YACrF,2FAA2F;YAC3F,yFAAyF;YACzF,MAAM,CAAC,wBAAwB,CAAC;gBAC9B,GAAG,UAAU,4BAA4B,IAAI,mDAAmD;oBAChG,+FAA+F;oBAC/F,gGAAgG;oBAChG,gGAAgG,CAAC;QACrG,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,yBAAyB,CAAC,EAAE,EAAE,EAAE,kBAAkB,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC;YACrI,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC;gBACrC,MAAM,CAAC,kBAAkB,CAAC,GAAG,UAAU,IAAI,0FAA0F,IAAI,qFAAqF,CAAC;YACjO,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,4FAA4F;YAC5F,+FAA+F;YAC/F,4FAA4F;YAC5F,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7H,MAAM,CAAC,SAAS,CAAC,GAAG,sBAAsB,CAAC;YAC3C,MAAM,CAAC,kBAAkB,CAAC,GAAG,UAAU,IAAI,yIAAyI,CAAC;QACvL,CAAC;QACD,8FAA8F;QAC9F,iGAAiG;QACjG,EAAE;QACF,6FAA6F;QAC7F,+FAA+F;QAC/F,yGAAyG;QACzG,qFAAqF;QACrF,EAAE;QACF,gGAAgG;QAChG,+FAA+F;QAC/F,8FAA8F;QAC9F,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACtD,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC5G,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBAChB,MAAM,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC;oBACpC,MAAM,CAAC,0BAA0B,CAAC;wBAChC,GAAG,OAAO,QAAQ,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,gCAAgC,IAAI,KAAK;4BACnF,8CAA8C,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,wBAAwB,CAAC;gBACxG,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;gBACzC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1E,CAAC,CAAC;YACH,MAAM,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;YACtC,MAAM,CAAC,0BAA0B,CAAC;gBAChC,6CAA6C,IAAI,2DAA2D,CAAC;QACjH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,6CAA6C;IAC7C,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;QAChE,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,6DAA6D;IAC7D,oFAAoF;IACpF,uFAAuF;IACvF,uFAAuF;IACvF,kFAAkF;IAClF,sEAAsE;IACtE,gFAAgF;IAChF,8EAA8E;IAC9E,+EAA+E;IAC/E,gFAAgF;IAChF,uEAAuE;IACvE,8EAA8E;IAC9E,+BAA+B;AACjC,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one place an agent's state is decided.
|
|
3
|
+
*
|
|
4
|
+
* There are two status surfaces — the daemon-wide `getStatus()` the CLI prints, and the
|
|
5
|
+
* per-connection `cello_status` the MCP tools call — and they had two separate copies of this
|
|
6
|
+
* calculation. They already drifted once this week on a different field: the directory-health block
|
|
7
|
+
* existed on one surface and not the other, which is why an operator whose sessions were all failing
|
|
8
|
+
* could run `cello status` and be told nothing. Two copies of a truth claim is how that happens, so
|
|
9
|
+
* this exists as a single function both surfaces call.
|
|
10
|
+
*
|
|
11
|
+
* The ladder is documented on `AgentState` in types.ts. Order here IS the semantics: the first
|
|
12
|
+
* matching rung wins, worst fact first. An attended agent whose signaling is down reads
|
|
13
|
+
* `connecting`, not `online` — the severe fact is the one stopping it doing its job, and it is the
|
|
14
|
+
* one the operator needs. Reversing that would let attendance mask a dead connection, which is the
|
|
15
|
+
* exact class of lie this enum replaces.
|
|
16
|
+
*/
|
|
17
|
+
import type { AgentState } from "./types.js";
|
|
18
|
+
/**
|
|
19
|
+
* Is this agent RUNNING — started, and not switched off?
|
|
20
|
+
*
|
|
21
|
+
* Use this wherever the old code asked `state === "online"` and MEANT "started". Narrowing `online`
|
|
22
|
+
* to also require an attendee changed the meaning of every such check silently: the string stayed
|
|
23
|
+
* valid, so the compiler caught none of them, and the symptom was `cello settings set` refusing a
|
|
24
|
+
* perfectly healthy agent with `selected_agent_offline`.
|
|
25
|
+
*
|
|
26
|
+
* The callers' actual question is the kill switch one — "may I claim this agent, or did the operator
|
|
27
|
+
* deliberately stop it?" So the excluded states are the ones where claiming it would be wrong:
|
|
28
|
+
* `stopped` and `paused` (resurrecting either would silently undo an operator's decision),
|
|
29
|
+
* `unregistered` (nobody can reach it), and `load_failed`.
|
|
30
|
+
*
|
|
31
|
+
* `unattended` counts: nobody is at the desk, so a caller gets the away message rather than a live
|
|
32
|
+
* reply, but the agent is up, reachable, and will record the session.
|
|
33
|
+
*
|
|
34
|
+
* `connecting` counts too, and that is deliberate. It is started; its directory stream is merely
|
|
35
|
+
* still coming up, which is NORMAL for a minute after registering. Excluding it made local commands
|
|
36
|
+
* — settings, moniker — refuse for want of a directory they never needed, which is the same
|
|
37
|
+
* over-reach in the opposite direction.
|
|
38
|
+
*/
|
|
39
|
+
export declare function isAgentRunning(state: AgentState | string | undefined): boolean;
|
|
40
|
+
/** Everything the decision needs. Each field is a fact the daemon already tracks. */
|
|
41
|
+
export interface AgentStateInputs {
|
|
42
|
+
/** The identity failed to load — a bad key file or database. Terminal. */
|
|
43
|
+
loadFailed: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Registration left a FROST share for this agent.
|
|
46
|
+
*
|
|
47
|
+
* Deliberately NOT a stored "registered" flag. Registration IS the distributed key ceremony, and
|
|
48
|
+
* the share is its durable product — so asking whether the share exists asks whether the thing
|
|
49
|
+
* actually happened, rather than whether someone remembered to record that it had. Before this,
|
|
50
|
+
* every agent on disk was labelled "registered" at load whether or not it ever was, so an agent
|
|
51
|
+
* created and not yet registered was indistinguishable from a working one.
|
|
52
|
+
*/
|
|
53
|
+
hasFrostShare: boolean;
|
|
54
|
+
/** The operator deliberately took this agent offline — the kill switch. */
|
|
55
|
+
deliberatelyOffline: boolean;
|
|
56
|
+
/** The agent has been started in this daemon (it is in `onlineAgents`). */
|
|
57
|
+
started: boolean;
|
|
58
|
+
/** This agent's own directory signaling stream is connected. */
|
|
59
|
+
signalingConnected: boolean;
|
|
60
|
+
/** How many live connections are attending this agent right now. */
|
|
61
|
+
attendance: number;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Decide an agent's state. Pure — no clock, no I/O — so every rung is directly testable.
|
|
65
|
+
*/
|
|
66
|
+
export declare function resolveAgentState(i: AgentStateInputs): AgentState;
|
|
67
|
+
//# sourceMappingURL=agent-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-state.d.ts","sourceRoot":"","sources":["../src/agent-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAE9E;AAED,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;;;;OAQG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB,2EAA2E;IAC3E,mBAAmB,EAAE,OAAO,CAAC;IAC7B,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAqBjE"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one place an agent's state is decided.
|
|
3
|
+
*
|
|
4
|
+
* There are two status surfaces — the daemon-wide `getStatus()` the CLI prints, and the
|
|
5
|
+
* per-connection `cello_status` the MCP tools call — and they had two separate copies of this
|
|
6
|
+
* calculation. They already drifted once this week on a different field: the directory-health block
|
|
7
|
+
* existed on one surface and not the other, which is why an operator whose sessions were all failing
|
|
8
|
+
* could run `cello status` and be told nothing. Two copies of a truth claim is how that happens, so
|
|
9
|
+
* this exists as a single function both surfaces call.
|
|
10
|
+
*
|
|
11
|
+
* The ladder is documented on `AgentState` in types.ts. Order here IS the semantics: the first
|
|
12
|
+
* matching rung wins, worst fact first. An attended agent whose signaling is down reads
|
|
13
|
+
* `connecting`, not `online` — the severe fact is the one stopping it doing its job, and it is the
|
|
14
|
+
* one the operator needs. Reversing that would let attendance mask a dead connection, which is the
|
|
15
|
+
* exact class of lie this enum replaces.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Is this agent RUNNING — started, and not switched off?
|
|
19
|
+
*
|
|
20
|
+
* Use this wherever the old code asked `state === "online"` and MEANT "started". Narrowing `online`
|
|
21
|
+
* to also require an attendee changed the meaning of every such check silently: the string stayed
|
|
22
|
+
* valid, so the compiler caught none of them, and the symptom was `cello settings set` refusing a
|
|
23
|
+
* perfectly healthy agent with `selected_agent_offline`.
|
|
24
|
+
*
|
|
25
|
+
* The callers' actual question is the kill switch one — "may I claim this agent, or did the operator
|
|
26
|
+
* deliberately stop it?" So the excluded states are the ones where claiming it would be wrong:
|
|
27
|
+
* `stopped` and `paused` (resurrecting either would silently undo an operator's decision),
|
|
28
|
+
* `unregistered` (nobody can reach it), and `load_failed`.
|
|
29
|
+
*
|
|
30
|
+
* `unattended` counts: nobody is at the desk, so a caller gets the away message rather than a live
|
|
31
|
+
* reply, but the agent is up, reachable, and will record the session.
|
|
32
|
+
*
|
|
33
|
+
* `connecting` counts too, and that is deliberate. It is started; its directory stream is merely
|
|
34
|
+
* still coming up, which is NORMAL for a minute after registering. Excluding it made local commands
|
|
35
|
+
* — settings, moniker — refuse for want of a directory they never needed, which is the same
|
|
36
|
+
* over-reach in the opposite direction.
|
|
37
|
+
*/
|
|
38
|
+
export function isAgentRunning(state) {
|
|
39
|
+
return state === "online" || state === "unattended" || state === "connecting";
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Decide an agent's state. Pure — no clock, no I/O — so every rung is directly testable.
|
|
43
|
+
*/
|
|
44
|
+
export function resolveAgentState(i) {
|
|
45
|
+
// Nothing else is meaningful about an identity that would not load.
|
|
46
|
+
if (i.loadFailed)
|
|
47
|
+
return "load_failed";
|
|
48
|
+
// Before anything about running: an agent the directory has never heard of cannot be reached by
|
|
49
|
+
// anyone, however healthy it looks locally.
|
|
50
|
+
if (!i.hasFrostShare)
|
|
51
|
+
return "unregistered";
|
|
52
|
+
// Deliberate outranks incidental. If the operator switched it off, telling them the signaling is
|
|
53
|
+
// also down is noise about something they do not care about right now — and, worse, it would make
|
|
54
|
+
// the kill switch working look like a fault.
|
|
55
|
+
if (i.deliberatelyOffline)
|
|
56
|
+
return "paused";
|
|
57
|
+
if (!i.started)
|
|
58
|
+
return "stopped";
|
|
59
|
+
// Started but not yet on the directory. Distinct from `stopped` because the remedy is to wait,
|
|
60
|
+
// not to act.
|
|
61
|
+
if (!i.signalingConnected)
|
|
62
|
+
return "connecting";
|
|
63
|
+
// Ready either way from here. The only question left is whether anyone is there to answer.
|
|
64
|
+
return i.attendance > 0 ? "online" : "unattended";
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=agent-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-state.js","sourceRoot":"","sources":["../src/agent-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,cAAc,CAAC,KAAsC;IACnE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,YAAY,CAAC;AAChF,CAAC;AA0BD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAmB;IACnD,oEAAoE;IACpE,IAAI,CAAC,CAAC,UAAU;QAAE,OAAO,aAAa,CAAC;IAEvC,gGAAgG;IAChG,4CAA4C;IAC5C,IAAI,CAAC,CAAC,CAAC,aAAa;QAAE,OAAO,cAAc,CAAC;IAE5C,iGAAiG;IACjG,kGAAkG;IAClG,6CAA6C;IAC7C,IAAI,CAAC,CAAC,mBAAmB;QAAE,OAAO,QAAQ,CAAC;IAE3C,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAEjC,+FAA+F;IAC/F,cAAc;IACd,IAAI,CAAC,CAAC,CAAC,kBAAkB;QAAE,OAAO,YAAY,CAAC;IAE/C,2FAA2F;IAC3F,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;AACpD,CAAC"}
|
|
@@ -66,6 +66,15 @@ export interface ManifestGateResult {
|
|
|
66
66
|
* nodes failed rather than asserting all-good, for exactly that reason.
|
|
67
67
|
*/
|
|
68
68
|
unresolvedNodes: NodeResolveFailure[];
|
|
69
|
+
/**
|
|
70
|
+
* When the sweep above ran (ISO), or null if none did.
|
|
71
|
+
*
|
|
72
|
+
* A reading with no timestamp asserts the PRESENT. On 2026-08-09 all three endpoints failed with
|
|
73
|
+
* ENETUNREACH — a real network blip on the operator's machine, gone within a minute — and the
|
|
74
|
+
* status block went on reporting "this daemon cannot resolve these directory endpoints" as a
|
|
75
|
+
* current fact long after it had recovered. True when taken, false when read.
|
|
76
|
+
*/
|
|
77
|
+
unresolvedSweptAt: string | null;
|
|
69
78
|
}
|
|
70
79
|
/**
|
|
71
80
|
* Load + verify the manifest, then resolve its node set to live endpoints.
|
|
@@ -89,6 +98,8 @@ export interface ConsortiumRoutingDeps {
|
|
|
89
98
|
* boot rather than from whenever the first ceremony happens to run. See the seeding note inside.
|
|
90
99
|
*/
|
|
91
100
|
initialUnresolvedNodes?: readonly NodeResolveFailure[];
|
|
101
|
+
/** When that startup sweep ran, so the surface can say how old the reading is. */
|
|
102
|
+
initialUnresolvedSweptAt?: string | null;
|
|
92
103
|
}
|
|
93
104
|
export interface ConsortiumRouting {
|
|
94
105
|
/**
|
|
@@ -114,6 +125,8 @@ export interface ConsortiumRouting {
|
|
|
114
125
|
* endpoint — the roster, and therefore every threshold ceremony — fails.
|
|
115
126
|
*/
|
|
116
127
|
getUnresolvedNodes: () => NodeResolveFailure[];
|
|
128
|
+
/** When the reading getUnresolvedNodes returns was taken (ISO), or null if no sweep has run. */
|
|
129
|
+
getUnresolvedSweptAt: () => string | null;
|
|
117
130
|
/** Null-safe accessor for the ceremony/handler getDirectoryEndpoint sites. */
|
|
118
131
|
getFailoverEndpoint: () => Promise<DirectoryEndpoint | null>;
|
|
119
132
|
/** Stops the daemon-level HTTP manifest poll. Undefined when no poll was started. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consortium-bootstrap.d.ts","sourceRoot":"","sources":["../src/consortium-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAGL,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,qBAAqB,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+EAA+E;IAC/E,uBAAuB,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C;;;;;;;;OAQG;IACH,gBAAgB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC5C;;;;;;;;;;;;;OAaG;IACH,eAAe,EAAE,kBAAkB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"consortium-bootstrap.d.ts","sourceRoot":"","sources":["../src/consortium-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAGL,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,qBAAqB,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,qFAAqF;IACrF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+EAA+E;IAC/E,uBAAuB,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IAC1C;;;;;;;;OAQG;IACH,gBAAgB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC5C;;;;;;;;;;;;;OAaG;IACH,eAAe,EAAE,kBAAkB,EAAE,CAAC;IACtC;;;;;;;OAOG;IACH,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8F/F;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,qBAAqB,CAAC;IAC5C,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yBAAyB,CAAC,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACvD,kFAAkF;IAClF,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,uBAAuB,EAAE,MAAM,OAAO,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,CAAC;IACpE;;;;;OAKG;IACH,wBAAwB,EAAE,CAAC,MAAM,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IAChF;;;;;;;OAOG;IACH,kBAAkB,EAAE,MAAM,kBAAkB,EAAE,CAAC;IAC/C,gGAAgG;IAChG,oBAAoB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC1C,8EAA8E;IAC9E,mBAAmB,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC7D,qFAAqF;IACrF,oBAAoB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAChD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,qBAAqB,GAAG,iBAAiB,CA0EtF"}
|
|
@@ -14,8 +14,9 @@ export async function verifyStartupManifest(deps) {
|
|
|
14
14
|
let consortiumEndpoints = [];
|
|
15
15
|
let verifiedManifest = null;
|
|
16
16
|
const unresolvedNodes = [];
|
|
17
|
+
let unresolvedSweptAt = null;
|
|
17
18
|
if (!manifestProvider || !manifestRootKeys || manifestThreshold === undefined) {
|
|
18
|
-
return { manifestVerified, verifiedManifestVersion, consortiumEndpoints, verifiedManifest, unresolvedNodes };
|
|
19
|
+
return { manifestVerified, verifiedManifestVersion, consortiumEndpoints, verifiedManifest, unresolvedNodes, unresolvedSweptAt };
|
|
19
20
|
}
|
|
20
21
|
try {
|
|
21
22
|
const manifest = await manifestProvider.loadAndVerify(manifestRootKeys, manifestThreshold);
|
|
@@ -27,14 +28,14 @@ export async function verifyStartupManifest(deps) {
|
|
|
27
28
|
manifestVersion: manifest.version,
|
|
28
29
|
notBefore: manifest.not_before,
|
|
29
30
|
});
|
|
30
|
-
return { manifestVerified, verifiedManifestVersion, consortiumEndpoints, verifiedManifest, unresolvedNodes };
|
|
31
|
+
return { manifestVerified, verifiedManifestVersion, consortiumEndpoints, verifiedManifest, unresolvedNodes, unresolvedSweptAt };
|
|
31
32
|
}
|
|
32
33
|
if (expiresAt <= now) {
|
|
33
34
|
logger.error("directory.auth.manifest.expired", {
|
|
34
35
|
manifestVersion: manifest.version,
|
|
35
36
|
expiresAt: manifest.expires,
|
|
36
37
|
});
|
|
37
|
-
return { manifestVerified, verifiedManifestVersion, consortiumEndpoints, verifiedManifest, unresolvedNodes };
|
|
38
|
+
return { manifestVerified, verifiedManifestVersion, consortiumEndpoints, verifiedManifest, unresolvedNodes, unresolvedSweptAt };
|
|
38
39
|
}
|
|
39
40
|
// Anti-rollback. Equal versions are fine (a restart on an unchanged manifest); only a STRICTLY
|
|
40
41
|
// older version is a rollback attempt.
|
|
@@ -44,7 +45,7 @@ export async function verifyStartupManifest(deps) {
|
|
|
44
45
|
manifestVersion: manifest.version,
|
|
45
46
|
lastSeenVersion: lastSeen,
|
|
46
47
|
});
|
|
47
|
-
return { manifestVerified, verifiedManifestVersion, consortiumEndpoints, verifiedManifest, unresolvedNodes };
|
|
48
|
+
return { manifestVerified, verifiedManifestVersion, consortiumEndpoints, verifiedManifest, unresolvedNodes, unresolvedSweptAt };
|
|
48
49
|
}
|
|
49
50
|
await manifestVersionStore.persistVersion(manifest.version);
|
|
50
51
|
manifestVerified = true;
|
|
@@ -66,6 +67,7 @@ export async function verifyStartupManifest(deps) {
|
|
|
66
67
|
// The detail this sweep used to throw away. See ManifestGateResult.unresolvedNodes.
|
|
67
68
|
onNodeUnresolved: (f) => unresolvedNodes.push(f),
|
|
68
69
|
});
|
|
70
|
+
unresolvedSweptAt = new Date().toISOString();
|
|
69
71
|
const declaredNodes = manifest.nodes.length;
|
|
70
72
|
const resolvedNodes = consortiumEndpoints.length;
|
|
71
73
|
// Carry the nodeId↔peerId pairing (not just peerIds) so a consumer can verify each manifest
|
|
@@ -92,7 +94,7 @@ export async function verifyStartupManifest(deps) {
|
|
|
92
94
|
error: err instanceof Error ? err.message : String(err),
|
|
93
95
|
});
|
|
94
96
|
}
|
|
95
|
-
return { manifestVerified, verifiedManifestVersion, consortiumEndpoints, verifiedManifest, unresolvedNodes };
|
|
97
|
+
return { manifestVerified, verifiedManifestVersion, consortiumEndpoints, verifiedManifest, unresolvedNodes, unresolvedSweptAt };
|
|
96
98
|
}
|
|
97
99
|
export function createConsortiumRouting(deps) {
|
|
98
100
|
const { manifestProvider, manifestRootKeys, manifestThreshold, manifestVersionStore, manifestPollScheduler, directoryHttpUrl, directoryEndpointResolver, logger, fetchFn, } = deps;
|
|
@@ -105,7 +107,9 @@ export function createConsortiumRouting(deps) {
|
|
|
105
107
|
// window. That silence is the whole reason item 6 exists. The seed is a starting value, not a
|
|
106
108
|
// floor: the first real sweep replaces it, so a node that has recovered stops being reported.
|
|
107
109
|
let unresolvedNodes = [...(deps.initialUnresolvedNodes ?? [])];
|
|
110
|
+
let unresolvedSweptAt = deps.initialUnresolvedSweptAt ?? null;
|
|
108
111
|
const getUnresolvedNodes = () => [...unresolvedNodes];
|
|
112
|
+
const getUnresolvedSweptAt = () => unresolvedSweptAt;
|
|
109
113
|
const resolveConsortiumRoster = async () => {
|
|
110
114
|
const m = manifestProvider?.getCurrentManifest();
|
|
111
115
|
if (!m)
|
|
@@ -117,6 +121,7 @@ export function createConsortiumRouting(deps) {
|
|
|
117
121
|
onNodeUnresolved: (f) => failures.push(f),
|
|
118
122
|
});
|
|
119
123
|
unresolvedNodes = failures;
|
|
124
|
+
unresolvedSweptAt = new Date().toISOString();
|
|
120
125
|
return endpoints;
|
|
121
126
|
};
|
|
122
127
|
// DECLARED membership, straight off the verified manifest — no probe. Lets the resolver reject a
|
|
@@ -155,6 +160,6 @@ export function createConsortiumRouting(deps) {
|
|
|
155
160
|
mintCorrelationId: () => randomUUID(),
|
|
156
161
|
});
|
|
157
162
|
}
|
|
158
|
-
return { resolveConsortiumRoster, failoverEndpointResolver, getFailoverEndpoint, getUnresolvedNodes, stopHttpManifestPoll };
|
|
163
|
+
return { resolveConsortiumRoster, failoverEndpointResolver, getFailoverEndpoint, getUnresolvedNodes, getUnresolvedSweptAt, stopHttpManifestPoll };
|
|
159
164
|
}
|
|
160
165
|
//# sourceMappingURL=consortium-bootstrap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consortium-bootstrap.js","sourceRoot":"","sources":["../src/consortium-bootstrap.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EAExB,iCAAiC,GAElC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"consortium-bootstrap.js","sourceRoot":"","sources":["../src/consortium-bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EAMrB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAmC,KAAK,UAAU,EAAsB,MAAM,iBAAiB,CAAC;AAEvG,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAO/D,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAiB7G,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAsB,MAAM,2BAA2B,CAAC;AAS5G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA4BnF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAWlD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,SAAS,IAAI,oBAAoB,CAAC;IAClC;;;;OAIG;IACH,qBAAqB,IAAI,kBAAkB,CAAC;IAC5C;;;;OAIG;IACH,oBAAoB,IAAI,kBAAkB,CAAC;IAC3C;;;OAGG;IACH,iBAAiB,IAAI,eAAe,CAAC;IACrC;;OAEG;IACH,eAAe,IAAI,YAAY,CAAC;IAChC;;;;;;;;OAQG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACxC;AAYD,qBAAa,4BAA6B,YAAW,mBAAmB;IAChE,UAAU,CAAC,MAAM,EAAE,iBAAiB;CA8B3C;AAID,eAAO,MAAM,sBAAsB,QAAsB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAS7E"}
|
package/dist/daemon.js
CHANGED
|
@@ -81,6 +81,7 @@ import { registerSessionReadHandlers } from "./session-read-handlers.js";
|
|
|
81
81
|
import { pullSealCertificate } from "./seal-certificate-pull.js";
|
|
82
82
|
import { registerAgentHandlers } from "./agent-handlers.js";
|
|
83
83
|
import { registerRegisterHandler } from "./register-handler.js";
|
|
84
|
+
import { resolveAgentState } from "./agent-state.js";
|
|
84
85
|
import { registerInitiateSessionHandler } from "./initiate-session-handler.js";
|
|
85
86
|
import { createContentPark } from "./content-park.js";
|
|
86
87
|
import { createInboundSealRequestHandler } from "./inbound-seal-request.js";
|
|
@@ -230,7 +231,7 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
230
231
|
// M7-MANIFEST-002: load and verify the consortium manifest BEFORE any directory connection.
|
|
231
232
|
// The gate REPORTS; it does not decide (consortium-bootstrap.ts). The refuse below is ours
|
|
232
233
|
// because only we hold the DB handle and the singleton lock a refusal has to release.
|
|
233
|
-
const { manifestVerified, verifiedManifestVersion, verifiedManifest, unresolvedNodes: startupUnresolvedNodes } = await verifyStartupManifest({
|
|
234
|
+
const { manifestVerified, verifiedManifestVersion, verifiedManifest, unresolvedNodes: startupUnresolvedNodes, unresolvedSweptAt: startupSweptAt } = await verifyStartupManifest({
|
|
234
235
|
manifestProvider,
|
|
235
236
|
manifestRootKeys,
|
|
236
237
|
manifestThreshold,
|
|
@@ -254,7 +255,7 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
254
255
|
"Check the logs for the specific failure reason (manifest_signature_invalid, manifest_expired, or manifest_version_rollback).");
|
|
255
256
|
}
|
|
256
257
|
// The manifest poll starts only AFTER the refuse above — a refused startup must not leak a timer.
|
|
257
|
-
const { resolveConsortiumRoster, failoverEndpointResolver, getFailoverEndpoint, getUnresolvedNodes, stopHttpManifestPoll } = createConsortiumRouting({
|
|
258
|
+
const { resolveConsortiumRoster, failoverEndpointResolver, getFailoverEndpoint, getUnresolvedNodes, getUnresolvedSweptAt, stopHttpManifestPoll } = createConsortiumRouting({
|
|
258
259
|
manifestProvider,
|
|
259
260
|
manifestRootKeys,
|
|
260
261
|
manifestThreshold,
|
|
@@ -266,6 +267,7 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
266
267
|
// empty until a ceremony resolves a roster — i.e. empty exactly when someone whose sessions
|
|
267
268
|
// are all failing goes looking for why.
|
|
268
269
|
initialUnresolvedNodes: startupUnresolvedNodes,
|
|
270
|
+
initialUnresolvedSweptAt: startupSweptAt,
|
|
269
271
|
logger,
|
|
270
272
|
});
|
|
271
273
|
// DOD-REGISTRY-1: type registry poll — daemon-level, runs even with zero agents.
|
|
@@ -293,11 +295,14 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
293
295
|
// ceremony/seal signer-reconstruction load the FROST share (and persist the identity) through this
|
|
294
296
|
// seam — the encrypted `agents` row, never a flat file.
|
|
295
297
|
const getPersistence = (agentName) => new DbRegistrationPersistence({ db: sessionNodeManager.getDb(), agentName, logger });
|
|
296
|
-
// Build agent state
|
|
298
|
+
// Build agent state. `state` here is the LOAD outcome only — whether the identity opened at all.
|
|
299
|
+
// The state an operator sees is derived per call by resolveAgentState (agent-state.ts), because
|
|
300
|
+
// most of what it depends on (started, signaling, attendance, paused) changes while the daemon
|
|
301
|
+
// runs and cannot be baked into a record at boot.
|
|
297
302
|
const agents = [
|
|
298
303
|
...loadedAgents.map((a) => ({
|
|
299
304
|
name: a.name,
|
|
300
|
-
state: "
|
|
305
|
+
state: "stopped",
|
|
301
306
|
pubkey: a.pubkey,
|
|
302
307
|
})),
|
|
303
308
|
...failedAgents.map((a) => ({
|
|
@@ -1634,12 +1639,11 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
1634
1639
|
return agents
|
|
1635
1640
|
.filter((a) => a.state !== "load_failed")
|
|
1636
1641
|
.map((a) => {
|
|
1637
|
-
// `state` reports READINESS only
|
|
1638
|
-
//
|
|
1639
|
-
//
|
|
1640
|
-
const
|
|
1641
|
-
const
|
|
1642
|
-
const selected = online && a.name === currentAgent;
|
|
1642
|
+
// `state` reports READINESS only; selection is a SEPARATE `selected` flag. Never fold
|
|
1643
|
+
// selection into `state` — a selected agent is not at a different level of readiness than a
|
|
1644
|
+
// second healthy online agent. (This is why `current` was dropped from the enum.)
|
|
1645
|
+
const state = agentStateFor(a);
|
|
1646
|
+
const selected = onlineAgents.has(a.name) && a.name === currentAgent;
|
|
1643
1647
|
return {
|
|
1644
1648
|
name: a.name,
|
|
1645
1649
|
state,
|
|
@@ -1743,6 +1747,44 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
1743
1747
|
sessionName: row.session_name ?? null, // DOD-SESSION-NAME-1 (AC-A11)
|
|
1744
1748
|
}));
|
|
1745
1749
|
}
|
|
1750
|
+
/**
|
|
1751
|
+
* The state an operator sees, for one agent — used by BOTH status surfaces.
|
|
1752
|
+
*
|
|
1753
|
+
* Deliberately one function. The daemon-wide status and the per-connection `cello_status` used to
|
|
1754
|
+
* compute this separately, and separate copies of a truth claim are how the directory-health block
|
|
1755
|
+
* came to exist on one surface and not the other earlier today.
|
|
1756
|
+
*/
|
|
1757
|
+
function agentStateFor(a) {
|
|
1758
|
+
return resolveAgentState({
|
|
1759
|
+
loadFailed: a.state === "load_failed",
|
|
1760
|
+
// `unregistered` is BUILT and tested (agent-state.ts) and deliberately NOT EMITTED yet.
|
|
1761
|
+
//
|
|
1762
|
+
// The truthful signal is whether the DKG left a FROST share — registration's durable product,
|
|
1763
|
+
// rather than a flag anyone could forget to set. But every test fixture creates an agent
|
|
1764
|
+
// WITHOUT one, so switching this on relabels the agents in 29 tests across 8 files, and the
|
|
1765
|
+
// alternative — fabricating share material in fixtures — plants fake crypto material that a
|
|
1766
|
+
// later reader takes for real. Neither is worth it for a state that lasts the few seconds
|
|
1767
|
+
// between `cello create-agent` and `cello register-agent`.
|
|
1768
|
+
//
|
|
1769
|
+
// So the daemon asserts exactly what it asserted before this change: a loaded agent is treated
|
|
1770
|
+
// as registered. That is not a regression, and it is not silent — it is this comment. The VALUE
|
|
1771
|
+
// stays in AgentState, so turning it on once fixtures can register for real is a one-line
|
|
1772
|
+
// change here and NOT a second wire change for every consumer.
|
|
1773
|
+
hasFrostShare: true,
|
|
1774
|
+
deliberatelyOffline: explicitlyOfflineAgents.has(a.name),
|
|
1775
|
+
started: onlineAgents.has(a.name),
|
|
1776
|
+
// This agent's OWN stream where it has one — an agent whose connection is severed while its
|
|
1777
|
+
// siblings are fine must not read as healthy.
|
|
1778
|
+
//
|
|
1779
|
+
// Falls back to the shared manager, mirroring directorySignalingStatus(): production gives
|
|
1780
|
+
// every agent its own connection, but the M6 back-compat/test path has ONE shared manager and
|
|
1781
|
+
// no per-agent entry at all. Reading only the per-agent map there returns undefined for every
|
|
1782
|
+
// agent, so all of them reported `connecting` — which then made isAgentReady false and refused
|
|
1783
|
+
// real commands with `selected_agent_offline`. Absent is not the same as disconnected.
|
|
1784
|
+
signalingConnected: (perAgentSignaling.get(a.name)?.signaling.status ?? sharedSignaling?.status) === "connected",
|
|
1785
|
+
attendance: countAttendance(perConnectionState, a.name),
|
|
1786
|
+
});
|
|
1787
|
+
}
|
|
1746
1788
|
// Build status response factory
|
|
1747
1789
|
function getStatus() {
|
|
1748
1790
|
// M7-SESSION-001 AC-006/AC-007: surface interrupted sessions
|
|
@@ -1770,15 +1812,11 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
1770
1812
|
// the MCP surface. A load_failed agent keeps its state so a broken agent stays visible as broken.
|
|
1771
1813
|
// (No `selected` here: this is the daemon-wide surface; selection is a per-connection concept and
|
|
1772
1814
|
// the CLI opens an ephemeral connection that never runs cello_use_agent — see M8C-DECISIONS D24.)
|
|
1773
|
-
agents: agents.map((a) => {
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
state,
|
|
1779
|
-
standing_receiver_ready: sessionNodeManager.getStandingReceiverReady(a.name),
|
|
1780
|
-
};
|
|
1781
|
-
}),
|
|
1815
|
+
agents: agents.map((a) => ({
|
|
1816
|
+
...a,
|
|
1817
|
+
state: agentStateFor(a),
|
|
1818
|
+
standing_receiver_ready: sessionNodeManager.getStandingReceiverReady(a.name),
|
|
1819
|
+
})),
|
|
1782
1820
|
standing_receiver_ready: sessionNodeManager.getStandingReceiverReady(),
|
|
1783
1821
|
retryQueueDepth: retryQueue.getTotalDepth(),
|
|
1784
1822
|
interrupted_sessions,
|
|
@@ -2732,8 +2770,14 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
2732
2770
|
return undefined;
|
|
2733
2771
|
return {
|
|
2734
2772
|
directory_endpoints_unresolved: {
|
|
2773
|
+
// WHEN this was measured. Without it the block asserts the PRESENT, and a transient blip
|
|
2774
|
+
// reads as an ongoing outage: on 2026-08-09 all three endpoints failed with ENETUNREACH for
|
|
2775
|
+
// under a minute — a network transition on the operator's machine — and the block went on
|
|
2776
|
+
// reporting them unreachable long after they answered again. True when taken, false when read.
|
|
2777
|
+
checked_at: getUnresolvedSweptAt(),
|
|
2735
2778
|
nodes: failures.map((f) => ({ node: f.nodeId, endpoint: f.endpoint, reason: f.reason, detail: f.detail })),
|
|
2736
|
-
guidance: "
|
|
2779
|
+
guidance: "AS OF checked_at (this is a point-in-time reading, not necessarily now), this daemon could not "
|
|
2780
|
+
+ "resolve these directory endpoints, so the consortium roster was short and " +
|
|
2737
2781
|
"threshold ceremonies will fail — sessions surface that as counterparty_offline, " +
|
|
2738
2782
|
"directory_below_threshold, or ceremony_exhausted, none of which name the real cause. " +
|
|
2739
2783
|
"Agents can still show 'online': signaling dials multiaddrs and does not need DNS. " +
|
|
@@ -3259,6 +3303,14 @@ async function startDaemonHoldingLock(config, singletonLock) {
|
|
|
3259
3303
|
// how the surface tests passed while the feature did nothing: the test wired this seam to
|
|
3260
3304
|
// `async () => ({ ok: true })`, which reported success, sent nothing, and agreed with whatever
|
|
3261
3305
|
// the near side did.
|
|
3306
|
+
// DOD-DOC-WATCH-1 — the ONLY doorbell a document update can ring, and only for an agent that
|
|
3307
|
+
// asked for it by naming the paths. §11.3's no-doorbell-on-update rule is otherwise untouched.
|
|
3308
|
+
nudge: (ownerAgentId, documentId, paths) => {
|
|
3309
|
+
const agentName = loadedAgents.find((a) => a.pubkey?.toLowerCase() === ownerAgentId)?.name;
|
|
3310
|
+
if (!agentName)
|
|
3311
|
+
return;
|
|
3312
|
+
notificationDispatcher.dispatchDocumentWatch(agentName, documentId, paths);
|
|
3313
|
+
},
|
|
3262
3314
|
notifyPeer: createDocumentControlNotifier({
|
|
3263
3315
|
get store() {
|
|
3264
3316
|
// Lazily, because `documentLayer` is what is being constructed. The notifier is only ever
|