@dsh-enhanced/assistant-goals 0.1.30
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/LICENSE +21 -0
- package/README.md +274 -0
- package/cordis.patch.yml +3 -0
- package/lib/budget-store.d.ts +73 -0
- package/lib/budget-store.d.ts.map +1 -0
- package/lib/budget-store.js +345 -0
- package/lib/budget-store.js.map +1 -0
- package/lib/budget.d.ts +78 -0
- package/lib/budget.d.ts.map +1 -0
- package/lib/budget.js +344 -0
- package/lib/budget.js.map +1 -0
- package/lib/dependency.d.ts +11 -0
- package/lib/dependency.d.ts.map +1 -0
- package/lib/dependency.js +34 -0
- package/lib/dependency.js.map +1 -0
- package/lib/event-wait-store.d.ts +56 -0
- package/lib/event-wait-store.d.ts.map +1 -0
- package/lib/event-wait-store.js +189 -0
- package/lib/event-wait-store.js.map +1 -0
- package/lib/event-wait.d.ts +47 -0
- package/lib/event-wait.d.ts.map +1 -0
- package/lib/event-wait.js +372 -0
- package/lib/event-wait.js.map +1 -0
- package/lib/execution-store.d.ts +23 -0
- package/lib/execution-store.d.ts.map +1 -0
- package/lib/execution-store.js +207 -0
- package/lib/execution-store.js.map +1 -0
- package/lib/execution.d.ts +49 -0
- package/lib/execution.d.ts.map +1 -0
- package/lib/execution.js +438 -0
- package/lib/execution.js.map +1 -0
- package/lib/feedback.d.ts +63 -0
- package/lib/feedback.d.ts.map +1 -0
- package/lib/feedback.js +134 -0
- package/lib/feedback.js.map +1 -0
- package/lib/index.d.ts +27 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +9 -0
- package/lib/index.js.map +1 -0
- package/lib/outcome-store.d.ts +47 -0
- package/lib/outcome-store.d.ts.map +1 -0
- package/lib/outcome-store.js +271 -0
- package/lib/outcome-store.js.map +1 -0
- package/lib/outcome.d.ts +77 -0
- package/lib/outcome.d.ts.map +1 -0
- package/lib/outcome.js +417 -0
- package/lib/outcome.js.map +1 -0
- package/lib/service.d.ts +363 -0
- package/lib/service.d.ts.map +1 -0
- package/lib/service.js +1839 -0
- package/lib/service.js.map +1 -0
- package/lib/store.d.ts +21 -0
- package/lib/store.d.ts.map +1 -0
- package/lib/store.js +577 -0
- package/lib/store.js.map +1 -0
- package/lib/strategy-feedback.d.ts +29 -0
- package/lib/strategy-feedback.d.ts.map +1 -0
- package/lib/strategy-feedback.js +53 -0
- package/lib/strategy-feedback.js.map +1 -0
- package/lib/strategy-identity.d.ts +11 -0
- package/lib/strategy-identity.d.ts.map +1 -0
- package/lib/strategy-identity.js +10 -0
- package/lib/strategy-identity.js.map +1 -0
- package/lib/strategy-store.d.ts +76 -0
- package/lib/strategy-store.d.ts.map +1 -0
- package/lib/strategy-store.js +277 -0
- package/lib/strategy-store.js.map +1 -0
- package/lib/strategy.d.ts +56 -0
- package/lib/strategy.d.ts.map +1 -0
- package/lib/strategy.js +478 -0
- package/lib/strategy.js.map +1 -0
- package/lib/tools.d.ts +4 -0
- package/lib/tools.d.ts.map +1 -0
- package/lib/tools.js +130 -0
- package/lib/tools.js.map +1 -0
- package/lib/types.d.ts +285 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +10 -0
- package/lib/types.js.map +1 -0
- package/lib/verified-artifact.d.ts +72 -0
- package/lib/verified-artifact.d.ts.map +1 -0
- package/lib/verified-artifact.js +142 -0
- package/lib/verified-artifact.js.map +1 -0
- package/lib/verified-workflow.d.ts +120 -0
- package/lib/verified-workflow.d.ts.map +1 -0
- package/lib/verified-workflow.js +253 -0
- package/lib/verified-workflow.js.map +1 -0
- package/lib/version.d.ts +2 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/version.js +2 -0
- package/lib/version.js.map +1 -0
- package/lib/wake-store.d.ts +38 -0
- package/lib/wake-store.d.ts.map +1 -0
- package/lib/wake-store.js +177 -0
- package/lib/wake-store.js.map +1 -0
- package/lib/wake.d.ts +45 -0
- package/lib/wake.d.ts.map +1 -0
- package/lib/wake.js +327 -0
- package/lib/wake.js.map +1 -0
- package/package.json +143 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
2
|
+
import { acceptanceCanonicalJson, acceptanceDigest } from '@dsh-enhanced/task-acceptance-contract';
|
|
3
|
+
import { canonicalExternalEventEnvelope, externalEventDigest, parseExternalEventEnvelope } from '@dsh-enhanced/assistant-automations/external-event';
|
|
4
|
+
import { GoalStoreError } from './types.js';
|
|
5
|
+
import { prepareGoalStoreDatabaseFile } from './store.js';
|
|
6
|
+
import { validateGoalWakeIntent } from './wake-store.js';
|
|
7
|
+
const id = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,511}$/u;
|
|
8
|
+
const digest = /^[a-f0-9]{64}$/u;
|
|
9
|
+
function fail(code = 'invalid-input') { throw new GoalStoreError(code); }
|
|
10
|
+
const plain = (value) => value !== null && typeof value === 'object' && !Array.isArray(value) && Object.getPrototypeOf(value) === Object.prototype;
|
|
11
|
+
const exact = (value, keys) => plain(value) && Object.keys(value).length === keys.length && keys.every(key => Object.hasOwn(value, key));
|
|
12
|
+
const integer = (value, min = 0) => Number.isSafeInteger(value) && value >= min;
|
|
13
|
+
const text = (value, max = 512) => typeof value === 'string' && value.length > 0 && value.length <= max && id.test(value);
|
|
14
|
+
const same = (a, b) => acceptanceDigest(a) === acceptanceDigest(b);
|
|
15
|
+
const freeze = (value) => { if (value && typeof value === 'object' && !Object.isFrozen(value)) {
|
|
16
|
+
for (const child of Object.values(value))
|
|
17
|
+
freeze(child);
|
|
18
|
+
Object.freeze(value);
|
|
19
|
+
} ; return value; };
|
|
20
|
+
const parse = (value) => { try {
|
|
21
|
+
return JSON.parse(value);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return fail('schema');
|
|
25
|
+
} };
|
|
26
|
+
function source(value) {
|
|
27
|
+
if (!exact(value, ['protocol', 'sourceId', 'kind', 'version', 'configDigest', 'target', 'highWaterSequence']) || value.protocol !== 'dsh-event-source/v1'
|
|
28
|
+
|| !text(value.sourceId) || !['file', 'http-json', 'webhook', 'github-repository', 'lark-calendar'].includes(value.kind) || !text(value.version, 200)
|
|
29
|
+
|| typeof value.configDigest !== 'string' || !digest.test(value.configDigest) || !exact(value.target, ['automationId']) || !text(value.target.automationId)
|
|
30
|
+
|| !integer(value.highWaterSequence))
|
|
31
|
+
fail();
|
|
32
|
+
const input = value;
|
|
33
|
+
const target = input.target;
|
|
34
|
+
return freeze({ protocol: input.protocol, sourceId: input.sourceId, kind: input.kind, version: input.version, configDigest: input.configDigest, target: { automationId: target.automationId }, highWaterSequence: input.highWaterSequence });
|
|
35
|
+
}
|
|
36
|
+
export function validateGoalEventWaitIntent(value) {
|
|
37
|
+
const keys = Object.hasOwn(value, 'opportunityProfile') ? ['id', 'wake', 'source', 'createdAt', 'expiresAt', 'runTimeoutMs', 'opportunityProfile'] : ['id', 'wake', 'source', 'createdAt', 'expiresAt', 'runTimeoutMs'];
|
|
38
|
+
if (!exact(value, keys) || !text(value.id) || !integer(value.createdAt) || !integer(value.expiresAt) || value.expiresAt <= value.createdAt || value.expiresAt - value.createdAt > 31 * 86_400_000 || !integer(value.runTimeoutMs) || value.runTimeoutMs < 1_000 || value.runTimeoutMs > 300_000 || (Object.hasOwn(value, 'opportunityProfile') && !text(value.opportunityProfile)))
|
|
39
|
+
fail();
|
|
40
|
+
const wake = value.wake;
|
|
41
|
+
// Use the wake ledger's authoritative validator, with temporary valid scheduling fields.
|
|
42
|
+
const validated = validateGoalWakeIntent({ ...wake, id: `event-validate:${value.id}`, at: value.createdAt, expiresAt: value.createdAt + value.runTimeoutMs });
|
|
43
|
+
const snapshot = source(value.source);
|
|
44
|
+
return freeze({ id: value.id, wake: (({ id: _id, at: _at, expiresAt: _expiresAt, ...rest }) => rest)(validated), source: snapshot, createdAt: value.createdAt, expiresAt: value.expiresAt, runTimeoutMs: value.runTimeoutMs, ...(value.opportunityProfile === undefined ? {} : { opportunityProfile: value.opportunityProfile }) });
|
|
45
|
+
}
|
|
46
|
+
function matchedInput(intent, sequence, envelopeInput, wakeInput, code) {
|
|
47
|
+
if (!integer(sequence, intent.source.highWaterSequence + 1))
|
|
48
|
+
fail(code);
|
|
49
|
+
let envelope;
|
|
50
|
+
let wake;
|
|
51
|
+
try {
|
|
52
|
+
envelope = parseExternalEventEnvelope(envelopeInput);
|
|
53
|
+
wake = validateGoalWakeIntent(wakeInput);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
fail(code);
|
|
57
|
+
}
|
|
58
|
+
const { id: _id, at: _at, expiresAt: _expiresAt, ...base } = wake;
|
|
59
|
+
if (envelope.source.id !== intent.source.sourceId || envelope.source.kind !== intent.source.kind || envelope.source.version !== intent.source.version
|
|
60
|
+
|| envelope.source.configDigest !== intent.source.configDigest || envelope.target.automationId !== intent.source.target.automationId
|
|
61
|
+
|| envelope.event.receivedAt > intent.expiresAt
|
|
62
|
+
|| !same(base, intent.wake) || wake.id !== `goal-event-wake-${intent.id}` || wake.at < intent.createdAt
|
|
63
|
+
|| wake.expiresAt !== Math.min(intent.expiresAt, wake.at + intent.runTimeoutMs))
|
|
64
|
+
fail(code);
|
|
65
|
+
return { envelope, wake };
|
|
66
|
+
}
|
|
67
|
+
function wait(row) {
|
|
68
|
+
const intent = validateGoalEventWaitIntent(parse(row.intent_json));
|
|
69
|
+
if (row.id !== intent.id || row.scope_key !== acceptanceCanonicalJson(intent.wake.scope) || row.goal_id !== intent.wake.goalId || row.session_id !== intent.wake.native.sessionId || row.native_goal_id !== intent.wake.native.goalId || row.native_revision !== intent.wake.native.revision || !integer(row.source_cursor, intent.source.highWaterSequence))
|
|
70
|
+
fail('schema');
|
|
71
|
+
if (!['waiting', 'matched', 'materialized', 'terminal'].includes(row.state))
|
|
72
|
+
fail('schema');
|
|
73
|
+
const hasMatch = row.sequence !== null || row.envelope_canonical !== null || row.envelope_digest !== null || row.wake_json !== null;
|
|
74
|
+
const completeMatch = row.sequence !== null && row.envelope_canonical !== null && row.envelope_digest !== null && row.wake_json !== null;
|
|
75
|
+
if (hasMatch !== completeMatch || (row.state === 'waiting' && hasMatch) || ((row.state === 'matched' || row.state === 'materialized') && !completeMatch))
|
|
76
|
+
fail('schema');
|
|
77
|
+
if (row.state === 'terminal') {
|
|
78
|
+
if (!['denied', 'expired', 'source-changed', 'invalid-current', 'settled'].includes(row.reason ?? ''))
|
|
79
|
+
fail('schema');
|
|
80
|
+
}
|
|
81
|
+
else if (row.reason !== null)
|
|
82
|
+
fail('schema');
|
|
83
|
+
if (!completeMatch)
|
|
84
|
+
return freeze({ intent, state: row.state, ...(row.reason === null ? {} : { reason: row.reason }) });
|
|
85
|
+
if (!integer(row.sequence, 1) || !digest.test(row.envelope_digest))
|
|
86
|
+
fail('schema');
|
|
87
|
+
const envelope = parseExternalEventEnvelope(parse(row.envelope_canonical));
|
|
88
|
+
if (canonicalExternalEventEnvelope(envelope) !== row.envelope_canonical || externalEventDigest(envelope) !== row.envelope_digest)
|
|
89
|
+
fail('schema');
|
|
90
|
+
const matchedWake = validateGoalWakeIntent(parse(row.wake_json));
|
|
91
|
+
matchedInput(intent, row.sequence, envelope, matchedWake, 'schema');
|
|
92
|
+
return freeze({ intent, state: row.state, ...(row.reason === null ? {} : { reason: row.reason }), match: { sequence: row.sequence, envelope, digest: row.envelope_digest, wake: matchedWake } });
|
|
93
|
+
}
|
|
94
|
+
/** Private, immutable ledger for source observations which may authorize one wake. */
|
|
95
|
+
export class GoalEventWaitStore {
|
|
96
|
+
#database;
|
|
97
|
+
constructor(path) {
|
|
98
|
+
if (path !== ':memory:')
|
|
99
|
+
prepareGoalStoreDatabaseFile(path);
|
|
100
|
+
this.#database = new DatabaseSync(path, { enableForeignKeyConstraints: true });
|
|
101
|
+
try {
|
|
102
|
+
this.#database.exec('PRAGMA foreign_keys = ON; PRAGMA busy_timeout = 250; PRAGMA journal_mode = WAL; PRAGMA synchronous = FULL;');
|
|
103
|
+
const version = this.#database.prepare('PRAGMA user_version').get().user_version;
|
|
104
|
+
const tables = this.#database.prepare("SELECT name FROM sqlite_schema WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name").all().map(row => row.name);
|
|
105
|
+
if (version === 0 && tables.length === 0)
|
|
106
|
+
this.#database.exec("BEGIN IMMEDIATE; CREATE TABLE goal_event_waits (id TEXT PRIMARY KEY, intent_json TEXT NOT NULL, state TEXT NOT NULL CHECK(state IN ('waiting','matched','materialized','terminal')), reason TEXT, sequence INTEGER, envelope_canonical TEXT, envelope_digest TEXT, wake_json TEXT, scope_key TEXT NOT NULL, goal_id TEXT NOT NULL, session_id TEXT NOT NULL, native_goal_id TEXT NOT NULL, native_revision INTEGER NOT NULL, source_cursor INTEGER NOT NULL) STRICT; CREATE UNIQUE INDEX goal_event_wait_native_once ON goal_event_waits(scope_key, session_id, native_goal_id, native_revision); CREATE INDEX goal_event_wait_pending ON goal_event_waits(state, id); PRAGMA user_version = 2; COMMIT;");
|
|
107
|
+
else if (version === 1 && same(tables, ['goal_event_waits']))
|
|
108
|
+
this.#database.exec('BEGIN IMMEDIATE; ALTER TABLE goal_event_waits ADD COLUMN source_cursor INTEGER NOT NULL DEFAULT 0; UPDATE goal_event_waits SET source_cursor = json_extract(intent_json, \'$.source.highWaterSequence\'); PRAGMA user_version = 2; COMMIT;');
|
|
109
|
+
else if (version !== 2 || !same(tables, ['goal_event_waits']))
|
|
110
|
+
fail('schema');
|
|
111
|
+
const columns = this.#database.prepare('PRAGMA table_info(goal_event_waits)').all().map(row => row.name);
|
|
112
|
+
if (!same(columns, ['id', 'intent_json', 'state', 'reason', 'sequence', 'envelope_canonical', 'envelope_digest', 'wake_json', 'scope_key', 'goal_id', 'session_id', 'native_goal_id', 'native_revision', 'source_cursor']))
|
|
113
|
+
fail('schema');
|
|
114
|
+
const table = this.#database.prepare('PRAGMA table_list').all().find(row => row.name === 'goal_event_waits');
|
|
115
|
+
const indexes = this.#database.prepare('PRAGMA index_list(goal_event_waits)').all();
|
|
116
|
+
if (table?.strict !== 1 || !indexes.some(row => row.name === 'goal_event_wait_native_once' && row.unique === 1 && row.partial === 0))
|
|
117
|
+
fail('schema');
|
|
118
|
+
const uniqueColumns = this.#database.prepare('PRAGMA index_info(goal_event_wait_native_once)').all().map(row => row.name);
|
|
119
|
+
if (!same(uniqueColumns, ['scope_key', 'session_id', 'native_goal_id', 'native_revision']))
|
|
120
|
+
fail('schema');
|
|
121
|
+
if (this.#database.prepare('PRAGMA quick_check').get().quick_check !== 'ok')
|
|
122
|
+
fail('schema');
|
|
123
|
+
for (const row of this.#allRows())
|
|
124
|
+
wait(row);
|
|
125
|
+
if (path !== ':memory:')
|
|
126
|
+
prepareGoalStoreDatabaseFile(path);
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
this.#database.close();
|
|
130
|
+
throw error;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
#allRows() { return this.#database.prepare('SELECT id, intent_json, state, reason, sequence, envelope_canonical, envelope_digest, wake_json, scope_key, goal_id, session_id, native_goal_id, native_revision, source_cursor FROM goal_event_waits').all(); }
|
|
134
|
+
#get(idValue) { const row = this.#database.prepare('SELECT id, intent_json, state, reason, sequence, envelope_canonical, envelope_digest, wake_json, scope_key, goal_id, session_id, native_goal_id, native_revision, source_cursor FROM goal_event_waits WHERE id = ?').get(idValue); return row === undefined ? undefined : wait(row); }
|
|
135
|
+
get(idValue) { return text(idValue) ? this.#get(idValue) : fail(); }
|
|
136
|
+
prepare(input) { const intent = validateGoalEventWaitIntent(input); return this.#tx(() => { const old = this.#get(intent.id); if (old) {
|
|
137
|
+
if (!same(old.intent, intent))
|
|
138
|
+
fail('conflict');
|
|
139
|
+
return old;
|
|
140
|
+
} ; try {
|
|
141
|
+
this.#database.prepare("INSERT INTO goal_event_waits(id, intent_json, state, scope_key, goal_id, session_id, native_goal_id, native_revision, source_cursor) VALUES (?, ?, 'waiting', ?, ?, ?, ?, ?, ?)").run(intent.id, JSON.stringify(intent), acceptanceCanonicalJson(intent.wake.scope), intent.wake.goalId, intent.wake.native.sessionId, intent.wake.native.goalId, intent.wake.native.revision, intent.source.highWaterSequence);
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
fail('conflict');
|
|
145
|
+
} ; return this.#get(intent.id); }); }
|
|
146
|
+
cursor(idValue) { const row = this.#get(idValue); if (!row)
|
|
147
|
+
fail('not-found'); const value = this.#database.prepare('SELECT source_cursor FROM goal_event_waits WHERE id = ?').get(idValue); return value.source_cursor; }
|
|
148
|
+
advanceCursor(idValue, sequence) { if (!text(idValue) || !integer(sequence, 1))
|
|
149
|
+
fail(); return this.#tx(() => { const old = this.#get(idValue); if (!old || old.state !== 'waiting' || sequence <= old.intent.source.highWaterSequence)
|
|
150
|
+
fail('conflict'); const current = this.cursor(idValue); if (sequence < current)
|
|
151
|
+
fail('conflict'); if (sequence > current && Number(this.#database.prepare("UPDATE goal_event_waits SET source_cursor = ? WHERE id = ? AND state = 'waiting' AND source_cursor = ?").run(sequence, idValue, current).changes) !== 1)
|
|
152
|
+
fail('conflict'); return this.#get(idValue); }); }
|
|
153
|
+
match(idValue, input) { if (!text(idValue) || !integer(input.sequence, 1))
|
|
154
|
+
fail(); return this.#tx(() => { const old = this.#get(idValue); if (!old)
|
|
155
|
+
fail('not-found'); const { envelope, wake } = matchedInput(old.intent, input.sequence, input.envelope, input.wake, 'invalid-input'); if (old.state === 'matched' || old.state === 'materialized') {
|
|
156
|
+
if (old.match.sequence !== input.sequence || !same(old.match.wake, wake) || old.match.digest !== externalEventDigest(envelope))
|
|
157
|
+
fail('conflict');
|
|
158
|
+
return old;
|
|
159
|
+
} ; if (old.state !== 'waiting')
|
|
160
|
+
fail('conflict'); if (Number(this.#database.prepare("UPDATE goal_event_waits SET state = 'matched', sequence = ?, envelope_canonical = ?, envelope_digest = ?, wake_json = ? WHERE id = ? AND state = 'waiting'").run(input.sequence, canonicalExternalEventEnvelope(envelope), externalEventDigest(envelope), JSON.stringify(wake), idValue).changes) !== 1)
|
|
161
|
+
fail('conflict'); return this.#get(idValue); }); }
|
|
162
|
+
materialized(idValue) { return this.#tx(() => { const old = this.#get(idValue); if (!old)
|
|
163
|
+
fail('not-found'); if (old.state === 'materialized')
|
|
164
|
+
return old; if (old.state !== 'matched' || Number(this.#database.prepare("UPDATE goal_event_waits SET state = 'materialized' WHERE id = ? AND state = 'matched'").run(idValue).changes) !== 1)
|
|
165
|
+
fail('conflict'); return this.#get(idValue); }); }
|
|
166
|
+
terminal(idValue, reason) { return this.#tx(() => { const old = this.#get(idValue); if (!old)
|
|
167
|
+
fail('not-found'); if (old.state === 'terminal') {
|
|
168
|
+
if (old.reason !== reason)
|
|
169
|
+
fail('conflict');
|
|
170
|
+
return old;
|
|
171
|
+
} ; if (!['denied', 'expired', 'source-changed', 'invalid-current', 'settled'].includes(reason))
|
|
172
|
+
fail('conflict'); if (Number(this.#database.prepare("UPDATE goal_event_waits SET state = 'terminal', reason = ? WHERE id = ? AND state IN ('waiting','matched','materialized')").run(reason, idValue).changes) !== 1)
|
|
173
|
+
fail('conflict'); return this.#get(idValue); }); }
|
|
174
|
+
pending(afterId = '', limit = 32) { if (typeof afterId !== 'string' || !integer(limit, 1) || limit > 100)
|
|
175
|
+
fail(); return freeze(this.#database.prepare("SELECT id FROM goal_event_waits WHERE state IN ('waiting','matched','materialized') AND id > ? ORDER BY id LIMIT ?").all(afterId, limit).map(row => this.#get(row.id))); }
|
|
176
|
+
list(scope, goalId, limit = 20) { if (!text(goalId) || !integer(limit, 1) || limit > 100)
|
|
177
|
+
fail(); return freeze(this.#database.prepare('SELECT id FROM goal_event_waits WHERE scope_key = ? AND goal_id = ? ORDER BY id DESC LIMIT ?').all(acceptanceCanonicalJson(scope), goalId, limit).map(row => this.#get(row.id))); }
|
|
178
|
+
#tx(operation) { this.#database.exec('BEGIN IMMEDIATE'); try {
|
|
179
|
+
const value = operation();
|
|
180
|
+
this.#database.exec('COMMIT');
|
|
181
|
+
return value;
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
this.#database.exec('ROLLBACK');
|
|
185
|
+
throw error;
|
|
186
|
+
} }
|
|
187
|
+
close() { this.#database.close(); }
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=event-wait-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-wait-store.js","sourceRoot":"","sources":["../src/event-wait-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
import type { GoalRecord, GoalScope } from './types.js';
|
|
3
|
+
import type { GoalWakeIntent } from './wake-store.js';
|
|
4
|
+
import type { GoalWakeRuntime } from './wake.js';
|
|
5
|
+
import { type GoalEventSourceSnapshot, type GoalEventWait, type GoalEventWaitIntent } from './event-wait-store.js';
|
|
6
|
+
export interface PreparationAuthority {
|
|
7
|
+
waitId: string;
|
|
8
|
+
profileId: string;
|
|
9
|
+
scope: GoalScope;
|
|
10
|
+
goalId: string;
|
|
11
|
+
sessionId: string;
|
|
12
|
+
definitionDigest: string;
|
|
13
|
+
objective: string;
|
|
14
|
+
nativeGoalId: string;
|
|
15
|
+
nativeRevision: number;
|
|
16
|
+
ownerRouteId: string;
|
|
17
|
+
sourceDigest: string;
|
|
18
|
+
sourceId: string;
|
|
19
|
+
eventId: string;
|
|
20
|
+
eventSequence: number;
|
|
21
|
+
eventDigest: string;
|
|
22
|
+
expiresAt: number;
|
|
23
|
+
}
|
|
24
|
+
/** Converts one post-snapshot event observation into one owner-bound GoalWake. */
|
|
25
|
+
export declare class GoalEventWaitRuntime {
|
|
26
|
+
#private;
|
|
27
|
+
private readonly wake;
|
|
28
|
+
private readonly current;
|
|
29
|
+
private readonly proactive;
|
|
30
|
+
constructor(ctx: Context, path: string, wake: GoalWakeRuntime, current: (intent: GoalEventWaitIntent) => GoalRecord | undefined, proactive?: () => unknown);
|
|
31
|
+
snapshot(triggerId: string): GoalEventSourceSnapshot;
|
|
32
|
+
prepare(intent: GoalEventWaitIntent): GoalEventWait;
|
|
33
|
+
inspect(scope: GoalScope, goalId: string): readonly GoalEventWait[];
|
|
34
|
+
/** A fresh durable wait for this exact paused revision, still under source and owner authority. */
|
|
35
|
+
acceptsPausedRecord(record: GoalRecord): boolean;
|
|
36
|
+
health: () => {
|
|
37
|
+
enabled: boolean;
|
|
38
|
+
connected: boolean;
|
|
39
|
+
reconciliationFailures: number;
|
|
40
|
+
};
|
|
41
|
+
reconcile(): void;
|
|
42
|
+
/** Read-only authority for preparing an artifact while the original goal stays paused. */
|
|
43
|
+
assertPreparationCurrent(input: PreparationAuthority): void;
|
|
44
|
+
/** Called by GoalWakeRuntime before native resume. Scheduled wakes remain unaffected. */
|
|
45
|
+
assertWakeCurrent(wakeIntent: GoalWakeIntent, phase?: 'before-resume' | 'running' | 'terminal'): void;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=event-wait.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-wait.d.ts","sourceRoot":"","sources":["../src/event-wait.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAGlD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAsB,KAAK,uBAAuB,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAEtI,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;IACtF,gBAAgB,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;IAC/G,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CACvH;AAyDD,kFAAkF;AAClF,qBAAa,oBAAoB;;IAOS,OAAO,CAAC,QAAQ,CAAC,IAAI;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAFhB,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAmB,IAAI,EAAE,eAAe,EAC3D,OAAO,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,UAAU,GAAG,SAAS,EAChE,SAAS,GAAE,MAAM,OAAyB;IAmB7D,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,uBAAuB;IAKpD,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa;IAUnD,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE;IACnE,mGAAmG;IACnG,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAQhD,MAAM;;;;MAA2G;IACjH,SAAS,IAAI,IAAI;IAuJjB,0FAA0F;IAC1F,wBAAwB,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI;IAiB3D,yFAAyF;IACzF,iBAAiB,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,GAAE,eAAe,GAAG,SAAS,GAAG,UAA4B,GAAG,IAAI;CAiBvH"}
|