@jungjaehoon/mama-os 0.32.2 → 0.32.3
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/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +1 -2
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/operator/operator-trigger-loop.d.ts +22 -6
- package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
- package/dist/operator/operator-trigger-loop.js +197 -68
- package/dist/operator/operator-trigger-loop.js.map +1 -1
- package/dist/operator/trigger-author.d.ts +10 -2
- package/dist/operator/trigger-author.d.ts.map +1 -1
- package/dist/operator/trigger-author.js +112 -39
- package/dist/operator/trigger-author.js.map +1 -1
- package/dist/operator/trigger-registry.d.ts +21 -0
- package/dist/operator/trigger-registry.d.ts.map +1 -1
- package/dist/operator/trigger-registry.js +161 -1
- package/dist/operator/trigger-registry.js.map +1 -1
- package/dist/operator/trigger-review.d.ts.map +1 -1
- package/dist/operator/trigger-review.js +56 -10
- package/dist/operator/trigger-review.js.map +1 -1
- package/package.json +1 -1
|
@@ -30,6 +30,10 @@ const execFileAsync = (0, node_util_1.promisify)(node_child_process_1.execFile);
|
|
|
30
30
|
const TRIGGER_CODEX_SYSTEM_PROMPT = 'Return only the requested JSON value, with no prose or code fences.';
|
|
31
31
|
const TRIGGER_AUTHOR_SESSION_KEY = 'operator:trigger-author';
|
|
32
32
|
const TRIGGER_REVIEW_SESSION_KEY = 'operator:trigger-review';
|
|
33
|
+
const AUTHOR_EVENT_CHARS = 500;
|
|
34
|
+
const AUTHOR_EVENT_SECTION_CHARS = 10_000;
|
|
35
|
+
const AUTHOR_TRIGGER_SUMMARY_CHARS = 300;
|
|
36
|
+
const AUTHOR_TRIGGER_SECTION_CHARS = 12_000;
|
|
33
37
|
async function authorTriggers(events, registry, askAgent, opts = {}) {
|
|
34
38
|
const existing = registry.listActive();
|
|
35
39
|
const prompt = buildAuthorPrompt(events, existing);
|
|
@@ -61,29 +65,38 @@ async function authorTriggers(events, registry, askAgent, opts = {}) {
|
|
|
61
65
|
}
|
|
62
66
|
return created;
|
|
63
67
|
}
|
|
64
|
-
/**
|
|
65
|
-
* How much of a trigger's memoryQuery the author pass needs to see.
|
|
66
|
-
*
|
|
67
|
-
* The list exists for ONE job, stated in the prompt itself: do not propose a variant of a
|
|
68
|
-
* trigger that already exists. Keywords decide that; the full recall instruction does not.
|
|
69
|
-
*
|
|
70
|
-
* Measured on the live registry 2026-07-30: 162 active triggers, memoryQuery averaging 1,261
|
|
71
|
-
* characters, 204 KB of the 240 KB prompt - and growing with every trigger the pass authors,
|
|
72
|
-
* which is a loop that feeds itself. One call cost $1.33 at 126,667 cache-creation tokens and
|
|
73
|
-
* took 41 seconds, every 30 minutes.
|
|
74
|
-
*/
|
|
75
|
-
const EXISTING_TRIGGER_QUERY_CHARS = 160;
|
|
76
68
|
function summarizeExistingTrigger(t) {
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
69
|
+
const scope = t.match.scopeChannelIds?.length ? t.match.scopeChannelIds.join(', ') : '*';
|
|
70
|
+
return `- kind=${t.kind} scope=[${scope}] mode=${t.match.keywordMode} keywords=[${t.match.keywords.join(', ')}]`;
|
|
71
|
+
}
|
|
72
|
+
function boundedLines(lines, perLineChars, sectionChars, newestFirstBudget = false) {
|
|
73
|
+
const selected = [];
|
|
74
|
+
let used = 0;
|
|
75
|
+
const candidates = newestFirstBudget ? [...lines].reverse() : lines;
|
|
76
|
+
for (const raw of candidates) {
|
|
77
|
+
const line = raw.replace(/[\r\n]+/g, ' ').slice(0, perLineChars);
|
|
78
|
+
if (used + line.length + 1 > sectionChars)
|
|
79
|
+
break;
|
|
80
|
+
selected.push(line);
|
|
81
|
+
used += line.length + 1;
|
|
82
|
+
}
|
|
83
|
+
const omitted = lines.length - selected.length;
|
|
84
|
+
const ordered = newestFirstBudget ? selected.reverse() : selected;
|
|
85
|
+
if (omitted > 0) {
|
|
86
|
+
const note = `- [... ${omitted} item(s) omitted by input budget]`;
|
|
87
|
+
if (newestFirstBudget)
|
|
88
|
+
ordered.unshift(note);
|
|
89
|
+
else
|
|
90
|
+
ordered.push(note);
|
|
91
|
+
}
|
|
92
|
+
return ordered.join('\n');
|
|
82
93
|
}
|
|
83
94
|
function buildAuthorPrompt(events, existing) {
|
|
84
95
|
// English default. Personal phrasing overrides load from ~/.mama/operator/*.json (later refinement).
|
|
85
|
-
const window = events.map((e) => `- [${e.channelId}] ${e.content}`)
|
|
86
|
-
const existingList = existing.length === 0
|
|
96
|
+
const window = boundedLines(events.map((e) => `- [${e.channelId}] ${e.content}`), AUTHOR_EVENT_CHARS, AUTHOR_EVENT_SECTION_CHARS, true);
|
|
97
|
+
const existingList = existing.length === 0
|
|
98
|
+
? '(none yet)'
|
|
99
|
+
: boundedLines(existing.map(summarizeExistingTrigger), AUTHOR_TRIGGER_SUMMARY_CHARS, AUTHOR_TRIGGER_SECTION_CHARS);
|
|
87
100
|
return [
|
|
88
101
|
"You maintain a personal operator's library of TRIGGERS. A trigger fires on future messages",
|
|
89
102
|
'that match its keywords and then recalls a memory to help the operator intervene proactively.',
|
|
@@ -130,16 +143,22 @@ function validateTriggerSpec(spec) {
|
|
|
130
143
|
if (!isObject(spec))
|
|
131
144
|
throw new Error('trigger spec must be an object');
|
|
132
145
|
const nonEmptyString = (v) => typeof v === 'string' && v.trim() !== '';
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
146
|
+
const boundedString = (label, value, maxChars) => {
|
|
147
|
+
if (!nonEmptyString(value) || value.length > maxChars) {
|
|
148
|
+
throw new Error(`${label} must be a non-empty string of at most ${maxChars} characters`);
|
|
149
|
+
}
|
|
150
|
+
return value;
|
|
151
|
+
};
|
|
152
|
+
const id = spec.id === undefined ? undefined : boundedString('trigger.id', spec.id, 512);
|
|
153
|
+
const kind = boundedString('trigger.kind', spec.kind, 256);
|
|
154
|
+
const memoryQuery = boundedString('trigger.memoryQuery', spec.memoryQuery, 4_000);
|
|
137
155
|
if (!isObject(spec.match))
|
|
138
156
|
throw new Error('trigger.match must be an object');
|
|
139
157
|
const match = spec.match;
|
|
140
158
|
if (!Array.isArray(match.keywords) ||
|
|
141
159
|
match.keywords.length === 0 ||
|
|
142
|
-
|
|
160
|
+
match.keywords.length > 64 ||
|
|
161
|
+
!match.keywords.every((keyword) => nonEmptyString(keyword) && keyword.length <= 256)) {
|
|
143
162
|
throw new Error('trigger.match.keywords must be a non-empty string[]');
|
|
144
163
|
}
|
|
145
164
|
if (match.keywordMode !== 'any' && match.keywordMode !== 'every') {
|
|
@@ -149,22 +168,29 @@ function validateTriggerSpec(spec) {
|
|
|
149
168
|
throw new Error('trigger.match.minConfidence must be a number');
|
|
150
169
|
if (match.scopeChannelIds !== undefined &&
|
|
151
170
|
(!Array.isArray(match.scopeChannelIds) ||
|
|
152
|
-
|
|
171
|
+
match.scopeChannelIds.length > 64 ||
|
|
172
|
+
!match.scopeChannelIds.every((channelId) => nonEmptyString(channelId) && channelId.length <= 256))) {
|
|
153
173
|
throw new Error('trigger.match.scopeChannelIds must be string[] when present');
|
|
154
174
|
}
|
|
155
175
|
if (!Array.isArray(spec.procedure) ||
|
|
156
|
-
|
|
176
|
+
spec.procedure.length > 64 ||
|
|
177
|
+
!spec.procedure.every((p) => isObject(p) &&
|
|
178
|
+
nonEmptyString(p.action) &&
|
|
179
|
+
p.action.length <= 256 &&
|
|
180
|
+
typeof p.description === 'string' &&
|
|
181
|
+
p.description.length <= 2_000)) {
|
|
157
182
|
throw new Error('trigger.procedure must be an array of {action, description}');
|
|
158
183
|
}
|
|
159
184
|
if (!Array.isArray(spec.requiredEvidence) ||
|
|
160
|
-
|
|
185
|
+
spec.requiredEvidence.length > 64 ||
|
|
186
|
+
!spec.requiredEvidence.every((evidence) => typeof evidence === 'string' && evidence.length <= 1_000)) {
|
|
161
187
|
throw new Error('trigger.requiredEvidence must be string[]');
|
|
162
188
|
}
|
|
163
189
|
// Deliberately NO check of kind/action VALUES against any catalog (G3 guard).
|
|
164
190
|
return {
|
|
165
|
-
id
|
|
166
|
-
kind
|
|
167
|
-
memoryQuery
|
|
191
|
+
id,
|
|
192
|
+
kind,
|
|
193
|
+
memoryQuery,
|
|
168
194
|
match: {
|
|
169
195
|
keywords: match.keywords,
|
|
170
196
|
keywordMode: match.keywordMode,
|
|
@@ -175,9 +201,8 @@ function validateTriggerSpec(spec) {
|
|
|
175
201
|
requiredEvidence: spec.requiredEvidence,
|
|
176
202
|
};
|
|
177
203
|
}
|
|
178
|
-
/** Build the legacy bare-Claude JSON runner while allowing command injection in tests. */
|
|
179
204
|
/**
|
|
180
|
-
* Effort for the
|
|
205
|
+
* Effort for the isolated structured-JSON calls, named rather than inherited.
|
|
181
206
|
*
|
|
182
207
|
* Without this the call inherits `effortLevel` from ~/.claude/settings.json, which on the
|
|
183
208
|
* owner's install is `xhigh` - and the daemon exports MAX_THINKING_TOKENS=0 (added
|
|
@@ -195,9 +220,28 @@ function validateTriggerSpec(spec) {
|
|
|
195
220
|
* never needed the top tier.
|
|
196
221
|
*/
|
|
197
222
|
const TRIGGER_AUTHOR_EFFORT = 'high';
|
|
198
|
-
function createAskAgentCLI(execute = executeClaudeCLI) {
|
|
223
|
+
function createAskAgentCLI(execute = executeClaudeCLI, options = {}) {
|
|
199
224
|
return async (prompt) => {
|
|
200
|
-
const
|
|
225
|
+
const args = [
|
|
226
|
+
'-p',
|
|
227
|
+
prompt,
|
|
228
|
+
'--output-format',
|
|
229
|
+
'json',
|
|
230
|
+
'--effort',
|
|
231
|
+
TRIGGER_AUTHOR_EFFORT,
|
|
232
|
+
'--safe-mode',
|
|
233
|
+
'--tools',
|
|
234
|
+
'',
|
|
235
|
+
'--no-session-persistence',
|
|
236
|
+
];
|
|
237
|
+
if (options.model) {
|
|
238
|
+
args.push('--model', options.model);
|
|
239
|
+
}
|
|
240
|
+
const executeOptions = {
|
|
241
|
+
maxBuffer: 16 * 1024 * 1024,
|
|
242
|
+
...(options.signal ? { signal: options.signal } : {}),
|
|
243
|
+
};
|
|
244
|
+
const { stdout } = await execute('claude', args, executeOptions);
|
|
201
245
|
const parsed = JSON.parse(stdout);
|
|
202
246
|
if (parsed.type === 'result' && typeof parsed.result === 'string')
|
|
203
247
|
return parsed.result;
|
|
@@ -209,17 +253,46 @@ exports.askAgentCLI = createAskAgentCLI();
|
|
|
209
253
|
/**
|
|
210
254
|
* Provider boundary for trigger authoring and review.
|
|
211
255
|
*
|
|
212
|
-
* Claude keeps
|
|
256
|
+
* Claude keeps an isolated JSON-only CLI path. Codex shares one app-server
|
|
213
257
|
* connection, but every structured task starts a fresh, isolated, read-only
|
|
214
258
|
* session and advertises no host tools.
|
|
215
259
|
*/
|
|
216
260
|
function createTriggerAgentRuntime(backend, options = {}, dependencies = {}) {
|
|
217
261
|
if (backend === 'claude') {
|
|
218
|
-
const
|
|
262
|
+
const controller = new AbortController();
|
|
263
|
+
const createClaudeAsk = dependencies.createClaudeAsk ??
|
|
264
|
+
((runtimeOptions) => createAskAgentCLI(executeClaudeCLI, runtimeOptions));
|
|
265
|
+
const askClaude = dependencies.askClaude ??
|
|
266
|
+
createClaudeAsk({ model: options.model, signal: controller.signal });
|
|
267
|
+
const activeCalls = new Set();
|
|
268
|
+
let stopped = false;
|
|
269
|
+
let stopPromise;
|
|
270
|
+
const askTracked = (prompt) => {
|
|
271
|
+
if (stopped)
|
|
272
|
+
return Promise.reject(new Error('Claude trigger runtime has stopped'));
|
|
273
|
+
let call;
|
|
274
|
+
try {
|
|
275
|
+
call = askClaude(prompt);
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
call = Promise.reject(error);
|
|
279
|
+
}
|
|
280
|
+
activeCalls.add(call);
|
|
281
|
+
return call.finally(() => {
|
|
282
|
+
activeCalls.delete(call);
|
|
283
|
+
});
|
|
284
|
+
};
|
|
219
285
|
return {
|
|
220
|
-
askAuthor:
|
|
221
|
-
askReview:
|
|
222
|
-
stop:
|
|
286
|
+
askAuthor: askTracked,
|
|
287
|
+
askReview: askTracked,
|
|
288
|
+
stop: () => {
|
|
289
|
+
stopPromise ??= Promise.resolve().then(async () => {
|
|
290
|
+
stopped = true;
|
|
291
|
+
controller.abort();
|
|
292
|
+
await Promise.allSettled([...activeCalls]);
|
|
293
|
+
});
|
|
294
|
+
return stopPromise;
|
|
295
|
+
},
|
|
223
296
|
};
|
|
224
297
|
}
|
|
225
298
|
if (backend === 'cline') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-author.js","sourceRoot":"","sources":["../../src/operator/trigger-author.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trigger-author.js","sourceRoot":"","sources":["../../src/operator/trigger-author.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,26 @@ export declare class TriggerRegistry {
|
|
|
15
15
|
private db;
|
|
16
16
|
constructor(db: SQLiteDatabase);
|
|
17
17
|
private runMigration;
|
|
18
|
+
/**
|
|
19
|
+
* Existing fired rows were already reviewed repeatedly by the legacy loop. Baseline them at
|
|
20
|
+
* their current fire count so an upgrade cannot immediately fan out one review call per row.
|
|
21
|
+
*/
|
|
22
|
+
private migrateReviewWatermark;
|
|
18
23
|
/** Persist an agent-authored trigger. Self-activates (G4): status is 'active' at birth. */
|
|
19
24
|
create(input: CreateTriggerInput): TriggerRecord;
|
|
20
25
|
listActive(): TriggerRecord[];
|
|
26
|
+
/** Active triggers with fire evidence that has not yet reached the review pass. */
|
|
27
|
+
listReviewCandidates(limit?: number, nowMs?: number): TriggerRecord[];
|
|
28
|
+
/** Advance the durable review watermark only after a review decision was applied. */
|
|
29
|
+
markReviewed(id: string, fired: number): void;
|
|
30
|
+
/** Back off a failed provider/parse attempt without blocking later review candidates. */
|
|
31
|
+
recordReviewFailure(id: string, nowMs?: number): void;
|
|
32
|
+
/** A provider outage or poison author window must not be resent on every cadence. */
|
|
33
|
+
canAttemptAuthor(nowMs?: number): boolean;
|
|
34
|
+
/** Persist a process-independent exponential backoff for the structured author call. */
|
|
35
|
+
recordAuthorFailure(windowFingerprint: string, nowMs?: number): void;
|
|
36
|
+
/** A successful author decision clears the provider/parse failure streak. */
|
|
37
|
+
clearAuthorFailure(): void;
|
|
21
38
|
/** Every trigger regardless of status (owner tray view). id DESC breaks same-ms ties. */
|
|
22
39
|
listAll(): TriggerRecord[];
|
|
23
40
|
getById(id: string): TriggerRecord | null;
|
|
@@ -31,6 +48,10 @@ export declare class TriggerRegistry {
|
|
|
31
48
|
recordOutcome(id: string, outcome: 'succeeded' | 'failed'): void;
|
|
32
49
|
/** Retire a trigger (agent-judged in Task 4; here it's the mechanical write). */
|
|
33
50
|
disable(id: string, reason: string): TriggerRecord;
|
|
51
|
+
/** Agent retirement must never overwrite a durable owner disable that won the race (TG-06). */
|
|
52
|
+
retireActive(id: string, reason: string): TriggerRecord;
|
|
53
|
+
/** Disable the original and insert its replacement as one rollback-safe decision. */
|
|
54
|
+
refine(id: string, reason: string, replacement: CreateTriggerInput): TriggerRecord;
|
|
34
55
|
close(): void;
|
|
35
56
|
}
|
|
36
57
|
//# sourceMappingURL=trigger-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-registry.d.ts","sourceRoot":"","sources":["../../src/operator/trigger-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAiB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"trigger-registry.d.ts","sourceRoot":"","sources":["../../src/operator/trigger-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAiB,MAAM,oBAAoB,CAAC;AA0B3F,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAAiB;gBAEf,EAAE,EAAE,cAAc;IAK9B,OAAO,CAAC,YAAY;IAmCpB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA4B9B,2FAA2F;IAC3F,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa;IAgChD,UAAU,IAAI,aAAa,EAAE;IAO7B,mFAAmF;IACnF,oBAAoB,CAAC,KAAK,SAA0B,EAAE,KAAK,SAAa,GAAG,aAAa,EAAE;IAiB1F,qFAAqF;IACrF,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAe7C,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,SAAa,GAAG,IAAI;IAmBzD,qFAAqF;IACrF,gBAAgB,CAAC,KAAK,SAAa,GAAG,OAAO;IAQ7C,wFAAwF;IACxF,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,SAAa,GAAG,IAAI;IAwBxE,6EAA6E;IAC7E,kBAAkB,IAAI,IAAI;IAI1B,yFAAyF;IACzF,OAAO,IAAI,aAAa,EAAE;IAO1B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAOzC;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAO5B,mFAAmF;IACnF,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,QAAQ,GAAG,IAAI;IAYhE,iFAAiF;IACjF,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IAYlD,+FAA+F;IAC/F,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;IAcvD,qFAAqF;IACrF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,GAAG,aAAa;IAoBlF,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
*/
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.TriggerRegistry = void 0;
|
|
15
|
+
const REVIEW_RETRY_BASE_MS = 6 * 60 * 60 * 1000;
|
|
16
|
+
const REVIEW_RETRY_MAX_MS = 24 * 60 * 60 * 1000;
|
|
17
|
+
const AUTHOR_RETRY_BASE_MS = 6 * 60 * 60 * 1000;
|
|
18
|
+
const AUTHOR_RETRY_MAX_MS = 24 * 60 * 60 * 1000;
|
|
15
19
|
class TriggerRegistry {
|
|
16
20
|
db;
|
|
17
21
|
constructor(db) {
|
|
@@ -19,6 +23,7 @@ class TriggerRegistry {
|
|
|
19
23
|
this.runMigration();
|
|
20
24
|
}
|
|
21
25
|
runMigration() {
|
|
26
|
+
this.db.pragma('busy_timeout = 5000');
|
|
22
27
|
this.db.exec(`
|
|
23
28
|
CREATE TABLE IF NOT EXISTS operator_triggers (
|
|
24
29
|
id TEXT PRIMARY KEY,
|
|
@@ -35,10 +40,47 @@ class TriggerRegistry {
|
|
|
35
40
|
disabled_reason TEXT,
|
|
36
41
|
fired INTEGER NOT NULL DEFAULT 0,
|
|
37
42
|
succeeded INTEGER NOT NULL DEFAULT 0,
|
|
38
|
-
failed INTEGER NOT NULL DEFAULT 0
|
|
43
|
+
failed INTEGER NOT NULL DEFAULT 0,
|
|
44
|
+
reviewed_fired INTEGER NOT NULL DEFAULT 0,
|
|
45
|
+
review_failures INTEGER NOT NULL DEFAULT 0,
|
|
46
|
+
review_retry_after INTEGER
|
|
39
47
|
);
|
|
40
48
|
CREATE INDEX IF NOT EXISTS idx_operator_triggers_status ON operator_triggers(status);
|
|
49
|
+
CREATE TABLE IF NOT EXISTS operator_trigger_author_state (
|
|
50
|
+
singleton_id INTEGER PRIMARY KEY CHECK(singleton_id = 1),
|
|
51
|
+
window_fingerprint TEXT NOT NULL,
|
|
52
|
+
failures INTEGER NOT NULL,
|
|
53
|
+
retry_after INTEGER NOT NULL,
|
|
54
|
+
updated_at INTEGER NOT NULL
|
|
55
|
+
);
|
|
41
56
|
`);
|
|
57
|
+
this.migrateReviewWatermark();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Existing fired rows were already reviewed repeatedly by the legacy loop. Baseline them at
|
|
61
|
+
* their current fire count so an upgrade cannot immediately fan out one review call per row.
|
|
62
|
+
*/
|
|
63
|
+
migrateReviewWatermark() {
|
|
64
|
+
this.db.exec('BEGIN IMMEDIATE');
|
|
65
|
+
try {
|
|
66
|
+
const columns = this.db.prepare(`PRAGMA table_info(operator_triggers)`).all();
|
|
67
|
+
const names = new Set(columns.map((column) => column.name));
|
|
68
|
+
if (!names.has('reviewed_fired')) {
|
|
69
|
+
this.db.exec(`ALTER TABLE operator_triggers ADD COLUMN reviewed_fired INTEGER NOT NULL DEFAULT 0`);
|
|
70
|
+
this.db.exec(`UPDATE operator_triggers SET reviewed_fired = fired`);
|
|
71
|
+
}
|
|
72
|
+
if (!names.has('review_failures')) {
|
|
73
|
+
this.db.exec(`ALTER TABLE operator_triggers ADD COLUMN review_failures INTEGER NOT NULL DEFAULT 0`);
|
|
74
|
+
}
|
|
75
|
+
if (!names.has('review_retry_after')) {
|
|
76
|
+
this.db.exec(`ALTER TABLE operator_triggers ADD COLUMN review_retry_after INTEGER`);
|
|
77
|
+
}
|
|
78
|
+
this.db.exec('COMMIT');
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
this.db.exec('ROLLBACK');
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
42
84
|
}
|
|
43
85
|
/** Persist an agent-authored trigger. Self-activates (G4): status is 'active' at birth. */
|
|
44
86
|
create(input) {
|
|
@@ -64,6 +106,90 @@ class TriggerRegistry {
|
|
|
64
106
|
.all();
|
|
65
107
|
return rows.map(rowToRecord);
|
|
66
108
|
}
|
|
109
|
+
/** Active triggers with fire evidence that has not yet reached the review pass. */
|
|
110
|
+
listReviewCandidates(limit = Number.MAX_SAFE_INTEGER, nowMs = Date.now()) {
|
|
111
|
+
if (!Number.isInteger(limit) || limit <= 0) {
|
|
112
|
+
throw new Error('listReviewCandidates: limit must be a positive integer');
|
|
113
|
+
}
|
|
114
|
+
if (!Number.isFinite(nowMs))
|
|
115
|
+
throw new Error('listReviewCandidates: nowMs must be finite');
|
|
116
|
+
const rows = this.db
|
|
117
|
+
.prepare(`SELECT * FROM operator_triggers
|
|
118
|
+
WHERE status = 'active' AND fired > reviewed_fired
|
|
119
|
+
AND (review_retry_after IS NULL OR review_retry_after <= ?)
|
|
120
|
+
ORDER BY updated_at ASC, created_at ASC, id ASC
|
|
121
|
+
LIMIT ?`)
|
|
122
|
+
.all(nowMs, limit);
|
|
123
|
+
return rows.map(rowToRecord);
|
|
124
|
+
}
|
|
125
|
+
/** Advance the durable review watermark only after a review decision was applied. */
|
|
126
|
+
markReviewed(id, fired) {
|
|
127
|
+
if (!Number.isInteger(fired) || fired < 0) {
|
|
128
|
+
throw new Error(`markReviewed: fired must be a non-negative integer for ${id}`);
|
|
129
|
+
}
|
|
130
|
+
const result = this.db
|
|
131
|
+
.prepare(`UPDATE operator_triggers
|
|
132
|
+
SET reviewed_fired = MAX(reviewed_fired, ?), review_failures = 0,
|
|
133
|
+
review_retry_after = NULL, updated_at = ?
|
|
134
|
+
WHERE id = ? AND status = 'active'`)
|
|
135
|
+
.run(fired, Date.now(), id);
|
|
136
|
+
if (result.changes === 0)
|
|
137
|
+
throw new Error(`markReviewed: no active trigger with id ${id}`);
|
|
138
|
+
}
|
|
139
|
+
/** Back off a failed provider/parse attempt without blocking later review candidates. */
|
|
140
|
+
recordReviewFailure(id, nowMs = Date.now()) {
|
|
141
|
+
if (!Number.isFinite(nowMs))
|
|
142
|
+
throw new Error(`recordReviewFailure: nowMs must be finite for ${id}`);
|
|
143
|
+
const row = this.db
|
|
144
|
+
.prepare(`SELECT review_failures FROM operator_triggers WHERE id = ? AND status = 'active'`)
|
|
145
|
+
.get(id);
|
|
146
|
+
if (!row)
|
|
147
|
+
throw new Error(`recordReviewFailure: no active trigger with id ${id}`);
|
|
148
|
+
const failures = row.review_failures + 1;
|
|
149
|
+
const retryDelay = Math.min(REVIEW_RETRY_BASE_MS * 2 ** (failures - 1), REVIEW_RETRY_MAX_MS);
|
|
150
|
+
const retryAfter = nowMs + retryDelay;
|
|
151
|
+
this.db
|
|
152
|
+
.prepare(`UPDATE operator_triggers
|
|
153
|
+
SET review_failures = ?, review_retry_after = ?, updated_at = ?
|
|
154
|
+
WHERE id = ? AND status = 'active'`)
|
|
155
|
+
.run(failures, retryAfter, nowMs, id);
|
|
156
|
+
}
|
|
157
|
+
/** A provider outage or poison author window must not be resent on every cadence. */
|
|
158
|
+
canAttemptAuthor(nowMs = Date.now()) {
|
|
159
|
+
if (!Number.isFinite(nowMs))
|
|
160
|
+
throw new Error('canAttemptAuthor: nowMs must be finite');
|
|
161
|
+
const row = this.db
|
|
162
|
+
.prepare(`SELECT retry_after FROM operator_trigger_author_state WHERE singleton_id = 1`)
|
|
163
|
+
.get();
|
|
164
|
+
return row === undefined || row.retry_after <= nowMs;
|
|
165
|
+
}
|
|
166
|
+
/** Persist a process-independent exponential backoff for the structured author call. */
|
|
167
|
+
recordAuthorFailure(windowFingerprint, nowMs = Date.now()) {
|
|
168
|
+
if (windowFingerprint.trim() === '') {
|
|
169
|
+
throw new Error('recordAuthorFailure: window fingerprint must be non-empty');
|
|
170
|
+
}
|
|
171
|
+
if (!Number.isFinite(nowMs))
|
|
172
|
+
throw new Error('recordAuthorFailure: nowMs must be finite');
|
|
173
|
+
const row = this.db
|
|
174
|
+
.prepare(`SELECT failures FROM operator_trigger_author_state WHERE singleton_id = 1`)
|
|
175
|
+
.get();
|
|
176
|
+
const failures = (row?.failures ?? 0) + 1;
|
|
177
|
+
const retryDelay = Math.min(AUTHOR_RETRY_BASE_MS * 2 ** (failures - 1), AUTHOR_RETRY_MAX_MS);
|
|
178
|
+
this.db
|
|
179
|
+
.prepare(`INSERT INTO operator_trigger_author_state
|
|
180
|
+
(singleton_id, window_fingerprint, failures, retry_after, updated_at)
|
|
181
|
+
VALUES (1, ?, ?, ?, ?)
|
|
182
|
+
ON CONFLICT(singleton_id) DO UPDATE SET
|
|
183
|
+
window_fingerprint = excluded.window_fingerprint,
|
|
184
|
+
failures = excluded.failures,
|
|
185
|
+
retry_after = excluded.retry_after,
|
|
186
|
+
updated_at = excluded.updated_at`)
|
|
187
|
+
.run(windowFingerprint, failures, nowMs + retryDelay, nowMs);
|
|
188
|
+
}
|
|
189
|
+
/** A successful author decision clears the provider/parse failure streak. */
|
|
190
|
+
clearAuthorFailure() {
|
|
191
|
+
this.db.prepare(`DELETE FROM operator_trigger_author_state WHERE singleton_id = 1`).run();
|
|
192
|
+
}
|
|
67
193
|
/** Every trigger regardless of status (owner tray view). id DESC breaks same-ms ties. */
|
|
68
194
|
listAll() {
|
|
69
195
|
const rows = this.db
|
|
@@ -110,6 +236,40 @@ class TriggerRegistry {
|
|
|
110
236
|
throw new Error(`disable: trigger ${id} missing after update`);
|
|
111
237
|
return record;
|
|
112
238
|
}
|
|
239
|
+
/** Agent retirement must never overwrite a durable owner disable that won the race (TG-06). */
|
|
240
|
+
retireActive(id, reason) {
|
|
241
|
+
const result = this.db
|
|
242
|
+
.prepare(`UPDATE operator_triggers
|
|
243
|
+
SET status = 'disabled', disabled_reason = ?, updated_at = ?
|
|
244
|
+
WHERE id = ? AND status = 'active'`)
|
|
245
|
+
.run(reason, Date.now(), id);
|
|
246
|
+
if (result.changes === 0)
|
|
247
|
+
throw new Error(`retireActive: no active trigger with id ${id}`);
|
|
248
|
+
const record = this.getById(id);
|
|
249
|
+
if (!record)
|
|
250
|
+
throw new Error(`retireActive: trigger ${id} missing after update`);
|
|
251
|
+
return record;
|
|
252
|
+
}
|
|
253
|
+
/** Disable the original and insert its replacement as one rollback-safe decision. */
|
|
254
|
+
refine(id, reason, replacement) {
|
|
255
|
+
this.db.exec('BEGIN IMMEDIATE');
|
|
256
|
+
try {
|
|
257
|
+
const result = this.db
|
|
258
|
+
.prepare(`UPDATE operator_triggers
|
|
259
|
+
SET status = 'disabled', disabled_reason = ?, updated_at = ?
|
|
260
|
+
WHERE id = ? AND status = 'active'`)
|
|
261
|
+
.run(reason, Date.now(), id);
|
|
262
|
+
if (result.changes === 0)
|
|
263
|
+
throw new Error(`refine: no active trigger with id ${id}`);
|
|
264
|
+
const created = this.create(replacement);
|
|
265
|
+
this.db.exec('COMMIT');
|
|
266
|
+
return created;
|
|
267
|
+
}
|
|
268
|
+
catch (error) {
|
|
269
|
+
this.db.exec('ROLLBACK');
|
|
270
|
+
throw error;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
113
273
|
close() {
|
|
114
274
|
this.db.close();
|
|
115
275
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-registry.js","sourceRoot":"","sources":["../../src/operator/trigger-registry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;
|
|
1
|
+
{"version":3,"file":"trigger-registry.js","sourceRoot":"","sources":["../../src/operator/trigger-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-review.d.ts","sourceRoot":"","sources":["../../src/operator/trigger-review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAsB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAoC,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEtF,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"trigger-review.d.ts","sourceRoot":"","sources":["../../src/operator/trigger-review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAsB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAoC,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEtF,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAW/C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CA8BhE;AAED,0HAA0H;AAC1H,wBAAgB,WAAW,CACzB,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,GACxB,eAAe,CAsBjB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CA8CzF;AAoCD,qFAAqF;AACrF,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,GAAE,QAAsB,GAC/B,OAAO,CAAC,cAAc,CAAC,CAGzB"}
|