@dsh-enhanced/assistant-skills 0.1.30 → 0.1.32
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 +28 -5
- package/lib/repair-agent.d.ts +10 -2
- package/lib/repair-agent.d.ts.map +1 -1
- package/lib/repair-agent.js +163 -13
- package/lib/repair-agent.js.map +1 -1
- package/lib/repair-process.d.ts +20 -0
- package/lib/repair-process.d.ts.map +1 -0
- package/lib/repair-process.js +92 -0
- package/lib/repair-process.js.map +1 -0
- package/lib/repair-runtime.d.ts +2 -0
- package/lib/repair-runtime.d.ts.map +1 -1
- package/lib/repair-runtime.js +7 -1
- package/lib/repair-runtime.js.map +1 -1
- package/lib/service.d.ts +2 -1
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +36 -17
- package/lib/service.js.map +1 -1
- package/lib/store.d.ts +21 -0
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +182 -0
- package/lib/store.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +8 -8
package/lib/store.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type FailureCaptureProvenance, type SkillDefinition } from './definition.js';
|
|
2
|
+
import { type RepairProcessWitness } from './repair-process.js';
|
|
2
3
|
export type SkillRunState = 'running' | 'succeeded' | 'failed' | 'unknown';
|
|
3
4
|
export interface SkillRunStep {
|
|
4
5
|
id: string;
|
|
@@ -288,11 +289,31 @@ export interface SkillRepairContinuation {
|
|
|
288
289
|
createdAt: number;
|
|
289
290
|
updatedAt: number;
|
|
290
291
|
}
|
|
292
|
+
export interface RepairExecutionLease {
|
|
293
|
+
authorizationId: string;
|
|
294
|
+
authorizationDigest: string;
|
|
295
|
+
iteration: number;
|
|
296
|
+
sessionId: string;
|
|
297
|
+
holderId: string;
|
|
298
|
+
fence: number;
|
|
299
|
+
deadlineAt: number;
|
|
300
|
+
process: RepairProcessWitness;
|
|
301
|
+
state: 'active' | 'released';
|
|
302
|
+
pendingModel: number;
|
|
303
|
+
pendingTool: number;
|
|
304
|
+
}
|
|
291
305
|
/** Owner-scoped immutable definitions and no-replay invocation receipts. */
|
|
292
306
|
export declare class SkillStore {
|
|
293
307
|
#private;
|
|
294
308
|
constructor(path: string);
|
|
295
309
|
close(): void;
|
|
310
|
+
inspectRepairExecution(scope: object, id: string, iteration: number): RepairExecutionLease | undefined;
|
|
311
|
+
claimRepairExecution(scope: object, id: string, iteration: number, sessionId: string, holderId: string, deadlineAt: number, options: {
|
|
312
|
+
recover: boolean;
|
|
313
|
+
}): RepairExecutionLease;
|
|
314
|
+
assertRepairExecution(scope: object, lease: RepairExecutionLease): void;
|
|
315
|
+
beginRepairEffect(scope: object, lease: RepairExecutionLease, kind: 'model' | 'tool'): () => void;
|
|
316
|
+
releaseRepairExecution(scope: object, lease: RepairExecutionLease): void;
|
|
296
317
|
createRepairContinuation(scope: object, input: SkillRepairAuthorizationInput, routeReceipt: unknown): SkillRepairContinuation;
|
|
297
318
|
repairUsage(scope: object, id: string): {
|
|
298
319
|
modelCalls: number;
|
package/lib/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoC,KAAK,wBAAwB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEvH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;AAC1E,MAAM,WAAW,YAAY;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;AACxG,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACzC,KAAK,EAAE,aAAa,CAAA;IACpB,KAAK,EAAE,SAAS,YAAY,EAAE,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AACD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACtI,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CACxG;AACD,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE;AACtM,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,eAAe,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,wBAAwB,CAAA;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,UAAU,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AACD,MAAM,WAAW,uBAAuB;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE;AACzK,MAAM,WAAW,eAAgB,SAAQ,uBAAuB;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AACxL,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG,2BAA2B,CAAA;AACtF,MAAM,WAAW,oBAAoB;IAAG,oBAAoB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE;AACvI,MAAM,WAAW,2BAA2B;IAAG,WAAW,EAAE,cAAc,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE;AAC5L,MAAM,WAAW,4BAA4B;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE;AAC1M,MAAM,WAAW,qBAAqB;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,UAAU,GAAG,cAAc,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,2BAA2B,CAAA;CAAE;AACvQ,MAAM,MAAM,2BAA2B,GACnC,QAAQ,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,qBAAqB,GAAG;QAAE,SAAS,EAAE,2BAA2B,CAAA;KAAE,CAAC;IAAC,OAAO,CAAC,EAAE,4BAA4B,CAAA;CAAE,CAAC,GACtJ,QAAQ,CAAC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,2BAA2B,CAAC;IAAC,OAAO,CAAC,EAAE,4BAA4B,CAAA;CAAE,CAAC,CAAA;AACpI,MAAM,WAAW,wBAAyB,SAAQ,2BAA2B;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,4BAA4B,CAAA;CAAE;AACtI,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;IAC5M,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,CAAA;IACpJ,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAAC,kBAAkB,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,sBAAsB,CAAC;IAAC,UAAU,CAAC,EAAE,oBAAoB,CAAA;CAC9Q;AACD,MAAM,WAAW,eAAe;IAAG,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE;AACpL,MAAM,WAAW,oBAAoB;IAAG,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AACtH,MAAM,WAAW,wBAAwB;IAAG,QAAQ,EAAE,sCAAsC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,sBAAsB,EAAE,MAAM,CAAC;IAAC,yBAAyB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,oBAAoB,CAAA;CAAE;AACtN,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,yBAAyB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;IAC1M,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,oBAAoB,CAAA;IACtI,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;IACxE,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,CAAA;IAC/F,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC1D;AACD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;IACzG,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;IACrI,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAClL;AACD,MAAM,WAAW,iBAAiB;IAAG,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AACjM,MAAM,WAAW,qBAAqB;IAAG,eAAe,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,wBAAwB,CAAA;CAAE;AACpK,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,WAAW,GAAG,iBAAiB,GAAG,WAAW,GAAG,kBAAkB,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;AAC7O,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7F,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC3D,iBAAiB,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAA;CACpF;AACD,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7F,OAAO,EAAE,OAAO,CAAA;IAChB,uBAAuB,EAAE,MAAM,CAAA;CAChC;AACD,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,6BAA6B,CAAA;IAC5C,mBAAmB,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,gBAAgB,CAAA;IACvB,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAC7C,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AA2LD,4EAA4E;AAC5E,qBAAa,UAAU;;gBAET,IAAI,EAAE,MAAM;IAyCxB,KAAK,IAAI,IAAI;IACb,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,6BAA6B,EAAE,YAAY,EAAE,OAAO,GAAG,uBAAuB;IAmB7H,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAOjF,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAc9H,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS;IAKrF,uBAAuB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAAE;IAMlE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,QAAQ,EAAE;IAO5G,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,uBAAuB;IActL,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,6BAA6B,GAAG,uBAAuB;IAsBvI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,SAAI,GAAG,qBAAqB;IAY5F,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAM5C,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAShG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,qBAAqB;IAWxF,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,qBAAqB,GAAG,cAAc;IAuB1G,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAMnE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE;IAQ/C,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,GAAG,YAAY;IAarH,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;IAI5C,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY;IAGtI,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,YAAY;IAetF,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc;IAW1D,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,eAAe,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,GAAG,qBAAqB;IA+BnK,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,wBAAwB,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,OAAO,GAAG;QAAE,UAAU,EAAE,qBAAqB,CAAC;QAAC,UAAU,EAAE,eAAe,CAAA;KAAE;IAqC9Q,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIrE,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAM1G,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE;IAIlD,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI3E,2GAA2G;IAC3G,yCAAyC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIjG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,GAAG,eAAe,GAAG,SAAS;IAIvI,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,eAAe;IAU/D,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,qBAAqB;IAqBjH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,OAAO,GAAG,UAAU;IAmBrF,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE;IAezC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,GAAG,UAAU,GAAG,SAAS;IAYnG,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B,GAAG,UAAU,GAAG,SAAS;IAG/G,iIAAiI;IACjI,kCAAkC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B,GAAG,UAAU,GAAG,SAAS;IAG1H,mHAAmH;IACnH,iCAAiC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B,GAAG;QAAE,KAAK,EAAE,UAAU,CAAC;QAAC,UAAU,EAAE,eAAe,CAAA;KAAE;IA2G3K,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,CAAC,GAAG,UAAU,GAAG,SAAS;IAGrJ,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAsChE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,QAAQ,CAAA;KAAE;IAgC/E,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,QAAQ;IAoBrH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,QAAQ;IAQ/E,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAKvD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,eAAe,CAAA;KAAE;IAe5I,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IACrE,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,GAAG,eAAe;CA4H7G"}
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/lib/store.js
CHANGED
|
@@ -3,6 +3,7 @@ import { dirname, isAbsolute } from 'node:path';
|
|
|
3
3
|
import { DatabaseSync } from 'node:sqlite';
|
|
4
4
|
import { acceptanceDigest } from '@dsh-enhanced/task-acceptance-contract';
|
|
5
5
|
import { validateFailureCaptureProvenance } from './definition.js';
|
|
6
|
+
import { currentRepairProcess, probeRepairProcess } from './repair-process.js';
|
|
6
7
|
function fail(message = 'assistant-skills: store operation rejected') { throw new Error(message); }
|
|
7
8
|
function json(value) {
|
|
8
9
|
if (value === null || typeof value === 'string' || typeof value === 'boolean')
|
|
@@ -246,6 +247,7 @@ export class SkillStore {
|
|
|
246
247
|
CREATE TABLE IF NOT EXISTS skill_captures(scope_key TEXT NOT NULL,id TEXT NOT NULL,capture_json TEXT NOT NULL,state TEXT NOT NULL CHECK(state IN ('pending','captured','revoked','expired','unsupported','unknown')),PRIMARY KEY(scope_key,id)) STRICT, WITHOUT ROWID;
|
|
247
248
|
CREATE TABLE IF NOT EXISTS skill_repair_continuations(scope_key TEXT NOT NULL,id TEXT NOT NULL,authorization_digest TEXT NOT NULL,route_receipt_digest TEXT NOT NULL,revision INTEGER NOT NULL,state TEXT NOT NULL CHECK(state IN ('armed','source-confirmed','creating-repair','repairing','repair-achieved','capturing','candidate-staged','comparing','watching','complete','rejected','revoked','expired','unknown')),continuation_json TEXT NOT NULL,PRIMARY KEY(scope_key,id)) STRICT, WITHOUT ROWID;
|
|
248
249
|
CREATE TABLE IF NOT EXISTS skill_repair_usage(scope_key TEXT NOT NULL,id TEXT NOT NULL,authorization_digest TEXT NOT NULL,model_calls INTEGER NOT NULL CHECK(model_calls>=0),tool_calls INTEGER NOT NULL CHECK(tool_calls>=0),PRIMARY KEY(scope_key,id)) STRICT, WITHOUT ROWID;
|
|
250
|
+
CREATE TABLE IF NOT EXISTS skill_repair_execution(scope_key TEXT NOT NULL,id TEXT NOT NULL,iteration INTEGER NOT NULL,lease_json TEXT NOT NULL,fence INTEGER NOT NULL,state TEXT NOT NULL CHECK(state IN ('active','released')),pending_model INTEGER NOT NULL CHECK(pending_model>=0),pending_tool INTEGER NOT NULL CHECK(pending_tool>=0),PRIMARY KEY(scope_key,id,iteration)) STRICT, WITHOUT ROWID;
|
|
249
251
|
CREATE INDEX IF NOT EXISTS skill_definitions_current ON skill_definitions(scope_key,name,version DESC);
|
|
250
252
|
CREATE INDEX IF NOT EXISTS skill_runs_scope ON skill_runs(scope_key,id);
|
|
251
253
|
CREATE INDEX IF NOT EXISTS skill_watches_scope_state ON skill_watches(scope_key,state);
|
|
@@ -282,6 +284,121 @@ export class SkillStore {
|
|
|
282
284
|
this.#db.exec("CREATE UNIQUE INDEX IF NOT EXISTS skill_comparisons_one_active ON skill_comparisons(scope_key) WHERE state='running'");
|
|
283
285
|
}
|
|
284
286
|
close() { this.#db.close(); }
|
|
287
|
+
inspectRepairExecution(scope, id, iteration) {
|
|
288
|
+
const key = scopeKey(scope);
|
|
289
|
+
if (!text(id, 128) || !version(iteration))
|
|
290
|
+
fail('assistant-skills: invalid repair execution reference');
|
|
291
|
+
const value = this.#repairExecution(key, id, iteration);
|
|
292
|
+
return value === undefined ? undefined : clone(value);
|
|
293
|
+
}
|
|
294
|
+
claimRepairExecution(scope, id, iteration, sessionId, holderId, deadlineAt, options) {
|
|
295
|
+
const key = scopeKey(scope);
|
|
296
|
+
if (!text(id, 128) || !version(iteration) || !text(sessionId, 512) || !text(holderId, 512)
|
|
297
|
+
|| !Number.isSafeInteger(deadlineAt) || deadlineAt <= Date.now() || !options || Object.keys(options).length !== 1 || typeof options.recover !== 'boolean')
|
|
298
|
+
fail('assistant-skills: invalid repair execution claim');
|
|
299
|
+
const process = currentRepairProcess();
|
|
300
|
+
this.#db.exec('BEGIN IMMEDIATE');
|
|
301
|
+
try {
|
|
302
|
+
const continuation = this.#repairExecutionAuthorization(key, id, iteration, deadlineAt);
|
|
303
|
+
const current = this.#repairExecution(key, id, iteration);
|
|
304
|
+
if (!options.recover) {
|
|
305
|
+
if (current !== undefined || !process)
|
|
306
|
+
fail('assistant-skills: repair execution recovery required');
|
|
307
|
+
const lease = { authorizationId: id, authorizationDigest: continuation.authorizationDigest, iteration, sessionId, holderId, fence: 1, deadlineAt,
|
|
308
|
+
process, state: 'active', pendingModel: 0, pendingTool: 0 };
|
|
309
|
+
this.#putRepairExecution(key, lease);
|
|
310
|
+
this.#db.exec('COMMIT');
|
|
311
|
+
return clone(lease);
|
|
312
|
+
}
|
|
313
|
+
if (!current || current.authorizationDigest !== continuation.authorizationDigest || current.sessionId !== sessionId || current.iteration !== iteration || current.deadlineAt !== deadlineAt)
|
|
314
|
+
fail('assistant-skills: repair execution recovery unavailable');
|
|
315
|
+
if (current.state === 'released' && current.pendingModel === 0 && current.pendingTool === 0 && this.#sameRepairProcess(current.process, process)) {
|
|
316
|
+
const lease = { ...current, holderId, fence: current.fence + 1, process: process ?? current.process, state: 'active' };
|
|
317
|
+
this.#updateRepairExecution(key, current, lease);
|
|
318
|
+
this.#db.exec('COMMIT');
|
|
319
|
+
return clone(lease);
|
|
320
|
+
}
|
|
321
|
+
if (!['active', 'released'].includes(current.state) || current.pendingModel !== 0 || current.pendingTool !== 0 || !process || probeRepairProcess(current.process) !== 'gone')
|
|
322
|
+
fail('assistant-skills: repair execution holder remains authoritative');
|
|
323
|
+
const lease = { ...current, holderId, fence: current.fence + 1, process, state: 'active' };
|
|
324
|
+
this.#updateRepairExecution(key, current, lease);
|
|
325
|
+
this.#db.exec('COMMIT');
|
|
326
|
+
return clone(lease);
|
|
327
|
+
}
|
|
328
|
+
catch (error) {
|
|
329
|
+
try {
|
|
330
|
+
this.#db.exec('ROLLBACK');
|
|
331
|
+
}
|
|
332
|
+
catch { }
|
|
333
|
+
throw error;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
assertRepairExecution(scope, lease) {
|
|
337
|
+
const key = scopeKey(scope);
|
|
338
|
+
this.#assertRepairExecution(key, lease, true);
|
|
339
|
+
}
|
|
340
|
+
beginRepairEffect(scope, lease, kind) {
|
|
341
|
+
const key = scopeKey(scope);
|
|
342
|
+
if (kind !== 'model' && kind !== 'tool')
|
|
343
|
+
fail('assistant-skills: invalid repair effect');
|
|
344
|
+
this.#db.exec('BEGIN IMMEDIATE');
|
|
345
|
+
try {
|
|
346
|
+
const current = this.#assertRepairExecution(key, lease, true);
|
|
347
|
+
const field = kind === 'model' ? 'pendingModel' : 'pendingTool';
|
|
348
|
+
const saved = { ...current, [field]: current[field] + 1 };
|
|
349
|
+
this.#updateRepairExecution(key, current, saved);
|
|
350
|
+
this.#db.exec('COMMIT');
|
|
351
|
+
}
|
|
352
|
+
catch (error) {
|
|
353
|
+
try {
|
|
354
|
+
this.#db.exec('ROLLBACK');
|
|
355
|
+
}
|
|
356
|
+
catch { }
|
|
357
|
+
throw error;
|
|
358
|
+
}
|
|
359
|
+
let finished = false;
|
|
360
|
+
return () => {
|
|
361
|
+
if (finished)
|
|
362
|
+
return;
|
|
363
|
+
this.#db.exec('BEGIN IMMEDIATE');
|
|
364
|
+
try {
|
|
365
|
+
const current = this.#repairExecution(key, lease.authorizationId, lease.iteration);
|
|
366
|
+
const field = kind === 'model' ? 'pendingModel' : 'pendingTool';
|
|
367
|
+
if (!current || current.fence !== lease.fence || current.authorizationDigest !== lease.authorizationDigest || current.sessionId !== lease.sessionId
|
|
368
|
+
|| current.holderId !== lease.holderId || current.deadlineAt !== lease.deadlineAt || !this.#sameRepairProcess(current.process, currentRepairProcess())
|
|
369
|
+
|| current.state !== 'active' || current[field] < 1)
|
|
370
|
+
fail('assistant-skills: repair effect fence conflict');
|
|
371
|
+
this.#updateRepairExecution(key, current, { ...current, [field]: current[field] - 1 });
|
|
372
|
+
this.#db.exec('COMMIT');
|
|
373
|
+
finished = true;
|
|
374
|
+
}
|
|
375
|
+
catch (error) {
|
|
376
|
+
try {
|
|
377
|
+
this.#db.exec('ROLLBACK');
|
|
378
|
+
}
|
|
379
|
+
catch { }
|
|
380
|
+
throw error;
|
|
381
|
+
}
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
releaseRepairExecution(scope, lease) {
|
|
385
|
+
const key = scopeKey(scope);
|
|
386
|
+
this.#db.exec('BEGIN IMMEDIATE');
|
|
387
|
+
try {
|
|
388
|
+
const current = this.#assertRepairExecution(key, lease, false);
|
|
389
|
+
if (current.pendingModel !== 0 || current.pendingTool !== 0)
|
|
390
|
+
fail('assistant-skills: repair effects remain pending');
|
|
391
|
+
this.#updateRepairExecution(key, current, { ...current, state: 'released' });
|
|
392
|
+
this.#db.exec('COMMIT');
|
|
393
|
+
}
|
|
394
|
+
catch (error) {
|
|
395
|
+
try {
|
|
396
|
+
this.#db.exec('ROLLBACK');
|
|
397
|
+
}
|
|
398
|
+
catch { }
|
|
399
|
+
throw error;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
285
402
|
createRepairContinuation(scope, input, routeReceipt) {
|
|
286
403
|
const key = scopeKey(scope);
|
|
287
404
|
if (!repairAuthorization(input) || !json(routeReceipt))
|
|
@@ -1421,6 +1538,71 @@ export class SkillStore {
|
|
|
1421
1538
|
const row = this.#db.prepare('SELECT continuation_json FROM skill_repair_continuations WHERE scope_key=? AND id=?').get(key, id);
|
|
1422
1539
|
return row === undefined ? undefined : JSON.parse(row.continuation_json);
|
|
1423
1540
|
}
|
|
1541
|
+
#repairExecution(key, id, iteration) {
|
|
1542
|
+
const row = this.#db.prepare('SELECT lease_json FROM skill_repair_execution WHERE scope_key=? AND id=? AND iteration=?').get(key, id, iteration);
|
|
1543
|
+
if (!row)
|
|
1544
|
+
return undefined;
|
|
1545
|
+
try {
|
|
1546
|
+
const lease = JSON.parse(row.lease_json);
|
|
1547
|
+
if (!this.#validRepairExecution(lease) || lease.authorizationId !== id || lease.iteration !== iteration)
|
|
1548
|
+
fail('assistant-skills: invalid repair execution record');
|
|
1549
|
+
return lease;
|
|
1550
|
+
}
|
|
1551
|
+
catch (error) {
|
|
1552
|
+
if (error instanceof Error && error.message.startsWith('assistant-skills:'))
|
|
1553
|
+
throw error;
|
|
1554
|
+
fail('assistant-skills: invalid repair execution record');
|
|
1555
|
+
}
|
|
1556
|
+
}
|
|
1557
|
+
#putRepairExecution(key, lease) {
|
|
1558
|
+
if (!this.#validRepairExecution(lease))
|
|
1559
|
+
fail('assistant-skills: invalid repair execution record');
|
|
1560
|
+
this.#db.prepare('INSERT INTO skill_repair_execution(scope_key,id,iteration,lease_json,fence,state,pending_model,pending_tool) VALUES(?,?,?,?,?,?,?,?) ON CONFLICT(scope_key,id,iteration) DO UPDATE SET lease_json=excluded.lease_json,fence=excluded.fence,state=excluded.state,pending_model=excluded.pending_model,pending_tool=excluded.pending_tool')
|
|
1561
|
+
.run(key, lease.authorizationId, lease.iteration, JSON.stringify(lease), lease.fence, lease.state, lease.pendingModel, lease.pendingTool);
|
|
1562
|
+
}
|
|
1563
|
+
#updateRepairExecution(key, expected, saved) {
|
|
1564
|
+
if (!this.#validRepairExecution(expected) || !this.#validRepairExecution(saved) || expected.authorizationId !== saved.authorizationId || expected.iteration !== saved.iteration)
|
|
1565
|
+
fail('assistant-skills: invalid repair execution record');
|
|
1566
|
+
const result = this.#db.prepare("UPDATE skill_repair_execution SET lease_json=?,fence=?,state=?,pending_model=?,pending_tool=? WHERE scope_key=? AND id=? AND iteration=? AND fence=? AND state=? AND pending_model=? AND pending_tool=? AND json_extract(lease_json, '$.authorizationDigest')=?")
|
|
1567
|
+
.run(JSON.stringify(saved), saved.fence, saved.state, saved.pendingModel, saved.pendingTool, key, expected.authorizationId, expected.iteration, expected.fence, expected.state, expected.pendingModel, expected.pendingTool, expected.authorizationDigest);
|
|
1568
|
+
if (result.changes !== 1)
|
|
1569
|
+
fail('assistant-skills: repair execution fence conflict');
|
|
1570
|
+
}
|
|
1571
|
+
#validRepairExecution(value) {
|
|
1572
|
+
if (!value || typeof value !== 'object' || Array.isArray(value) || !json(value) || Object.keys(value).length !== 11)
|
|
1573
|
+
return false;
|
|
1574
|
+
const lease = value, proc = lease.process;
|
|
1575
|
+
return text(lease.authorizationId, 128) && digest(lease.authorizationDigest) && version(lease.iteration) && text(lease.sessionId, 512) && text(lease.holderId, 512)
|
|
1576
|
+
&& version(lease.fence) && Number.isSafeInteger(lease.deadlineAt) && lease.deadlineAt > 0 && ['active', 'released'].includes(lease.state)
|
|
1577
|
+
&& !!proc && typeof proc === 'object' && Object.keys(proc).length === 4 && typeof proc.bootId === 'string' && /^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/u.test(proc.bootId)
|
|
1578
|
+
&& Number.isSafeInteger(proc.pid) && proc.pid > 0 && typeof proc.startTicks === 'string' && /^[1-9][0-9]{0,63}$/u.test(proc.startTicks)
|
|
1579
|
+
&& typeof proc.pidNamespace === 'string' && /^(?:linux:[0-9]{1,32}:[0-9]{1,32}|local:[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12})$/u.test(proc.pidNamespace)
|
|
1580
|
+
&& Number.isSafeInteger(lease.pendingModel) && lease.pendingModel >= 0 && Number.isSafeInteger(lease.pendingTool) && lease.pendingTool >= 0
|
|
1581
|
+
&& (lease.state !== 'released' || (lease.pendingModel === 0 && lease.pendingTool === 0));
|
|
1582
|
+
}
|
|
1583
|
+
#sameRepairProcess(expected, actual) {
|
|
1584
|
+
return !!actual && expected.bootId === actual.bootId && expected.pidNamespace === actual.pidNamespace && expected.pid === actual.pid && expected.startTicks === actual.startTicks;
|
|
1585
|
+
}
|
|
1586
|
+
#repairExecutionAuthorization(key, id, iteration, deadlineAt) {
|
|
1587
|
+
const continuation = this.#repairContinuation(key, id);
|
|
1588
|
+
if (!continuation || continuation.iteration !== iteration || continuation.authorizationDigest !== acceptanceDigest(continuation.authorization)
|
|
1589
|
+
|| deadlineAt <= Date.now() || continuation.authorization.expiresAt <= Date.now() || deadlineAt > continuation.authorization.expiresAt
|
|
1590
|
+
|| ['complete', 'rejected', 'revoked', 'expired', 'unknown'].includes(continuation.state))
|
|
1591
|
+
fail('assistant-skills: repair execution authorization unavailable');
|
|
1592
|
+
return continuation;
|
|
1593
|
+
}
|
|
1594
|
+
#assertRepairExecution(key, lease, authorization) {
|
|
1595
|
+
if (!this.#validRepairExecution(lease))
|
|
1596
|
+
fail('assistant-skills: invalid repair execution lease');
|
|
1597
|
+
const current = this.#repairExecution(key, lease.authorizationId, lease.iteration);
|
|
1598
|
+
if (!current || current.state !== 'active' || current.fence !== lease.fence || current.authorizationDigest !== lease.authorizationDigest
|
|
1599
|
+
|| current.sessionId !== lease.sessionId || current.holderId !== lease.holderId || current.deadlineAt !== lease.deadlineAt
|
|
1600
|
+
|| !this.#sameRepairProcess(current.process, currentRepairProcess()))
|
|
1601
|
+
fail('assistant-skills: repair execution fence conflict');
|
|
1602
|
+
if (authorization)
|
|
1603
|
+
this.#repairExecutionAuthorization(key, lease.authorizationId, lease.iteration, lease.deadlineAt);
|
|
1604
|
+
return current;
|
|
1605
|
+
}
|
|
1424
1606
|
#watch(key, id) { const row = this.#db.prepare('SELECT watch_json FROM skill_watches WHERE scope_key=? AND id=?').get(key, id); return row ? JSON.parse(row.watch_json) : undefined; }
|
|
1425
1607
|
#watches(key, state) { return this.#db.prepare('SELECT watch_json FROM skill_watches WHERE scope_key=? AND state=?').all(key, state).map(row => JSON.parse(row.watch_json)); }
|
|
1426
1608
|
#putWatch(key, watch) { this.#db.prepare('INSERT INTO skill_watches(scope_key,id,watch_json,state) VALUES(?,?,?,?) ON CONFLICT(scope_key,id) DO UPDATE SET watch_json=excluded.watch_json,state=excluded.state').run(key, watch.id, JSON.stringify(watch), watch.state); }
|