wicked-crew 0.7.33 → 0.7.35

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.
Files changed (111) hide show
  1. package/dist/api/chat-scope.d.ts +4 -0
  2. package/dist/api/chat-scope.d.ts.map +1 -1
  3. package/dist/api/chat-scope.js +16 -10
  4. package/dist/api/chat-scope.js.map +1 -1
  5. package/dist/api/chat-transcripts.d.ts +60 -0
  6. package/dist/api/chat-transcripts.d.ts.map +1 -0
  7. package/dist/api/chat-transcripts.js +139 -0
  8. package/dist/api/chat-transcripts.js.map +1 -0
  9. package/dist/api/chat-turns.d.ts +43 -4
  10. package/dist/api/chat-turns.d.ts.map +1 -1
  11. package/dist/api/chat-turns.js +73 -6
  12. package/dist/api/chat-turns.js.map +1 -1
  13. package/dist/api/eval-sample.d.ts +18 -18
  14. package/dist/api/governance-steering.d.ts +4 -4
  15. package/dist/api/requirements.d.ts +3 -5
  16. package/dist/api/requirements.d.ts.map +1 -1
  17. package/dist/api/requirements.js +30 -146
  18. package/dist/api/requirements.js.map +1 -1
  19. package/dist/api/routes.d.ts +19 -8
  20. package/dist/api/routes.d.ts.map +1 -1
  21. package/dist/api/routes.js +144 -9
  22. package/dist/api/routes.js.map +1 -1
  23. package/dist/api/server.d.ts.map +1 -1
  24. package/dist/api/server.js +60 -1
  25. package/dist/api/server.js.map +1 -1
  26. package/dist/api/skills.d.ts.map +1 -1
  27. package/dist/api/skills.js +16 -4
  28. package/dist/api/skills.js.map +1 -1
  29. package/dist/campaigns/routes.d.ts +14 -14
  30. package/dist/cli/index.js +81 -7
  31. package/dist/cli/index.js.map +1 -1
  32. package/dist/core/adapter.d.ts +27 -0
  33. package/dist/core/adapter.d.ts.map +1 -1
  34. package/dist/core/adapter.js +98 -7
  35. package/dist/core/adapter.js.map +1 -1
  36. package/dist/core/engine-roster.d.ts +28 -0
  37. package/dist/core/engine-roster.d.ts.map +1 -1
  38. package/dist/core/engine-roster.js +28 -0
  39. package/dist/core/engine-roster.js.map +1 -1
  40. package/dist/core/types.d.ts +10 -0
  41. package/dist/core/types.d.ts.map +1 -1
  42. package/dist/core/types.js +8 -0
  43. package/dist/core/types.js.map +1 -1
  44. package/dist/core/versions.d.ts +17 -0
  45. package/dist/core/versions.d.ts.map +1 -0
  46. package/dist/core/versions.js +35 -0
  47. package/dist/core/versions.js.map +1 -0
  48. package/dist/interactive/bridge-pool.d.ts +18 -9
  49. package/dist/interactive/bridge-pool.d.ts.map +1 -1
  50. package/dist/interactive/bridge-pool.js +30 -9
  51. package/dist/interactive/bridge-pool.js.map +1 -1
  52. package/dist/interactive/bridge-root.d.ts +47 -16
  53. package/dist/interactive/bridge-root.d.ts.map +1 -1
  54. package/dist/interactive/bridge-root.js +102 -31
  55. package/dist/interactive/bridge-root.js.map +1 -1
  56. package/dist/interactive/doc-delete-routes.d.ts +3 -1
  57. package/dist/interactive/doc-delete-routes.d.ts.map +1 -1
  58. package/dist/interactive/doc-delete-routes.js.map +1 -1
  59. package/dist/interactive/doc-list-routes.d.ts +3 -1
  60. package/dist/interactive/doc-list-routes.d.ts.map +1 -1
  61. package/dist/interactive/doc-list-routes.js.map +1 -1
  62. package/dist/interactive/docs-index.d.ts +3 -1
  63. package/dist/interactive/docs-index.d.ts.map +1 -1
  64. package/dist/interactive/docs-index.js +1 -1
  65. package/dist/interactive/docs-index.js.map +1 -1
  66. package/dist/interactive/project-root.d.ts +8 -2
  67. package/dist/interactive/project-root.d.ts.map +1 -1
  68. package/dist/interactive/project-root.js +1 -1
  69. package/dist/interactive/project-root.js.map +1 -1
  70. package/dist/interactive/proxy-routes.d.ts +3 -1
  71. package/dist/interactive/proxy-routes.d.ts.map +1 -1
  72. package/dist/interactive/proxy-routes.js.map +1 -1
  73. package/dist/projects/state-home-preflight.d.ts +186 -0
  74. package/dist/projects/state-home-preflight.d.ts.map +1 -0
  75. package/dist/projects/state-home-preflight.js +353 -0
  76. package/dist/projects/state-home-preflight.js.map +1 -0
  77. package/dist/projects/state-home-registry.d.ts +25 -0
  78. package/dist/projects/state-home-registry.d.ts.map +1 -0
  79. package/dist/projects/state-home-registry.js +52 -0
  80. package/dist/projects/state-home-registry.js.map +1 -0
  81. package/dist/qe/acceptance.d.ts +9 -0
  82. package/dist/qe/acceptance.d.ts.map +1 -1
  83. package/dist/qe/acceptance.js +9 -0
  84. package/dist/qe/acceptance.js.map +1 -1
  85. package/dist/qe/author-workflow.d.ts.map +1 -1
  86. package/dist/qe/author-workflow.js +2 -1
  87. package/dist/qe/author-workflow.js.map +1 -1
  88. package/dist/skills/base-skill.d.ts +104 -0
  89. package/dist/skills/base-skill.d.ts.map +1 -0
  90. package/dist/skills/base-skill.js +102 -0
  91. package/dist/skills/base-skill.js.map +1 -0
  92. package/dist/skills/guards.d.ts.map +1 -1
  93. package/dist/skills/guards.js +3 -0
  94. package/dist/skills/guards.js.map +1 -1
  95. package/dist/skills/runtime.d.ts +44 -5
  96. package/dist/skills/runtime.d.ts.map +1 -1
  97. package/dist/skills/runtime.js +103 -11
  98. package/dist/skills/runtime.js.map +1 -1
  99. package/dist/skills/store.d.ts +41 -0
  100. package/dist/skills/store.d.ts.map +1 -1
  101. package/dist/skills/store.js +175 -3
  102. package/dist/skills/store.js.map +1 -1
  103. package/dist/skills/tree.d.ts +12 -0
  104. package/dist/skills/tree.d.ts.map +1 -1
  105. package/dist/skills/tree.js +26 -0
  106. package/dist/skills/tree.js.map +1 -1
  107. package/dist/studio/assets/{index-DhojBZ1T.js → index-CJp35PKj.js} +99 -98
  108. package/dist/studio/index.html +1 -1
  109. package/dist/studio/testid-inventory.json +63 -3
  110. package/endpoint-manifest.json +2 -1
  111. package/package.json +4 -4
@@ -95,6 +95,10 @@ export interface ChatScopeDeps {
95
95
  export declare function chatScratchBase(): string;
96
96
  /** The production deps over a live adapter. */
97
97
  export declare function chatScopeDeps(adapter: CoreAdapter): ChatScopeDeps;
98
+ /** The route's own id rule, re-applied here: the id becomes ONE path segment under the base. */
99
+ /** The chat-id guard — the ONE sanitizer a chat id passes before it names anything on disk (the
100
+ * scratch root here, the transcript file in `chat-transcripts.ts`): no separators, no spaces. */
101
+ export declare const CHAT_ID: RegExp;
98
102
  /**
99
103
  * Decide a chat's scope. Never throws on a caller error: an unknown repo is a 404 naming EVERY
100
104
  * missing ref (not just the first), a chat id that cannot name a scratch directory is a 400. A
@@ -1 +1 @@
1
- {"version":3,"file":"chat-scope.d.ts","sourceRoot":"","sources":["../../src/api/chat-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-scope.d.ts","sourceRoot":"","sources":["../../src/api/chat-scope.ts"],"names":[],"mappings":"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"}
@@ -151,7 +151,9 @@ export function chatScopeDeps(adapter) {
151
151
  };
152
152
  }
153
153
  /** The route's own id rule, re-applied here: the id becomes ONE path segment under the base. */
154
- const CHAT_ID = /^[A-Za-z0-9._-]+$/;
154
+ /** The chat-id guard — the ONE sanitizer a chat id passes before it names anything on disk (the
155
+ * scratch root here, the transcript file in `chat-transcripts.ts`): no separators, no spaces. */
156
+ export const CHAT_ID = /^[A-Za-z0-9._-]+$/;
155
157
  function message(err) {
156
158
  return err instanceof Error ? err.message : String(err);
157
159
  }
@@ -406,15 +408,19 @@ export function chatScopeStatement(chatId, scope) {
406
408
  .map((d) => `\`${d}\``)
407
409
  .join(', ')}.`, '');
408
410
  }
409
- lines.push('## Code graph', '');
410
- lines.push(scope.graph.bound
411
- ? 'A READ-ONLY wicked-estate MCP server over the code graph is attached to this session: use its ' +
412
- 'search / blast-radius / lineage tools to find symbols and relationships before grepping. ' +
413
- (scope.graph.repoLabel !== undefined
414
- ? `The repository is indexed under the label \`${scope.graph.repoLabel}\`. `
415
- : '') +
416
- `(${scope.graph.reason})`
417
- : `No code graph is attached: ${scope.graph.reason}`, '');
411
+ // DES-L5 §5-a (D-7 / D1): the grounding path is the wicked-garden skills handed to this session
412
+ // and the read-only estate shim they run on EVERY seat — never a CLI-registered MCP server (the
413
+ // second transport only claude had, deleted in core-ts 0.7.26; naming it here was a false
414
+ // promise on every other seat and an org-allowlist gamble on claude). No ladder, no detection,
415
+ // no allowlist: the statement names the one path and the read-only rule.
416
+ lines.push('## Grounding', '');
417
+ lines.push('Use the wicked-garden skills handed to this session — `wicked-garden-mem` (recall / answer over', 'memory and knowledge) and `wicked-garden-search` (blast-radius / lineage / hotspots) — to find', 'symbols and relationships before grepping: they reach the code graph through the read-only', 'estate shim on every seat; always pass `--readonly`.', scope.graph.bound
418
+ ? `The graph is bound to \`${scope.graph.repoLabel ?? 'this scope'}\` (${scope.graph.reason}).`
419
+ : `No code graph is bound: ${scope.graph.reason} — read the repositories directly and say so.`, '');
420
+ // DES-L5 §5-a (P6 criterion 5): the reply is the answer — an agent's own handoff artefact
421
+ // ("## Work State / ## Next Move / ## Relevant Files") leaked into a chat reply verbatim.
422
+ lines.push('## Answer format', '');
423
+ lines.push('Reply with the answer itself: no working notes or status blocks (no "Work State", "Next Move"', 'or "Relevant Files" sections), no tool monologue, no compaction notices. Cite files by their', 'full path. If a claim could not be grounded, say so in one line rather than asserting it.', '');
418
424
  if (scope.projectId !== undefined) {
419
425
  lines.push('## Project', '', `This chat is filed into project \`${scope.projectId}\`.`, '');
420
426
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chat-scope.js","sourceRoot":"","sources":["../../src/api/chat-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-scope.js","sourceRoot":"","sources":["../../src/api/chat-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClI,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,0BAA0B,EAAoC,MAAM,sBAAsB,CAAC;AA+CpG,IAAI,kBAAsC,CAAC;AAE3C;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe;IAC7B,kBAAkB,KAAK,IAAI,CACzB,MAAM,EAAE,EACR,mBAAmB,EACnB,GAAG,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CACnD,CAAC;IACF,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,SAAS,OAAO,CAAC,CAAS;IACxB,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,SAAS,CAAC;QACR,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,6FAA6F;YAC7F,6FAA6F;YAC7F,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,GAAG,CAAC;YAChE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,MAAM,KAAK,GAAG;gBAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,GAAG,GAAG,MAAM,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC7C,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;AACzE,CAAC;AAED,kGAAkG;AAClG,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS;IACpC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CACpB,KAAkB,EAClB,IAAY,EACZ,OAA4B,EAC5B,GAA0B;IAE1B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,6FAA6F;YAC7F,2FAA2F;YAC3F,wFAAwF;YACxF,wFAAwF;YACxF,4BAA4B;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC9D,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG;oBACX,KAAK,EACH,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,SAAS,wBAAwB,OAAO,CAAC,GAAG,CAAC,iBAAiB;wBACvF,oFAAoF;iBACvF,CAAC;YACJ,CAAC;YACD,GAAG,CAAC,gCAAgC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,SAAS,wBAAwB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAChI,SAAS;QACX,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,KAAK,EACH,SAAS,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,SAAS,sCAAsC;oBACtF,gBAAgB,IAAI,mEAAmE;oBACvF,iGAAiG;aACpG,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,aAAa,CAAC,OAAoB;IAChD,OAAO;QACL,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE;QACpC,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CACnC,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC;aAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7B,gGAAgG;QAChG,4EAA4E;QAC5E,gBAAgB,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CACvC,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;KAC5F,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG;kGACkG;AAClG,MAAM,CAAC,MAAM,OAAO,GAAG,mBAAmB,CAAC;AAE3C,SAAS,OAAO,CAAC,GAAY;IAC3B,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,GAAG,CAAC,CAAY;IACvB,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAqB,EACrB,IAAmB;IAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,eAAe,EAAE,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,gGAAgG;IAChG,iEAAiE;IACjE,IACE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;QACzB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EACxC,CAAC;QACD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,UAAU,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,uCAAuC;SACnF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;YAC7C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3D,SAAS;YACX,CAAC;YACD,uFAAuF;YACvF,oFAAoF;YACpF,6EAA6E;YAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YACnD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG;oBACX,KAAK,EACH,YAAY,GAAG,oBAAoB,MAAM,CAAC,MAAM,oCAAoC;wBACpF,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB;iBAC3F,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,QAAQ,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY;gBAClE,OAAO;aACR,CAAC;QACJ,CAAC;QACD,4FAA4F;QAC5F,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjF,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9D,OAAO,EAAE,CACP;YACE,IAAI,EAAE,OAAO;YACb,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YACrB,GAAG;YACH,KAAK,EAAE,KAAK,CAAC,IAAI;YACjB,QAAQ,EAAE,EAAE;SACb,EACD,KAAK,CAAC,MAAM,EACZ,KAAK,CACN,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;YAC7C,IAAI,IAAI,KAAK,SAAS;gBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;gBACtC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjF,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrE,OAAO,EAAE,CACP;YACE,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YACrB,GAAG;YACH,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC;YAC1B,QAAQ;SACT,EACD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,EAChC,KAAK,CACN,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3D,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC;IACrC,OAAO,EAAE,CACP;QACE,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,EAAE;QACT,GAAG;QACH,KAAK,EAAE;YACL,KAAK,EAAE,KAAK;YACZ,MAAM,EACJ,uFAAuF;gBACvF,4DAA4D;SAC/D;QACD,QAAQ,EAAE,EAAE;KACb,EACD,IAAI,EACJ,EAAE,CACH,CAAC;AACJ,CAAC;AAED,SAAS,EAAE,CAAC,KAAgB,EAAE,MAAqB,EAAE,KAAkB;IACrE,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK;QACL,6FAA6F;QAC7F,oFAAoF;QACpF,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;KACnG,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,IAAmB,EACnB,SAAiB,EACjB,OAA2B;IAE3B,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yFAAyF;QACzF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EACJ,oDAAoD,OAAO,CAAC,GAAG,CAAC,KAAK;gBACrE,+BAA+B;SAClC,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,QAAqC;IACtD,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,OAAO,KAAK,IAAI;QAChC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,uFAAuF;QACvF,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnG,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,KAAkB,EAClB,SAA6B,EAC7B,IAAmB;IAEnB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,6FAA6F;QAC7F,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACrG,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;QACjF,CAAC;QACD,4FAA4F;QAC5F,yFAAyF;QACzF,6FAA6F;QAC7F,2FAA2F;QAC3F,yBAAyB;QACzB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAChF,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO;QACL,IAAI,EAAE;YACJ,KAAK,EAAE,KAAK;YACZ,MAAM,EACJ,GAAG,KAAK,CAAC,MAAM,wEAAwE;gBACvF,sFAAsF;gBACtF,+BAA+B;SAClC;QACD,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,SAAS,QAAQ,CAAC,IAAe;IAC/B,IAAI,CAAC;QACL,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,mFAAmF;QACnF,2FAA2F;QAC3F,0FAA0F;QAC1F,8DAA8D;QAC9D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,IAAI,EAAE;oBACJ,KAAK,EAAE,KAAK;oBACZ,MAAM,EACJ,IAAI,IAAI,CAAC,IAAI,wEAAwE;wBACrF,6FAA6F;iBAChG;gBACD,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC,IAAI,oBAAoB,EAAE;YACzE,MAAM;SACP,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,mCAAmC,OAAO,CAAC,GAAG,CAAC,yBAAyB;aAC9F;YACD,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,KAAgB;IACjE,MAAM,KAAK,GAAa;QACtB,cAAc;QACd,EAAE;QACF,4DAA4D,MAAM,yCAAyC;QAC3G,EAAE;KACH,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzD,8FAA8F;QAC9F,iFAAiF;QACjF,KAAK,CAAC,IAAI,CACR,0BAA0B,EAC1B,EAAE,EACF,oDAAoD,KAAK,CAAC,SAAS,IAAI,EAAE,uBAAuB,EAChG,8CAA8C;YAC5C,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACxB,CAAC,CAAC,uDAAuD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC7G,CAAC,CAAC,kCAAkC,CAAC,EACzC,oGAAoG,EACpG,EAAE,CACH,CAAC;IACJ,CAAC;SAAM,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CACR,0BAA0B,EAC1B,EAAE,EACF,4FAA4F,EAC5F,qEAAqE,EACrE,EAAE,CACH,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CACR,sCAAsC,EACtC,EAAE,EACF,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,QAAQ,IAAI,CAAC,EAC7E,EAAE,EACF,2FAA2F,EAC3F,4FAA4F,EAC5F,uFAAuF,EACvF,4DAA4D,EAC5D,EAAE,CACH,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CACR,4EAA4E,KAAK,CAAC,QAAQ;aACvF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;aACtB,IAAI,CAAC,IAAI,CAAC,GAAG,EAChB,EAAE,CACH,CAAC;IACJ,CAAC;IACD,gGAAgG;IAChG,gGAAgG;IAChG,0FAA0F;IAC1F,+FAA+F;IAC/F,yEAAyE;IACzE,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CACR,iGAAiG,EACjG,gGAAgG,EAChG,4FAA4F,EAC5F,sDAAsD,EACtD,KAAK,CAAC,KAAK,CAAC,KAAK;QACf,CAAC,CAAC,2BAA2B,KAAK,CAAC,KAAK,CAAC,SAAS,IAAI,YAAY,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI;QAC/F,CAAC,CAAC,2BAA2B,KAAK,CAAC,KAAK,CAAC,MAAM,+CAA+C,EAChG,EAAE,CACH,CAAC;IACF,0FAA0F;IAC1F,0FAA0F;IAC1F,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACnC,KAAK,CAAC,IAAI,CACR,+FAA+F,EAC/F,8FAA8F,EAC9F,2FAA2F,EAC3F,EAAE,CACH,CAAC;IACF,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,qCAAqC,KAAK,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACjC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,KAAgB;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtC,iGAAiG;IACjG,4FAA4F;IAC5F,+FAA+F;IAC/F,kGAAkG;IAClG,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,GAAG,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,+BAA+B,IAAI,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,0FAA0F;QAC1F,4FAA4F;QAC5F,wFAAwF;QACxF,IAAI,CAAC;YACH,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,GAAG,CAAC;QAClE,CAAC;QACD,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;IACrD,CAAC;IACD,gGAAgG;IAChG,4FAA4F;IAC5F,8FAA8F;IAC9F,8FAA8F;IAC9F,yEAAyE;IACzE,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACH,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IAClE,CAAC;IACD,IAAI,CAAC;QACH,wBAAwB,CAAC,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACzD,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5B,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,kDAAkD;YACjF,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,OAAO;YAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,iGAAiG;AACjG,SAAS,wBAAwB,CAAC,IAAY,EAAE,IAAY;IAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACzE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;QAC/B,IAAI,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,IAAI,kBAAkB,GAAG,0BAA0B,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB,OAAO,CAAC,eAAe,EAAE,CAAC;IACjF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE;YAAE,OAAO,OAAO,CAAC;QACvD,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI;YAAE,SAAS;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG;YAAE,SAAS;QAC5E,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,oCAAoC;YAC1D,SAAS;QACX,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAK,GAA6B,CAAC,IAAI,KAAK,OAAO;gBAAE,SAAS,CAAC,8BAA8B;QAC/F,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBAAE,SAAS;YAC3D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnH,SAAS;YACX,CAAC;YACD,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;QAC/C,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAW,EAAE,OAAe,eAAe,EAAE;IAC7E,iGAAiG;IACjG,gGAAgG;IAChG,uFAAuF;IACvF,IAAI,CAAC;QACH,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE;YAAE,OAAO;QAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QACzD,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,QAAQ;YAAE,OAAO;QACvD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACtH,OAAO;QACT,CAAC;QACD,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,sFAAsF;IACxF,CAAC;AACH,CAAC;AAeD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,cAAc;IAMd;IACQ;IANF,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,SAAS,GAAG,CAAC,CAAC;IAEtB,kGAAkG;IAClG,YACW,OAAe,eAAe,EAAE,EACxB,eAAuB,IAAI;QADnC,SAAI,GAAJ,IAAI,CAA4B;QACxB,iBAAY,GAAZ,YAAY,CAAe;IAC3C,CAAC;IAEJ,2EAA2E;IAC3E,GAAG,CAAC,MAAc;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,+DAA+D;IAC/D,OAAO,CAAC,MAAc;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,MAAM,CAAC;IACjD,CAAC;IAED,2FAA2F;IAC3F,OAAO,CAAC,MAAc;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sFAAsF;IACtF,OAAO,CAAC,MAAc,EAAE,KAAa;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,IAAI,EAAE,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpF,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,MAAc,EAAE,KAAa;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,IAAI,EAAE,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO;QAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7E,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACtB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;4FACwF;IACxF,GAAG,CAAC,MAAc,EAAE,KAAgB,EAAE,KAAa,EAAE,UAA6B,EAAE;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,IAAI,EAAE,KAAK,KAAK,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gFAAgF;IAChF,GAAG,CAAC,MAAc;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,+FAA+F;IAC/F,SAAS,CAAC,MAAc;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,MAAc;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACrE,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;YAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,2FAA2F;QAC3F,+FAA+F;QAC/F,yFAAyF;QACzF,gDAAgD;QAChD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7E,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACtB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAc;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,6FAA6F;YAC7F,+FAA+F;YAC/F,4FAA4F;YAC5F,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,SAAS;oBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7E,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACtB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;YAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,iGAAiG;IACjG,MAAM,CAAC,MAAc;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * The chat transcript AT REST (DES-L5 §5-d; D-13 / BC-33; F-RC1-112 = F-RECON-018, crew#503).
3
+ *
4
+ * The engine keeps a chat's warm seats and their conversation memory, but no transcript: every
5
+ * `chatDelta` / `chatReply` is seen exactly once, on `/ws`, by whoever is connected at that moment.
6
+ * P6 reproduced the consequence — a reload (or a second tab) of a LIVE chat rendered a blank thread,
7
+ * and the reply nobody was watching for was simply gone. The daemon sees every frame once too, at
8
+ * the ONE hook that already stamps `turn_id` (`server.ts` → `chatTurns.decorate`), so the record is
9
+ * written there: one append-only JSONL file per chat under the state home, served back on
10
+ * `GET /chats/:id` as `messages` (api-types 0.38.0 `ChatTranscriptRecord`, append order).
11
+ *
12
+ * Retention = the chat's LIFETIME (D-13, as designed — no age sweep, no second mechanism):
13
+ * - the file is DROPPED on the engine's `chatClosed` (requested, idle and pool_cap alike — the one
14
+ * arm `server.ts` already folds for the scope index);
15
+ * - the directory is CLEARED at daemon boot — no chat survives a restart (the engine's pool is in
16
+ * memory), so every file present at boot is an orphan;
17
+ * - only frames a live turn STAMPED (`turn_id` present) are persisted, so a straggler `chatReply`
18
+ * after the close cannot recreate a file, and `turnId` is never null on a record.
19
+ *
20
+ * Privacy posture: the directory is 0700 and each file 0600 (the transcript is the operator's
21
+ * conversation); the file name is the chat id, admitted by the SAME guard the scratch root applies
22
+ * (`CHAT_ID` — one sanitizer, no second regex), so an arbitrary `GET /chats/:id` can never name a
23
+ * path. `messages` is unbounded — a reply may be up to the engine's 8 MB cap (wave 1, noted).
24
+ *
25
+ * Registered in `tests/fixtures/state-home-subtrees.json` as `chats` (crew half; the core half —
26
+ * the worker Read fence — landed with core-ts 0.7.26), and named in `state-home-registry.ts`.
27
+ */
28
+ import type { ChatTranscriptRecord, CoreEvent } from '../core/types.js';
29
+ /** The state-home entry (`<state home>/chats/`) — the name the fixture registers. */
30
+ export declare const CHAT_TRANSCRIPTS_DIRNAME = "chats";
31
+ /** Where the transcripts live: under the daemon's state home, like every other crew store. */
32
+ export declare function defaultChatTranscriptsDir(): string;
33
+ export declare class ChatTranscriptStore {
34
+ private readonly dir;
35
+ private readonly now;
36
+ constructor(opts?: {
37
+ dir?: string;
38
+ now?: () => number;
39
+ });
40
+ /** The directory this store writes under (diagnostics / tests). */
41
+ get directory(): string;
42
+ /** `<dir>/<chatId>.jsonl` — or `null` for an id the chat-id guard refuses (never a path). */
43
+ private fileOf;
44
+ private append;
45
+ /** The operator's message a send delivered, with the seats the engine reached (the 202's `seats`). */
46
+ appendUser(chatId: string, turnId: string, text: string, seats: readonly string[]): void;
47
+ /**
48
+ * Fold one STAMPED frame (call with `chatTurns.decorate(event)`'s result): a seat's `chatReply`
49
+ * carrying `turn_id` becomes a `seat` record — ok or not (an eviction's `ok: false` text names the
50
+ * budget). Every other frame, and a reply no live turn stamped, is ignored.
51
+ */
52
+ observe(stamped: CoreEvent): void;
53
+ /** Every record of the chat in append order; `[]` for a chat with no file (or a refused id). */
54
+ read(chatId: string): ChatTranscriptRecord[];
55
+ /** The chat is gone (`chatClosed`, any reason): its transcript goes with it. */
56
+ drop(chatId: string): void;
57
+ /** Daemon boot: no chat survives a restart, so every file here is an orphan — remove them all. */
58
+ clearAll(): void;
59
+ }
60
+ //# sourceMappingURL=chat-transcripts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-transcripts.d.ts","sourceRoot":"","sources":["../../src/api/chat-transcripts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,KAAK,EAAE,oBAAoB,EAAa,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAInF,qFAAqF;AACrF,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD,8FAA8F;AAC9F,wBAAgB,yBAAyB,IAAI,MAAM,CAElD;AAgBD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAEvB,IAAI,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;KAAO;IAK3D,mEAAmE;IACnE,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,6FAA6F;IAC7F,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM;IAcd,sGAAsG;IACtG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAIxF;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAkBjC,gGAAgG;IAChG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAe5C,gFAAgF;IAChF,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1B,kGAAkG;IAClG,QAAQ,IAAI,IAAI;CAGjB"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * The chat transcript AT REST (DES-L5 §5-d; D-13 / BC-33; F-RC1-112 = F-RECON-018, crew#503).
3
+ *
4
+ * The engine keeps a chat's warm seats and their conversation memory, but no transcript: every
5
+ * `chatDelta` / `chatReply` is seen exactly once, on `/ws`, by whoever is connected at that moment.
6
+ * P6 reproduced the consequence — a reload (or a second tab) of a LIVE chat rendered a blank thread,
7
+ * and the reply nobody was watching for was simply gone. The daemon sees every frame once too, at
8
+ * the ONE hook that already stamps `turn_id` (`server.ts` → `chatTurns.decorate`), so the record is
9
+ * written there: one append-only JSONL file per chat under the state home, served back on
10
+ * `GET /chats/:id` as `messages` (api-types 0.38.0 `ChatTranscriptRecord`, append order).
11
+ *
12
+ * Retention = the chat's LIFETIME (D-13, as designed — no age sweep, no second mechanism):
13
+ * - the file is DROPPED on the engine's `chatClosed` (requested, idle and pool_cap alike — the one
14
+ * arm `server.ts` already folds for the scope index);
15
+ * - the directory is CLEARED at daemon boot — no chat survives a restart (the engine's pool is in
16
+ * memory), so every file present at boot is an orphan;
17
+ * - only frames a live turn STAMPED (`turn_id` present) are persisted, so a straggler `chatReply`
18
+ * after the close cannot recreate a file, and `turnId` is never null on a record.
19
+ *
20
+ * Privacy posture: the directory is 0700 and each file 0600 (the transcript is the operator's
21
+ * conversation); the file name is the chat id, admitted by the SAME guard the scratch root applies
22
+ * (`CHAT_ID` — one sanitizer, no second regex), so an arbitrary `GET /chats/:id` can never name a
23
+ * path. `messages` is unbounded — a reply may be up to the engine's 8 MB cap (wave 1, noted).
24
+ *
25
+ * Registered in `tests/fixtures/state-home-subtrees.json` as `chats` (crew half; the core half —
26
+ * the worker Read fence — landed with core-ts 0.7.26), and named in `state-home-registry.ts`.
27
+ */
28
+ import { appendFileSync, chmodSync, existsSync, mkdirSync, readFileSync, rmSync } from 'node:fs';
29
+ import { join } from 'node:path';
30
+ import { crewStateHome } from '../projects/state-home.js';
31
+ import { CHAT_ID } from './chat-scope.js';
32
+ /** The state-home entry (`<state home>/chats/`) — the name the fixture registers. */
33
+ export const CHAT_TRANSCRIPTS_DIRNAME = 'chats';
34
+ /** Where the transcripts live: under the daemon's state home, like every other crew store. */
35
+ export function defaultChatTranscriptsDir() {
36
+ return join(crewStateHome(), 'chats');
37
+ }
38
+ /** The `usage` a `chatReply` may carry (core-ts ≥ 0.7.26): the engine's `Usage`, or `null`. */
39
+ function usageOf(value) {
40
+ if (value === null || typeof value !== 'object')
41
+ return null;
42
+ const u = value;
43
+ const num = (k) => (typeof u[k] === 'number' && Number.isFinite(u[k]) ? u[k] : 0);
44
+ return {
45
+ inputTokens: num('inputTokens'),
46
+ outputTokens: num('outputTokens'),
47
+ cacheReadTokens: num('cacheReadTokens'),
48
+ cacheCreationTokens: num('cacheCreationTokens'),
49
+ costUsd: typeof u['costUsd'] === 'number' && Number.isFinite(u['costUsd']) ? u['costUsd'] : null,
50
+ };
51
+ }
52
+ export class ChatTranscriptStore {
53
+ dir;
54
+ now;
55
+ constructor(opts = {}) {
56
+ this.dir = opts.dir ?? defaultChatTranscriptsDir();
57
+ this.now = opts.now ?? Date.now;
58
+ }
59
+ /** The directory this store writes under (diagnostics / tests). */
60
+ get directory() {
61
+ return this.dir;
62
+ }
63
+ /** `<dir>/<chatId>.jsonl` — or `null` for an id the chat-id guard refuses (never a path). */
64
+ fileOf(chatId) {
65
+ return CHAT_ID.test(chatId) ? join(this.dir, `${chatId}.jsonl`) : null;
66
+ }
67
+ append(chatId, record) {
68
+ const file = this.fileOf(chatId);
69
+ if (file === null)
70
+ return;
71
+ mkdirSync(this.dir, { recursive: true, mode: 0o700 });
72
+ const fresh = !existsSync(file);
73
+ appendFileSync(file, `${JSON.stringify(record)}\n`, { mode: 0o600 });
74
+ // `mode` applies on creation only; enforce on the first write and on the directory (mkdir's
75
+ // `mode` is masked by the umask) — the transcript is the operator's conversation.
76
+ if (process.platform !== 'win32') {
77
+ if (fresh)
78
+ chmodSync(file, 0o600);
79
+ chmodSync(this.dir, 0o700);
80
+ }
81
+ }
82
+ /** The operator's message a send delivered, with the seats the engine reached (the 202's `seats`). */
83
+ appendUser(chatId, turnId, text, seats) {
84
+ this.append(chatId, { at: this.now(), turnId, kind: 'user', text, seats: [...seats] });
85
+ }
86
+ /**
87
+ * Fold one STAMPED frame (call with `chatTurns.decorate(event)`'s result): a seat's `chatReply`
88
+ * carrying `turn_id` becomes a `seat` record — ok or not (an eviction's `ok: false` text names the
89
+ * budget). Every other frame, and a reply no live turn stamped, is ignored.
90
+ */
91
+ observe(stamped) {
92
+ if (stamped.type !== 'chatReply')
93
+ return;
94
+ const frame = stamped;
95
+ const chatId = typeof frame['chat'] === 'string' ? frame['chat'] : undefined;
96
+ const cliKey = typeof frame['cliKey'] === 'string' ? frame['cliKey'] : undefined;
97
+ const turnId = typeof frame['turn_id'] === 'string' ? frame['turn_id'] : undefined;
98
+ if (chatId === undefined || cliKey === undefined || turnId === undefined)
99
+ return;
100
+ this.append(chatId, {
101
+ at: this.now(),
102
+ turnId,
103
+ kind: 'seat',
104
+ cliKey,
105
+ text: typeof frame['text'] === 'string' ? frame['text'] : '',
106
+ ok: frame['ok'] === true,
107
+ usage: usageOf(frame['usage']),
108
+ });
109
+ }
110
+ /** Every record of the chat in append order; `[]` for a chat with no file (or a refused id). */
111
+ read(chatId) {
112
+ const file = this.fileOf(chatId);
113
+ if (file === null || !existsSync(file))
114
+ return [];
115
+ const out = [];
116
+ for (const line of readFileSync(file, 'utf8').split('\n')) {
117
+ if (line.trim() === '')
118
+ continue;
119
+ try {
120
+ out.push(JSON.parse(line));
121
+ }
122
+ catch {
123
+ // A torn last line (a crash mid-append) is not a reason to lose the rest of the record.
124
+ }
125
+ }
126
+ return out;
127
+ }
128
+ /** The chat is gone (`chatClosed`, any reason): its transcript goes with it. */
129
+ drop(chatId) {
130
+ const file = this.fileOf(chatId);
131
+ if (file !== null)
132
+ rmSync(file, { force: true });
133
+ }
134
+ /** Daemon boot: no chat survives a restart, so every file here is an orphan — remove them all. */
135
+ clearAll() {
136
+ rmSync(this.dir, { recursive: true, force: true });
137
+ }
138
+ }
139
+ //# sourceMappingURL=chat-transcripts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-transcripts.js","sourceRoot":"","sources":["../../src/api/chat-transcripts.ts"],"names":[],"mappings":"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"}
@@ -21,8 +21,14 @@
21
21
  * delta/reply under the message it answers instead of the newest bubble.
22
22
  *
23
23
  * A turn whose frames were lost (an engine restart, a seat reaped without a frame) must never wedge
24
- * the chat: a turn older than `staleAfterMs` (default 15 min — three engine turn budgets) is treated
25
- * as ended by every read, and reported in the 409's `stale` reason when it is what let a send pass.
24
+ * the chat: a turn older than `staleAfterMs` (default three engine turn budgets — `3 ×
25
+ * WICKED_CHAT_TURN_SECS`, 30 min at the engine's 600 s default; DES-L5 R16) is treated as ended by
26
+ * every read, and reported in the 409's `stale` reason when it is what let a send pass.
27
+ *
28
+ * DES-L5 (F-E2E-041): `begin` runs BEFORE the engine call, in the same tick as `inFlight`, so two
29
+ * racing sends cannot both pass the predicate and early `chatDelta`s are stamped; `reconcile` then
30
+ * squares the reserved audience with the seats the engine actually reached, and `abort` retracts a
31
+ * turn whose send the engine refused.
26
32
  */
27
33
  import type { CoreEvent } from '../core/types.js';
28
34
  /** One live turn: the message a set of seats is answering. */
@@ -50,7 +56,25 @@ export interface ChatTurnInFlight {
50
56
  excerpt: string;
51
57
  }
52
58
  export declare const CHAT_TURN_EXCERPT_CHARS = 120;
53
- /** Three engine turn budgets (300 s each): a turn this old with no closing frame is lost, not live. */
59
+ /**
60
+ * The engine's per-turn chat budget default (wicked-core `chat_timeout`, DES-L5 R16 — 600 s, a
61
+ * hypothesis re-derived in the P6 re-run). The constant MIRRORS core's; the variable is the same
62
+ * one core-ts reads in this process, so the two agree on any deployment that sets it, and a drift
63
+ * of the default is a text bug in whichever side moved.
64
+ */
65
+ export declare const CHAT_TURN_BUDGET_SECS_DEFAULT = 600;
66
+ /** How many engine turn budgets a turn may outlive with no closing frame before it reads as lost. */
67
+ export declare const CHAT_TURN_STALE_BUDGETS = 3;
68
+ /** The per-turn chat budget in seconds: `WICKED_CHAT_TURN_SECS` (a positive integer), else 600. */
69
+ export declare function chatTurnBudgetSecs(env?: NodeJS.ProcessEnv): number;
70
+ /**
71
+ * Three engine turn budgets, derived from the SAME variable the engine reads: a turn this old with
72
+ * no closing frame is lost, not live. Consequence (accepted, DES-L5 R16): a turn whose frames were
73
+ * lost wedges its seat for 30 min at the default (was 15) before `inFlight` treats it as ended —
74
+ * lost frames are an engine-restart class, and a restart empties the pool anyway.
75
+ */
76
+ export declare function chatTurnStaleAfterMs(env?: NodeJS.ProcessEnv): number;
77
+ /** The stale ceiling at module load, from the daemon's environment (kept for readers of the constant). */
54
78
  export declare const CHAT_TURN_STALE_AFTER_MS: number;
55
79
  export declare class ChatTurnIndex {
56
80
  /** chatId → live turns (a seat is in at most one — `inFlight` refuses the second). */
@@ -68,8 +92,23 @@ export declare class ChatTurnIndex {
68
92
  * whose pending seats intersect the targets. `null` when every targeted seat is idle.
69
93
  */
70
94
  inFlight(chatId: string, targets?: readonly string[]): ChatTurnInFlight | null;
71
- /** Open a turn for the seats a send reached. An empty seat list opens nothing (nothing to wait for). */
95
+ /**
96
+ * Open a turn for the seats a send is ABOUT to reach (the audience `inFlight` was asked about —
97
+ * DES-L5: called before the engine call, so the window between the predicate and the record is
98
+ * closed and early frames are stamped); `reconcile` squares it with the engine's answer. An empty
99
+ * seat list opens nothing (nothing to wait for).
100
+ */
72
101
  begin(chatId: string, seats: readonly string[], text: string): ChatTurn | null;
102
+ /**
103
+ * The engine's answer to the send `begin` reserved `turnId` for: `seats` become what the engine
104
+ * reached; `pending` keeps the reserved seats the engine confirmed and still answering, plus any
105
+ * seat the engine added that was never reserved — a reserved seat the engine did NOT reach is
106
+ * dropped (nothing will ever answer for it). An empty answer ends the turn. Returns the turn, or
107
+ * `null` when it is no longer live.
108
+ */
109
+ reconcile(chatId: string, turnId: string, engineSeats: readonly string[]): ChatTurn | null;
110
+ /** The engine REFUSED the send `begin` reserved `turnId` for: nothing is answering — retract it. */
111
+ abort(chatId: string, turnId: string): void;
73
112
  /** The live turn a seat of a chat is answering, if any. */
74
113
  turnOf(chatId: string, cliKey: string): ChatTurn | undefined;
75
114
  /** Every live turn of a chat (diagnostics / tests). */
@@ -1 +1 @@
1
- {"version":3,"file":"chat-turns.d.ts","sourceRoot":"","sources":["../../src/api/chat-turns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,8DAA8D;AAC9D,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,oDAAoD;IACpD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uEAAuE;IACvE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,uGAAuG;AACvG,eAAO,MAAM,wBAAwB,QAAc,CAAC;AAYpD,qBAAa,aAAa;IACxB,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,IAAI,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO;IAKpE,qFAAqF;IACrF,OAAO,CAAC,IAAI;IAUZ;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,GAAG,IAAI;IAiB9E,wGAAwG;IACxG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAiB9E,2DAA2D;IAC3D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI5D,uDAAuD;IACvD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE;IAInC,oFAAoF;IACpF,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAgB/B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IASrC,qFAAqF;IACrF,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAG7B"}
1
+ {"version":3,"file":"chat-turns.d.ts","sourceRoot":"","sources":["../../src/api/chat-turns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD,8DAA8D;AAC9D,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,oDAAoD;IACpD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,2DAA2D;AAC3D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uEAAuE;IACvE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,qGAAqG;AACrG,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,mGAAmG;AACnG,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAI/E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAEjF;AACD,0GAA0G;AAC1G,eAAO,MAAM,wBAAwB,QAAyB,CAAC;AAY/D,qBAAa,aAAa;IACxB,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,IAAI,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO;IAKpE,qFAAqF;IACrF,OAAO,CAAC,IAAI;IAUZ;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,GAAG,IAAI;IAiB9E;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAiB9E;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,GAAG,IAAI;IAc1F,oGAAoG;IACpG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ3C,2DAA2D;IAC3D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI5D,uDAAuD;IACvD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE;IAInC,oFAAoF;IACpF,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAgB/B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS;IASrC,qFAAqF;IACrF,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAG7B"}
@@ -21,13 +21,43 @@
21
21
  * delta/reply under the message it answers instead of the newest bubble.
22
22
  *
23
23
  * A turn whose frames were lost (an engine restart, a seat reaped without a frame) must never wedge
24
- * the chat: a turn older than `staleAfterMs` (default 15 min — three engine turn budgets) is treated
25
- * as ended by every read, and reported in the 409's `stale` reason when it is what let a send pass.
24
+ * the chat: a turn older than `staleAfterMs` (default three engine turn budgets — `3 ×
25
+ * WICKED_CHAT_TURN_SECS`, 30 min at the engine's 600 s default; DES-L5 R16) is treated as ended by
26
+ * every read, and reported in the 409's `stale` reason when it is what let a send pass.
27
+ *
28
+ * DES-L5 (F-E2E-041): `begin` runs BEFORE the engine call, in the same tick as `inFlight`, so two
29
+ * racing sends cannot both pass the predicate and early `chatDelta`s are stamped; `reconcile` then
30
+ * squares the reserved audience with the seats the engine actually reached, and `abort` retracts a
31
+ * turn whose send the engine refused.
26
32
  */
27
33
  import { randomUUID } from 'node:crypto';
28
34
  export const CHAT_TURN_EXCERPT_CHARS = 120;
29
- /** Three engine turn budgets (300 s each): a turn this old with no closing frame is lost, not live. */
30
- export const CHAT_TURN_STALE_AFTER_MS = 15 * 60_000;
35
+ /**
36
+ * The engine's per-turn chat budget default (wicked-core `chat_timeout`, DES-L5 R16 — 600 s, a
37
+ * hypothesis re-derived in the P6 re-run). The constant MIRRORS core's; the variable is the same
38
+ * one core-ts reads in this process, so the two agree on any deployment that sets it, and a drift
39
+ * of the default is a text bug in whichever side moved.
40
+ */
41
+ export const CHAT_TURN_BUDGET_SECS_DEFAULT = 600;
42
+ /** How many engine turn budgets a turn may outlive with no closing frame before it reads as lost. */
43
+ export const CHAT_TURN_STALE_BUDGETS = 3;
44
+ /** The per-turn chat budget in seconds: `WICKED_CHAT_TURN_SECS` (a positive integer), else 600. */
45
+ export function chatTurnBudgetSecs(env = process.env) {
46
+ const raw = env['WICKED_CHAT_TURN_SECS'];
47
+ const n = raw === undefined ? Number.NaN : Number.parseInt(raw, 10);
48
+ return Number.isSafeInteger(n) && n > 0 ? n : CHAT_TURN_BUDGET_SECS_DEFAULT;
49
+ }
50
+ /**
51
+ * Three engine turn budgets, derived from the SAME variable the engine reads: a turn this old with
52
+ * no closing frame is lost, not live. Consequence (accepted, DES-L5 R16): a turn whose frames were
53
+ * lost wedges its seat for 30 min at the default (was 15) before `inFlight` treats it as ended —
54
+ * lost frames are an engine-restart class, and a restart empties the pool anyway.
55
+ */
56
+ export function chatTurnStaleAfterMs(env = process.env) {
57
+ return CHAT_TURN_STALE_BUDGETS * chatTurnBudgetSecs(env) * 1000;
58
+ }
59
+ /** The stale ceiling at module load, from the daemon's environment (kept for readers of the constant). */
60
+ export const CHAT_TURN_STALE_AFTER_MS = chatTurnStaleAfterMs();
31
61
  /** The frame kinds that carry a seat's progress on a turn (`chat` + `cliKey` fields). */
32
62
  const SEAT_PROGRESS_FRAMES = new Set(['chatDelta', 'chatReply', 'chatSessionFailed']);
33
63
  /** The frame kinds that END a seat's part of its turn. */
@@ -43,7 +73,7 @@ export class ChatTurnIndex {
43
73
  staleAfterMs;
44
74
  constructor(opts = {}) {
45
75
  this.now = opts.now ?? Date.now;
46
- this.staleAfterMs = opts.staleAfterMs ?? CHAT_TURN_STALE_AFTER_MS;
76
+ this.staleAfterMs = opts.staleAfterMs ?? chatTurnStaleAfterMs();
47
77
  }
48
78
  /** Drop turns whose frames were lost (see the module doc); returns the survivors. */
49
79
  live(chatId) {
@@ -79,7 +109,12 @@ export class ChatTurnIndex {
79
109
  }
80
110
  return null;
81
111
  }
82
- /** Open a turn for the seats a send reached. An empty seat list opens nothing (nothing to wait for). */
112
+ /**
113
+ * Open a turn for the seats a send is ABOUT to reach (the audience `inFlight` was asked about —
114
+ * DES-L5: called before the engine call, so the window between the predicate and the record is
115
+ * closed and early frames are stamped); `reconcile` squares it with the engine's answer. An empty
116
+ * seat list opens nothing (nothing to wait for).
117
+ */
83
118
  begin(chatId, seats, text) {
84
119
  const unique = [...new Set(seats)];
85
120
  if (unique.length === 0)
@@ -97,6 +132,38 @@ export class ChatTurnIndex {
97
132
  this.turns.set(chatId, list);
98
133
  return turn;
99
134
  }
135
+ /**
136
+ * The engine's answer to the send `begin` reserved `turnId` for: `seats` become what the engine
137
+ * reached; `pending` keeps the reserved seats the engine confirmed and still answering, plus any
138
+ * seat the engine added that was never reserved — a reserved seat the engine did NOT reach is
139
+ * dropped (nothing will ever answer for it). An empty answer ends the turn. Returns the turn, or
140
+ * `null` when it is no longer live.
141
+ */
142
+ reconcile(chatId, turnId, engineSeats) {
143
+ const turn = this.live(chatId).find((t) => t.turnId === turnId);
144
+ if (turn === undefined)
145
+ return null;
146
+ const reached = [...new Set(engineSeats)];
147
+ const reserved = turn.seats;
148
+ turn.pending = [
149
+ ...turn.pending.filter((s) => reached.includes(s)),
150
+ ...reached.filter((s) => !reserved.includes(s)),
151
+ ];
152
+ turn.seats = reached;
153
+ this.live(chatId); // prunes an emptied turn
154
+ return turn.pending.length > 0 ? turn : null;
155
+ }
156
+ /** The engine REFUSED the send `begin` reserved `turnId` for: nothing is answering — retract it. */
157
+ abort(chatId, turnId) {
158
+ const list = this.turns.get(chatId);
159
+ if (list === undefined)
160
+ return;
161
+ const kept = list.filter((t) => t.turnId !== turnId);
162
+ if (kept.length === 0)
163
+ this.turns.delete(chatId);
164
+ else
165
+ this.turns.set(chatId, kept);
166
+ }
100
167
  /** The live turn a seat of a chat is answering, if any. */
101
168
  turnOf(chatId, cliKey) {
102
169
  return this.live(chatId).find((t) => t.pending.includes(cliKey));
@@ -1 +1 @@
1
- {"version":3,"file":"chat-turns.js","sourceRoot":"","sources":["../../src/api/chat-turns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-turns.js","sourceRoot":"","sources":["../../src/api/chat-turns.ts"],"names":[],"mappings":"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"}