@nac3/forge-cli 0.2.0-alpha.59z.123 → 0.2.0-alpha.59z.158

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 (154) hide show
  1. package/dist/agents/bridge.d.ts +69 -0
  2. package/dist/agents/bridge.d.ts.map +1 -0
  3. package/dist/agents/bridge.js +295 -0
  4. package/dist/agents/bridge.js.map +1 -0
  5. package/dist/agents/cli_real.d.ts +38 -0
  6. package/dist/agents/cli_real.d.ts.map +1 -0
  7. package/dist/agents/cli_real.js +46 -0
  8. package/dist/agents/cli_real.js.map +1 -0
  9. package/dist/agents/config_schema.d.ts +1 -1
  10. package/dist/agents/config_schema.d.ts.map +1 -1
  11. package/dist/agents/config_schema.js +16 -0
  12. package/dist/agents/config_schema.js.map +1 -1
  13. package/dist/agents/defaults.d.ts.map +1 -1
  14. package/dist/agents/defaults.js.map +1 -1
  15. package/dist/agents/delegate.d.ts +36 -0
  16. package/dist/agents/delegate.d.ts.map +1 -0
  17. package/dist/agents/delegate.js +68 -0
  18. package/dist/agents/delegate.js.map +1 -0
  19. package/dist/agents/iterative_step.d.ts +95 -0
  20. package/dist/agents/iterative_step.d.ts.map +1 -0
  21. package/dist/agents/iterative_step.js +249 -0
  22. package/dist/agents/iterative_step.js.map +1 -0
  23. package/dist/agents/llm_step.d.ts +50 -0
  24. package/dist/agents/llm_step.d.ts.map +1 -0
  25. package/dist/agents/llm_step.js +28 -0
  26. package/dist/agents/llm_step.js.map +1 -0
  27. package/dist/agents/real_step_factory.d.ts +95 -0
  28. package/dist/agents/real_step_factory.d.ts.map +1 -0
  29. package/dist/agents/real_step_factory.js +51 -0
  30. package/dist/agents/real_step_factory.js.map +1 -0
  31. package/dist/agents/runner.d.ts +14 -0
  32. package/dist/agents/runner.d.ts.map +1 -1
  33. package/dist/agents/runner.js +10 -1
  34. package/dist/agents/runner.js.map +1 -1
  35. package/dist/agents/runtime.d.ts +115 -0
  36. package/dist/agents/runtime.d.ts.map +1 -0
  37. package/dist/agents/runtime.js +429 -0
  38. package/dist/agents/runtime.js.map +1 -0
  39. package/dist/agents/system_prompt.d.ts +36 -0
  40. package/dist/agents/system_prompt.d.ts.map +1 -0
  41. package/dist/agents/system_prompt.js +101 -0
  42. package/dist/agents/system_prompt.js.map +1 -0
  43. package/dist/agents/types.d.ts +12 -1
  44. package/dist/agents/types.d.ts.map +1 -1
  45. package/dist/agents/types.js.map +1 -1
  46. package/dist/bin/yf.d.ts.map +1 -1
  47. package/dist/bin/yf.js +9 -0
  48. package/dist/bin/yf.js.map +1 -1
  49. package/dist/chat/claude_cli.d.ts +42 -0
  50. package/dist/chat/claude_cli.d.ts.map +1 -0
  51. package/dist/chat/claude_cli.js +299 -0
  52. package/dist/chat/claude_cli.js.map +1 -0
  53. package/dist/chat/graph_snapshot.d.ts +38 -0
  54. package/dist/chat/graph_snapshot.d.ts.map +1 -0
  55. package/dist/chat/graph_snapshot.js +159 -0
  56. package/dist/chat/graph_snapshot.js.map +1 -0
  57. package/dist/chat/ingest_session.d.ts +24 -4
  58. package/dist/chat/ingest_session.d.ts.map +1 -1
  59. package/dist/chat/ingest_session.js +139 -4
  60. package/dist/chat/ingest_session.js.map +1 -1
  61. package/dist/chat/panel.d.ts.map +1 -1
  62. package/dist/chat/panel.js +1358 -0
  63. package/dist/chat/panel.js.map +1 -1
  64. package/dist/chat/server.d.ts +21 -0
  65. package/dist/chat/server.d.ts.map +1 -1
  66. package/dist/chat/server.js +904 -4
  67. package/dist/chat/server.js.map +1 -1
  68. package/dist/chat/tools/nac3_invoke.d.ts +5 -0
  69. package/dist/chat/tools/nac3_invoke.d.ts.map +1 -1
  70. package/dist/chat/tools/nac3_invoke.js +1 -0
  71. package/dist/chat/tools/nac3_invoke.js.map +1 -1
  72. package/dist/chat/tools.d.ts.map +1 -1
  73. package/dist/chat/tools.js +12 -0
  74. package/dist/chat/tools.js.map +1 -1
  75. package/dist/commands/agent.d.ts +12 -1
  76. package/dist/commands/agent.d.ts.map +1 -1
  77. package/dist/commands/agent.js +92 -1
  78. package/dist/commands/agent.js.map +1 -1
  79. package/dist/commands/chat.d.ts +10 -0
  80. package/dist/commands/chat.d.ts.map +1 -1
  81. package/dist/commands/chat.js +12 -1
  82. package/dist/commands/chat.js.map +1 -1
  83. package/dist/commands/director.d.ts +37 -0
  84. package/dist/commands/director.d.ts.map +1 -0
  85. package/dist/commands/director.js +290 -0
  86. package/dist/commands/director.js.map +1 -0
  87. package/dist/core/pilot_setup.d.ts +14 -1
  88. package/dist/core/pilot_setup.d.ts.map +1 -1
  89. package/dist/core/pilot_setup.js +62 -1
  90. package/dist/core/pilot_setup.js.map +1 -1
  91. package/dist/design/yujin_design_resolver.d.ts +77 -0
  92. package/dist/design/yujin_design_resolver.d.ts.map +1 -0
  93. package/dist/design/yujin_design_resolver.js +113 -0
  94. package/dist/design/yujin_design_resolver.js.map +1 -0
  95. package/dist/docs/doctrine/default-design-system.md +120 -0
  96. package/dist/docs/doctrine/language-sovereignty.md +143 -0
  97. package/dist/docs/doctrine/testing-policy.md +211 -0
  98. package/dist/nac3/approval_queue.d.ts +8 -0
  99. package/dist/nac3/approval_queue.d.ts.map +1 -1
  100. package/dist/nac3/approval_queue.js.map +1 -1
  101. package/dist/nac3/internal_manifest.d.ts.map +1 -1
  102. package/dist/nac3/internal_manifest.js +178 -0
  103. package/dist/nac3/internal_manifest.js.map +1 -1
  104. package/dist/office/excel.d.ts +22 -0
  105. package/dist/office/excel.d.ts.map +1 -1
  106. package/dist/office/excel.js +82 -0
  107. package/dist/office/excel.js.map +1 -1
  108. package/dist/qa/brain_matrix/fixtures/scenario_a11y_focus_after_open.json +22 -0
  109. package/dist/qa/brain_matrix/fixtures/scenario_a11y_label_unlabeled_button.json +26 -0
  110. package/dist/qa/brain_matrix/fixtures/scenario_agent_director_consults_workflow_before_dispatch.json +42 -0
  111. package/dist/qa/brain_matrix/fixtures/scenario_analyst_extracts_then_returns.json +28 -0
  112. package/dist/qa/brain_matrix/fixtures/scenario_coder_consults_nac_spec_before_writing.json +28 -0
  113. package/dist/qa/brain_matrix/fixtures/scenario_default_design_system_override_shadcn.json +45 -0
  114. package/dist/qa/brain_matrix/fixtures/scenario_default_design_system_use_card_template.json +44 -0
  115. package/dist/qa/brain_matrix/fixtures/scenario_director_delegates_to_analyst.json +26 -0
  116. package/dist/qa/brain_matrix/fixtures/scenario_director_no_self_delegation.json +20 -0
  117. package/dist/qa/brain_matrix/fixtures/scenario_director_terminal_done_marker.json +19 -0
  118. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_default_design_system.json +50 -0
  119. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_language_sovereignty.json +53 -0
  120. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_testing_policy.json +55 -0
  121. package/dist/qa/brain_matrix/fixtures/scenario_language_sovereignty_not_conducive_spa_python.json +61 -0
  122. package/dist/qa/brain_matrix/fixtures/scenario_language_sovereignty_user_picks_python.json +48 -0
  123. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_destructive_pauses_for_r8.json +42 -0
  124. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_happy_path_writes_pizarron.json +76 -0
  125. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_network_timeout_graceful.json +41 -0
  126. package/dist/qa/brain_matrix/fixtures/scenario_no_hardcoded_color_use_token.json +47 -0
  127. package/dist/qa/brain_matrix/fixtures/scenario_office_excel_update_cell_picks_right_verb.json +26 -0
  128. package/dist/qa/brain_matrix/fixtures/scenario_scaffolder_destructive_pauses_for_approval.json +23 -0
  129. package/dist/qa/brain_matrix/fixtures/scenario_sumie_icon_pick_from_catalog.json +56 -0
  130. package/dist/qa/brain_matrix/fixtures/scenario_tester_uses_shell_exec_only.json +27 -0
  131. package/dist/version.d.ts +1 -1
  132. package/dist/version.js +1 -1
  133. package/dist/workflow/graph.d.ts +59 -0
  134. package/dist/workflow/graph.d.ts.map +1 -0
  135. package/dist/workflow/graph.js +137 -0
  136. package/dist/workflow/graph.js.map +1 -0
  137. package/dist/workflow/state.d.ts +34 -0
  138. package/dist/workflow/state.d.ts.map +1 -1
  139. package/dist/workflow/state.js.map +1 -1
  140. package/docs/doctrine/default-design-system.md +120 -0
  141. package/docs/doctrine/language-sovereignty.md +143 -0
  142. package/docs/doctrine/testing-policy.md +211 -0
  143. package/package.json +102 -100
  144. package/src/i18n/catalogs/ar.json +20 -1
  145. package/src/i18n/catalogs/de.json +20 -1
  146. package/src/i18n/catalogs/en.json +20 -21
  147. package/src/i18n/catalogs/es.json +20 -21
  148. package/src/i18n/catalogs/fr.json +20 -1
  149. package/src/i18n/catalogs/hi.json +20 -1
  150. package/src/i18n/catalogs/it.json +20 -1
  151. package/src/i18n/catalogs/ja.json +20 -1
  152. package/src/i18n/catalogs/pt.json +20 -1
  153. package/src/i18n/catalogs/zh.json +20 -1
  154. package/templates/sumi-context.template.md +57 -0
@@ -0,0 +1,51 @@
1
+ import { buildIterativeLlmStep } from './iterative_step.js';
2
+ import { delegateToAgent } from './delegate.js';
3
+ export function buildAgentStepFactory(opts) {
4
+ return (def, trigger_reason) => {
5
+ /* Wire the delegate callback only when a runtime is provided.
6
+ * Without a runtime, yujin.agent.delegate falls through to the
7
+ * runNac3Invoke path (which the chat server may handle via a
8
+ * server-side handler, or which simply 404s). */
9
+ let delegate;
10
+ if (opts.runtime) {
11
+ const runtime = opts.runtime;
12
+ const bridgeRoot = opts.bridge_root;
13
+ delegate = async (to_slug, payload) => {
14
+ const r = await delegateToAgent({
15
+ from_slug: def.slug,
16
+ to_slug,
17
+ payload,
18
+ tokens_used: Math.ceil(payload.length / 4),
19
+ root: bridgeRoot,
20
+ runtime,
21
+ });
22
+ return {
23
+ ok: r.ok,
24
+ target_slug: r.target_slug,
25
+ run_status: r.run_status,
26
+ last_reply: r.last_reply,
27
+ tokens_in: r.tokens_in,
28
+ tokens_out: r.tokens_out,
29
+ error: r.error,
30
+ };
31
+ };
32
+ }
33
+ return buildIterativeLlmStep({
34
+ def,
35
+ claude: opts.claude,
36
+ runNac3Invoke: opts.runNac3Invoke,
37
+ project_root: opts.project_root,
38
+ project_name: opts.project_name,
39
+ forge_version: opts.forge_version,
40
+ trigger_reason,
41
+ graph_snapshot_section: opts.graph_snapshot_section,
42
+ workflow_section: opts.workflow_section,
43
+ nac3_ctx: opts.nac3_ctx,
44
+ legacy_run: opts.legacy_run,
45
+ delegate,
46
+ conversation_id: opts.conversation_id,
47
+ conversation_root: opts.conversation_root,
48
+ });
49
+ };
50
+ }
51
+ //# sourceMappingURL=real_step_factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"real_step_factory.js","sourceRoot":"","sources":["../../src/agents/real_step_factory.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,qBAAqB,EAAmB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAqDhD,MAAM,UAAU,qBAAqB,CAAC,IAA0B;IAC9D,OAAO,CAAC,GAAoB,EAAE,cAAsB,EAAU,EAAE;QAC9D;;;yDAGiD;QACjD,IAAI,QAAgC,CAAC;QACrC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,QAAQ,GAAG,KAAK,EAAE,OAAe,EAAE,OAAe,EAAE,EAAE;gBACpD,MAAM,CAAC,GAAG,MAAM,eAAe,CAAC;oBAC9B,SAAS,EAAI,GAAG,CAAC,IAAI;oBACrB,OAAO;oBACP,OAAO;oBACP,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC1C,IAAI,EAAS,UAAU;oBACvB,OAAO;iBACR,CAAC,CAAC;gBACH,OAAO;oBACL,EAAE,EAAY,CAAC,CAAC,EAAE;oBAClB,WAAW,EAAG,CAAC,CAAC,WAAW;oBAC3B,UAAU,EAAI,CAAC,CAAC,UAAU;oBAC1B,UAAU,EAAI,CAAC,CAAC,UAAU;oBAC1B,SAAS,EAAK,CAAC,CAAC,SAAS;oBACzB,UAAU,EAAI,CAAC,CAAC,UAAU;oBAC1B,KAAK,EAAS,CAAC,CAAC,KAAK;iBACtB,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,qBAAqB,CAAC;YAC3B,GAAG;YACH,MAAM,EAAkB,IAAI,CAAC,MAAM;YACnC,aAAa,EAAW,IAAI,CAAC,aAAa;YAC1C,YAAY,EAAY,IAAI,CAAC,YAAY;YACzC,YAAY,EAAY,IAAI,CAAC,YAAY;YACzC,aAAa,EAAW,IAAI,CAAC,aAAa;YAC1C,cAAc;YACd,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,gBAAgB,EAAQ,IAAI,CAAC,gBAAgB;YAC7C,QAAQ,EAAgB,IAAI,CAAC,QAAQ;YACrC,UAAU,EAAc,IAAI,CAAC,UAAU;YACvC,QAAQ;YACR,eAAe,EAAS,IAAI,CAAC,eAAe;YAC5C,iBAAiB,EAAO,IAAI,CAAC,iBAAiB;SAC/C,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -46,6 +46,12 @@ export interface StepResult {
46
46
  rejected_approval?: boolean;
47
47
  /** True iff the step says "I am done, stop looping". */
48
48
  done?: boolean;
49
+ /** Director sprint slice 15c -- set when one of the nac3_invoke
50
+ * tool results carried `nac3_panel_approval_required:true`. The
51
+ * runner records it in the AgentRun so the panel / CLI can
52
+ * surface "waiting for user". Resumption happens through
53
+ * /api/agent/approve (slice 10), not by re-entering this run. */
54
+ pending_approval?: boolean;
49
55
  }
50
56
  export type StepFn = (state: RunState) => Promise<StepResult>;
51
57
  export interface RunAgentOptions {
@@ -71,6 +77,14 @@ export interface RunAgentOptions {
71
77
  /** Persist the resulting AgentRun via the store. Default true.
72
78
  * Tests pass false to keep the filesystem clean. */
73
79
  persist?: boolean;
80
+ /** Director sprint phase II, slice 11 -- the project graph
81
+ * snapshot section the LLM step will splice into the agent's
82
+ * system prompt. The runner does NOT build the section itself
83
+ * to keep this layer agnostic; the caller (chat server / CLI)
84
+ * builds it via buildGraphSnapshotSection + filterSnapshotForRole
85
+ * and hands the rendered text in. Empty string = no panorama
86
+ * (graceful no-op). */
87
+ graph_snapshot_section?: string;
74
88
  }
75
89
  /** Run one agent through its lifecycle. */
76
90
  export declare function runAgent(def: AgentDefinition, opts: RunAgentOptions): Promise<AgentRun>;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI9F,iEAAiE;AACjE,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB;+CAC2C;IAC3C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,mCAAmC;AACnC,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;+BAE2B;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wDAAwD;IACxD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE9D,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB;wDACoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb;;gCAE4B;IAC5B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;sEACkE;IAClE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;mDAC+C;IAC/C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;wDAEoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;yDACqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAqBD,2CAA2C;AAC3C,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,QAAQ,CAAC,CAkInB;AAID,iBAAS,YAAY,CAAC,GAAG,EAAE,QAAQ;;;;;;;;;;;;EAclC;AAGD,eAAO,MAAM,WAAW;;CAAmB,CAAC"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI9F,iEAAiE;AACjE,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB;+CAC2C;IAC3C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,mCAAmC;AACnC,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;+BAE2B;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wDAAwD;IACxD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;sEAIkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE9D,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB;wDACoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb;;gCAE4B;IAC5B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;sEACkE;IAClE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;mDAC+C;IAC/C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;wDAEoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;yDACqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;4BAMwB;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAqBD,2CAA2C;AAC3C,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,QAAQ,CAAC,CA2InB;AAID,iBAAS,YAAY,CAAC,GAAG,EAAE,QAAQ;;;;;;;;;;;;EAclC;AAGD,eAAO,MAAM,WAAW;;CAAmB,CAAC"}
@@ -106,7 +106,16 @@ export async function runAgent(def, opts) {
106
106
  }
107
107
  /* Step says done */
108
108
  if (result.done) {
109
- finalStatus = 'succeeded';
109
+ /* Director closure pendiente 3 -- when the step surfaces
110
+ * pending_approval, the run is concluded but the agent
111
+ * is WAITING for the user to resolve via the R8 modal /
112
+ * POST /api/agent/approve. The status distinguishes this
113
+ * from a clean succeeded run so the panel + CLI can show
114
+ * a different visual state. */
115
+ finalStatus = result.pending_approval ? 'paused_for_approval' : 'succeeded';
116
+ if (result.pending_approval) {
117
+ killReason = 'pending R8 approval -- resolve via /api/agent/approve';
118
+ }
110
119
  break;
111
120
  }
112
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agents/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import type { AgentRun, AgentRunStatus } from './types.js';
2
+ export type RuntimeEvent = {
3
+ kind: 'agent_run_started';
4
+ slug: string;
5
+ trigger_reason: string;
6
+ at: number;
7
+ project_slug?: string;
8
+ } | {
9
+ kind: 'agent_run_finished';
10
+ slug: string;
11
+ run_id: string;
12
+ status: AgentRunStatus;
13
+ at: number;
14
+ project_slug?: string;
15
+ } | {
16
+ kind: 'agent_run_skipped';
17
+ slug: string;
18
+ reason: string;
19
+ at: number;
20
+ project_slug?: string;
21
+ } | {
22
+ kind: 'bridge_drain';
23
+ slug: string;
24
+ message_count: number;
25
+ at: number;
26
+ project_slug?: string;
27
+ }
28
+ /** Director closure pendiente 5 followup -- emitted by the server
29
+ * /api/agent/approve handler when a pending R8 approval row
30
+ * resolves AND the row carries an agent_slug. The panel uses
31
+ * this to clear the persistent .paused-for-approval marker on
32
+ * the SVG node WITHOUT waiting for a new run to start. */
33
+ | {
34
+ kind: 'agent_run_paused_resolved';
35
+ slug: string;
36
+ trace_id: string;
37
+ decision: 'approved' | 'rejected';
38
+ at: number;
39
+ project_slug?: string;
40
+ }
41
+ /** Slice 2 of N-projects sprint -- emitted when a dispatch hits
42
+ * the global or per-project semaphore and the caller has to
43
+ * wait. The Activity panel surfaces this as a throttle badge
44
+ * so the operator understands why a click did not fire
45
+ * instantly. `cap` is the limit that tripped; `running` is
46
+ * the live counter for that scope at the moment of throttle. */
47
+ | {
48
+ kind: 'agent_run_throttled';
49
+ slug: string;
50
+ project_slug?: string;
51
+ scope: 'global' | 'per_project';
52
+ running: number;
53
+ cap: number;
54
+ at: number;
55
+ } | {
56
+ kind: 'tick';
57
+ at: number;
58
+ };
59
+ /** Slice 1 of N-projects sprint -- dispatch options.
60
+ * project_slug defaults to 'self' (single-project legacy mode).
61
+ * Callers that know the project (CLI, Activity inject endpoint,
62
+ * panel switcher) pass an explicit slug. */
63
+ export interface DispatchOpts {
64
+ project_slug?: string;
65
+ }
66
+ export type RunnerFn = (slug: string, trigger_reason: string, opts?: DispatchOpts) => Promise<AgentRun>;
67
+ export interface RuntimeOpts {
68
+ /** Override ~/.yujin-forge for tests. */
69
+ root?: string;
70
+ /** Override Date.now for deterministic tests. */
71
+ clock?: () => number;
72
+ /** Inject the runner (real or stub). When omitted, falls back
73
+ * to the canonical src/agents/runner.ts (dynamic import to
74
+ * avoid pulling Anthropic deps in tests). */
75
+ runner?: RunnerFn;
76
+ /** Tick cadence in ms. Defaults to 5000ms. */
77
+ tickIntervalMs?: number;
78
+ }
79
+ export interface RuntimeStatus {
80
+ running: boolean;
81
+ tick_interval_ms: number;
82
+ last_tick_at: number | null;
83
+ /** Slice 2 of N-projects sprint -- live concurrency snapshot. */
84
+ concurrency: {
85
+ /** Total runs in-flight (sum across all projects). */
86
+ global_running: number;
87
+ /** Cap for global runs (config: agent.runtime.max_concurrent_runs_global). */
88
+ global_max: number;
89
+ /** Per-project running counters keyed by project_slug. */
90
+ per_project_running: Record<string, number>;
91
+ /** Cap per project (config: agent.runtime.max_concurrent_runs_per_project). */
92
+ per_project_max: number;
93
+ };
94
+ }
95
+ export interface Runtime {
96
+ start(): void;
97
+ stop(): Promise<void>;
98
+ status(): RuntimeStatus;
99
+ dispatchAgent(slug: string, trigger_reason: string, opts?: DispatchOpts): Promise<AgentRun>;
100
+ tickNow(): Promise<void>;
101
+ on(event: 'event', cb: (e: RuntimeEvent) => void): void;
102
+ off(event: 'event', cb: (e: RuntimeEvent) => void): void;
103
+ /** Director sprint slice 5 -- the agent-store root the runtime
104
+ * was constructed with. The panel endpoints need this so they
105
+ * can list the same definitions the runtime sees. */
106
+ getAgentsRoot(): string;
107
+ /** Director closure pendiente 5 followup -- the
108
+ * /api/agent/approve handler emits agent_run_paused_resolved
109
+ * via this method when a pending row carrying agent_slug
110
+ * resolves. The SSE bus forwards it to the panel SVG which
111
+ * clears the amber dashed marker. */
112
+ emitExternal(e: RuntimeEvent): void;
113
+ }
114
+ export declare function createRuntime(opts?: RuntimeOpts): Runtime;
115
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/agents/runtime.ts"],"names":[],"mappings":"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"}