behavior-contracts 0.2.5 → 0.3.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 (48) hide show
  1. package/dist/expr-eval.d.ts +28 -0
  2. package/dist/expr-eval.d.ts.map +1 -1
  3. package/dist/expr-eval.js +150 -90
  4. package/dist/expr-eval.js.map +1 -1
  5. package/dist/generator/emit-raw-abi-go.d.ts +45 -0
  6. package/dist/generator/emit-raw-abi-go.d.ts.map +1 -0
  7. package/dist/generator/emit-raw-abi-go.js +345 -0
  8. package/dist/generator/emit-raw-abi-go.js.map +1 -0
  9. package/dist/generator/emit-raw-abi-rust.d.ts +45 -0
  10. package/dist/generator/emit-raw-abi-rust.d.ts.map +1 -0
  11. package/dist/generator/emit-raw-abi-rust.js +380 -0
  12. package/dist/generator/emit-raw-abi-rust.js.map +1 -0
  13. package/dist/generator/emit-straightline-go.d.ts.map +1 -1
  14. package/dist/generator/emit-straightline-go.js +63 -31
  15. package/dist/generator/emit-straightline-go.js.map +1 -1
  16. package/dist/generator/emit-straightline-php.d.ts.map +1 -1
  17. package/dist/generator/emit-straightline-php.js +13 -4
  18. package/dist/generator/emit-straightline-php.js.map +1 -1
  19. package/dist/generator/emit-straightline-python.d.ts.map +1 -1
  20. package/dist/generator/emit-straightline-python.js +14 -4
  21. package/dist/generator/emit-straightline-python.js.map +1 -1
  22. package/dist/generator/emit-straightline-rust.d.ts.map +1 -1
  23. package/dist/generator/emit-straightline-rust.js +111 -43
  24. package/dist/generator/emit-straightline-rust.js.map +1 -1
  25. package/dist/generator/emit-straightline-typed-go.d.ts +95 -2
  26. package/dist/generator/emit-straightline-typed-go.d.ts.map +1 -1
  27. package/dist/generator/emit-straightline-typed-go.js +31 -0
  28. package/dist/generator/emit-straightline-typed-go.js.map +1 -1
  29. package/dist/generator/emit-straightline-typed-rust.d.ts +98 -2
  30. package/dist/generator/emit-straightline-typed-rust.d.ts.map +1 -1
  31. package/dist/generator/emit-straightline-typed-rust.js +30 -0
  32. package/dist/generator/emit-straightline-typed-rust.js.map +1 -1
  33. package/dist/generator/emit-straightline-typescript.d.ts.map +1 -1
  34. package/dist/generator/emit-straightline-typescript.js +81 -45
  35. package/dist/generator/emit-straightline-typescript.js.map +1 -1
  36. package/dist/generator/index.d.ts +4 -2
  37. package/dist/generator/index.d.ts.map +1 -1
  38. package/dist/generator/index.js +11 -2
  39. package/dist/generator/index.js.map +1 -1
  40. package/dist/index.d.ts +1 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +1 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/primitives.d.ts +53 -62
  45. package/dist/primitives.d.ts.map +1 -1
  46. package/dist/primitives.js +85 -91
  47. package/dist/primitives.js.map +1 -1
  48. package/package.json +1 -1
@@ -2,130 +2,124 @@
2
2
  * primitives.ts — codegen が直呼びできる安定 primitive 公開面(bc#36 / typed-codegen.md §3.4)。
3
3
  *
4
4
  * これは **A0 = 公開面の確定**(emitter 生成ロジックは A1/#37)。生成コードが
5
- * 「細粒度 primitive を呼ぶ」ための callable surface を additive に切り出す。
5
+ * 「細粒度 primitive を呼ぶ」ための callable surface
6
6
  *
7
- * 最重要規律(AC 7): **演算子意味論は再実装しない。** 各 primitive Expression IR
8
- * 単一キーノードを組んで既存 SSoT `evaluate`(expr-eval.ts)へ委譲するだけの薄いラッパ。
9
- * よって意味論(INT_OVERFLOW / PRECISION_LOSS / MOD_ZERO / NULL_REF / TYPE_MISMATCH /
10
- * 短絡未評価 / code-point / CPython float repr 等)は `evaluate` と**完全一致**する
11
- * ——別実装が存在しないため発散のしようがない。
12
- *
13
- * 短絡の保存: `and`/`or`/`cond`/`coalesce` は **未評価の IR ノード**(`Expr`)を引数に取り、
14
- * 内部で `evaluate` が短絡する。値を先に評価して渡す API にすると短絡が壊れるため採らない。
7
+ * 最重要規律: **演算子意味論は再実装しない**、かつ **codegen は IR を出力しない**(bc no-ir
8
+ * invariant)。各 native primitive は被演算子を**評価済み Value**(短絡系は遅延 thunk)で受け、
9
+ * 意味論 SSoT value-core(expr-eval.ts arithCore/compareCore/makeObjCore/… `evaluate`
10
+ * 各アームと同一実装)へ委譲する。よって意味論(INT_OVERFLOW / PRECISION_LOSS / MOD_ZERO /
11
+ * NULL_REF / TYPE_MISMATCH / FORBIDDEN_KEY / 短絡 / code-point 順 等)は `evaluate` と完全一致
12
+ * (実装が一本なので発散不能)。生 IR の実行が要る経路(ir exec surface)は `evaluate` を直接使う。
15
13
  *
16
14
  * これに加えて runPlan / bounded 並行 / skip・unproduced / hydration helper を再エクスポート
17
15
  * または薄く公開する(いずれも既存実装を SSoT として共有)。
18
16
  */
19
- import { evaluate } from "./expr-eval.js";
17
+ import { arithCore, compareCore, concatCore, divCore, eqNeCore, lenCore, makeObjCore, modCore, negCore, numberLitCore, intLitCore, floatLitCore, refCore, requireBoolCore, } from "./expr-eval.js";
20
18
  import {} from "./plan.js";
21
- // ── (a) Expression IR 全演算子の個別 primitive ────────────────────────────────
22
- // 各関数は単一キーの IR ノードを組んで evaluate に委譲する(意味論 SSoT は evaluate 一本)。
23
- /** 参照。`ref(["a","b"], scope)` = `{ref:["a","b"]}`(中間 null は NULL_REF)。 */
19
+ // ── (a) 演算子/構築/リテラルの native callable surface(bc no-ir invariant)──────
20
+ // 被演算子は評価済み Value(短絡系は Thunk)。IR evaluate 委譲も経由せず value-core を直呼び。
21
+ /** 参照(native scope walk。中間 null は NULL_REF)。path は静的 string[]。 */
24
22
  export function ref(path, scope) {
25
- return evaluate({ ref: path }, scope);
23
+ return refCore(path, scope, false);
26
24
  }
27
- /** null 安全参照。中間 null は null 伝播(NULL_REF を投げない)。 */
25
+ /** null 安全参照(中間 null は null 伝播)。 */
28
26
  export function refOpt(path, scope) {
29
- return evaluate({ refOpt: path }, scope);
27
+ return refCore(path, scope, true);
30
28
  }
31
- /** `{int:"..."}` リテラル(i64 checked)。 */
32
- export function intLit(literal, scope = {}) {
33
- return evaluate({ int: literal }, scope);
29
+ /** `{int:"..."}` リテラル。 */
30
+ export function intLit(literal) {
31
+ return intLitCore(literal);
34
32
  }
35
- /** `{float:n}` リテラル(NaN/Inf は NAN_OR_INF)。 */
36
- export function floatLit(n, scope = {}) {
37
- return evaluate({ float: n }, scope);
33
+ /** `{float:n}` リテラル。 */
34
+ export function floatLit(n) {
35
+ return floatLitCore(n);
38
36
  }
39
- /** object 構築(own key `__proto__` は FORBIDDEN_KEY)。値は Expression IR。 */
40
- export function obj(fields, scope) {
41
- return evaluate({ obj: fields }, scope);
37
+ /** bare number リテラル(§2.3 分類)。 */
38
+ export function numberLit(n) {
39
+ return numberLitCore(n);
42
40
  }
43
- /** array 構築。要素は Expression IR。 */
44
- export function arr(elems, scope) {
45
- return evaluate({ arr: elems }, scope);
41
+ /** object 構築(キー順・__proto__ は値評価前に FORBIDDEN_KEY)。値は遅延 thunk。 */
42
+ export function obj(entries) {
43
+ return makeObjCore(entries);
46
44
  }
47
- /** 加算(int×int checked / float×float checked。混在は TYPE_MISMATCH)。 */
48
- export function add(a, b, scope) {
49
- return evaluate({ add: [a, b] }, scope);
45
+ /** array 構築(要素は評価済み Value、左→右順)。 */
46
+ export function arr(elems) {
47
+ return elems;
50
48
  }
51
- /** 減算。 */
52
- export function sub(a, b, scope) {
53
- return evaluate({ sub: [a, b] }, scope);
49
+ /** 加算/減算/乗算(int×int checked / float×float finite / 混在 TYPE_MISMATCH)。 */
50
+ export function add(a, b) {
51
+ return arithCore("add", a, b);
54
52
  }
55
- /** 乗算。 */
56
- export function mul(a, b, scope) {
57
- return evaluate({ mul: [a, b] }, scope);
53
+ export function sub(a, b) {
54
+ return arithCore("sub", a, b);
58
55
  }
59
- /** 単項マイナス。 */
60
- export function neg(a, scope) {
61
- return evaluate({ neg: [a] }, scope);
56
+ export function mul(a, b) {
57
+ return arithCore("mul", a, b);
62
58
  }
63
- /** 除算(常に float。widening で |int|>2^53 は PRECISION_LOSS、0除算は NAN_OR_INF)。 */
64
- export function div(a, b, scope) {
65
- return evaluate({ div: [a, b] }, scope);
59
+ /** 単項マイナス。 */
60
+ export function neg(a) {
61
+ return negCore(a);
66
62
  }
67
- /** 剰余(truncated、符号は被除数。int の 0 剰余は MOD_ZERO)。 */
68
- export function mod(a, b, scope) {
69
- return evaluate({ mod: [a, b] }, scope);
63
+ /** 除算(常に float)。 */
64
+ export function div(a, b) {
65
+ return divCore(a, b);
70
66
  }
71
- /** 文字列連結(n-ary, min 2。string のみ。暗黙 toString なし)。 */
72
- export function concat(parts, scope) {
73
- return evaluate({ concat: parts }, scope);
67
+ /** 剰余。 */
68
+ export function mod(a, b) {
69
+ return modCore(a, b);
74
70
  }
75
- /** 等価(同一スカラ型のみ。null==null 可。obj/arr は未定義)。 */
76
- export function eq(a, b, scope) {
77
- return evaluate({ eq: [a, b] }, scope);
71
+ /** 文字列連結(string のみ。要素は評価済み Value)。 */
72
+ export function concat(parts) {
73
+ return concatCore(parts);
78
74
  }
79
- /** 非等価。 */
80
- export function ne(a, b, scope) {
81
- return evaluate({ ne: [a, b] }, scope);
75
+ /** 等価/非等価。 */
76
+ export function eq(a, b) {
77
+ return eqNeCore("eq", a, b);
82
78
  }
83
- /** 小なり(同一型 int/float/string。string code-point 順)。 */
84
- export function lt(a, b, scope) {
85
- return evaluate({ lt: [a, b] }, scope);
79
+ export function ne(a, b) {
80
+ return eqNeCore("ne", a, b);
86
81
  }
87
- /** 以下。 */
88
- export function le(a, b, scope) {
89
- return evaluate({ le: [a, b] }, scope);
82
+ /** 比較(同一型 int/float/string、string は code-point 順)。 */
83
+ export function lt(a, b) {
84
+ return compareCore("lt", a, b);
90
85
  }
91
- /** 大なり。 */
92
- export function gt(a, b, scope) {
93
- return evaluate({ gt: [a, b] }, scope);
86
+ export function le(a, b) {
87
+ return compareCore("le", a, b);
94
88
  }
95
- /** 以上。 */
96
- export function ge(a, b, scope) {
97
- return evaluate({ ge: [a, b] }, scope);
89
+ export function gt(a, b) {
90
+ return compareCore("gt", a, b);
98
91
  }
99
- /** 論理積(短絡: a=false なら b は評価されない)。b は未評価 IR で渡す。 */
100
- export function and(a, b, scope) {
101
- return evaluate({ and: [a, b] }, scope);
92
+ export function ge(a, b) {
93
+ return compareCore("ge", a, b);
102
94
  }
103
- /** 論理和(短絡: a=true なら b は評価されない)。 */
104
- export function or(a, b, scope) {
105
- return evaluate({ or: [a, b] }, scope);
95
+ /** 論理積(短絡: 左辺 false なら右辺 thunk は呼ばない)。 */
96
+ export function and(a, b) {
97
+ if (!requireBoolCore(a(), "and"))
98
+ return false;
99
+ return requireBoolCore(b(), "and");
106
100
  }
107
- /** 論理否定(strict bool。truthiness なし)。 */
108
- export function not(a, scope) {
109
- return evaluate({ not: [a] }, scope);
101
+ /** 論理和(短絡: 左辺 true なら右辺 thunk は呼ばない)。 */
102
+ export function or(a, b) {
103
+ if (requireBoolCore(a(), "or"))
104
+ return true;
105
+ return requireBoolCore(b(), "or");
110
106
  }
111
- /** null 合体(左が null のときだけ右を評価)。右は未評価 IR で渡す。 */
112
- export function coalesce(a, b, scope) {
113
- return evaluate({ coalesce: [a, b] }, scope);
107
+ /** 論理否定(strict bool)。被演算子は評価済み。 */
108
+ export function not(a) {
109
+ return !requireBoolCore(a, "not");
114
110
  }
115
- /** 条件(strict bool。採用側のみ評価)。then/else は未評価 IR で渡す。 */
116
- export function cond(c, then, els, scope) {
117
- return evaluate({ cond: [c, then, els] }, scope);
111
+ /** null 合体(左が null のときだけ右 thunk を評価)。 */
112
+ export function coalesce(a, b) {
113
+ const av = a();
114
+ return av === null ? b() : av;
118
115
  }
119
- /** 配列長(配列のみ。string length v1 に無い)。 */
120
- export function len(a, scope) {
121
- return evaluate({ len: [a] }, scope);
116
+ /** 条件(strict bool。採用側 thunk のみ評価)。 */
117
+ export function cond(c, then, els) {
118
+ return requireBoolCore(c(), "cond") ? then() : els();
122
119
  }
123
- /**
124
- * 生の Expression IR を直接評価する汎用 primitive(emitter が単一キーラッパを介さず
125
- * 任意の式ノードを評価したい場合の逃げ道。意味論は上記個別 primitive と同一 SSoT)。
126
- */
127
- export function evalExpr(node, scope = {}) {
128
- return evaluate(node, scope);
120
+ /** 配列長(配列のみ)。 */
121
+ export function len(a) {
122
+ return lenCore(a);
129
123
  }
130
124
  // ── (c) bounded 並行プリミティブ(順序保存)─────────────────────────────────────
131
125
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../src/primitives.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.2.5",
3
+ "version": "0.3.0",
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",