@bolloon/bolloon-agent 0.4.33 → 0.5.0
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.
- package/dist/agents/contacts/chain.js +27 -7
- package/dist/agents/execution-supervisor.js +493 -35
- package/dist/agents/external-events.js +35 -6
- package/dist/agents/gateway-group.js +100 -12
- package/dist/agents/goal-criteria.js +10 -3
- package/dist/agents/goal-flywheel/block-executor.js +346 -0
- package/dist/agents/goal-flywheel/continuation-decision.js +592 -0
- package/dist/agents/goal-flywheel/goal-change.js +754 -0
- package/dist/agents/goal-flywheel/index.js +26 -0
- package/dist/agents/goal-flywheel/memory-layers.js +227 -0
- package/dist/agents/goal-flywheel/run-closure.js +809 -0
- package/dist/agents/goal-flywheel/skill-candidate.js +628 -0
- package/dist/agents/goal-flywheel/types.js +329 -0
- package/dist/agents/goal-flywheel/wiring/change.js +288 -0
- package/dist/agents/goal-flywheel/wiring/closure.js +697 -0
- package/dist/agents/goal-flywheel/wiring/continuation.js +432 -0
- package/dist/agents/goal-flywheel/wiring/contract.js +270 -0
- package/dist/agents/goal-flywheel/wiring/index.js +26 -0
- package/dist/agents/goal-flywheel/wiring/monitor.js +254 -0
- package/dist/agents/goal-flywheel/wiring/seams.js +592 -0
- package/dist/agents/goal-flywheel/work-contract.js +478 -0
- package/dist/agents/goal-flywheel/work-monitor.js +488 -0
- package/dist/agents/goal-flywheel-wiring.js +1870 -0
- package/dist/agents/goal-state-reducer.js +406 -0
- package/dist/agents/goal-store.js +35 -1
- package/dist/agents/mobile-flywheel-view.js +144 -0
- package/dist/agents/mobile-task-actions-verify.js +74 -0
- package/dist/agents/mobile-task-actions.js +178 -0
- package/dist/agents/mobile-task-views.js +199 -0
- package/dist/agents/network-pulse.js +304 -18
- package/dist/agents/pi-sdk.js +75 -20
- package/dist/agents/run-store.js +18 -5
- package/dist/agents/skill-readiness.js +52 -10
- package/dist/agents/subagent-manager.js +209 -3
- package/dist/agents/task/task-runner.js +9 -3
- package/dist/agents/task-group.js +8 -51
- package/dist/agents/task-public-text.js +89 -0
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/tasks.js +350 -2
- package/dist/cli/identity-command.js +177 -0
- package/dist/cli/setup-wizard.js +71 -0
- package/dist/cli/update-commands.js +150 -24
- package/dist/cli-entry.js +12 -2
- package/dist/electron-build/agents/contacts/chain.js +26 -6
- package/dist/electron-build/agents/contacts/chain.js.map +1 -1
- package/dist/electron-build/agents/execution-supervisor.js +492 -34
- package/dist/electron-build/agents/execution-supervisor.js.map +1 -1
- package/dist/electron-build/agents/external-events.js +34 -5
- package/dist/electron-build/agents/external-events.js.map +1 -1
- package/dist/electron-build/agents/goal-criteria.js +10 -3
- package/dist/electron-build/agents/goal-criteria.js.map +1 -1
- package/dist/electron-build/agents/goal-flywheel/continuation-decision.js +598 -0
- package/dist/electron-build/agents/goal-flywheel/continuation-decision.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/goal-change.js +773 -0
- package/dist/electron-build/agents/goal-flywheel/goal-change.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/memory-layers.js +269 -0
- package/dist/electron-build/agents/goal-flywheel/memory-layers.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/run-closure.js +818 -0
- package/dist/electron-build/agents/goal-flywheel/run-closure.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/skill-candidate.js +642 -0
- package/dist/electron-build/agents/goal-flywheel/skill-candidate.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/types.js +333 -0
- package/dist/electron-build/agents/goal-flywheel/types.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/change.js +294 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/change.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/closure.js +742 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/closure.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/continuation.js +444 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/continuation.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/contract.js +279 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/contract.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/index.js +111 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/index.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/monitor.js +264 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/monitor.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/seams.js +612 -0
- package/dist/electron-build/agents/goal-flywheel/wiring/seams.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/work-contract.js +488 -0
- package/dist/electron-build/agents/goal-flywheel/work-contract.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel/work-monitor.js +501 -0
- package/dist/electron-build/agents/goal-flywheel/work-monitor.js.map +1 -0
- package/dist/electron-build/agents/goal-flywheel-wiring.js +1962 -0
- package/dist/electron-build/agents/goal-flywheel-wiring.js.map +1 -0
- package/dist/electron-build/agents/goal-state-reducer.js +414 -0
- package/dist/electron-build/agents/goal-state-reducer.js.map +1 -0
- package/dist/electron-build/agents/goal-store.js +35 -1
- package/dist/electron-build/agents/goal-store.js.map +1 -1
- package/dist/electron-build/agents/network-pulse.js +307 -19
- package/dist/electron-build/agents/network-pulse.js.map +1 -1
- package/dist/electron-build/agents/pi-sdk.js +74 -19
- package/dist/electron-build/agents/pi-sdk.js.map +1 -1
- package/dist/electron-build/agents/run-store.js +20 -5
- package/dist/electron-build/agents/run-store.js.map +1 -1
- package/dist/electron-build/agents/skill-readiness.js +52 -9
- package/dist/electron-build/agents/skill-readiness.js.map +1 -1
- package/dist/electron-build/agents/task/task-runner.js +8 -2
- package/dist/electron-build/agents/task/task-runner.js.map +1 -1
- package/dist/electron-build/orbitdb/cid-database.js +83 -17
- package/dist/electron-build/orbitdb/cid-database.js.map +1 -1
- package/dist/electron-build/orbitdb/ipfs-node.js +31 -2
- package/dist/electron-build/orbitdb/ipfs-node.js.map +1 -1
- package/dist/electron-build/utils/dual-source.js +471 -0
- package/dist/electron-build/utils/dual-source.js.map +1 -0
- package/dist/electron-build/utils/update-manager.js +331 -57
- package/dist/electron-build/utils/update-manager.js.map +1 -1
- package/dist/electron-build/utils/update-state.js +16 -1
- package/dist/electron-build/utils/update-state.js.map +1 -1
- package/dist/electron-build/utils/version-info.js +82 -2
- package/dist/electron-build/utils/version-info.js.map +1 -1
- package/dist/index.js +103 -12
- package/dist/ios/chain-explorer.js +617 -0
- package/dist/ios/explorer.html +163 -0
- package/dist/ios/index.html +96 -0
- package/dist/ios/mobile-agent.js +2 -2
- package/dist/ios/mobile-contacts.js +329 -0
- package/dist/ios/mobile-core.js +1379 -226
- package/dist/ios/mobile-privacy.js +185 -0
- package/dist/ios/mobile.css +19 -0
- package/dist/ios/mobile.html +96 -0
- package/dist/ios/mobile.js +706 -7
- package/dist/ios/routes-chain-index.js +108 -0
- package/dist/ios/routes-contacts.js +420 -0
- package/dist/ios/routes-onchain-trade.js +99 -0
- package/dist/ios/routes-x402-info.js +1 -0
- package/dist/ios/server.js +762 -0
- package/dist/ios/task-frame-server.js +211 -0
- package/dist/orbitdb/cid-database.js +81 -16
- package/dist/orbitdb/ipfs-node.js +31 -2
- package/dist/utils/dual-source.js +426 -0
- package/dist/utils/update-cli.js +16 -21
- package/dist/utils/update-health.js +35 -5
- package/dist/utils/update-manager.js +329 -57
- package/dist/utils/update-state.js +16 -1
- package/dist/utils/version-info.js +75 -1
- package/dist/web/mobile-contacts.js +44 -11
- package/dist/web/mobile-core.js +1197 -513
- package/dist/web/mobile-tasks.js +339 -0
- package/dist/web/mobile.css +19 -0
- package/dist/web/mobile.html +64 -0
- package/dist/web/mobile.js +531 -1
- package/dist/web/routes-mobile-tasks.js +353 -0
- package/dist/web/server.js +163 -4
- package/package.json +3 -1
|
@@ -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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"}
|