@bolloon/bolloon-agent 0.4.33 → 0.5.1

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 (214) hide show
  1. package/dist/agents/contacts/chain.js +27 -7
  2. package/dist/agents/execution-supervisor.js +580 -40
  3. package/dist/agents/external-events.js +35 -6
  4. package/dist/agents/gateway-group.js +100 -12
  5. package/dist/agents/goal-criteria.js +10 -3
  6. package/dist/agents/goal-flywheel/block-executor.js +346 -0
  7. package/dist/agents/goal-flywheel/continuation-decision.js +592 -0
  8. package/dist/agents/goal-flywheel/goal-change.js +754 -0
  9. package/dist/agents/goal-flywheel/index.js +26 -0
  10. package/dist/agents/goal-flywheel/memory-layers.js +227 -0
  11. package/dist/agents/goal-flywheel/run-closure.js +809 -0
  12. package/dist/agents/goal-flywheel/skill-candidate.js +628 -0
  13. package/dist/agents/goal-flywheel/types.js +329 -0
  14. package/dist/agents/goal-flywheel/wiring/change.js +288 -0
  15. package/dist/agents/goal-flywheel/wiring/closure.js +697 -0
  16. package/dist/agents/goal-flywheel/wiring/continuation.js +432 -0
  17. package/dist/agents/goal-flywheel/wiring/contract.js +270 -0
  18. package/dist/agents/goal-flywheel/wiring/index.js +26 -0
  19. package/dist/agents/goal-flywheel/wiring/monitor.js +254 -0
  20. package/dist/agents/goal-flywheel/wiring/seams.js +592 -0
  21. package/dist/agents/goal-flywheel/work-contract.js +478 -0
  22. package/dist/agents/goal-flywheel/work-monitor.js +488 -0
  23. package/dist/agents/goal-flywheel-wiring.js +1870 -0
  24. package/dist/agents/goal-state-reducer.js +406 -0
  25. package/dist/agents/goal-store.js +35 -1
  26. package/dist/agents/mobile-flywheel-view.js +144 -0
  27. package/dist/agents/mobile-task-actions-verify.js +74 -0
  28. package/dist/agents/mobile-task-actions.js +178 -0
  29. package/dist/agents/mobile-task-views.js +199 -0
  30. package/dist/agents/model-policy.js +651 -0
  31. package/dist/agents/network-pulse.js +304 -18
  32. package/dist/agents/pi-sdk-tools.js +84 -33
  33. package/dist/agents/pi-sdk.js +157 -42
  34. package/dist/agents/run-store.js +71 -5
  35. package/dist/agents/skill-readiness.js +52 -10
  36. package/dist/agents/subagent-manager.js +209 -3
  37. package/dist/agents/task/task-runner.js +17 -4
  38. package/dist/agents/task-group.js +8 -51
  39. package/dist/agents/task-public-text.js +89 -0
  40. package/dist/agents/workflow-pivot-loop.js +19 -12
  41. package/dist/cli/clipboard.js +65 -0
  42. package/dist/cli/commands/index.js +1 -0
  43. package/dist/cli/commands/tasks.js +350 -2
  44. package/dist/cli/identity-command.js +177 -0
  45. package/dist/cli/ink-app.js +145 -17
  46. package/dist/cli/log-gate.js +386 -0
  47. package/dist/cli/mention-data.js +2 -0
  48. package/dist/cli/model-selector.js +538 -0
  49. package/dist/cli/reply-hygiene.js +54 -0
  50. package/dist/cli/setup-wizard.js +757 -69
  51. package/dist/cli/startup-notice.js +160 -0
  52. package/dist/cli/stores.js +22 -1
  53. package/dist/cli/theme.js +49 -0
  54. package/dist/cli/tui-select.js +970 -0
  55. package/dist/cli/update-commands.js +150 -24
  56. package/dist/cli-entry.js +137 -20
  57. package/dist/electron-build/agents/contacts/chain.js +26 -6
  58. package/dist/electron-build/agents/contacts/chain.js.map +1 -1
  59. package/dist/electron-build/agents/execution-supervisor.js +578 -38
  60. package/dist/electron-build/agents/execution-supervisor.js.map +1 -1
  61. package/dist/electron-build/agents/external-events.js +34 -5
  62. package/dist/electron-build/agents/external-events.js.map +1 -1
  63. package/dist/electron-build/agents/goal-criteria.js +10 -3
  64. package/dist/electron-build/agents/goal-criteria.js.map +1 -1
  65. package/dist/electron-build/agents/goal-flywheel/continuation-decision.js +598 -0
  66. package/dist/electron-build/agents/goal-flywheel/continuation-decision.js.map +1 -0
  67. package/dist/electron-build/agents/goal-flywheel/goal-change.js +773 -0
  68. package/dist/electron-build/agents/goal-flywheel/goal-change.js.map +1 -0
  69. package/dist/electron-build/agents/goal-flywheel/memory-layers.js +269 -0
  70. package/dist/electron-build/agents/goal-flywheel/memory-layers.js.map +1 -0
  71. package/dist/electron-build/agents/goal-flywheel/run-closure.js +818 -0
  72. package/dist/electron-build/agents/goal-flywheel/run-closure.js.map +1 -0
  73. package/dist/electron-build/agents/goal-flywheel/skill-candidate.js +642 -0
  74. package/dist/electron-build/agents/goal-flywheel/skill-candidate.js.map +1 -0
  75. package/dist/electron-build/agents/goal-flywheel/types.js +333 -0
  76. package/dist/electron-build/agents/goal-flywheel/types.js.map +1 -0
  77. package/dist/electron-build/agents/goal-flywheel/wiring/change.js +294 -0
  78. package/dist/electron-build/agents/goal-flywheel/wiring/change.js.map +1 -0
  79. package/dist/electron-build/agents/goal-flywheel/wiring/closure.js +742 -0
  80. package/dist/electron-build/agents/goal-flywheel/wiring/closure.js.map +1 -0
  81. package/dist/electron-build/agents/goal-flywheel/wiring/continuation.js +444 -0
  82. package/dist/electron-build/agents/goal-flywheel/wiring/continuation.js.map +1 -0
  83. package/dist/electron-build/agents/goal-flywheel/wiring/contract.js +279 -0
  84. package/dist/electron-build/agents/goal-flywheel/wiring/contract.js.map +1 -0
  85. package/dist/electron-build/agents/goal-flywheel/wiring/index.js +111 -0
  86. package/dist/electron-build/agents/goal-flywheel/wiring/index.js.map +1 -0
  87. package/dist/electron-build/agents/goal-flywheel/wiring/monitor.js +264 -0
  88. package/dist/electron-build/agents/goal-flywheel/wiring/monitor.js.map +1 -0
  89. package/dist/electron-build/agents/goal-flywheel/wiring/seams.js +612 -0
  90. package/dist/electron-build/agents/goal-flywheel/wiring/seams.js.map +1 -0
  91. package/dist/electron-build/agents/goal-flywheel/work-contract.js +488 -0
  92. package/dist/electron-build/agents/goal-flywheel/work-contract.js.map +1 -0
  93. package/dist/electron-build/agents/goal-flywheel/work-monitor.js +501 -0
  94. package/dist/electron-build/agents/goal-flywheel/work-monitor.js.map +1 -0
  95. package/dist/electron-build/agents/goal-flywheel-wiring.js +1962 -0
  96. package/dist/electron-build/agents/goal-flywheel-wiring.js.map +1 -0
  97. package/dist/electron-build/agents/goal-state-reducer.js +414 -0
  98. package/dist/electron-build/agents/goal-state-reducer.js.map +1 -0
  99. package/dist/electron-build/agents/goal-store.js +35 -1
  100. package/dist/electron-build/agents/goal-store.js.map +1 -1
  101. package/dist/electron-build/agents/model-policy.js +706 -0
  102. package/dist/electron-build/agents/model-policy.js.map +1 -0
  103. package/dist/electron-build/agents/network-pulse.js +307 -19
  104. package/dist/electron-build/agents/network-pulse.js.map +1 -1
  105. package/dist/electron-build/agents/pi-sdk-tools.js +84 -33
  106. package/dist/electron-build/agents/pi-sdk-tools.js.map +1 -1
  107. package/dist/electron-build/agents/pi-sdk-types.js.map +1 -1
  108. package/dist/electron-build/agents/pi-sdk.js +156 -41
  109. package/dist/electron-build/agents/pi-sdk.js.map +1 -1
  110. package/dist/electron-build/agents/run-store.js +75 -6
  111. package/dist/electron-build/agents/run-store.js.map +1 -1
  112. package/dist/electron-build/agents/skill-readiness.js +52 -9
  113. package/dist/electron-build/agents/skill-readiness.js.map +1 -1
  114. package/dist/electron-build/agents/task/task-runner.js +16 -3
  115. package/dist/electron-build/agents/task/task-runner.js.map +1 -1
  116. package/dist/electron-build/agents/workflow-pivot-loop.js +19 -12
  117. package/dist/electron-build/agents/workflow-pivot-loop.js.map +1 -1
  118. package/dist/electron-build/llm/config-store.js +146 -6
  119. package/dist/electron-build/llm/config-store.js.map +1 -1
  120. package/dist/electron-build/llm/connection-probe.js +764 -0
  121. package/dist/electron-build/llm/connection-probe.js.map +1 -0
  122. package/dist/electron-build/llm/custom-provider-store.js +272 -0
  123. package/dist/electron-build/llm/custom-provider-store.js.map +1 -0
  124. package/dist/electron-build/llm/data/provider-catalog-baked.js +23 -0
  125. package/dist/electron-build/llm/data/provider-catalog-baked.js.map +1 -0
  126. package/dist/electron-build/llm/model-catalog.js +778 -0
  127. package/dist/electron-build/llm/model-catalog.js.map +1 -0
  128. package/dist/electron-build/llm/model-discovery.js +1202 -0
  129. package/dist/electron-build/llm/model-discovery.js.map +1 -0
  130. package/dist/electron-build/llm/model-selection.js +1315 -0
  131. package/dist/electron-build/llm/model-selection.js.map +1 -0
  132. package/dist/electron-build/llm/pi-ai.js +70 -11
  133. package/dist/electron-build/llm/pi-ai.js.map +1 -1
  134. package/dist/electron-build/llm/provider-catalog.js +969 -0
  135. package/dist/electron-build/llm/provider-catalog.js.map +1 -0
  136. package/dist/electron-build/llm/provider-registry.js +950 -0
  137. package/dist/electron-build/llm/provider-registry.js.map +1 -0
  138. package/dist/electron-build/llm/tool-name.js +266 -0
  139. package/dist/electron-build/llm/tool-name.js.map +1 -0
  140. package/dist/electron-build/orbitdb/cid-database.js +83 -17
  141. package/dist/electron-build/orbitdb/cid-database.js.map +1 -1
  142. package/dist/electron-build/orbitdb/ipfs-node.js +31 -2
  143. package/dist/electron-build/orbitdb/ipfs-node.js.map +1 -1
  144. package/dist/electron-build/utils/dual-source-facts.js +236 -0
  145. package/dist/electron-build/utils/dual-source-facts.js.map +1 -0
  146. package/dist/electron-build/utils/dual-source.js +347 -0
  147. package/dist/electron-build/utils/dual-source.js.map +1 -0
  148. package/dist/electron-build/utils/update-manager.js +328 -104
  149. package/dist/electron-build/utils/update-manager.js.map +1 -1
  150. package/dist/electron-build/utils/update-state.js +9 -11
  151. package/dist/electron-build/utils/update-state.js.map +1 -1
  152. package/dist/electron-build/utils/version-identity.js +193 -0
  153. package/dist/electron-build/utils/version-identity.js.map +1 -0
  154. package/dist/electron-build/utils/version-info.js +57 -31
  155. package/dist/electron-build/utils/version-info.js.map +1 -1
  156. package/dist/index.js +385 -108
  157. package/dist/ios/bolloon-web.json +10 -0
  158. package/dist/ios/chain-explorer.js +617 -0
  159. package/dist/ios/explorer.html +163 -0
  160. package/dist/ios/index.html +96 -0
  161. package/dist/ios/mobile-agent.js +2 -2
  162. package/dist/ios/mobile-contacts.js +362 -0
  163. package/dist/ios/mobile-core.js +3102 -310
  164. package/dist/ios/mobile-privacy.js +185 -0
  165. package/dist/ios/mobile-tasks.js +339 -0
  166. package/dist/ios/mobile-update.js +1442 -0
  167. package/dist/ios/mobile.css +19 -0
  168. package/dist/ios/mobile.html +96 -0
  169. package/dist/ios/mobile.js +1013 -41
  170. package/dist/ios/routes-chain-index.js +108 -0
  171. package/dist/ios/routes-contacts.js +420 -0
  172. package/dist/ios/routes-llm-config.js +344 -52
  173. package/dist/ios/routes-mobile-tasks.js +353 -0
  174. package/dist/ios/routes-onchain-trade.js +99 -0
  175. package/dist/ios/routes-x402-info.js +1 -0
  176. package/dist/ios/server.js +921 -0
  177. package/dist/ios/sw.js +1 -1
  178. package/dist/ios/task-frame-server.js +211 -0
  179. package/dist/llm/config-store.js +146 -6
  180. package/dist/llm/connection-probe.js +744 -0
  181. package/dist/llm/custom-provider-store.js +224 -0
  182. package/dist/llm/data/provider-catalog-baked.js +19 -0
  183. package/dist/llm/model-catalog.js +717 -0
  184. package/dist/llm/model-discovery.js +1137 -0
  185. package/dist/llm/model-selection.js +1241 -0
  186. package/dist/llm/pi-ai.js +70 -11
  187. package/dist/llm/provider-catalog.js +898 -0
  188. package/dist/llm/provider-registry.js +917 -0
  189. package/dist/llm/tool-name.js +220 -0
  190. package/dist/orbitdb/cid-database.js +81 -16
  191. package/dist/orbitdb/ipfs-node.js +31 -2
  192. package/dist/setup/onboard.js +34 -8
  193. package/dist/utils/dual-source-facts.js +223 -0
  194. package/dist/utils/dual-source.js +297 -0
  195. package/dist/utils/update-cli.js +16 -21
  196. package/dist/utils/update-health.js +35 -5
  197. package/dist/utils/update-manager.js +325 -96
  198. package/dist/utils/update-state.js +13 -10
  199. package/dist/utils/version-identity.js +176 -0
  200. package/dist/utils/version-info.js +27 -22
  201. package/dist/web/bolloon-web.json +10 -0
  202. package/dist/web/mobile-contacts.js +44 -11
  203. package/dist/web/mobile-core.js +2901 -580
  204. package/dist/web/mobile-tasks.js +339 -0
  205. package/dist/web/mobile-update.js +1442 -0
  206. package/dist/web/mobile.css +19 -0
  207. package/dist/web/mobile.html +64 -0
  208. package/dist/web/mobile.js +838 -35
  209. package/dist/web/routes-llm-config.js +344 -52
  210. package/dist/web/routes-mobile-tasks.js +353 -0
  211. package/dist/web/server.js +163 -4
  212. package/dist/web/sw.js +1 -1
  213. package/package.json +3 -1
  214. package/scripts/build-web.ts +36 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"closure.js","sourceRoot":"","sources":["../../../../../src/agents/goal-flywheel/wiring/closure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,444 @@
1
+ "use strict";
2
+ /**
3
+ * wiring/continuation.ts — 接缝 ①「这个 Goal 现在该不该开下一轮, 为什么?」 (**M1 独占**)
4
+ *
5
+ * 归属: `seams.ts` 的 `SEAM_ROSTER` 里 `id: 'continuation'`, `stage: 'M1'`。
6
+ * M1 只准改本文件 + 本接缝声明的 `wiringPoints` (`goal-flywheel/continuation-decision.ts`)。
7
+ *
8
+ * ## 这条接缝钉住的冻结规则
9
+ *
10
+ * **只有 Supervisor 能决定是否继续** (规则 ①)。
11
+ * 钉法不是文档, 是**调用方必须显式声明身份**: 接缝的入口 `preflight()` 要一个
12
+ * `caller` 字段, 非 `supervisor` 一律拒绝。于是"Runner 自己觉得还能再跑一轮"这种
13
+ * 绕过在类型上就写不出来, 在运行时会拿到一条结构化拒绝。
14
+ *
15
+ * ## M1 的实质: 自适应节奏 —— 固定轮次降级为**安全上限**
16
+ *
17
+ * 接缝不再是把注入的结论原样转出去, 它自己把 P0 编起来 (P0 = 本阶段自己的实现模块
18
+ * `../continuation-decision.js`, 见 `seams.ts` 头部的接缝形态第 ③ 条):
19
+ *
20
+ * ```
21
+ * 事实 (goal + run + progress + noProgressStreak)
22
+ * → decideContinuation (节奏: 有没有**新的可核验证据**)
23
+ * → applyHardLimits (三类上限: 只能收紧, 永不放开)
24
+ * → isRunnable (最后一道路闸)
25
+ * → 归因: 是「进展」在说话, 还是「哪一条上限」在说话
26
+ * ```
27
+ *
28
+ * 三类安全上限 (设计稿 §4, 字面登记在 `SAFETY_CAPS`): **单 Run 时间 · 单 Goal 预算 ·
29
+ * 无进展熔断阈值**。它们只回答"什么时候必须停", **不回答"什么时候继续"**。
30
+ * 每一条都交给 P0 去执行 (接缝不自己数任何计数): 时间与熔断阈值 P0 直接吃 `hardLimits`;
31
+ * 「单 Goal 预算」P0 走的是 Goal 自己的预算口径, 所以这里把降级来的上限**投影**成那个口径
32
+ * (`factsWithBudgetCap`), 而不是在同一份事实上再判一遍。
33
+ * 旧配置里的固定轮次 (`maxRounds` / `maxRetries`) 在 `safetyCapsFrom()` 里被**登记成**
34
+ * 这两条上限 (总 Run 数 / 熔断阈值) —— 于是"第几轮"再也不能自己决定停或不停:
35
+ * 只有上限真的触顶它才说话, 有进展就继续。P0 本身根本不读轮次, 本文件也不读。
36
+ *
37
+ * ## 归因怎么做: 反事实, 不抄一遍逻辑
38
+ *
39
+ * "哪条上限在说话"不是本文件用几个 `if` 重新推一遍 (那就成了两套事实), 而是**拿 P0 自己当判据**:
40
+ * 把某条上限放宽后**结论变了**, 说明是它在决定 (`bindingCaps`)。放宽了结论也不变 = 这次停跟它无关
41
+ * (是"没有继续的资格"/终态/等人), 于是不会被错记成"被上限拦住"。
42
+ * 上限**没定义** (例如 `maxGoalBudget === null`) 也算它在说话 —— `applyHardLimits` 会收紧成交人,
43
+ * 而放宽后那条收紧理由会消失, 反事实照样抓得到。
44
+ *
45
+ * ## 事实从哪来 (接缝自己不读盘)
46
+ *
47
+ * · `deps.readFacts` (规范口径): **只读事实, 不判定** —— 判定由本接缝用 P0 做, 全量决策随结果返回;
48
+ * · `deps.decide` (旧口径): 接线层注入的整条判定结论。事实拿不到时的兜底, 只能核验
49
+ * **无进展熔断**这一条上限 (其余上限没有事实就没法核验 → 如实标 `unattributableStop`, 不假装验过;
50
+ * 自称的上限若与阈值对不上 → **真拒**, 见 `judgeInjectedOutcome`)。
51
+ *
52
+ * 本文件**不读盘、不读钟**: `now` 由调用方注入。
53
+ */
54
+ Object.defineProperty(exports, "__esModule", { value: true });
55
+ exports.SEAM_ROUNDS_AS_RHYTHM = exports.SEAM_RHYTHM_REQUIRED = exports.RHYTHM_BASIS_TEXT = exports.SEAM_CAP_DEFAULTS = exports.SAFETY_CAP_TEXT = exports.SAFETY_CAPS = exports.CONTINUATION_SEAM_ID = void 0;
56
+ exports.safetyCapsFrom = safetyCapsFrom;
57
+ exports.rhythmicDecision = rhythmicDecision;
58
+ exports.bindingCaps = bindingCaps;
59
+ exports.planRhythm = planRhythm;
60
+ exports.judgeLegacyStop = judgeLegacyStop;
61
+ exports.judgeInjectedOutcome = judgeInjectedOutcome;
62
+ exports.createContinuationSeam = createContinuationSeam;
63
+ exports.scanContinuationSeamRhythm = scanContinuationSeamRhythm;
64
+ const continuation_decision_js_1 = require("../continuation-decision.js");
65
+ const seams_js_1 = require("./seams.js");
66
+ exports.CONTINUATION_SEAM_ID = 'continuation';
67
+ // ============================================================================
68
+ // §1. 三类安全上限: 固定轮次在这里被降级
69
+ // ============================================================================
70
+ /** 三类安全上限的机器名 (设计稿 §4 的"保留三类硬底线") */
71
+ exports.SAFETY_CAPS = ['max_run_duration', 'goal_budget', 'no_progress_breaker'];
72
+ exports.SAFETY_CAP_TEXT = {
73
+ max_run_duration: '单 Run 时间上限',
74
+ goal_budget: '单 Goal 预算上限 (总 Run 数)',
75
+ no_progress_breaker: '无进展熔断阈值',
76
+ };
77
+ /** 接缝自己的上限默认值 (与接线层 M0 同一口径; 接缝不 import 接线层, 所以在这里登记一份) */
78
+ exports.SEAM_CAP_DEFAULTS = {
79
+ maxRunDurationMs: 30 * 60_000,
80
+ maxGoalBudget: 50,
81
+ noProgressCircuitBreaker: 3,
82
+ };
83
+ const isCount = (n) => typeof n === 'number' && Number.isInteger(n) && n >= 1;
84
+ const isZeroOrCount = (n) => typeof n === 'number' && Number.isInteger(n) && n >= 0;
85
+ const isPosFinite = (n) => typeof n === 'number' && Number.isFinite(n) && n > 0;
86
+ /**
87
+ * 旧配置 → 三类安全上限。**这是"固定轮次降级"的唯一实现处**。
88
+ *
89
+ * 降级不是"少看一眼", 而是**换一件事管**: 轮次从"继续/停止的依据"变成"总 Run 数的上限"。
90
+ * 于是旧配置的语义被保住 (跑不到第 N 轮以上), 但节奏改由进展决定。
91
+ */
92
+ function safetyCapsFrom(config = {}) {
93
+ let maxRunDurationMs = exports.SEAM_CAP_DEFAULTS.maxRunDurationMs;
94
+ let maxGoalBudget = exports.SEAM_CAP_DEFAULTS.maxGoalBudget;
95
+ let noProgressCircuitBreaker = exports.SEAM_CAP_DEFAULTS.noProgressCircuitBreaker;
96
+ // 旧的固定轮次 → 单 Goal 预算上限 (Run 数上限)
97
+ if (isCount(config.maxRounds))
98
+ maxGoalBudget = config.maxRounds;
99
+ // 运输层的 maxRetries → 无进展熔断阈值 (与 M0 `hardLimitsFor` 同口径: 阈值 = maxRetries + 1)
100
+ if (isZeroOrCount(config.maxRetries))
101
+ noProgressCircuitBreaker = Math.max(1, config.maxRetries + 1);
102
+ if (isPosFinite(config.maxRunDurationMs))
103
+ maxRunDurationMs = config.maxRunDurationMs;
104
+ const explicit = config.limits;
105
+ if (explicit) {
106
+ // 只有 `undefined` 算"没说"; `null` 是显式语义 (未设上限 → applyHardLimits 会收紧成交人), 不许被默认值盖掉
107
+ if (explicit.maxRunDurationMs !== undefined)
108
+ maxRunDurationMs = explicit.maxRunDurationMs;
109
+ if (explicit.maxGoalBudget !== undefined)
110
+ maxGoalBudget = explicit.maxGoalBudget;
111
+ if (explicit.noProgressCircuitBreaker !== undefined)
112
+ noProgressCircuitBreaker = explicit.noProgressCircuitBreaker;
113
+ }
114
+ return { maxRunDurationMs, maxGoalBudget, noProgressCircuitBreaker };
115
+ }
116
+ /** 放宽后的取值: 大到事实上不可能触顶, 但仍是合法上限 (P0 对上限合法性有判据: 正有限数 / >=1 的整数) */
117
+ const RELAXED_LIMIT = Number.MAX_SAFE_INTEGER;
118
+ /** 上限的**事实层来源**: Goal 自带的 `budget` (maxRuns / deadlineMs) 也是「单 Goal 预算上限」 */
119
+ function relaxFactSource(facts, cap) {
120
+ return cap === 'goal_budget' ? { ...facts, goal: { ...facts.goal, budget: undefined } } : facts;
121
+ }
122
+ /** 放宽这一条上限 (其余保持不变) */
123
+ function capsRelaxingOne(caps, cap) {
124
+ const out = { ...caps };
125
+ if (cap === 'max_run_duration')
126
+ out.maxRunDurationMs = RELAXED_LIMIT;
127
+ else if (cap === 'goal_budget')
128
+ out.maxGoalBudget = RELAXED_LIMIT;
129
+ else
130
+ out.noProgressCircuitBreaker = RELAXED_LIMIT;
131
+ return out;
132
+ }
133
+ /**
134
+ * 把「单 Goal 预算上限」用 **P0 听得懂的口径**表达出来, 而不是在接缝里自己数 Run。
135
+ *
136
+ * 为什么不在接缝里数: 轮次数只有 P0 的预算法则会判 (它读 Goal 自带的 `budget.maxRuns` + Run 列表),
137
+ * 接缝再数一遍就是**第二套事实** —— 而且那正是"用轮次当节奏"的老毛病 (本文件的源码判据也不允许)。
138
+ * 所以这里只做一件事: 把降级来的上限投影成 Goal 的预算口径, 判定仍然只有 P0 那一个出口。
139
+ *
140
+ * 优先级 (与 M0 `hardLimitsFor` 同口径: "Goal 自己声明了预算就用它, 否则退回默认上限"):
141
+ * · Goal **声明**了 `budget.maxRuns` → 用它 (人的意图优先于旧配置; 要让上限更严就改 Goal 的预算,
142
+ * 那是人的取舍, 见 P4 规则 2 "扩/改预算不许 Agent 自动批");
143
+ * · Goal 没声明 → 用上限里的 `maxGoalBudget` (旧 maxRounds 降级来的, 或默认 50) —— 它**真的能停**;
144
+ * · `maxGoalBudget === null` (未设上限) → **不投影**: 那种情况由 `applyHardLimits` 收紧成交人。
145
+ */
146
+ function factsWithBudgetCap(facts, caps) {
147
+ const declared = facts.goal.budget?.maxRuns;
148
+ const cap = caps.maxGoalBudget;
149
+ const usable = typeof cap === 'number' && Number.isFinite(cap) && cap > 0 ? cap : undefined;
150
+ const effective = typeof declared === 'number' ? declared : usable;
151
+ if (effective === undefined || effective === declared)
152
+ return facts; // 事实已经表达了这条上限
153
+ return { ...facts, goal: { ...facts.goal, budget: { ...(facts.goal.budget ?? {}), maxRuns: effective } } };
154
+ }
155
+ /** 本接缝的节奏管线: **唯一的决策出口** (纯函数, 同一批事实重放得到同一条决策) */
156
+ function rhythmicDecision(facts, caps) {
157
+ return (0, continuation_decision_js_1.applyHardLimits)((0, continuation_decision_js_1.decideContinuation)({ ...factsWithBudgetCap(facts, caps), hardLimits: caps }), caps);
158
+ }
159
+ /**
160
+ * 决策的**结论投影**: 除 `reason` 之外的一切。
161
+ *
162
+ * 为什么把 `reason` 排除掉: P0 的理由文本里嵌着上限的**真值** (熔断阈值 / 毫秒数 / Run 数),
163
+ * 拿它做比对会把"数字变了"当成"结论变了" —— 于是没触顶的上限也被记成在说话 (实测踩过)。
164
+ * 结论投影只看真正决定行为的字段: decision / state / nextAction / wakeAt / requiredCapability /
165
+ * riskLevel / stopReason / confidence … 上限真的在说话时, 这些里至少有一个会变。
166
+ */
167
+ function verdictOf(d) {
168
+ return JSON.stringify({ ...d, reason: null });
169
+ }
170
+ /**
171
+ * 哪几条安全上限**真的在决定结论** (触顶 + 起决定作用; 触顶但被别条覆盖的不算)。
172
+ *
173
+ * 判据是**反事实**, 不是本文件手算一遍 (手算就是第二套事实):
174
+ * 把这一条上限 (连它的事实层来源) 放宽 → **结论投影变了** ⟹ 是它在说话;
175
+ * 结论没变 ⟹ 这次停跟它无关 (可能压根没触顶, 也可能被更靠前的规则先拦下了)。
176
+ *
177
+ * 于是"上限没定义"也被算成它在说话 (`maxGoalBudget: null` → `applyHardLimits` 收紧成交人;
178
+ * 放宽后那条收紧理由消失, 结论就变了), 而"没有继续的资格"(⑪) 永远不会被错记成"被上限拦住"。
179
+ * 顺序 = P0 的判定顺序 (单 Run 时间 → 单 Goal 预算 → 无进展熔断)。
180
+ */
181
+ function bindingCaps(facts, caps) {
182
+ const base = verdictOf(rhythmicDecision(facts, caps));
183
+ const out = [];
184
+ for (const cap of exports.SAFETY_CAPS) {
185
+ if (verdictOf(rhythmicDecision(relaxFactSource(facts, cap), capsRelaxingOne(caps, cap))) !== base)
186
+ out.push(cap);
187
+ }
188
+ return out;
189
+ }
190
+ exports.RHYTHM_BASIS_TEXT = {
191
+ progress: '有可核验进展',
192
+ delegate: '缺能力该派活',
193
+ wait: '等外部 / 等事件',
194
+ cap: '安全上限触顶',
195
+ human: '没有继续的资格 (交人定夺)',
196
+ terminal: '终态 (完成 / 不可达)',
197
+ };
198
+ function basisOf(d, caps) {
199
+ if (d.decision === 'complete' || d.decision === 'fail')
200
+ return 'terminal';
201
+ if (d.decision === 'wait' || d.decision === 'pause')
202
+ return 'wait';
203
+ if (caps.length > 0)
204
+ return 'cap';
205
+ if (d.decision === 'continue')
206
+ return 'progress';
207
+ if (d.decision === 'delegate')
208
+ return 'delegate';
209
+ return 'human';
210
+ }
211
+ /**
212
+ * 这个 Goal 现在该不该开下一轮 —— **纯函数版** (接缝的 `preflight` 与宿主都可直接用)。
213
+ * 决策只来自 P0; 上限只来自 `safetyCapsFrom` 的降级结果。
214
+ */
215
+ function planRhythm(facts, config = {}) {
216
+ const capsInEffect = safetyCapsFrom(config);
217
+ const decision = rhythmicDecision(facts, capsInEffect);
218
+ const gate = (0, continuation_decision_js_1.isRunnable)(decision, facts.now);
219
+ const caps = bindingCaps(facts, capsInEffect);
220
+ return {
221
+ goalId: facts.goal.goalId,
222
+ decision,
223
+ runnable: gate.runnable,
224
+ decisionReason: decision.reason,
225
+ runnableReason: gate.reason,
226
+ basis: basisOf(decision, caps),
227
+ caps,
228
+ bindingCap: caps[0] ?? null,
229
+ capsInEffect,
230
+ noProgressStreak: facts.noProgressStreak,
231
+ };
232
+ }
233
+ /**
234
+ * 一个**自称停**的旧结论 (例如运输层的"已到最大轮次 → 交人") 该不该被采纳。
235
+ *
236
+ * 规则 (与设计稿 §4 逐条对应):
237
+ * · 上限触顶 / 终态 / 等外部 → 停得住 (上限是安全线, 该停就停);
238
+ * · 有可核验进展且三类上限一条都没触顶 → **推翻旧结论, 继续** (轮次不再是停止依据);
239
+ * · 其余 (没有继续的资格, basis='human') → 照旧停, 理由是"没证据", 不是"第几轮"。
240
+ */
241
+ function judgeLegacyStop(claim, plan) {
242
+ if (claim.runnable)
243
+ return { stop: false, overridden: false, reason: claim.reason };
244
+ if (plan.basis === 'terminal' || plan.basis === 'wait') {
245
+ return { stop: true, overridden: false, reason: `停得住 (${exports.RHYTHM_BASIS_TEXT[plan.basis]}): ${claim.reason}` };
246
+ }
247
+ if (plan.caps.length > 0) {
248
+ return {
249
+ stop: true,
250
+ overridden: false,
251
+ reason: `停得住 (安全上限触顶: ${plan.caps.map((c) => exports.SAFETY_CAP_TEXT[c]).join(' + ')}): ${claim.reason}`,
252
+ };
253
+ }
254
+ if (plan.basis === 'progress' && plan.runnable) {
255
+ return {
256
+ stop: false,
257
+ overridden: true,
258
+ reason: `旧结论「${claim.reason}」被推翻: 本轮有可核验进展, 且三类安全上限一条都没触顶 `
259
+ + '→ 继续 (轮次/时长不是停止依据, 只有上限能停)',
260
+ };
261
+ }
262
+ return {
263
+ stop: true,
264
+ overridden: false,
265
+ reason: `停得住 (${exports.RHYTHM_BASIS_TEXT[plan.basis]}): ${claim.reason}`,
266
+ };
267
+ }
268
+ /**
269
+ * 注入的结论 → 可核验的节奏归因。
270
+ *
271
+ * 投影里能核验的只有**无进展熔断** (它只需要 `noProgressStreak`)。
272
+ * 自称别的上限 (时间/预算) 缺事实 → 不认, 但如实标注 (不假装验过);
273
+ * 自称熔断却数与阈值对不上 → **真拒** (用轮次冒充安全上限)。
274
+ */
275
+ function judgeInjectedOutcome(out, caps) {
276
+ const claimed = (out.caps ?? []).filter((c) => exports.SAFETY_CAPS.includes(c));
277
+ const stop = out.runnable !== true;
278
+ const state = out.decision?.state ?? null;
279
+ const kind = out.decision?.decision ?? null;
280
+ const claimsBreaker = claimed.includes('no_progress_breaker');
281
+ const breakerTripped = out.noProgressStreak >= caps.noProgressCircuitBreaker;
282
+ if (claimsBreaker && !breakerTripped) {
283
+ return (0, seams_js_1.refuse)('only_supervisor_decides_continuation', `拒绝: 注入的结论自称「${exports.SAFETY_CAP_TEXT.no_progress_breaker}」触顶, 但 noProgressStreak=`
284
+ + `${out.noProgressStreak} < 阈值 ${caps.noProgressCircuitBreaker} —— 用轮次冒充安全上限: `
285
+ + '只有上限真的触顶才能停 (这不算安全线, 是拿"第几轮"当节奏)');
286
+ }
287
+ // 不管自称不自称: 阈值真的到了, 这条上限就是从事实核验得到的
288
+ const verifiedBreaker = stop && (state === 'no_progress') && breakerTripped;
289
+ const unverifiable = claimed.filter((c) => c !== 'no_progress_breaker');
290
+ let basis;
291
+ if (!stop) {
292
+ basis = kind === 'delegate' ? 'delegate' : kind === 'continue' ? 'progress' : 'wait';
293
+ }
294
+ else if (kind === 'complete' || kind === 'fail') {
295
+ basis = 'terminal';
296
+ }
297
+ else if (kind === 'wait' || kind === 'pause') {
298
+ basis = 'wait';
299
+ }
300
+ else if (verifiedBreaker) {
301
+ basis = 'cap';
302
+ }
303
+ else {
304
+ basis = 'human';
305
+ }
306
+ const caps_ = verifiedBreaker ? ['no_progress_breaker'] : [];
307
+ const unattributableStop = stop
308
+ && basis !== 'cap' && basis !== 'terminal' && basis !== 'wait';
309
+ const note = unattributableStop
310
+ ? (unverifiable.length
311
+ ? ` (自称的上限 ${unverifiable.map((c) => exports.SAFETY_CAP_TEXT[c]).join(' + ')} 缺事实, 不可核验 → 不认)`
312
+ : ' (缺事实: 时间/预算两类上限无法核验, 只核验了无进展熔断)')
313
+ : '';
314
+ return {
315
+ ...out,
316
+ source: 'injected',
317
+ basis,
318
+ caps: caps_,
319
+ bindingCap: caps_[0] ?? null,
320
+ capsInEffect: caps,
321
+ fullDecision: null,
322
+ facts: null,
323
+ unattributableStop,
324
+ reason: `${out.reason}${note}`,
325
+ };
326
+ }
327
+ function createContinuationSeam(deps) {
328
+ return {
329
+ id: exports.CONTINUATION_SEAM_ID,
330
+ stage: 'M1',
331
+ async preflight(input) {
332
+ if (input.caller !== 'supervisor') {
333
+ return (0, seams_js_1.refuse)('only_supervisor_decides_continuation', `拒绝: caller=${input.caller} 想决定"是否继续 (goal=${input.goalId})" —— `
334
+ + '只有 Supervisor 能决定是否继续 (Runner/子 Agent 只能上报事实与建议)');
335
+ }
336
+ if (!input.goalId) {
337
+ return (0, seams_js_1.refuse)('only_supervisor_decides_continuation', '拒绝: 没有 goalId 的节奏判定等于给不存在的目标排队');
338
+ }
339
+ const config = {
340
+ maxRounds: input.maxRounds,
341
+ maxRetries: input.maxRetries,
342
+ maxRunDurationMs: input.maxRunDurationMs,
343
+ limits: input.limits,
344
+ };
345
+ const capsInEffect = safetyCapsFrom(config);
346
+ // 规范路径: 事实 → P0 (判定由本接缝做, 全量决策随结果返回)
347
+ if (deps.readFacts) {
348
+ const facts = await deps.readFacts({ goalId: input.goalId, now: input.now });
349
+ if (facts) {
350
+ const plan = planRhythm(facts, config);
351
+ const capNote = plan.caps.length > 0
352
+ ? `, 上限: ${plan.caps.map((c) => exports.SAFETY_CAP_TEXT[c]).join(' + ')}`
353
+ : '';
354
+ return {
355
+ goalId: plan.goalId,
356
+ runnable: plan.runnable,
357
+ reason: `[${exports.RHYTHM_BASIS_TEXT[plan.basis]}${capNote}] ${plan.decisionReason} | 放行: ${plan.runnableReason}`,
358
+ noProgressStreak: plan.noProgressStreak,
359
+ decision: {
360
+ decision: plan.decision.decision,
361
+ state: plan.decision.state,
362
+ nextAction: plan.decision.nextAction,
363
+ requiredCapability: plan.decision.requiredCapability,
364
+ decisionId: plan.decision.decisionId,
365
+ },
366
+ caps: plan.caps,
367
+ stopReason: plan.decision.stopReason,
368
+ progress: plan.decision.progressDelta,
369
+ source: 'facts',
370
+ basis: plan.basis,
371
+ bindingCap: plan.bindingCap,
372
+ capsInEffect,
373
+ fullDecision: plan.decision,
374
+ facts,
375
+ unattributableStop: false,
376
+ };
377
+ }
378
+ // 事实读不到 → 不猜 (下面还有没兜底, 没有就如实说)
379
+ if (!deps.decide)
380
+ return null;
381
+ }
382
+ if (!deps.decide) {
383
+ return (0, seams_js_1.refuse)('only_supervisor_decides_continuation', '拒绝: 接缝既没有 readFacts 也没有 decide —— 没有事实就没有节奏判定, 不许编一条决策出来');
384
+ }
385
+ const out = await deps.decide({
386
+ goalId: input.goalId,
387
+ now: input.now,
388
+ maxRetries: input.maxRetries,
389
+ writeRecord: input.writeRecord,
390
+ });
391
+ if (!out)
392
+ return null;
393
+ return judgeInjectedOutcome(out, capsInEffect);
394
+ },
395
+ };
396
+ }
397
+ // ============================================================================
398
+ // §5. 源码级判据 (供门与变异验证: 本接缝的"自适应节奏"接线是不是还在)
399
+ // ============================================================================
400
+ /**
401
+ * 必须有: P0 的三个函数 + 上限登记函数 (少一个 = 节奏或上限被摘掉)。
402
+ *
403
+ * 为什么用 `fn.name` 而不是把函数名抄成字面量: 抄成字面量的那一行**自己就含**着这个
404
+ * 名字 —— 于是这道判据会被自己满足 (门空转)。取运行期函数名, 判据只可能在**真的调用**处命中。
405
+ */
406
+ exports.SEAM_RHYTHM_REQUIRED = [
407
+ `${continuation_decision_js_1.decideContinuation.name}(`,
408
+ `${continuation_decision_js_1.applyHardLimits.name}(`,
409
+ `${continuation_decision_js_1.isRunnable.name}(`,
410
+ `${safetyCapsFrom.name}(`,
411
+ ];
412
+ /**
413
+ * 不许有: 拿轮次/轮数自己判停 (轮次只准经 `safetyCapsFrom` 变成安全上限)。
414
+ *
415
+ * 词根 + 后缀拼出来, 同样是为了**不自证违规**: 把 `runsUsed` 直接写成本判据里的一行,
416
+ * 那一行就会被自己的模式命中 → 干净树永远判红, 门就废了。
417
+ */
418
+ const RHYTHM_FORBIDDEN_ROOTS = ['runs', 'round', 'attempt'];
419
+ exports.SEAM_ROUNDS_AS_RHYTHM = [
420
+ /\bgoal\s*\.\s*runs\b/,
421
+ ...RHYTHM_FORBIDDEN_ROOTS.map((root) => new RegExp(`\\b${root}(?:No|Used|Count)?\\s*>=`)),
422
+ ];
423
+ /**
424
+ * 纯函数判据: 吃源码文本, 吐违规清单。
425
+ * 与 `seams.ts` 同一手法 —— 于是"改坏主不变量 → 必须判红"可以在测试里**每次跑都在验**,
426
+ * 而不是我口头说验过 (见 `src/test/goal-flywheel-wiring-continuation.test.ts` 的变异段)。
427
+ */
428
+ function scanContinuationSeamRhythm(text) {
429
+ const code = (0, seams_js_1.stripBlockComments)(String(text)).split(/\r?\n/).map((s) => {
430
+ const i = s.indexOf('//');
431
+ return i >= 0 ? s.slice(0, i) : s;
432
+ }).join('\n');
433
+ const violations = [];
434
+ for (const needle of exports.SEAM_RHYTHM_REQUIRED) {
435
+ if (!code.includes(needle))
436
+ violations.push(`缺少 ${needle} —— 节奏/上限的接线被摘掉了`);
437
+ }
438
+ for (const re of exports.SEAM_ROUNDS_AS_RHYTHM) {
439
+ if (re.test(code))
440
+ violations.push(`出现"按轮次停"的写法 (${String(re)}) —— 轮次只准经 safetyCapsFrom 变成安全上限`);
441
+ }
442
+ return { ok: violations.length === 0, violations };
443
+ }
444
+ //# sourceMappingURL=continuation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continuation.js","sourceRoot":"","sources":["../../../../../src/agents/goal-flywheel/wiring/continuation.ts"],"names":[],"mappings":"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"}