@elaraai/e3 1.0.12 → 1.0.14

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.
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/export.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,YAAY,CAAC;AAG1D;;;;;;;;;;;;;;;GAeG;AAEH,wBAAsB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuMlH;AAOD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAKrE"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/export.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,YAAY,CAAC;AAG1D;;;;;;;;;;;;;;;GAeG;AAEH,wBAAsB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0OlH;AAOD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAKrE"}
@@ -15,7 +15,7 @@ import * as fs from 'node:fs';
15
15
  import { createHash } from 'node:crypto';
16
16
  import yazl from 'yazl';
17
17
  import { variant, encodeBeast2For, encodeEastIR, EastIR, AsyncEastIR, printIdentifier, SortedMap, toEastTypeValue } from '@elaraai/east';
18
- import { DatasetRefType, PackageObjectType, TaskObjectType, FunctionObjectType } from '@elaraai/e3-types';
18
+ import { DatasetRefType, PackageObjectType, TaskObjectType, FunctionObjectType, MutationObjectType, RecordObjectType } from '@elaraai/e3-types';
19
19
  import { runnerToVariant } from './runner.js';
20
20
  /**
21
21
  * Exports a package to a .zip bundle.
@@ -177,6 +177,37 @@ export async function export_(pkg, outputPath) {
177
177
  const fnHash = addObject(zipfile, Buffer.from(functionEncoder(fnObject)));
178
178
  functions.set(fname, fnHash);
179
179
  }
180
+ // Write record objects. The record's own dataset (initial state value + ref +
181
+ // writable:false structure leaf) is written by the dataset branch above —
182
+ // records are datasets. Here we write the separate RecordObject + its
183
+ // MutationObjects, mirroring how functions are written. The genesis commit is
184
+ // minted at deploy (writeRecordGenesis) from the initial-state ref.
185
+ const records = new SortedMap(); // name -> RecordObject hash
186
+ const mutationEncoder = encodeBeast2For(MutationObjectType);
187
+ const recordEncoder = encodeBeast2For(RecordObjectType);
188
+ for (const [rname, rdef] of Object.entries(pkg.records)) {
189
+ const recordRefPath = rdef.path.map(seg => {
190
+ if (seg.type !== 'field') {
191
+ throw new Error(`Unsupported path segment type: ${seg.type}`);
192
+ }
193
+ return seg.value;
194
+ }).join('/');
195
+ const mutations = new SortedMap(); // name -> MutationObject hash
196
+ for (const [mname, mdef] of Object.entries(rdef.mutations)) {
197
+ const bodyIrData = encodeEastIR(mdef.body);
198
+ const bodyIrHash = addObject(zipfile, Buffer.from(bodyIrData));
199
+ const mutObject = {
200
+ bodyIr: bodyIrHash,
201
+ argTypes: mdef.argTypes.map((t) => toEastTypeValue(t)),
202
+ runner: runnerToVariant(mdef.runner),
203
+ };
204
+ const mutHash = addObject(zipfile, Buffer.from(mutationEncoder(mutObject)));
205
+ mutations.set(mname, mutHash);
206
+ }
207
+ const recObject = { path: recordRefPath, mutations };
208
+ const recHash = addObject(zipfile, Buffer.from(recordEncoder(recObject)));
209
+ records.set(rname, recHash);
210
+ }
180
211
  // Get the root structure
181
212
  const rootStructure = structures.get('');
182
213
  if (!rootStructure) {
@@ -190,6 +221,7 @@ export async function export_(pkg, outputPath) {
190
221
  refs,
191
222
  },
192
223
  functions,
224
+ records,
193
225
  };
194
226
  const packageObjectEncoder = encodeBeast2For(PackageObjectType);
195
227
  const packageObjectData = packageObjectEncoder(packageObject);
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/export.ts"],"names":[],"mappings":"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"}
@@ -159,9 +159,11 @@ describe('decodePackageObject', () => {
159
159
  tasks: new Map([['t', 'a'.repeat(64)]]),
160
160
  data: { structure: variant('struct', new Map()), refs: new Map() },
161
161
  functions: new Map([['f', 'b'.repeat(64)]]),
162
+ records: new Map([['r', 'c'.repeat(64)]]),
162
163
  });
163
164
  const decoded = decodePackageObject(bytes);
164
165
  assert.strictEqual(decoded.functions.get('f'), 'b'.repeat(64));
166
+ assert.strictEqual(decoded.records.get('r'), 'c'.repeat(64));
165
167
  });
166
168
  it('decodes a pre-functions (legacy) package with functions defaulted empty', () => {
167
169
  const LegacyPackageObjectType = StructType({
@@ -178,6 +180,25 @@ describe('decodePackageObject', () => {
178
180
  const decoded = decodePackageObject(bytes);
179
181
  assert.strictEqual(decoded.tasks.get('t'), 'a'.repeat(64));
180
182
  assert.strictEqual(decoded.functions.size, 0);
183
+ assert.strictEqual(decoded.records.size, 0);
184
+ });
185
+ it('decodes a pre-records (functions-era) package with records defaulted empty', () => {
186
+ const FunctionsEraPackageObjectType = StructType({
187
+ tasks: DictType(StringType, StringType),
188
+ data: PackageDataType,
189
+ functions: DictType(StringType, StringType),
190
+ });
191
+ const bytes = encodeBeast2For(FunctionsEraPackageObjectType)({
192
+ tasks: new Map([['t', 'a'.repeat(64)]]),
193
+ data: { structure: variant('struct', new Map()), refs: new Map() },
194
+ functions: new Map([['f', 'b'.repeat(64)]]),
195
+ });
196
+ // The strict 4-field decoder rejects 3-field bytes...
197
+ assert.throws(() => decodeBeast2For(PackageObjectType)(bytes));
198
+ // ...the tolerant decoder recovers via the functions-era tier, records empty.
199
+ const decoded = decodePackageObject(bytes);
200
+ assert.strictEqual(decoded.functions.get('f'), 'b'.repeat(64));
201
+ assert.strictEqual(decoded.records.size, 0);
181
202
  });
182
203
  });
183
204
  //# sourceMappingURL=function.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"function.spec.js","sourceRoot":"","sources":["../../src/function.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function.spec.js","sourceRoot":"","sources":["../../src/function.spec.ts"],"names":[],"mappings":"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"}
@@ -42,13 +42,15 @@
42
42
  * await e3.export(pkg, 'package.zip');
43
43
  * ```
44
44
  */
45
- import type { DatasetDef, DataTreeDef, DatasetsOf, FunctionDef, MergeDatasets, PackageDef, PackageItem, TaskDef } from './types.js';
45
+ import type { DatasetDef, DataTreeDef, DatasetsOf, FunctionDef, MergeDatasets, MutationDef, PackageDef, PackageItem, RecordDef, TaskDef } from './types.js';
46
46
  import { input } from './input.js';
47
+ import { record } from './record.js';
48
+ import { mutation } from './mutation.js';
47
49
  import { task, customTask } from './task.js';
48
50
  import { function_ } from './function.js';
49
51
  import { package_ } from './package.js';
50
52
  import { export_ } from './export.js';
51
- export type { DataTreeDef, DatasetDef, DatasetsOf, FunctionDef, TaskDef, PackageDef, PackageItem, MergeDatasets, };
53
+ export type { DataTreeDef, DatasetDef, DatasetsOf, FunctionDef, MutationDef, RecordDef, TaskDef, PackageDef, PackageItem, MergeDatasets, };
52
54
  export type { Runner, FunctionRunner, Platform, EastPyPlatform, EastNodePlatform, EastCPlatform, } from './runner.js';
53
55
  export { runnerToCommand, runnerToVariant, DEFAULT_RUNNER } from './runner.js';
54
56
  /**
@@ -58,6 +60,8 @@ export { runnerToCommand, runnerToVariant, DEFAULT_RUNNER } from './runner.js';
58
60
  */
59
61
  declare const e3: {
60
62
  input: typeof input;
63
+ record: typeof record;
64
+ mutation: typeof mutation;
61
65
  task: typeof task;
62
66
  customTask: typeof customTask;
63
67
  function: typeof function_;
@@ -65,8 +69,9 @@ declare const e3: {
65
69
  export: typeof export_;
66
70
  };
67
71
  export default e3;
68
- export { input, task, customTask, function_, package_ as package, export_ as export };
72
+ export { input, record, mutation, task, customTask, function_, package_ as package, export_ as export };
69
73
  export { inputsTree } from './input.js';
74
+ export { recordsTree } from './record.js';
70
75
  export { tasksTree } from './task.js';
71
76
  export { sha256File, sha256Bytes, hashToPath } from './sha256.js';
72
77
  export { addObject } from './export.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,WAAW,EACX,OAAO,EACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,YAAY,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,OAAO,EACP,UAAU,EACV,WAAW,EACX,aAAa,GACd,CAAC;AAGF,YAAY,EACV,MAAM,EACN,cAAc,EACd,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/E;;;;GAIG;AACH,QAAA,MAAM,EAAE;;;;;;;CAOP,CAAC;AAEF,eAAe,EAAE,CAAC;AAGlB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,IAAI,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,CAAC;AAGtF,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,EACR,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,YAAY,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,OAAO,EACP,UAAU,EACV,WAAW,EACX,aAAa,GACd,CAAC;AAGF,YAAY,EACV,MAAM,EACN,cAAc,EACd,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/E;;;;GAIG;AACH,QAAA,MAAM,EAAE;;;;;;;;;CASP,CAAC;AAEF,eAAe,EAAE,CAAC;AAGlB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,IAAI,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,CAAC;AAGxG,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
package/dist/src/index.js CHANGED
@@ -3,6 +3,8 @@
3
3
  * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
4
  */
5
5
  import { input } from './input.js';
6
+ import { record } from './record.js';
7
+ import { mutation } from './mutation.js';
6
8
  import { task, customTask } from './task.js';
7
9
  import { function_ } from './function.js';
8
10
  import { package_ } from './package.js';
@@ -15,6 +17,8 @@ export { runnerToCommand, runnerToVariant, DEFAULT_RUNNER } from './runner.js';
15
17
  */
16
18
  const e3 = {
17
19
  input,
20
+ record,
21
+ mutation,
18
22
  task,
19
23
  customTask,
20
24
  function: function_,
@@ -23,9 +27,10 @@ const e3 = {
23
27
  };
24
28
  export default e3;
25
29
  // Also export individual functions for tree-shaking
26
- export { input, task, customTask, function_, package_ as package, export_ as export };
30
+ export { input, record, mutation, task, customTask, function_, package_ as package, export_ as export };
27
31
  // Singleton tree definitions
28
32
  export { inputsTree } from './input.js';
33
+ export { recordsTree } from './record.js';
29
34
  export { tasksTree } from './task.js';
30
35
  // Utility exports
31
36
  export { sha256File, sha256Bytes, hashToPath } from './sha256.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqDH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAsBtC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/E;;;;GAIG;AACH,MAAM,EAAE,GAAG;IACT,KAAK;IACL,IAAI;IACJ,UAAU;IACV,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,OAAO;CAChB,CAAC;AAEF,eAAe,EAAE,CAAC;AAElB,oDAAoD;AACpD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,IAAI,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,CAAC;AAEtF,6BAA6B;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuDH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAwBtC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/E;;;;GAIG;AACH,MAAM,EAAE,GAAG;IACT,KAAK;IACL,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,UAAU;IACV,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,OAAO;CAChB,CAAC;AAEF,eAAe,EAAE,CAAC;AAElB,oDAAoD;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,IAAI,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,CAAC;AAExG,6BAA6B;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,kBAAkB;AAClB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Mutation definitions for e3 packages — the write half of the record
7
+ * machinery (CQRS; `e3.function` is the read half).
8
+ *
9
+ * A mutation is a pure East reducer `(State, ...Args) => State` that runs
10
+ * server-side, where the record's data is, in a compare-and-swap retry loop.
11
+ * Purity is what makes retry-on-conflict safe: the loop can re-run the reducer
12
+ * against fresher state with no observable side effects.
13
+ */
14
+ import type { CallableFunctionExpr, EastType, FunctionExpr } from '@elaraai/east';
15
+ import type { MutationDef, RecordDef } from './types.js';
16
+ import { type FunctionRunner } from './runner.js';
17
+ /**
18
+ * Defines a mutation that writes a record.
19
+ *
20
+ * The reducer is an ordinary East function whose first parameter is the
21
+ * current state and whose return is the new state — both the record's type,
22
+ * enforced at compile time by the shared `T`. The extra parameter types are
23
+ * read off the function's signature, so there is nothing to keep in sync.
24
+ *
25
+ * The body must be a pure, synchronous East function (no platform IO): purity
26
+ * is what lets the compare-and-swap loop re-run the reducer against fresher
27
+ * state safely. Async reducers and any platform call are rejected at definition
28
+ * time.
29
+ *
30
+ * @typeParam Name - Mutation name (literal type)
31
+ * @typeParam T - The owning record's state type
32
+ * @typeParam Args - The EXTRA positional parameter types (after the state)
33
+ * @param name - Mutation name (unique within the record)
34
+ * @param rec - The record this mutation writes
35
+ * @param fn - The reducer `(state, ...args) => state`
36
+ * @param config - Optional runner selection (known runtimes only, like e3.function)
37
+ * @returns A MutationDef to pass to `e3.package`
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * const orders = e3.record('orders', OrdersType, new Map());
42
+ *
43
+ * const placeOrder = e3.mutation('place_order', orders,
44
+ * East.function([OrdersType, OrderType], OrdersType, ($, state, order) =>
45
+ * state.has(order.id).ifElse(
46
+ * $ => $.error(East.str`duplicate order ${order.id}`),
47
+ * $ => state.insert(order.id, order),
48
+ * )));
49
+ *
50
+ * const pkg = e3.package('planning', '1.0.0', orders, placeOrder);
51
+ * ```
52
+ */
53
+ export declare function mutation<Name extends string, T extends EastType, Args extends EastType[]>(name: Name, rec: RecordDef<T>, fn: FunctionExpr<[T, ...Args], T> | CallableFunctionExpr<[T, ...Args], T>, config?: {
54
+ runner?: FunctionRunner;
55
+ }): MutationDef<Name, T, Args>;
56
+ //# sourceMappingURL=mutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation.d.ts","sourceRoot":"","sources":["../../src/mutation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACb,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAmC,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAQnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,QAAQ,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,EAAE,IAAI,SAAS,QAAQ,EAAE,EACvF,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EACjB,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,EACzE,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,cAAc,CAAA;CAAE,GACnC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ import { Expr, AsyncEastIR, walkIR, equalFor, EastTypeType, toEastTypeValue, printType } from '@elaraai/east';
6
+ import { DEFAULT_RUNNER, runnerToVariant } from './runner.js';
7
+ // Structural East-type equality, the same primitive the redeploy type-change
8
+ // guard uses (e3-core workspaces.ts): compare the encoded EastTypeValues.
9
+ const typeValueEqual = equalFor(EastTypeType);
10
+ const sameEastType = (a, b) => typeValueEqual(toEastTypeValue(a), toEastTypeValue(b));
11
+ export function mutation(name, rec, fn, config) {
12
+ if (!name) {
13
+ throw new Error('e3.mutation requires a non-empty name');
14
+ }
15
+ const runner = config?.runner ?? DEFAULT_RUNNER;
16
+ // Validate eagerly so a bad runner fails at definition time, not export time.
17
+ runnerToVariant(runner);
18
+ // Keep the full EastIR bundle (IR + source map) so export.ts can encode
19
+ // with encodeEastIR and preserve source locations.
20
+ const eastIR = fn.toIR();
21
+ if (eastIR instanceof AsyncEastIR) {
22
+ throw new Error(`e3.mutation '${name}' reducer must be a synchronous East function — ` +
23
+ `an async reducer implies platform IO, which the compare-and-swap retry ` +
24
+ `loop cannot safely re-run against fresher state.`);
25
+ }
26
+ // The reducer must be pure: the compare-and-swap loop re-runs it against
27
+ // fresher state, so any platform call (Random, Time, IO, …) makes the
28
+ // committed record non-deterministic. A *sync* platform call is an ordinary
29
+ // FunctionIR, so the async check above doesn't catch it — walk the whole body
30
+ // (walkIR descends into nested closures, loop bodies and collection-op lambdas).
31
+ walkIR(eastIR.ir, (node) => {
32
+ if (node.type === 'Platform') {
33
+ throw new Error(`e3.mutation '${name}' reducer must not call platform functions ` +
34
+ `(found '${node.value.name}') — the compare-and-swap retry loop re-runs ` +
35
+ `the reducer, so a platform call makes the committed record ` +
36
+ `non-deterministic across retries.`);
37
+ }
38
+ });
39
+ const fnType = Expr.type(fn);
40
+ // The reducer is (state, ...args) => state: both the leading parameter and
41
+ // the return must be the record's state type. The typed overload enforces
42
+ // this at compile time, but a dynamic / cast caller could pass a mismatched
43
+ // function — and because MutationObject omits the output type (it IS the
44
+ // record type), a mismatch would be silently undetectable downstream. Guard
45
+ // it at definition time.
46
+ if (fnType.inputs.length < 1 || !sameEastType(rec.type, fnType.inputs[0])) {
47
+ const got = fnType.inputs.length ? printType(fnType.inputs[0]) : 'no parameters';
48
+ throw new Error(`e3.mutation '${name}' reducer's first parameter must be the record's ` +
49
+ `state type ${printType(rec.type)}, but got ${got}.`);
50
+ }
51
+ if (!sameEastType(rec.type, fnType.output)) {
52
+ throw new Error(`e3.mutation '${name}' reducer must return the record's state type ` +
53
+ `${printType(rec.type)}, but returns ${printType(fnType.output)}.`);
54
+ }
55
+ // The extra parameter types are everything after the leading state parameter.
56
+ const argTypes = fnType.inputs.slice(1);
57
+ return {
58
+ kind: 'mutation',
59
+ name,
60
+ record: rec,
61
+ body: eastIR,
62
+ argTypes,
63
+ runner,
64
+ };
65
+ }
66
+ //# sourceMappingURL=mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../src/mutation.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * Package definitions for e3.
7
7
  */
8
- import type { FunctionDef, PackageDef, PackageItem } from './types.js';
8
+ import type { FunctionDef, MutationDef, PackageDef, PackageItem } from './types.js';
9
9
  /**
10
10
  * Creates a package definition from items.
11
11
  *
@@ -37,5 +37,5 @@ import type { FunctionDef, PackageDef, PackageItem } from './types.js';
37
37
  * const helloTask = pkg.tasks.say_hello;
38
38
  * ```
39
39
  */
40
- export declare function package_(name: string, version: string, ...items: (PackageItem | FunctionDef | PackageDef<any>)[]): PackageDef<Record<string, unknown>>;
40
+ export declare function package_(name: string, version: string, ...items: (PackageItem | FunctionDef | MutationDef | PackageDef<any>)[]): PackageDef<Record<string, unknown>>;
41
41
  //# sourceMappingURL=package.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAQH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,KAAK,EAAE,CAAC,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,GACxD,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAoFrC"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EAGZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAQH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,GAAG,KAAK,EAAE,CAAC,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,GACtE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA2HrC"}
@@ -47,6 +47,11 @@ export function package_(name, version, ...items) {
47
47
  // Functions have no deps and never enter the data tree — collected by
48
48
  // name, separately from all_items.
49
49
  const functions = {};
50
+ // Mutations are collected by owning record name, like functions; they are
51
+ // folded onto their record below. Records themselves are datasets, so they
52
+ // ride `all_items` and only need a separate RecordObject channel.
53
+ const mutationsByRecord = new Map();
54
+ const importedRecords = {};
50
55
  function collect(item) {
51
56
  if (visited.has(item))
52
57
  return;
@@ -64,10 +69,18 @@ export function package_(name, version, ...items) {
64
69
  all_items.add(dep);
65
70
  }
66
71
  Object.assign(functions, item.functions);
72
+ Object.assign(importedRecords, item.records);
67
73
  }
68
74
  else if (item.kind === "function") {
69
75
  functions[item.name] = item;
70
76
  }
77
+ else if (item.kind === "mutation") {
78
+ // Pull in the owning record's dataset and register the mutation onto it.
79
+ collect(item.record);
80
+ const muts = mutationsByRecord.get(item.record.name) ?? {};
81
+ muts[item.name] = item;
82
+ mutationsByRecord.set(item.record.name, muts);
83
+ }
71
84
  else {
72
85
  collect(item);
73
86
  }
@@ -114,6 +127,31 @@ export function package_(name, version, ...items) {
114
127
  tasks[item.name] = item;
115
128
  }
116
129
  }
130
+ // Assemble records: a record's dataset rides `all_items`; fold in any
131
+ // mutations collected for it. A record imported via a package arrives twice —
132
+ // its bare dataset (mutations `{}`) in `all_items` and its already-assembled
133
+ // form in `importedRecords` — so merge the existing entry's mutations rather
134
+ // than rebuilding from the bare `rec.mutations`, or the import's folded
135
+ // mutations would be clobbered to empty.
136
+ const records = { ...importedRecords };
137
+ for (const item of all_items) {
138
+ if (item.kind === 'dataset' && 'recordKind' in item && item.recordKind === 'record') {
139
+ const rec = item;
140
+ records[rec.name] = {
141
+ ...rec,
142
+ mutations: {
143
+ ...records[rec.name]?.mutations,
144
+ ...rec.mutations,
145
+ ...mutationsByRecord.get(rec.name),
146
+ },
147
+ };
148
+ }
149
+ }
150
+ for (const recName of mutationsByRecord.keys()) {
151
+ if (!records[recName]) {
152
+ throw new Error(`Mutation references record '${recName}' which is not in the package`);
153
+ }
154
+ }
117
155
  return {
118
156
  kind: 'package',
119
157
  name,
@@ -121,6 +159,7 @@ export function package_(name, version, ...items) {
121
159
  datasets: datasets,
122
160
  contents: [...all_items],
123
161
  functions,
162
+ records,
124
163
  };
125
164
  }
126
165
  //# sourceMappingURL=package.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/package.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Record dataset definitions for e3 packages.
7
+ *
8
+ * `e3.record` declares a root dataset whose writes go through typed, pure East
9
+ * mutations (`e3.mutation`) instead of blind replace — durable, audited,
10
+ * compare-and-swap state that participates in reactive dataflow as a root
11
+ * input. The current state reads exactly like a value dataset; only the write
12
+ * protocol differs.
13
+ */
14
+ import type { EastType, ValueTypeOf } from '@elaraai/east';
15
+ import { variant } from '@elaraai/east';
16
+ import type { DataTreeDef, RecordDef } from './types.js';
17
+ /**
18
+ * Singleton datatree definition for `.records`.
19
+ *
20
+ * All record datasets are children of this datatree.
21
+ */
22
+ export declare const recordsTree: DataTreeDef;
23
+ /**
24
+ * Defines a record — a root dataset written only through mutations.
25
+ *
26
+ * Creates a dataset at `.records.${name}` with `writable: false` (so raw
27
+ * `e3 set` / `Data.write` is rejected) and a required initial value (deploy
28
+ * writes it as the genesis commit, so a record is never unassigned).
29
+ *
30
+ * @typeParam T - The East type of the record state
31
+ * @param name - Record name (used as path segment in the tree)
32
+ * @param type - East type of the record state
33
+ * @param initialValue - Required initial state (the genesis commit)
34
+ * @returns A RecordDef, usable anywhere a dataset is plus as a mutation target
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * import { DictType, StringType } from '@elaraai/east';
39
+ *
40
+ * const orders = record('orders', DictType(StringType, OrderType), new Map());
41
+ * ```
42
+ */
43
+ export declare function record<Name extends string, T extends EastType>(name: Name, type: T, initialValue: ValueTypeOf<T>): RecordDef<T, [variant<"field", "records">, variant<"field", Name>]>;
44
+ //# sourceMappingURL=record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/record.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,WAKzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CAAC,IAAI,SAAS,MAAM,EAAE,CAAC,SAAS,QAAQ,EAC5D,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,CAAC,EACP,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,GAC3B,SAAS,CAAC,CAAC,EAAE,CAAE,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAE,CAAC,CAYvE"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ import { variant } from '@elaraai/east';
6
+ /**
7
+ * Singleton datatree definition for `.records`.
8
+ *
9
+ * All record datasets are children of this datatree.
10
+ */
11
+ export const recordsTree = {
12
+ kind: 'datatree',
13
+ name: 'records',
14
+ path: [variant('field', 'records')],
15
+ deps: new Set(),
16
+ };
17
+ /**
18
+ * Defines a record — a root dataset written only through mutations.
19
+ *
20
+ * Creates a dataset at `.records.${name}` with `writable: false` (so raw
21
+ * `e3 set` / `Data.write` is rejected) and a required initial value (deploy
22
+ * writes it as the genesis commit, so a record is never unassigned).
23
+ *
24
+ * @typeParam T - The East type of the record state
25
+ * @param name - Record name (used as path segment in the tree)
26
+ * @param type - East type of the record state
27
+ * @param initialValue - Required initial state (the genesis commit)
28
+ * @returns A RecordDef, usable anywhere a dataset is plus as a mutation target
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * import { DictType, StringType } from '@elaraai/east';
33
+ *
34
+ * const orders = record('orders', DictType(StringType, OrderType), new Map());
35
+ * ```
36
+ */
37
+ export function record(name, type, initialValue) {
38
+ return {
39
+ kind: 'dataset',
40
+ recordKind: 'record',
41
+ name,
42
+ path: [variant('field', 'records'), variant('field', name)],
43
+ type,
44
+ default: initialValue,
45
+ writable: false,
46
+ mutations: {},
47
+ deps: new Set([...recordsTree.deps, recordsTree]),
48
+ };
49
+ }
50
+ //# sourceMappingURL=record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/record.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACnC,IAAI,EAAE,IAAI,GAAG,EAAE;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,MAAM,CACpB,IAAU,EACV,IAAO,EACP,YAA4B;IAE5B,OAAO;QACL,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,QAAQ;QACpB,IAAI;QACJ,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI;QACJ,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;KAClD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=record.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.spec.d.ts","sourceRoot":"","sources":["../../src/record.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ import { describe, it, before, after } from 'node:test';
6
+ import * as assert from 'node:assert';
7
+ import * as fs from 'node:fs';
8
+ import * as os from 'node:os';
9
+ import * as path from 'node:path';
10
+ import yauzl from 'yauzl';
11
+ import { East, IntegerType, StringType, FloatType, ArrayType, decodeBeast2For } from '@elaraai/east';
12
+ import { RecordObjectType, MutationObjectType, decodePackageObject, } from '@elaraai/e3-types';
13
+ import { record, recordsTree } from './record.js';
14
+ import { mutation } from './mutation.js';
15
+ import { package_ } from './package.js';
16
+ import { export_ } from './export.js';
17
+ async function readZip(zipPath) {
18
+ return new Promise((resolve, reject) => {
19
+ yauzl.open(zipPath, { lazyEntries: true }, (err, zipfile) => {
20
+ if (err)
21
+ return reject(err);
22
+ if (!zipfile)
23
+ return reject(new Error('No zipfile'));
24
+ const entries = new Map();
25
+ zipfile.readEntry();
26
+ zipfile.on('entry', (entry) => {
27
+ if (/\/$/.test(entry.fileName)) {
28
+ zipfile.readEntry();
29
+ return;
30
+ }
31
+ zipfile.openReadStream(entry, (err, readStream) => {
32
+ if (err)
33
+ return reject(err);
34
+ if (!readStream)
35
+ return reject(new Error('No read stream'));
36
+ const chunks = [];
37
+ readStream.on('data', (c) => chunks.push(c));
38
+ readStream.on('end', () => { entries.set(entry.fileName, Buffer.concat(chunks)); zipfile.readEntry(); });
39
+ });
40
+ });
41
+ zipfile.on('end', () => resolve(entries));
42
+ zipfile.on('error', reject);
43
+ });
44
+ });
45
+ }
46
+ function objectAt(entries, hash) {
47
+ const buf = entries.get(`objects/${hash.slice(0, 2)}/${hash.slice(2)}.beast2`);
48
+ if (!buf)
49
+ throw new Error(`object ${hash} not in bundle`);
50
+ return buf;
51
+ }
52
+ describe('e3.record / e3.mutation', () => {
53
+ it('record() mounts a non-writable dataset at .records.<name> with the initial value', () => {
54
+ const counter = record('counter', IntegerType, 0n);
55
+ assert.strictEqual(counter.kind, 'dataset');
56
+ assert.strictEqual(counter.recordKind, 'record');
57
+ assert.strictEqual(counter.writable, false);
58
+ assert.strictEqual(counter.default, 0n);
59
+ assert.deepStrictEqual(counter.path.map((s) => (s.type === 'field' ? s.value : s.type)), ['records', 'counter']);
60
+ assert.ok(counter.deps.has(recordsTree));
61
+ });
62
+ it('mutation() derives the extra arg types from the reducer signature', () => {
63
+ const counter = record('counter', IntegerType, 0n);
64
+ const increment = mutation('increment', counter, East.function([IntegerType, IntegerType], IntegerType, ($, state, by) => state.add(by)));
65
+ assert.strictEqual(increment.kind, 'mutation');
66
+ assert.strictEqual(increment.record, counter);
67
+ // [state, by] -> extra args = [by]
68
+ assert.strictEqual(increment.argTypes.length, 1);
69
+ });
70
+ it('package() folds mutations onto their record', () => {
71
+ const counter = record('counter', IntegerType, 0n);
72
+ const increment = mutation('increment', counter, East.function([IntegerType, IntegerType], IntegerType, ($, state, by) => state.add(by)));
73
+ // Pass only the mutation; its record is pulled in transitively.
74
+ const pkg = package_('c', '1.0.0', increment);
75
+ assert.ok(pkg.records.counter, 'record registered');
76
+ assert.ok(pkg.records.counter.mutations.increment, 'mutation folded onto record');
77
+ assert.ok(pkg.contents.includes(counter), 'record dataset in contents');
78
+ });
79
+ it('preserves a record’s mutations when its package is imported into another', () => {
80
+ const counter = record('counter', IntegerType, 0n);
81
+ const increment = mutation('increment', counter, East.function([IntegerType, IntegerType], IntegerType, ($, state, by) => state.add(by)));
82
+ const inner = package_('inner', '1.0.0', counter, increment);
83
+ assert.ok(inner.records.counter.mutations.increment, 'inner package folds the mutation');
84
+ // Importing `inner` must NOT clobber the record's assembled mutations: the
85
+ // record arrives both as a bare dataset (in `contents`) and as an already-
86
+ // assembled record (in `records`), and the assembly loop must merge, not
87
+ // rebuild from the bare `{}`.
88
+ const outer = package_('outer', '1.0.0', inner);
89
+ assert.ok(outer.records.counter, 'imported record registered on the outer package');
90
+ assert.ok(outer.records.counter.mutations.increment, 'imported record keeps its mutation (would be dropped before the fix)');
91
+ assert.deepStrictEqual(Object.keys(outer.records.counter.mutations), ['increment'], 'exactly the imported mutation survives');
92
+ });
93
+ it('rejects an async reducer body at definition time', () => {
94
+ const counter = record('counter', IntegerType, 0n);
95
+ // Async bodies break CAS-retry safety; the typed overload rejects them at
96
+ // compile time, and the cast checks the runtime guard for dynamic callers.
97
+ assert.throws(() => mutation('bad', counter, East.asyncFunction([IntegerType, IntegerType], IntegerType, ($, state, by) => state.add(by))), /pure, synchronous|async/i);
98
+ });
99
+ it('rejects a sync platform call in the reducer body at definition time', () => {
100
+ const counter = record('counter', IntegerType, 0n);
101
+ // A sync platform call (time/random/io) is an ordinary FunctionIR, so the
102
+ // async check misses it — the body walk must reject it: the CAS retry loop
103
+ // re-runs the reducer, so a platform result is non-deterministic.
104
+ assert.throws(() => mutation('bad', counter, East.function([IntegerType, IntegerType], IntegerType, ($, state, by) => state.add(East.platform('time_now', [], IntegerType)()).add(by))), /must not call platform functions/);
105
+ });
106
+ it('rejects a sync platform call buried inside a collection lambda', () => {
107
+ const counter = record('counter', IntegerType, 0n);
108
+ // The walk must descend into closure bodies, not just the top level.
109
+ assert.throws(() => mutation('bad', counter, East.function([IntegerType, IntegerType], IntegerType, ($, state, by) => {
110
+ $.let(East.value([1n, 2n], ArrayType(IntegerType))
111
+ .map(($, x) => x.add(East.platform('time_now', [], IntegerType)())));
112
+ return state.add(by);
113
+ })), /must not call platform functions/);
114
+ });
115
+ it('rejects a reducer whose state/return type does not match the record', () => {
116
+ const counter = record('counter', IntegerType, 0n);
117
+ // The typed overload enforces state/return == record type at compile time;
118
+ // a dynamic / cast caller bypasses that, so the definition-time guard must
119
+ // still reject a mismatched reducer (here Integer record vs String reducer).
120
+ assert.throws(() => mutation('bad', counter, East.function([StringType, FloatType], StringType, ($, state, _by) => state)), /record's state type/);
121
+ });
122
+ describe('export round-trip', () => {
123
+ let tmp;
124
+ before(() => { tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'e3-rec-')); });
125
+ after(() => { fs.rmSync(tmp, { recursive: true, force: true }); });
126
+ it('writes a RecordObject + MutationObject and a writable:false structure leaf', async () => {
127
+ const counter = record('counter', IntegerType, 0n);
128
+ const increment = mutation('increment', counter, East.function([IntegerType, IntegerType], IntegerType, ($, state, by) => state.add(by)));
129
+ const pkg = package_('counters', '1.0.0', counter, increment);
130
+ const zip = path.join(tmp, 'counters.zip');
131
+ await export_(pkg, zip);
132
+ const entries = await readZip(zip);
133
+ const pkgHash = entries.get('packages/counters/1.0.0').toString().trim();
134
+ const pkgObject = decodePackageObject(objectAt(entries, pkgHash));
135
+ // records map points at a RecordObject
136
+ const recHash = pkgObject.records.get('counter');
137
+ assert.ok(recHash, 'record in package object');
138
+ const recObject = decodeBeast2For(RecordObjectType)(objectAt(entries, recHash));
139
+ assert.strictEqual(recObject.path, 'records/counter');
140
+ // RecordObject points at a MutationObject with the derived arg types
141
+ const mutHash = recObject.mutations.get('increment');
142
+ assert.ok(mutHash, 'mutation in record object');
143
+ const mutObject = decodeBeast2For(MutationObjectType)(objectAt(entries, mutHash));
144
+ assert.strictEqual(mutObject.argTypes.length, 1);
145
+ // structure leaf at .records.counter is non-writable
146
+ const structure = pkgObject.data.structure;
147
+ assert.strictEqual(structure.type, 'struct');
148
+ const recordsNode = structure.value.get('records');
149
+ const leaf = recordsNode.value.get('counter');
150
+ assert.strictEqual(leaf.type, 'value');
151
+ assert.strictEqual(leaf.value.writable, false);
152
+ // the record's initial state ref is present
153
+ assert.ok(pkgObject.data.refs.get('records/counter'), 'record initial-state ref present');
154
+ });
155
+ });
156
+ });
157
+ //# sourceMappingURL=record.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.spec.js","sourceRoot":"","sources":["../../src/record.spec.ts"],"names":[],"mappings":"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"}
@@ -110,6 +110,50 @@ export interface FunctionDef<Inputs extends readonly EastType[] = readonly EastT
110
110
  /** Runtime the body runs on; defaults to DEFAULT_RUNNER */
111
111
  readonly runner: Runner;
112
112
  }
113
+ /**
114
+ * A record definition.
115
+ *
116
+ * A record is a root dataset whose writes go through {@link MutationDef
117
+ * mutations} rather than blind replace. It *is a* {@link DatasetDef} (so it is
118
+ * accepted everywhere a dataset is — task inputs, `e3.ui` reads — and flows
119
+ * through the structure/ref/deploy machinery), mounted at `.records.${name}`
120
+ * with `writable: false` so raw `e3 set` is rejected. The required initial
121
+ * value rides `DatasetDef.default`; deploy mints the genesis commit from it.
122
+ *
123
+ * @typeParam T - The East type of the record state
124
+ */
125
+ export interface RecordDef<T extends EastType = EastType, Path extends TreePath = TreePath> extends DatasetDef<T, Path> {
126
+ /** Discriminant distinguishing a record from a plain dataset. */
127
+ readonly recordKind: 'record';
128
+ /** Mutations that may write this record, by name. */
129
+ readonly mutations: Record<string, MutationDef>;
130
+ }
131
+ /**
132
+ * A mutation definition — the write half of the function machinery (CQRS;
133
+ * {@link FunctionDef} is the read half).
134
+ *
135
+ * A mutation is a pure East reducer `(State, ...Args) => State` that runs
136
+ * server-side in a compare-and-swap retry loop. Its output type is the owning
137
+ * record's type, so there is no separate return type. Passed to `e3.package`
138
+ * like a function; it is collected onto its record.
139
+ *
140
+ * @typeParam Name - The mutation name (literal type)
141
+ * @typeParam T - The owning record's state type
142
+ * @typeParam Args - The EXTRA positional parameter types (after the state)
143
+ */
144
+ export interface MutationDef<Name extends string = string, T extends EastType = EastType, Args extends readonly EastType[] = readonly EastType[]> {
145
+ readonly kind: 'mutation';
146
+ /** Mutation name (unique within the owning record) — a literal type so
147
+ * consumers (e.g. `Record.bind`) can key a typed handle field by it. */
148
+ readonly name: Name;
149
+ /** The record this mutation writes. */
150
+ readonly record: RecordDef<T>;
151
+ readonly body: EastIR<any, any> | AsyncEastIR<any, any>;
152
+ /** The EXTRA positional parameter types (the state type comes from the record). */
153
+ readonly argTypes: Args;
154
+ /** Runtime the reducer runs on; defaults to DEFAULT_RUNNER. */
155
+ readonly runner: Runner;
156
+ }
113
157
  /**
114
158
  * An item that can be passed to e3.package().
115
159
  */
@@ -165,6 +209,10 @@ export interface PackageDef<Datasets extends Record<string, any>> {
165
209
  /** Named functions, by name. Functions are not part of `contents` —
166
210
  * they have no deps and never enter the data tree. */
167
211
  readonly functions: Record<string, FunctionDef>;
212
+ /** Records, by name, each carrying its assembled mutations. A record's
213
+ * dataset is also in `contents` (records are datasets); this map is the
214
+ * separate channel for emitting the RecordObject + MutationObjects. */
215
+ readonly records: Record<string, RecordDef>;
168
216
  }
169
217
  export {};
170
218
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elaraai/e3",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "TypeScript SDK for authoring e3 packages",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -13,10 +13,10 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "yazl": "^2.5.1",
16
- "@elaraai/e3-types": "1.0.12"
16
+ "@elaraai/e3-types": "1.0.14"
17
17
  },
18
18
  "peerDependencies": {
19
- "@elaraai/east": "1.0.12"
19
+ "@elaraai/east": "1.0.14"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@types/node": "^22.10.1",