behavior-contracts 0.8.0 → 0.8.2
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/authoring.d.ts +3 -0
- package/dist/authoring.d.ts.map +1 -1
- package/dist/authoring.js +7 -0
- package/dist/authoring.js.map +1 -1
- package/dist/behavior.d.ts +15 -0
- package/dist/behavior.d.ts.map +1 -1
- package/dist/behavior.js +26 -0
- package/dist/behavior.js.map +1 -1
- package/dist/expr-operator-types.d.ts.map +1 -1
- package/dist/expr-operator-types.js +2 -0
- package/dist/expr-operator-types.js.map +1 -1
- package/dist/generator/emit-shared-go-typed.d.ts.map +1 -1
- package/dist/generator/emit-shared-go-typed.js +130 -4
- package/dist/generator/emit-shared-go-typed.js.map +1 -1
- package/dist/generator/emit-shared-rust-typed.d.ts.map +1 -1
- package/dist/generator/emit-shared-rust-typed.js +49 -1
- package/dist/generator/emit-shared-rust-typed.js.map +1 -1
- package/dist/generator/emit-shared-typescript-typed.d.ts +83 -0
- package/dist/generator/emit-shared-typescript-typed.d.ts.map +1 -0
- package/dist/generator/emit-shared-typescript-typed.js +259 -0
- package/dist/generator/emit-shared-typescript-typed.js.map +1 -0
- package/dist/generator/emit-shared-typescript.d.ts.map +1 -1
- package/dist/generator/emit-shared-typescript.js +88 -0
- package/dist/generator/emit-shared-typescript.js.map +1 -1
- package/dist/generator/emit-straightline-typed-typescript.d.ts.map +1 -1
- package/dist/generator/emit-straightline-typed-typescript.js +2 -0
- package/dist/generator/emit-straightline-typed-typescript.js.map +1 -1
- package/dist/generator/emit-typed-native-go.d.ts.map +1 -1
- package/dist/generator/emit-typed-native-go.js +250 -26
- package/dist/generator/emit-typed-native-go.js.map +1 -1
- package/dist/generator/emit-typed-native-rust.d.ts.map +1 -1
- package/dist/generator/emit-typed-native-rust.js +244 -25
- package/dist/generator/emit-typed-native-rust.js.map +1 -1
- package/dist/generator/emit-typescript-native.d.ts +56 -0
- package/dist/generator/emit-typescript-native.d.ts.map +1 -0
- package/dist/generator/emit-typescript-native.js +44 -0
- package/dist/generator/emit-typescript-native.js.map +1 -0
- package/dist/generator/index.d.ts +2 -0
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +6 -0
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/native-expr.d.ts +17 -0
- package/dist/generator/native-expr.d.ts.map +1 -1
- package/dist/generator/native-expr.js +82 -2
- package/dist/generator/native-expr.js.map +1 -1
- package/dist/generator/straightline.d.ts +22 -1
- package/dist/generator/straightline.d.ts.map +1 -1
- package/dist/generator/straightline.js +25 -7
- package/dist/generator/straightline.js.map +1 -1
- package/dist/generator/typed.d.ts +5 -0
- package/dist/generator/typed.d.ts.map +1 -1
- package/dist/generator/typed.js +8 -0
- package/dist/generator/typed.js.map +1 -1
- package/dist/guard.d.ts +2 -1
- package/dist/guard.d.ts.map +1 -1
- package/dist/guard.js +6 -5
- package/dist/guard.js.map +1 -1
- package/dist/type-gate.d.ts +1 -1
- package/dist/type-gate.d.ts.map +1 -1
- package/dist/type-gate.js +45 -24
- package/dist/type-gate.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import { deriveTypeRef } from "./typed.js";
|
|
2
|
+
// ── decls / renderTypeRef (shared discipline with the #46 oracle) ───────────────────────────
|
|
3
|
+
/** Render a TypeRef to a TS type annotation (scalar/opt/arr inline; obj → named interface ref). */
|
|
4
|
+
export function renderTypeRef(ref) {
|
|
5
|
+
switch (ref.kind) {
|
|
6
|
+
case "scalar":
|
|
7
|
+
switch (ref.scalar) {
|
|
8
|
+
case "string":
|
|
9
|
+
return "string";
|
|
10
|
+
case "int":
|
|
11
|
+
case "float":
|
|
12
|
+
return "number"; // TS has no integer type — erasure oracle (same as typescript-typed)
|
|
13
|
+
case "bool":
|
|
14
|
+
return "boolean";
|
|
15
|
+
case "null":
|
|
16
|
+
return "null";
|
|
17
|
+
}
|
|
18
|
+
break;
|
|
19
|
+
case "opt":
|
|
20
|
+
return `(${renderTypeRef(ref.inner)} | null)`;
|
|
21
|
+
case "arr":
|
|
22
|
+
return `${renderTypeRef(ref.elem)}[]`;
|
|
23
|
+
case "named":
|
|
24
|
+
return ref.name;
|
|
25
|
+
case "map":
|
|
26
|
+
return `Record<string, ${renderTypeRef(ref.value)}>`; // {map:V} — dynamic-key map (bc#{map:V})
|
|
27
|
+
}
|
|
28
|
+
throw new Error(`ts-native typed emit: unrenderable TypeRef ${JSON.stringify(ref)}`); // unreachable (closed set)
|
|
29
|
+
}
|
|
30
|
+
/** Emit the named interface declarations (decls order = deterministic). */
|
|
31
|
+
export function emitTypeDecls(plan) {
|
|
32
|
+
if (plan.decls.length === 0)
|
|
33
|
+
return "";
|
|
34
|
+
return plan.decls
|
|
35
|
+
.map((d) => {
|
|
36
|
+
const fields = d.fields.map((f) => ` ${JSON.stringify(f.name)}: ${renderTypeRef(f.type)};`).join("\n");
|
|
37
|
+
return `export interface ${d.name} {\n${fields}\n}`;
|
|
38
|
+
})
|
|
39
|
+
.join("\n\n");
|
|
40
|
+
}
|
|
41
|
+
// ── name discipline (deterministic) ─────────────────────────────────────────────────────────
|
|
42
|
+
function sanitize(name) {
|
|
43
|
+
return name.replace(/[^A-Za-z0-9_$]/g, "_");
|
|
44
|
+
}
|
|
45
|
+
/** Marshaller function name for a named interface (`marshalT0`). */
|
|
46
|
+
function marshalName(structName) {
|
|
47
|
+
return `marshal${structName}`;
|
|
48
|
+
}
|
|
49
|
+
// ── runtime-materialization hooks (bc#135 — TS side of the seam) ─────────────────────────────
|
|
50
|
+
/**
|
|
51
|
+
* materializeExpr — materialize a raw `Value` expression into a value of the annotated `ref`:
|
|
52
|
+
* - named (obj) → `marshalT*(rawExpr)` (the shape walk),
|
|
53
|
+
* - arr → `(rawExpr as Value[]).map((e) => <materialize e as elem>)`,
|
|
54
|
+
* - opt → `(rawExpr === null ? null : <materialize as inner>)`,
|
|
55
|
+
* - scalar → typed cast `(rawExpr as <ts type>)`.
|
|
56
|
+
* Under TS erasure the scalar cast is a no-op — that IS the handler Value boundary (expected).
|
|
57
|
+
*/
|
|
58
|
+
export function materializeExpr(rawExpr, ref, _plan) {
|
|
59
|
+
switch (ref.kind) {
|
|
60
|
+
case "named":
|
|
61
|
+
return `${marshalName(ref.name)}(${rawExpr})`;
|
|
62
|
+
case "arr":
|
|
63
|
+
return `(${rawExpr} as Value[]).map((__e): ${renderTypeRef(ref.elem)} => ${materializeExpr("__e", ref.elem, _plan)})`;
|
|
64
|
+
case "opt":
|
|
65
|
+
return `(${rawExpr} === null ? null : ${materializeExpr(rawExpr, ref.inner, _plan)})`;
|
|
66
|
+
case "scalar":
|
|
67
|
+
return `(${rawExpr} as unknown as ${renderTypeRef(ref)})`;
|
|
68
|
+
case "map":
|
|
69
|
+
// {map:V} — materialize each dynamic-key value; keys pass through (string).
|
|
70
|
+
return `Object.fromEntries(Object.entries(${rawExpr} as Record<string, Value>).map(([__k, __v]): [string, ${renderTypeRef(ref.value)}] => [__k, ${materializeExpr("__v", ref.value, _plan)}]))`;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* emitMarshallers — for every named interface T*, a `marshalT*(v: Value): T*` that materializes a
|
|
75
|
+
* boxed `Value` into the declared interface by reading each declared field (the de-interpreted shape
|
|
76
|
+
* walk). Deterministic (decls order). Empty when there are no named decls.
|
|
77
|
+
*/
|
|
78
|
+
export function emitMarshallers(plan) {
|
|
79
|
+
if (plan.decls.length === 0)
|
|
80
|
+
return "";
|
|
81
|
+
return plan.decls
|
|
82
|
+
.map((d) => {
|
|
83
|
+
const fn = marshalName(d.name);
|
|
84
|
+
// Read the boxed Value as a record once, then materialize each declared field to its typed value.
|
|
85
|
+
const fields = d.fields
|
|
86
|
+
.map((f) => {
|
|
87
|
+
const raw = `__o[${JSON.stringify(f.name)}]`;
|
|
88
|
+
return ` ${JSON.stringify(f.name)}: ${materializeExpr(raw, f.type, plan)},`;
|
|
89
|
+
})
|
|
90
|
+
.join("\n");
|
|
91
|
+
return `// ${fn} — materialize a boxed Value into ${d.name} by reading each declared field (de-interpreted
|
|
92
|
+
// shape walk; the leaf \`as\` is the handler Value boundary — a no-op under TS erasure).
|
|
93
|
+
export function ${fn}(__v: Value): ${d.name} {
|
|
94
|
+
const __o = __v as Record<string, Value>;
|
|
95
|
+
return {
|
|
96
|
+
${fields}
|
|
97
|
+
};
|
|
98
|
+
}`;
|
|
99
|
+
})
|
|
100
|
+
.join("\n\n");
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* typedFieldAccess — static typed field access on an already-materialized base (`base["f"]["g"]`).
|
|
104
|
+
* Returns the access expression and the type reached (per the plan decls). tsc checks the path
|
|
105
|
+
* against the interface (a field not on the interface is a compile error — the non-vacuous pin).
|
|
106
|
+
*/
|
|
107
|
+
export function typedFieldAccess(baseExpr, baseRef, fields, plan) {
|
|
108
|
+
let expr = baseExpr;
|
|
109
|
+
let ref = baseRef;
|
|
110
|
+
for (const f of fields) {
|
|
111
|
+
expr = `${expr}[${JSON.stringify(f)}]`;
|
|
112
|
+
ref = fieldTypeOf(ref, f, plan);
|
|
113
|
+
}
|
|
114
|
+
return { expr, ref };
|
|
115
|
+
}
|
|
116
|
+
/** The type reached by taking field `f` off a named (obj) TypeRef; throws if not on the interface. */
|
|
117
|
+
function fieldTypeOf(ref, f, plan) {
|
|
118
|
+
if (ref.kind !== "named")
|
|
119
|
+
throw new Error(`ts-native typed emit: field access '.${f}' on a non-obj type`);
|
|
120
|
+
const decl = plan.decls.find((d) => d.name === ref.name);
|
|
121
|
+
const field = decl?.fields.find((x) => x.name === f);
|
|
122
|
+
if (!field)
|
|
123
|
+
throw new Error(`ts-native typed emit: field '.${f}' is not declared on interface ${ref.name}`);
|
|
124
|
+
return field.type;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* serializeTyped — identity at the boundary. In TS the typed value IS already the canonical JS shape
|
|
128
|
+
* (erasure), so no re-serialization is needed for the equivalence pin: the straight-line body produced
|
|
129
|
+
* the canonical Value and the marshaller returned the same value retyped.
|
|
130
|
+
*/
|
|
131
|
+
export function serializeTyped(typedExpr, _ref, _plan) {
|
|
132
|
+
return typedExpr;
|
|
133
|
+
}
|
|
134
|
+
/** The TS runtime-materialization TypedMaterializer (bc#135) — the seam go/rust also ride. */
|
|
135
|
+
export const tsNativeTypedMaterializer = {
|
|
136
|
+
emitTypeDecls,
|
|
137
|
+
renderTypeRef,
|
|
138
|
+
emitMarshallers,
|
|
139
|
+
materializeExpr,
|
|
140
|
+
typedFieldAccess,
|
|
141
|
+
serializeTyped,
|
|
142
|
+
};
|
|
143
|
+
// ── the reachable typed layer (interfaces + marshallers + typed output + bindTyped) ─────────
|
|
144
|
+
/** A component is native-typed-covered iff it declares an `outputType` (a typed output to materialize). */
|
|
145
|
+
function coveredComponents(ctx) {
|
|
146
|
+
return ctx.ir.components.filter((c) => c.outputType !== undefined);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* emitOutputMarshaller — `marshalOutput_<name>(raw: Value): <outputType>` for a covered component.
|
|
150
|
+
* Materializes the straight-line body's assembled output value into the declared `outputType`. The
|
|
151
|
+
* body already produced the correct runtime value; this retypes it through the shape walk so the
|
|
152
|
+
* typed surface is `tsc`-checked. Runtime-equivalent (same value, retyped) under erasure.
|
|
153
|
+
*/
|
|
154
|
+
function emitOutputMarshaller(comp, plan, mat, derive) {
|
|
155
|
+
const ref = derive(comp.outputType, plan);
|
|
156
|
+
const fn = `marshalOutput_${sanitize(comp.name)}`;
|
|
157
|
+
const annot = mat.renderTypeRef(ref);
|
|
158
|
+
const materialize = mat.materializeExpr("__raw", ref, plan);
|
|
159
|
+
return `// ${fn} — materialize component '${comp.name}' output into its declared outputType (${annot}).
|
|
160
|
+
// The straight-line body already produced the canonical Value; this retypes it (tsc-checked shape
|
|
161
|
+
// walk). Runtime-equivalent under erasure (same value, retyped) — the equivalence pin holds.
|
|
162
|
+
export function ${fn}(__raw: Value): ${annot} {
|
|
163
|
+
return ${materialize};
|
|
164
|
+
}`;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* emitNativeTypedLayer — the REACHABLE typed layer appended to the straight-line runtime body:
|
|
168
|
+
* interfaces + marshallers + per-component output marshallers + a `bindTyped`/`bindTypedAsync` facade
|
|
169
|
+
* that runs the straight-line `bind()` runner and materializes each covered component's result into
|
|
170
|
+
* its `outputType`. This is what makes the typed layer live (not a dead oracle): the `as` boundary and
|
|
171
|
+
* typed field access are on a real typed entry path that `tsc --strict` verifies.
|
|
172
|
+
*/
|
|
173
|
+
export function emitNativeTypedLayer(ctx, plan, mat, derive) {
|
|
174
|
+
const decls = mat.emitTypeDecls(plan);
|
|
175
|
+
const marshallers = mat.emitMarshallers ? mat.emitMarshallers(plan) : "";
|
|
176
|
+
const covered = coveredComponents(ctx);
|
|
177
|
+
const outMarshallers = covered.map((c) => emitOutputMarshaller(c, plan, mat, derive)).join("\n\n");
|
|
178
|
+
// bindTyped arms: run the straight-line runner for the component, materialize its result into the
|
|
179
|
+
// component outputType. Components without an outputType keep the raw straight-line callable.
|
|
180
|
+
const typedArms = covered
|
|
181
|
+
.map((c) => {
|
|
182
|
+
const ref = derive(c.outputType, plan);
|
|
183
|
+
const annot = mat.renderTypeRef(ref);
|
|
184
|
+
return ` ${JSON.stringify(c.name)}: (input?: Scope): ${annot} => marshalOutput_${sanitize(c.name)}(__runners[${JSON.stringify(c.name)}](input)),`;
|
|
185
|
+
})
|
|
186
|
+
.join("\n");
|
|
187
|
+
const typedAsyncArms = covered
|
|
188
|
+
.map((c) => {
|
|
189
|
+
const ref = derive(c.outputType, plan);
|
|
190
|
+
const annot = mat.renderTypeRef(ref);
|
|
191
|
+
return ` ${JSON.stringify(c.name)}: async (input?: Scope): Promise<${annot}> => marshalOutput_${sanitize(c.name)}(await __runners[${JSON.stringify(c.name)}](input)),`;
|
|
192
|
+
})
|
|
193
|
+
.join("\n");
|
|
194
|
+
// The typed bind return type: a mapped object over the covered component names.
|
|
195
|
+
const typedReturn = covered
|
|
196
|
+
.map((c) => {
|
|
197
|
+
const ref = derive(c.outputType, plan);
|
|
198
|
+
return ` ${JSON.stringify(c.name)}: (input?: Scope) => ${mat.renderTypeRef(ref)};`;
|
|
199
|
+
})
|
|
200
|
+
.join("\n");
|
|
201
|
+
const typedAsyncReturn = covered
|
|
202
|
+
.map((c) => {
|
|
203
|
+
const ref = derive(c.outputType, plan);
|
|
204
|
+
return ` ${JSON.stringify(c.name)}: (input?: Scope) => Promise<${mat.renderTypeRef(ref)}>;`;
|
|
205
|
+
})
|
|
206
|
+
.join("\n");
|
|
207
|
+
return `
|
|
208
|
+
// ── native typed layer (bc#135 — TS native codegen) ────────────────────────────────────────
|
|
209
|
+
// TS is type-erased: the executable path is the straight-line bind/bindAsync above (byte-identical
|
|
210
|
+
// to typescript-typed's runtime). This layer adds a REACHABLE, tsc-checked typed surface: interfaces
|
|
211
|
+
// derived from the portable outType/outputType, marshallers that materialize a boxed Value into those
|
|
212
|
+
// interfaces by walking the declared shape (the leaf \`as\` is the handler Value boundary — a no-op
|
|
213
|
+
// under erasure), and bindTyped()/bindTypedAsync() facades that run the straight-line runner and
|
|
214
|
+
// materialize each covered component's result into its declared outputType. tsc --strict proves the
|
|
215
|
+
// node results, cross-node field access, and assembled output conform to the declared types; the
|
|
216
|
+
// runtime stays byte-identical to the straight-line body (the equivalence pin).
|
|
217
|
+
|
|
218
|
+
${decls}
|
|
219
|
+
|
|
220
|
+
${marshallers}
|
|
221
|
+
|
|
222
|
+
${outMarshallers}
|
|
223
|
+
|
|
224
|
+
/** BindTyped — the covered components as typed callables (result typed as the component outputType). */
|
|
225
|
+
export interface BindTyped {
|
|
226
|
+
${typedReturn}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/** BindTypedAsync — as BindTyped, awaiting async handlers. */
|
|
230
|
+
export interface BindTypedAsync {
|
|
231
|
+
${typedAsyncReturn}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* bindTyped — inject handlers and get one TYPED callable per covered component. Runs the same
|
|
236
|
+
* interpreter-free straight-line runner as bind() (boundary injection; no per-node dispatch, no
|
|
237
|
+
* IR-walk), then materializes the component result into its declared outputType. The materialization
|
|
238
|
+
* is tsc-checked; under TS erasure it is runtime-equivalent to bind() (same value, retyped).
|
|
239
|
+
*/
|
|
240
|
+
export function bindTyped(handlers: Handlers): BindTyped {
|
|
241
|
+
const __runners = bind(handlers);
|
|
242
|
+
return {
|
|
243
|
+
${typedArms}
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* bindTypedAsync — as bindTyped, awaiting async handlers. Covered components' results are materialized
|
|
249
|
+
* into their declared outputType after the straight-line async runner settles.
|
|
250
|
+
*/
|
|
251
|
+
export function bindTypedAsync(handlers: AsyncHandlers): BindTypedAsync {
|
|
252
|
+
const __runners = bindAsync(handlers);
|
|
253
|
+
return {
|
|
254
|
+
${typedAsyncArms}
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
`;
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=emit-shared-typescript-typed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-shared-typescript-typed.js","sourceRoot":"","sources":["../../src/generator/emit-shared-typescript-typed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-shared-typescript.d.ts","sourceRoot":"","sources":["../../src/generator/emit-shared-typescript.ts"],"names":[],"mappings":"AAmCA,OAAO,EASL,KAAK,mBAAmB,EAEzB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"emit-shared-typescript.d.ts","sourceRoot":"","sources":["../../src/generator/emit-shared-typescript.ts"],"names":[],"mappings":"AAmCA,OAAO,EASL,KAAK,mBAAmB,EAEzB,MAAM,mBAAmB,CAAC;AA4pC3B;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,mBAA6B,CAAC;AAClE,oFAAoF;AACpF,eAAO,MAAM,QAAQ,YAAQ,CAAC;AAC9B,uDAAuD;AACvD,eAAO,MAAM,YAAY,aAAY,CAAC"}
|
|
@@ -92,6 +92,7 @@ const usage = {
|
|
|
92
92
|
slCat: false,
|
|
93
93
|
planTypes: false, // Exec/AsyncExec/OpSpec/RelationKind(RunPlan 経路のみ)
|
|
94
94
|
handlerType: false, // Handler/AsyncHandler(handler を呼ぶ component の run_* param 型)
|
|
95
|
+
fanoutDedupDrop: false, // #135: fanout の dedup/drop SSoT(fanoutDedupDrop)を import する
|
|
95
96
|
};
|
|
96
97
|
function resetUsage() {
|
|
97
98
|
for (const k of Object.keys(usage))
|
|
@@ -340,6 +341,9 @@ function emitSeqOpExec(op, plan, ctx, hvars, aw, lines, indent, bindVar, bindRea
|
|
|
340
341
|
else if (op.kind === "map") {
|
|
341
342
|
emitSeqMap(op, plan, ctx, hvars, aw, inner, bodyIndent, store);
|
|
342
343
|
}
|
|
344
|
+
else if (op.kind === "fanout") {
|
|
345
|
+
emitSeqFanout(op, plan, ctx, hvars, aw, inner, bodyIndent, store);
|
|
346
|
+
}
|
|
343
347
|
else {
|
|
344
348
|
// componentRef: ports 構築(1 回)→ 解決済み handler 直呼び → policy 解釈。
|
|
345
349
|
const hv = hvars.get(op.component);
|
|
@@ -511,6 +515,88 @@ function emitSeqMap(op, plan, ctx, hvars, aw, out, ind, store) {
|
|
|
511
515
|
out.push(...finish);
|
|
512
516
|
}
|
|
513
517
|
}
|
|
518
|
+
/**
|
|
519
|
+
* emitSeqFanout (#135) — fanout(refsConnection)を逐次直線で綴じる。behavior.ts の fanout 物理層
|
|
520
|
+
* (fanoutPortsItems → 1回 batched handler → fanoutWrap)を直線展開する:
|
|
521
|
+
* 1. `over`(id-list)を評価し配列でなければ FANOUT_OVER_NOT_ARRAY。
|
|
522
|
+
* 2. 各要素を `as` に束縛し item ports を評価して items[] を組む。
|
|
523
|
+
* 3. items が空なら connection {items:[], cursor:null}(handler 非呼び出し — interpreter と一致)。
|
|
524
|
+
* 4. handler({items}) を1回呼び、policy 解釈(fail/retry/continue)。
|
|
525
|
+
* 5. ok は items と整列必須(FANOUT_BATCH_RESULT_MISMATCH)。fanoutDedupDrop(dedup/drop/strip の
|
|
526
|
+
* SSoT — 手コピー禁止)で items へ落とし、{items, cursor:null} に wrap。
|
|
527
|
+
* NO run_behavior / NO embedded IR: dedup/drop は fanoutDedupDrop(named runtime helper)を直呼び。
|
|
528
|
+
*/
|
|
529
|
+
function emitSeqFanout(op, plan, ctx, hvars, aw, out, ind, store) {
|
|
530
|
+
const i = op.index;
|
|
531
|
+
const meta = ctx.metas[i];
|
|
532
|
+
const f = plan.component.body[i].fanout;
|
|
533
|
+
const id = op.id;
|
|
534
|
+
const s = sanitize(id);
|
|
535
|
+
const hv = hvars.get(op.component);
|
|
536
|
+
const asKey = JSON.stringify(f.as);
|
|
537
|
+
usage.behaviorFailure = true;
|
|
538
|
+
usage.fanoutDedupDrop = true;
|
|
539
|
+
const elVar = `el_${s}`;
|
|
540
|
+
const mscopeVar = `mscope_${s}`;
|
|
541
|
+
const portsVar = `ports_${s}`;
|
|
542
|
+
const fiVar = `fi_${s}`;
|
|
543
|
+
const over = `over_${s}`;
|
|
544
|
+
const itemsVar = `items_${s}`;
|
|
545
|
+
const outcomeVar = `fo_${s}`;
|
|
546
|
+
const bodiesVar = `bodies_${s}`;
|
|
547
|
+
// item ports が scope($as 束縛以外)を読むなら要素ごとに mscope を組む(map と同型)。
|
|
548
|
+
const fanoutNeedsScope = Object.keys(f.ports).some((k) => {
|
|
549
|
+
const cls = classifyExpr(f.ports[k]);
|
|
550
|
+
const needs = (e) => e.kind === "dynamic" ? !isScopeFree(e.node) : e.kind === "concat" ? e.parts.some(needs) : false;
|
|
551
|
+
return needs(cls);
|
|
552
|
+
});
|
|
553
|
+
const baseScopeExpr = ctx.scopeVar ?? "input";
|
|
554
|
+
const fanoutCtx = { ...ctx, mapAs: { as: f.as, elVar, mscopeVar } };
|
|
555
|
+
const mscopeLine = fanoutNeedsScope
|
|
556
|
+
? [`${ind} const ${mscopeVar}: Scope = { ...${baseScopeExpr}, [${asKey}]: ${elVar} };`]
|
|
557
|
+
: [];
|
|
558
|
+
const portLines = (ind2) => {
|
|
559
|
+
if (op.ports.length === 0)
|
|
560
|
+
return [`${ind2}const ${portsVar}: Record<string, Value> = {};`];
|
|
561
|
+
return [
|
|
562
|
+
`${ind2}const ${portsVar}: Record<string, Value> = {`,
|
|
563
|
+
...op.ports.map((p) => `${ind2} ${JSON.stringify(p.name)}: ${emitSeqExpr(f.ports[p.name], fanoutCtx)},`),
|
|
564
|
+
`${ind2}};`,
|
|
565
|
+
];
|
|
566
|
+
};
|
|
567
|
+
// 1+2: over → items[](各要素 ports)。
|
|
568
|
+
out.push(`${ind}const ${over} = ${emitSeqExpr(f.over, ctx)};`);
|
|
569
|
+
out.push(`${ind}if (!Array.isArray(${over})) throw new BehaviorFailure("FANOUT_OVER_NOT_ARRAY", ${JSON.stringify(`fanout '${id}': 'over' did not evaluate to an array`)});`);
|
|
570
|
+
out.push(`${ind}const ${itemsVar}: Value[] = [];`);
|
|
571
|
+
out.push(`${ind}for (let ${fiVar} = 0; ${fiVar} < (${over} as Value[]).length; ${fiVar}++) {`);
|
|
572
|
+
out.push(`${ind} const ${elVar} = (${over} as Value[])[${fiVar}];`);
|
|
573
|
+
out.push(...mscopeLine, ...portLines(`${ind} `));
|
|
574
|
+
out.push(`${ind} ${itemsVar}.push(${portsVar});`);
|
|
575
|
+
out.push(`${ind}}`);
|
|
576
|
+
// dedupeKey/drop/implicitSource は生成時定数(fanoutDedupDrop SSoT へそのまま渡す)。
|
|
577
|
+
const specLit = `{ dedupeKey: ${JSON.stringify(f.dedupeKey)}, drop: ${JSON.stringify(f.drop)}${f.implicitSource !== undefined ? `, implicitSource: ${JSON.stringify(f.implicitSource)}` : ""} }`;
|
|
578
|
+
// 3: items 空 → connection 空(handler 非呼び出し)。else: handler 1回 → policy → align → dedupeDrop → wrap。
|
|
579
|
+
const connVar = `conn_${s}`;
|
|
580
|
+
out.push(`${ind}let ${connVar}: Value;`);
|
|
581
|
+
out.push(`${ind}if (${itemsVar}.length === 0) {`);
|
|
582
|
+
out.push(`${ind} ${connVar} = { items: [], cursor: null };`);
|
|
583
|
+
out.push(`${ind}} else {`);
|
|
584
|
+
out.push(`${ind} if (!${hv}) throw new BehaviorFailure("UNKNOWN_COMPONENT", ${JSON.stringify(`component '${op.component}' has no handler (fail-closed)`)});`);
|
|
585
|
+
out.push(`${ind} const ${outcomeVar} = ${aw}${hv}({ items: ${itemsVar} }, { nodeId: ${JSON.stringify(id)}, component: ${JSON.stringify(op.component)} });`);
|
|
586
|
+
const contFlag = meta.policy === "continue";
|
|
587
|
+
if (contFlag) {
|
|
588
|
+
// continue: エラー時は未生成(skip)— canSkip なので local/ok は既に false。ok のみ dedupeDrop。
|
|
589
|
+
out.push(...policyLines(outcomeVar, id, meta, `${ind} `, [`${connVar} = { items: [], cursor: null };`]));
|
|
590
|
+
// policyLines(continue) は `if (error) { <skip> } else {` を返す。ok 枝を綴じる。
|
|
591
|
+
out.push(`${ind} if (!Array.isArray(${outcomeVar}.ok) || ${outcomeVar}.ok.length !== ${itemsVar}.length)`, `${ind} throw new BehaviorFailure("FANOUT_BATCH_RESULT_MISMATCH", \`fanout '${id}': batched handler must return a list aligned to the deduped id list (want \${${itemsVar}.length}, got \${Array.isArray(${outcomeVar}.ok) ? ${outcomeVar}.ok.length : typeof ${outcomeVar}.ok})\`);`, `${ind} const ${bodiesVar} = fanoutDedupDrop(${outcomeVar}.ok as Value[], ${specLit});`, `${ind} ${connVar} = { items: ${bodiesVar}, cursor: null };`, `${ind} }`);
|
|
592
|
+
}
|
|
593
|
+
else {
|
|
594
|
+
out.push(...policyLines(outcomeVar, id, meta, `${ind} `, []));
|
|
595
|
+
out.push(`${ind} if (!Array.isArray(${outcomeVar}.ok) || ${outcomeVar}.ok.length !== ${itemsVar}.length)`, `${ind} throw new BehaviorFailure("FANOUT_BATCH_RESULT_MISMATCH", \`fanout '${id}': batched handler must return a list aligned to the deduped id list (want \${${itemsVar}.length}, got \${Array.isArray(${outcomeVar}.ok) ? ${outcomeVar}.ok.length : typeof ${outcomeVar}.ok})\`);`, `${ind} const ${bodiesVar} = fanoutDedupDrop(${outcomeVar}.ok as Value[], ${specLit});`, `${ind} ${connVar} = { items: ${bodiesVar}, cursor: null };`);
|
|
596
|
+
}
|
|
597
|
+
out.push(`${ind}}`);
|
|
598
|
+
store(connVar, ind, out);
|
|
599
|
+
}
|
|
514
600
|
/**
|
|
515
601
|
* emitSequentialFn — 逐次 plan の component を素の文列として綴じる(bc#75 の核)。
|
|
516
602
|
* RunPlan / ops テーブル / exec closure / per-op ID 探索 / per-expression scope snapshot は無い。
|
|
@@ -864,6 +950,8 @@ function emitModule(plans, ctx) {
|
|
|
864
950
|
valueImports.push("ExprFailure");
|
|
865
951
|
if (usage.cgp)
|
|
866
952
|
valueImports.push(`codegenPrimitives as ${CGP}`);
|
|
953
|
+
if (usage.fanoutDedupDrop)
|
|
954
|
+
valueImports.push("fanoutDedupDrop"); // #135: fanout dedup/drop SSoT
|
|
867
955
|
if (usage.runPlan)
|
|
868
956
|
valueImports.push("runPlan");
|
|
869
957
|
if (usage.runPlanAsync)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-shared-typescript.js","sourceRoot":"","sources":["../../src/generator/emit-shared-typescript.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emit-shared-typescript.js","sourceRoot":"","sources":["../../src/generator/emit-shared-typescript.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-straightline-typed-typescript.d.ts","sourceRoot":"","sources":["../../src/generator/emit-straightline-typed-typescript.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAyB,QAAQ,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"emit-straightline-typed-typescript.d.ts","sourceRoot":"","sources":["../../src/generator/emit-straightline-typed-typescript.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAyB,QAAQ,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AA6CpB,eAAO,MAAM,mBAAmB,EAAE,iBAGjC,CAAC;AA4QF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAOpC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC"}
|