@dsh-enhanced/assistant-goals 0.1.67 → 0.1.68
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/README.md +38 -1
- package/lib/budget.d.ts +6 -1
- package/lib/budget.d.ts.map +1 -1
- package/lib/budget.js +24 -1
- package/lib/budget.js.map +1 -1
- package/lib/execution.d.ts +7 -1
- package/lib/execution.d.ts.map +1 -1
- package/lib/execution.js +51 -6
- package/lib/execution.js.map +1 -1
- package/lib/outcome.d.ts +9 -1
- package/lib/outcome.d.ts.map +1 -1
- package/lib/outcome.js +101 -2
- package/lib/outcome.js.map +1 -1
- package/lib/owner-acceptance-store.d.ts +19 -0
- package/lib/owner-acceptance-store.d.ts.map +1 -0
- package/lib/owner-acceptance-store.js +114 -0
- package/lib/owner-acceptance-store.js.map +1 -0
- package/lib/owner-acceptance.d.ts +82 -0
- package/lib/owner-acceptance.d.ts.map +1 -0
- package/lib/owner-acceptance.js +158 -0
- package/lib/owner-acceptance.js.map +1 -0
- package/lib/owner-intent-store.d.ts +36 -0
- package/lib/owner-intent-store.d.ts.map +1 -0
- package/lib/owner-intent-store.js +136 -0
- package/lib/owner-intent-store.js.map +1 -0
- package/lib/owner-intent.d.ts +100 -0
- package/lib/owner-intent.d.ts.map +1 -0
- package/lib/owner-intent.js +236 -0
- package/lib/owner-intent.js.map +1 -0
- package/lib/service.d.ts +38 -0
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +427 -8
- package/lib/service.js.map +1 -1
- package/lib/tools.d.ts.map +1 -1
- package/lib/tools.js +29 -3
- package/lib/tools.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +7 -7
package/lib/outcome.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { TaskAcceptanceContract, AcceptanceCriterion } from '@dsh-enhanced/
|
|
|
4
4
|
import type { AcceptanceHandle, AcceptedExecution, TaskAcceptanceRegistration } from '@dsh-enhanced/assistant-verifier';
|
|
5
5
|
import type { GoalExecutionRun, GoalRecord, GoalScope } from './types.js';
|
|
6
6
|
import type { GoalOutcomeAssessment } from './outcome-store.js';
|
|
7
|
+
import { type GoalOwnerAcceptanceSeal } from './owner-acceptance.js';
|
|
7
8
|
export interface GoalOutcomeView {
|
|
8
9
|
status: 'unverified' | 'pending' | 'achieved' | 'not-achieved' | 'unknown' | 'expired' | 'unavailable';
|
|
9
10
|
definitionVersion: number;
|
|
@@ -39,16 +40,23 @@ export declare class GoalOutcomeRuntime {
|
|
|
39
40
|
private readonly assertDependencies;
|
|
40
41
|
private readonly acceptsPausedEventWaitSettlement;
|
|
41
42
|
private readonly acceptsHistoricalPausedEventWaitCompletion;
|
|
43
|
+
/** Prepared-acceptance mode: whole-goal binding is deferred until the Host seals. */
|
|
44
|
+
private readonly deferredAcceptance;
|
|
45
|
+
private readonly sealFor;
|
|
42
46
|
constructor(ctx: Context, path: string, current: (agent: Agent) => GoalRecord, runs: (scope: GoalScope, goalId: string) => readonly GoalExecutionRun[], stepMaxDurationMs: number, assertDependencies: (record: GoalRecord) => void, acceptsPausedEventWaitSettlement?: (record: GoalRecord, run: GoalExecutionRun, agent: Agent) => boolean, acceptsHistoricalPausedEventWaitCompletion?: (record: GoalRecord, wake: Readonly<{
|
|
43
47
|
sessionId: string;
|
|
44
48
|
goalId: string;
|
|
45
49
|
revision: number;
|
|
46
50
|
roundsStarted: number;
|
|
47
51
|
maxGoalRounds: number;
|
|
48
|
-
}>, run: GoalExecutionRun) => boolean
|
|
52
|
+
}>, run: GoalExecutionRun) => boolean,
|
|
53
|
+
/** Prepared-acceptance mode: whole-goal binding is deferred until the Host seals. */
|
|
54
|
+
deferredAcceptance?: () => boolean, sealFor?: (record: GoalRecord) => GoalOwnerAcceptanceSeal | undefined);
|
|
49
55
|
register(registration: TaskAcceptanceRegistration): () => void;
|
|
50
56
|
/** Configuration-only check before the owner bridge mutates a native goal. */
|
|
51
57
|
preflight(scope: GoalScope, objective: string, record?: GoalRecord): void;
|
|
58
|
+
/** Freeze the sealed owner-prepared outcome contract read back from the verifier. */
|
|
59
|
+
bindPrepared(record: GoalRecord, seal: GoalOwnerAcceptanceSeal): void;
|
|
52
60
|
/** Called only while the owner creates/edits the definition, before native work. */
|
|
53
61
|
bind(record: GoalRecord): void;
|
|
54
62
|
/** Enrol a real native run in an assessment before its dispatch. */
|
package/lib/outcome.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../src/outcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,KAAK,EAAE,sBAAsB,EAA0B,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AACjI,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AAEvH,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../src/outcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,KAAK,EAAE,sBAAsB,EAA0B,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AACjI,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AAEvH,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAwB,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAE1F,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAA;IACtG,iBAAiB,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAA;KAAE,CAAA;IAC3J,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACpE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAA;CAC1C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,eAAe,EAAE,UAAU,GAAG,cAAc,CAAA;CACtD;AAKD,0EAA0E;AAC1E,qBAAa,kBAAkB;;IAOjB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,gCAAgC;IACjD,OAAO,CAAC,QAAQ,CAAC,0CAA0C;IAC3D,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBATG,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EACpC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,UAAU,EACrC,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS,gBAAgB,EAAE,EACvE,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,EAChD,gCAAgC,GAAE,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,KAAK,OAAqB,EACpH,0CAA0C,GAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,KAAK,OAAqB;IACxP,qFAAqF;IACpE,kBAAkB,GAAE,MAAM,OAAqB,EAC/C,OAAO,GAAE,CAAC,MAAM,EAAE,UAAU,KAAK,uBAAuB,GAAG,SAA2B;IA8BzG,QAAQ,CAAC,YAAY,EAAE,0BAA0B,GAAG,MAAM,IAAI;IAuB9D,8EAA8E;IAC9E,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI;IAyEzE,qFAAqF;IACrF,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,uBAAuB,GAAG,IAAI;IA6BrE,oFAAoF;IACpF,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAmB9B,oEAAoE;IACpE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,GAAG,IAAI;IAwB5C,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAmF5F,8FAA8F;IAC9F,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAoC1C,gFAAgF;IAChF,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,GAAG,SAAS;IAwCzM,sGAAsG;IACtG,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO;IAK1K,OAAO,GAAU,OAAO,sBAAsB,KAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CA0BjF;IACD,cAAc,GAAU,OAAO,sBAAsB,KAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAOvF;IACD,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe;IAGzC,8FAA8F;IAC9F,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,eAAe,GAAG,SAAS;IAyClE,uGAAuG;IACvG,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,qBAAqB,EAAE;IAOxE,MAAM;;;MAAyE;CAChF"}
|
package/lib/outcome.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { acceptanceDigest, validateTaskAcceptanceContract, validateTaskVerificationReceipt } from '@dsh-enhanced/task-acceptance-contract';
|
|
2
2
|
import { GoalOutcomeStore } from './outcome-store.js';
|
|
3
|
+
import { preparedRegistration } from './owner-acceptance.js';
|
|
3
4
|
const same = (a, b) => acceptanceDigest(a) === acceptanceDigest(b);
|
|
4
5
|
const handle = (contract) => ({ contractId: contract.id, contractDigest: contract.digest });
|
|
5
6
|
/** Independent observations of one immutable whole-goal specification. */
|
|
@@ -11,13 +12,17 @@ export class GoalOutcomeRuntime {
|
|
|
11
12
|
assertDependencies;
|
|
12
13
|
acceptsPausedEventWaitSettlement;
|
|
13
14
|
acceptsHistoricalPausedEventWaitCompletion;
|
|
15
|
+
deferredAcceptance;
|
|
16
|
+
sealFor;
|
|
14
17
|
#store;
|
|
15
18
|
#registration;
|
|
16
19
|
#active = true;
|
|
17
20
|
#handles = new Map();
|
|
18
21
|
#fences = new Map();
|
|
19
22
|
#settling = new Set();
|
|
20
|
-
constructor(ctx, path, current, runs, stepMaxDurationMs, assertDependencies, acceptsPausedEventWaitSettlement = () => false, acceptsHistoricalPausedEventWaitCompletion = () => false
|
|
23
|
+
constructor(ctx, path, current, runs, stepMaxDurationMs, assertDependencies, acceptsPausedEventWaitSettlement = () => false, acceptsHistoricalPausedEventWaitCompletion = () => false,
|
|
24
|
+
/** Prepared-acceptance mode: whole-goal binding is deferred until the Host seals. */
|
|
25
|
+
deferredAcceptance = () => false, sealFor = () => undefined) {
|
|
21
26
|
this.ctx = ctx;
|
|
22
27
|
this.current = current;
|
|
23
28
|
this.runs = runs;
|
|
@@ -25,6 +30,8 @@ export class GoalOutcomeRuntime {
|
|
|
25
30
|
this.assertDependencies = assertDependencies;
|
|
26
31
|
this.acceptsPausedEventWaitSettlement = acceptsPausedEventWaitSettlement;
|
|
27
32
|
this.acceptsHistoricalPausedEventWaitCompletion = acceptsHistoricalPausedEventWaitCompletion;
|
|
33
|
+
this.deferredAcceptance = deferredAcceptance;
|
|
34
|
+
this.sealFor = sealFor;
|
|
28
35
|
this.#store = new GoalOutcomeStore(path);
|
|
29
36
|
this.#store.recoverIncomplete();
|
|
30
37
|
ctx.on('assistant-verifier/receipt', notice => {
|
|
@@ -98,6 +105,21 @@ export class GoalOutcomeRuntime {
|
|
|
98
105
|
/** Configuration-only check before the owner bridge mutates a native goal. */
|
|
99
106
|
preflight(scope, objective, record) {
|
|
100
107
|
this.#ready();
|
|
108
|
+
if (record !== undefined) {
|
|
109
|
+
const seal = this.sealFor(record);
|
|
110
|
+
if (seal !== undefined) {
|
|
111
|
+
this.#preflightPrepared(scope, objective, record, seal);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (this.deferredAcceptance())
|
|
115
|
+
throw new Error('assistant-goals: no sealed owner acceptance; seal before the first goal round');
|
|
116
|
+
}
|
|
117
|
+
else if (this.deferredAcceptance()) {
|
|
118
|
+
// Prepared acceptance is sealed after the business goal exists, so create
|
|
119
|
+
// only verifies that the verifier can accept an owner-prepared contract.
|
|
120
|
+
this.#preparedCapability();
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
101
123
|
const verifier = this.ctx.get('assistantVerifier', false);
|
|
102
124
|
const selection = { scope: { workspace: scope.workspace, preset: scope.preset },
|
|
103
125
|
owner: { principalRecordId: scope.principalRecordId, principalVersion: scope.principalVersion }, objective };
|
|
@@ -131,6 +153,69 @@ export class GoalOutcomeRuntime {
|
|
|
131
153
|
throw new Error('assistant-goals: frozen whole-goal deadline cannot cover another native round and verification');
|
|
132
154
|
}
|
|
133
155
|
}
|
|
156
|
+
#preparedCapability() {
|
|
157
|
+
const registration = this.#ready();
|
|
158
|
+
if (preparedRegistration(registration) === undefined) {
|
|
159
|
+
throw new Error('assistant-goals: the whole-goal verifier does not support owner-prepared acceptance');
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
#preflightPrepared(scope, objective, record, seal) {
|
|
163
|
+
if (seal.goalId !== record.id || !same(record.scope, scope)
|
|
164
|
+
|| seal.definition.version !== record.definition.version || seal.definition.digest !== record.definition.digest
|
|
165
|
+
|| !same(seal.definition, record.definition)) {
|
|
166
|
+
throw new Error('assistant-goals: sealed owner acceptance is stale for the current goal definition; create a new goal');
|
|
167
|
+
}
|
|
168
|
+
if (objective !== record.definition.objective) {
|
|
169
|
+
throw new Error('assistant-goals: the objective is bound to the protected owner acceptance; create a new goal to change it');
|
|
170
|
+
}
|
|
171
|
+
const stepWindow = this.stepMaxDurationMs + seal.bounds.maxDurationMs;
|
|
172
|
+
const wholeWindow = stepWindow + seal.bounds.maxDurationMs;
|
|
173
|
+
if (seal.validityMs <= wholeWindow)
|
|
174
|
+
throw new Error('assistant-goals: acceptance validity cannot cover the configured native round and verification');
|
|
175
|
+
if (Date.now() + wholeWindow >= seal.outcomeExpiresAt)
|
|
176
|
+
throw new Error('assistant-goals: frozen whole-goal deadline cannot cover another native round and verification');
|
|
177
|
+
this.#preparedCapability();
|
|
178
|
+
const existing = this.#store.getDefinition(record.scope, record.id, record.definition.version);
|
|
179
|
+
if (existing === undefined)
|
|
180
|
+
return;
|
|
181
|
+
const template = existing.template;
|
|
182
|
+
if (!same(existing.definition, record.definition) || !same(record.scope, scope)
|
|
183
|
+
|| existing.sessionId !== record.native.sessionId || existing.nativeGoalId !== record.native.goalId) {
|
|
184
|
+
throw new Error('assistant-goals: whole-goal definition changed');
|
|
185
|
+
}
|
|
186
|
+
if (template.id !== seal.outcome.contractId || template.digest !== seal.outcome.contractDigest) {
|
|
187
|
+
throw new Error('assistant-goals: frozen whole-goal specification differs from the sealed owner acceptance');
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
/** Freeze the sealed owner-prepared outcome contract read back from the verifier. */
|
|
191
|
+
bindPrepared(record, seal) {
|
|
192
|
+
this.#ready();
|
|
193
|
+
this.#preparedCapability();
|
|
194
|
+
if (seal.goalId !== record.id || seal.definition.version !== record.definition.version
|
|
195
|
+
|| seal.definition.digest !== record.definition.digest || seal.objective !== record.definition.objective) {
|
|
196
|
+
throw new Error('assistant-goals: sealed owner acceptance is stale for the current goal definition; create a new goal');
|
|
197
|
+
}
|
|
198
|
+
const existing = this.#store.getDefinition(record.scope, record.id, record.definition.version);
|
|
199
|
+
if (existing !== undefined) {
|
|
200
|
+
if (!same(existing.definition, record.definition) || existing.sessionId !== record.native.sessionId
|
|
201
|
+
|| existing.nativeGoalId !== record.native.goalId
|
|
202
|
+
|| existing.template.id !== seal.outcome.contractId || existing.template.digest !== seal.outcome.contractDigest) {
|
|
203
|
+
throw new Error('assistant-goals: whole-goal definition changed');
|
|
204
|
+
}
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
const contract = this.ctx.get('assistantVerifier', false)?.inspectAcceptedTask(seal.outcome.contractId)?.contract;
|
|
208
|
+
if (contract === undefined || contract.id !== seal.outcome.contractId || contract.digest !== seal.outcome.contractDigest
|
|
209
|
+
|| contract.task.kind !== 'goal-outcome' || contract.objective !== record.definition.objective
|
|
210
|
+
|| contract.task.goal.id !== record.id || contract.task.goal.definitionVersion !== record.definition.version
|
|
211
|
+
|| contract.task.goal.definitionDigest !== record.definition.digest
|
|
212
|
+
|| contract.task.goal.sessionId !== record.native.sessionId || contract.task.goal.nativeGoalId !== record.native.goalId
|
|
213
|
+
|| !same(contract.criteria, seal.criteria) || !same(contract.bounds, seal.bounds)) {
|
|
214
|
+
throw new Error('assistant-goals: sealed owner acceptance readback failed');
|
|
215
|
+
}
|
|
216
|
+
this.#store.bind({ scope: record.scope, goalId: record.id, definition: record.definition,
|
|
217
|
+
sessionId: record.native.sessionId, nativeGoalId: record.native.goalId, template: contract });
|
|
218
|
+
}
|
|
134
219
|
/** Called only while the owner creates/edits the definition, before native work. */
|
|
135
220
|
bind(record) {
|
|
136
221
|
const registration = this.#ready();
|
|
@@ -141,6 +226,13 @@ export class GoalOutcomeRuntime {
|
|
|
141
226
|
throw new Error('assistant-goals: whole-goal definition changed');
|
|
142
227
|
return;
|
|
143
228
|
}
|
|
229
|
+
const seal = this.sealFor(record);
|
|
230
|
+
if (seal !== undefined) {
|
|
231
|
+
this.bindPrepared(record, seal);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
if (this.deferredAcceptance())
|
|
235
|
+
return;
|
|
144
236
|
const assessmentId = `goal-assessment-${acceptanceDigest([record.scope, record.id, record.definition, 'initial'])}`;
|
|
145
237
|
const accepted = registration.prepare(this.#input(record, assessmentId));
|
|
146
238
|
const contract = accepted === null ? undefined : this.ctx.get('assistantVerifier', false)?.inspectAcceptedTask(accepted.contractId)?.contract;
|
|
@@ -154,7 +246,14 @@ export class GoalOutcomeRuntime {
|
|
|
154
246
|
prepare(agent, run) {
|
|
155
247
|
const registration = this.#ready();
|
|
156
248
|
const record = this.current(agent);
|
|
157
|
-
|
|
249
|
+
let definition = this.#store.getDefinition(record.scope, record.id, record.definition.version);
|
|
250
|
+
if (definition === undefined && this.deferredAcceptance()) {
|
|
251
|
+
const seal = this.sealFor(record);
|
|
252
|
+
if (seal === undefined)
|
|
253
|
+
throw new Error('assistant-goals: no sealed owner acceptance; seal before the first goal round');
|
|
254
|
+
this.bindPrepared(record, seal);
|
|
255
|
+
definition = this.#store.getDefinition(record.scope, record.id, record.definition.version);
|
|
256
|
+
}
|
|
158
257
|
if (definition === undefined || !same(definition.definition, record.definition))
|
|
159
258
|
throw new Error('assistant-goals: whole-goal conditions were not frozen by the owner');
|
|
160
259
|
const prior = this.#store.list(record.scope, record.id, 100).filter(item => item.definition.definition.version === record.definition.version);
|
package/lib/outcome.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outcome.js","sourceRoot":"","sources":["../src/outcome.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"outcome.js","sourceRoot":"","sources":["../src/outcome.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type GoalOwnerAcceptanceSeal } from './owner-acceptance.js';
|
|
2
|
+
/**
|
|
3
|
+
* Private side ledger binding one sealed owner acceptance to one business goal.
|
|
4
|
+
*
|
|
5
|
+
* The seal is immutable: criteria, bounds, validity, preparer and the sealed
|
|
6
|
+
* outcome handle are frozen together with the exact goal definition digest they
|
|
7
|
+
* authorize. Reopening the database revalidates every row, so an edited or
|
|
8
|
+
* truncated side file fails closed instead of silently authorizing a different
|
|
9
|
+
* specification.
|
|
10
|
+
*/
|
|
11
|
+
export declare class GoalOwnerAcceptanceStore {
|
|
12
|
+
#private;
|
|
13
|
+
constructor(path: string);
|
|
14
|
+
/** Idempotent by exact seal; a different seal for the same goal conflicts. */
|
|
15
|
+
record(seal: GoalOwnerAcceptanceSeal): GoalOwnerAcceptanceSeal;
|
|
16
|
+
get(id: string): GoalOwnerAcceptanceSeal | undefined;
|
|
17
|
+
close(): void;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=owner-acceptance-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-acceptance-store.d.ts","sourceRoot":"","sources":["../src/owner-acceptance-store.ts"],"names":[],"mappings":"AAIA,OAAO,EAA+B,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AASjG;;;;;;;;GAQG;AACH,qBAAa,wBAAwB;;gBAEvB,IAAI,EAAE,MAAM;IAiCxB,8EAA8E;IAC9E,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,uBAAuB;IAiB9D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS;IAEpD,KAAK,IAAI,IAAI;CACd"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { DatabaseSync } from 'node:sqlite';
|
|
2
|
+
import { acceptanceDigest } from '@dsh-enhanced/task-acceptance-contract';
|
|
3
|
+
import { GoalStoreError } from './types.js';
|
|
4
|
+
import { prepareGoalStoreDatabaseFile } from './store.js';
|
|
5
|
+
import { validateOwnerAcceptanceSeal } from './owner-acceptance.js';
|
|
6
|
+
const HEX = /^[a-f0-9]{64}$/u;
|
|
7
|
+
const goalId = (value) => typeof value === 'string' && /^[A-Za-z0-9][A-Za-z0-9._:-]{0,511}$/u.test(value);
|
|
8
|
+
const integer = (value) => Number.isSafeInteger(value) && value >= 0;
|
|
9
|
+
function fail(code) { throw new GoalStoreError(code); }
|
|
10
|
+
function parse(value) { try {
|
|
11
|
+
return JSON.parse(value);
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return fail('schema');
|
|
15
|
+
} }
|
|
16
|
+
/**
|
|
17
|
+
* Private side ledger binding one sealed owner acceptance to one business goal.
|
|
18
|
+
*
|
|
19
|
+
* The seal is immutable: criteria, bounds, validity, preparer and the sealed
|
|
20
|
+
* outcome handle are frozen together with the exact goal definition digest they
|
|
21
|
+
* authorize. Reopening the database revalidates every row, so an edited or
|
|
22
|
+
* truncated side file fails closed instead of silently authorizing a different
|
|
23
|
+
* specification.
|
|
24
|
+
*/
|
|
25
|
+
export class GoalOwnerAcceptanceStore {
|
|
26
|
+
#database;
|
|
27
|
+
constructor(path) {
|
|
28
|
+
if (path !== ':memory:')
|
|
29
|
+
prepareGoalStoreDatabaseFile(path);
|
|
30
|
+
this.#database = new DatabaseSync(path, { enableForeignKeyConstraints: true });
|
|
31
|
+
try {
|
|
32
|
+
this.#database.exec('PRAGMA foreign_keys = ON; PRAGMA busy_timeout = 250; PRAGMA journal_mode = WAL; PRAGMA synchronous = FULL;');
|
|
33
|
+
const version = this.#database.prepare('PRAGMA user_version').get().user_version;
|
|
34
|
+
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);
|
|
35
|
+
if (version === 0 && tables.length === 0)
|
|
36
|
+
this.#database.exec(`BEGIN IMMEDIATE; CREATE TABLE goal_owner_acceptance (goal_id TEXT PRIMARY KEY, seal_json TEXT NOT NULL, seal_digest TEXT NOT NULL, definition_digest TEXT NOT NULL, recorded_at INTEGER NOT NULL) STRICT; PRAGMA user_version = 1; COMMIT;`);
|
|
37
|
+
else if (version !== 1 || tables.length !== 1 || tables[0] !== 'goal_owner_acceptance')
|
|
38
|
+
fail('schema');
|
|
39
|
+
const columns = this.#database.prepare('PRAGMA table_info(goal_owner_acceptance)').all().map(row => row.name);
|
|
40
|
+
const sql = this.#database.prepare("SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = 'goal_owner_acceptance'").get()?.sql;
|
|
41
|
+
if (JSON.stringify(columns) !== JSON.stringify(['goal_id', 'seal_json', 'seal_digest', 'definition_digest', 'recorded_at']) || !sql || !/\bSTRICT\b/u.test(sql))
|
|
42
|
+
fail('schema');
|
|
43
|
+
const check = this.#database.prepare('PRAGMA quick_check').get();
|
|
44
|
+
if (check.quick_check !== 'ok')
|
|
45
|
+
fail('schema');
|
|
46
|
+
for (const row of this.#database.prepare('SELECT goal_id, seal_json, seal_digest, definition_digest, recorded_at FROM goal_owner_acceptance').all())
|
|
47
|
+
this.#row(row);
|
|
48
|
+
if (path !== ':memory:')
|
|
49
|
+
prepareGoalStoreDatabaseFile(path);
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
this.#database.close();
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
#row(row) {
|
|
57
|
+
if (!goalId(row.goal_id) || typeof row.seal_digest !== 'string' || !HEX.test(row.seal_digest)
|
|
58
|
+
|| typeof row.definition_digest !== 'string' || !HEX.test(row.definition_digest) || !integer(row.recorded_at))
|
|
59
|
+
fail('schema');
|
|
60
|
+
let seal;
|
|
61
|
+
try {
|
|
62
|
+
seal = validateOwnerAcceptanceSeal(parse(row.seal_json));
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
fail('schema');
|
|
66
|
+
}
|
|
67
|
+
if (seal.goalId !== row.goal_id || seal.definition.digest !== row.definition_digest
|
|
68
|
+
|| acceptanceDigest(seal) !== row.seal_digest)
|
|
69
|
+
fail('schema');
|
|
70
|
+
return seal;
|
|
71
|
+
}
|
|
72
|
+
#get(id) {
|
|
73
|
+
const row = this.#database.prepare('SELECT goal_id, seal_json, seal_digest, definition_digest, recorded_at FROM goal_owner_acceptance WHERE goal_id = ?').get(id);
|
|
74
|
+
return row === undefined ? undefined : this.#row(row);
|
|
75
|
+
}
|
|
76
|
+
/** Idempotent by exact seal; a different seal for the same goal conflicts. */
|
|
77
|
+
record(seal) {
|
|
78
|
+
let value;
|
|
79
|
+
try {
|
|
80
|
+
value = validateOwnerAcceptanceSeal(seal);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
fail('invalid-input');
|
|
84
|
+
}
|
|
85
|
+
return this.#transaction(() => {
|
|
86
|
+
const existing = this.#get(value.goalId);
|
|
87
|
+
if (existing !== undefined) {
|
|
88
|
+
if (acceptanceDigest(existing) !== acceptanceDigest(value))
|
|
89
|
+
fail('conflict');
|
|
90
|
+
return existing;
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
this.#database.prepare('INSERT INTO goal_owner_acceptance(goal_id, seal_json, seal_digest, definition_digest, recorded_at) VALUES (?, ?, ?, ?, ?)')
|
|
94
|
+
.run(value.goalId, JSON.stringify(value), acceptanceDigest(value), value.definition.digest, Date.now());
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
fail('conflict');
|
|
98
|
+
}
|
|
99
|
+
return this.#get(value.goalId);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
get(id) { return goalId(id) ? this.#get(id) : fail('invalid-input'); }
|
|
103
|
+
#transaction(operation) { this.#database.exec('BEGIN IMMEDIATE'); try {
|
|
104
|
+
const result = operation();
|
|
105
|
+
this.#database.exec('COMMIT');
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
this.#database.exec('ROLLBACK');
|
|
110
|
+
throw error;
|
|
111
|
+
} }
|
|
112
|
+
close() { this.#database.close(); }
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=owner-acceptance-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-acceptance-store.js","sourceRoot":"","sources":["../src/owner-acceptance-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { AcceptanceCriterion, AcceptanceTaskIdentity } from '@dsh-enhanced/task-acceptance-contract';
|
|
2
|
+
import type { AcceptanceHandle, TaskAcceptanceRegistration } from '@dsh-enhanced/assistant-verifier';
|
|
3
|
+
import type { GoalDefinition } from './types.js';
|
|
4
|
+
export interface OwnerPreparedBounds {
|
|
5
|
+
readonly maxDurationMs: number;
|
|
6
|
+
readonly maxEvidenceBytes: number;
|
|
7
|
+
}
|
|
8
|
+
/** Host-prepared criteria for one owner goal; never a model tool payload. */
|
|
9
|
+
export interface OwnerPreparedAcceptanceInput {
|
|
10
|
+
readonly criteria: readonly AcceptanceCriterion[];
|
|
11
|
+
/** Optional step criteria; defaults to the outcome criteria. */
|
|
12
|
+
readonly stepCriteria?: readonly AcceptanceCriterion[];
|
|
13
|
+
readonly bounds: OwnerPreparedBounds;
|
|
14
|
+
readonly validityMs: number;
|
|
15
|
+
readonly preparer: Readonly<{
|
|
16
|
+
id: string;
|
|
17
|
+
digest: string;
|
|
18
|
+
}>;
|
|
19
|
+
}
|
|
20
|
+
/** Durable, immutable owner acceptance seal for one business goal. */
|
|
21
|
+
export interface GoalOwnerAcceptanceSeal {
|
|
22
|
+
readonly goalId: string;
|
|
23
|
+
readonly definition: GoalDefinition;
|
|
24
|
+
readonly objective: string;
|
|
25
|
+
readonly criteria: readonly AcceptanceCriterion[];
|
|
26
|
+
readonly stepCriteria: readonly AcceptanceCriterion[];
|
|
27
|
+
readonly bounds: OwnerPreparedBounds;
|
|
28
|
+
readonly validityMs: number;
|
|
29
|
+
readonly preparer: Readonly<{
|
|
30
|
+
id: string;
|
|
31
|
+
digest: string;
|
|
32
|
+
}>;
|
|
33
|
+
readonly outcome: AcceptanceHandle;
|
|
34
|
+
/** Verifier-derived prepared profile digest; informational, never recomputed here. */
|
|
35
|
+
readonly preparedProfileDigest: string;
|
|
36
|
+
readonly outcomeExpiresAt: number;
|
|
37
|
+
readonly at: number;
|
|
38
|
+
}
|
|
39
|
+
/** Exact Host-only input the verifier seals for one prepared task. */
|
|
40
|
+
export interface OwnerPreparedContractInput {
|
|
41
|
+
readonly scope: Readonly<{
|
|
42
|
+
workspace: string;
|
|
43
|
+
preset: string;
|
|
44
|
+
}>;
|
|
45
|
+
readonly owner: Readonly<{
|
|
46
|
+
principalRecordId: string;
|
|
47
|
+
principalVersion: number;
|
|
48
|
+
}>;
|
|
49
|
+
readonly task: AcceptanceTaskIdentity;
|
|
50
|
+
readonly objective: string;
|
|
51
|
+
readonly criteria: readonly AcceptanceCriterion[];
|
|
52
|
+
readonly bounds: OwnerPreparedBounds;
|
|
53
|
+
readonly validityMs: number;
|
|
54
|
+
readonly preparer: Readonly<{
|
|
55
|
+
id: string;
|
|
56
|
+
digest: string;
|
|
57
|
+
}>;
|
|
58
|
+
}
|
|
59
|
+
/** Newer verifier registrations expose the Host-prepared seal capability. */
|
|
60
|
+
export interface OwnerPreparedRegistration {
|
|
61
|
+
prepareOwnerContract(input: OwnerPreparedContractInput): AcceptanceHandle;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The published assistant-verifier build may predate the prepared-contract API,
|
|
65
|
+
* so Goals recognizes it structurally instead of requiring a rebuilt .d.ts.
|
|
66
|
+
* A registration without the method is a fail-closed older peer.
|
|
67
|
+
*/
|
|
68
|
+
export declare function preparedRegistration(registration: TaskAcceptanceRegistration): OwnerPreparedRegistration | undefined;
|
|
69
|
+
/** Validate one Host-only seal request before any verifier or native side effect. */
|
|
70
|
+
export declare function validateOwnerPreparedAcceptanceInput(value: unknown, stepMaxDurationMs: number): OwnerPreparedAcceptanceInput;
|
|
71
|
+
export declare const NATURAL_LANGUAGE_PREPARER_ID = "assistant-goals-owner-turn";
|
|
72
|
+
/**
|
|
73
|
+
* Resolve the model-proposed acceptance carried by the live owner goal_create
|
|
74
|
+
* call. Criteria remain a candidate proposal: the Goals wire/policy checks run
|
|
75
|
+
* here and the independent verifier decides decidability when sealing. The
|
|
76
|
+
* default validity covers the configured round plus verification and is bounded
|
|
77
|
+
* to the verifier's 1s-24h window.
|
|
78
|
+
*/
|
|
79
|
+
export declare function resolveOwnerPreparedAcceptanceInput(value: unknown, stepMaxDurationMs: number): OwnerPreparedAcceptanceInput;
|
|
80
|
+
/** Strict exact-key validation of one persisted seal; any drift fails closed. */
|
|
81
|
+
export declare function validateOwnerAcceptanceSeal(value: unknown): GoalOwnerAcceptanceSeal;
|
|
82
|
+
//# sourceMappingURL=owner-acceptance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-acceptance.d.ts","sourceRoot":"","sources":["../src/owner-acceptance.ts"],"names":[],"mappings":"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"}
|