@dsh-enhanced/assistant-skills 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.
Files changed (84) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +211 -0
  3. package/cordis.patch.yml +3 -0
  4. package/lib/capture-expansion.d.ts +18 -0
  5. package/lib/capture-expansion.d.ts.map +1 -0
  6. package/lib/capture-expansion.js +187 -0
  7. package/lib/capture-expansion.js.map +1 -0
  8. package/lib/comparison.d.ts +69 -0
  9. package/lib/comparison.d.ts.map +1 -0
  10. package/lib/comparison.js +173 -0
  11. package/lib/comparison.js.map +1 -0
  12. package/lib/definition.d.ts +163 -0
  13. package/lib/definition.d.ts.map +1 -0
  14. package/lib/definition.js +450 -0
  15. package/lib/definition.js.map +1 -0
  16. package/lib/external-holdout.d.ts +34 -0
  17. package/lib/external-holdout.d.ts.map +1 -0
  18. package/lib/external-holdout.js +212 -0
  19. package/lib/external-holdout.js.map +1 -0
  20. package/lib/holdout-authority.d.ts +123 -0
  21. package/lib/holdout-authority.d.ts.map +1 -0
  22. package/lib/holdout-authority.js +263 -0
  23. package/lib/holdout-authority.js.map +1 -0
  24. package/lib/holdout-cli.d.ts +4 -0
  25. package/lib/holdout-cli.d.ts.map +1 -0
  26. package/lib/holdout-cli.js +221 -0
  27. package/lib/holdout-cli.js.map +1 -0
  28. package/lib/holdout-qualification.d.ts +83 -0
  29. package/lib/holdout-qualification.d.ts.map +1 -0
  30. package/lib/holdout-qualification.js +306 -0
  31. package/lib/holdout-qualification.js.map +1 -0
  32. package/lib/index.d.ts +22 -0
  33. package/lib/index.d.ts.map +1 -0
  34. package/lib/index.js +9 -0
  35. package/lib/index.js.map +1 -0
  36. package/lib/prospective-holdout.d.ts +35 -0
  37. package/lib/prospective-holdout.d.ts.map +1 -0
  38. package/lib/prospective-holdout.js +254 -0
  39. package/lib/prospective-holdout.js.map +1 -0
  40. package/lib/repair-admission.d.ts +11 -0
  41. package/lib/repair-admission.d.ts.map +1 -0
  42. package/lib/repair-admission.js +25 -0
  43. package/lib/repair-admission.js.map +1 -0
  44. package/lib/repair-agent.d.ts +44 -0
  45. package/lib/repair-agent.d.ts.map +1 -0
  46. package/lib/repair-agent.js +241 -0
  47. package/lib/repair-agent.js.map +1 -0
  48. package/lib/repair-feedback.d.ts +70 -0
  49. package/lib/repair-feedback.d.ts.map +1 -0
  50. package/lib/repair-feedback.js +79 -0
  51. package/lib/repair-feedback.js.map +1 -0
  52. package/lib/repair-profile.d.ts +27 -0
  53. package/lib/repair-profile.d.ts.map +1 -0
  54. package/lib/repair-profile.js +51 -0
  55. package/lib/repair-profile.js.map +1 -0
  56. package/lib/repair-runtime.d.ts +35 -0
  57. package/lib/repair-runtime.d.ts.map +1 -0
  58. package/lib/repair-runtime.js +181 -0
  59. package/lib/repair-runtime.js.map +1 -0
  60. package/lib/replay.d.ts +38 -0
  61. package/lib/replay.d.ts.map +1 -0
  62. package/lib/replay.js +240 -0
  63. package/lib/replay.js.map +1 -0
  64. package/lib/sealed-holdout.d.ts +20 -0
  65. package/lib/sealed-holdout.d.ts.map +1 -0
  66. package/lib/sealed-holdout.js +12 -0
  67. package/lib/sealed-holdout.js.map +1 -0
  68. package/lib/service.d.ts +968 -0
  69. package/lib/service.d.ts.map +1 -0
  70. package/lib/service.js +1929 -0
  71. package/lib/service.js.map +1 -0
  72. package/lib/store.d.ts +366 -0
  73. package/lib/store.d.ts.map +1 -0
  74. package/lib/store.js +1517 -0
  75. package/lib/store.js.map +1 -0
  76. package/lib/version.d.ts +2 -0
  77. package/lib/version.d.ts.map +1 -0
  78. package/lib/version.js +2 -0
  79. package/lib/version.js.map +1 -0
  80. package/lib/watch-proof.d.ts +30 -0
  81. package/lib/watch-proof.d.ts.map +1 -0
  82. package/lib/watch-proof.js +209 -0
  83. package/lib/watch-proof.js.map +1 -0
  84. package/package.json +141 -0
package/lib/store.d.ts ADDED
@@ -0,0 +1,366 @@
1
+ import { type FailureCaptureProvenance, type SkillDefinition } from './definition.js';
2
+ export type SkillRunState = 'running' | 'succeeded' | 'failed' | 'unknown';
3
+ export interface SkillRunStep {
4
+ id: string;
5
+ state: 'succeeded' | 'failed' | 'unknown';
6
+ detail?: string;
7
+ }
8
+ export interface SkillRun {
9
+ id: string;
10
+ invocationId: string;
11
+ goalId: string;
12
+ sessionId: string;
13
+ skillName: string;
14
+ version: number;
15
+ inputs: Readonly<Record<string, unknown>>;
16
+ state: SkillRunState;
17
+ steps: readonly SkillRunStep[];
18
+ candidateId?: string;
19
+ goalExecutionRunId?: string;
20
+ goalDefinitionDigest?: string;
21
+ nativeGoalId?: string;
22
+ createdAt: number;
23
+ updatedAt: number;
24
+ }
25
+ export interface SkillRunClaim {
26
+ invocationId: string;
27
+ goalId: string;
28
+ sessionId: string;
29
+ skillName: string;
30
+ version: number;
31
+ inputs: Readonly<Record<string, unknown>>;
32
+ candidateId?: string;
33
+ goalExecutionRunId?: string;
34
+ goalDefinitionDigest?: string;
35
+ nativeGoalId?: string;
36
+ }
37
+ export interface StoredSkillDefinition extends SkillDefinition {
38
+ version: number;
39
+ parentVersion: number | null;
40
+ retired: boolean;
41
+ createdAt: number;
42
+ updatedAt: number;
43
+ restoredFromVersion?: number;
44
+ }
45
+ export interface SkillCandidate {
46
+ id: string;
47
+ definition: SkillDefinition;
48
+ parentVersion: number;
49
+ parentDigest: string | null;
50
+ reason: string;
51
+ trigger: string;
52
+ failureProvenance?: FailureCaptureProvenance;
53
+ expiresAt: number;
54
+ state: 'pending' | 'activated' | 'rejected';
55
+ createdAt: number;
56
+ updatedAt: number;
57
+ activatedVersion?: number;
58
+ trialRunId?: string;
59
+ activationComparisonId?: string;
60
+ deploymentId?: string;
61
+ acceptanceDigest?: string;
62
+ activationWatchDigest?: string;
63
+ activationWatchId?: string;
64
+ }
65
+ export interface SkillComparisonIdentity {
66
+ sessionId: string;
67
+ candidateId: string;
68
+ parentDigest: string;
69
+ profileId: string;
70
+ profileDigest: string;
71
+ invocationId: string;
72
+ }
73
+ export interface SkillComparison extends SkillComparisonIdentity {
74
+ id: string;
75
+ state: 'running' | 'complete' | 'unknown';
76
+ result: unknown | null;
77
+ createdAt: number;
78
+ updatedAt: number;
79
+ }
80
+ export type SkillWatchProofVersion = 'sole-skill-run/v1' | 'canonical-goal-outcome/v2';
81
+ export interface SkillWatchTaskFamily {
82
+ goalDefinitionDigest: string;
83
+ outcomeProfile: {
84
+ id: string;
85
+ version: number;
86
+ digest: string;
87
+ };
88
+ }
89
+ export interface SkillWatchCanonicalRevision {
90
+ subjectKind: 'goal-outcome';
91
+ subjectRef: string;
92
+ version: number;
93
+ digest: string;
94
+ disposition: 'upsert' | 'retract';
95
+ scopeWatermark: number;
96
+ }
97
+ export interface SkillWatchObservationBinding {
98
+ runId: string;
99
+ subjectRef: string;
100
+ receiptDigest: string;
101
+ verifiedAt: number;
102
+ validUntil: number;
103
+ executionTraceDigest: string;
104
+ taskFamilyDigest: string;
105
+ }
106
+ export interface SkillWatchObservation {
107
+ runId: string;
108
+ receiptDigest: string;
109
+ objectiveStatus: 'achieved' | 'not-achieved';
110
+ verifiedAt: number;
111
+ validUntil: number;
112
+ executionTraceDigest: string;
113
+ taskFamilyDigest?: string;
114
+ canonical?: SkillWatchCanonicalRevision;
115
+ }
116
+ export type SkillWatchObservationResult = Readonly<{
117
+ kind: 'current';
118
+ observation: SkillWatchObservation & {
119
+ canonical: SkillWatchCanonicalRevision;
120
+ };
121
+ binding?: SkillWatchObservationBinding;
122
+ }> | Readonly<{
123
+ kind: 'invalidated';
124
+ runId: string;
125
+ canonical: SkillWatchCanonicalRevision;
126
+ binding?: SkillWatchObservationBinding;
127
+ }>;
128
+ export interface SkillWatchCanonicalState extends SkillWatchCanonicalRevision {
129
+ runId: string;
130
+ binding: SkillWatchObservationBinding;
131
+ }
132
+ export interface SkillWatch {
133
+ id: string;
134
+ scope: object;
135
+ routeReceipt: unknown;
136
+ afterRunRowId: number;
137
+ ownerRouteId: string;
138
+ skillName: string;
139
+ version: number;
140
+ definitionDigest: string;
141
+ fallbackVersion: number;
142
+ fallbackDigest: string;
143
+ expiresAt: number;
144
+ maxRuns: number;
145
+ failureThreshold: number;
146
+ state: 'watching' | 'rolled-back' | 'expired' | 'revoked' | 'superseded' | 'exhausted';
147
+ runIds: readonly string[];
148
+ observations: readonly SkillWatchObservation[];
149
+ canonicalRevisions?: readonly SkillWatchCanonicalState[];
150
+ createdAt: number;
151
+ updatedAt: number;
152
+ rollbackVersion?: number;
153
+ proofVersion?: SkillWatchProofVersion;
154
+ taskFamily?: SkillWatchTaskFamily;
155
+ }
156
+ export interface SkillWatchInput {
157
+ ownerRouteId: string;
158
+ skillName: string;
159
+ version: number;
160
+ fallbackVersion: number;
161
+ expiresAt: number;
162
+ maxRuns: number;
163
+ failureThreshold: number;
164
+ }
165
+ export interface SkillDeploymentInput {
166
+ ownerRouteId: string;
167
+ expiresAt: number;
168
+ maxRuns: number;
169
+ canaryRuns: number;
170
+ }
171
+ export interface SkillDeploymentAdmission {
172
+ protocol: 'assistant-skills/canary-admission/v1';
173
+ skillName: string;
174
+ parentDefinitionDigest: string;
175
+ candidateDefinitionDigest: string;
176
+ taskFamily: SkillWatchTaskFamily;
177
+ }
178
+ export interface SkillDeployment {
179
+ id: string;
180
+ scope: object;
181
+ candidateId: string;
182
+ comparisonId: string;
183
+ qualificationDigest: string;
184
+ admissionDigest: string;
185
+ candidateDefinitionDigest: string;
186
+ routeReceipt: unknown;
187
+ ownerRouteId: string;
188
+ skillName: string;
189
+ version: number;
190
+ definitionDigest: string;
191
+ parentVersion: number;
192
+ watchId: string;
193
+ taskFamily: SkillWatchTaskFamily;
194
+ expiresAt: number;
195
+ maxRuns: number;
196
+ canaryRuns: number;
197
+ runIds: string[];
198
+ state: 'canary' | 'promoted' | 'blocked' | 'expired' | 'revoked' | 'rolled-back' | 'superseded';
199
+ createdAt: number;
200
+ updatedAt: number;
201
+ promotedAt?: number;
202
+ }
203
+ export interface SkillCapture {
204
+ id: string;
205
+ scope: object;
206
+ routeReceipt: unknown;
207
+ ownerRouteId: string;
208
+ goalId: string;
209
+ sessionId: string;
210
+ nativeGoalId: string;
211
+ name: string;
212
+ description: string;
213
+ parentVersion: number;
214
+ parentDigest: string | null;
215
+ definitionDigest: string;
216
+ expiresAt: number;
217
+ state: 'pending' | 'captured' | 'revoked' | 'expired' | 'unsupported' | 'unknown';
218
+ candidateId?: string;
219
+ detail?: string;
220
+ createdAt: number;
221
+ updatedAt: number;
222
+ }
223
+ export interface SkillCaptureInput {
224
+ ownerRouteId: string;
225
+ goalId: string;
226
+ sessionId: string;
227
+ nativeGoalId: string;
228
+ name: string;
229
+ description: string;
230
+ parentVersion: number;
231
+ expiresAt: number;
232
+ }
233
+ export interface SkillCandidateOptions {
234
+ expectedVersion: number;
235
+ reason: string;
236
+ trigger: string;
237
+ expiresAt: number;
238
+ failureProvenance?: FailureCaptureProvenance;
239
+ }
240
+ export type SkillRepairState = 'armed' | 'source-confirmed' | 'creating-repair' | 'repairing' | 'repair-achieved' | 'capturing' | 'candidate-staged' | 'comparing' | 'watching' | 'complete' | 'rejected' | 'revoked' | 'expired' | 'unknown';
241
+ export interface SkillRepairAuthorizationInput {
242
+ invocationId: string;
243
+ ownerRouteId: string;
244
+ source: {
245
+ goalId: string;
246
+ sessionId: string;
247
+ nativeGoalId: string;
248
+ definitionDigest: string;
249
+ };
250
+ profileId: string;
251
+ profileDigest: string;
252
+ skillName: string;
253
+ parentVersion: number;
254
+ parentDigest: string;
255
+ maxIterations: number;
256
+ expiresAt: number;
257
+ profileSequence?: readonly {
258
+ id: string;
259
+ digest: string;
260
+ }[];
261
+ feedbackAuthority?: {
262
+ sessionId: string;
263
+ expiresAt: number;
264
+ routeReceipt: unknown;
265
+ };
266
+ }
267
+ export interface SkillRepairNextIterationInput {
268
+ profileId: string;
269
+ source: {
270
+ goalId: string;
271
+ sessionId: string;
272
+ nativeGoalId: string;
273
+ definitionDigest: string;
274
+ };
275
+ trigger: unknown;
276
+ predecessorDeploymentId: string;
277
+ }
278
+ export interface SkillRepairContinuation {
279
+ id: string;
280
+ scope: object;
281
+ authorization: SkillRepairAuthorizationInput;
282
+ authorizationDigest: string;
283
+ routeReceipt: unknown;
284
+ iteration: number;
285
+ revision: number;
286
+ state: SkillRepairState;
287
+ checkpoint: Readonly<Record<string, unknown>>;
288
+ createdAt: number;
289
+ updatedAt: number;
290
+ }
291
+ /** Owner-scoped immutable definitions and no-replay invocation receipts. */
292
+ export declare class SkillStore {
293
+ #private;
294
+ constructor(path: string);
295
+ close(): void;
296
+ createRepairContinuation(scope: object, input: SkillRepairAuthorizationInput, routeReceipt: unknown): SkillRepairContinuation;
297
+ repairUsage(scope: object, id: string): {
298
+ modelCalls: number;
299
+ toolCalls: number;
300
+ };
301
+ chargeRepairUsage(scope: object, id: string, kind: 'model' | 'tool', limit: number): {
302
+ modelCalls: number;
303
+ toolCalls: number;
304
+ };
305
+ getRepairContinuation(scope: object, id: string): SkillRepairContinuation | undefined;
306
+ listRepairContinuations(scope?: object): SkillRepairContinuation[];
307
+ repairSourceRuns(scope: object, skillName: string, skillVersion: number, since: number): readonly SkillRun[];
308
+ transitionRepairContinuation(scope: object, id: string, expectedRevision: number, nextState: SkillRepairState, checkpoint: Readonly<Record<string, unknown>>): SkillRepairContinuation;
309
+ nextRepairIteration(scope: object, id: string, expectedRevision: number, input: SkillRepairNextIterationInput): SkillRepairContinuation;
310
+ save(scope: object, definition: SkillDefinition, expectedVersion?: number): StoredSkillDefinition;
311
+ list(scope: object): StoredSkillDefinition[];
312
+ get(scope: object, skillName: string, wantedVersion?: number): StoredSkillDefinition | undefined;
313
+ retire(scope: object, skillName: string, expectedVersion: number): StoredSkillDefinition;
314
+ stageCandidate(scope: object, definition: SkillDefinition, options: SkillCandidateOptions): SkillCandidate;
315
+ getCandidate(scope: object, id: string): SkillCandidate | undefined;
316
+ listCandidates(scope: object): SkillCandidate[];
317
+ createCapture(scope: object, input: SkillCaptureInput, routeReceipt: unknown, definitionDigest: string): SkillCapture;
318
+ listCaptures(scope?: object): SkillCapture[];
319
+ finishCapture(scope: object, id: string, state: Exclude<SkillCapture['state'], 'pending' | 'captured'>, detail?: string): SkillCapture;
320
+ captureCandidate(scope: object, id: string, definition: SkillDefinition): SkillCapture;
321
+ rejectCandidate(scope: object, id: string): SkillCandidate;
322
+ activateCandidate(scope: object, id: string, trialRunId: string, receipt: string, watch?: {
323
+ input: SkillWatchInput;
324
+ routeReceipt: unknown;
325
+ }): StoredSkillDefinition;
326
+ activateQualifiedCandidate(scope: object, candidateId: string, comparisonId: string, qualificationDigest: string, admission: SkillDeploymentAdmission, input: SkillDeploymentInput, routeReceipt: unknown): {
327
+ definition: StoredSkillDefinition;
328
+ deployment: SkillDeployment;
329
+ };
330
+ getDeployment(scope: object, id: string): SkillDeployment | undefined;
331
+ deploymentForVersion(scope: object, skillName: string, wantedVersion: number): SkillDeployment | undefined;
332
+ listDeployments(scope?: object): SkillDeployment[];
333
+ reconcileDeployment(scope: object, id: string): SkillDeployment | undefined;
334
+ /** Promotion-capable reconciliation; call only while holding Evaluation's exact canonical writer fence. */
335
+ reconcileDeploymentWithCanonicalPromotion(scope: object, id: string): SkillDeployment | undefined;
336
+ stopDeployment(scope: object, id: string, state: Extract<SkillDeployment['state'], 'blocked' | 'revoked'>): SkillDeployment | undefined;
337
+ assertDeploymentRun(scope: object, id: string): SkillDeployment;
338
+ rollback(scope: object, skillName: string, expectedVersion: number, targetVersion: number): StoredSkillDefinition;
339
+ createWatch(scope: object, input: SkillWatchInput, routeReceipt: unknown): SkillWatch;
340
+ listWatches(scope?: object): SkillWatch[];
341
+ observeWatch(scope: object, id: string, observation: SkillWatchObservation): SkillWatch | undefined;
342
+ replaceWatchObservation(scope: object, id: string, result: SkillWatchObservationResult): SkillWatch | undefined;
343
+ /** Commit the canonical replacement, deployment transition and any required exact-version rollback in one writer transaction. */
344
+ replaceWatchObservationAndRollback(scope: object, id: string, result: SkillWatchObservationResult): SkillWatch | undefined;
345
+ /** Commit a positive canonical replacement and promotion-only reconciliation under one Evaluation writer fence. */
346
+ replaceWatchObservationAndPromote(scope: object, id: string, deploymentId: string, result: SkillWatchObservationResult): {
347
+ watch: SkillWatch;
348
+ deployment: SkillDeployment;
349
+ };
350
+ stopWatch(scope: object, id: string, state: Extract<SkillWatch['state'], 'expired' | 'revoked' | 'superseded' | 'exhausted'>): SkillWatch | undefined;
351
+ rollbackWatch(scope: object, id: string): SkillWatch | undefined;
352
+ claim(scope: object, input: SkillRunClaim): {
353
+ claimed: boolean;
354
+ run: SkillRun;
355
+ };
356
+ finish(scope: object, id: string, state: Exclude<SkillRunState, 'running'>, steps: readonly SkillRunStep[]): SkillRun;
357
+ checkpoint(scope: object, id: string, steps: readonly SkillRunStep[]): SkillRun;
358
+ getRun(scope: object, id: string): SkillRun | undefined;
359
+ claimComparison(scope: object, identity: SkillComparisonIdentity, maxComparisons: number): {
360
+ claimed: boolean;
361
+ comparison: SkillComparison;
362
+ };
363
+ getComparison(scope: object, id: string): SkillComparison | undefined;
364
+ finishComparison(scope: object, id: string, state: 'complete' | 'unknown', result: unknown): SkillComparison;
365
+ }
366
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}