behavior-contracts 0.7.3 → 0.8.0
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/README.md +0 -1
- package/dist/authoring.d.ts +215 -3
- package/dist/authoring.d.ts.map +1 -1
- package/dist/authoring.js +269 -8
- package/dist/authoring.js.map +1 -1
- package/dist/behavior.d.ts +22 -1
- package/dist/behavior.d.ts.map +1 -1
- package/dist/behavior.js +23 -1
- package/dist/behavior.js.map +1 -1
- package/dist/bind.d.ts +64 -0
- package/dist/bind.d.ts.map +1 -0
- package/dist/bind.js +131 -0
- package/dist/bind.js.map +1 -0
- package/dist/builder.d.ts +30 -88
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +48 -56
- package/dist/builder.js.map +1 -1
- package/dist/expr-operator-types.d.ts +89 -0
- package/dist/expr-operator-types.d.ts.map +1 -0
- package/dist/expr-operator-types.js +134 -0
- package/dist/expr-operator-types.js.map +1 -0
- package/dist/generator/async-plan.d.ts.map +1 -1
- package/dist/generator/async-plan.js +4 -0
- package/dist/generator/async-plan.js.map +1 -1
- package/dist/generator/core.d.ts +15 -0
- package/dist/generator/core.d.ts.map +1 -1
- package/dist/generator/core.js +2 -0
- package/dist/generator/core.js.map +1 -1
- package/dist/generator/emit-php.d.ts.map +1 -1
- package/dist/generator/emit-php.js +1 -0
- package/dist/generator/emit-php.js.map +1 -1
- package/dist/generator/emit-python.d.ts.map +1 -1
- package/dist/generator/emit-python.js +1 -0
- package/dist/generator/emit-python.js.map +1 -1
- package/dist/generator/emit-straightline-typed-typescript.d.ts.map +1 -1
- package/dist/generator/emit-straightline-typed-typescript.js +1 -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 +83 -12
- 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 +83 -20
- package/dist/generator/emit-typed-native-rust.js.map +1 -1
- package/dist/generator/emit-typescript.d.ts.map +1 -1
- package/dist/generator/emit-typescript.js +24 -8
- package/dist/generator/emit-typescript.js.map +1 -1
- package/dist/generator/index.d.ts +1 -1
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +7 -5
- package/dist/generator/index.js.map +1 -1
- package/dist/index.d.ts +41 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -6
- package/dist/index.js.map +1 -1
- package/dist/provenance.d.ts +102 -0
- package/dist/provenance.d.ts.map +1 -0
- package/dist/provenance.js +128 -0
- package/dist/provenance.js.map +1 -0
- package/dist/type-gate.d.ts +63 -0
- package/dist/type-gate.d.ts.map +1 -0
- package/dist/type-gate.js +295 -0
- package/dist/type-gate.js.map +1 -0
- package/package.json +4 -3
package/dist/authoring.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { SPEC_VERSIONS } from "./index.js";
|
|
2
|
-
import {
|
|
2
|
+
import { mintCompiled } from "./provenance.js";
|
|
3
|
+
import { assertAllNodeTypesDetermined, canonicalizeType } from "./type-gate.js";
|
|
4
|
+
import { assertPortableComponentGraph, assertPortableTypeNotation, PortabilityError } from "./guard.js";
|
|
3
5
|
import { buildComponentCore, checkPortableEntry, checkPortNames, checkDeclaredPortTypes, collectNodeIdRefs, DEFAULT_PLAN_CONCURRENCY, } from "./builder.js";
|
|
4
6
|
export class AuthoringFailure extends Error {
|
|
5
7
|
code;
|
|
@@ -45,6 +47,24 @@ function exprMetaOf(v) {
|
|
|
45
47
|
return undefined;
|
|
46
48
|
return v[EXPR_META];
|
|
47
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* `.map` の opts キーの閉集合(**runtime-enumerable SoT**)。{@link MapOptions} の型はここから
|
|
52
|
+
* 導出し(`Record<...> `)、新 opts キーを足すときはここに 1 語追加するのが正。matrix の網羅ゲート
|
|
53
|
+
* (#132)はこの配列から導出するので、SoT にキーを足して matrix にケースが無ければ CI が RED になる。
|
|
54
|
+
* 注: 要素ごと skip の `when` は opts キーではなく callback 内 `when(...)` guard 由来(`map.when` へ
|
|
55
|
+
* lower)なので、ここには含めない(authoring 手段が別。matrix 側で別途カバーする)。
|
|
56
|
+
*/
|
|
57
|
+
export const MAP_OPTION_KEYS = ["into", "batched"];
|
|
58
|
+
/**
|
|
59
|
+
* `refsConnection`(v3 fanout)の opts キーの閉集合(**runtime-enumerable SoT**)。graphddb の
|
|
60
|
+
* `@refs` 読みが宣言する dedupe/drop 契約。{@link FanoutOptions} の型はここから導出。新 opts キーは
|
|
61
|
+
* ここに追加するのが正で、matrix 網羅ゲート(#132)がこの配列から導出する(未カバー → CI RED)。
|
|
62
|
+
*/
|
|
63
|
+
export const FANOUT_OPTION_KEYS = ["dedupeKey", "drop", "implicitSource"];
|
|
64
|
+
const _mapOptsSync = true;
|
|
65
|
+
const _fanoutOptsSync = true;
|
|
66
|
+
void _mapOptsSync;
|
|
67
|
+
void _fanoutOptsSync;
|
|
48
68
|
function makeExpr(meta) {
|
|
49
69
|
return new Proxy({}, {
|
|
50
70
|
get(_t, prop) {
|
|
@@ -64,6 +84,8 @@ function makeExpr(meta) {
|
|
|
64
84
|
return (cb, opts) => recordMap(meta, cb, opts);
|
|
65
85
|
if (prop === "refsConnection")
|
|
66
86
|
return (cb, opts) => recordFanout(meta, cb, opts);
|
|
87
|
+
if (prop === "as")
|
|
88
|
+
return (t) => recordAs(meta, t);
|
|
67
89
|
if (meta.refPath === null)
|
|
68
90
|
afail("COMPUTED_ACCESS", `property '.${prop}' on a computed expression cannot be lowered (bind the value through a component result or restructure the wiring)`);
|
|
69
91
|
if (meta.isInput && meta.refPath.length === 0)
|
|
@@ -257,8 +279,157 @@ export function catalogComponents(catalog) {
|
|
|
257
279
|
}
|
|
258
280
|
return out;
|
|
259
281
|
}
|
|
260
|
-
function
|
|
282
|
+
export function defineLeaf(name, meta,
|
|
283
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
284
|
+
fn) {
|
|
285
|
+
if (typeof name !== "string" || name === "")
|
|
286
|
+
afail("BAD_LEAF_META", `defineLeaf: name must be a non-empty string`);
|
|
287
|
+
if (!meta || typeof meta !== "object")
|
|
288
|
+
afail("BAD_LEAF_META", `defineLeaf '${name}': meta must be an object with cardinality/ports/output`);
|
|
289
|
+
if (meta.cardinality !== "one" && meta.cardinality !== "many")
|
|
290
|
+
afail("BAD_LEAF_META", `defineLeaf '${name}': cardinality must be "one" or "many"`);
|
|
291
|
+
if (!meta.ports || typeof meta.ports !== "object" || Array.isArray(meta.ports))
|
|
292
|
+
afail("BAD_LEAF_META", `defineLeaf '${name}': ports must be a record of PortableType`);
|
|
293
|
+
if (typeof fn !== "function")
|
|
294
|
+
afail("BAD_LEAF_META", `defineLeaf '${name}': fn (the impl body) must be a function`);
|
|
295
|
+
// runtime PortableType 注記の閉集合検査(guard と同一強度・fail-closed。core が読む唯一の型源)。
|
|
296
|
+
for (const [k, pt] of Object.entries(meta.ports))
|
|
297
|
+
checkPortableTypeMeta(name, `ports.${k}`, pt);
|
|
298
|
+
checkPortableTypeMeta(name, "output", meta.output);
|
|
299
|
+
return { name, meta, fn };
|
|
300
|
+
}
|
|
301
|
+
/** defineLeaf / behaviorComponents の PortableType 注記を fail-closed で検査する。 */
|
|
302
|
+
function checkPortableTypeMeta(leaf, at, t) {
|
|
303
|
+
try {
|
|
304
|
+
assertPortableTypeNotation(t, at);
|
|
305
|
+
}
|
|
306
|
+
catch (e) {
|
|
307
|
+
if (e instanceof PortabilityError)
|
|
308
|
+
afail("BAD_TYPE_NOTATION", `defineLeaf '${leaf}': ${e.message}`);
|
|
309
|
+
throw e;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* `PortableType` → `PortSchema.type` 文字列(hand-written catalog と同一の語彙)+
|
|
314
|
+
* elemType の導出。既存 catalog(authoring.test.ts の `kv` / codegen-corpus の inputPorts)は
|
|
315
|
+
* スカラを `"string"`/`"int"`/`"float"`/`"bool"` の TS 風文字列で、配列を
|
|
316
|
+
* `{ type:"array", elemType: <PortableType> }` で書く。この導出はその shape を再現する:
|
|
317
|
+
*
|
|
318
|
+
* - スカラ → `{ type: <scalar> }`
|
|
319
|
+
* - `{opt: T}` → 内側 T の schema に `required:false` を上書き(nullable Port)
|
|
320
|
+
* - `{arr: T}` → `{ type:"array", elemType: T }`(map-over-input の $as 要素型解決源 — bc#101)
|
|
321
|
+
* - `{obj: …}` → `{ type:"object" }`(object Port — 内部 field 型は catalog schema では持たない)
|
|
322
|
+
*/
|
|
323
|
+
function portSchemaFromPortable(pt, required) {
|
|
324
|
+
if (typeof pt === "string") {
|
|
325
|
+
const s = { type: pt };
|
|
326
|
+
if (required)
|
|
327
|
+
s.required = true;
|
|
328
|
+
return s;
|
|
329
|
+
}
|
|
330
|
+
if ("opt" in pt) {
|
|
331
|
+
// opt は「省略可 = required:false」。内側の base 型で type を決める。
|
|
332
|
+
const inner = portSchemaFromPortable(pt.opt, false);
|
|
333
|
+
return { ...inner, required: false };
|
|
334
|
+
}
|
|
335
|
+
if ("arr" in pt) {
|
|
336
|
+
const s = { type: "array", elemType: pt.arr };
|
|
337
|
+
if (required)
|
|
338
|
+
s.required = true;
|
|
339
|
+
return s;
|
|
340
|
+
}
|
|
341
|
+
// obj
|
|
342
|
+
const s = { type: "object" };
|
|
343
|
+
if (required)
|
|
344
|
+
s.required = true;
|
|
345
|
+
return s;
|
|
346
|
+
}
|
|
347
|
+
/** cardinality → CatalogOutput.shape(one → "item" / many → "items"。既存語彙と一致)。 */
|
|
348
|
+
function outputShapeFromCardinality(cardinality) {
|
|
349
|
+
return { shape: cardinality === "one" ? "item" : "items" };
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* catalogEntryFromLeaf — defineLeaf の runtime 注記から `CatalogEntry` を **導出**する
|
|
353
|
+
* (consumer は catalog を手書きしない — §4.1)。
|
|
354
|
+
* - `inputPorts` = 各 Port の PortableType を PortSchema へ射影(scalar/opt/arr/obj)。
|
|
355
|
+
* - `output.shape` = cardinality(one→item / many→items)。
|
|
356
|
+
* - `elemType` = `output`(その leaf が返す要素の確定型。typed codegen / map 要素型の SSoT)。
|
|
357
|
+
* - `portableToIR` / `additionalPorts` は meta から(既定 true / false)。
|
|
358
|
+
*/
|
|
359
|
+
export function catalogEntryFromLeaf(def) {
|
|
360
|
+
const inputPorts = {};
|
|
361
|
+
for (const [k, pt] of Object.entries(def.meta.ports)) {
|
|
362
|
+
// opt でラップされた Port は省略可(required:false)、それ以外は required。
|
|
363
|
+
const required = !(typeof pt === "object" && pt !== null && "opt" in pt);
|
|
364
|
+
inputPorts[k] = portSchemaFromPortable(pt, required);
|
|
365
|
+
}
|
|
366
|
+
const entry = {
|
|
367
|
+
name: def.name,
|
|
368
|
+
inputPorts,
|
|
369
|
+
output: outputShapeFromCardinality(def.meta.cardinality),
|
|
370
|
+
portableToIR: def.meta.portableToIR ?? true,
|
|
371
|
+
elemType: def.meta.output,
|
|
372
|
+
};
|
|
373
|
+
if (def.meta.additionalPorts === true)
|
|
374
|
+
entry.additionalPorts = true;
|
|
375
|
+
return entry;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* behaviorComponents — `defineLeaf` 結果のレコードから **portable catalog を導出**し、
|
|
379
|
+
* authoring 本体で呼べる leaf コンポーネント関数群を返す(`catalogComponents(catalog)` と
|
|
380
|
+
* **同一の call-shape** `{ [name]: (ports) => Recorded }`・同一の {@link recordComponentCall}
|
|
381
|
+
* 機構)。consumer は catalog も handlers も手書きしない(§4.1 / SA4)。
|
|
382
|
+
*
|
|
383
|
+
* catalog は `defineLeaf` の型付きシグネチャ由来の runtime 注記から機械導出されるため、
|
|
384
|
+
* 手書き catalog と**構造的に同一**(AC1)。派生後の record は既存 catalog 経路と完全に同じ
|
|
385
|
+
* port 検証・lowering を通る。
|
|
386
|
+
*/
|
|
387
|
+
export function behaviorComponents(leaves) {
|
|
388
|
+
const out = {};
|
|
389
|
+
for (const key of Object.keys(leaves)) {
|
|
390
|
+
const def = leaves[key];
|
|
391
|
+
const entry = catalogEntryFromLeaf(def);
|
|
392
|
+
// SA8: leaf impl(型付き静的関数の本体)を record 時にフレームのレジストリへ登録する。
|
|
393
|
+
// handlers 手注入を廃し、bind 時にこの registry から name→impl を自動 dispatch する(bind.ts)。
|
|
394
|
+
out[key] = (ports) => recordComponentCall(entry.name, entry, ports, def.fn);
|
|
395
|
+
}
|
|
396
|
+
return out;
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* deriveCatalog — `defineLeaf` レコードから `Catalog`(name → CatalogEntry)を導出する
|
|
400
|
+
* (guard / typed codegen / fingerprint の SSoT を得たい consumer 向け。`behaviorComponents`
|
|
401
|
+
* が内部で使うのと同一の {@link catalogEntryFromLeaf} 射影)。
|
|
402
|
+
*/
|
|
403
|
+
export function deriveCatalog(leaves) {
|
|
404
|
+
const catalog = {};
|
|
405
|
+
for (const def of Object.values(leaves))
|
|
406
|
+
catalog[def.name] = catalogEntryFromLeaf(def);
|
|
407
|
+
return catalog;
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* baseOutTypeFromEntry — catalog エントリの base ノード結果型を導出する。`elemType` は leaf の
|
|
411
|
+
* **要素型**なので、ノード結果の確定型は `output.shape` で包む:
|
|
412
|
+
* - `item`(既定)→ 要素型そのもの。
|
|
413
|
+
* - `items` → `{arr: 要素型}`(リスト結果)。
|
|
414
|
+
* - `connection` → `{obj:{items:{arr:要素型}, cursor:{opt:"string"}}}`(connection 結果)。
|
|
415
|
+
* `elemType` が無いエントリ(手書き catalog 等)は undefined(=未確定 → ゲートが UNTYPED_NODE)。
|
|
416
|
+
*/
|
|
417
|
+
function baseOutTypeFromEntry(entry) {
|
|
418
|
+
if (entry.elemType === undefined)
|
|
419
|
+
return undefined;
|
|
420
|
+
const shape = entry.output?.shape ?? "item";
|
|
421
|
+
if (shape === "items")
|
|
422
|
+
return { arr: entry.elemType };
|
|
423
|
+
if (shape === "connection")
|
|
424
|
+
return { obj: { items: { arr: entry.elemType }, cursor: { opt: "string" } } };
|
|
425
|
+
return entry.elemType; // item(単一)
|
|
426
|
+
}
|
|
427
|
+
function recordComponentCall(name, entry, portsIn, impl) {
|
|
261
428
|
const f = requireFrame(`component '${name}'`);
|
|
429
|
+
// SA8: behaviorComponents 由来の leaf 呼びは impl を持つ → フレームのレジストリへ登録(自動 bind の出所)。
|
|
430
|
+
// catalogComponents(生 Catalog・impl 無し)由来は impl=undefined = 登録しない(bind は不可)。
|
|
431
|
+
if (impl !== undefined)
|
|
432
|
+
f.registry[name] = impl;
|
|
262
433
|
checkPortableEntry(name, entry, afail);
|
|
263
434
|
if (!portsIn || typeof portsIn !== "object" || Array.isArray(portsIn) || exprMetaOf(portsIn))
|
|
264
435
|
afail("BAD_PORT_VALUE", `component '${name}': ports must be a plain object literal`);
|
|
@@ -276,8 +447,12 @@ function recordComponentCall(name, entry, portsIn) {
|
|
|
276
447
|
afail("MAP_MULTI_COMPONENT", `method '${f.method}': a .map callback must invoke exactly one component (got a second call: '${name}')`);
|
|
277
448
|
f.pendingMap.component = name;
|
|
278
449
|
f.pendingMap.ports = ports;
|
|
279
|
-
// callback
|
|
280
|
-
|
|
450
|
+
// callback 内 leaf の base 要素型を捕捉(`.as` 未指定時の確定型 — recordMap/recordFanout が使う)。
|
|
451
|
+
f.pendingMap.baseElemType = entry.elemType;
|
|
452
|
+
// callback 内でこの要素結果へさらに配線することはできない(record は構造のみ)が、
|
|
453
|
+
// `.as<T>(t)` による要素の確定型注記だけは受ける(mapResult recorder — recordAs が
|
|
454
|
+
// pendingMap.outType へ回す)。
|
|
455
|
+
return makeExpr({ node: null, refPath: null, refOp: "ref", isInput: false, mapResult: true });
|
|
281
456
|
}
|
|
282
457
|
const bf = ensureGate(f);
|
|
283
458
|
const deps = collectNodeIdRefs(ports, f.nodeIds);
|
|
@@ -288,9 +463,64 @@ function recordComponentCall(name, entry, portsIn) {
|
|
|
288
463
|
node.parent = wire.parent;
|
|
289
464
|
if (wire.bindField !== undefined)
|
|
290
465
|
node.bindField = wire.bindField;
|
|
466
|
+
// base 出力型を leaf の catalog `elemType`(A1 の defineLeaf 由来)からノードへ焼く(SA5 の
|
|
467
|
+
// 「leaf の base 型は signature 由来」= 確定)。elemType は**要素型**なので、ノード結果の型は
|
|
468
|
+
// leaf の output.shape で包む(item=要素そのもの / items=`{arr:要素}` / connection=`{obj:{items,cursor}}`)。
|
|
469
|
+
// projection 等で型が変わる点は後段の `.as<T>()` が recordAs で上書きする(配列/要素の別も consumer が
|
|
470
|
+
// 確定させる)。catalog に elemType が無い(手書き catalog 等)ノードは outType 未確定のまま残り、
|
|
471
|
+
// 全ノード型確定ゲート(type-gate.ts)が `UNTYPED_NODE` で名指して落とす。
|
|
472
|
+
const baseOut = baseOutTypeFromEntry(entry);
|
|
473
|
+
if (baseOut !== undefined)
|
|
474
|
+
node.outType = baseOut;
|
|
291
475
|
f.nodes.push(node);
|
|
292
476
|
return nodeHandle(id);
|
|
293
477
|
}
|
|
478
|
+
// ── `.as<T>(t)`(inline 確定型注記 — SA5 / scp-only-authoring-contract §4.4)──────────
|
|
479
|
+
/**
|
|
480
|
+
* recordAs — node 結果 recorder の `.as<T>(t)` を lower する。projection / 合成で base 型
|
|
481
|
+
* (leaf signature 由来)から**確定型が変わる点**を consumer が inline で確定させる surface。
|
|
482
|
+
*
|
|
483
|
+
* TS の型は実行時に消去されるため(consumer-interface.md C3・不変)、BC core は**推論しない**:
|
|
484
|
+
* `.as` は引数の runtime `PortableType`(可搬型記法の閉集合)だけを読み、それを対象 body
|
|
485
|
+
* ノードの `outType` に書き込む。TS の generic `<T>` は呼び出し側で `t` に束縛され(型が
|
|
486
|
+
* 矛盾すれば tsc エラー)、runtime へは `t`(= SSoT)だけが渡る。注記は「推論結果」ではなく
|
|
487
|
+
* 「consumer が静的に確定した型」であり、後段(A3 の UNTYPED_NODE gate / typed codegen)が読む。
|
|
488
|
+
*
|
|
489
|
+
* `.as` は **node 結果 recorder(componentRef / map / fanout の結果)** にのみ適用できる。
|
|
490
|
+
* `$` 入力参照・演算結果(`concat(...)` 等)は body ノードを持たず注記先が無いため
|
|
491
|
+
* `BAD_AS_TARGET` で fail-closed(型未確定の穴を作らない = SA5)。map/fanout コールバック内の
|
|
492
|
+
* leaf 結果への `.as` は、要素の確定型として pendingMap に記録し、畳まれた MapNode/FanoutNode の
|
|
493
|
+
* `outType` に載せる。
|
|
494
|
+
*/
|
|
495
|
+
function recordAs(meta, t) {
|
|
496
|
+
const f = requireFrame(".as");
|
|
497
|
+
// runtime PortableType の閉集合検査(guard と同一強度・fail-closed)。TS の型消去後に
|
|
498
|
+
// core が読むのはこの runtime 注記だけ(推論しない)。
|
|
499
|
+
try {
|
|
500
|
+
assertPortableTypeNotation(t, `.as`);
|
|
501
|
+
}
|
|
502
|
+
catch (e) {
|
|
503
|
+
if (e instanceof PortabilityError)
|
|
504
|
+
afail("BAD_TYPE_NOTATION", `method '${f.method}': .as<T>(t) — ${e.message}`);
|
|
505
|
+
throw e;
|
|
506
|
+
}
|
|
507
|
+
// map/fanout コールバック内の component 結果: 要素の確定型を pendingMap へ記録する
|
|
508
|
+
// (要素は単一 Map/Fanout ノードに畳まれるため、body ノードは未生成 — outType は畳み時に載る)。
|
|
509
|
+
if (meta.mapResult && f.pendingMap) {
|
|
510
|
+
f.pendingMap.outType = t;
|
|
511
|
+
return makeExpr(meta); // 同じ map 結果 recorder(callback 内でさらに配線はしない)。
|
|
512
|
+
}
|
|
513
|
+
// node 結果 recorder は refPath[0] が現フレームの body ノード id(nodeHandle で作られる)。
|
|
514
|
+
const id = meta.refPath !== null && meta.refPath.length === 1 ? meta.refPath[0] : null;
|
|
515
|
+
const node = id !== null ? f.nodes.find((n) => n.id === id) : undefined;
|
|
516
|
+
if (!node)
|
|
517
|
+
afail("BAD_AS_TARGET", `method '${f.method}': .as<T>(t) can only annotate a component/map/fanout result node (not a '$' input reference, a projected field, or a computed expression)`);
|
|
518
|
+
// 対象ノード種に応じて outType を書き込む(ComponentRefNode / MapNode / FanoutNode いずれも
|
|
519
|
+
// outType を持つ。CondNode は Φ 合流で `.as` の対象になり得るため同様に outType を持つ)。
|
|
520
|
+
node.outType = t;
|
|
521
|
+
// 注記後も同じ node 結果 recorder を返す(後続配線・Output 参照に使える)。
|
|
522
|
+
return makeExpr(meta);
|
|
523
|
+
}
|
|
294
524
|
// ── structured control: Map(ネイティブ `.map` を lower)───────────────────────────
|
|
295
525
|
function recordMap(overMeta, cb, opts) {
|
|
296
526
|
const f = requireFrame(".map");
|
|
@@ -314,7 +544,7 @@ function recordMap(overMeta, cb, opts) {
|
|
|
314
544
|
}
|
|
315
545
|
const as = `$e${f.mapSeq++}`;
|
|
316
546
|
const binding = makeExpr({ node: { ref: [as] }, refPath: [as], refOp: "ref", isInput: false });
|
|
317
|
-
f.pendingMap = { as, component: null, ports: null, when: undefined };
|
|
547
|
+
f.pendingMap = { as, component: null, ports: null, when: undefined, outType: undefined, baseElemType: undefined };
|
|
318
548
|
let pm;
|
|
319
549
|
try {
|
|
320
550
|
cb(binding);
|
|
@@ -343,6 +573,14 @@ function recordMap(overMeta, cb, opts) {
|
|
|
343
573
|
node.map.batched = true;
|
|
344
574
|
if (deps.length > 0)
|
|
345
575
|
node.map.parent = deps[0];
|
|
576
|
+
// callback 内 `.as<T>(t)` で確定した要素型を map ノードの outType に載せる(§4.4。
|
|
577
|
+
// `into` 指定時は augment 済みリストの要素型 — consumer が確定させた形をそのまま採る)。
|
|
578
|
+
// `.as` 未指定時は leaf の base 要素型(catalog elemType)にフォールバック(SA5 の base 型確定)。
|
|
579
|
+
// map ノードの outType は**要素型**(配列ラップ前)で持つ既存規約に従う(native emitter は
|
|
580
|
+
// 配列型をここから合成する)。`into` 指定時は要素型注記が必須(base では augment 後の型を導けない)。
|
|
581
|
+
const mapElem = pm.outType !== undefined ? pm.outType : opts?.into !== undefined ? undefined : pm.baseElemType;
|
|
582
|
+
if (mapElem !== undefined)
|
|
583
|
+
node.outType = mapElem;
|
|
346
584
|
f.nodes.push(node);
|
|
347
585
|
return nodeHandle(id);
|
|
348
586
|
}
|
|
@@ -377,7 +615,7 @@ function recordFanout(overMeta, cb, opts) {
|
|
|
377
615
|
afail("FANOUT_NOT_LOWERABLE", `method '${f.method}': refsConnection 'implicitSource' must be a non-empty string when present`);
|
|
378
616
|
const as = `$e${f.mapSeq++}`;
|
|
379
617
|
const binding = makeExpr({ node: { ref: [as] }, refPath: [as], refOp: "ref", isInput: false });
|
|
380
|
-
f.pendingMap = { as, component: null, ports: null, when: undefined };
|
|
618
|
+
f.pendingMap = { as, component: null, ports: null, when: undefined, outType: undefined, baseElemType: undefined };
|
|
381
619
|
let pm;
|
|
382
620
|
try {
|
|
383
621
|
cb(binding);
|
|
@@ -410,6 +648,12 @@ function recordFanout(overMeta, cb, opts) {
|
|
|
410
648
|
node.fanout.implicitSource = opts.implicitSource;
|
|
411
649
|
if (deps.length > 0)
|
|
412
650
|
node.fanout.parent = deps[0];
|
|
651
|
+
// callback 内 `.as<T>(t)` で確定した**要素型**を connection outType へ包む
|
|
652
|
+
// (fanout は常に connection: `{obj:{items:{arr:<elem>}, cursor:{opt:"string"}}}` — behavior.ts §5.2)。
|
|
653
|
+
// `.as` 未指定時は leaf の base 要素型(catalog elemType)にフォールバック(SA5 の base 型確定)。
|
|
654
|
+
const fanElem = pm.outType !== undefined ? pm.outType : pm.baseElemType;
|
|
655
|
+
if (fanElem !== undefined)
|
|
656
|
+
node.outType = { obj: { items: { arr: fanElem }, cursor: { opt: "string" } } };
|
|
413
657
|
f.nodes.push(node);
|
|
414
658
|
return nodeHandle(id);
|
|
415
659
|
}
|
|
@@ -786,6 +1030,11 @@ export function compileBehaviors(cls, opts = {}) {
|
|
|
786
1030
|
}
|
|
787
1031
|
const instance = new cls();
|
|
788
1032
|
const components = [];
|
|
1033
|
+
// SA8: 1 クラス = 1 レジストリ(全メソッドの leaf 呼びで共有)。record 時に behaviorComponents 由来の
|
|
1034
|
+
// impl が name→fn で溜まり、compile 末尾で IR handle の side-channel へ退避する(IR 本体には載らない)。
|
|
1035
|
+
// null-proto: leaf 名が 'toString'/'constructor' 等でも prototype 継承キーと混ざらない(bind ゲートの
|
|
1036
|
+
// 完全性検査・dispatch lookup の健全性)。
|
|
1037
|
+
const registry = Object.create(null);
|
|
789
1038
|
for (const method of methodNames) {
|
|
790
1039
|
const frame = {
|
|
791
1040
|
method,
|
|
@@ -796,6 +1045,7 @@ export function compileBehaviors(cls, opts = {}) {
|
|
|
796
1045
|
mapSeq: 0,
|
|
797
1046
|
branchStack: [],
|
|
798
1047
|
pendingMap: null,
|
|
1048
|
+
registry,
|
|
799
1049
|
};
|
|
800
1050
|
const dollar = makeExpr({ node: { ref: [] }, refPath: [], refOp: "ref", isInput: true });
|
|
801
1051
|
currentFrame = frame;
|
|
@@ -822,11 +1072,22 @@ export function compileBehaviors(cls, opts = {}) {
|
|
|
822
1072
|
//(Kahn levels)・決定的正規化(キーソート)・Guard 自己検査は recorder 経路と
|
|
823
1073
|
// データ登録経路(buildComponentDefinition)の単一実装。catalog port 照合は
|
|
824
1074
|
// record 時(recordComponentCall)に同じ共有関数で済ませているため catalog は渡さない。
|
|
825
|
-
|
|
1075
|
+
const component = buildComponentCore({ name: method, inputPorts, body: frame.nodes, output }, { concurrency: opts.concurrency ?? DEFAULT_PLAN_CONCURRENCY });
|
|
1076
|
+
// SA5 全ノード型確定ゲート(#125): 全 body ノードの outType と output(Φ 合成)の全フィールド型が
|
|
1077
|
+
// 一意に確定していることを網羅検査し(未確定は UNTYPED_NODE で fail-closed)、確定済みノード型から
|
|
1078
|
+
// outputType を構造伝播で導出する(推論ではない)。導出型を canonical 化して component に載せることで、
|
|
1079
|
+
// compile 産 IR が「全ノード + component が型付き」= native codegen が端まで型付きフラット化できる状態
|
|
1080
|
+
// (consumer-interface.md §2.3 / bc#77 isFullyTyped)になる。
|
|
1081
|
+
component.outputType = canonicalizeType(assertAllNodeTypesDetermined(component));
|
|
1082
|
+
components.push(component);
|
|
826
1083
|
}
|
|
827
1084
|
const ir = { irVersion: 1, exprVersion: opts.exprVersion ?? SPEC_VERSIONS.expression, components };
|
|
828
1085
|
assertPortableComponentGraph(ir); // fail-closed 自己検査(P0-2 Guard を必ず通す)
|
|
829
|
-
|
|
1086
|
+
// SA1/SA2: compile seam だけが token を刻んで opaque handle に封じる(consumer は forge 不能)。
|
|
1087
|
+
// 実行時 token(provenance.ts)+ 型 brand(index.ts)の二重の門で手組み IR を排除する。
|
|
1088
|
+
// SA8: 捕捉した name→leaf impl レジストリを handle の side-channel に退避する(IR 本体・fingerprint・
|
|
1089
|
+
// JSON には載らない = C4)。bindBehaviors が完全性ゲート後にここから自動 dispatch する。
|
|
1090
|
+
return mintCompiled(ir, registry);
|
|
830
1091
|
}
|
|
831
1092
|
// ── effect 導出(consumer の CQRS 層のための共有ヘルパ — authoring は effect 非依存)────
|
|
832
1093
|
/**
|
package/dist/authoring.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authoring.js","sourceRoot":"","sources":["../src/authoring.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"authoring.js","sourceRoot":"","sources":["../src/authoring.ts"],"names":[],"mappings":"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"}
|
package/dist/behavior.d.ts
CHANGED
|
@@ -216,6 +216,15 @@ export interface CondNode {
|
|
|
216
216
|
*/
|
|
217
217
|
outType?: PortableType;
|
|
218
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* body ノード種別の閉集合(**値の runtime-enumerable SoT**)。型 {@link BodyNode} はこの 4 種の
|
|
221
|
+
* union で、`nodeKind` の返り値・網羅検査はこの配列から導出する(POLICY_KINDS / RELATION_KINDS と
|
|
222
|
+
* 同型の SoT パターン — plan.ts)。新 body ノード種を足すときはここに 1 語追加するのが正であり、
|
|
223
|
+
* これを SoT にすることで「新ノード種が matrix 未カバーのまま緑」になる穴を塞ぐ(#132)。
|
|
224
|
+
*/
|
|
225
|
+
export declare const BODY_NODE_KINDS: readonly ["componentRef", "map", "cond", "fanout"];
|
|
226
|
+
/** body ノード種別({@link BODY_NODE_KINDS} から導出)。 */
|
|
227
|
+
export type BodyNodeKind = (typeof BODY_NODE_KINDS)[number];
|
|
219
228
|
export type BodyNode = ComponentRefNode | MapNode | CondNode | FanoutNode;
|
|
220
229
|
/** 合成コンポーネント定義(=公開メソッド, §5)。 */
|
|
221
230
|
export interface Component {
|
|
@@ -298,7 +307,15 @@ export declare function fanoutDedupDrop(alignedBodies: Value[], spec: FanoutDedu
|
|
|
298
307
|
/**
|
|
299
308
|
* runBehavior — component-graph IR の統合実行 IF(§7)。
|
|
300
309
|
*
|
|
301
|
-
* @
|
|
310
|
+
* @internal **低レベル IR 実行プリミティブ(consumer authoring surface ではない — #128/A6)。**
|
|
311
|
+
* 0.8.0 の consumer 向け実行契約は {@link bindBehaviors}(登録 → 自動 dispatch)であり、handlers を
|
|
312
|
+
* 呼び出しごとに手注入する `runBehavior` は authoring surface から外す(consumer-interface.md §2.2/SA8)。
|
|
313
|
+
* これは撤去はしない: 生成 literal/typed モジュール(`bind`/`bindAsync` の中身)と conformance/test
|
|
314
|
+
* harness が依然として叩く BC 内部の**規範 IR 実行 runtime**である(IR 実行モデル = literal のみ。
|
|
315
|
+
* codegen 側は静的直呼びで本関数を経由しない)。入口では {@link assertCompiled} を通した compile 済み
|
|
316
|
+
* handle だけを受ける(無 token/改竄 IR は `NON_COMPILED_IR`、SA7)。
|
|
317
|
+
*
|
|
318
|
+
* @param ir component-graph 可搬 IR(compile 済み handle — SA7 出自ゲート対象)。
|
|
302
319
|
* @param handlers 専用コンポーネント handler registry(catalog名 → 実装。境界注入)。
|
|
303
320
|
* @param input エントリ component の inputPorts 束縛(param 値)。
|
|
304
321
|
* @param entry 実行する component 名(省略時は先頭 component)。
|
|
@@ -315,6 +332,10 @@ export declare function runBehavior(ir: ComponentGraphIR, handlers: Handlers, in
|
|
|
315
332
|
/**
|
|
316
333
|
* runBehaviorAsync — runBehavior の非同期版(bc#23)。handler が Promise を返せる。
|
|
317
334
|
*
|
|
335
|
+
* @internal **低レベル IR 実行プリミティブ(consumer authoring surface ではない — #128/A6)。**
|
|
336
|
+
* {@link runBehavior} と同じく consumer 向け実行契約は {@link bindBehaviors}(`bindAsync`)である。
|
|
337
|
+
* 本関数は生成 literal/typed モジュールと test harness が叩く BC 内部の規範 async IR 実行 runtime。
|
|
338
|
+
*
|
|
318
339
|
* plan の stage 実行を {@link runPlanAsync} に委譲することで、同一 stage 内の兄弟ノードを
|
|
319
340
|
* `plan.concurrency` を上限とした bounded 並列で実行する(旧 graphddb の sibling relation
|
|
320
341
|
* query thread-overlap の回復)。map ノード**内部**の要素反復は宣言どおり逐次
|
package/dist/behavior.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../src/behavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAkC,KAAK,KAAK,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../src/behavior.ts"],"names":[],"mappings":"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"}
|