@acme-engine/core 0.1.0

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 (137) hide show
  1. package/dist/common.d.ts +40 -0
  2. package/dist/common.d.ts.map +1 -0
  3. package/dist/common.js +2 -0
  4. package/dist/common.js.map +1 -0
  5. package/dist/contracts.d.ts +65 -0
  6. package/dist/contracts.d.ts.map +1 -0
  7. package/dist/contracts.js +2 -0
  8. package/dist/contracts.js.map +1 -0
  9. package/dist/errors.d.ts +24 -0
  10. package/dist/errors.d.ts.map +1 -0
  11. package/dist/errors.js +20 -0
  12. package/dist/errors.js.map +1 -0
  13. package/dist/evaluation.d.ts +14 -0
  14. package/dist/evaluation.d.ts.map +1 -0
  15. package/dist/evaluation.js +2 -0
  16. package/dist/evaluation.js.map +1 -0
  17. package/dist/execution-engine.d.ts +30 -0
  18. package/dist/execution-engine.d.ts.map +1 -0
  19. package/dist/execution-engine.js +885 -0
  20. package/dist/execution-engine.js.map +1 -0
  21. package/dist/execution-identity.d.ts +35 -0
  22. package/dist/execution-identity.d.ts.map +1 -0
  23. package/dist/execution-identity.js +177 -0
  24. package/dist/execution-identity.js.map +1 -0
  25. package/dist/execution-status.d.ts +2 -0
  26. package/dist/execution-status.d.ts.map +1 -0
  27. package/dist/execution-status.js +2 -0
  28. package/dist/execution-status.js.map +1 -0
  29. package/dist/execution-types.d.ts +58 -0
  30. package/dist/execution-types.d.ts.map +1 -0
  31. package/dist/execution-types.js +2 -0
  32. package/dist/execution-types.js.map +1 -0
  33. package/dist/hashing.d.ts +6 -0
  34. package/dist/hashing.d.ts.map +1 -0
  35. package/dist/hashing.js +73 -0
  36. package/dist/hashing.js.map +1 -0
  37. package/dist/index.d.ts +34 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +33 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/memory-engine.d.ts +13 -0
  42. package/dist/memory-engine.d.ts.map +1 -0
  43. package/dist/memory-engine.js +591 -0
  44. package/dist/memory-engine.js.map +1 -0
  45. package/dist/memory.d.ts +151 -0
  46. package/dist/memory.d.ts.map +1 -0
  47. package/dist/memory.js +2 -0
  48. package/dist/memory.js.map +1 -0
  49. package/dist/model-call-usage.d.ts +40 -0
  50. package/dist/model-call-usage.d.ts.map +1 -0
  51. package/dist/model-call-usage.js +0 -0
  52. package/dist/model-call-usage.js.map +1 -0
  53. package/dist/model-execution-engine.d.ts +16 -0
  54. package/dist/model-execution-engine.d.ts.map +1 -0
  55. package/dist/model-execution-engine.js +598 -0
  56. package/dist/model-execution-engine.js.map +1 -0
  57. package/dist/model-execution-identity.d.ts +16 -0
  58. package/dist/model-execution-identity.d.ts.map +1 -0
  59. package/dist/model-execution-identity.js +84 -0
  60. package/dist/model-execution-identity.js.map +1 -0
  61. package/dist/model-execution-types.d.ts +66 -0
  62. package/dist/model-execution-types.d.ts.map +1 -0
  63. package/dist/model-execution-types.js +8 -0
  64. package/dist/model-execution-types.js.map +1 -0
  65. package/dist/model-gateway-router.d.ts +11 -0
  66. package/dist/model-gateway-router.d.ts.map +1 -0
  67. package/dist/model-gateway-router.js +69 -0
  68. package/dist/model-gateway-router.js.map +1 -0
  69. package/dist/model-request-hash.d.ts +5 -0
  70. package/dist/model-request-hash.d.ts.map +1 -0
  71. package/dist/model-request-hash.js +11 -0
  72. package/dist/model-request-hash.js.map +1 -0
  73. package/dist/model-response-hash.d.ts +5 -0
  74. package/dist/model-response-hash.d.ts.map +1 -0
  75. package/dist/model-response-hash.js +11 -0
  76. package/dist/model-response-hash.js.map +1 -0
  77. package/dist/model-validation.d.ts +11 -0
  78. package/dist/model-validation.d.ts.map +1 -0
  79. package/dist/model-validation.js +580 -0
  80. package/dist/model-validation.js.map +1 -0
  81. package/dist/model.d.ts +125 -0
  82. package/dist/model.d.ts.map +1 -0
  83. package/dist/model.js +4 -0
  84. package/dist/model.js.map +1 -0
  85. package/dist/modules.d.ts +83 -0
  86. package/dist/modules.d.ts.map +1 -0
  87. package/dist/modules.js +7 -0
  88. package/dist/modules.js.map +1 -0
  89. package/dist/outbox.d.ts +88 -0
  90. package/dist/outbox.d.ts.map +1 -0
  91. package/dist/outbox.js +180 -0
  92. package/dist/outbox.js.map +1 -0
  93. package/dist/payload-encryptor.d.ts +92 -0
  94. package/dist/payload-encryptor.d.ts.map +1 -0
  95. package/dist/payload-encryptor.js +173 -0
  96. package/dist/payload-encryptor.js.map +1 -0
  97. package/dist/registries.d.ts +5 -0
  98. package/dist/registries.d.ts.map +1 -0
  99. package/dist/registries.js +159 -0
  100. package/dist/registries.js.map +1 -0
  101. package/dist/repository-digest.d.ts +5 -0
  102. package/dist/repository-digest.d.ts.map +1 -0
  103. package/dist/repository-digest.js +25 -0
  104. package/dist/repository-digest.js.map +1 -0
  105. package/dist/repository-model-call.d.ts +43 -0
  106. package/dist/repository-model-call.d.ts.map +1 -0
  107. package/dist/repository-model-call.js +2 -0
  108. package/dist/repository-model-call.js.map +1 -0
  109. package/dist/repository-model-execution.d.ts +49 -0
  110. package/dist/repository-model-execution.d.ts.map +1 -0
  111. package/dist/repository-model-execution.js +2 -0
  112. package/dist/repository-model-execution.js.map +1 -0
  113. package/dist/repository.d.ts +260 -0
  114. package/dist/repository.d.ts.map +1 -0
  115. package/dist/repository.js +2 -0
  116. package/dist/repository.js.map +1 -0
  117. package/dist/response-pipeline.d.ts +3 -0
  118. package/dist/response-pipeline.d.ts.map +1 -0
  119. package/dist/response-pipeline.js +132 -0
  120. package/dist/response-pipeline.js.map +1 -0
  121. package/dist/state-engine.d.ts +19 -0
  122. package/dist/state-engine.d.ts.map +1 -0
  123. package/dist/state-engine.js +272 -0
  124. package/dist/state-engine.js.map +1 -0
  125. package/dist/state-projection.d.ts +5 -0
  126. package/dist/state-projection.d.ts.map +1 -0
  127. package/dist/state-projection.js +145 -0
  128. package/dist/state-projection.js.map +1 -0
  129. package/dist/state.d.ts +41 -0
  130. package/dist/state.d.ts.map +1 -0
  131. package/dist/state.js +2 -0
  132. package/dist/state.js.map +1 -0
  133. package/dist/stranded-execution.d.ts +59 -0
  134. package/dist/stranded-execution.d.ts.map +1 -0
  135. package/dist/stranded-execution.js +235 -0
  136. package/dist/stranded-execution.js.map +1 -0
  137. package/package.json +36 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-engine.js","sourceRoot":"","sources":["../src/execution-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { Hashing, JsonValue } from './common.js';
2
+ import type { ExecutionPolicy } from './execution-types.js';
3
+ import type { ModelSelection } from './model.js';
4
+ export declare const ACME_EXECUTION_ID_ALGORITHM: "acme-execution-id-1";
5
+ export declare const ACME_OPERATION_KEY_ALGORITHM: "acme-operation-key-1";
6
+ export declare const ACME_REQUEST_FINGERPRINT_ALGORITHM: "acme-request-fingerprint-1";
7
+ export declare const ACME_MEMORY_RETRIEVAL_ALGORITHM: "acme-memory-retrieval-1";
8
+ export declare const ACME_MEMORY_RETRIEVAL_LIMIT: 50;
9
+ export declare const DEFAULT_EXECUTION_POLICY: ExecutionPolicy;
10
+ export declare const MILESTONE_1_MEMORY_RETRIEVAL: Readonly<{
11
+ algorithm: "acme-memory-retrieval-1";
12
+ limit: 50;
13
+ }>;
14
+ export declare function resolveExecutionPolicy(supplied?: Partial<ExecutionPolicy>): ExecutionPolicy;
15
+ export declare function deriveExecutionId(namespace: string, requestKey: string, hashing?: Hashing): string;
16
+ export interface OperationKeyInput {
17
+ readonly executionId: string;
18
+ readonly namespace: string;
19
+ readonly task: string;
20
+ readonly entityId: string;
21
+ }
22
+ export declare function deriveOperationKey(input: OperationKeyInput, hashing?: Hashing): string;
23
+ export interface RequestFingerprintInput {
24
+ readonly namespace: string;
25
+ readonly task: string;
26
+ readonly entityId: string;
27
+ readonly expectedRevision: number;
28
+ readonly input: JsonValue;
29
+ readonly contractFingerprint: string;
30
+ readonly stateSchemaVersion: string;
31
+ readonly model: ModelSelection;
32
+ }
33
+ export declare function computeRequestFingerprint(input: RequestFingerprintInput, hashing?: Hashing): string;
34
+ export declare function computeTaskInputHash(input: JsonValue, hashing?: Hashing): string;
35
+ //# sourceMappingURL=execution-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-identity.d.ts","sourceRoot":"","sources":["../src/execution-identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,eAAO,MAAM,2BAA2B,EAAG,qBAA8B,CAAC;AAC1E,eAAO,MAAM,4BAA4B,EAAG,sBAA+B,CAAC;AAC5E,eAAO,MAAM,kCAAkC,EAC7C,4BAAqC,CAAC;AACxC,eAAO,MAAM,+BAA+B,EAC1C,yBAAkC,CAAC;AACrC,eAAO,MAAM,2BAA2B,EAAG,EAAW,CAAC;AAEvD,eAAO,MAAM,wBAAwB,EAAE,eAMrC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;EAGvC,CAAC;AAqDH,wBAAgB,sBAAsB,CACpC,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAClC,eAAe,CAoFjB;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,OAAqB,GAC7B,MAAM,CAUR;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,OAAqB,GAC7B,MAAM,CAcR;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,EAC9B,OAAO,GAAE,OAAqB,GAC7B,MAAM,CA2BR;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE,OAAqB,GAC7B,MAAM,CAER"}
@@ -0,0 +1,177 @@
1
+ import { AcmeError } from './errors.js';
2
+ import { nodeHashing } from './hashing.js';
3
+ import { validateModelSelection } from './model-validation.js';
4
+ export const ACME_EXECUTION_ID_ALGORITHM = 'acme-execution-id-1';
5
+ export const ACME_OPERATION_KEY_ALGORITHM = 'acme-operation-key-1';
6
+ export const ACME_REQUEST_FINGERPRINT_ALGORITHM = 'acme-request-fingerprint-1';
7
+ export const ACME_MEMORY_RETRIEVAL_ALGORITHM = 'acme-memory-retrieval-1';
8
+ export const ACME_MEMORY_RETRIEVAL_LIMIT = 50;
9
+ export const DEFAULT_EXECUTION_POLICY = Object.freeze({
10
+ timeoutMs: 30_000,
11
+ maxModelCalls: 1,
12
+ maxRepairCalls: 0,
13
+ maxRevisionCalls: 0,
14
+ retention: 'hash-only',
15
+ });
16
+ export const MILESTONE_1_MEMORY_RETRIEVAL = Object.freeze({
17
+ algorithm: ACME_MEMORY_RETRIEVAL_ALGORITHM,
18
+ limit: ACME_MEMORY_RETRIEVAL_LIMIT,
19
+ });
20
+ const policyKeys = new Set([
21
+ 'timeoutMs',
22
+ 'maxModelCalls',
23
+ 'maxRepairCalls',
24
+ 'maxRevisionCalls',
25
+ 'maxInputTokens',
26
+ 'maxOutputTokens',
27
+ 'maxEstimatedCostMinor',
28
+ 'retention',
29
+ ]);
30
+ function invalid(message, details) {
31
+ throw new AcmeError({
32
+ code: 'INVALID_REQUEST',
33
+ message,
34
+ stage: 'accepted',
35
+ retryable: false,
36
+ ...(details === undefined ? {} : { details }),
37
+ });
38
+ }
39
+ function requireText(value, field) {
40
+ if (typeof value !== 'string' || value.trim().length === 0) {
41
+ invalid(`${field} must be a non-empty string.`, { field });
42
+ }
43
+ }
44
+ function positiveInteger(value, field) {
45
+ if (!Number.isSafeInteger(value) || value <= 0) {
46
+ invalid(`${field} must be a positive safe integer.`, { field });
47
+ }
48
+ return value;
49
+ }
50
+ function nonNegativeInteger(value, field) {
51
+ if (!Number.isSafeInteger(value) || value < 0) {
52
+ invalid(`${field} must be a non-negative safe integer.`, { field });
53
+ }
54
+ return value;
55
+ }
56
+ function deepFreeze(value) {
57
+ if (value !== null && typeof value === 'object' && !Object.isFrozen(value)) {
58
+ Object.freeze(value);
59
+ for (const child of Object.values(value)) {
60
+ deepFreeze(child);
61
+ }
62
+ }
63
+ return value;
64
+ }
65
+ export function resolveExecutionPolicy(supplied) {
66
+ if (supplied !== undefined &&
67
+ (supplied === null ||
68
+ typeof supplied !== 'object' ||
69
+ Array.isArray(supplied))) {
70
+ invalid('Execution policy must be an object.');
71
+ }
72
+ const policy = supplied ?? {};
73
+ const unexpected = Object.keys(policy)
74
+ .filter((key) => !policyKeys.has(key))
75
+ .sort();
76
+ if (unexpected.length > 0) {
77
+ invalid('Execution policy contains unexpected fields.', { unexpected });
78
+ }
79
+ const timeoutMs = policy.timeoutMs === undefined
80
+ ? DEFAULT_EXECUTION_POLICY.timeoutMs
81
+ : positiveInteger(policy.timeoutMs, 'policy.timeoutMs');
82
+ const maxModelCalls = policy.maxModelCalls === undefined
83
+ ? DEFAULT_EXECUTION_POLICY.maxModelCalls
84
+ : nonNegativeInteger(policy.maxModelCalls, 'policy.maxModelCalls');
85
+ const maxRepairCalls = policy.maxRepairCalls === undefined
86
+ ? DEFAULT_EXECUTION_POLICY.maxRepairCalls
87
+ : nonNegativeInteger(policy.maxRepairCalls, 'policy.maxRepairCalls');
88
+ const maxRevisionCalls = policy.maxRevisionCalls === undefined
89
+ ? DEFAULT_EXECUTION_POLICY.maxRevisionCalls
90
+ : nonNegativeInteger(policy.maxRevisionCalls, 'policy.maxRevisionCalls');
91
+ const retention = policy.retention ?? DEFAULT_EXECUTION_POLICY.retention;
92
+ if (retention !== 'none' &&
93
+ retention !== 'hash-only' &&
94
+ retention !== 'encrypted-payload') {
95
+ invalid('policy.retention is invalid.');
96
+ }
97
+ // One primary call and no revision calls remain the Milestone 1 bound.
98
+ // ADR-0045 §5 admits a bounded repair budget: the engine implements the
99
+ // repair call it already declared, so a recoverably invalid response is
100
+ // corrected within budget rather than paid for and discarded. Repair is
101
+ // budgeted separately from the primary call and never loops.
102
+ if (maxModelCalls !== 1 || maxRevisionCalls !== 0) {
103
+ invalid('An execution allows exactly one model call and zero revision calls.', { maxModelCalls, maxRepairCalls, maxRevisionCalls });
104
+ }
105
+ return deepFreeze({
106
+ timeoutMs,
107
+ maxModelCalls,
108
+ maxRepairCalls,
109
+ maxRevisionCalls,
110
+ ...(policy.maxInputTokens === undefined
111
+ ? {}
112
+ : {
113
+ maxInputTokens: positiveInteger(policy.maxInputTokens, 'policy.maxInputTokens'),
114
+ }),
115
+ ...(policy.maxOutputTokens === undefined
116
+ ? {}
117
+ : {
118
+ maxOutputTokens: positiveInteger(policy.maxOutputTokens, 'policy.maxOutputTokens'),
119
+ }),
120
+ ...(policy.maxEstimatedCostMinor === undefined
121
+ ? {}
122
+ : {
123
+ maxEstimatedCostMinor: positiveInteger(policy.maxEstimatedCostMinor, 'policy.maxEstimatedCostMinor'),
124
+ }),
125
+ retention,
126
+ });
127
+ }
128
+ export function deriveExecutionId(namespace, requestKey, hashing = nodeHashing) {
129
+ requireText(namespace, 'namespace');
130
+ requireText(requestKey, 'requestKey');
131
+ return `execution_${hashing.sha256(hashing.canonicalJson({
132
+ algorithm: ACME_EXECUTION_ID_ALGORITHM,
133
+ namespace,
134
+ requestKey,
135
+ }))}`;
136
+ }
137
+ export function deriveOperationKey(input, hashing = nodeHashing) {
138
+ requireText(input.executionId, 'executionId');
139
+ requireText(input.namespace, 'namespace');
140
+ requireText(input.task, 'task');
141
+ requireText(input.entityId, 'entityId');
142
+ return `operation_${hashing.sha256(hashing.canonicalJson({
143
+ algorithm: ACME_OPERATION_KEY_ALGORITHM,
144
+ executionId: input.executionId,
145
+ namespace: input.namespace,
146
+ task: input.task,
147
+ entityId: input.entityId,
148
+ }))}`;
149
+ }
150
+ export function computeRequestFingerprint(input, hashing = nodeHashing) {
151
+ requireText(input.namespace, 'namespace');
152
+ requireText(input.task, 'task');
153
+ requireText(input.entityId, 'entityId');
154
+ requireText(input.contractFingerprint, 'contractFingerprint');
155
+ requireText(input.stateSchemaVersion, 'stateSchemaVersion');
156
+ if (!Number.isSafeInteger(input.expectedRevision) ||
157
+ input.expectedRevision < 0) {
158
+ invalid('expectedRevision must be a non-negative safe integer.');
159
+ }
160
+ const model = validateModelSelection(input.model);
161
+ return hashing.sha256(hashing.canonicalJson({
162
+ algorithm: ACME_REQUEST_FINGERPRINT_ALGORITHM,
163
+ namespace: input.namespace,
164
+ task: input.task,
165
+ entityId: input.entityId,
166
+ expectedRevision: input.expectedRevision,
167
+ input: input.input,
168
+ contractFingerprint: input.contractFingerprint,
169
+ stateSchemaVersion: input.stateSchemaVersion,
170
+ model,
171
+ retrieval: MILESTONE_1_MEMORY_RETRIEVAL,
172
+ }));
173
+ }
174
+ export function computeTaskInputHash(input, hashing = nodeHashing) {
175
+ return hashing.sha256(hashing.canonicalJson(input));
176
+ }
177
+ //# sourceMappingURL=execution-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-identity.js","sourceRoot":"","sources":["../src/execution-identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export type ExecutionStatus = 'accepted' | 'loading' | 'calling-model' | 'validating' | 'interpreting' | 'evaluating' | 'preparing-commit' | 'committed' | 'blocked' | 'conflicted' | 'cancelled' | 'failed';
2
+ //# sourceMappingURL=execution-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-status.d.ts","sourceRoot":"","sources":["../src/execution-status.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,SAAS,GACT,eAAe,GACf,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,kBAAkB,GAClB,WAAW,GACX,SAAS,GACT,YAAY,GACZ,WAAW,GACX,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=execution-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-status.js","sourceRoot":"","sources":["../src/execution-status.ts"],"names":[],"mappings":""}
@@ -0,0 +1,58 @@
1
+ import type { DiagnosticFact, EntityId, ExecutionId, JsonValue, Namespace, RequestKey } from './common.js';
2
+ import type { AcmeErrorData } from './errors.js';
3
+ import type { ModelSelection } from './model.js';
4
+ export type { ExecutionStatus } from './execution-status.js';
5
+ export interface ExecutionPolicy {
6
+ readonly timeoutMs: number;
7
+ readonly maxModelCalls: number;
8
+ readonly maxRepairCalls: number;
9
+ readonly maxRevisionCalls: number;
10
+ readonly maxInputTokens?: number;
11
+ readonly maxOutputTokens?: number;
12
+ readonly maxEstimatedCostMinor?: number;
13
+ readonly retention: 'none' | 'hash-only' | 'encrypted-payload';
14
+ }
15
+ export interface ExecutionRequest<TInput = JsonValue> {
16
+ readonly requestKey: RequestKey;
17
+ readonly namespace: Namespace;
18
+ readonly task: string;
19
+ readonly entityId: EntityId;
20
+ readonly expectedRevision: number;
21
+ readonly input: TInput;
22
+ readonly model: ModelSelection;
23
+ readonly policy?: Partial<ExecutionPolicy>;
24
+ }
25
+ /**
26
+ * Invocation-level provenance for a committed result.
27
+ *
28
+ * This describes how the current `execute()` call reached its committed result;
29
+ * it is deliberately not pricing evidence and it does not change deterministic
30
+ * execution identity or repository commit semantics.
31
+ */
32
+ export type ExecutionReuseReason = 'fresh' | 'committed-execution' | 'recorded-response-resume';
33
+ export type ExecutionResult = {
34
+ readonly status: 'committed';
35
+ readonly executionId: string;
36
+ readonly replayed: boolean;
37
+ /**
38
+ * New runtime results always populate this. Historical persisted results
39
+ * written before reuse provenance existed may omit it when loaded.
40
+ */
41
+ readonly reuseReason?: ExecutionReuseReason;
42
+ readonly revision: number;
43
+ readonly documentKeys: readonly string[];
44
+ readonly eventIds: readonly string[];
45
+ } | {
46
+ readonly status: 'blocked' | 'conflicted' | 'cancelled' | 'failed';
47
+ readonly executionId: string;
48
+ readonly error: AcmeErrorData;
49
+ };
50
+ export interface ReplayReport {
51
+ readonly executionId: ExecutionId;
52
+ readonly mode: 'verify';
53
+ readonly status: 'match' | 'different' | 'unavailable';
54
+ readonly recordedDigest?: string;
55
+ readonly replayDigest?: string;
56
+ readonly differences: readonly DiagnosticFact[];
57
+ }
58
+ //# sourceMappingURL=execution-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-types.d.ts","sourceRoot":"","sources":["../src/execution-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,mBAAmB,CAAC;CAChE;AAED,MAAM,WAAW,gBAAgB,CAAC,MAAM,GAAG,SAAS;IAClD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAC9B,OAAO,GAAG,qBAAqB,GAAG,0BAA0B,CAAC;AAE/D,MAAM,MAAM,eAAe,GACvB;IACE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,GACD;IACE,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IACnE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEN,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,aAAa,CAAC;IACvD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,SAAS,cAAc,EAAE,CAAC;CACjD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=execution-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-types.js","sourceRoot":"","sources":["../src/execution-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { Hashing, JsonValue } from './common.js';
2
+ export declare const ACME_CANONICAL_JSON_ALGORITHM: "acme-cjson-1";
3
+ export declare function canonicalJson(value: JsonValue): string;
4
+ export declare function sha256(value: string | Uint8Array): string;
5
+ export declare const nodeHashing: Hashing;
6
+ //# sourceMappingURL=hashing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashing.d.ts","sourceRoot":"","sources":["../src/hashing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEtD,eAAO,MAAM,6BAA6B,EAAG,cAAuB,CAAC;AAqFrE,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAEtD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAEzD;AAED,eAAO,MAAM,WAAW,EAAE,OAGxB,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { createHash } from 'node:crypto';
2
+ export const ACME_CANONICAL_JSON_ALGORITHM = 'acme-cjson-1';
3
+ function assertJsonObject(value) {
4
+ const prototype = Object.getPrototypeOf(value);
5
+ if (prototype !== Object.prototype && prototype !== null) {
6
+ throw new TypeError('Canonical JSON accepts only plain objects.');
7
+ }
8
+ if (Object.getOwnPropertySymbols(value).length > 0) {
9
+ throw new TypeError('Canonical JSON does not accept symbol keys.');
10
+ }
11
+ }
12
+ function serializeJson(value, ancestors) {
13
+ if (value === null) {
14
+ return 'null';
15
+ }
16
+ if (typeof value === 'string' || typeof value === 'boolean') {
17
+ return JSON.stringify(value);
18
+ }
19
+ if (typeof value === 'number') {
20
+ if (!Number.isFinite(value)) {
21
+ throw new TypeError('Canonical JSON accepts only finite numbers.');
22
+ }
23
+ return Object.is(value, -0) ? '-0' : JSON.stringify(value);
24
+ }
25
+ if (typeof value !== 'object') {
26
+ throw new TypeError('Canonical JSON received a non-JSON value.');
27
+ }
28
+ if (ancestors.has(value)) {
29
+ throw new TypeError('Canonical JSON does not accept cyclic values.');
30
+ }
31
+ ancestors.add(value);
32
+ try {
33
+ if (Array.isArray(value)) {
34
+ for (let index = 0; index < value.length; index += 1) {
35
+ if (!Object.hasOwn(value, index)) {
36
+ throw new TypeError('Canonical JSON does not accept sparse arrays.');
37
+ }
38
+ }
39
+ const indexKeys = new Set(Array.from({ length: value.length }, (_, index) => String(index)));
40
+ if (Object.keys(value).some((key) => !indexKeys.has(key))) {
41
+ throw new TypeError('Canonical JSON arrays cannot have named enumerable properties.');
42
+ }
43
+ return `[${value.map((entry) => serializeJson(entry, ancestors)).join(',')}]`;
44
+ }
45
+ assertJsonObject(value);
46
+ const entries = Object.keys(value)
47
+ .sort()
48
+ .map((key) => {
49
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
50
+ if (descriptor === undefined ||
51
+ descriptor.get !== undefined ||
52
+ descriptor.set !== undefined) {
53
+ throw new TypeError('Canonical JSON does not accept accessor properties.');
54
+ }
55
+ return `${JSON.stringify(key)}:${serializeJson(descriptor.value, ancestors)}`;
56
+ });
57
+ return `{${entries.join(',')}}`;
58
+ }
59
+ finally {
60
+ ancestors.delete(value);
61
+ }
62
+ }
63
+ export function canonicalJson(value) {
64
+ return serializeJson(value, new Set());
65
+ }
66
+ export function sha256(value) {
67
+ return createHash('sha256').update(value).digest('hex');
68
+ }
69
+ export const nodeHashing = Object.freeze({
70
+ canonicalJson,
71
+ sha256,
72
+ });
73
+ //# sourceMappingURL=hashing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashing.js","sourceRoot":"","sources":["../src/hashing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export declare const ACME_CORE_PACKAGE: "@acme-engine/core";
2
+ export type AcmeCorePackageName = typeof ACME_CORE_PACKAGE;
3
+ export * from './common.js';
4
+ export * from './contracts.js';
5
+ export * from './errors.js';
6
+ export * from './execution-engine.js';
7
+ export * from './execution-identity.js';
8
+ export * from './evaluation.js';
9
+ export * from './execution-types.js';
10
+ export * from './hashing.js';
11
+ export * from './memory.js';
12
+ export * from './memory-engine.js';
13
+ export * from './model.js';
14
+ export * from './model-gateway-router.js';
15
+ export * from './model-call-usage.js';
16
+ export * from './model-execution-engine.js';
17
+ export * from './model-execution-identity.js';
18
+ export * from './model-execution-types.js';
19
+ export * from './model-request-hash.js';
20
+ export * from './model-response-hash.js';
21
+ export * from './model-validation.js';
22
+ export * from './repository-model-execution.js';
23
+ export * from './modules.js';
24
+ export * from './outbox.js';
25
+ export * from './payload-encryptor.js';
26
+ export * from './registries.js';
27
+ export * from './response-pipeline.js';
28
+ export * from './repository.js';
29
+ export * from './repository-digest.js';
30
+ export * from './state.js';
31
+ export * from './state-engine.js';
32
+ export * from './state-projection.js';
33
+ export * from './stranded-execution.js';
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,EAAG,mBAA4B,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG,OAAO,iBAAiB,CAAC;AAE3D,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,33 @@
1
+ export const ACME_CORE_PACKAGE = '@acme-engine/core';
2
+ export * from './common.js';
3
+ export * from './contracts.js';
4
+ export * from './errors.js';
5
+ export * from './execution-engine.js';
6
+ export * from './execution-identity.js';
7
+ export * from './evaluation.js';
8
+ export * from './execution-types.js';
9
+ export * from './hashing.js';
10
+ export * from './memory.js';
11
+ export * from './memory-engine.js';
12
+ export * from './model.js';
13
+ export * from './model-gateway-router.js';
14
+ export * from './model-call-usage.js';
15
+ export * from './model-execution-engine.js';
16
+ export * from './model-execution-identity.js';
17
+ export * from './model-execution-types.js';
18
+ export * from './model-request-hash.js';
19
+ export * from './model-response-hash.js';
20
+ export * from './model-validation.js';
21
+ export * from './repository-model-execution.js';
22
+ export * from './modules.js';
23
+ export * from './outbox.js';
24
+ export * from './payload-encryptor.js';
25
+ export * from './registries.js';
26
+ export * from './response-pipeline.js';
27
+ export * from './repository.js';
28
+ export * from './repository-digest.js';
29
+ export * from './state.js';
30
+ export * from './state-engine.js';
31
+ export * from './state-projection.js';
32
+ export * from './stranded-execution.js';
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAA4B,CAAC;AAI9D,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Hashing, IdGenerator } from './common.js';
2
+ import type { DomainMemoryPolicy, MemoryCandidate, MemoryLifecycleContext, MemoryLifecycleHook, MemoryPrepareContext, MemoryQuery, MemoryRecord, PreparedMemory, PreparedMemoryLifecycle, RankedMemory } from './memory.js';
3
+ export interface MemoryEngineOptions {
4
+ readonly ids: IdGenerator;
5
+ readonly hashing?: Hashing;
6
+ }
7
+ export interface MemoryEngine {
8
+ prepare(policy: DomainMemoryPolicy, candidates: readonly MemoryCandidate[], existing: readonly MemoryRecord[], context: MemoryPrepareContext): PreparedMemory;
9
+ retrieve(policy: DomainMemoryPolicy, query: MemoryQuery, records: readonly MemoryRecord[]): readonly RankedMemory[];
10
+ applyLifecycle(policy: DomainMemoryPolicy, records: readonly MemoryRecord[], hook: MemoryLifecycleHook, context: MemoryLifecycleContext): PreparedMemoryLifecycle;
11
+ }
12
+ export declare function createMemoryEngine(options: MemoryEngineOptions): MemoryEngine;
13
+ //# sourceMappingURL=memory-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-engine.d.ts","sourceRoot":"","sources":["../src/memory-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAqB,MAAM,aAAa,CAAC;AAG3E,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EAEtB,mBAAmB,EAEnB,oBAAoB,EACpB,WAAW,EACX,YAAY,EAEZ,cAAc,EAEd,uBAAuB,EAEvB,YAAY,EAEb,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CACL,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,SAAS,eAAe,EAAE,EACtC,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,OAAO,EAAE,oBAAoB,GAC5B,cAAc,CAAC;IAClB,QAAQ,CACN,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,SAAS,YAAY,EAAE,GAC/B,SAAS,YAAY,EAAE,CAAC;IAC3B,cAAc,CACZ,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,IAAI,EAAE,mBAAmB,EACzB,OAAO,EAAE,sBAAsB,GAC9B,uBAAuB,CAAC;CAC5B;AA6+BD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAE7E"}