@dsh-enhanced/assistant-automations 0.1.6 → 0.1.12

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 (53) hide show
  1. package/README.md +39 -7
  2. package/lib/coordinator.d.ts +57 -5
  3. package/lib/coordinator.d.ts.map +1 -1
  4. package/lib/coordinator.js +508 -88
  5. package/lib/coordinator.js.map +1 -1
  6. package/lib/growth.d.ts +120 -0
  7. package/lib/growth.d.ts.map +1 -0
  8. package/lib/growth.js +383 -0
  9. package/lib/growth.js.map +1 -0
  10. package/lib/host-executors.d.ts +25 -0
  11. package/lib/host-executors.d.ts.map +1 -0
  12. package/lib/host-executors.js +181 -0
  13. package/lib/host-executors.js.map +1 -0
  14. package/lib/index.d.ts +1 -1
  15. package/lib/index.d.ts.map +1 -1
  16. package/lib/index.js +1 -1
  17. package/lib/index.js.map +1 -1
  18. package/lib/operator.d.ts +2 -0
  19. package/lib/operator.d.ts.map +1 -1
  20. package/lib/operator.js +6 -2
  21. package/lib/operator.js.map +1 -1
  22. package/lib/proposals.d.ts +2 -2
  23. package/lib/proposals.d.ts.map +1 -1
  24. package/lib/proposals.js +34 -22
  25. package/lib/proposals.js.map +1 -1
  26. package/lib/runner.d.ts +28 -2
  27. package/lib/runner.d.ts.map +1 -1
  28. package/lib/runner.js +525 -73
  29. package/lib/runner.js.map +1 -1
  30. package/lib/service.d.ts +110 -4
  31. package/lib/service.d.ts.map +1 -1
  32. package/lib/service.js +1021 -16
  33. package/lib/service.js.map +1 -1
  34. package/lib/sqlite.d.ts +1 -1
  35. package/lib/sqlite.d.ts.map +1 -1
  36. package/lib/sqlite.js +450 -2
  37. package/lib/sqlite.js.map +1 -1
  38. package/lib/store.d.ts +211 -1
  39. package/lib/store.d.ts.map +1 -1
  40. package/lib/store.js +2260 -58
  41. package/lib/store.js.map +1 -1
  42. package/lib/tools.d.ts.map +1 -1
  43. package/lib/tools.js +18 -6
  44. package/lib/tools.js.map +1 -1
  45. package/lib/types.d.ts +399 -9
  46. package/lib/types.d.ts.map +1 -1
  47. package/lib/types.js +13 -1
  48. package/lib/types.js.map +1 -1
  49. package/lib/version.d.ts +1 -1
  50. package/lib/version.d.ts.map +1 -1
  51. package/lib/version.js +1 -1
  52. package/lib/version.js.map +1 -1
  53. package/package.json +16 -5
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../src/coordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import { validateWorkflowSteps, type GrowthAutomationArtifactRequest, type GrowthAutomationProposalRequest, type ResolvedWorkflowAutomationTemplate } from '@dsh-enhanced/assistant-growth-contract';
2
+ import type { AutomationRecord, AutomationRun } from './types.js';
3
+ export declare const GROWTH_AUTOMATION_OWNER = "assistant-growth-experiments";
4
+ export type GrowthOperationKind = 'approval-proposal' | 'approval-settlement' | 'replay' | 'shadow' | 'canary' | 'canary-inspection' | 'promotion' | 'rollback';
5
+ interface ArtifactRow {
6
+ artifact_id: string;
7
+ experiment_id: string;
8
+ candidate_id: string;
9
+ candidate_revision: number;
10
+ candidate_digest: string;
11
+ workspace: string;
12
+ preset: string;
13
+ owner_binding_id: string;
14
+ principal_id: string;
15
+ template_ref: string;
16
+ template_digest: string;
17
+ privacy_attestation_json: string;
18
+ evidence_digest: string;
19
+ evidence_count: number;
20
+ steps_json: string;
21
+ automation_id: string;
22
+ definition_hash: string;
23
+ definition_version: number;
24
+ proposal_id: string | null;
25
+ approval_diff_hash: string;
26
+ deadline_at: number;
27
+ state: 'approval-pending' | 'paused' | 'canary-pending' | 'promoted' | 'rejected' | 'rolled-back';
28
+ shadow_task_id: string | null;
29
+ canary_task_id: string | null;
30
+ canary_run_id: string | null;
31
+ canary_evaluation_id: string | null;
32
+ canary_evaluation_digest: string | null;
33
+ created_at: number;
34
+ updated_at: number;
35
+ }
36
+ export interface GrowthArtifactRecord {
37
+ artifactId: string;
38
+ experimentId: string;
39
+ candidateId: string;
40
+ candidateRevision: number;
41
+ candidateDigest: string;
42
+ workspace: string;
43
+ preset: string;
44
+ ownerBindingId: string;
45
+ principalId: string;
46
+ templateRef: string;
47
+ templateDigest: string;
48
+ privacyAttestation: GrowthAutomationProposalRequest['template']['privacyAttestation'];
49
+ evidenceDigest: string;
50
+ evidenceCount: number;
51
+ steps: ReturnType<typeof validateWorkflowSteps>;
52
+ automationId: string;
53
+ definitionHash: string;
54
+ definitionVersion: number;
55
+ proposalId?: string;
56
+ approvalDiffHash: string;
57
+ deadlineAt: number;
58
+ state: ArtifactRow['state'];
59
+ shadowTaskId?: string;
60
+ canaryTaskId?: string;
61
+ canaryRunId?: string;
62
+ canaryEvaluationId?: string;
63
+ canaryEvaluationDigest?: string;
64
+ createdAt: number;
65
+ updatedAt: number;
66
+ }
67
+ export declare class GrowthAutomationStore {
68
+ private readonly database;
69
+ private readonly now;
70
+ private closed;
71
+ constructor(path: string, now?: () => number);
72
+ beginOperation(kind: GrowthOperationKind, input: Readonly<{
73
+ operationId: string;
74
+ }>): unknown | undefined;
75
+ completeOperation(kind: GrowthOperationKind, input: Readonly<{
76
+ operationId: string;
77
+ }>, receipt: Readonly<Record<string, unknown>>): unknown;
78
+ artifactId(input: Readonly<GrowthAutomationProposalRequest>): string;
79
+ automationId(input: Readonly<GrowthAutomationProposalRequest>): string;
80
+ upsertArtifact(input: Readonly<{
81
+ request: Readonly<GrowthAutomationProposalRequest>;
82
+ resolved: Readonly<ResolvedWorkflowAutomationTemplate>;
83
+ automation: Readonly<AutomationRecord>;
84
+ proposalId: string;
85
+ approvalDiffHash: string;
86
+ policyStatus: 'approved' | 'pending' | 'rejected' | 'expired';
87
+ }>): Readonly<GrowthArtifactRecord>;
88
+ updateApproval(artifactId: string, proposalId: string, status: 'approved' | 'pending' | 'rejected' | 'expired'): Readonly<GrowthArtifactRecord>;
89
+ requireArtifact(input: Readonly<GrowthAutomationArtifactRequest>): Readonly<GrowthArtifactRecord>;
90
+ byExperiment(experimentId: string): Readonly<GrowthArtifactRecord> | undefined;
91
+ createExecutionTask(input: Readonly<{
92
+ artifact: Readonly<GrowthArtifactRecord>;
93
+ operationId: string;
94
+ kind: 'shadow' | 'canary';
95
+ }>): Readonly<{
96
+ occurrenceId: string;
97
+ taskId: string;
98
+ }>;
99
+ recordCanaryRun(artifactId: string, run: Readonly<AutomationRun>): Readonly<GrowthArtifactRecord>;
100
+ recordCanaryEvaluation(input: Readonly<{
101
+ artifactId: string;
102
+ runId: string;
103
+ evaluationId: string;
104
+ evaluationDigest: string;
105
+ }>): Readonly<GrowthArtifactRecord>;
106
+ completePromotion(input: Readonly<{
107
+ request: Readonly<GrowthAutomationArtifactRequest>;
108
+ automation: Readonly<AutomationRecord>;
109
+ }>): Readonly<GrowthArtifactRecord>;
110
+ completeRollback(input: Readonly<{
111
+ request: Readonly<GrowthAutomationArtifactRequest>;
112
+ automation: Readonly<AutomationRecord>;
113
+ }>): Readonly<GrowthArtifactRecord>;
114
+ close(): void;
115
+ private byId;
116
+ private transaction;
117
+ private assertOpen;
118
+ }
119
+ export {};
120
+ //# sourceMappingURL=growth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"growth.d.ts","sourceRoot":"","sources":["../src/growth.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,qBAAqB,EACrB,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,EACpC,KAAK,kCAAkC,EACxC,MAAM,yCAAyC,CAAA;AAGhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAEjE,eAAO,MAAM,uBAAuB,iCAAiC,CAAA;AAErE,MAAM,MAAM,mBAAmB,GAC3B,mBAAmB,GACnB,qBAAqB,GACrB,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,mBAAmB,GACnB,WAAW,GACX,UAAU,CAAA;AAUd,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,wBAAwB,EAAE,MAAM,CAAA;IAChC,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,kBAAkB,GAAG,QAAQ,GAAG,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAA;IACjG,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,eAAe,EAAE,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,+BAA+B,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,CAAA;IACrF,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;IAC/C,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAmDD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;IAClC,OAAO,CAAC,MAAM,CAAQ;gBAEV,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,MAAiB;IAKtD,cAAc,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,GAAG,SAAS;IA0BxG,iBAAiB,CACf,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,QAAQ,CAAC;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,EACxC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACzC,OAAO;IAwBV,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,+BAA+B,CAAC,GAAG,MAAM;IAOpE,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,+BAA+B,CAAC,GAAG,MAAM;IAOtE,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC7B,OAAO,EAAE,QAAQ,CAAC,+BAA+B,CAAC,CAAA;QAClD,QAAQ,EAAE,QAAQ,CAAC,kCAAkC,CAAC,CAAA;QACtD,UAAU,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QACtC,UAAU,EAAE,MAAM,CAAA;QAClB,gBAAgB,EAAE,MAAM,CAAA;QACxB,YAAY,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAA;KAC9D,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAqEnC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAC5G,QAAQ,CAAC,oBAAoB,CAAC;IAoBhC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,+BAA+B,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAWjG,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC,oBAAoB,CAAC,GAAG,SAAS;IAQ9E,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAClC,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAA;QACxC,WAAW,EAAE,MAAM,CAAA;QACnB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAA;KAC1B,CAAC,GAAG,QAAQ,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAqEvD,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAmBjG,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC;QACrC,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,CAAA;QACb,YAAY,EAAE,MAAM,CAAA;QACpB,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAwBnC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAChC,OAAO,EAAE,QAAQ,CAAC,+BAA+B,CAAC,CAAA;QAClD,UAAU,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;KACvC,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAsBnC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC/B,OAAO,EAAE,QAAQ,CAAC,+BAA+B,CAAC,CAAA;QAClD,UAAU,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;KACvC,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAuBnC,KAAK,IAAI,IAAI;IAMb,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,UAAU;CAGnB"}
package/lib/growth.js ADDED
@@ -0,0 +1,383 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { canonicalGrowthJson, growthObjectDigest, growthPortPayloadDigest, validateWorkflowSteps, } from '@dsh-enhanced/assistant-growth-contract';
3
+ import { openAutomationDatabase } from './sqlite.js';
4
+ import { AutomationStoreError, stableOccurrenceId } from './store.js';
5
+ export const GROWTH_AUTOMATION_OWNER = 'assistant-growth-experiments';
6
+ function artifact(row) {
7
+ return Object.freeze({
8
+ artifactId: row.artifact_id,
9
+ experimentId: row.experiment_id,
10
+ candidateId: row.candidate_id,
11
+ candidateRevision: row.candidate_revision,
12
+ candidateDigest: row.candidate_digest,
13
+ workspace: row.workspace,
14
+ preset: row.preset,
15
+ ownerBindingId: row.owner_binding_id,
16
+ principalId: row.principal_id,
17
+ templateRef: row.template_ref,
18
+ templateDigest: row.template_digest,
19
+ privacyAttestation: JSON.parse(row.privacy_attestation_json),
20
+ evidenceDigest: row.evidence_digest,
21
+ evidenceCount: row.evidence_count,
22
+ steps: validateWorkflowSteps(JSON.parse(row.steps_json)),
23
+ automationId: row.automation_id,
24
+ definitionHash: row.definition_hash,
25
+ definitionVersion: row.definition_version,
26
+ ...(row.proposal_id === null ? {} : { proposalId: row.proposal_id }),
27
+ approvalDiffHash: row.approval_diff_hash,
28
+ deadlineAt: row.deadline_at,
29
+ state: row.state,
30
+ ...(row.shadow_task_id === null ? {} : { shadowTaskId: row.shadow_task_id }),
31
+ ...(row.canary_task_id === null ? {} : { canaryTaskId: row.canary_task_id }),
32
+ ...(row.canary_run_id === null ? {} : { canaryRunId: row.canary_run_id }),
33
+ ...(row.canary_evaluation_id === null ? {} : { canaryEvaluationId: row.canary_evaluation_id }),
34
+ ...(row.canary_evaluation_digest === null ? {} : { canaryEvaluationDigest: row.canary_evaluation_digest }),
35
+ createdAt: row.created_at,
36
+ updatedAt: row.updated_at,
37
+ });
38
+ }
39
+ function identityMatches(row, input) {
40
+ return row.artifact_id === input.artifactId
41
+ && row.definition_version === input.artifactVersion
42
+ && row.definition_hash === input.artifactDigest
43
+ && row.experiment_id === input.experimentId
44
+ && row.candidate_id === input.candidateId
45
+ && row.candidate_revision === input.candidateRevision
46
+ && row.candidate_digest === input.candidateDigest;
47
+ }
48
+ function definitionDigest(definition) {
49
+ return createHash('sha256').update(JSON.stringify(definition)).digest('hex');
50
+ }
51
+ export class GrowthAutomationStore {
52
+ database;
53
+ now;
54
+ closed = false;
55
+ constructor(path, now = Date.now) {
56
+ this.database = openAutomationDatabase(path);
57
+ this.now = now;
58
+ }
59
+ beginOperation(kind, input) {
60
+ this.assertOpen();
61
+ const payloadDigest = growthPortPayloadDigest(input);
62
+ return this.transaction(() => {
63
+ const existing = this.database.prepare(`
64
+ SELECT * FROM automation_growth_operations WHERE operation_id = ?
65
+ `).get(input.operationId);
66
+ if (existing !== undefined) {
67
+ if (existing.operation_kind !== kind || existing.payload_digest !== payloadDigest) {
68
+ throw new AutomationStoreError('idempotency-conflict', 'growth operationId was reused with another operation or payload');
69
+ }
70
+ return existing.receipt_json === null ? undefined : JSON.parse(existing.receipt_json);
71
+ }
72
+ const now = this.now();
73
+ this.database.prepare(`
74
+ INSERT INTO automation_growth_operations(
75
+ operation_id, operation_kind, payload_digest, status, receipt_json, created_at, updated_at
76
+ ) VALUES (?, ?, ?, 'pending', NULL, ?, ?)
77
+ `).run(input.operationId, kind, payloadDigest, now, now);
78
+ return undefined;
79
+ });
80
+ }
81
+ completeOperation(kind, input, receipt) {
82
+ this.assertOpen();
83
+ const payloadDigest = growthPortPayloadDigest(input);
84
+ return this.transaction(() => {
85
+ const existing = this.database.prepare(`
86
+ SELECT * FROM automation_growth_operations WHERE operation_id = ?
87
+ `).get(input.operationId);
88
+ if (existing === undefined || existing.operation_kind !== kind || existing.payload_digest !== payloadDigest) {
89
+ throw new AutomationStoreError('idempotency-conflict', 'growth operation intent is missing or changed');
90
+ }
91
+ if (existing.receipt_json !== null)
92
+ return JSON.parse(existing.receipt_json);
93
+ const receiptJson = canonicalGrowthJson(receipt);
94
+ const changed = this.database.prepare(`
95
+ UPDATE automation_growth_operations
96
+ SET status = 'completed', receipt_json = ?, updated_at = ?
97
+ WHERE operation_id = ? AND status = 'pending' AND receipt_json IS NULL
98
+ `).run(receiptJson, this.now(), input.operationId);
99
+ if (changed.changes !== 1) {
100
+ throw new AutomationStoreError('version-conflict', 'growth operation changed before receipt commit');
101
+ }
102
+ return JSON.parse(receiptJson);
103
+ });
104
+ }
105
+ artifactId(input) {
106
+ return `growth-${growthObjectDigest([
107
+ 'assistant-growth-artifact/v1', input.experimentId, input.candidateId,
108
+ input.candidateRevision, input.candidateDigest,
109
+ ])}`;
110
+ }
111
+ automationId(input) {
112
+ return `workflow-growth:${growthObjectDigest([
113
+ 'assistant-growth-automation/v1', input.experimentId, input.candidateId,
114
+ input.candidateRevision, input.candidateDigest,
115
+ ])}`;
116
+ }
117
+ upsertArtifact(input) {
118
+ this.assertOpen();
119
+ const expectedArtifactId = this.artifactId(input.request);
120
+ const expectedAutomationId = this.automationId(input.request);
121
+ const definitionHash = input.request.template.templateDigest === input.resolved.template.templateDigest
122
+ ? definitionDigest(input.automation.definition)
123
+ : '';
124
+ if (input.automation.id !== expectedAutomationId || input.automation.owner !== GROWTH_AUTOMATION_OWNER
125
+ || input.automation.status !== 'paused' || definitionHash === ''
126
+ || input.automation.definition.principal !== input.resolved.principalId
127
+ || input.resolved.ownerBindingId !== input.request.ownerBindingId
128
+ || input.resolved.scope.workspace !== input.request.scope.workspace
129
+ || input.resolved.scope.preset !== input.request.scope.preset) {
130
+ throw new AutomationStoreError('invalid-state', 'resolved growth artifact does not match its trusted request');
131
+ }
132
+ const state = input.policyStatus === 'approved' ? 'paused'
133
+ : input.policyStatus === 'pending' ? 'approval-pending' : 'rejected';
134
+ return this.transaction(() => {
135
+ const existing = this.byId(expectedArtifactId);
136
+ if (existing !== undefined) {
137
+ const exact = existing.experimentId === input.request.experimentId
138
+ && existing.candidateId === input.request.candidateId
139
+ && existing.candidateRevision === input.request.candidateRevision
140
+ && existing.candidateDigest === input.request.candidateDigest
141
+ && existing.workspace === input.request.scope.workspace
142
+ && existing.preset === input.request.scope.preset
143
+ && existing.ownerBindingId === input.request.ownerBindingId
144
+ && existing.principalId === input.resolved.principalId
145
+ && existing.templateRef === input.request.template.templateRef
146
+ && existing.templateDigest === input.request.template.templateDigest
147
+ && canonicalGrowthJson(existing.privacyAttestation)
148
+ === canonicalGrowthJson(input.request.template.privacyAttestation)
149
+ && existing.evidenceDigest === input.request.evidenceDigest
150
+ && existing.evidenceCount === input.request.evidenceCount
151
+ && canonicalGrowthJson(existing.steps) === canonicalGrowthJson(input.request.steps)
152
+ && existing.automationId === expectedAutomationId
153
+ && existing.definitionHash === definitionHash
154
+ && existing.proposalId === input.proposalId
155
+ && existing.approvalDiffHash === input.approvalDiffHash
156
+ && existing.deadlineAt === input.request.deadlineAt;
157
+ if (!exact) {
158
+ throw new AutomationStoreError('idempotency-conflict', 'growth artifact identity was reused with other content');
159
+ }
160
+ return existing;
161
+ }
162
+ const now = this.now();
163
+ this.database.prepare(`
164
+ INSERT INTO automation_growth_artifacts(
165
+ artifact_id, experiment_id, candidate_id, candidate_revision, candidate_digest,
166
+ workspace, preset, owner_binding_id, principal_id, template_ref, template_digest,
167
+ privacy_attestation_json,
168
+ evidence_digest, evidence_count, steps_json, automation_id, definition_hash,
169
+ definition_version, proposal_id, approval_diff_hash, deadline_at, state, created_at, updated_at
170
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
171
+ `).run(expectedArtifactId, input.request.experimentId, input.request.candidateId, input.request.candidateRevision, input.request.candidateDigest, input.request.scope.workspace, input.request.scope.preset, input.request.ownerBindingId, input.resolved.principalId, input.request.template.templateRef, input.request.template.templateDigest, canonicalGrowthJson(input.request.template.privacyAttestation), input.request.evidenceDigest, input.request.evidenceCount, canonicalGrowthJson(input.request.steps), expectedAutomationId, definitionHash, input.automation.version, input.proposalId, input.approvalDiffHash, input.request.deadlineAt, state, now, now);
172
+ return this.byId(expectedArtifactId);
173
+ });
174
+ }
175
+ updateApproval(artifactId, proposalId, status) {
176
+ this.assertOpen();
177
+ return this.transaction(() => {
178
+ const current = this.byId(artifactId);
179
+ if (current === undefined || current.proposalId !== proposalId) {
180
+ throw new AutomationStoreError('not-found', 'growth approval artifact was not found');
181
+ }
182
+ if (current.state !== 'approval-pending' && !(current.state === 'paused' && status === 'approved')
183
+ && !(current.state === 'rejected' && status !== 'approved')) {
184
+ throw new AutomationStoreError('version-conflict', 'growth approval artifact is already terminal');
185
+ }
186
+ const state = status === 'approved' ? 'paused'
187
+ : status === 'pending' ? 'approval-pending' : 'rejected';
188
+ this.database.prepare(`
189
+ UPDATE automation_growth_artifacts SET state = ?, updated_at = ? WHERE artifact_id = ?
190
+ `).run(state, this.now(), artifactId);
191
+ return this.byId(artifactId);
192
+ });
193
+ }
194
+ requireArtifact(input) {
195
+ this.assertOpen();
196
+ const row = this.database.prepare(`
197
+ SELECT * FROM automation_growth_artifacts WHERE artifact_id = ?
198
+ `).get(input.artifactId);
199
+ if (row === undefined || !identityMatches(row, input)) {
200
+ throw new AutomationStoreError('version-conflict', 'growth artifact exact identity is stale or missing');
201
+ }
202
+ return artifact(row);
203
+ }
204
+ byExperiment(experimentId) {
205
+ this.assertOpen();
206
+ const row = this.database.prepare(`
207
+ SELECT * FROM automation_growth_artifacts WHERE experiment_id = ?
208
+ `).get(experimentId);
209
+ return row === undefined ? undefined : artifact(row);
210
+ }
211
+ createExecutionTask(input) {
212
+ this.assertOpen();
213
+ return this.transaction(() => {
214
+ const row = this.database.prepare(`
215
+ SELECT * FROM automation_growth_artifacts WHERE artifact_id = ?
216
+ `).get(input.artifact.artifactId);
217
+ if (row === undefined || row.definition_version !== input.artifact.definitionVersion
218
+ || row.definition_hash !== input.artifact.definitionHash
219
+ || (input.kind === 'shadow' && row.state !== 'paused')
220
+ || (input.kind === 'canary' && row.state !== 'paused' && row.state !== 'canary-pending')) {
221
+ throw new AutomationStoreError('version-conflict', 'growth execution artifact changed');
222
+ }
223
+ const triggerKey = `growth-${input.kind}:${input.operationId}`;
224
+ const occurrenceId = stableOccurrenceId(row.automation_id, 'manual', triggerKey);
225
+ const taskId = `task-${occurrenceId}`;
226
+ const selectedTask = input.kind === 'shadow' ? row.shadow_task_id : row.canary_task_id;
227
+ if (selectedTask !== null && selectedTask !== taskId) {
228
+ throw new AutomationStoreError('idempotency-conflict', input.kind === 'canary'
229
+ ? 'growth artifact already consumed its one production exposure'
230
+ : 'growth artifact already has another shadow execution');
231
+ }
232
+ const definition = this.database.prepare(`
233
+ SELECT system_owner, definition_hash, version, status
234
+ FROM automation_definitions WHERE id = ?
235
+ `).get(row.automation_id);
236
+ if (definition?.system_owner !== GROWTH_AUTOMATION_OWNER || definition.status !== 'paused'
237
+ || definition.definition_hash !== row.definition_hash || definition.version !== row.definition_version) {
238
+ throw new AutomationStoreError('version-conflict', 'paused growth automation definition changed');
239
+ }
240
+ const existingOccurrence = this.database.prepare(`
241
+ SELECT trigger_key, dry_run FROM automation_occurrences WHERE id = ?
242
+ `).get(occurrenceId);
243
+ if (existingOccurrence === undefined) {
244
+ const now = this.now();
245
+ this.database.prepare(`
246
+ INSERT INTO automation_occurrences(
247
+ id, automation_id, trigger_kind, trigger_key, scheduled_at, status,
248
+ reason, dry_run, created_at, updated_at
249
+ ) VALUES (?, ?, 'manual', ?, ?, 'pending', NULL, ?, ?, ?)
250
+ `).run(occurrenceId, row.automation_id, triggerKey, now, input.kind === 'shadow' ? 1 : 0, now, now);
251
+ this.database.prepare(`
252
+ INSERT INTO automation_tasks(
253
+ id, occurrence_id, automation_id, status, cancel_requested, claimed_by,
254
+ fencing_token, lease_until, attempt_count, created_at, updated_at
255
+ ) VALUES (?, ?, ?, 'scheduled', 0, NULL, NULL, NULL, 0, ?, ?)
256
+ `).run(taskId, occurrenceId, row.automation_id, now, now);
257
+ }
258
+ else if (existingOccurrence.trigger_key !== triggerKey
259
+ || existingOccurrence.dry_run !== (input.kind === 'shadow' ? 1 : 0)) {
260
+ throw new AutomationStoreError('idempotency-conflict', 'growth execution occurrence identity conflicted');
261
+ }
262
+ if (input.kind === 'shadow') {
263
+ this.database.prepare(`
264
+ UPDATE automation_growth_artifacts SET shadow_task_id = ?, updated_at = ? WHERE artifact_id = ?
265
+ `).run(taskId, this.now(), row.artifact_id);
266
+ }
267
+ else {
268
+ this.database.prepare(`
269
+ UPDATE automation_growth_artifacts
270
+ SET canary_task_id = ?, state = 'canary-pending', updated_at = ? WHERE artifact_id = ?
271
+ `).run(taskId, this.now(), row.artifact_id);
272
+ }
273
+ return Object.freeze({ occurrenceId, taskId });
274
+ });
275
+ }
276
+ recordCanaryRun(artifactId, run) {
277
+ this.assertOpen();
278
+ return this.transaction(() => {
279
+ const row = this.database.prepare(`
280
+ SELECT * FROM automation_growth_artifacts WHERE artifact_id = ?
281
+ `).get(artifactId);
282
+ if (row === undefined || row.canary_task_id !== run.taskId || run.executionMode !== 'production') {
283
+ throw new AutomationStoreError('invalid-state', 'canary run does not match the one-exposure task');
284
+ }
285
+ if (row.canary_run_id !== null && row.canary_run_id !== run.id) {
286
+ throw new AutomationStoreError('idempotency-conflict', 'growth artifact has another canary run');
287
+ }
288
+ this.database.prepare(`
289
+ UPDATE automation_growth_artifacts SET canary_run_id = ?, updated_at = ? WHERE artifact_id = ?
290
+ `).run(run.id, this.now(), artifactId);
291
+ return this.byId(artifactId);
292
+ });
293
+ }
294
+ recordCanaryEvaluation(input) {
295
+ this.assertOpen();
296
+ return this.transaction(() => {
297
+ const row = this.database.prepare(`
298
+ SELECT * FROM automation_growth_artifacts WHERE artifact_id = ?
299
+ `).get(input.artifactId);
300
+ if (row === undefined || row.state !== 'canary-pending' || row.canary_run_id !== input.runId
301
+ || !/^[a-f0-9]{64}$/u.test(input.evaluationDigest)) {
302
+ throw new AutomationStoreError('invalid-state', 'trusted canary Evaluation does not match its run');
303
+ }
304
+ if ((row.canary_evaluation_id !== null && row.canary_evaluation_id !== input.evaluationId)
305
+ || (row.canary_evaluation_digest !== null
306
+ && row.canary_evaluation_digest !== input.evaluationDigest)) {
307
+ throw new AutomationStoreError('idempotency-conflict', 'canary already has another Evaluation proof');
308
+ }
309
+ this.database.prepare(`
310
+ UPDATE automation_growth_artifacts
311
+ SET canary_evaluation_id = ?, canary_evaluation_digest = ?, updated_at = ?
312
+ WHERE artifact_id = ?
313
+ `).run(input.evaluationId, input.evaluationDigest, this.now(), input.artifactId);
314
+ return this.byId(input.artifactId);
315
+ });
316
+ }
317
+ completePromotion(input) {
318
+ this.assertOpen();
319
+ return this.transaction(() => {
320
+ const current = this.requireArtifact(input.request);
321
+ const hash = definitionDigest(input.automation.definition);
322
+ if (current.automationId !== input.automation.id || input.automation.owner !== GROWTH_AUTOMATION_OWNER
323
+ || input.automation.status !== 'active' || input.automation.version !== input.request.artifactVersion + 1
324
+ || hash !== input.request.artifactDigest) {
325
+ throw new AutomationStoreError('version-conflict', 'growth promotion did not commit the exact artifact CAS');
326
+ }
327
+ this.database.prepare(`
328
+ UPDATE automation_growth_artifacts
329
+ SET definition_version = ?, definition_hash = ?, state = 'promoted', updated_at = ?
330
+ WHERE artifact_id = ? AND definition_version = ? AND definition_hash = ?
331
+ `).run(input.automation.version, hash, this.now(), current.artifactId, input.request.artifactVersion, input.request.artifactDigest);
332
+ return this.byId(current.artifactId);
333
+ });
334
+ }
335
+ completeRollback(input) {
336
+ this.assertOpen();
337
+ return this.transaction(() => {
338
+ const current = this.requireArtifact(input.request);
339
+ const hash = definitionDigest(input.automation.definition);
340
+ if (current.automationId !== input.automation.id || input.automation.owner !== GROWTH_AUTOMATION_OWNER
341
+ || input.automation.status !== 'paused' || hash !== input.request.artifactDigest
342
+ || input.automation.version < input.request.artifactVersion
343
+ || input.automation.version > input.request.artifactVersion + 1) {
344
+ throw new AutomationStoreError('version-conflict', 'growth rollback did not preserve exact artifact identity');
345
+ }
346
+ this.database.prepare(`
347
+ UPDATE automation_growth_artifacts
348
+ SET definition_version = ?, state = 'rolled-back', updated_at = ?
349
+ WHERE artifact_id = ? AND definition_version = ? AND definition_hash = ?
350
+ `).run(input.automation.version, this.now(), current.artifactId, input.request.artifactVersion, input.request.artifactDigest);
351
+ return this.byId(current.artifactId);
352
+ });
353
+ }
354
+ close() {
355
+ if (this.closed)
356
+ return;
357
+ this.closed = true;
358
+ this.database.close();
359
+ }
360
+ byId(id) {
361
+ const row = this.database.prepare(`
362
+ SELECT * FROM automation_growth_artifacts WHERE artifact_id = ?
363
+ `).get(id);
364
+ return row === undefined ? undefined : artifact(row);
365
+ }
366
+ transaction(callback) {
367
+ this.database.exec('BEGIN IMMEDIATE');
368
+ try {
369
+ const result = callback();
370
+ this.database.exec('COMMIT');
371
+ return result;
372
+ }
373
+ catch (error) {
374
+ this.database.exec('ROLLBACK');
375
+ throw error;
376
+ }
377
+ }
378
+ assertOpen() {
379
+ if (this.closed)
380
+ throw new AutomationStoreError('invalid-state', 'growth automation store is closed');
381
+ }
382
+ }
383
+ //# sourceMappingURL=growth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"growth.js","sourceRoot":"","sources":["../src/growth.ts"],"names":[],"mappings":"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"}