@victframework/runtime 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.
- package/dist/agent-governance.d.ts +285 -0
- package/dist/agent-governance.js +438 -0
- package/dist/agent-governance.js.map +1 -0
- package/dist/agent-registry.d.ts +103 -0
- package/dist/agent-registry.js +758 -0
- package/dist/agent-registry.js.map +1 -0
- package/dist/agent-types.d.ts +433 -0
- package/dist/agent-types.js +480 -0
- package/dist/agent-types.js.map +1 -0
- package/dist/authority.d.ts +83 -0
- package/dist/authority.js +170 -0
- package/dist/authority.js.map +1 -0
- package/dist/boundary-conformance.d.ts +51 -0
- package/dist/boundary-conformance.js +364 -0
- package/dist/boundary-conformance.js.map +1 -0
- package/dist/control-conformance.d.ts +68 -0
- package/dist/control-conformance.js +1131 -0
- package/dist/control-conformance.js.map +1 -0
- package/dist/control-in-memory.d.ts +257 -0
- package/dist/control-in-memory.js +886 -0
- package/dist/control-in-memory.js.map +1 -0
- package/dist/control-types.d.ts +1017 -0
- package/dist/control-types.js +779 -0
- package/dist/control-types.js.map +1 -0
- package/dist/durable-run.d.ts +73 -0
- package/dist/durable-run.js +262 -0
- package/dist/durable-run.js.map +1 -0
- package/dist/effect-policy.d.ts +22 -0
- package/dist/effect-policy.js +45 -0
- package/dist/effect-policy.js.map +1 -0
- package/dist/errors.d.ts +36 -0
- package/dist/errors.js +71 -0
- package/dist/errors.js.map +1 -0
- package/dist/in-memory-stores.d.ts +16 -0
- package/dist/in-memory-stores.js +522 -0
- package/dist/in-memory-stores.js.map +1 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/operator-config.d.ts +141 -0
- package/dist/operator-config.js +289 -0
- package/dist/operator-config.js.map +1 -0
- package/dist/orchestration-activation.d.ts +116 -0
- package/dist/orchestration-activation.js +223 -0
- package/dist/orchestration-activation.js.map +1 -0
- package/dist/orchestration-canary-conformance.d.ts +10 -0
- package/dist/orchestration-canary-conformance.js +726 -0
- package/dist/orchestration-canary-conformance.js.map +1 -0
- package/dist/orchestration-commands.d.ts +47 -0
- package/dist/orchestration-commands.js +538 -0
- package/dist/orchestration-commands.js.map +1 -0
- package/dist/orchestration-conformance.d.ts +59 -0
- package/dist/orchestration-conformance.js +594 -0
- package/dist/orchestration-conformance.js.map +1 -0
- package/dist/orchestration-driver-types.d.ts +163 -0
- package/dist/orchestration-driver-types.js +21 -0
- package/dist/orchestration-driver-types.js.map +1 -0
- package/dist/orchestration-driver.d.ts +48 -0
- package/dist/orchestration-driver.js +1030 -0
- package/dist/orchestration-driver.js.map +1 -0
- package/dist/orchestration-in-memory.d.ts +18 -0
- package/dist/orchestration-in-memory.js +1313 -0
- package/dist/orchestration-in-memory.js.map +1 -0
- package/dist/orchestration-join-conformance.d.ts +20 -0
- package/dist/orchestration-join-conformance.js +542 -0
- package/dist/orchestration-join-conformance.js.map +1 -0
- package/dist/orchestration-plan.d.ts +52 -0
- package/dist/orchestration-plan.js +265 -0
- package/dist/orchestration-plan.js.map +1 -0
- package/dist/orchestration-race-conformance.d.ts +35 -0
- package/dist/orchestration-race-conformance.js +1265 -0
- package/dist/orchestration-race-conformance.js.map +1 -0
- package/dist/orchestration-remediation-conformance.d.ts +54 -0
- package/dist/orchestration-remediation-conformance.js +632 -0
- package/dist/orchestration-remediation-conformance.js.map +1 -0
- package/dist/orchestration-store-types.d.ts +568 -0
- package/dist/orchestration-store-types.js +2 -0
- package/dist/orchestration-store-types.js.map +1 -0
- package/dist/pack-conformance.d.ts +59 -0
- package/dist/pack-conformance.js +222 -0
- package/dist/pack-conformance.js.map +1 -0
- package/dist/pack-install.d.ts +44 -0
- package/dist/pack-install.js +126 -0
- package/dist/pack-install.js.map +1 -0
- package/dist/registry.d.ts +107 -0
- package/dist/registry.js +481 -0
- package/dist/registry.js.map +1 -0
- package/dist/runtime.d.ts +158 -0
- package/dist/runtime.js +1341 -0
- package/dist/runtime.js.map +1 -0
- package/dist/serialization.d.ts +26 -0
- package/dist/serialization.js +162 -0
- package/dist/serialization.js.map +1 -0
- package/dist/store-conformance.d.ts +45 -0
- package/dist/store-conformance.js +876 -0
- package/dist/store-conformance.js.map +1 -0
- package/dist/store-errors.d.ts +49 -0
- package/dist/store-errors.js +48 -0
- package/dist/store-errors.js.map +1 -0
- package/dist/store-types.d.ts +331 -0
- package/dist/store-types.js +14 -0
- package/dist/store-types.js.map +1 -0
- package/dist/store-validation.d.ts +63 -0
- package/dist/store-validation.js +164 -0
- package/dist/store-validation.js.map +1 -0
- package/dist/stream-hub.d.ts +151 -0
- package/dist/stream-hub.js +402 -0
- package/dist/stream-hub.js.map +1 -0
- package/dist/testing.d.ts +25 -0
- package/dist/testing.js +19 -0
- package/dist/testing.js.map +1 -0
- package/dist/types.d.ts +221 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validate against the persisted-value domain, then serialize to canonical
|
|
3
|
+
* (stable, sorted-key) JSON. Rejects — never silently alters — anything
|
|
4
|
+
* outside the domain.
|
|
5
|
+
*/
|
|
6
|
+
export declare function toCanonicalJson(value: unknown): string;
|
|
7
|
+
/**
|
|
8
|
+
* Validate against the persisted-value domain, then return the canonical
|
|
9
|
+
* JS value (sorted plain objects, Dates as ISO strings) — the same shape the
|
|
10
|
+
* SQLite adapter persists and reads back. Adapters stay equivalent: both
|
|
11
|
+
* reject out-of-domain values and both canonicalize identically.
|
|
12
|
+
*/
|
|
13
|
+
export declare function canonicalPersistedValue(value: unknown): unknown;
|
|
14
|
+
/**
|
|
15
|
+
* Parse stored JSON and hand it back only after a structured validation.
|
|
16
|
+
* Malformed JSON raises a structured invalid-record error, never a raw
|
|
17
|
+
* SyntaxError with file content.
|
|
18
|
+
*/
|
|
19
|
+
export declare function parseStoredJson(text: string, context: string): unknown;
|
|
20
|
+
/**
|
|
21
|
+
* Deeply freeze a freshly built record so callers cannot mutate canonical
|
|
22
|
+
* state through returned references (DATA-012). Returns the same value.
|
|
23
|
+
*/
|
|
24
|
+
export declare function deepFreeze<T>(value: T): T;
|
|
25
|
+
/** Structural clone followed by deep freezing: an immutable snapshot. */
|
|
26
|
+
export declare function immutableSnapshot<T>(value: T): T;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { VictStoreError } from './store-errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* Strict, canonical JSON serialization for persisted records.
|
|
4
|
+
*
|
|
5
|
+
* Persisted-value domain (enforced, not assumed): JSON primitives (`string`,
|
|
6
|
+
* finite `number`, `boolean`, `null`), arrays, and plain string-keyed
|
|
7
|
+
* objects. `Date` is the single deliberate extension and becomes ISO-8601
|
|
8
|
+
* UTC. Everything else is REJECTED with a structured error — nothing caller
|
|
9
|
+
* supplied is ever silently dropped, replaced, or collapsed:
|
|
10
|
+
*
|
|
11
|
+
* - `undefined` is rejected everywhere (top level, in objects, in arrays).
|
|
12
|
+
* JSON.stringify would silently drop object values and turn array items
|
|
13
|
+
* into `null`; both are data changes, so both are forbidden.
|
|
14
|
+
* - `NaN`/`Infinity`/`-Infinity` are rejected (JSON would emit `null`).
|
|
15
|
+
* - functions, symbols, and bigints are rejected (callers convert
|
|
16
|
+
* deliberately).
|
|
17
|
+
* - `Map`, `Set`, class instances, and other non-plain objects are rejected:
|
|
18
|
+
* JSON.stringify would collapse them to `{}` or their enumerable fields,
|
|
19
|
+
* silently losing their semantics.
|
|
20
|
+
* - cyclic structures are rejected.
|
|
21
|
+
*
|
|
22
|
+
* Canonical form: object keys recursively sorted, arrays preserved, no
|
|
23
|
+
* whitespace. Identity and byte-comparison of activation manifests depend on
|
|
24
|
+
* this form.
|
|
25
|
+
*/
|
|
26
|
+
function invalid(path, why) {
|
|
27
|
+
return new VictStoreError('VICT_STORE_INVALID_COMMAND', `Value at '${path}' cannot be persisted: ${why}`, { operation: 'serialization.persistedValue' });
|
|
28
|
+
}
|
|
29
|
+
function isPlainObject(value) {
|
|
30
|
+
const prototype = Object.getPrototypeOf(value);
|
|
31
|
+
return prototype === Object.prototype || prototype === null;
|
|
32
|
+
}
|
|
33
|
+
function assertPersistedValue(value, path, seen) {
|
|
34
|
+
if (value === null) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (value === undefined) {
|
|
38
|
+
throw invalid(path, 'undefined is not a persisted value (omit the field explicitly).');
|
|
39
|
+
}
|
|
40
|
+
switch (typeof value) {
|
|
41
|
+
case 'string':
|
|
42
|
+
case 'boolean':
|
|
43
|
+
return;
|
|
44
|
+
case 'number':
|
|
45
|
+
if (!Number.isFinite(value)) {
|
|
46
|
+
throw invalid(path, 'numbers must be finite (NaN/Infinity are not JSON values).');
|
|
47
|
+
}
|
|
48
|
+
return;
|
|
49
|
+
case 'bigint':
|
|
50
|
+
throw invalid(path, 'bigint must be converted deliberately (e.g. to string).');
|
|
51
|
+
case 'function':
|
|
52
|
+
case 'symbol':
|
|
53
|
+
throw invalid(path, `a ${typeof value} is not a persisted value.`);
|
|
54
|
+
case 'object':
|
|
55
|
+
break;
|
|
56
|
+
default:
|
|
57
|
+
throw invalid(path, `the type '${typeof value}' is not a persisted value.`);
|
|
58
|
+
}
|
|
59
|
+
const object = value;
|
|
60
|
+
if (object instanceof Date) {
|
|
61
|
+
if (Number.isNaN(object.getTime())) {
|
|
62
|
+
throw invalid(path, 'the Date is invalid (NaN time).');
|
|
63
|
+
}
|
|
64
|
+
// Deliberate extension: preserved as an ISO-8601 UTC string.
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (seen.has(object)) {
|
|
68
|
+
throw invalid(path, 'the value contains a cyclic reference.');
|
|
69
|
+
}
|
|
70
|
+
if (!Array.isArray(object) && !isPlainObject(object)) {
|
|
71
|
+
throw invalid(path, `only plain objects and arrays are persisted (received ${object.constructor?.name ?? 'an exotic object'}).`);
|
|
72
|
+
}
|
|
73
|
+
seen.add(object);
|
|
74
|
+
try {
|
|
75
|
+
if (Array.isArray(object)) {
|
|
76
|
+
for (let index = 0; index < object.length; index++) {
|
|
77
|
+
assertPersistedValue(object[index], `${path}[${index}]`, seen);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
for (const [key, item] of Object.entries(object)) {
|
|
82
|
+
assertPersistedValue(item, `${path}.${key}`, seen);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
finally {
|
|
87
|
+
seen.delete(object);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function canonicalize(value) {
|
|
91
|
+
// Callers have validated the value already; canonicalize only sorts keys
|
|
92
|
+
// and applies the documented Date extension.
|
|
93
|
+
if (value === null) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
if (value instanceof Date) {
|
|
97
|
+
return value.toISOString();
|
|
98
|
+
}
|
|
99
|
+
if (Array.isArray(value)) {
|
|
100
|
+
return value.map(canonicalize);
|
|
101
|
+
}
|
|
102
|
+
if (typeof value === 'object') {
|
|
103
|
+
const out = {};
|
|
104
|
+
for (const key of Object.keys(value).sort()) {
|
|
105
|
+
out[key] = canonicalize(value[key]);
|
|
106
|
+
}
|
|
107
|
+
return out;
|
|
108
|
+
}
|
|
109
|
+
return value;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Validate against the persisted-value domain, then serialize to canonical
|
|
113
|
+
* (stable, sorted-key) JSON. Rejects — never silently alters — anything
|
|
114
|
+
* outside the domain.
|
|
115
|
+
*/
|
|
116
|
+
export function toCanonicalJson(value) {
|
|
117
|
+
assertPersistedValue(value, '$', new Set());
|
|
118
|
+
return JSON.stringify(canonicalize(value));
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Validate against the persisted-value domain, then return the canonical
|
|
122
|
+
* JS value (sorted plain objects, Dates as ISO strings) — the same shape the
|
|
123
|
+
* SQLite adapter persists and reads back. Adapters stay equivalent: both
|
|
124
|
+
* reject out-of-domain values and both canonicalize identically.
|
|
125
|
+
*/
|
|
126
|
+
export function canonicalPersistedValue(value) {
|
|
127
|
+
assertPersistedValue(value, '$', new Set());
|
|
128
|
+
return canonicalize(value);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Parse stored JSON and hand it back only after a structured validation.
|
|
132
|
+
* Malformed JSON raises a structured invalid-record error, never a raw
|
|
133
|
+
* SyntaxError with file content.
|
|
134
|
+
*/
|
|
135
|
+
export function parseStoredJson(text, context) {
|
|
136
|
+
let parsed;
|
|
137
|
+
try {
|
|
138
|
+
parsed = JSON.parse(text);
|
|
139
|
+
}
|
|
140
|
+
catch (cause) {
|
|
141
|
+
throw new VictStoreError('VICT_STORE_INVALID_RECORD', `Persisted ${context} is not valid JSON.`, { operation: `parse:${context}` }, cause);
|
|
142
|
+
}
|
|
143
|
+
return parsed;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Deeply freeze a freshly built record so callers cannot mutate canonical
|
|
147
|
+
* state through returned references (DATA-012). Returns the same value.
|
|
148
|
+
*/
|
|
149
|
+
export function deepFreeze(value) {
|
|
150
|
+
if (value !== null && typeof value === 'object' && !Object.isFrozen(value)) {
|
|
151
|
+
for (const key of Object.keys(value)) {
|
|
152
|
+
deepFreeze(value[key]);
|
|
153
|
+
}
|
|
154
|
+
Object.freeze(value);
|
|
155
|
+
}
|
|
156
|
+
return value;
|
|
157
|
+
}
|
|
158
|
+
/** Structural clone followed by deep freezing: an immutable snapshot. */
|
|
159
|
+
export function immutableSnapshot(value) {
|
|
160
|
+
return deepFreeze(structuredClone(value));
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=serialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { TransitionFaultHooks, VictStores } from './store-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Adapter-neutral store conformance suite.
|
|
4
|
+
*
|
|
5
|
+
* One behavioral source, executed against every conforming backend: the
|
|
6
|
+
* in-memory store and the SQLite adapter both run this exact suite. Covers
|
|
7
|
+
* activation publish/read equivalence, idempotent republish, version
|
|
8
|
+
* collisions, selection concurrency, atomic transitions, optimistic
|
|
9
|
+
* concurrency, dense append-only events, retention shapes, safe errors,
|
|
10
|
+
* record encapsulation, idempotent recovery, and corrupt-record rejection.
|
|
11
|
+
*
|
|
12
|
+
* The runner is structural: any test framework whose `test`/`expect` match
|
|
13
|
+
* these minimal shapes can drive the suite (vitest does directly).
|
|
14
|
+
*/
|
|
15
|
+
export interface ConformanceExpect {
|
|
16
|
+
(actual: unknown): {
|
|
17
|
+
toBe(expected: unknown): void;
|
|
18
|
+
toEqual(expected: unknown): void;
|
|
19
|
+
toBeDefined(): void;
|
|
20
|
+
toBeUndefined(): void;
|
|
21
|
+
toBeTruthy(): void;
|
|
22
|
+
toHaveLength(n: number): void;
|
|
23
|
+
toMatchObject(pattern: Record<string, unknown>): void;
|
|
24
|
+
rejects: {
|
|
25
|
+
toMatchObject(pattern: Record<string, unknown>): Promise<void>;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface ConformanceTestRunner {
|
|
30
|
+
test(name: string, fn: () => Promise<void> | void, timeoutMs?: number): void;
|
|
31
|
+
expect: ConformanceExpect;
|
|
32
|
+
}
|
|
33
|
+
/** A disposable store set under test, optionally exposing test-only fault hooks. */
|
|
34
|
+
export interface ConformanceStores extends VictStores {
|
|
35
|
+
dispose(): Promise<void>;
|
|
36
|
+
faults?: TransitionFaultHooks;
|
|
37
|
+
}
|
|
38
|
+
export interface StoreConformanceFactory {
|
|
39
|
+
/** Human-readable backend name used in test titles. */
|
|
40
|
+
readonly name: string;
|
|
41
|
+
/** Create a fresh, isolated store set backed by a disposable database. */
|
|
42
|
+
create(): Promise<ConformanceStores>;
|
|
43
|
+
}
|
|
44
|
+
/** Build and run the conformance suite against one backend factory. */
|
|
45
|
+
export declare function runStoreConformanceSuite(runner: ConformanceTestRunner, factory: StoreConformanceFactory): void;
|