@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":"goal-change.js","sourceRoot":"","sources":["../../../../src/agents/goal-flywheel/goal-change.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,269 @@
1
+ "use strict";
2
+ /**
3
+ * memory-layers.ts — P1b: Memory 分层 (落盘 + 过期归档) (2026-09-25)
4
+ *
5
+ * 归属: `docs/wiki/goal-continuation-flywheel.md` §13「P1b Memory/Skill」独占文件。
6
+ * 本文件**只**实现 §14 冻结签名里的 `writeMemoryRecords` / `expireTemporary`, 不碰任何现有调用方,
7
+ * 也不 import 其它阶段的实现 (§13: 阶段之间只通过 `types.ts` 的类型耦合)。
8
+ *
9
+ * 分层语义 (types.ts §3 的类型在**写入时**也要被真的执行, 不能只写在类型上):
10
+ *
11
+ * | 层 | 落盘规则 |
12
+ * | --- | --- |
13
+ * | `run_fact` | `assertion='confirmed'` 必须有 `confirmedRefs` (推测永不当证据); `assertion='inferred'` 不许带 `confirmedRefs` |
14
+ * | `lesson` | 必须有 `reviewedBy`, 且 `reviewVerdict='reusable'` —— `one_off` **不落盘** |
15
+ * | `decision` | `sourceRef` 必填 (涉用户偏好/重要取舍必须保留来源) |
16
+ * | `skill_signal` | `promotesDirectly` 必须为 `false` (类型级陈述在运行期也要拦) |
17
+ * | `temporary` | `expiresAt` 合法且 **晚于 now**; 已过期/不合法 → 拒绝 (不许写入即死数据) |
18
+ *
19
+ * 落盘布局 (与 `goal-store.ts` 同一手法: 每条例行一个 JSON, 原子写 tmp+rename):
20
+ * `<home>/.bolloon/memory-layers/<layer>/<memoryId 转义>.json`
21
+ * —— `home` 由调用方注入 (便于测试), 不读真实 `os.homedir()`。
22
+ *
23
+ * 幂等: 同一 `memoryId` 且内容逐字相同 → 视为已写入 (不重复落盘, 计入 `written`);
24
+ * 同一 `memoryId` 但内容不同 → 拒绝 (`duplicate_memory_id`), **绝不覆盖**已有记忆。
25
+ *
26
+ * 阴性对照 (怎么知道这些门不是空转): 把 `assertion='confirmed'` 的来源检查删掉 →
27
+ * 「confirmed 无来源必须被拒」立刻判红; 把 `expireTemporary` 的 `> now` 改成「永不归档」→
28
+ * 「到期必须归档」立刻判红。见 `src/test/goal-flywheel-memory.test.ts`。
29
+ */
30
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
31
+ if (k2 === undefined) k2 = k;
32
+ var desc = Object.getOwnPropertyDescriptor(m, k);
33
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
34
+ desc = { enumerable: true, get: function() { return m[k]; } };
35
+ }
36
+ Object.defineProperty(o, k2, desc);
37
+ }) : (function(o, m, k, k2) {
38
+ if (k2 === undefined) k2 = k;
39
+ o[k2] = m[k];
40
+ }));
41
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
42
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
43
+ }) : function(o, v) {
44
+ o["default"] = v;
45
+ });
46
+ var __importStar = (this && this.__importStar) || (function () {
47
+ var ownKeys = function(o) {
48
+ ownKeys = Object.getOwnPropertyNames || function (o) {
49
+ var ar = [];
50
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
51
+ return ar;
52
+ };
53
+ return ownKeys(o);
54
+ };
55
+ return function (mod) {
56
+ if (mod && mod.__esModule) return mod;
57
+ var result = {};
58
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
59
+ __setModuleDefault(result, mod);
60
+ return result;
61
+ };
62
+ })();
63
+ Object.defineProperty(exports, "__esModule", { value: true });
64
+ exports.MEMORY_REJECT_REASONS = exports.MEMORY_LAYERS_ROOT = void 0;
65
+ exports.memoryFileName = memoryFileName;
66
+ exports.memoryFilePath = memoryFilePath;
67
+ exports.validateMemoryRecordForWrite = validateMemoryRecordForWrite;
68
+ exports.writeMemoryRecords = writeMemoryRecords;
69
+ exports.expireTemporary = expireTemporary;
70
+ const fs = __importStar(require("node:fs/promises"));
71
+ const path = __importStar(require("node:path"));
72
+ const types_js_1 = require("./types.js");
73
+ // ---------------------------------------------------------------------------
74
+ // 对外常量 (结构化原因 / 布局)
75
+ // ---------------------------------------------------------------------------
76
+ /** 记忆落盘根 (相对注入的 `home`) */
77
+ exports.MEMORY_LAYERS_ROOT = '.bolloon/memory-layers';
78
+ /** 写入被拒的结构化原因 (不许只返回 boolean) */
79
+ exports.MEMORY_REJECT_REASONS = [
80
+ 'invalid_memory_id', // memoryId 为空
81
+ 'unknown_layer', // layer 不在 MEMORY_LAYERS 里
82
+ 'empty_content', // 内容为空 (空记忆没有意义)
83
+ 'unknown_assertion', // assertion 不是 confirmed/inferred
84
+ 'confirmed_fact_without_source', // confirmed 事实没有来源 (推测当证据)
85
+ 'inferred_fact_cannot_confirm', // inferred 事实带了 confirmedRefs (混淆确定性)
86
+ 'lesson_without_reviewer', // lesson 没有 reviewedBy
87
+ 'lesson_not_reusable', // lesson 的 reviewVerdict 不是 reusable (one_off)
88
+ 'decision_without_source', // decision 没有 sourceRef
89
+ 'skill_signal_cannot_promote', // skill_signal.promotesDirectly 不是 false
90
+ 'skill_signal_without_candidate', // skill_signal 没有 candidateId
91
+ 'temporary_without_valid_expiry', // temporary 的 expiresAt 不合法 / archiveAtRunEnd 不是 true
92
+ 'temporary_already_expired', // 写入时已经过期 (写进去就是死数据)
93
+ 'duplicate_memory_id', // 同 id 已存在且内容不同 (不许覆盖)
94
+ ];
95
+ // ---------------------------------------------------------------------------
96
+ // 小工具 (纯)
97
+ // ---------------------------------------------------------------------------
98
+ const NON_EMPTY = (v) => typeof v === 'string' && v.trim().length > 0;
99
+ /** 是否是合法 ISO 时间戳 (本仓时间一律注入, 且必须是能解析的 ISO) */
100
+ function isValidIso(v) {
101
+ if (typeof v !== 'string' || v.trim().length === 0)
102
+ return false;
103
+ if (!/^\d{4}-\d{2}-\d{2}T/.test(v))
104
+ return false;
105
+ return Number.isFinite(Date.parse(v));
106
+ }
107
+ function assertNow(now, who) {
108
+ if (!isValidIso(now)) {
109
+ throw new Error(`${who}: now 必须是合法 ISO 时间戳 (收到 ${JSON.stringify(now)})`);
110
+ }
111
+ return Date.parse(now);
112
+ }
113
+ /** memoryId → 文件名 (Windows 文件名不含 `:`; 见 AGENTS.md §5.1) */
114
+ function memoryFileName(memoryId) {
115
+ const safe = String(memoryId).replace(/[^A-Za-z0-9._-]/g, '_');
116
+ return `${safe.length > 0 ? safe : 'unnamed'}.json`;
117
+ }
118
+ /** 一条记忆的落盘路径 (导出给调用方/测试核对, 避免两处各手抄一份布局) */
119
+ function memoryFilePath(home, record) {
120
+ return path.join(home, exports.MEMORY_LAYERS_ROOT, record.layer, memoryFileName(record.memoryId));
121
+ }
122
+ // ---------------------------------------------------------------------------
123
+ // 写入时的分层校验
124
+ // ---------------------------------------------------------------------------
125
+ /** 校验一条记忆能不能落盘; 通过返回 null, 否则返回结构化原因 */
126
+ function validateMemoryRecordForWrite(record, now) {
127
+ const nowMs = assertNow(now, 'validateMemoryRecordForWrite');
128
+ if (!NON_EMPTY(record.memoryId))
129
+ return 'invalid_memory_id';
130
+ if (!types_js_1.MEMORY_LAYERS.includes(record.layer))
131
+ return 'unknown_layer';
132
+ if (!NON_EMPTY(record.content))
133
+ return 'empty_content';
134
+ switch (record.layer) {
135
+ case 'run_fact': {
136
+ const confirmed = (record.confirmedRefs ?? []).filter(NON_EMPTY);
137
+ if (record.assertion === 'confirmed') {
138
+ if (confirmed.length === 0)
139
+ return 'confirmed_fact_without_source';
140
+ return null;
141
+ }
142
+ if (record.assertion === 'inferred') {
143
+ // 推测永远不允许携带"已确认来源" (两者互斥)
144
+ if (confirmed.length > 0)
145
+ return 'inferred_fact_cannot_confirm';
146
+ return null;
147
+ }
148
+ return 'unknown_assertion';
149
+ }
150
+ case 'lesson': {
151
+ if (!NON_EMPTY(record.reviewedBy))
152
+ return 'lesson_without_reviewer';
153
+ if (record.reviewVerdict !== 'reusable')
154
+ return 'lesson_not_reusable';
155
+ return null;
156
+ }
157
+ case 'decision': {
158
+ if (!NON_EMPTY(record.sourceRef))
159
+ return 'decision_without_source';
160
+ return null;
161
+ }
162
+ case 'skill_signal': {
163
+ // 类型上是字面量 false; 运行期也要拦 (别让 `as any` 把转正权带进来)
164
+ if (record.promotesDirectly !== false)
165
+ return 'skill_signal_cannot_promote';
166
+ if (!NON_EMPTY(record.candidateId))
167
+ return 'skill_signal_without_candidate';
168
+ return null;
169
+ }
170
+ case 'temporary': {
171
+ if (record.archiveAtRunEnd !== true)
172
+ return 'temporary_without_valid_expiry';
173
+ if (!isValidIso(record.expiresAt))
174
+ return 'temporary_without_valid_expiry';
175
+ if (Date.parse(record.expiresAt) <= nowMs)
176
+ return 'temporary_already_expired';
177
+ return null;
178
+ }
179
+ }
180
+ }
181
+ // ---------------------------------------------------------------------------
182
+ // §14 冻结签名 ①: writeMemoryRecords
183
+ // ---------------------------------------------------------------------------
184
+ /**
185
+ * 把一批分层记忆写入 `<home>/.bolloon/memory-layers/`。
186
+ *
187
+ * 逐条独立判定: 一条被拒不影响同批其它条 (返回里 `written` + `rejected` 恰好等于输入条数)。
188
+ * 被拒的记录**不落地任何文件** (不许"先写坏再回滚")。
189
+ */
190
+ async function writeMemoryRecords(home, records, now) {
191
+ if (!NON_EMPTY(home))
192
+ throw new Error('writeMemoryRecords: home 必填 (调用方注入, 不许猜)');
193
+ assertNow(now, 'writeMemoryRecords');
194
+ const written = [];
195
+ const rejected = [];
196
+ const inBatch = new Set();
197
+ for (const record of records) {
198
+ const id = typeof record?.memoryId === 'string' ? record.memoryId : '';
199
+ const reason = validateMemoryRecordForWrite(record, now);
200
+ if (reason !== null) {
201
+ rejected.push({ memoryId: id, reason });
202
+ continue;
203
+ }
204
+ if (inBatch.has(id)) {
205
+ rejected.push({ memoryId: id, reason: 'duplicate_memory_id' });
206
+ continue;
207
+ }
208
+ const filePath = memoryFilePath(home, record);
209
+ const payload = JSON.stringify(record, null, 2);
210
+ let existing = null;
211
+ try {
212
+ existing = await fs.readFile(filePath, 'utf8');
213
+ }
214
+ catch {
215
+ existing = null;
216
+ }
217
+ if (existing !== null) {
218
+ // 同 id 且逐字相同 → 幂等 (不重复落盘); 内容不同 → 拒绝, 绝不覆盖
219
+ if (existing.trim() === payload.trim()) {
220
+ inBatch.add(id);
221
+ written.push(id);
222
+ }
223
+ else {
224
+ rejected.push({ memoryId: id, reason: 'duplicate_memory_id' });
225
+ }
226
+ continue;
227
+ }
228
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
229
+ const tmp = `${filePath}.${process.pid}.${Math.random().toString(36).slice(2, 8)}.tmp`;
230
+ await fs.writeFile(tmp, payload, 'utf8');
231
+ await fs.rename(tmp, filePath);
232
+ inBatch.add(id);
233
+ written.push(id);
234
+ }
235
+ return { written, rejected };
236
+ }
237
+ // ---------------------------------------------------------------------------
238
+ // §14 冻结签名 ②: expireTemporary (纯函数, 不碰 I/O)
239
+ // ---------------------------------------------------------------------------
240
+ /**
241
+ * 按时间把 `temporary` 层分成"留"与"归档"。**纯函数** (零 I/O, 不改入参, 保序)。
242
+ *
243
+ * 只有同时满足三条的 temporary 才留:
244
+ * ① `archiveAtRunEnd === true` (类型级陈述在运行期复核)
245
+ * ② `expiresAt` 是合法 ISO
246
+ * ③ `expiresAt > now` (**到点即归档**, 边界取等号算过期)
247
+ * 其余 temporary 一律归档 —— 拿不出"未过期"证据的临时记忆不许长期留着。
248
+ * 非 temporary 的记录**永不**被归档 (哪怕字段看起来过期)。
249
+ */
250
+ function expireTemporary(records, now) {
251
+ const nowMs = assertNow(now, 'expireTemporary');
252
+ const kept = [];
253
+ const archived = [];
254
+ for (const record of records) {
255
+ if (record.layer !== 'temporary') {
256
+ kept.push(record);
257
+ continue;
258
+ }
259
+ const live = record.archiveAtRunEnd === true &&
260
+ isValidIso(record.expiresAt) &&
261
+ Date.parse(record.expiresAt) > nowMs;
262
+ if (live)
263
+ kept.push(record);
264
+ else
265
+ archived.push(record);
266
+ }
267
+ return { kept, archived };
268
+ }
269
+ //# sourceMappingURL=memory-layers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-layers.js","sourceRoot":"","sources":["../../../../src/agents/goal-flywheel/memory-layers.ts"],"names":[],"mappings":"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"}