behavior-contracts 0.4.0 → 0.6.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.
Files changed (111) hide show
  1. package/README.md +78 -29
  2. package/dist/behavior.d.ts +7 -0
  3. package/dist/behavior.d.ts.map +1 -1
  4. package/dist/behavior.js.map +1 -1
  5. package/dist/builder.d.ts.map +1 -1
  6. package/dist/builder.js +10 -3
  7. package/dist/builder.js.map +1 -1
  8. package/dist/generator/async-plan.d.ts +78 -0
  9. package/dist/generator/async-plan.d.ts.map +1 -0
  10. package/dist/generator/async-plan.js +116 -0
  11. package/dist/generator/async-plan.js.map +1 -0
  12. package/dist/generator/core.d.ts +35 -0
  13. package/dist/generator/core.d.ts.map +1 -1
  14. package/dist/generator/core.js +1 -0
  15. package/dist/generator/core.js.map +1 -1
  16. package/dist/generator/{emit-straightline-typed-go.d.ts → emit-shared-go-typed.d.ts} +28 -17
  17. package/dist/generator/emit-shared-go-typed.d.ts.map +1 -0
  18. package/dist/generator/emit-shared-go-typed.js +572 -0
  19. package/dist/generator/emit-shared-go-typed.js.map +1 -0
  20. package/dist/generator/emit-shared-go.d.ts +29 -0
  21. package/dist/generator/emit-shared-go.d.ts.map +1 -0
  22. package/dist/generator/{emit-straightline-go.js → emit-shared-go.js} +17 -31
  23. package/dist/generator/emit-shared-go.js.map +1 -0
  24. package/dist/generator/{emit-straightline-typed-rust.d.ts → emit-shared-rust-typed.d.ts} +27 -17
  25. package/dist/generator/emit-shared-rust-typed.d.ts.map +1 -0
  26. package/dist/generator/emit-shared-rust-typed.js +576 -0
  27. package/dist/generator/emit-shared-rust-typed.js.map +1 -0
  28. package/dist/generator/{emit-straightline-rust.d.ts → emit-shared-rust.d.ts} +1 -36
  29. package/dist/generator/emit-shared-rust.d.ts.map +1 -0
  30. package/dist/generator/{emit-straightline-rust.js → emit-shared-rust.js} +7 -28
  31. package/dist/generator/emit-shared-rust.js.map +1 -0
  32. package/dist/generator/emit-shared-typescript.d.ts +12 -0
  33. package/dist/generator/emit-shared-typescript.d.ts.map +1 -0
  34. package/dist/generator/{emit-straightline-typescript.js → emit-shared-typescript.js} +9 -30
  35. package/dist/generator/emit-shared-typescript.js.map +1 -0
  36. package/dist/generator/emit-straightline-typed-typescript.d.ts +1 -1
  37. package/dist/generator/emit-straightline-typed-typescript.d.ts.map +1 -1
  38. package/dist/generator/emit-straightline-typed-typescript.js +1 -1
  39. package/dist/generator/emit-straightline-typed-typescript.js.map +1 -1
  40. package/dist/generator/emit-typed-native-go.d.ts +63 -0
  41. package/dist/generator/emit-typed-native-go.d.ts.map +1 -0
  42. package/dist/generator/emit-typed-native-go.js +2260 -0
  43. package/dist/generator/emit-typed-native-go.js.map +1 -0
  44. package/dist/generator/emit-typed-native-rust.d.ts +53 -0
  45. package/dist/generator/emit-typed-native-rust.d.ts.map +1 -0
  46. package/dist/generator/emit-typed-native-rust.js +2123 -0
  47. package/dist/generator/emit-typed-native-rust.js.map +1 -0
  48. package/dist/generator/index.d.ts +4 -12
  49. package/dist/generator/index.d.ts.map +1 -1
  50. package/dist/generator/index.js +16 -52
  51. package/dist/generator/index.js.map +1 -1
  52. package/dist/generator/native-expr.d.ts +120 -0
  53. package/dist/generator/native-expr.d.ts.map +1 -0
  54. package/dist/generator/native-expr.js +456 -0
  55. package/dist/generator/native-expr.js.map +1 -0
  56. package/dist/generator/straightline.d.ts +46 -0
  57. package/dist/generator/straightline.d.ts.map +1 -1
  58. package/dist/generator/straightline.js +65 -0
  59. package/dist/generator/straightline.js.map +1 -1
  60. package/dist/generator/typed.d.ts.map +1 -1
  61. package/dist/generator/typed.js +8 -0
  62. package/dist/generator/typed.js.map +1 -1
  63. package/dist/guard.js +14 -0
  64. package/dist/guard.js.map +1 -1
  65. package/dist/index.d.ts +2 -2
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +1 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/plan.d.ts +6 -2
  70. package/dist/plan.d.ts.map +1 -1
  71. package/dist/plan.js +4 -0
  72. package/dist/plan.js.map +1 -1
  73. package/package.json +1 -1
  74. package/dist/generator/emit-go.d.ts +0 -19
  75. package/dist/generator/emit-go.d.ts.map +0 -1
  76. package/dist/generator/emit-go.js +0 -79
  77. package/dist/generator/emit-go.js.map +0 -1
  78. package/dist/generator/emit-raw-abi-go.d.ts +0 -45
  79. package/dist/generator/emit-raw-abi-go.d.ts.map +0 -1
  80. package/dist/generator/emit-raw-abi-go.js +0 -345
  81. package/dist/generator/emit-raw-abi-go.js.map +0 -1
  82. package/dist/generator/emit-raw-abi-rust.d.ts +0 -45
  83. package/dist/generator/emit-raw-abi-rust.d.ts.map +0 -1
  84. package/dist/generator/emit-raw-abi-rust.js +0 -380
  85. package/dist/generator/emit-raw-abi-rust.js.map +0 -1
  86. package/dist/generator/emit-rust.d.ts +0 -25
  87. package/dist/generator/emit-rust.d.ts.map +0 -1
  88. package/dist/generator/emit-rust.js +0 -125
  89. package/dist/generator/emit-rust.js.map +0 -1
  90. package/dist/generator/emit-straightline-go.d.ts +0 -58
  91. package/dist/generator/emit-straightline-go.d.ts.map +0 -1
  92. package/dist/generator/emit-straightline-go.js.map +0 -1
  93. package/dist/generator/emit-straightline-php.d.ts +0 -46
  94. package/dist/generator/emit-straightline-php.d.ts.map +0 -1
  95. package/dist/generator/emit-straightline-php.js +0 -941
  96. package/dist/generator/emit-straightline-php.js.map +0 -1
  97. package/dist/generator/emit-straightline-python.d.ts +0 -36
  98. package/dist/generator/emit-straightline-python.d.ts.map +0 -1
  99. package/dist/generator/emit-straightline-python.js +0 -855
  100. package/dist/generator/emit-straightline-python.js.map +0 -1
  101. package/dist/generator/emit-straightline-rust.d.ts.map +0 -1
  102. package/dist/generator/emit-straightline-rust.js.map +0 -1
  103. package/dist/generator/emit-straightline-typed-go.d.ts.map +0 -1
  104. package/dist/generator/emit-straightline-typed-go.js +0 -1111
  105. package/dist/generator/emit-straightline-typed-go.js.map +0 -1
  106. package/dist/generator/emit-straightline-typed-rust.d.ts.map +0 -1
  107. package/dist/generator/emit-straightline-typed-rust.js +0 -1153
  108. package/dist/generator/emit-straightline-typed-rust.js.map +0 -1
  109. package/dist/generator/emit-straightline-typescript.d.ts +0 -47
  110. package/dist/generator/emit-straightline-typescript.d.ts.map +0 -1
  111. package/dist/generator/emit-straightline-typescript.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"emit-straightline-go.js","sourceRoot":"","sources":["../../src/generator/emit-straightline-go.ts"],"names":[],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- /**
2
- * emit-straightline-php.ts — PHP 直線 emitter(bc#41 / Layer A2)。
3
- *
4
- * typed-codegen.md §4.1 の PHP 具体化。language-neutral な {@link StraightlineDialect} を実装し、
5
- * component ごとに「plan を `Primitives::runPlan` で直呼び・各ノードの port 評価と handler 呼びを
6
- * 直線展開した」ネイティブ PHP クロージャを emit する。生成コードは A0(#36)の PHP primitive 面
7
- * (`BehaviorContracts\Primitives::*`)+`runPlan`+`unproducedValue`+注入 handler を直呼びし、
8
- * **`Behavior::runBehavior` の tree-walk(nodeKind ディスパッチ / evalPorts / 汎用 output 評価)を
9
- * 経由しない**(AC1)。
10
- *
11
- * A1 の TS oracle との決定的な違い(AC2 — PHP は脱解釈が目的):
12
- * TS emitter は全式ノードを A0 primitive の直呼びへ落とす(primitive 内 `evaluate` が意味論の
13
- * SSoT を持つ)。PHP はそれに加えて **単純式をネイティブ化**して式ツリーの `evaluate()` 解釈を
14
- * 単純式で消す(Phase B の脱解釈利得の実体):
15
- * - `ref`/`refOpt` → 生成モジュール内の native helper(`$__sl_ref`/`$__sl_ref_opt`)が
16
- * PHP array/stdClass アクセスで直接解決する(`ExprEval::evaluate` を経由しない)。
17
- * Failure code(UNKNOWN_BINDING/NULL_REF/MISSING_PROP/TYPE_MISMATCH/INVALID_NODE)は
18
- * ExprEval::evalRef と完全一致(同一意味論を native 実装で再現)。
19
- * - `concat` → native helper(`$__sl_concat`)が各 part を native 評価した値配列を php の `.` で
20
- * 結合する。part の型検査(string のみ)・arity(min 2)・INVALID_NODE も ExprEval::concat と一致。
21
- * - string/bool/null のむき出しリテラル → その PHP リテラルを直接 emit(`evaluate` は scalar を
22
- * 素通しするだけなので値等価。範囲/有限性検査が要る bare number は evalExpr SSoT に委譲)。
23
- * overflow/短絡系(`add`/`sub`/`mul`/`div`/`mod`/`neg`/`and`/`or`/`not`/`cond`/`coalesce`/
24
- * `eq`/`ne`/`lt`/`le`/`gt`/`ge`/`len`/`int`/`float`/`obj`/`arr`)は fail-closed 意味論(INT_OVERFLOW /
25
- * PRECISION_LOSS / MOD_ZERO / 短絡未評価 / code-point 順 等)のため A0 primitive SSoT を呼ぶ。
26
- * 単純式を primitive(evaluate 経由) に丸投げしないのが本 issue の要件(native-emit を pin する)。
27
- *
28
- * ロード形(emit-php.ts と同じ idiom): PHP に「モジュール」概念は無いため、生成ファイルは
29
- * **require の戻り値**として stdClass(EXPECTED_SPEC_VERSIONS / IR_FINGERPRINT / COMPONENT_NAMES /
30
- * bind)を返す(可搬 IR は埋め込まない — fingerprint 定数と component 名リストのみ)。native helper・primitive クラス名・各 component クロージャは変数(`$__P` /
31
- * `$__sl_*` / `$componentFns`)として綴じ、トップレベルシンボルを一切定義しない(同一プロセスで
32
- * 複数の生成モジュールを衝突なく require できる)。primitive の静的呼びは PHP の可変クラス名
33
- * (`$__P::add(...)`)で行うので、生成式は runtimeImport の namespace に依存しない(emitExpr は
34
- * context-free で {@link buildComponentPlan} の seam から呼べる)。
35
- *
36
- * スコープ(A2 = A1 と同じ read hot path): `componentRef` + `cond` + 単純 Expression Port。
37
- * `map`/`batched`/`concurrency`(A3)・hydration(A4)は {@link emitStraightlineModule} の
38
- * {@link assertStraightlineSupported} が LOUD reject(fail-closed — AC4)。
39
- */
40
- import type { EmitterPlugin } from "./core.js";
41
- /**
42
- * phpStraightlineEmitter — 言語識別子 `"php-straightline"` の emitter plugin。
43
- * 既存の `php`(リテラル焼き込み・runBehavior 委譲)と併存する additive な第2モード。
44
- */
45
- export declare const phpStraightlineEmitter: EmitterPlugin;
46
- //# sourceMappingURL=emit-straightline-php.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emit-straightline-php.d.ts","sourceRoot":"","sources":["../../src/generator/emit-straightline-php.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,WAAW,CAAC;AAo+B5D;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAMpC,CAAC"}