@listen-fire/engine-contracts 0.12.0-rc.5 → 0.12.0-rc.7
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/adapter.d.ts +2 -2
- package/dist/catalog.d.ts +2 -27
- package/dist/catalog.js +4 -18
- package/dist/conformance/index.js +1 -1
- package/dist/conformance/recording.d.ts +6 -6
- package/dist/conformance/recording.js +1 -1
- package/dist/host_families.js +1 -1
- package/dist/park_state.d.ts +7 -7
- package/dist/plugin_spec.js +0 -5
- package/dist/protocol.d.ts +0 -20
- package/dist/protocol.js +2 -3
- package/dist/run_input.d.ts +2 -2
- package/dist/slots/judge.d.ts +1 -1
- package/dist/slots/judge.js +2 -2
- package/dist/uniqueness.d.ts +1 -1
- package/dist/uniqueness.js +2 -2
- package/dist/versions.d.ts +9 -7
- package/dist/versions.js +11 -9
- package/dist/write_record.d.ts +4 -4
- package/package.json +2 -2
package/dist/adapter.d.ts
CHANGED
|
@@ -355,7 +355,7 @@ export interface AdapterManifest {
|
|
|
355
355
|
* the movement renderer render it with `fill: currentColor` unless `fill` is
|
|
356
356
|
* false (stroke marks). Ported verbatim from the product app's
|
|
357
357
|
* `service-icon.tsx`; the web app keeps its own copy (a later sweep unifies
|
|
358
|
-
* them) so this shape must stay byte-identical to what `apps/web` expects.
|
|
358
|
+
* them) so this shape must stay byte-identical to what lf-platform's `apps/web` expects.
|
|
359
359
|
*/
|
|
360
360
|
export interface BrandIcon {
|
|
361
361
|
d: string;
|
|
@@ -999,7 +999,7 @@ export interface ResolveEntityInput {
|
|
|
999
999
|
* `targetField` (e.g. KG property type id, Attio attribute slug).
|
|
1000
1000
|
* Adapters interpret these values against their own identity model:
|
|
1001
1001
|
* - KG-as-target: feeds the node type's `uniqueness_constraints`
|
|
1002
|
-
* (see `apps/api/src/lib/knowledge/uniqueness_constraints.ts`).
|
|
1002
|
+
* (see lf-platform's `apps/api/src/lib/knowledge/uniqueness_constraints.ts`).
|
|
1003
1003
|
* - External-as-target: native rules — e.g. Attio's per-attribute
|
|
1004
1004
|
* `is_unique` flag (deferred today).
|
|
1005
1005
|
*
|
package/dist/catalog.d.ts
CHANGED
|
@@ -1386,7 +1386,7 @@ declare const transformSignatureSchema: z.ZodObject<{
|
|
|
1386
1386
|
}, z.core.$strip>>>;
|
|
1387
1387
|
nodes: z.ZodOptional<z.ZodArray<z.ZodType<ExpressionType, unknown, z.core.$ZodTypeInternals<ExpressionType, unknown>>>>;
|
|
1388
1388
|
}, z.core.$strip>;
|
|
1389
|
-
output: z.ZodOptional<z.
|
|
1389
|
+
output: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1390
1390
|
kind: z.ZodLiteral<"value">;
|
|
1391
1391
|
type: z.ZodType<ExpressionType, unknown, z.core.$ZodTypeInternals<ExpressionType, unknown>>;
|
|
1392
1392
|
optional: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -1406,32 +1406,7 @@ declare const transformSignatureSchema: z.ZodObject<{
|
|
|
1406
1406
|
description: z.ZodOptional<z.ZodString>;
|
|
1407
1407
|
}, z.core.$strip>>;
|
|
1408
1408
|
description: z.ZodOptional<z.ZodString>;
|
|
1409
|
-
}, z.core.$strip>], "kind"
|
|
1410
|
-
previously: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1411
|
-
before: z.ZodNumber;
|
|
1412
|
-
output: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1413
|
-
kind: z.ZodLiteral<"value">;
|
|
1414
|
-
type: z.ZodType<ExpressionType, unknown, z.core.$ZodTypeInternals<ExpressionType, unknown>>;
|
|
1415
|
-
optional: z.ZodOptional<z.ZodBoolean>;
|
|
1416
|
-
description: z.ZodOptional<z.ZodString>;
|
|
1417
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
1418
|
-
kind: z.ZodLiteral<"record">;
|
|
1419
|
-
fields: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1420
|
-
type: z.ZodType<ExpressionType, unknown, z.core.$ZodTypeInternals<ExpressionType, unknown>>;
|
|
1421
|
-
optional: z.ZodOptional<z.ZodBoolean>;
|
|
1422
|
-
description: z.ZodOptional<z.ZodString>;
|
|
1423
|
-
}, z.core.$strip>>;
|
|
1424
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
1425
|
-
kind: z.ZodLiteral<"records">;
|
|
1426
|
-
fields: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1427
|
-
type: z.ZodType<ExpressionType, unknown, z.core.$ZodTypeInternals<ExpressionType, unknown>>;
|
|
1428
|
-
optional: z.ZodOptional<z.ZodBoolean>;
|
|
1429
|
-
description: z.ZodOptional<z.ZodString>;
|
|
1430
|
-
}, z.core.$strip>>;
|
|
1431
|
-
description: z.ZodOptional<z.ZodString>;
|
|
1432
|
-
}, z.core.$strip>], "kind">;
|
|
1433
|
-
}, z.core.$strip>>>;
|
|
1434
|
-
}, z.core.$strip>>>;
|
|
1409
|
+
}, z.core.$strip>], "kind">>;
|
|
1435
1410
|
}, z.core.$strip>;
|
|
1436
1411
|
export type TransformSignature = z.infer<typeof transformSignatureSchema>;
|
|
1437
1412
|
/**
|
package/dist/catalog.js
CHANGED
|
@@ -1083,10 +1083,8 @@ exports.schemaTypeDescriptorSchema = zod_1.z.object({
|
|
|
1083
1083
|
* `deleteRecord` — a promise per type, like a field's `writable`. Default
|
|
1084
1084
|
* (unset) ⇒ no: an adapter declares it on exactly the types its
|
|
1085
1085
|
* `deleteRecord` removes (Attio objects, but not its notes; Evertrace
|
|
1086
|
-
* searches, lists and list entries, but not its signals).
|
|
1087
|
-
*
|
|
1088
|
-
* declare it; versions 1–4 leave it to the run, which fails where the
|
|
1089
|
-
* adapter refuses.
|
|
1086
|
+
* searches, lists and list entries, but not its signals). The checker refuses
|
|
1087
|
+
* `delete x` where `x`'s type does not declare it.
|
|
1090
1088
|
*/
|
|
1091
1089
|
deletable: zod_1.z.boolean().optional(),
|
|
1092
1090
|
/**
|
|
@@ -1479,18 +1477,6 @@ const transformOutputKindSchema = zod_1.z.discriminatedUnion('kind', [
|
|
|
1479
1477
|
description: zod_1.z.string().optional(),
|
|
1480
1478
|
}),
|
|
1481
1479
|
]);
|
|
1482
|
-
/**
|
|
1483
|
-
* A plugin whose output changed shape keeps its older shapes beside the
|
|
1484
|
-
* current one: `previously` lists what a call handed back to a movement pinned
|
|
1485
|
-
* before language version `before`, earliest first. A call runs, and is typed,
|
|
1486
|
-
* under its movement's pin (`transformOutputUnder`). Removing a language
|
|
1487
|
-
* version removes its entries.
|
|
1488
|
-
*/
|
|
1489
|
-
const transformOutputSchema = transformOutputKindSchema.and(zod_1.z.object({
|
|
1490
|
-
previously: zod_1.z
|
|
1491
|
-
.array(zod_1.z.object({ before: zod_1.z.number().int(), output: transformOutputKindSchema }))
|
|
1492
|
-
.optional(),
|
|
1493
|
-
}));
|
|
1494
1480
|
const transformSignatureSchema = zod_1.z.object({
|
|
1495
1481
|
/** Unique transform identifier — the value an author writes in
|
|
1496
1482
|
* `-[…:#transform { plugin: "<name>" }]->`. Must be unique across
|
|
@@ -1523,7 +1509,7 @@ const transformSignatureSchema = zod_1.z.object({
|
|
|
1523
1509
|
* traversal. */
|
|
1524
1510
|
additions: transformAdditionsSchema,
|
|
1525
1511
|
/**
|
|
1526
|
-
* What a PLAIN call hands back — see `
|
|
1512
|
+
* What a PLAIN call hands back — see `transformOutputKindSchema`. Absent is
|
|
1527
1513
|
* nobody having said, and the language keeps such a plugin to `through [ … ]`
|
|
1528
1514
|
* stages, where its output goes to the extractor rather than to a name.
|
|
1529
1515
|
*
|
|
@@ -1531,7 +1517,7 @@ const transformSignatureSchema = zod_1.z.object({
|
|
|
1531
1517
|
* when it found something declares that field `optional`, and every read of
|
|
1532
1518
|
* it downstream then has to discharge the absence.
|
|
1533
1519
|
*/
|
|
1534
|
-
output:
|
|
1520
|
+
output: transformOutputKindSchema.optional(),
|
|
1535
1521
|
});
|
|
1536
1522
|
/**
|
|
1537
1523
|
* Sentinel type id used in `describe(typeId)` to request the adapter's
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// The host-conformance kit's format and replay rules: an embedder records its
|
|
3
3
|
// own host's conversations in this format, and replays ours (or theirs)
|
|
4
|
-
// against any engine and host. The harness that drives our engines is apps/api
|
|
4
|
+
// against any engine and host. The harness that drives our engines is lf-platform's apps/api
|
|
5
5
|
// `movement_engine/conformance/`.
|
|
6
6
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
7
|
if (k2 === undefined) k2 = k;
|
|
@@ -9,7 +9,7 @@ export declare const HOST_RECORDING_VERSION = 2;
|
|
|
9
9
|
export declare function canonicalJson(value: unknown): string;
|
|
10
10
|
declare const runInputSchema: z.ZodObject<{
|
|
11
11
|
source: z.ZodString;
|
|
12
|
-
languageVersion: z.
|
|
12
|
+
languageVersion: z.ZodString;
|
|
13
13
|
movementName: z.ZodOptional<z.ZodString>;
|
|
14
14
|
event: z.ZodCustom<{
|
|
15
15
|
pipelineInputId: string;
|
|
@@ -81,7 +81,7 @@ declare const runInputSchema: z.ZodObject<{
|
|
|
81
81
|
}, z.core.$strip>;
|
|
82
82
|
declare const resumeInputSchema: z.ZodObject<{
|
|
83
83
|
source: z.ZodString;
|
|
84
|
-
languageVersion: z.
|
|
84
|
+
languageVersion: z.ZodString;
|
|
85
85
|
movementName: z.ZodOptional<z.ZodString>;
|
|
86
86
|
event: z.ZodCustom<{
|
|
87
87
|
pipelineInputId: string;
|
|
@@ -203,7 +203,7 @@ export declare const hostRecordingSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
203
203
|
entry: z.ZodLiteral<"run">;
|
|
204
204
|
input: z.ZodObject<{
|
|
205
205
|
source: z.ZodString;
|
|
206
|
-
languageVersion: z.
|
|
206
|
+
languageVersion: z.ZodString;
|
|
207
207
|
movementName: z.ZodOptional<z.ZodString>;
|
|
208
208
|
event: z.ZodCustom<{
|
|
209
209
|
pipelineInputId: string;
|
|
@@ -303,7 +303,7 @@ export declare const hostRecordingSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
303
303
|
entry: z.ZodLiteral<"resume">;
|
|
304
304
|
input: z.ZodObject<{
|
|
305
305
|
source: z.ZodString;
|
|
306
|
-
languageVersion: z.
|
|
306
|
+
languageVersion: z.ZodString;
|
|
307
307
|
movementName: z.ZodOptional<z.ZodString>;
|
|
308
308
|
event: z.ZodCustom<{
|
|
309
309
|
pipelineInputId: string;
|
|
@@ -411,7 +411,7 @@ export declare const hostRecordingSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
411
411
|
entry: z.ZodLiteral<"settleRace">;
|
|
412
412
|
input: z.ZodObject<{
|
|
413
413
|
source: z.ZodString;
|
|
414
|
-
languageVersion: z.
|
|
414
|
+
languageVersion: z.ZodString;
|
|
415
415
|
movementName: z.ZodOptional<z.ZodString>;
|
|
416
416
|
event: z.ZodCustom<{
|
|
417
417
|
pipelineInputId: string;
|
|
@@ -520,7 +520,7 @@ export declare const hostRecordingSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
520
520
|
entry: z.ZodLiteral<"callbackBody">;
|
|
521
521
|
input: z.ZodObject<{
|
|
522
522
|
source: z.ZodString;
|
|
523
|
-
languageVersion: z.
|
|
523
|
+
languageVersion: z.ZodString;
|
|
524
524
|
movementName: z.ZodOptional<z.ZodString>;
|
|
525
525
|
event: z.ZodCustom<{
|
|
526
526
|
pipelineInputId: string;
|
|
@@ -37,7 +37,7 @@ const isObject = (value) => typeof value === 'object' && value !== null && !Arra
|
|
|
37
37
|
const catalogSchema = zod_1.z.custom((value) => isObject(value) && isObject(value.adapters) && isObject(value.credentials) && isObject(value.plugins), 'a catalog snapshot');
|
|
38
38
|
const eventSchema = zod_1.z.custom((value) => isObject(value) && typeof value.adapterType === 'string', 'a trigger event');
|
|
39
39
|
const stateSchema = zod_1.z.custom((value) => isObject(value) && typeof value.address === 'string', 'a parked scope state');
|
|
40
|
-
const languageVersionSchema = zod_1.z.
|
|
40
|
+
const languageVersionSchema = zod_1.z.string();
|
|
41
41
|
const runInputSchema = zod_1.z.object({
|
|
42
42
|
source: zod_1.z.string(),
|
|
43
43
|
// Optional on the contract (absent: the current version), but a recording
|
package/dist/host_families.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// shapes that cross on their own (a segment's opening, an adapter resolution,
|
|
4
4
|
// a binding endpoint, a wake), and the manifest of every family and method.
|
|
5
5
|
// The full `EngineHost` interface — each method over the engine's own value
|
|
6
|
-
// types — is the engine's (apps/api `movement_engine/host.ts`), which the
|
|
6
|
+
// types — is the engine's (lf-platform's apps/api `movement_engine/host.ts`), which the
|
|
7
7
|
// compiler holds equal to the manifest here.
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.VOID_HOST_METHODS = exports.HOST_FAMILIES = exports.ADAPTER_METHODS = void 0;
|
package/dist/park_state.d.ts
CHANGED
|
@@ -29,8 +29,8 @@ export interface ParkedCode {
|
|
|
29
29
|
mapping: unknown;
|
|
30
30
|
op: unknown;
|
|
31
31
|
}
|
|
32
|
-
/** Version 1 (the TypeScript engine
|
|
33
|
-
* its syntax tree, which the
|
|
32
|
+
/** Version 1 (the earlier TypeScript engine): code rides as
|
|
33
|
+
* its syntax tree, which the pin keeps identical. */
|
|
34
34
|
export interface CodeAsTree extends ParkedCode {
|
|
35
35
|
version: 1;
|
|
36
36
|
closure: ClosureExpression;
|
|
@@ -48,7 +48,7 @@ export interface CodeAsTree extends ParkedCode {
|
|
|
48
48
|
* (`…/expr/nested/<start>-<end>/value/…`).
|
|
49
49
|
*/
|
|
50
50
|
export type CodePlace = string;
|
|
51
|
-
/** Version 2 (the Rust engine
|
|
51
|
+
/** Version 2 (the Rust engine): code is its place in
|
|
52
52
|
* the pinned program (a collection op its span among its statement's
|
|
53
53
|
* calls), and the libraries ride beside it (`ParkedScopeState.libraries`). */
|
|
54
54
|
export interface CodeByPlace extends ParkedCode {
|
|
@@ -119,7 +119,7 @@ export type BindingDescriptor<C extends ParkedCode = CodeAsTree> = {
|
|
|
119
119
|
handle: WriteRecord;
|
|
120
120
|
targetType: string;
|
|
121
121
|
graph: HandleGraphDescriptor;
|
|
122
|
-
/** The record before the handle's write (`-[:@old]
|
|
122
|
+
/** The record before the handle's write (`-[:@old]->`),
|
|
123
123
|
* itself a handle. A rehearsed write's `old` is the handle itself, which
|
|
124
124
|
* JSON cannot nest, so it is said instead (`oldIsSelf`). */
|
|
125
125
|
old?: BindingDescriptor<C>;
|
|
@@ -278,7 +278,7 @@ export type BindingDescriptor<C extends ParkedCode = CodeAsTree> = {
|
|
|
278
278
|
* node on no edge, and on a park written before landings kept it. */
|
|
279
279
|
landedOn?: string;
|
|
280
280
|
edges: Record<string, NodeEdgeDescriptor<C>>;
|
|
281
|
-
/** A record an extraction call found
|
|
281
|
+
/** A record an extraction call found: the content that call
|
|
282
282
|
* read, as resources (what `-[f:_resources]->` walks off it). Absent
|
|
283
283
|
* on every other node, and on a park written before calls kept it. */
|
|
284
284
|
resources?: ResourceDescriptor[];
|
|
@@ -435,8 +435,8 @@ export type ScopeLink<C extends ParkedCode = CodeAsTree> = {
|
|
|
435
435
|
* rebuilds the scope chain by rehydrating each scope in order.
|
|
436
436
|
*/
|
|
437
437
|
export interface ParkedScopeState<C extends ParkedCode = CodeAsTree> {
|
|
438
|
-
/** The park state contract's version: 1 for the TypeScript
|
|
439
|
-
* states
|
|
438
|
+
/** The park state contract's version: 1 for the earlier TypeScript
|
|
439
|
+
* engine's states, 2 for the Rust engine's. */
|
|
440
440
|
version: C['version'];
|
|
441
441
|
/** The parked statement's canonical lexical address — the resume entry
|
|
442
442
|
* point. */
|
package/dist/plugin_spec.js
CHANGED
|
@@ -68,10 +68,6 @@ function pluginSpecOf(declaration) {
|
|
|
68
68
|
// whatever its scheduling dependency says — `dataDependency` says WHEN it
|
|
69
69
|
// runs, not what it runs on.
|
|
70
70
|
const fedByExtraction = signature.dataDependency === 'extracted_context' && authorParams.length === 0;
|
|
71
|
-
const earlierOutputs = (signature.output?.previously ?? []).map((entry) => ({
|
|
72
|
-
before: entry.before,
|
|
73
|
-
output: pluginOutputOf(entry.output),
|
|
74
|
-
}));
|
|
75
71
|
// Every argument's declared type, the auto-fed ones included: a plain call
|
|
76
72
|
// writes those itself.
|
|
77
73
|
const argTypes = Object.fromEntries(signature.params.map((p) => [p.name, fieldTypeOfExpressionType(p.type)]));
|
|
@@ -84,7 +80,6 @@ function pluginSpecOf(declaration) {
|
|
|
84
80
|
...(fedArgs.length ? { fedArgs } : {}),
|
|
85
81
|
...(fedByExtraction ? { fedByExtraction: true } : {}),
|
|
86
82
|
...(signature.output !== undefined ? { output: pluginOutputOf(signature.output) } : {}),
|
|
87
|
-
...(earlierOutputs.length > 0 ? { earlierOutputs } : {}),
|
|
88
83
|
// The author's words, which the language service's hover leads with.
|
|
89
84
|
...(signature.description !== undefined && signature.description.length > 0 ? { description: signature.description } : {}),
|
|
90
85
|
};
|
package/dist/protocol.d.ts
CHANGED
|
@@ -1498,10 +1498,6 @@ export declare const WirePluginSpec: z.ZodObject<{
|
|
|
1498
1498
|
}, z.core.$strip>>>;
|
|
1499
1499
|
fedByExtraction: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1500
1500
|
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1501
|
-
earlierOutputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1502
|
-
before: z.ZodNumber;
|
|
1503
|
-
output: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1504
|
-
}, z.core.$strip>>>;
|
|
1505
1501
|
description: z.ZodOptional<z.ZodString>;
|
|
1506
1502
|
}, z.core.$strip>;
|
|
1507
1503
|
export type WirePluginSpecShape = z.infer<typeof WirePluginSpec>;
|
|
@@ -1528,10 +1524,6 @@ export declare const WirePluginsDeclaration: z.ZodObject<{
|
|
|
1528
1524
|
}, z.core.$strip>>>;
|
|
1529
1525
|
fedByExtraction: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1530
1526
|
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1531
|
-
earlierOutputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1532
|
-
before: z.ZodNumber;
|
|
1533
|
-
output: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1534
|
-
}, z.core.$strip>>>;
|
|
1535
1527
|
description: z.ZodOptional<z.ZodString>;
|
|
1536
1528
|
}, z.core.$strip>;
|
|
1537
1529
|
}, z.core.$strip>>;
|
|
@@ -1715,10 +1707,6 @@ export declare const WireModuleDeclarations: z.ZodObject<{
|
|
|
1715
1707
|
}, z.core.$strip>>>;
|
|
1716
1708
|
fedByExtraction: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1717
1709
|
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1718
|
-
earlierOutputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1719
|
-
before: z.ZodNumber;
|
|
1720
|
-
output: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1721
|
-
}, z.core.$strip>>>;
|
|
1722
1710
|
description: z.ZodOptional<z.ZodString>;
|
|
1723
1711
|
}, z.core.$strip>;
|
|
1724
1712
|
}, z.core.$strip>>;
|
|
@@ -1860,10 +1848,6 @@ export declare const WireManifestResult: z.ZodObject<{
|
|
|
1860
1848
|
}, z.core.$strip>>>;
|
|
1861
1849
|
fedByExtraction: z.ZodOptional<z.ZodLiteral<true>>;
|
|
1862
1850
|
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1863
|
-
earlierOutputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1864
|
-
before: z.ZodNumber;
|
|
1865
|
-
output: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
1866
|
-
}, z.core.$strip>>>;
|
|
1867
1851
|
description: z.ZodOptional<z.ZodString>;
|
|
1868
1852
|
}, z.core.$strip>;
|
|
1869
1853
|
}, z.core.$strip>>;
|
|
@@ -2365,10 +2349,6 @@ export declare const METHODS: {
|
|
|
2365
2349
|
}, z.core.$strip>>>;
|
|
2366
2350
|
fedByExtraction: z.ZodOptional<z.ZodLiteral<true>>;
|
|
2367
2351
|
output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
2368
|
-
earlierOutputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2369
|
-
before: z.ZodNumber;
|
|
2370
|
-
output: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
2371
|
-
}, z.core.$strip>>>;
|
|
2372
2352
|
description: z.ZodOptional<z.ZodString>;
|
|
2373
2353
|
}, z.core.$strip>;
|
|
2374
2354
|
}, z.core.$strip>>;
|
package/dist/protocol.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
//
|
|
6
6
|
// The protocol re-declares the adapter's input/result types as PLAIN zod,
|
|
7
7
|
// free of any database brand. They are structurally identical at runtime to
|
|
8
|
-
// the in-process `Adapter` interface's types (apps/api
|
|
8
|
+
// the in-process `Adapter` interface's types (lf-platform's apps/api
|
|
9
9
|
// `translation_graph/adapter.ts`, `translation_graph/types.ts`); the point is
|
|
10
10
|
// that a third-party author depends on this package, never on the run host's
|
|
11
11
|
// generated database code. The schemas are strict on the envelope / error /
|
|
@@ -376,7 +376,7 @@ exports.WireSchemaTypeDescriptor = zod_1.z
|
|
|
376
376
|
references: zod_1.z.array(exports.WireSchemaReferenceDescriptor),
|
|
377
377
|
/** The type's records can be removed by `deleteRecord` (absent ⇒ no) —
|
|
378
378
|
* named because it is the one promise `delete` is checked against
|
|
379
|
-
*
|
|
379
|
+
* ; it is optional, so an older server is unchanged. */
|
|
380
380
|
deletable: zod_1.z.boolean().optional(),
|
|
381
381
|
})
|
|
382
382
|
.passthrough();
|
|
@@ -705,7 +705,6 @@ exports.WirePluginSpec = zod_1.z.object({
|
|
|
705
705
|
fedArgs: zod_1.z.array(zod_1.z.object({ name: zod_1.z.string(), required: zod_1.z.literal(true).optional() })).optional(),
|
|
706
706
|
fedByExtraction: zod_1.z.literal(true).optional(),
|
|
707
707
|
output: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
|
|
708
|
-
earlierOutputs: zod_1.z.array(zod_1.z.object({ before: zod_1.z.number().int().positive(), output: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()) })).optional(),
|
|
709
708
|
/** What the plugin does, in its author's words: shown when an author hovers a call. */
|
|
710
709
|
description: zod_1.z.string().optional(),
|
|
711
710
|
});
|
package/dist/run_input.d.ts
CHANGED
|
@@ -83,13 +83,13 @@ export interface RunInput {
|
|
|
83
83
|
*/
|
|
84
84
|
credentialIds?: Readonly<Record<string, string>>;
|
|
85
85
|
/** What each segment of the run may consume (docs/contracts/run-limits.md).
|
|
86
|
-
* Absent ⇒ the engine's defaults.
|
|
86
|
+
* Absent ⇒ the engine's defaults. (The Rust engine.) */
|
|
87
87
|
limits?: SegmentLimits;
|
|
88
88
|
/** How long each segment may take, waits on the host included, in whole
|
|
89
89
|
* seconds. The host keeps it, not the engine: past it, the requests already
|
|
90
90
|
* at the host finish, nothing more is served, and the segment fails with
|
|
91
91
|
* MOVENG_LIMIT_WALL_CLOCK. Absent ⇒ the deployment's
|
|
92
|
-
* MOVEMENT_MAX_SEGMENT_SECONDS, else 900.
|
|
92
|
+
* MOVEMENT_MAX_SEGMENT_SECONDS, else 900. */
|
|
93
93
|
maxSegmentSeconds?: number;
|
|
94
94
|
}
|
|
95
95
|
/** A segment's limits, each a whole positive number; an absent one is the
|
package/dist/slots/judge.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare const JudgeArbitrateRequest: z.ZodObject<{
|
|
|
12
12
|
}, z.core.$strip>>;
|
|
13
13
|
}, z.core.$strip>>;
|
|
14
14
|
}, z.core.$strip>;
|
|
15
|
-
languageVersion: z.
|
|
15
|
+
languageVersion: z.ZodString;
|
|
16
16
|
}, z.core.$strip>;
|
|
17
17
|
export type JudgeArbitrateRequestShape = z.infer<typeof JudgeArbitrateRequest>;
|
|
18
18
|
export declare const JudgeArbitrateAnswer: z.ZodObject<{
|
package/dist/slots/judge.js
CHANGED
|
@@ -16,8 +16,8 @@ exports.JudgeArbitrateRequest = zod_1.z.object({
|
|
|
16
16
|
candidates: zod_1.z.array(zod_1.z.record(zod_1.z.string(), zod_1.z.unknown())),
|
|
17
17
|
recordType: zod_1.z.string(),
|
|
18
18
|
constraints: protocol_1.WireUniquenessConstraints,
|
|
19
|
-
/** The asking run's
|
|
20
|
-
languageVersion: zod_1.z.
|
|
19
|
+
/** The asking run's pin (a release's version): whether a blank key is a key. */
|
|
20
|
+
languageVersion: zod_1.z.string(),
|
|
21
21
|
});
|
|
22
22
|
exports.JudgeArbitrateAnswer = zod_1.z.object({
|
|
23
23
|
index: zod_1.z.number().int().nonnegative().nullable(),
|
package/dist/uniqueness.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export declare function mergeUniqueness(a: UniquenessConstraints | undefined, b:
|
|
|
25
25
|
* An identity key component that says nothing: absent, or text with nothing
|
|
26
26
|
* in it. An empty key is no key — two records that both lack a name are not
|
|
27
27
|
* thereby the same record — so such a component never matches and is never
|
|
28
|
-
* matched on. Blank text is no key at every pin:
|
|
28
|
+
* matched on. Blank text is no key at every pin: the earlier matching of ""
|
|
29
29
|
* like any other value is retired. The pin is still taken so the rules keep
|
|
30
30
|
* one signature with the rest of this file.
|
|
31
31
|
*/
|
package/dist/uniqueness.js
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
// Attio/Airtable → filterByFormula).
|
|
14
14
|
//
|
|
15
15
|
// A KG node type stores its own richer `StoredUniquenessConstraints` (see
|
|
16
|
-
// apps/api/src/lib/knowledge/uniqueness_constraints.ts) — a separate shape.
|
|
16
|
+
// lf-platform's apps/api/src/lib/knowledge/uniqueness_constraints.ts) — a separate shape.
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.uniquenessConstraintsSchema = void 0;
|
|
19
19
|
exports.mergeUniqueness = mergeUniqueness;
|
|
@@ -42,7 +42,7 @@ function mergeUniqueness(a, b) {
|
|
|
42
42
|
* An identity key component that says nothing: absent, or text with nothing
|
|
43
43
|
* in it. An empty key is no key — two records that both lack a name are not
|
|
44
44
|
* thereby the same record — so such a component never matches and is never
|
|
45
|
-
* matched on. Blank text is no key at every pin:
|
|
45
|
+
* matched on. Blank text is no key at every pin: the earlier matching of ""
|
|
46
46
|
* like any other value is retired. The pin is still taken so the rules keep
|
|
47
47
|
* one signature with the rest of this file.
|
|
48
48
|
*/
|
package/dist/versions.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CATALOG_SNAPSHOT_VERSION, DEPRECATED_CATALOG_SNAPSHOT_VERSIONS, SUPPORTED_CATALOG_SNAPSHOT_VERSIONS } from '@listen-fire/movement-lang';
|
|
2
2
|
export { CATALOG_SNAPSHOT_VERSION, DEPRECATED_CATALOG_SNAPSHOT_VERSIONS, SUPPORTED_CATALOG_SNAPSHOT_VERSIONS };
|
|
3
3
|
/** A parked flow's state (docs/contracts/park-state.md). Engine to engine: a
|
|
4
|
-
* host stores it and hands it back. Version 2 is the Rust engine's
|
|
5
|
-
*
|
|
4
|
+
* host stores it and hands it back. Version 2 is the Rust engine's; the earlier
|
|
5
|
+
* TypeScript engine wrote and read 1. */
|
|
6
6
|
export declare const PARK_STATE_VERSION = 2;
|
|
7
7
|
/** The park state versions this release reads: each engine its own. */
|
|
8
8
|
export declare const SUPPORTED_PARK_STATE_VERSIONS: ReadonlySet<number>;
|
|
@@ -42,17 +42,19 @@ export declare const CONTRACTS: {
|
|
|
42
42
|
readonly supported: readonly [2];
|
|
43
43
|
readonly deprecated: readonly [];
|
|
44
44
|
};
|
|
45
|
-
readonly 'language-versions': {
|
|
46
|
-
readonly current: number;
|
|
47
|
-
readonly supported: readonly number[];
|
|
48
|
-
readonly deprecated: readonly number[];
|
|
49
|
-
};
|
|
50
45
|
readonly 'system-caller': {
|
|
51
46
|
readonly current: 1;
|
|
52
47
|
readonly supported: readonly [1];
|
|
53
48
|
readonly deprecated: readonly [];
|
|
54
49
|
};
|
|
55
50
|
};
|
|
51
|
+
/** The language's contract (docs/contracts/language-versions.md) is not an
|
|
52
|
+
* integer of its own: it is the release's version, and a release reads the
|
|
53
|
+
* pins that share its compatibility key. */
|
|
54
|
+
export declare const LANGUAGE_CONTRACT: {
|
|
55
|
+
readonly version: string;
|
|
56
|
+
readonly key: string | undefined;
|
|
57
|
+
};
|
|
56
58
|
/** Refuse a `segment.open` whose host families version this host does not
|
|
57
59
|
* serve: it names the contract, the version it was handed and the ones it
|
|
58
60
|
* serves. An opening that names no version is refused the same way. */
|
package/dist/versions.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// The
|
|
2
|
+
// The integer contracts' versions, as one table. Each is an integer the contract's
|
|
3
3
|
// doc under docs/contracts/ states, and a test holds each constant here equal
|
|
4
4
|
// to its doc and the table equal to docs/contracts/README.md.
|
|
5
5
|
//
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// the version at the point of difference, never by a forked reader. A version
|
|
9
9
|
// this release does not support is refused at the boundary, loudly.
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.CONTRACTS = exports.SYSTEM_CALLER_VERSION = exports.SUPPORTED_HOST_FAMILIES_VERSIONS = exports.HOST_FAMILIES_VERSION = exports.SUPPORTED_PARK_STATE_VERSIONS = exports.PARK_STATE_VERSION = exports.SUPPORTED_CATALOG_SNAPSHOT_VERSIONS = exports.DEPRECATED_CATALOG_SNAPSHOT_VERSIONS = exports.CATALOG_SNAPSHOT_VERSION = void 0;
|
|
11
|
+
exports.LANGUAGE_CONTRACT = exports.CONTRACTS = exports.SYSTEM_CALLER_VERSION = exports.SUPPORTED_HOST_FAMILIES_VERSIONS = exports.HOST_FAMILIES_VERSION = exports.SUPPORTED_PARK_STATE_VERSIONS = exports.PARK_STATE_VERSION = exports.SUPPORTED_CATALOG_SNAPSHOT_VERSIONS = exports.DEPRECATED_CATALOG_SNAPSHOT_VERSIONS = exports.CATALOG_SNAPSHOT_VERSION = void 0;
|
|
12
12
|
exports.refuseUnsupportedHostFamiliesVersion = refuseUnsupportedHostFamiliesVersion;
|
|
13
13
|
exports.refuseUnsupportedParkStateVersion = refuseUnsupportedParkStateVersion;
|
|
14
14
|
const movement_lang_1 = require("@listen-fire/movement-lang");
|
|
@@ -17,8 +17,8 @@ Object.defineProperty(exports, "DEPRECATED_CATALOG_SNAPSHOT_VERSIONS", { enumera
|
|
|
17
17
|
Object.defineProperty(exports, "SUPPORTED_CATALOG_SNAPSHOT_VERSIONS", { enumerable: true, get: function () { return movement_lang_1.SUPPORTED_CATALOG_SNAPSHOT_VERSIONS; } });
|
|
18
18
|
const protocol_1 = require("./protocol");
|
|
19
19
|
/** A parked flow's state (docs/contracts/park-state.md). Engine to engine: a
|
|
20
|
-
* host stores it and hands it back. Version 2 is the Rust engine's
|
|
21
|
-
*
|
|
20
|
+
* host stores it and hands it back. Version 2 is the Rust engine's; the earlier
|
|
21
|
+
* TypeScript engine wrote and read 1. */
|
|
22
22
|
exports.PARK_STATE_VERSION = 2;
|
|
23
23
|
/** The park state versions this release reads: each engine its own. */
|
|
24
24
|
exports.SUPPORTED_PARK_STATE_VERSIONS = new Set([1, 2]);
|
|
@@ -45,13 +45,15 @@ exports.CONTRACTS = {
|
|
|
45
45
|
deprecated: [],
|
|
46
46
|
},
|
|
47
47
|
'adapter-protocol': { current: protocol_1.MANIFEST_PROTOCOL_VERSION, supported: [protocol_1.MANIFEST_PROTOCOL_VERSION], deprecated: [] },
|
|
48
|
-
'language-versions': {
|
|
49
|
-
current: movement_lang_1.CURRENT_LANGUAGE_VERSION,
|
|
50
|
-
supported: [...movement_lang_1.SUPPORTED_LANGUAGE_VERSIONS],
|
|
51
|
-
deprecated: [...movement_lang_1.DEPRECATED_LANGUAGE_VERSIONS],
|
|
52
|
-
},
|
|
53
48
|
'system-caller': { current: exports.SYSTEM_CALLER_VERSION, supported: [exports.SYSTEM_CALLER_VERSION], deprecated: [] },
|
|
54
49
|
};
|
|
50
|
+
/** The language's contract (docs/contracts/language-versions.md) is not an
|
|
51
|
+
* integer of its own: it is the release's version, and a release reads the
|
|
52
|
+
* pins that share its compatibility key. */
|
|
53
|
+
exports.LANGUAGE_CONTRACT = {
|
|
54
|
+
version: movement_lang_1.LANGUAGE_VERSION,
|
|
55
|
+
key: (0, movement_lang_1.compatibilityKey)(movement_lang_1.LANGUAGE_VERSION),
|
|
56
|
+
};
|
|
55
57
|
/** Refuse a `segment.open` whose host families version this host does not
|
|
56
58
|
* serve: it names the contract, the version it was handed and the ones it
|
|
57
59
|
* serves. An opening that names no version is refused the same way. */
|
package/dist/write_record.d.ts
CHANGED
|
@@ -108,7 +108,7 @@ export interface WriteRecord {
|
|
|
108
108
|
* target system computed that the author never wrote. In-memory
|
|
109
109
|
* handle-read surface only. */
|
|
110
110
|
resultData?: Record<string, unknown>;
|
|
111
|
-
/** What the record held when the write found it
|
|
111
|
+
/** What the record held when the write found it: the values
|
|
112
112
|
* the handle reads for fields its write neither sent nor got back. Kept
|
|
113
113
|
* apart from `resultData` because a handle that parents a later write
|
|
114
114
|
* hands the adapter only what its own write got back (`ParentLink.data`),
|
|
@@ -124,7 +124,7 @@ export interface WriteRecord {
|
|
|
124
124
|
edgeName: string;
|
|
125
125
|
toRecordType: string;
|
|
126
126
|
toExternalId: string;
|
|
127
|
-
/**
|
|
127
|
+
/** The earlier language's link body: the to side was FOUND by the body's criteria
|
|
128
128
|
* in the same statement — never created, never written — rather than a
|
|
129
129
|
* bound handle. */
|
|
130
130
|
foundTarget?: boolean;
|
|
@@ -157,8 +157,8 @@ export interface WriteRecord {
|
|
|
157
157
|
*/
|
|
158
158
|
note?: string;
|
|
159
159
|
/**
|
|
160
|
-
* This record is a SNAPSHOT — a record as it once stood (`-[:@old]
|
|
161
|
-
*
|
|
160
|
+
* This record is a SNAPSHOT — a record as it once stood (`-[:@old]->`),
|
|
161
|
+
* not a live position — so it has no address: it is equal
|
|
162
162
|
* only to itself, never to the live handle that shares its id.
|
|
163
163
|
*/
|
|
164
164
|
snapshot?: true;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@listen-fire/engine-contracts",
|
|
3
3
|
"license": "Apache-2.0",
|
|
4
|
-
"version": "0.12.0-rc.
|
|
4
|
+
"version": "0.12.0-rc.7",
|
|
5
5
|
"description": "The contracts the movement engine speaks: the tenant id, the host families and entry-point inputs, the parked state, file descriptors, the adapter protocol, the adapter contract and its manifest, the catalog's schema types and positions, the Expression vocabulary, plugins as data and the model names. Runtime-neutral: no Node import, no ambient types.",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": "22.20.0"
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"type": "commonjs",
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"zod": "4.1.12",
|
|
33
|
-
"@listen-fire/movement-lang": "^0.12.0-rc.
|
|
33
|
+
"@listen-fire/movement-lang": "^0.12.0-rc.7"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "20.16.5",
|