wicked-crew 0.16.3 → 0.16.5

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 (184) hide show
  1. package/dist/api/ask-paths.d.ts +5 -2
  2. package/dist/api/ask-paths.d.ts.map +1 -1
  3. package/dist/api/ask-paths.js +6 -3
  4. package/dist/api/ask-paths.js.map +1 -1
  5. package/dist/api/chat-mcp.d.ts +42 -0
  6. package/dist/api/chat-mcp.d.ts.map +1 -0
  7. package/dist/api/chat-mcp.js +93 -0
  8. package/dist/api/chat-mcp.js.map +1 -0
  9. package/dist/api/chat-scope.d.ts +8 -3
  10. package/dist/api/chat-scope.d.ts.map +1 -1
  11. package/dist/api/chat-scope.js +17 -5
  12. package/dist/api/chat-scope.js.map +1 -1
  13. package/dist/api/chat-workflow.d.ts +60 -0
  14. package/dist/api/chat-workflow.d.ts.map +1 -0
  15. package/dist/api/chat-workflow.js +80 -0
  16. package/dist/api/chat-workflow.js.map +1 -0
  17. package/dist/api/delivery-assurance.d.ts +3 -0
  18. package/dist/api/delivery-assurance.d.ts.map +1 -1
  19. package/dist/api/delivery-assurance.js +11 -0
  20. package/dist/api/delivery-assurance.js.map +1 -1
  21. package/dist/api/endpoint-manifest-live.d.ts.map +1 -1
  22. package/dist/api/endpoint-manifest-live.js +2 -0
  23. package/dist/api/endpoint-manifest-live.js.map +1 -1
  24. package/dist/api/mcp.d.ts +5 -5
  25. package/dist/api/mcp.js +1 -1
  26. package/dist/api/needs.d.ts +116 -0
  27. package/dist/api/needs.d.ts.map +1 -0
  28. package/dist/api/needs.js +618 -0
  29. package/dist/api/needs.js.map +1 -0
  30. package/dist/api/project-aggregates.d.ts +2 -2
  31. package/dist/api/routes.d.ts +114 -3
  32. package/dist/api/routes.d.ts.map +1 -1
  33. package/dist/api/routes.js +327 -31
  34. package/dist/api/routes.js.map +1 -1
  35. package/dist/api/run-timing-index.d.ts +6 -0
  36. package/dist/api/run-timing-index.d.ts.map +1 -1
  37. package/dist/api/run-timing-index.js +18 -0
  38. package/dist/api/run-timing-index.js.map +1 -1
  39. package/dist/api/server.d.ts +15 -1
  40. package/dist/api/server.d.ts.map +1 -1
  41. package/dist/api/server.js +147 -2
  42. package/dist/api/server.js.map +1 -1
  43. package/dist/api/system-snapshot.d.ts +7 -15
  44. package/dist/api/system-snapshot.d.ts.map +1 -1
  45. package/dist/api/system-snapshot.js +7 -115
  46. package/dist/api/system-snapshot.js.map +1 -1
  47. package/dist/core/run-identity.d.ts.map +1 -1
  48. package/dist/core/run-identity.js +3 -0
  49. package/dist/core/run-identity.js.map +1 -1
  50. package/dist/editors/conformance-runtime.d.ts +55 -0
  51. package/dist/editors/conformance-runtime.d.ts.map +1 -0
  52. package/dist/editors/conformance-runtime.js +138 -0
  53. package/dist/editors/conformance-runtime.js.map +1 -0
  54. package/dist/editors/pack-install.d.ts +6 -2
  55. package/dist/editors/pack-install.d.ts.map +1 -1
  56. package/dist/editors/pack-install.js +63 -45
  57. package/dist/editors/pack-install.js.map +1 -1
  58. package/dist/editors/registry.d.ts +10 -10
  59. package/dist/evals/capture.d.ts +93 -0
  60. package/dist/evals/capture.d.ts.map +1 -0
  61. package/dist/evals/capture.js +419 -0
  62. package/dist/evals/capture.js.map +1 -0
  63. package/dist/evals/replay.d.ts +33 -0
  64. package/dist/evals/replay.d.ts.map +1 -0
  65. package/dist/evals/replay.js +87 -0
  66. package/dist/evals/replay.js.map +1 -0
  67. package/dist/evals/routes.d.ts +48 -0
  68. package/dist/evals/routes.d.ts.map +1 -0
  69. package/dist/evals/routes.js +121 -0
  70. package/dist/evals/routes.js.map +1 -0
  71. package/dist/evals/run-cli.d.ts +31 -0
  72. package/dist/evals/run-cli.d.ts.map +1 -0
  73. package/dist/evals/run-cli.js +128 -0
  74. package/dist/evals/run-cli.js.map +1 -0
  75. package/dist/evals/runner.d.ts +34 -0
  76. package/dist/evals/runner.d.ts.map +1 -0
  77. package/dist/evals/runner.js +181 -0
  78. package/dist/evals/runner.js.map +1 -0
  79. package/dist/evals/score.d.ts +31 -0
  80. package/dist/evals/score.d.ts.map +1 -0
  81. package/dist/evals/score.js +191 -0
  82. package/dist/evals/score.js.map +1 -0
  83. package/dist/evals/seed-needs-you.d.ts +17 -0
  84. package/dist/evals/seed-needs-you.d.ts.map +1 -0
  85. package/dist/evals/seed-needs-you.js +57 -0
  86. package/dist/evals/seed-needs-you.js.map +1 -0
  87. package/dist/evals/seed-rig.d.ts +9 -0
  88. package/dist/evals/seed-rig.d.ts.map +1 -0
  89. package/dist/evals/seed-rig.js +156 -0
  90. package/dist/evals/seed-rig.js.map +1 -0
  91. package/dist/evals/stats.d.ts +31 -0
  92. package/dist/evals/stats.d.ts.map +1 -0
  93. package/dist/evals/stats.js +59 -0
  94. package/dist/evals/stats.js.map +1 -0
  95. package/dist/evals/steering.d.ts +9 -0
  96. package/dist/evals/steering.d.ts.map +1 -0
  97. package/dist/evals/steering.js +25 -0
  98. package/dist/evals/steering.js.map +1 -0
  99. package/dist/evals/store.d.ts +26 -0
  100. package/dist/evals/store.d.ts.map +1 -0
  101. package/dist/evals/store.js +96 -0
  102. package/dist/evals/store.js.map +1 -0
  103. package/dist/evals/synthetic.d.ts +17 -0
  104. package/dist/evals/synthetic.d.ts.map +1 -0
  105. package/dist/evals/synthetic.js +71 -0
  106. package/dist/evals/synthetic.js.map +1 -0
  107. package/dist/evals/types.d.ts +29 -0
  108. package/dist/evals/types.d.ts.map +1 -0
  109. package/dist/evals/types.js +25 -0
  110. package/dist/evals/types.js.map +1 -0
  111. package/dist/evals/workflow.d.ts +33 -0
  112. package/dist/evals/workflow.d.ts.map +1 -0
  113. package/dist/evals/workflow.js +66 -0
  114. package/dist/evals/workflow.js.map +1 -0
  115. package/dist/insights/analyze-cli.d.ts +18 -0
  116. package/dist/insights/analyze-cli.d.ts.map +1 -0
  117. package/dist/insights/analyze-cli.js +71 -0
  118. package/dist/insights/analyze-cli.js.map +1 -0
  119. package/dist/insights/analyze.d.ts +136 -0
  120. package/dist/insights/analyze.d.ts.map +1 -0
  121. package/dist/insights/analyze.js +358 -0
  122. package/dist/insights/analyze.js.map +1 -0
  123. package/dist/insights/review-service.d.ts +127 -0
  124. package/dist/insights/review-service.d.ts.map +1 -0
  125. package/dist/insights/review-service.js +392 -0
  126. package/dist/insights/review-service.js.map +1 -0
  127. package/dist/insights/routes.d.ts +15 -0
  128. package/dist/insights/routes.d.ts.map +1 -0
  129. package/dist/insights/routes.js +66 -0
  130. package/dist/insights/routes.js.map +1 -0
  131. package/dist/insights/run-facts.d.ts +64 -0
  132. package/dist/insights/run-facts.d.ts.map +1 -0
  133. package/dist/insights/run-facts.js +152 -0
  134. package/dist/insights/run-facts.js.map +1 -0
  135. package/dist/insights/stats.d.ts +38 -0
  136. package/dist/insights/stats.d.ts.map +1 -0
  137. package/dist/insights/stats.js +102 -0
  138. package/dist/insights/stats.js.map +1 -0
  139. package/dist/insights/store.d.ts +89 -0
  140. package/dist/insights/store.d.ts.map +1 -0
  141. package/dist/insights/store.js +87 -0
  142. package/dist/insights/store.js.map +1 -0
  143. package/dist/insights/workflow.d.ts +22 -0
  144. package/dist/insights/workflow.d.ts.map +1 -0
  145. package/dist/insights/workflow.js +39 -0
  146. package/dist/insights/workflow.js.map +1 -0
  147. package/dist/mcp/probe.d.ts +18 -3
  148. package/dist/mcp/probe.d.ts.map +1 -1
  149. package/dist/mcp/probe.js +61 -9
  150. package/dist/mcp/probe.js.map +1 -1
  151. package/dist/projects/state-home-preflight.d.ts.map +1 -1
  152. package/dist/projects/state-home-preflight.js +8 -4
  153. package/dist/projects/state-home-preflight.js.map +1 -1
  154. package/dist/projects/state-home-registry.d.ts +12 -1
  155. package/dist/projects/state-home-registry.d.ts.map +1 -1
  156. package/dist/projects/state-home-registry.js +24 -2
  157. package/dist/projects/state-home-registry.js.map +1 -1
  158. package/dist/qe/acceptance.d.ts.map +1 -1
  159. package/dist/qe/acceptance.js +10 -2
  160. package/dist/qe/acceptance.js.map +1 -1
  161. package/dist/qe/ledger.d.ts +20 -0
  162. package/dist/qe/ledger.d.ts.map +1 -1
  163. package/dist/qe/ledger.js +83 -3
  164. package/dist/qe/ledger.js.map +1 -1
  165. package/dist/schedules/routes.d.ts +48 -0
  166. package/dist/schedules/routes.d.ts.map +1 -0
  167. package/dist/schedules/routes.js +72 -0
  168. package/dist/schedules/routes.js.map +1 -0
  169. package/dist/schedules/scheduler.d.ts +58 -0
  170. package/dist/schedules/scheduler.d.ts.map +1 -0
  171. package/dist/schedules/scheduler.js +194 -0
  172. package/dist/schedules/scheduler.js.map +1 -0
  173. package/dist/schedules/store.d.ts +67 -0
  174. package/dist/schedules/store.d.ts.map +1 -0
  175. package/dist/schedules/store.js +148 -0
  176. package/dist/schedules/store.js.map +1 -0
  177. package/dist/team/routes.d.ts +10 -0
  178. package/dist/team/routes.d.ts.map +1 -1
  179. package/dist/team/routes.js +3 -0
  180. package/dist/team/routes.js.map +1 -1
  181. package/endpoint-manifest.json +132 -1
  182. package/package.json +4 -3
  183. package/workflows/review-recent-work.json +54 -0
  184. package/workflows/run-evals.json +29 -0
@@ -0,0 +1,80 @@
1
+ import { answerStep } from './ask-paths.js';
2
+ /** The workflows a chat may run. Each is a built-in, read-only preset of the engine. */
3
+ export const CHAT_WORKFLOWS = new Set(['analyze']);
4
+ /**
5
+ * Why `step` could write (or run something), or `null` when it is a read-only `understand` agent step.
6
+ * The ONE predicate: the chat open applies it to the workflow's step, and an analysis run applies it
7
+ * to every step a plan edit would add (`routes.ts` `analysisPlanRefusal`).
8
+ */
9
+ export function writeCapableStep(step) {
10
+ const id = String(step.id ?? step.catalog);
11
+ if (step.catalog !== 'understand')
12
+ return `its step '${id}' is on catalog entry '${step.catalog}', not 'understand'`;
13
+ if (step['executor'] !== undefined && step['executor'] !== null)
14
+ return `its step '${id}' names an executor`;
15
+ if (step['executes_code'] === true)
16
+ return `its step '${id}' executes code`;
17
+ const deliverables = step['required_deliverables'];
18
+ if (Array.isArray(deliverables) && deliverables.length > 0)
19
+ return `its step '${id}' declares deliverables`;
20
+ return null;
21
+ }
22
+ /** Why `step` cannot run as a read-only chat turn, or `null` when it can. */
23
+ export function readOnlyStepRefusal(step) {
24
+ const writes = writeCapableStep(step);
25
+ if (writes !== null)
26
+ return writes;
27
+ if (typeof step.instructions !== 'string' || step.instructions.trim() === '')
28
+ return `its step '${step.id}' has no instructions`;
29
+ return null;
30
+ }
31
+ /**
32
+ * Resolve `name` against the engine's presets: a 400 for a name chats do not run, a 409 when this
33
+ * engine does not carry it (an older core-ts) or carries a shape that could write.
34
+ */
35
+ export function resolveChatWorkflow(name, presets) {
36
+ if (!CHAT_WORKFLOWS.has(name)) {
37
+ return { ok: false, status: 400, error: `a chat cannot run workflow '${name}' (chats run: ${[...CHAT_WORKFLOWS].join(', ')})` };
38
+ }
39
+ const preset = presets.find((p) => p.name === name && p.created_by === 'builtin' && p.scope === 'global');
40
+ if (preset === undefined) {
41
+ return {
42
+ ok: false,
43
+ status: 409,
44
+ error: `this daemon's engine has no built-in '${name}' workflow (wicked-core-ts too old); open a plain chat instead`,
45
+ };
46
+ }
47
+ if (preset.steps.length !== 1) {
48
+ return { ok: false, status: 409, error: `workflow '${name}' has ${preset.steps.length} steps; a chat runs exactly one read-only step` };
49
+ }
50
+ const step = preset.steps[0];
51
+ const why = readOnlyStepRefusal(step);
52
+ if (why !== null)
53
+ return { ok: false, status: 409, error: `workflow '${name}' cannot run in a chat: ${why}` };
54
+ return {
55
+ ok: true,
56
+ workflow: {
57
+ name,
58
+ instructions: step.instructions,
59
+ ...(typeof step.skill_ref === 'string' && step.skill_ref !== '' ? { skillRef: step.skill_ref } : {}),
60
+ },
61
+ };
62
+ }
63
+ /** The chat workflows this engine carries (served as `GET /health.capabilities.chatWorkflows`). */
64
+ export function servedChatWorkflows(presets) {
65
+ return [...CHAT_WORKFLOWS].filter((name) => resolveChatWorkflow(name, presets).ok).sort();
66
+ }
67
+ /**
68
+ * One turn of a chat: the ask path's answer step ({@link answerStep}: `understand`, the turn gate,
69
+ * the turn budget), carrying the workflow's skill and its instructions ahead of the turn's own
70
+ * (the scope statement, the preface, the operator's words).
71
+ */
72
+ export function chatTurnStep(stepId, text, workflow) {
73
+ if (workflow === undefined)
74
+ return answerStep(stepId, text);
75
+ return {
76
+ ...answerStep(stepId, `${workflow.instructions}\n\n${text}`),
77
+ ...(workflow.skillRef !== undefined ? { skill_ref: workflow.skillRef } : {}),
78
+ };
79
+ }
80
+ //# sourceMappingURL=chat-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-workflow.js","sourceRoot":"","sources":["../../src/api/chat-workflow.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,9 @@ export declare function qeAcceptanceNotRequired(decision: QeAcceptanceDecision):
42
42
  /** The check a delivery ran, from the acceptance view resolved with the requirement FORCED on (a
43
43
  * contract that requires QE acceptance owes a verdict even when no phase raises `verified_evidence`). */
44
44
  export declare function qeAcceptanceFromView(view: AcceptanceView): QeAcceptanceCheck;
45
+ /** (j4-gates) The check of a delivery the operator approved WITH a QE skip at the deliver gate
46
+ * (`action: 'skip_qe'`): satisfied, no verdict read, in the engine's own words for the skip. */
47
+ export declare function qeAcceptanceSkippedAtGate(reason: string): QeAcceptanceCheck;
45
48
  /** A check that could not be read at all is a refusal, naming why (deny-dominates). */
46
49
  export declare function unreadableQeAcceptance(err: unknown): QeAcceptanceCheck;
47
50
  /** The 409 body of a delivery the QE acceptance requirement refused. */
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-assurance.d.ts","sourceRoot":"","sources":["../../src/api/delivery-assurance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,oBAAoB,EAEpB,gBAAgB,EAEhB,iBAAiB,EAEjB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC7E,kCAAkC;AAClC,eAAO,MAAM,2BAA2B,EAAG,wBAAiC,CAAC;AAE7E;oGACoG;AACpG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAE/D;AAED;uFACuF;AACvF,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI,CAe3E;AAED;;;kFAGkF;AAClF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAI1E;AAED;4FAC4F;AAC5F,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,iBAAiB,CAQzF;AAED;0GAC0G;AAC1G,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,iBAAiB,CAgB5E;AAED,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAQtE;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,gBAAgB,GAAG,IAAI,EAClC,KAAK,EAAE,MAAM,GAAG,UAAU,GACzB,mBAAmB,CAWrB;AAED,oEAAoE;AACpE,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAE7E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI,CAuDhG;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,EACrE,YAAY,EAAE,iBAAiB,GAAG,IAAI,GACrC,iBAAiB,CAUnB"}
1
+ {"version":3,"file":"delivery-assurance.d.ts","sourceRoot":"","sources":["../../src/api/delivery-assurance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,oBAAoB,EAEpB,gBAAgB,EAEhB,iBAAiB,EAEjB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC7E,kCAAkC;AAClC,eAAO,MAAM,2BAA2B,EAAG,wBAAiC,CAAC;AAE7E;oGACoG;AACpG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAE/D;AAED;uFACuF;AACvF,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI,CAe3E;AAED;;;kFAGkF;AAClF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAI1E;AAED;4FAC4F;AAC5F,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,iBAAiB,CAQzF;AAED;0GAC0G;AAC1G,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,GAAG,iBAAiB,CAgB5E;AAED;iGACiG;AACjG,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAQ3E;AAED,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAQtE;AAED,wEAAwE;AACxE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,iBAAiB,EACxB,SAAS,EAAE,gBAAgB,GAAG,IAAI,EAClC,KAAK,EAAE,MAAM,GAAG,UAAU,GACzB,mBAAmB,CAWrB;AAED,oEAAoE;AACpE,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAE7E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI,CAuDhG;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,EACrE,YAAY,EAAE,iBAAiB,GAAG,IAAI,GACrC,iBAAiB,CAUnB"}
@@ -87,6 +87,17 @@ export function qeAcceptanceFromView(view) {
87
87
  reviewer: verdict?.reviewer ?? null,
88
88
  };
89
89
  }
90
+ /** (j4-gates) The check of a delivery the operator approved WITH a QE skip at the deliver gate
91
+ * (`action: 'skip_qe'`): satisfied, no verdict read, in the engine's own words for the skip. */
92
+ export function qeAcceptanceSkippedAtGate(reason) {
93
+ return {
94
+ status: 'skipped',
95
+ satisfied: true,
96
+ reason: `QE acceptance skipped by operator: ${reason.trim()}`,
97
+ verdictId: null,
98
+ reviewer: null,
99
+ };
100
+ }
90
101
  /** A check that could not be read at all is a refusal, naming why (deny-dominates). */
91
102
  export function unreadableQeAcceptance(err) {
92
103
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-assurance.js","sourceRoot":"","sources":["../../src/api/delivery-assurance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-assurance.js","sourceRoot":"","sources":["../../src/api/delivery-assurance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAcH,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAGjE,mGAAmG;AACnG,yEAAyE;AACzE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC7E,kCAAkC;AAClC,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAiC,CAAC;AAE7E;oGACoG;AACpG,MAAM,UAAU,oBAAoB,CAAC,IAAiB;IACpD,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AACrC,CAAC;AAED;uFACuF;AACvF,MAAM,UAAU,YAAY,CAAC,IAAiB;IAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9F,OAAO,CACL,CAAC,CAAC,EAAE,IAAI;QACN,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,8CAA8C;QACtD,OAAO,EAAE,EAAE;QACX,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI;KACX,CACF,CAAC;AACJ,CAAC;AAED;;;kFAGkF;AAClF,MAAM,UAAU,kBAAkB,CAAC,QAA8B;IAC/D,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACvF,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC;WAC7D,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;AACxE,CAAC;AAED;4FAC4F;AAC5F,MAAM,UAAU,uBAAuB,CAAC,QAA8B;IACpE,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAED;0GAC0G;AAC1G,MAAM,UAAU,oBAAoB,CAAC,IAAoB;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,IAAI,IAAI,CAAC;IACjD,+FAA+F;IAC/F,mGAAmG;IACnG,mEAAmE;IACnE,MAAM,UAAU,GAAG,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IAC/C,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,UAAU;QAC5C,MAAM,EACJ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU;YAChC,CAAC,CAAC,uDAAuD,IAAI,CAAC,IAAI,CAAC,MAAM,8DAA8D;YACvI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,IAAI;QAC9B,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;KACpC,CAAC;AACJ,CAAC;AAED;iGACiG;AACjG,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACtD,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,sCAAsC,MAAM,CAAC,IAAI,EAAE,EAAE;QAC7D,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,OAAO;QACL,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,+CAA+C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB;QAC7H,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;KACf,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,KAAwB,EACxB,SAAkC,EAClC,KAA0B;IAE1B,OAAO;QACL,IAAI,EAAE,2BAA2B;QACjC,KAAK,EACH,OAAO,KAAK,wEAAwE,KAAK,CAAC,MAAM,IAAI;YACpG,CAAC,KAAK,KAAK,MAAM;gBACf,CAAC,CAAC,oJAAoJ;gBACtJ,CAAC,CAAC,oHAAoH,CAAC;QAC3H,UAAU,EAAE,KAAK;QACjB,SAAS;KACV,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,SAAS,CAAC,IAA0B;IAClD,OAAO,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAiB,EAAE,IAAmB;IACrE,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;SAChC,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SACvB,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3I,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,kGAAkG;IAClG,2FAA2F;IAC3F,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;IACtC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC;YACX,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,wBAAwB;YAChF,MAAM,EAAE,EAAE,CAAC,MAAM;SAClB,CAAC,CAAC;IACL,CAAC;IACD,+FAA+F;IAC/F,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC3D,uGAAuG;IACvG,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;IACvE,+FAA+F;IAC/F,iGAAiG;IACjG,+FAA+F;IAC/F,wCAAwC;IACxC,MAAM,cAAc,GAAuB,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACxH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,aAAa,EAAE,QAAQ,KAAK,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG;YAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,UAAU,KAAK,aAAa;gBAAE,SAAS;YAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7F,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAChC,GAAG;QACH,OAAO;QACP,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,IAAI;QACX,IAAI;QACJ,OAAO,EAAE,CAAC;QACV,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,wBAAwB,CACtC,IAAiB,EACjB,KAAqE,EACrE,YAAsC;IAEtC,MAAM,SAAS,GAAG,KAAK,EAAE,SAAS,IAAI,IAAI,CAAC;IAC3C,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,GAAG,EAAE,UAAU;QACf,OAAO,EAAE,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC;QAC1C,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,IAAI;QACrC,SAAS;QACT,YAAY;KACb,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-manifest-live.d.ts","sourceRoot":"","sources":["../../src/api/endpoint-manifest-live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEtF,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAuC7E"}
1
+ {"version":3,"file":"endpoint-manifest-live.d.ts","sourceRoot":"","sources":["../../src/api/endpoint-manifest-live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEtF,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAyC7E"}
@@ -50,6 +50,8 @@ export async function collectLiveEndpointManifest() {
50
50
  projectEvents: { disabled: true },
51
51
  interactiveWsRelay: { disabled: true },
52
52
  stallWatchdog: { enabled: false },
53
+ // No schedule tick: an armed one would seed `daemon-schedules.json` into the generating machine's state home.
54
+ workflowSchedules: { enabled: false },
53
55
  // No skills seam: the manifest documents the routes, and an armed seam would seed the
54
56
  // generating machine's REAL skills root from its installed plugin. The routes register
55
57
  // regardless (they answer 503 unconfigured).
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-manifest-live.js","sourceRoot":"","sources":["../../src/api/endpoint-manifest-live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAyB,MAAM,wBAAwB,CAAC;AAEtF,MAAM,CAAC,KAAK,UAAU,2BAA2B;IAC/C,4FAA4F;IAC5F,kFAAkF;IAClF,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;IACpC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,IAAI;QACV,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;QAC9B,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7B,wFAAwF;QACxF,QAAQ,EAAE,GAAiB,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,0EAA0E;QACzH,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;KACE,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;YACtC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACrB,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;YACrC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YACjC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YACtC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YACjC,sFAAsF;YACtF,uFAAuF;YACvF,6CAA6C;YAC7C,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,iEAAiE;YACjE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,aAAa,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;;YAC5D,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC;QAC9C,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"endpoint-manifest-live.js","sourceRoot":"","sources":["../../src/api/endpoint-manifest-live.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAyB,MAAM,wBAAwB,CAAC;AAEtF,MAAM,CAAC,KAAK,UAAU,2BAA2B;IAC/C,4FAA4F;IAC5F,kFAAkF;IAClF,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;IACpC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,IAAI;QACV,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;QAC9B,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC7B,wFAAwF;QACxF,QAAQ,EAAE,GAAiB,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,0EAA0E;QACzH,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;KACE,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE;YACtC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACrB,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;YACrC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YACjC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YACtC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YACjC,8GAA8G;YAC9G,iBAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YACrC,sFAAsF;YACtF,uFAAuF;YACvF,6CAA6C;YAC7C,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,iEAAiE;YACjE,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;gBAAS,CAAC;YACT,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,aAAa,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;;YAC5D,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC;QAC9C,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
package/dist/api/mcp.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * GET /mcp/servers upstreams, their tools (class, subject, status), health,
5
5
  * auth state, and the servers discovered in CLI homes (names only)
6
- * POST /mcp/servers/preview probe (10 s, hardened env): tools, classes and a previewHash
6
+ * POST /mcp/servers/preview probe (45 s budget, hardened env): tools, classes and a previewHash
7
7
  * (`kind: "rest"`, slice S5a: the tools of an OpenAPI 3 document,
8
8
  * each pinned to the base `url`; see `mcp/rest.ts`)
9
9
  * POST /mcp/servers save: `{previewHash, enabledWrites?, allowOrigin?}`; missing, unknown or expired → 409.
@@ -96,7 +96,7 @@ export declare const McpServerConfigSchema: z.ZodEffects<z.ZodObject<{
96
96
  secret: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
97
97
  }, "strict", z.ZodTypeAny, {
98
98
  name: string;
99
- kind: "mcp-stdio" | "mcp-http" | "rest";
99
+ kind: "rest" | "mcp-stdio" | "mcp-http";
100
100
  auth?: {
101
101
  ref: string;
102
102
  env?: string | undefined;
@@ -112,7 +112,7 @@ export declare const McpServerConfigSchema: z.ZodEffects<z.ZodObject<{
112
112
  openapi?: Record<string, unknown> | undefined;
113
113
  }, {
114
114
  name: string;
115
- kind: "mcp-stdio" | "mcp-http" | "rest";
115
+ kind: "rest" | "mcp-stdio" | "mcp-http";
116
116
  auth?: {
117
117
  ref: string;
118
118
  env?: string | undefined;
@@ -128,7 +128,7 @@ export declare const McpServerConfigSchema: z.ZodEffects<z.ZodObject<{
128
128
  openapi?: Record<string, unknown> | undefined;
129
129
  }>, {
130
130
  name: string;
131
- kind: "mcp-stdio" | "mcp-http" | "rest";
131
+ kind: "rest" | "mcp-stdio" | "mcp-http";
132
132
  auth?: {
133
133
  ref: string;
134
134
  env?: string | undefined;
@@ -144,7 +144,7 @@ export declare const McpServerConfigSchema: z.ZodEffects<z.ZodObject<{
144
144
  openapi?: Record<string, unknown> | undefined;
145
145
  }, {
146
146
  name: string;
147
- kind: "mcp-stdio" | "mcp-http" | "rest";
147
+ kind: "rest" | "mcp-stdio" | "mcp-http";
148
148
  auth?: {
149
149
  ref: string;
150
150
  env?: string | undefined;
package/dist/api/mcp.js CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * GET /mcp/servers upstreams, their tools (class, subject, status), health,
5
5
  * auth state, and the servers discovered in CLI homes (names only)
6
- * POST /mcp/servers/preview probe (10 s, hardened env): tools, classes and a previewHash
6
+ * POST /mcp/servers/preview probe (45 s budget, hardened env): tools, classes and a previewHash
7
7
  * (`kind: "rest"`, slice S5a: the tools of an OpenAPI 3 document,
8
8
  * each pinned to the base `url`; see `mcp/rest.ts`)
9
9
  * POST /mcp/servers save: `{previewHash, enabledWrites?, allowOrigin?}`; missing, unknown or expired → 409.
@@ -0,0 +1,116 @@
1
+ /**
2
+ * The one "needs you" rule (`GET /system.attention[]`, api-types 0.140.0) and its companion,
3
+ * `unresolved[]`.
4
+ *
5
+ * The operator's rule: anything that is work stuck (the system slowing or preventing it, work that
6
+ * cannot move) is counted, prioritized by impact. So `attention[]` holds one item per ROOT CAUSE
7
+ * holding work up right now:
8
+ *
9
+ * - `prevents`: work cannot move until a person acts (an open gate, a stalled run, a recent
10
+ * failure, a down component, a seat gap with no alternative);
11
+ * - `slows`: the system itself slows work (host load).
12
+ *
13
+ * One cause that holds several runs is ONE item, naming them in `blockedRunIds`. A merge needs
14
+ * evidence, never a similar label: the same repo failing the same check on a base that fails it
15
+ * too (plus the run whose stated problem IS that red base, when it waits at a gate: its gate is the
16
+ * item's action); the same down component a held run's denial names; the same seats leaving runs
17
+ * with no distinct judge. Seat problems fold into the run item they block.
18
+ *
19
+ * What is NOT stuck never counts, and is never hidden either (operator, 2026-10-27: "don't let
20
+ * the system go green with stale jobs"): superseded runs, failed runs older than 7 days and asks
21
+ * parked at their turn gate past a day move to `unresolved[]`, each with what it cost and how to
22
+ * resolve it. Answered asks are not stuck. Pending proposals are `toReview`.
23
+ *
24
+ * Order (DEFINITION §4): runs held, then prevents before slows, then a component before one run's own
25
+ * cause (a component also holds every new run), then the longest wait (the gate's arrival, never the
26
+ * run's launch), then the units left.
27
+ *
28
+ * Pure: every input is a reading the route already made.
29
+ */
30
+ import type { SessionView, SystemAttentionItem, SystemCli, SystemInfraKey, SystemInfraRow, SystemRun, SystemUnresolvedItem } from '../core/types.js';
31
+ /** A failed run launched longer ago than this is history to resolve, not a need. */
32
+ export declare const FAILED_FRESH_MS: number;
33
+ /** An ask parked at its turn gate longer than this is unresolved work. */
34
+ export declare const PARKED_AFTER_MS = 86400000;
35
+ export interface RunCost {
36
+ costUsd: number | null;
37
+ tokens: {
38
+ input: number;
39
+ output: number;
40
+ } | null;
41
+ }
42
+ export interface NeedsInput {
43
+ now: number;
44
+ /** Every run the engine lists (terminal and archived ones too), decorated. */
45
+ views: readonly SessionView[];
46
+ /** `runs[]`: the unfinished runs with computed liveness and their open gate. */
47
+ runs: readonly SystemRun[];
48
+ infra: readonly SystemInfraRow[];
49
+ clis: readonly SystemCli[];
50
+ /** Runs with no distinct judge in their pool (`judgeGaps`). */
51
+ gaps: ReadonlyArray<{
52
+ run: SystemRun;
53
+ creator: string | null;
54
+ blockedBy: SystemCli[];
55
+ }>;
56
+ /** Whether a down component holds every live run (the container floor's gateway, …). */
57
+ infraHoldsLive: (key: SystemInfraKey) => boolean;
58
+ /** Per-run cost, when its log was read; absent ⇒ unknown. */
59
+ costOf?: (runId: string) => RunCost | undefined;
60
+ }
61
+ export interface Needs {
62
+ attention: SystemAttentionItem[];
63
+ unresolved: SystemUnresolvedItem[];
64
+ unresolvedSpend: {
65
+ costUsd: number | null;
66
+ tokens: {
67
+ input: number;
68
+ output: number;
69
+ } | null;
70
+ costKnown: number;
71
+ };
72
+ }
73
+ /** "1 job", "4 jobs": a count in words, never "job(s)". */
74
+ export declare const plural: (n: number, one: string, many?: string) => string;
75
+ /**
76
+ * Which run replaced this one, if any: a run naming it in `retry_of`, or a LATER run with the same
77
+ * repo, workflow and title that completed or delivered. A failed run with a retry is resolved by
78
+ * that retry (`retried`); anything else superseded is still the operator's to close.
79
+ */
80
+ export declare function supersession(views: readonly SessionView[]): Map<string, {
81
+ by: string;
82
+ retried: boolean;
83
+ }>;
84
+ /** An ask's TURN gate (answered by the chat's next message): a terminal gate with every unit done.
85
+ * An ask held at an escalation is a real gate (68c26704). */
86
+ export declare function isAnsweredAsk(v: SessionView, run: SystemRun | undefined): boolean;
87
+ export declare function buildNeeds(input: NeedsInput): Needs;
88
+ /** The level: `red` when an attention item is red; `yellow` when anything needs a look OR is
89
+ * unresolved; `green` only when both are empty. */
90
+ export declare function needsLevel(attention: readonly SystemAttentionItem[], unresolved?: readonly SystemUnresolvedItem[]): 'green' | 'yellow' | 'red';
91
+ /** Fold one run's event log into what it cost (`cliUsage` frames). `null` fields when none carried it. */
92
+ export declare function foldRunCost(events: ReadonlyArray<{
93
+ type?: unknown;
94
+ [k: string]: unknown;
95
+ }>): RunCost;
96
+ /** Per-run cost, read once per terminal run (it cannot change) and briefly for an open one. The
97
+ * snapshot never waits past its bound: a run not read yet reads unknown, and the next read has it. */
98
+ export declare class RunCostCache {
99
+ private readonly ttlMs;
100
+ private readonly now;
101
+ private readonly done;
102
+ private inFlight;
103
+ constructor(ttlMs?: number, now?: () => number);
104
+ get(runId: string): RunCost | undefined;
105
+ /** Read every listed run not cached, stale, or whose `stamp` moved (a failed run resumed and ended
106
+ * again has a new end: its cost is read again); resolves when all are read. */
107
+ fill(runs: ReadonlyArray<{
108
+ id: string;
109
+ final: boolean;
110
+ stamp?: string;
111
+ }>, read: (id: string) => Promise<ReadonlyArray<{
112
+ type?: unknown;
113
+ [k: string]: unknown;
114
+ }> | null>): Promise<void>;
115
+ }
116
+ //# sourceMappingURL=needs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"needs.d.ts","sourceRoot":"","sources":["../../src/api/needs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,cAAc,EAEd,SAAS,EAET,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAG1B,oFAAoF;AACpF,eAAO,MAAM,eAAe,QAAa,CAAC;AAC1C,0EAA0E;AAC1E,eAAO,MAAM,eAAe,WAAS,CAAC;AAuBtC,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,8EAA8E;IAC9E,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9B,gFAAgF;IAChF,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IAC3B,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IACjC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IAC3B,+DAA+D;IAC/D,IAAI,EAAE,aAAa,CAAC;QAAE,GAAG,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC,CAAC;IACxF,wFAAwF;IACxF,cAAc,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC;IACjD,6DAA6D;IAC7D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,KAAK;IACpB,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,eAAe,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAClH;AAGD,2DAA2D;AAC3D,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,EAAE,KAAK,MAAM,EAAE,aAAgB,KAAG,MAAwC,CAAC;AAiB3G;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA+BzG;AAED;8DAC8D;AAC9D,wBAAgB,aAAa,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAKjF;AA+GD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAyRnD;AA8BD;oDACoD;AACpD,wBAAgB,UAAU,CAAC,SAAS,EAAE,SAAS,mBAAmB,EAAE,EAAE,UAAU,GAAE,SAAS,oBAAoB,EAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAGlJ;AAED,0GAA0G;AAC1G,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,GAAG,OAAO,CAqBpG;AAED;uGACuG;AACvG,qBAAa,YAAY;IAIX,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAW,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHjE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmF;IACxG,OAAO,CAAC,QAAQ,CAA8B;gBAEjB,KAAK,SAAS,EAAmB,GAAG,GAAE,MAAM,MAAiB;IAE1F,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIvC;oFACgF;IAChF,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBxL"}