behavior-contracts 0.8.2 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/authoring.d.ts +1 -1
  2. package/dist/authoring.d.ts.map +1 -1
  3. package/dist/authoring.js +41 -2
  4. package/dist/authoring.js.map +1 -1
  5. package/dist/behavior.d.ts +0 -24
  6. package/dist/behavior.d.ts.map +1 -1
  7. package/dist/behavior.js +24 -2
  8. package/dist/behavior.js.map +1 -1
  9. package/dist/generator/emit-shared-go-typed.d.ts.map +1 -1
  10. package/dist/generator/emit-shared-go-typed.js +7 -7
  11. package/dist/generator/emit-shared-go-typed.js.map +1 -1
  12. package/dist/generator/emit-shared-rust-typed.d.ts +8 -0
  13. package/dist/generator/emit-shared-rust-typed.d.ts.map +1 -1
  14. package/dist/generator/emit-shared-rust-typed.js +20 -6
  15. package/dist/generator/emit-shared-rust-typed.js.map +1 -1
  16. package/dist/generator/emit-shared-typescript.d.ts.map +1 -1
  17. package/dist/generator/emit-shared-typescript.js +18 -2
  18. package/dist/generator/emit-shared-typescript.js.map +1 -1
  19. package/dist/generator/emit-typed-native-go.d.ts.map +1 -1
  20. package/dist/generator/emit-typed-native-go.js +185 -85
  21. package/dist/generator/emit-typed-native-go.js.map +1 -1
  22. package/dist/generator/emit-typed-native-rust.d.ts.map +1 -1
  23. package/dist/generator/emit-typed-native-rust.js +231 -101
  24. package/dist/generator/emit-typed-native-rust.js.map +1 -1
  25. package/dist/generator/native-expr.d.ts +68 -5
  26. package/dist/generator/native-expr.d.ts.map +1 -1
  27. package/dist/generator/native-expr.js +94 -18
  28. package/dist/generator/native-expr.js.map +1 -1
  29. package/dist/generator/typed.d.ts +26 -0
  30. package/dist/generator/typed.d.ts.map +1 -1
  31. package/dist/generator/typed.js +52 -0
  32. package/dist/generator/typed.js.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.js +1 -1
  35. package/dist/index.js.map +1 -1
  36. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"native-expr.d.ts","sourceRoot":"","sources":["../../src/generator/native-expr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-expr.d.ts","sourceRoot":"","sources":["../../src/generator/native-expr.ts"],"names":[],"mappings":"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"}
@@ -129,6 +129,22 @@ export class NativeExprCompiler {
129
129
  return fail("UNSUPPORTED_NODE_STRAIGHTLINE", `${this.be.lang} native expr: operator '${o.op}' is not in the covered closed set (fail-closed)`);
130
130
  }
131
131
  }
132
+ /**
133
+ * compilePort — compile a node at PORT position, where an `{opt:V}` result is ADMISSIBLE (the port
134
+ * field is a native `Option<T>` / `*T`, so "the value is absent" has a native representation).
135
+ *
136
+ * This is the one position that differs from a cond/guard expression: there an opt must be consumed
137
+ * by a null-compare or a coalesce (a required scalar slot cannot hold "absent"), so `compile` rejects
138
+ * a bare opt. A port CAN carry it — an optional leaf port receives null exactly as run_behavior's
139
+ * `evalPorts` would pass it. Everything else compiles identically (one traversal, one type-inference,
140
+ * one fail-closed discipline).
141
+ */
142
+ compilePort(node) {
143
+ const o = this.optLeafAccess(node);
144
+ if (o !== null)
145
+ return o;
146
+ return this.compile(node);
147
+ }
132
148
  /** compile a node and require it to produce a native `bool` (the cond `if` / guard `when` gate). A
133
149
  * non-bool result is a GENERATION-TIME fail-closed reject (strict-bool, mirrors requireBool). */
134
150
  compileBool(node) {
@@ -231,14 +247,17 @@ export class NativeExprCompiler {
231
247
  const head = this.be.resolveHead(path[0]);
232
248
  if (head === null)
233
249
  fail("UNKNOWN_BINDING", `${this.be.lang} native expr: unknown binding: ${path[0]}`);
234
- // A refOpt into a possibly-null intermediate would need opt-nil propagation; on the covered plane
235
- // the cond/guard exprs read REQUIRED typed fields (the corpus + graphddb shapes). A refOpt or a
236
- // walk through an opt field is fail-closed here (keep the boxed path for that shape).
250
+ // A refOpt WALKING an intermediate needs opt-nil propagation through the path — not covered (a
251
+ // single-segment refOpt has no intermediate and is resolved as the opt value itself by optLeafAccess,
252
+ // ahead of this).
237
253
  if (opt)
238
- fail("UNSUPPORTED_NODE_STRAIGHTLINE", `${this.be.lang} native expr: refOpt inside a cond/guard expression is not native-covered (fail-closed)`);
254
+ fail("UNSUPPORTED_NODE_STRAIGHTLINE", `${this.be.lang} native expr: a multi-segment refOpt (null-propagating field walk) is not native-covered (fail-closed)`);
239
255
  const { expr, ref } = this.be.fieldAccess(head.expr, head.ref, path.slice(1));
256
+ // This position needs a REQUIRED value; an opt has no native value to read without deciding what
257
+ // "absent" becomes — which is exactly the silent coercion the covered plane forbids. Consume the opt
258
+ // with `coalesce(x, <default>)` or test it with `eq/ne(x, null)`.
240
259
  if (ref.kind === "opt")
241
- fail("UNSUPPORTED_NODE_STRAIGHTLINE", `${this.be.lang} native expr: a required ref resolving to an opt field is not native-covered in a cond/guard expression (fail-closed)`);
260
+ fail("UNSUPPORTED_NODE_STRAIGHTLINE", `${this.be.lang} native expr: a ref resolving to an OPTIONAL value is not native-covered in a position that requires a value — consume it with coalesce(x, <default>) or test it with eq/ne(x, null) (fail-closed)`);
242
261
  return { stmts: [], expr, ref };
243
262
  }
244
263
  // ── construction ────────────────────────────────────────────────────────────────────
@@ -358,7 +377,7 @@ export class NativeExprCompiler {
358
377
  // `eq/ne(null, null)` — both sides null: eq ⇒ true, ne ⇒ false (valueEquals(null,null)===true).
359
378
  return { stmts: [], expr: this.be.boolLit(op === "eq"), ref: { kind: "scalar", scalar: "bool" } };
360
379
  }
361
- const optAcc = this.refOptLeafAccess(refNode);
380
+ const optAcc = this.optLeafAccess(refNode);
362
381
  if (optAcc !== null) {
363
382
  const expr = op === "ne" ? this.be.optIsSome(optAcc.expr) : this.be.optIsNone(optAcc.expr);
364
383
  return { stmts: optAcc.stmts, expr, ref: { kind: "scalar", scalar: "bool" } };
@@ -381,18 +400,33 @@ export class NativeExprCompiler {
381
400
  const cmp = this.be.binOp(op === "eq" ? "==" : "!=", a.expr, b.expr, sc);
382
401
  return { stmts, expr: cmp, ref: { kind: "scalar", scalar: "bool" } };
383
402
  }
384
- /** refOptLeafAccess — resolve a `{ref:[...]}` node whose LEAF field is `{opt:V}`, WITHOUT the
385
- * fail-closed opt-leaf reject that `ref()` enforces (the value is not deref'd only its presence is
386
- * tested by the null-compare caller). Returns the opt-typed access expr, or null when the node is not
387
- * a plain `ref` or its leaf is not an opt field (so the caller falls back to the scalar compare). */
388
- refOptLeafAccess(node) {
403
+ /**
404
+ * optLeafAccess resolve a node whose VALUE is an `{opt:V}`, WITHOUT the fail-closed opt reject that
405
+ * `ref()` enforces (a required scalar slot cannot hold "absent"; the opt-aware callers — the
406
+ * null-compare and `coalesce` consume the opt itself). Returns the opt-typed access expr + its
407
+ * TypeRef, or null when the node is not one of the two covered opt shapes.
408
+ *
409
+ * The covered shapes, each byte-equal to `refCore` (expr-eval.ts):
410
+ * - `{ref:[head, …path]}` whose LEAF resolves to an `{opt:V}` field (an opt field on a typed input /
411
+ * prior-node struct).
412
+ * - `{refOpt:[head]}` — a SINGLE-SEGMENT `opt($.x)` (authoring.ts `opt`). With an empty rest-path
413
+ * `refCore` never reaches its null-intermediate branch, so `refOpt` and `ref` observe the SAME
414
+ * value here; the head's own `{opt:V}` type is the result.
415
+ *
416
+ * A MULTI-segment `refOpt` (`opt($.x).y`) walks intermediates with null-propagation and is NOT covered
417
+ * (it would need opt-nil chaining) — null, so the caller fails closed.
418
+ */
419
+ optLeafAccess(node) {
389
420
  const o = opOf(node);
390
- if (o === null || o.op !== "ref")
391
- return null; // only a plain `ref` (a `refOpt` head is a different shape)
421
+ if (o === null || (o.op !== "ref" && o.op !== "refOpt"))
422
+ return null;
392
423
  const arg = o.arg;
393
424
  if (!Array.isArray(arg) || arg.length === 0 || !arg.every((p) => typeof p === "string"))
394
425
  return null;
395
426
  const path = arg;
427
+ // a refOpt only coincides with `ref` when there is no intermediate to propagate null through.
428
+ if (o.op === "refOpt" && path.length !== 1)
429
+ return null;
396
430
  const head = this.be.resolveHead(path[0]);
397
431
  if (head === null)
398
432
  return null;
@@ -404,8 +438,8 @@ export class NativeExprCompiler {
404
438
  return null;
405
439
  }
406
440
  if (acc.ref.kind !== "opt")
407
- return null; // leaf is not an opt fieldnot a null-presence test
408
- return { stmts: [], expr: acc.expr };
441
+ return null; // not an opt valuethe caller's non-opt path applies
442
+ return { stmts: [], expr: acc.expr, ref: acc.ref };
409
443
  }
410
444
  /** is `node` a bare INTEGRAL JS number literal (the IR form of an int literal, e.g. `2`)? Used to
411
445
  * widen an int literal to float when compared against a float operand (run_behavior value parity). */
@@ -473,10 +507,52 @@ export class NativeExprCompiler {
473
507
  fail("TYPE_MISMATCH", `${this.be.lang} native expr: not requires bool (got ${scalarName(a.ref)})`);
474
508
  return { stmts: a.stmts, expr: this.be.notOp(a.expr), ref: { kind: "scalar", scalar: "bool" } };
475
509
  }
510
+ /**
511
+ * coalesce — `{coalesce:[a,b]}` = `a ?? b`. run_behavior (expr-eval.ts §coalesce): evaluate `a`; if it
512
+ * is null evaluate and return `b`, else return `a` (the right side is LAZY).
513
+ *
514
+ * Two covered cases, each byte-equal to the interpreter:
515
+ * - `a` is an `{opt:U}` (an optional input port / an opt struct field) and `b` is a `U`: the native
516
+ * `unwrap_or` (rust `a.unwrap_or(b)` / the go twin). This is the ORM default — `coalesce(opt($.limit), 20)`.
517
+ * Its result type is `U`, matching the declared `coalesce-join` rule (expr-operator-types.ts).
518
+ * - `a` is a REQUIRED native value (never null — the type says so) and `b` has `a`'s type: the value
519
+ * is CONSTANT-folded to `a`, and `b` is never evaluated (exactly the interpreter's short-circuit).
520
+ * Mirrors the same reasoning the null-compare fold uses.
521
+ *
522
+ * The interpreter evaluates the right side LAZILY. That is only OBSERVABLE when the default can fail,
523
+ * so the two forms split on exactly that: a PURE default takes the expression form (its evaluation
524
+ * order cannot be observed — it neither fails nor has an effect), and a default that hoists statements
525
+ * (a fallible sub-expression carrying an early error-return) takes the STATEMENT form, which evaluates
526
+ * it only on the absent branch. The statement form is required because an early return propagates out
527
+ * of a rust `match` arm / a go `if` block, but not out of a closure.
528
+ * Whether a caller can host those statements is the CALLER's constraint, not this compiler's: a
529
+ * cond/guard position hoists them; a port built inline in a ports-struct literal cannot, and rejects
530
+ * there.
531
+ */
476
532
  coalesce(arg) {
477
- // coalesce needs a nullable left (opt). On the runtime-free covered plane an opt operand in a
478
- // cond/guard expr is not covered (opt-nil requires the boxed path). Fail closed.
479
- fail("UNSUPPORTED_NODE_STRAIGHTLINE", `${this.be.lang} native expr: coalesce (needs a nullable/opt operand) is not native-covered inside a cond/guard expression (fail-closed)`);
533
+ const [ea, eb] = this.binArgs("coalesce", arg);
534
+ const a = this.optLeafAccess(ea);
535
+ if (a === null) {
536
+ // a REQUIRED (non-opt) left operand can never be null ⇒ the result is always `a`, `b` unevaluated.
537
+ const left = this.compile(ea);
538
+ const right = this.compile(eb);
539
+ if (!typeRefEqual(left.ref, right.ref))
540
+ fail("TYPE_MISMATCH", `${this.be.lang} native expr: coalesce operands must agree (got ${JSON.stringify(left.ref)} ?? ${JSON.stringify(right.ref)}); a nullable left operand must be an opt-typed input port / struct field`);
541
+ return { stmts: left.stmts, expr: left.expr, ref: left.ref };
542
+ }
543
+ const inner = a.ref.inner;
544
+ const b = this.compile(eb);
545
+ if (!typeRefEqual(b.ref, inner))
546
+ fail("TYPE_MISMATCH", `${this.be.lang} native expr: coalesce default type ${JSON.stringify(b.ref)} does not match the opt operand's inner type ${JSON.stringify(inner)} (fail-closed)`);
547
+ const ty = this.be.renderType(inner);
548
+ // a PURE default is a single native expression (unwrap_or / the go twin — lazy in both backends).
549
+ if (b.stmts.length === 0)
550
+ return { stmts: a.stmts, expr: this.be.optUnwrapOr(a.expr, b.expr, ty), ref: inner };
551
+ // a FALLIBLE default hoists statements (its early error-returns), so the coalesce becomes a
552
+ // statement guard: only the absent branch evaluates the default. Same discipline as andOr / cond.
553
+ const temp = this.be.freshTemp();
554
+ const guard = this.be.optCoalesceGuard(temp, ty, a.expr, this.be.freshTemp(), b.stmts, b.expr);
555
+ return { stmts: [...a.stmts, ...guard], expr: temp, ref: inner };
480
556
  }
481
557
  cond(arg) {
482
558
  if (!Array.isArray(arg) || arg.length !== 3)
@@ -1 +1 @@
1
- {"version":3,"file":"native-expr.js","sourceRoot":"","sources":["../../src/generator/native-expr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-expr.js","sourceRoot":"","sources":["../../src/generator/native-expr.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,32 @@ export declare function buildTypePlan(ir: ComponentGraphIR): TypePlan;
78
78
  * プラン内 decl を引く(プランに無い obj 型は渡されない前提 — buildTypePlan が全注記点を網羅する)。
79
79
  */
80
80
  export declare function deriveTypeRef(t: PortableType, plan: TypePlan): TypeRef;
81
+ /**
82
+ * inputPortIsOptional — その input port が **省略可(値が「無い」= null を取り得る)**か。
83
+ *
84
+ * 可搬宣言面の `{opt: T}` は `PortSchema` へ `required:false` として降りる(authoring.ts
85
+ * `portSchemaFromPortable`)。`required === false` が optional の**唯一の印**であり、未指定/`true`
86
+ * は required(type-gate.ts `portableTypeOfInputPort` と同一規則 — 規則を二重定義しない)。
87
+ */
88
+ export declare function inputPortIsOptional(schema: {
89
+ required?: boolean;
90
+ } | undefined): boolean;
91
+ /**
92
+ * inputPortTypeRef — input port schema の **language-neutral な型**(go/rust の native emitter が
93
+ * 共通に lower する SSoT)。宣言された `type` を TypeRef へ落とし、optional(`required:false`)なら
94
+ * `{opt: …}` で包む(各言語は renderTypeRef が `Option<T>` / `*T` へ綴じる)。
95
+ *
96
+ * `type` 語彙は native emitter のもの(`"literal"` = 制約付き string / `"number"` = float チャネル /
97
+ * `array`・`map` は `elemType` 注記があるときだけ確定 — BC は推論しない・consumer-interface C3)。
98
+ * 確定できない `type`(`"object"` / elemType 無し array 等)は `undefined`(呼び側が fail-closed
99
+ * するか boxed 経路を保つ)。**optional の内側が確定しない場合も `undefined`** — 呼び側は
100
+ * 「optionality を表現できない port」として LOUD に fail-closed する(zero 値への黙った縮退を作らない)。
101
+ */
102
+ export declare function inputPortTypeRef(schema: {
103
+ type?: string;
104
+ required?: boolean;
105
+ elemType?: PortableType;
106
+ } | undefined, plan?: TypePlan): TypeRef | undefined;
81
107
  /**
82
108
  * TypedMaterializer — per-language の typed 具体化 seam。language-neutral な {@link TypePlan} と
83
109
  * 各注記点の {@link TypeRef} を受け取り、その言語の「型宣言(interface/struct)」と typed
@@ -1 +1 @@
1
- {"version":3,"file":"typed.d.ts","sourceRoot":"","sources":["../../src/generator/typed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAa,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAIhF;;;;;;;;;GASG;AACH,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAmDD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,gBAAgB,GAAG,QAAQ,CAiB5D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAWtE;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACtC;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC;IAGpC;;;;OAIG;IACH,eAAe,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzC;;;;OAIG;IACH,eAAe,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxE;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC;IACxH;;;OAGG;IACH,cAAc,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC1E;AAED,+DAA+D;AAC/D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE3E"}
1
+ {"version":3,"file":"typed.d.ts","sourceRoot":"","sources":["../../src/generator/typed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAa,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAIhF;;;;;;;;;GASG;AACH,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAmDD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,gBAAgB,GAAG,QAAQ,CAiB5D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAWtE;AAID;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GAAG,OAAO,CAEvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CAAE,GAAG,SAAS,EAClF,IAAI,CAAC,EAAE,QAAQ,GACd,OAAO,GAAG,SAAS,CA4BrB;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACtC;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC;IAGpC;;;;OAIG;IACH,eAAe,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACzC;;;;OAIG;IACH,eAAe,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxE;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC;IACxH;;;OAGG;IACH,cAAc,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;CAC1E;AAED,+DAA+D;AAC/D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE3E"}
@@ -98,6 +98,58 @@ export function deriveTypeRef(t, plan) {
98
98
  throw new Error(`typed emit: obj type not found in the type plan (structuralKey=${key}) — buildTypePlan must cover every annotation point`);
99
99
  return { kind: "named", name: decl.name };
100
100
  }
101
+ // ── input port schema → TypeRef(native emitter 共通 SSoT)────────────────────────────
102
+ /**
103
+ * inputPortIsOptional — その input port が **省略可(値が「無い」= null を取り得る)**か。
104
+ *
105
+ * 可搬宣言面の `{opt: T}` は `PortSchema` へ `required:false` として降りる(authoring.ts
106
+ * `portSchemaFromPortable`)。`required === false` が optional の**唯一の印**であり、未指定/`true`
107
+ * は required(type-gate.ts `portableTypeOfInputPort` と同一規則 — 規則を二重定義しない)。
108
+ */
109
+ export function inputPortIsOptional(schema) {
110
+ return schema?.required === false;
111
+ }
112
+ /**
113
+ * inputPortTypeRef — input port schema の **language-neutral な型**(go/rust の native emitter が
114
+ * 共通に lower する SSoT)。宣言された `type` を TypeRef へ落とし、optional(`required:false`)なら
115
+ * `{opt: …}` で包む(各言語は renderTypeRef が `Option<T>` / `*T` へ綴じる)。
116
+ *
117
+ * `type` 語彙は native emitter のもの(`"literal"` = 制約付き string / `"number"` = float チャネル /
118
+ * `array`・`map` は `elemType` 注記があるときだけ確定 — BC は推論しない・consumer-interface C3)。
119
+ * 確定できない `type`(`"object"` / elemType 無し array 等)は `undefined`(呼び側が fail-closed
120
+ * するか boxed 経路を保つ)。**optional の内側が確定しない場合も `undefined`** — 呼び側は
121
+ * 「optionality を表現できない port」として LOUD に fail-closed する(zero 値への黙った縮退を作らない)。
122
+ */
123
+ export function inputPortTypeRef(schema, plan) {
124
+ const base = (() => {
125
+ switch (schema?.type) {
126
+ case "string":
127
+ case "literal": // `param.literal('a','b',…)` — 制約付き string(union 制約は検証の関心事・型ではない)。
128
+ return { kind: "scalar", scalar: "string" };
129
+ case "int":
130
+ return { kind: "scalar", scalar: "int" };
131
+ case "float":
132
+ case "number": // `"number"` は float チャネル(run_behavior: typeName(number) === "float")。
133
+ return { kind: "scalar", scalar: "float" };
134
+ case "bool":
135
+ return { kind: "scalar", scalar: "bool" };
136
+ case "array":
137
+ case "arr":
138
+ return schema.elemType !== undefined && plan !== undefined
139
+ ? { kind: "arr", elem: deriveTypeRef(schema.elemType, plan) }
140
+ : undefined;
141
+ case "map":
142
+ return schema.elemType !== undefined && plan !== undefined
143
+ ? { kind: "map", value: deriveTypeRef(schema.elemType, plan) }
144
+ : undefined;
145
+ default:
146
+ return undefined;
147
+ }
148
+ })();
149
+ if (base === undefined)
150
+ return undefined;
151
+ return inputPortIsOptional(schema) ? { kind: "opt", inner: base } : base;
152
+ }
101
153
  /** TypeDecl を元の obj PortableType へ復元する(structuralKey 照合用・内部)。 */
102
154
  function objTypeOf(d, plan) {
103
155
  const obj = {};
@@ -1 +1 @@
1
- {"version":3,"file":"typed.js","sourceRoot":"","sources":["../../src/generator/typed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typed.js","sourceRoot":"","sources":["../../src/generator/typed.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -24,7 +24,7 @@ export declare const SPEC_VERSIONS: {
24
24
  readonly template: 1;
25
25
  readonly plan: 1;
26
26
  readonly canonical: 2;
27
- readonly behavior: 4;
27
+ readonly behavior: 5;
28
28
  readonly guard: 2;
29
29
  readonly c2: 1;
30
30
  readonly provenance: 1;
package/dist/index.js CHANGED
@@ -26,7 +26,7 @@ export const SPEC_VERSIONS = {
26
26
  template: 1,
27
27
  plan: 1,
28
28
  canonical: 2, // v2: obj 値の __proto__ own key を FORBIDDEN_KEY に(fail-closed)
29
- behavior: 4, // v4(#128/A6・SCP-only): provenance token + 全ノード型確定を serialized-IR 不変条件に格上げ(released 3=fanout を retire)。v1–v3 意味論は不変だが、旧 runtime(behavior≤3)は新 IR を loud reject する(機構 = 生成モジュールの baked-spec-skew ゲート[EXPECTED_SPEC_VERSIONS.behavior vs runtime] + conformance pre-flight version fail-closed。validateEnvelope は envelope の specVersion「major.minor」文字列を見るのであって behaviorVersion 整数ではない)
29
+ behavior: 5, // v5: an OMITTED input key for a port DECLARED optional (inputPorts[name].required === false — the opt portable-type constructor) binds to null; the runner reads the component's own inputPorts declaration when building the entry scope. A required port / an undeclared name is unaffected (still UNKNOWN_BINDING). An old runtime (behavior<=4) raises UNKNOWN_BINDING where a v5 vector expects the bound null, so v5 vectors are fail-closed against it by the conformance pre-flight version gate. | 旧 v4 // v4(#128/A6・SCP-only): provenance token + 全ノード型確定を serialized-IR 不変条件に格上げ(released 3=fanout を retire)。v1–v3 意味論は不変だが、旧 runtime(behavior≤3)は新 IR を loud reject する(機構 = 生成モジュールの baked-spec-skew ゲート[EXPECTED_SPEC_VERSIONS.behavior vs runtime] + conformance pre-flight version fail-closed。validateEnvelope は envelope の specVersion「major.minor」文字列を見るのであって behaviorVersion 整数ではない)
30
30
  guard: 2, // v2(#128/A6): assertCompiled(出自ゲート)+ UNTYPED_NODE(全型確定)+ operator 型シグネチャ SSoT の accept/reject を vector-pin(v1 は bc#25 の可搬性 pin のみ)
31
31
  c2: 1, // 初版(bc#28: c2-catalog-swap — catalog-swap 実行 + IR 構造一致の 5 言語 pin)
32
32
  provenance: 1, // 初版(#128/A6): シリアライズ境界の canonical fingerprint 照合(改竄/stale の 5 言語 loud reject)+ 非空虚性(CONFORMANCE_MUTATE)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,gEAAgE;AAChE,oEAAoE;AACpE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,CAAC,EAAE,6DAA6D;IAC5E,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,CAAC,EAAE,8DAA8D;IAC5E,QAAQ,EAAE,CAAC,EAAE,uXAAuX;IACpY,KAAK,EAAE,CAAC,EAAE,oIAAoI;IAC9I,EAAE,EAAE,CAAC,EAAE,mEAAmE;IAC1E,UAAU,EAAE,CAAC,EAAE,yGAAyG;CAChH,CAAC;AAEX,4EAA4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAc,CAAC;AAKpD,+EAA+E;AAC/E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG/H,+EAA+E;AAC/E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhF,+EAA+E;AAC/E,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAa1E,+EAA+E;AAC/E,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAG9F,+EAA+E;AAC/E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGlE,+EAA+E;AAC/E,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,+EAA+E;AAC/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAqEhG,iFAAiF;AACjF,uEAAuE;AACvE,4EAA4E;AAC5E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE7G,8EAA8E;AAC9E,kFAAkF;AAClF,2EAA2E;AAC3E,8DAA8D;AAC9D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGvD,uEAAuE;AACvE,gEAAgE;AAChE,sEAAsE;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,4EAA4E;AAC5E,kEAAkE;AAClE,0EAA0E;AAC1E,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAGlC,yEAAyE;AACzE,oFAAoF;AACpF,+FAA+F;AAC/F,8EAA8E;AAC9E,kFAAkF;AAElF,iFAAiF;AACjF,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,IAAI,EACJ,MAAM,EACN,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,GAAG,EACH,EAAE,EACF,GAAG,EACH,QAAQ,EACR,GAAG,EACH,GAAG,EACH,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAcxB,8EAA8E;AAC9E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAErD,gFAAgF;AAChF,kDAAkD;AAClD,kEAAkE;AAClE,4DAA4D;AAC5D,yEAAyE;AACzE,wDAAwD;AACxD,OAAO,KAAK,iBAAiB,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,iBAAiB,CAAC;AAGzB,6EAA6E;AAC7E,wEAAwE;AACxE,mDAAmD;AACnD,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,2BAA2B,EAC3B,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,eAAe,GAChB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "behavior-contracts",
3
- "version": "0.8.2",
3
+ "version": "0.8.4",
4
4
  "description": "Language-agnostic runtime core for behavior contracts (dsl-contracts): validateEnvelope / evaluateExpression / renderTemplate / runPlan / canonical serialization. Single source of truth for the shared DSL runtime primitives.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -28,7 +28,7 @@
28
28
  "template": 1,
29
29
  "plan": 1,
30
30
  "canonical": 2,
31
- "behavior": 4,
31
+ "behavior": 5,
32
32
  "guard": 2,
33
33
  "c2": 1,
34
34
  "provenance": 1,