behavior-contracts 0.1.3 → 0.2.1

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 (106) hide show
  1. package/README.md +8 -2
  2. package/dist/authoring.d.ts +202 -0
  3. package/dist/authoring.d.ts.map +1 -0
  4. package/dist/authoring.js +787 -0
  5. package/dist/authoring.js.map +1 -0
  6. package/dist/behavior.d.ts +248 -0
  7. package/dist/behavior.d.ts.map +1 -0
  8. package/dist/behavior.js +373 -0
  9. package/dist/behavior.js.map +1 -0
  10. package/dist/builder.d.ts +154 -0
  11. package/dist/builder.d.ts.map +1 -0
  12. package/dist/builder.js +574 -0
  13. package/dist/builder.js.map +1 -0
  14. package/dist/generator/core.d.ts +89 -0
  15. package/dist/generator/core.d.ts.map +1 -0
  16. package/dist/generator/core.js +124 -0
  17. package/dist/generator/core.js.map +1 -0
  18. package/dist/generator/emit-go.d.ts +19 -0
  19. package/dist/generator/emit-go.d.ts.map +1 -0
  20. package/dist/generator/emit-go.js +79 -0
  21. package/dist/generator/emit-go.js.map +1 -0
  22. package/dist/generator/emit-php.d.ts +20 -0
  23. package/dist/generator/emit-php.d.ts.map +1 -0
  24. package/dist/generator/emit-php.js +76 -0
  25. package/dist/generator/emit-php.js.map +1 -0
  26. package/dist/generator/emit-python.d.ts +10 -0
  27. package/dist/generator/emit-python.d.ts.map +1 -0
  28. package/dist/generator/emit-python.js +75 -0
  29. package/dist/generator/emit-python.js.map +1 -0
  30. package/dist/generator/emit-rust.d.ts +25 -0
  31. package/dist/generator/emit-rust.d.ts.map +1 -0
  32. package/dist/generator/emit-rust.js +125 -0
  33. package/dist/generator/emit-rust.js.map +1 -0
  34. package/dist/generator/emit-straightline-go.d.ts +77 -0
  35. package/dist/generator/emit-straightline-go.d.ts.map +1 -0
  36. package/dist/generator/emit-straightline-go.js +592 -0
  37. package/dist/generator/emit-straightline-go.js.map +1 -0
  38. package/dist/generator/emit-straightline-php.d.ts +46 -0
  39. package/dist/generator/emit-straightline-php.d.ts.map +1 -0
  40. package/dist/generator/emit-straightline-php.js +501 -0
  41. package/dist/generator/emit-straightline-php.js.map +1 -0
  42. package/dist/generator/emit-straightline-python.d.ts +36 -0
  43. package/dist/generator/emit-straightline-python.d.ts.map +1 -0
  44. package/dist/generator/emit-straightline-python.js +441 -0
  45. package/dist/generator/emit-straightline-python.js.map +1 -0
  46. package/dist/generator/emit-straightline-rust.d.ts +78 -0
  47. package/dist/generator/emit-straightline-rust.d.ts.map +1 -0
  48. package/dist/generator/emit-straightline-rust.js +615 -0
  49. package/dist/generator/emit-straightline-rust.js.map +1 -0
  50. package/dist/generator/emit-straightline-typed-go.d.ts +39 -0
  51. package/dist/generator/emit-straightline-typed-go.d.ts.map +1 -0
  52. package/dist/generator/emit-straightline-typed-go.js +828 -0
  53. package/dist/generator/emit-straightline-typed-go.js.map +1 -0
  54. package/dist/generator/emit-straightline-typed-rust.d.ts +48 -0
  55. package/dist/generator/emit-straightline-typed-rust.d.ts.map +1 -0
  56. package/dist/generator/emit-straightline-typed-rust.js +823 -0
  57. package/dist/generator/emit-straightline-typed-rust.js.map +1 -0
  58. package/dist/generator/emit-straightline-typed-typescript.d.ts +49 -0
  59. package/dist/generator/emit-straightline-typed-typescript.d.ts.map +1 -0
  60. package/dist/generator/emit-straightline-typed-typescript.js +314 -0
  61. package/dist/generator/emit-straightline-typed-typescript.js.map +1 -0
  62. package/dist/generator/emit-straightline-typescript.d.ts +36 -0
  63. package/dist/generator/emit-straightline-typescript.d.ts.map +1 -0
  64. package/dist/generator/emit-straightline-typescript.js +397 -0
  65. package/dist/generator/emit-straightline-typescript.js.map +1 -0
  66. package/dist/generator/emit-typescript.d.ts +11 -0
  67. package/dist/generator/emit-typescript.d.ts.map +1 -0
  68. package/dist/generator/emit-typescript.js +68 -0
  69. package/dist/generator/emit-typescript.js.map +1 -0
  70. package/dist/generator/fingerprint.d.ts +14 -0
  71. package/dist/generator/fingerprint.d.ts.map +1 -0
  72. package/dist/generator/fingerprint.js +74 -0
  73. package/dist/generator/fingerprint.js.map +1 -0
  74. package/dist/generator/index.d.ts +22 -0
  75. package/dist/generator/index.d.ts.map +1 -0
  76. package/dist/generator/index.js +64 -0
  77. package/dist/generator/index.js.map +1 -0
  78. package/dist/generator/literal.d.ts +15 -0
  79. package/dist/generator/literal.d.ts.map +1 -0
  80. package/dist/generator/literal.js +232 -0
  81. package/dist/generator/literal.js.map +1 -0
  82. package/dist/generator/straightline.d.ts +147 -0
  83. package/dist/generator/straightline.d.ts.map +1 -0
  84. package/dist/generator/straightline.js +122 -0
  85. package/dist/generator/straightline.js.map +1 -0
  86. package/dist/generator/typed.d.ts +156 -0
  87. package/dist/generator/typed.d.ts.map +1 -0
  88. package/dist/generator/typed.js +108 -0
  89. package/dist/generator/typed.js.map +1 -0
  90. package/dist/guard.d.ts +36 -0
  91. package/dist/guard.d.ts.map +1 -1
  92. package/dist/guard.js +186 -0
  93. package/dist/guard.js.map +1 -1
  94. package/dist/index.d.ts +17 -3
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +23 -2
  97. package/dist/index.js.map +1 -1
  98. package/dist/plan.d.ts +36 -0
  99. package/dist/plan.d.ts.map +1 -1
  100. package/dist/plan.js +152 -14
  101. package/dist/plan.js.map +1 -1
  102. package/dist/primitives.d.ts +112 -0
  103. package/dist/primitives.d.ts.map +1 -0
  104. package/dist/primitives.js +206 -0
  105. package/dist/primitives.js.map +1 -0
  106. package/package.json +4 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authoring.js","sourceRoot":"","sources":["../src/authoring.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,248 @@
1
+ /**
2
+ * behavior.ts — component-graph IR schema + `runBehavior` unified execution IF (COMMON).
3
+ *
4
+ * scp-ir-architecture.md §5–§7 の規範実装。P0-1/P0-2/P0-3 の behavior-contracts 側。
5
+ *
6
+ * 「振る舞い=Behavior をコンポーネントとして契約化し、Port と Wire で合成する」SCP の
7
+ * 可搬 IR は **component-graph**(`components[]{ name, inputPorts, body[], output, plan }`)で
8
+ * 表現される。`body` ノード種は:
9
+ * - `componentRef` — catalog 名(文字列参照のみ)+ port 式(Expression IR)
10
+ * - `map` — 配列 Port 反復(`over`/`as`/component/ports、v2: `when`/`into`/`batched`)
11
+ * - `cond` — Conditional(`if`/`then`/`else`、純 Expression。handler を呼ばない)
12
+ *
13
+ * 実行機構(§7.2)は既存 COMMON をそのまま使う:
14
+ * - SCP汎用層(合成・plan)= runPlan(stage 実行・Skip 伝播・Policy Kind)+ evaluateExpression。
15
+ * - 専用コンポーネント実行 = runPlan の `exec` seam を、catalog名 → handlers[name] で解決して呼ぶ
16
+ * (汎用層=COMMON、専用コンポーネント=CONSUMER, runtime-boundary.md の分類に一致)。
17
+ *
18
+ * handler は境界注入(`IR + {effects,config,hooks}` 不変則, concept.md §4.4)。IR には catalog
19
+ * 参照名+Port配線だけが載り、実装(副作用・SDK)は載らない(C4)。
20
+ */
21
+ import { type Value, type Scope } from "./expr-eval.js";
22
+ import { type ExecutionPlanSpec, type ExecOutcome, type PolicyKind, type RelationKind } from "./plan.js";
23
+ /**
24
+ * 可搬型記法の閉集合(typed codegen の導出型・レジストリ不要)。Expression IR の operator
25
+ * 閉集合(guard.ts の PORTABLE_EXPR_OPERATORS)と同じ精度で規範化する。これ以外は
26
+ * `assertPortableComponentGraph` が fail-closed で reject する(`"any"` エスケープハッチ無し)。
27
+ *
28
+ * - スカラ: `"string" | "int" | "float" | "bool" | "null"`(5 種の文字列リテラルのみ)
29
+ * - `{opt: T}` — nullable
30
+ * - `{arr: T}` — 同種配列(要素型 T)
31
+ * - `{obj: {field: T, …}}` — レコード(field キーに `__proto__` 禁止)
32
+ *
33
+ * すべて additive・省略可(`outType` 無しの IR は従来と完全に同一に扱われる — 後方互換)。
34
+ */
35
+ export type PortableScalarType = "string" | "int" | "float" | "bool" | "null";
36
+ export type PortableType = PortableScalarType | {
37
+ opt: PortableType;
38
+ } | {
39
+ arr: PortableType;
40
+ } | {
41
+ obj: Record<string, PortableType>;
42
+ };
43
+ /** Port schema エントリ(IR 側が配線先を静的検証できる最小契約)。 */
44
+ export interface PortSchema {
45
+ type: string;
46
+ required?: boolean;
47
+ }
48
+ /** 未生成表現の種別(single=null / connection=空 / item / items)。 */
49
+ export interface CatalogOutput {
50
+ shape: string;
51
+ }
52
+ /**
53
+ * catalog エントリ(DSL固有・§6)。名前+Port契約+出力形まで。ハンドラ実装(④)とは分離。
54
+ * `portableToIR` が false のコンポーネント参照は可搬 IR に載せてはならない(ts-runtime 専用)。
55
+ */
56
+ export interface CatalogEntry {
57
+ name: string;
58
+ inputPorts: Record<string, PortSchema>;
59
+ output?: CatalogOutput;
60
+ portableToIR: boolean;
61
+ /**
62
+ * 未宣言 Port の受容ポリシー(bc#26。既定 false = fail-closed: `inputPorts` に無い Port は
63
+ * 拒否)。**動的 port 群**(`item.<field>` / `key.<attr>` / `changes.<field>` /
64
+ * `condition.equals.<field>` 等、field 名が model 由来で flatten されるキー)を受ける
65
+ * write 系エントリだけが `true` で opt-in する。宣言済み Port は additionalPorts に
66
+ * 関わらず検査される(required / スカラリテラル型 — builder.ts の共有 port 照合)。
67
+ */
68
+ additionalPorts?: boolean;
69
+ /**
70
+ * このコンポーネントが返す要素の確定型(可搬型記法・B0 / bc#44・§5.2)。additive・省略可。
71
+ * typed codegen(Layer B)が消費する導出型で、B0 では schema/guard/fingerprint にのみ載る
72
+ * (emitter 消費は B2)。省略時は従来と完全に同一。
73
+ */
74
+ elemType?: PortableType;
75
+ }
76
+ export type Catalog = Record<string, CatalogEntry>;
77
+ /** 専用コンポーネント参照(catalog名+Port配線=Expression IR)。 */
78
+ export interface ComponentRefNode {
79
+ id: string;
80
+ /** ②catalog への参照(名前のみ。実装は載らない — C4)。 */
81
+ component: string;
82
+ /** Port 配線(各値は Expression IR ノード)。 */
83
+ ports: Record<string, unknown>;
84
+ /** 依存する親ノード id(Wire)。root は省略。 */
85
+ parent?: string;
86
+ /** 親 result のどのフィールドを束縛キーに読むか(null/欠落なら Skip)。 */
87
+ bindField?: string;
88
+ /** 未生成表現の種別。 */
89
+ relationKind?: RelationKind;
90
+ /** Error Policy Kind(既定 fail)。 */
91
+ policy?: PolicyKind;
92
+ /**
93
+ * このノード結果の確定型(可搬型記法・B0 / bc#44・§5.2)。additive・省略可。typed codegen
94
+ * (Layer B)が消費する導出型で、B0 では schema/guard/fingerprint にのみ載る(emitter 消費は
95
+ * B2/#46-48、graphddb lowering での注記生成は B1/#45)。省略時は従来と完全に同一。
96
+ */
97
+ outType?: PortableType;
98
+ }
99
+ /** SCP の Map(配列 Port 反復。単一静的ノード)。 */
100
+ export interface MapNode {
101
+ id: string;
102
+ map: {
103
+ /** 反復する配列 Port(Expression IR)。 */
104
+ over: unknown;
105
+ /** 各要素を束縛する名前(例 `"$t"`)。 */
106
+ as: string;
107
+ /** 各要素で呼ぶ専用コンポーネント(catalog 名)。 */
108
+ component: string;
109
+ /** Port 配線(`as` 束縛を参照できる Expression IR)。 */
110
+ ports: Record<string, unknown>;
111
+ /**
112
+ * per-element guard(Expression IR、`as` 束縛入りスコープで評価。behaviorVersion 2)。
113
+ * `{cond:[when,true,false]}` へ lower して評価する(cond と同じ strict-bool 規律 —
114
+ * 非 bool は TYPE_MISMATCH で fail-closed)。false の要素は skip(handler 未呼び出し・
115
+ * 結果リストから除外。順序は保持)。
116
+ */
117
+ when?: unknown;
118
+ /**
119
+ * zip-attach キー(behaviorVersion 2)。指定時、この map ノードの結果は「`over` の各要素へ
120
+ * `into` キーで対応する handler 結果を書き戻した augment 済みリスト」(over と同じ長さ・順序)。
121
+ * `when` で skip された要素は **無変更で pass through**(`into` キーは付かない)。
122
+ * 親ノードの results は変異しない(コピーして augment)。guard 通過要素が object でなければ
123
+ * MAP_INTO_ELEMENT_NOT_OBJECT で fail-closed。
124
+ */
125
+ into?: string;
126
+ /**
127
+ * バッチ fan-out(behaviorVersion 2)。true なら guard 通過全要素の ports を先に評価し、
128
+ * handler を **1 回だけ** `handler({items:[<ports>…]}, ctx)` で呼ぶ。handler は items と
129
+ * 同じ長さ・順序の結果リストを返す契約(違反は MAP_BATCH_RESULT_MISMATCH で fail-closed)。
130
+ * guard 通過要素が 0 件なら handler は呼ばれず結果は空リスト。dedupe/chunk/retry は
131
+ * CONSUMER handler 内の責務。
132
+ */
133
+ batched?: boolean;
134
+ parent?: string;
135
+ relationKind?: RelationKind;
136
+ policy?: PolicyKind;
137
+ };
138
+ /**
139
+ * この map ノード結果の確定型(可搬型記法・B0 / bc#44・§5.2)。additive・省略可。
140
+ * 通常は `{arr: <要素型>}`(`into` 指定時は augment 済みリストの要素型)。省略時は従来と同一。
141
+ */
142
+ outType?: PortableType;
143
+ }
144
+ /** SCP の Conditional(純 Expression。handler は呼ばない)。 */
145
+ export interface CondNode {
146
+ id: string;
147
+ cond: {
148
+ /** 条件(Expression IR、bool を返す)。 */
149
+ if: unknown;
150
+ /** 採用側 Expression。 */
151
+ then: unknown;
152
+ else: unknown;
153
+ parent?: string;
154
+ };
155
+ /**
156
+ * この cond ノード結果の確定型(可搬型記法・B0 / bc#44・§5.2)。additive・省略可。
157
+ * 省略時は従来と完全に同一。
158
+ */
159
+ outType?: PortableType;
160
+ }
161
+ export type BodyNode = ComponentRefNode | MapNode | CondNode;
162
+ /** 合成コンポーネント定義(=公開メソッド, §5)。 */
163
+ export interface Component {
164
+ name: string;
165
+ inputPorts: Record<string, PortSchema>;
166
+ body: BodyNode[];
167
+ /** 合流(Φ): body ノード結果を参照して最終出力を組む Expression IR。 */
168
+ output: unknown;
169
+ /** 依存から導出された plan(`{groups, concurrency}`)。省略時は body 順の逐次。 */
170
+ plan?: ExecutionPlanSpec;
171
+ /**
172
+ * `output` 合流式の確定型(可搬型記法・B0 / bc#44・§5.2)。additive・省略可。typed codegen
173
+ * (Layer B)が消費する導出型で、B0 では schema/guard/fingerprint にのみ載る。省略時は従来と同一。
174
+ */
175
+ outputType?: PortableType;
176
+ }
177
+ /** 可搬 IR ルート(普遍形式・全 SCP ライブラリ共通, §5)。 */
178
+ export interface ComponentGraphIR {
179
+ irVersion: 1;
180
+ exprVersion: number;
181
+ components: Component[];
182
+ }
183
+ /**
184
+ * handler ctx(behaviorVersion 2)。runBehavior が全 handler 呼び出しに node identity
185
+ * (`nodeId` = body ノード id / `component` = catalog 名)を渡す。エラー文脈・トレース用。
186
+ * map(非 batched)ではさらに `bound` = `as` 束縛の要素値。追加のみ(既存 handler 互換)。
187
+ */
188
+ export interface HandlerCtx {
189
+ nodeId: string;
190
+ component: string;
191
+ bound?: Value;
192
+ }
193
+ /**
194
+ * 専用コンポーネント handler。評価済み Port({name: Value})と ctx(node identity +
195
+ * map 要素の束縛値)を受け取り、ExecOutcome を返す。副作用・SDK・config・hooks はこの
196
+ * handler が閉じ込める(IR には載らない — C4 / concept.md §4.4 の `IR + {effects,config,hooks}`)。
197
+ * `map.batched` の handler は ports として `{items:[<要素ごとの評価済み ports>…]}` を受け取り、
198
+ * items と同じ長さ・順序の結果リストを返す。
199
+ */
200
+ export type Handler = (ports: Record<string, Value>, ctx: HandlerCtx) => ExecOutcome;
201
+ export type Handlers = Record<string, Handler>;
202
+ /**
203
+ * 非同期 handler(runBehaviorAsync 用)。ExecOutcome を同期で返しても Promise で返してもよい。
204
+ * `plan.concurrency > 1` の component では、同一 stage 内の兄弟ノードに対して**並行に
205
+ * 呼ばれ得る**(bc#23。並行呼び出しを許容しない consumer は `concurrency: 1` を出荷する)。
206
+ */
207
+ export type AsyncHandler = (ports: Record<string, Value>, ctx: HandlerCtx) => ExecOutcome | Promise<ExecOutcome>;
208
+ export type AsyncHandlers = Record<string, AsyncHandler>;
209
+ export type BehaviorFailureCode = "UNKNOWN_COMPONENT" | "UNKNOWN_NODE_KIND" | "MAP_OVER_NOT_ARRAY" | "MAP_INTO_ELEMENT_NOT_OBJECT" | "MAP_BATCH_RESULT_MISMATCH" | "UNKNOWN_ENTRY";
210
+ export declare class BehaviorFailure extends Error {
211
+ code: BehaviorFailureCode;
212
+ constructor(code: BehaviorFailureCode, message: string);
213
+ }
214
+ /**
215
+ * runBehavior — component-graph IR の統合実行 IF(§7)。
216
+ *
217
+ * @param ir component-graph 可搬 IR。
218
+ * @param handlers 専用コンポーネント handler registry(catalog名 → 実装。境界注入)。
219
+ * @param input エントリ component の inputPorts 束縛(param 値)。
220
+ * @param entry 実行する component 名(省略時は先頭 component)。
221
+ * @returns `output` を評価した最終 Value(Φ 合流)。
222
+ *
223
+ * 責務(P0-3): ①plan の stage 実行(runPlan)、②各 componentRef の port 式を
224
+ * evaluateExpression で評価、③catalog名→handlers[name] を解決し exec 委譲、④map/cond/Skip 伝播。
225
+ *
226
+ * 同期 handler seam のため stage 内は逐次実行(execution-plan.md §4.1 の conforming
227
+ * fallback)。stage 内 bounded 並列が必要な consumer は {@link runBehaviorAsync} を使う
228
+ * (観測結果は本関数と byte 一致 — 本関数が規範実装)。
229
+ */
230
+ export declare function runBehavior(ir: ComponentGraphIR, handlers: Handlers, input?: Scope, entry?: string): Value;
231
+ /**
232
+ * runBehaviorAsync — runBehavior の非同期版(bc#23)。handler が Promise を返せる。
233
+ *
234
+ * plan の stage 実行を {@link runPlanAsync} に委譲することで、同一 stage 内の兄弟ノードを
235
+ * `plan.concurrency` を上限とした bounded 並列で実行する(旧 graphddb の sibling relation
236
+ * query thread-overlap の回復)。map ノード**内部**の要素反復は宣言どおり逐次
237
+ * (stage 間/stage 内の並列単位は body ノード — §7)。
238
+ *
239
+ * 観測等価: 結果・Skip/Policy 伝播・Failure(code/message)は {@link runBehavior} と
240
+ * 完全一致(runBehavior が規範実装。等価性は conformance vectors の両経路 PASS で担保)。
241
+ * 相違は投機的 dispatch のみ(runPlanAsync の決定的 commit プロトコル参照)。
242
+ *
243
+ * 並行呼び出し契約: `concurrency > 1` の plan を持つ component では、同一 stage 内の
244
+ * 兄弟ノードの handler が並行に呼ばれ得る。並行呼び出しを許容しない consumer は
245
+ * `concurrency: 1` の plan を出荷する(concurrency は plan 構造の一部 — execution-plan.md §3)。
246
+ */
247
+ export declare function runBehaviorAsync(ir: ComponentGraphIR, handlers: AsyncHandlers, input?: Scope, entry?: string): Promise<Value>;
248
+ //# sourceMappingURL=behavior.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../src/behavior.ts"],"names":[],"mappings":"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"}