behavior-contracts 0.8.8 → 0.8.10

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 (52) hide show
  1. package/README.md +49 -1
  2. package/cli-contract.yaml +76 -0
  3. package/dist/behavior.d.ts +12 -0
  4. package/dist/behavior.d.ts.map +1 -1
  5. package/dist/behavior.js +60 -41
  6. package/dist/behavior.js.map +1 -1
  7. package/dist/cli.js +14 -1
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/codegen.d.ts +5 -3
  10. package/dist/commands/codegen.d.ts.map +1 -1
  11. package/dist/commands/codegen.js +10 -3
  12. package/dist/commands/codegen.js.map +1 -1
  13. package/dist/generated/commands.d.ts.map +1 -1
  14. package/dist/generated/commands.js +16 -0
  15. package/dist/generated/commands.js.map +1 -1
  16. package/dist/generated/contract.d.ts.map +1 -1
  17. package/dist/generated/contract.js +2 -2
  18. package/dist/generated/contract.js.map +1 -1
  19. package/dist/generated/program.d.ts +8 -0
  20. package/dist/generated/program.d.ts.map +1 -1
  21. package/dist/generated/program.js +8 -0
  22. package/dist/generated/program.js.map +1 -1
  23. package/dist/generated/types.d.ts +8 -0
  24. package/dist/generated/types.d.ts.map +1 -1
  25. package/dist/generator/core.d.ts +1 -1
  26. package/dist/generator/core.d.ts.map +1 -1
  27. package/dist/generator/core.js.map +1 -1
  28. package/dist/generator/emit-shared-go-typed.d.ts +11 -1
  29. package/dist/generator/emit-shared-go-typed.d.ts.map +1 -1
  30. package/dist/generator/emit-shared-go-typed.js +26 -3
  31. package/dist/generator/emit-shared-go-typed.js.map +1 -1
  32. package/dist/generator/emit-shared-rust-typed.d.ts +11 -1
  33. package/dist/generator/emit-shared-rust-typed.d.ts.map +1 -1
  34. package/dist/generator/emit-shared-rust-typed.js +26 -3
  35. package/dist/generator/emit-shared-rust-typed.js.map +1 -1
  36. package/dist/generator/emit-shared-typescript.d.ts.map +1 -1
  37. package/dist/generator/emit-shared-typescript.js +37 -4
  38. package/dist/generator/emit-shared-typescript.js.map +1 -1
  39. package/dist/generator/emit-straightline-typed-typescript.d.ts.map +1 -1
  40. package/dist/generator/emit-straightline-typed-typescript.js +55 -7
  41. package/dist/generator/emit-straightline-typed-typescript.js.map +1 -1
  42. package/dist/generator/emit-typed-native-go.d.ts.map +1 -1
  43. package/dist/generator/emit-typed-native-go.js +22 -7
  44. package/dist/generator/emit-typed-native-go.js.map +1 -1
  45. package/dist/generator/emit-typed-native-rust.d.ts.map +1 -1
  46. package/dist/generator/emit-typed-native-rust.js +21 -6
  47. package/dist/generator/emit-typed-native-rust.js.map +1 -1
  48. package/dist/index.d.ts +1 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +1 -1
  51. package/dist/index.js.map +1 -1
  52. package/package.json +3 -2
package/README.md CHANGED
@@ -69,6 +69,29 @@ console.log(mod.fingerprint); // IR fingerprint (build-time skew gate)
69
69
  an unknown language, a non-portable IR, or a shape the target emitter cannot cover
70
70
  natively throws rather than degrading silently.
71
71
 
72
+ ### Generate from the CLI
73
+
74
+ The package installs a `bc` binary — codegen over the same public API:
75
+
76
+ ```bash
77
+ # emit a module to stdout (or write it with --out <file>)
78
+ bc generate --lang go-typed-native --in behaviors.ir.json > behaviors.generated.go
79
+ bc generate --lang rust-typed-native --in behaviors.ir.json --out behaviors.generated.rs
80
+
81
+ # drift check: non-zero exit if the committed --out differs from a fresh generation
82
+ bc check --lang go-typed-native --in behaviors.ir.json --out behaviors.generated.go
83
+ ```
84
+
85
+ For `go-typed-native`, point the consumer wire seam at a shared Go package with
86
+ `--go-wire-import` (optionally rename the seam types with `--go-wire-value/row/list`):
87
+
88
+ ```bash
89
+ bc generate --lang go-typed-native --go-wire-import example.com/pkg/wire --in behaviors.ir.json
90
+ # → the module references wire.WireValue / wire.WireRow / wire.WireList (else unqualified in-package names)
91
+ ```
92
+
93
+ Run `bc generate --help` for the full option reference (also generated at `docs/cli-reference.md`).
94
+
72
95
  ### Interpret the IR directly
73
96
 
74
97
  ```ts
@@ -78,6 +101,28 @@ import { runBehavior } from "behavior-contracts";
78
101
  const result = runBehavior(ir, handlers, { userId: "u1" }, "UserReads");
79
102
  ```
80
103
 
104
+ ## Consuming a typed-native module
105
+
106
+ A `*-typed-native` module is runtime-free and fully typed. bc does not own the wire
107
+ format, so the consumer supplies the concrete **wire seam** that the generated strict
108
+ de-box calls to classify each producer value against the declared type:
109
+
110
+ - **Go** — provide concrete `WireValue` / `WireRow` / `WireList` types (methods
111
+ `AsString`/`AsRow`/…, `ProbeString`/…, `ElemString`/… returning bc's probe structs) and
112
+ a concrete `Handler_<comp>` whose `Node_*` methods return your `WireValue`. Nothing is
113
+ dispatched dynamically (no interface, no generics). Use `--go-wire-import` so the seam
114
+ lives once in a shared package (`Handler_<comp>` stays your in-package type).
115
+ - **Rust** — implement the `WireValue` trait (with associated `WireRow` / `WireList`) on
116
+ your wire type; the runner is generic over your handler and monomorphizes (zero dynamic
117
+ dispatch, zero dictionary).
118
+
119
+ `opt` fields are key-omittable (an absent optional attribute decodes to `None`/null); an
120
+ integer supplied to a `float` slot is widened. A shape whose declared type the emitter
121
+ cannot bake — or an IR whose `outputType` is inconsistent with its node types — is a
122
+ generation-time error (`GeneratorFailure`), never silently-broken code. See
123
+ [`docs/strict-typing-and-debox.md`](../docs/strict-typing-and-debox.md) for the full
124
+ typing + de-box contract.
125
+
81
126
  ## Public primitives
82
127
 
83
128
  The shared runtime also exposes the individual COMMON primitives piecewise:
@@ -106,7 +151,10 @@ library (semver) version:
106
151
  | template | 1 |
107
152
  | plan | 1 |
108
153
  | canonical | 2 |
109
- | behavior | 2 |
154
+ | behavior | 5 |
155
+ | guard | 3 |
156
+ | c2 | 1 |
157
+ | provenance | 1 |
110
158
  | envelope | 1.1 |
111
159
 
112
160
  ## License
package/cli-contract.yaml CHANGED
@@ -93,6 +93,44 @@ command_sets:
93
93
  schema:
94
94
  type: string
95
95
 
96
+ - name: go-wire-import
97
+ required: false
98
+ description: >-
99
+ (--lang go-typed-native only) Go package path the consumer's wire
100
+ seam types live in; when set, the covered module imports it and
101
+ qualifies the seam type names (e.g. WireValue → <pkg>.WireValue).
102
+ Ignored by other emitters.
103
+ value_name: spec
104
+ schema:
105
+ type: string
106
+
107
+ - name: go-wire-value
108
+ required: false
109
+ description: >-
110
+ (--lang go-typed-native only) Name of the consumer's WireValue seam
111
+ type. Default WireValue. Ignored by other emitters.
112
+ value_name: name
113
+ schema:
114
+ type: string
115
+
116
+ - name: go-wire-row
117
+ required: false
118
+ description: >-
119
+ (--lang go-typed-native only) Name of the consumer's WireRow seam
120
+ type. Default WireRow. Ignored by other emitters.
121
+ value_name: name
122
+ schema:
123
+ type: string
124
+
125
+ - name: go-wire-list
126
+ required: false
127
+ description: >-
128
+ (--lang go-typed-native only) Name of the consumer's WireList seam
129
+ type. Default WireList. Ignored by other emitters.
130
+ value_name: name
131
+ schema:
132
+ type: string
133
+
96
134
  exits:
97
135
  '0':
98
136
  description: Module generated (written to --out, or printed to stdout).
@@ -166,6 +204,44 @@ command_sets:
166
204
  schema:
167
205
  type: string
168
206
 
207
+ - name: go-wire-import
208
+ required: false
209
+ description: >-
210
+ (--lang go-typed-native only) Go package path the consumer's wire
211
+ seam types live in; when set, the covered module imports it and
212
+ qualifies the seam type names (e.g. WireValue → <pkg>.WireValue).
213
+ Ignored by other emitters.
214
+ value_name: spec
215
+ schema:
216
+ type: string
217
+
218
+ - name: go-wire-value
219
+ required: false
220
+ description: >-
221
+ (--lang go-typed-native only) Name of the consumer's WireValue seam
222
+ type. Default WireValue. Ignored by other emitters.
223
+ value_name: name
224
+ schema:
225
+ type: string
226
+
227
+ - name: go-wire-row
228
+ required: false
229
+ description: >-
230
+ (--lang go-typed-native only) Name of the consumer's WireRow seam
231
+ type. Default WireRow. Ignored by other emitters.
232
+ value_name: name
233
+ schema:
234
+ type: string
235
+
236
+ - name: go-wire-list
237
+ required: false
238
+ description: >-
239
+ (--lang go-typed-native only) Name of the consumer's WireList seam
240
+ type. Default WireList. Ignored by other emitters.
241
+ value_name: name
242
+ schema:
243
+ type: string
244
+
169
245
  exits:
170
246
  '0':
171
247
  description: Up to date — the committed --out matches a fresh generation.
@@ -313,6 +313,18 @@ export declare class BehaviorFailure extends Error {
313
313
  detail?: ErrorDetail;
314
314
  constructor(code: BehaviorFailureCode, message: string, detail?: ErrorDetail);
315
315
  }
316
+ /**
317
+ * conformResultToOutType — ノード結果を宣言 `outType` に照らして検査し、正規化した値を返す公開 seam。
318
+ *
319
+ * run_behavior({@link checkNodeOutTypeIn})と、生成された straight-line / typed TS モジュールが
320
+ * **この 1 箇所を共有**して「node 結果 ≡ 宣言 outType」の正規化を行う(検査の発散も正規化の発散も
321
+ * 作らない — 型消去の TS でも生成コードは runtime でこの SSoT を呼び、run_behavior と byte 一致する)。
322
+ *
323
+ * map ノードの `outType` は**要素型**(scp-error.md「Map element type」)なので、結果型は
324
+ * `{arr: 要素型}`。これは compiler がノード結果参照の型を解決するときの読み方(`type-gate` の
325
+ * `"map" in n ? {arr: ot} : ot`)と同一。map 以外は結果型そのもの。
326
+ */
327
+ export declare function conformResultToOutType(nodeId: string, value: Value, outType: PortableType, isMapNode: boolean): Value;
316
328
  /**
317
329
  * FANOUT_DEDUP_DROP — THE ONE dedup/drop definition(behaviorVersion 3)。
318
330
  *
@@ -1 +1 @@
1
- {"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../src/behavior.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../src/behavior.ts"],"names":[],"mappings":"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"}
package/dist/behavior.js CHANGED
@@ -213,18 +213,23 @@ function conformFail(code, message, kind, nodeId, field, expected, actual) {
213
213
  throw new ExprFailure(code, message, detail);
214
214
  }
215
215
  /**
216
- * assertConformsToOutType — handler 結果が**宣言された `outType`** に適合することの fail-closed 検査。
216
+ * assertConformsToOutType — handler 結果を**宣言された `outType`** に照らして検査し、**その型の値へ
217
+ * 正規化して返す**(scp-error.md の fail-closed 検査 + de-box と同じ正規化)。
217
218
  *
218
219
  * 宣言は「その値がこうである」という主張であり、検査されなければ主張は無償になる(宣言と実際の
219
220
  * handler 結果がずれていても静かに通り、そのまま codegen へ流れる)。ここは runtime が**宣言型と
220
- * 返り値の両方を持つ唯一の地点**なので、Error Value(scp-error.md)はここで生成する。silent coerce
221
- * も silent pass-through もしない。
221
+ * 返り値の両方を持つ唯一の地点**なので、Error Value(scp-error.md)はここで生成する。silent
222
+ * pass-through はしない。
222
223
  *
223
- * 意味論は typed/native emitter の marshaller と一致させる(両面が発散すると
224
- * 「生成コード run_behavior」の等価不変則が壊れる):
225
- * - `float` は int も受けて widen する(整数値は float64 で厳密に表現できる = 整合の維持)。
226
- * - `obj` は**宣言フィールドの存在**のみ要求(未宣言の余剰キーは読まない = 無視)。
227
- * - `opt` は null を許し、非 null は内側型で検査。
224
+ * 意味論は typed/native emitter の de-box と**厳密に一致**させる(両面が発散すると「生成コード ≡
225
+ * run_behavior」の等価不変則が壊れる)。検査だけでなく**値も de-box と同じ形に正規化して返す**:
226
+ * - `float` は int も受けて **値を float へ widen** する(de-box `ParseFloat` と同一
227
+ * 整数値は float で厳密表現できる)。整数のまま返すと de-box(float)と発散する。
228
+ * - `opt` は null を許す。**宣言 obj フィールドのキーが欠落**しているとき、その型が `opt` なら
229
+ * 「値が無い」= null として materialize する(de-box の absent→None と同一・MISSING_PROP に
230
+ * しない)。required フィールドの欠落は MISSING_PROP のまま。
231
+ * - `obj` は宣言フィールドを検査し、未宣言の余剰キーはそのまま通す(de-box は読まないが、
232
+ * interpreter は従来どおり保持 — 余剰キーの扱いは本 ruling の対象外)。
228
233
  */
229
234
  function assertConformsToOutType(nodeId, v, t, field) {
230
235
  if (typeof t === "string") {
@@ -232,82 +237,96 @@ function assertConformsToOutType(nodeId, v, t, field) {
232
237
  case "string":
233
238
  if (typeof v !== "string")
234
239
  conformFail("TYPE_MISMATCH", `node '${nodeId}': ${field}: expected string, got ${wireTypeName(v)}`, "typeMismatch", nodeId, field, t, v);
235
- return;
240
+ return v;
236
241
  case "int":
237
242
  if (typeof v !== "bigint")
238
243
  conformFail("TYPE_MISMATCH", `node '${nodeId}': ${field}: expected int, got ${wireTypeName(v)}`, "typeMismatch", nodeId, field, t, v);
239
- return;
244
+ return v;
240
245
  case "float":
241
- // int を widen して受ける(marshaller と同一 整数値は float64 で厳密表現できる)。
242
- if (typeof v !== "number" && typeof v !== "bigint")
246
+ // int を widen して受け、**値を float(number) coerce** する(de-box: ParseFloat と同一)。
247
+ if (typeof v === "bigint")
248
+ return Number(v);
249
+ if (typeof v !== "number")
243
250
  conformFail("TYPE_MISMATCH", `node '${nodeId}': ${field}: expected float, got ${wireTypeName(v)}`, "typeMismatch", nodeId, field, t, v);
244
- return;
251
+ return v;
245
252
  case "bool":
246
253
  if (typeof v !== "boolean")
247
254
  conformFail("TYPE_MISMATCH", `node '${nodeId}': ${field}: expected bool, got ${wireTypeName(v)}`, "typeMismatch", nodeId, field, t, v);
248
- return;
255
+ return v;
249
256
  case "null":
250
257
  if (v !== null)
251
258
  conformFail("TYPE_MISMATCH", `node '${nodeId}': ${field}: expected null, got ${wireTypeName(v)}`, "typeMismatch", nodeId, field, t, v);
252
- return;
259
+ return v;
253
260
  }
254
261
  }
255
262
  if ("opt" in t) {
256
263
  if (v === null)
257
- return;
258
- assertConformsToOutType(nodeId, v, t.opt, field);
259
- return;
264
+ return null;
265
+ return assertConformsToOutType(nodeId, v, t.opt, field);
260
266
  }
261
267
  if ("arr" in t) {
262
268
  if (!Array.isArray(v))
263
269
  conformFail("TYPE_MISMATCH", `node '${nodeId}': ${field}: expected arr, got ${wireTypeName(v)}`, "typeMismatch", nodeId, field, t, v);
264
- v.forEach((el, i) => assertConformsToOutType(nodeId, el, t.arr, `${field}[${i}]`));
265
- return;
270
+ return v.map((el, i) => assertConformsToOutType(nodeId, el, t.arr, `${field}[${i}]`));
266
271
  }
267
272
  if ("map" in t) {
268
273
  if (v === null || typeof v !== "object" || Array.isArray(v))
269
274
  conformFail("TYPE_MISMATCH", `node '${nodeId}': ${field}: expected map, got ${wireTypeName(v)}`, "typeMismatch", nodeId, field, t, v);
275
+ const out = {};
270
276
  for (const [k, mv] of Object.entries(v))
271
- assertConformsToOutType(nodeId, mv, t.map, `${field}.${k}`);
272
- return;
277
+ out[k] = assertConformsToOutType(nodeId, mv, t.map, `${field}.${k}`);
278
+ return out;
273
279
  }
274
- // obj: 宣言フィールドの存在を要求し、各フィールドを宣言型で検査(余剰キーは読まない)。
280
+ // obj: 宣言フィールドを検査(欠落 opt は null へ materialize、欠落 required は MISSING_PROP)。
281
+ // 未宣言の余剰キーは保持する。
275
282
  if (v === null || typeof v !== "object" || Array.isArray(v))
276
283
  conformFail("TYPE_MISMATCH", `node '${nodeId}': ${field}: expected obj, got ${wireTypeName(v)}`, "typeMismatch", nodeId, field, t, v);
277
284
  const o = v;
285
+ const out = { ...o };
278
286
  for (const [k, ft] of Object.entries(t.obj)) {
279
- if (!Object.prototype.hasOwnProperty.call(o, k))
287
+ if (!Object.prototype.hasOwnProperty.call(o, k)) {
288
+ // 欠落キー: opt なら「値が無い」= null(de-box の absent→None と同一)。required は MISSING_PROP。
289
+ if (typeof ft === "object" && "opt" in ft) {
290
+ out[k] = null;
291
+ continue;
292
+ }
280
293
  conformFail("MISSING_PROP", `node '${nodeId}': ${field}: missing property .${k}`, "missingField", nodeId, `${field}.${k}`, ft, undefined);
281
- assertConformsToOutType(nodeId, o[k], ft, `${field}.${k}`);
294
+ }
295
+ out[k] = assertConformsToOutType(nodeId, o[k], ft, `${field}.${k}`);
282
296
  }
297
+ return out;
283
298
  }
284
299
  /**
285
- * ノード結果を**宣言された `outType`** に照らす(scp-error.md)。注記の無いノードは検査しない
286
- * (宣言が無ければ主張も無い)。注記があるなら「この値はこうである」という主張なので検査する —
287
- * 検査しなければ偽の注記が静かに codegen まで流れ、どのテストからも見えなくなる。
300
+ * ノード結果を**宣言された `outType`** に照らして検査し、**正規化した値を返す**(scp-error.md)。
301
+ * 注記の無いノードは検査せず値をそのまま返す(宣言が無ければ主張も無い)。注記があるなら
302
+ * 「この値はこうである」という主張なので検査する — 検査しなければ偽の注記が静かに codegen まで
303
+ * 流れ、どのテストからも見えなくなる。正規化(int→float widen / 欠落 opt→null)は de-box と一致。
288
304
  *
289
305
  * sync / async の両 runner がこの 1 箇所を共有する(検査の発散を作らない)。
290
306
  */
291
307
  function checkNodeOutTypeIn(body, idToIndex, opId, v) {
292
308
  const idx = idToIndex.get(opId);
293
309
  if (idx === undefined)
294
- return;
310
+ return v;
295
311
  const node = body[idx];
296
312
  const t = node.outType;
297
313
  if (t === undefined)
298
- return;
299
- assertConformsToOutType(opId, v, resultTypeOf(node, t), "result");
314
+ return v;
315
+ return conformResultToOutType(opId, v, t, "map" in node);
300
316
  }
301
317
  /**
302
- * ノードの宣言 `outType` を、その**結果値**の型へ正規化する。
318
+ * conformResultToOutType — ノード結果を宣言 `outType` に照らして検査し、正規化した値を返す公開 seam。
319
+ *
320
+ * run_behavior({@link checkNodeOutTypeIn})と、生成された straight-line / typed TS モジュールが
321
+ * **この 1 箇所を共有**して「node 結果 ≡ 宣言 outType」の正規化を行う(検査の発散も正規化の発散も
322
+ * 作らない — 型消去の TS でも生成コードは runtime でこの SSoT を呼び、run_behavior と byte 一致する)。
303
323
  *
304
- * map ノードの `outType` は**要素型**(scp-error.md「Map element type」)なので、結果は
324
+ * map ノードの `outType` は**要素型**(scp-error.md「Map element type」)なので、結果型は
305
325
  * `{arr: 要素型}`。これは compiler がノード結果参照の型を解決するときの読み方(`type-gate` の
306
- * `"map" in n ? {arr: ot} : ot`)と同一 — 注記の**形を覗く**のではなく単一の規約に従うので、要素が
307
- * それ自体 `arr` でも表現できる(要素 `arr(T)` → 結果 `arr(arr(T))`)。map 以外は結果型そのもの。
326
+ * `"map" in n ? {arr: ot} : ot`)と同一。map 以外は結果型そのもの。
308
327
  */
309
- function resultTypeOf(node, t) {
310
- return "map" in node ? { arr: t } : t;
328
+ export function conformResultToOutType(nodeId, value, outType, isMapNode) {
329
+ return assertConformsToOutType(nodeId, value, isMapNode ? { arr: outType } : outType, "result");
311
330
  }
312
331
  /**
313
332
  * Element Error Policy Kind を解決する(scp-error.md「The Element Error Policy」)。
@@ -579,8 +598,8 @@ export function runBehavior(ir, handlers, input = {}, entry) {
579
598
  const wrappedExec = (op, bound) => {
580
599
  const outcome = exec(op, bound);
581
600
  if ("ok" in outcome) {
582
- checkNodeOutType(op.id, outcome.ok);
583
- results[op.id] = outcome.ok;
601
+ // outType へ正規化した値を results に載せる(de-box と同じ float widen / 欠落 opt→null)。
602
+ results[op.id] = checkNodeOutType(op.id, outcome.ok);
584
603
  }
585
604
  return outcome;
586
605
  };
@@ -726,8 +745,8 @@ export async function runBehaviorAsync(ir, handlers, input = {}, entry) {
726
745
  const wrappedExec = async (op, bound) => {
727
746
  const outcome = await exec(op, bound);
728
747
  if ("ok" in outcome) {
729
- checkNodeOutTypeIn(body, idToIndex, op.id, outcome.ok);
730
- results[op.id] = outcome.ok;
748
+ // outType へ正規化した値を results に載せる(sync runBehavior と同一)。
749
+ results[op.id] = checkNodeOutTypeIn(body, idToIndex, op.id, outcome.ok);
731
750
  }
732
751
  return outcome;
733
752
  };
@@ -1 +1 @@
1
- {"version":3,"file":"behavior.js","sourceRoot":"","sources":["../src/behavior.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"behavior.js","sourceRoot":"","sources":["../src/behavior.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -32,8 +32,21 @@ function generateOrExit(opts) {
32
32
  process.stderr.write("bc: --in <ir-doc.json> is required\n");
33
33
  process.exit(2);
34
34
  }
35
+ // Build the go-typed-native wire seam option only when a go-wire-* flag is present; absent → leave
36
+ // undefined so the emitter applies its in-package default names (unqualified WireValue/WireRow/WireList).
37
+ const goWire = opts.goWireImport !== undefined ||
38
+ opts.goWireValue !== undefined ||
39
+ opts.goWireRow !== undefined ||
40
+ opts.goWireList !== undefined
41
+ ? {
42
+ value: opts.goWireValue ?? "WireValue",
43
+ row: opts.goWireRow ?? "WireRow",
44
+ list: opts.goWireList ?? "WireList",
45
+ ...(opts.goWireImport !== undefined ? { import: opts.goWireImport } : {}),
46
+ }
47
+ : undefined;
35
48
  try {
36
- return generateFromDoc(readDoc(opts.in), opts.lang, opts.runtimeImport);
49
+ return generateFromDoc(readDoc(opts.in), opts.lang, opts.runtimeImport, goWire);
37
50
  }
38
51
  catch (e) {
39
52
  process.stderr.write(`bc: ${e instanceof Error ? e.message : String(e)}\n`);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,+EAA+E;AAC/E,uEAAuE;AACvE,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,sCAAsC;AACtC,EAAE;AACF,6FAA6F;AAC7F,6FAA6F;AAC7F,EAAE;AACF,wEAAwE;AACxE,+FAA+F;AAC/F,EAAE;AACF,gGAAgG;AAChG,8DAA8D;AAC9D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAwB,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAU9D,sGAAsG;AACtG,SAAS,cAAc,CAAC,IAAoB;IAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAoB;IAChC,4EAA4E;IAC5E,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG;YAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;;YACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,4EAA4E;IAC5E,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC;YACH,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sBAAsB,IAAI,CAAC,GAAG,+CAA+C,CAC9E,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,eAAe,IAAI,CAAC,GAAG,kDAAkD;gBACvE,sBAAsB,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,UAAU,IAAI,CAAC,GAAG,IAAI,CACxE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACzD,CAAC;CACF,CAAC;AAEF,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
- import { type ComponentGraphIRDoc } from "../index.js";
2
- /** A serialized IR doc → the native module source (same path as the in-process API). */
3
- export declare function generateFromDoc(doc: ComponentGraphIRDoc, language: string, runtimeImport?: string): string;
1
+ import { type ComponentGraphIRDoc, type GenerateOptions } from "../index.js";
2
+ /** A serialized IR doc → the native module source (same path as the in-process API).
3
+ * `goWire` (go-typed-native only) is forwarded verbatim to the emitter option of the same
4
+ * name; other emitters ignore it. Omitted → the emitter's in-package default seam names. */
5
+ export declare function generateFromDoc(doc: ComponentGraphIRDoc, language: string, runtimeImport?: string, goWire?: GenerateOptions["goWire"]): string;
4
6
  /** Read + parse a serialized ComponentGraphIRDoc from disk. */
5
7
  export declare function readDoc(inPath: string): ComponentGraphIRDoc;
6
8
  //# sourceMappingURL=codegen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAYA,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AAErB,wFAAwF;AACxF,wBAAgB,eAAe,CAC7B,GAAG,EAAE,mBAAmB,EACxB,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CAYR;AAED,+DAA+D;AAC/D,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAY3D"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAYA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAErB;;4FAE4F;AAC5F,wBAAgB,eAAe,CAC7B,GAAG,EAAE,mBAAmB,EACxB,QAAQ,EAAE,MAAM,EAChB,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GACjC,MAAM,CAYR;AAED,+DAA+D;AAC/D,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAY3D"}
@@ -11,13 +11,20 @@
11
11
  // ════════════════════════════════════════════════════════════════════════════
12
12
  import { readFileSync } from "node:fs";
13
13
  import { loadCompiledIR, generateModule, registeredLanguages, } from "../index.js";
14
- /** A serialized IR doc → the native module source (same path as the in-process API). */
15
- export function generateFromDoc(doc, language, runtimeImport) {
14
+ /** A serialized IR doc → the native module source (same path as the in-process API).
15
+ * `goWire` (go-typed-native only) is forwarded verbatim to the emitter option of the same
16
+ * name; other emitters ignore it. Omitted → the emitter's in-package default seam names. */
17
+ export function generateFromDoc(doc, language, runtimeImport, goWire) {
16
18
  if (!registeredLanguages().includes(language)) {
17
19
  throw new Error(`--lang '${language}' is not a registered emitter (registered: ${registeredLanguages().join(", ")})`);
18
20
  }
19
21
  const compiled = loadCompiledIR(doc); // adopt the unbranded doc (recomputes + mints the provenance token)
20
- const module = generateModule(compiled, runtimeImport === undefined ? { language } : { language, runtimeImport });
22
+ const options = { language };
23
+ if (runtimeImport !== undefined)
24
+ options.runtimeImport = runtimeImport;
25
+ if (goWire !== undefined)
26
+ options.goWire = goWire;
27
+ const module = generateModule(compiled, options);
21
28
  return module.code;
22
29
  }
23
30
  /** Read + parse a serialized ComponentGraphIRDoc from disk. */
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,6DAA6D;AAC7D,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,4EAA4E;AAC5E,oDAAoD;AACpD,EAAE;AACF,gFAAgF;AAChF,sEAAsE;AACtE,+EAA+E;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,GAEpB,MAAM,aAAa,CAAC;AAErB,wFAAwF;AACxF,MAAM,UAAU,eAAe,CAC7B,GAAwB,EACxB,QAAgB,EAChB,aAAsB;IAEtB,IAAI,CAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,WAAW,QAAQ,8CAA8C,mBAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrG,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,oEAAoE;IAC1G,MAAM,MAAM,GAAG,cAAc,CAC3B,QAAQ,EACR,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CACzE,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;IAChD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,wBAAwB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/commands/codegen.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,6DAA6D;AAC7D,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,4EAA4E;AAC5E,oDAAoD;AACpD,EAAE;AACF,gFAAgF;AAChF,sEAAsE;AACtE,+EAA+E;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,GAGpB,MAAM,aAAa,CAAC;AAErB;;4FAE4F;AAC5F,MAAM,UAAU,eAAe,CAC7B,GAAwB,EACxB,QAAgB,EAChB,aAAsB,EACtB,MAAkC;IAElC,IAAI,CAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,WAAW,QAAQ,8CAA8C,mBAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrG,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,oEAAoE;IAC1G,MAAM,OAAO,GAAoB,EAAE,QAAQ,EAAE,CAAC;IAC9C,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;IACvE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAClD,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;IAChD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,wBAAwB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/generated/commands.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,YAAY,EAAE,eAAe,CAAC,GACtD,OAAO,CAAC,UAAU,CAAC,CAoBrB;AAED,wBAAsB,OAAO,CAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,YAAY,EAAE,YAAY,CAAC,GACnD,OAAO,CAAC,UAAU,CAAC,CAoBrB"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/generated/commands.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,YAAY,EAAE,eAAe,CAAC,GACtD,OAAO,CAAC,UAAU,CAAC,CAwBrB;AAED,wBAAsB,OAAO,CAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,YAAY,EAAE,YAAY,CAAC,GACnD,OAAO,CAAC,UAAU,CAAC,CAwBrB"}