mcard-js 2.1.22 → 2.1.24

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 (39) hide show
  1. package/README.md +35 -0
  2. package/dist/model/PCard.d.ts +79 -33
  3. package/dist/model/PCard.d.ts.map +1 -1
  4. package/dist/model/PCard.js +91 -34
  5. package/dist/model/PCard.js.map +1 -1
  6. package/dist/ptr/Bridgelet.d.ts +180 -0
  7. package/dist/ptr/Bridgelet.d.ts.map +1 -0
  8. package/dist/ptr/Bridgelet.js +296 -0
  9. package/dist/ptr/Bridgelet.js.map +1 -0
  10. package/dist/ptr/CLMIntrospection.d.ts +169 -0
  11. package/dist/ptr/CLMIntrospection.d.ts.map +1 -0
  12. package/dist/ptr/CLMIntrospection.js +329 -0
  13. package/dist/ptr/CLMIntrospection.js.map +1 -0
  14. package/dist/ptr/OpenTelemetrySidecar.d.ts +144 -0
  15. package/dist/ptr/OpenTelemetrySidecar.d.ts.map +1 -0
  16. package/dist/ptr/OpenTelemetrySidecar.js +232 -0
  17. package/dist/ptr/OpenTelemetrySidecar.js.map +1 -0
  18. package/dist/ptr/node/Action.d.ts +19 -0
  19. package/dist/ptr/node/Action.d.ts.map +1 -1
  20. package/dist/ptr/node/Action.js +107 -0
  21. package/dist/ptr/node/Action.js.map +1 -1
  22. package/dist/ptr/node/clm/builtins/index.d.ts +4 -0
  23. package/dist/ptr/node/clm/builtins/index.d.ts.map +1 -1
  24. package/dist/ptr/node/clm/builtins/index.js +14 -0
  25. package/dist/ptr/node/clm/builtins/index.js.map +1 -1
  26. package/dist/ptr/node/clm/builtins/websocket-server.d.ts +34 -0
  27. package/dist/ptr/node/clm/builtins/websocket-server.d.ts.map +1 -0
  28. package/dist/ptr/node/clm/builtins/websocket-server.js +214 -0
  29. package/dist/ptr/node/clm/builtins/websocket-server.js.map +1 -0
  30. package/dist/ptr/node/clm/index.d.ts +2 -1
  31. package/dist/ptr/node/clm/index.d.ts.map +1 -1
  32. package/dist/ptr/node/clm/index.js +2 -1
  33. package/dist/ptr/node/clm/index.js.map +1 -1
  34. package/dist/ptr/node/clm/runner.d.ts.map +1 -1
  35. package/dist/ptr/node/clm/runner.js +12 -4
  36. package/dist/ptr/node/clm/runner.js.map +1 -1
  37. package/package.json +5 -3
  38. package/schema/mcard_schema.sql +125 -0
  39. package/schema/mcard_vector_schema.sql +283 -0
package/README.md CHANGED
@@ -13,6 +13,8 @@ Full-featured TypeScript implementation of MCard content-addressable storage, su
13
13
  - **UTF-8 Handles**: International support (文檔, مستند, ドキュメント, документ)
14
14
  - **Monadic API**: Maybe, Either, IO monads for functional composition
15
15
  - **PTR Runtime**: Polynomial Type Runtime with polyglot execution (JS, Python, Rust, C, WASM, Lean)
16
+ - **Bridgelet**: Universal Vehicle for cross-runtime execution (JS ↔ Python)
17
+ - **Introspection**: Recursive analysis of CLM composition and dependencies
16
18
  - **LLM Integration**: Ollama, WebLLM (browser), and MLC-LLM providers
17
19
  - **Vector Search**: sqlite-vec extension for semantic similarity search
18
20
 
@@ -607,6 +609,39 @@ To run integration tests against a live Ollama instance:
607
609
  npx vitest tests/rag/Integration.test.ts
608
610
  ```
609
611
 
612
+ ## Version 0.1.42 / 2.1.24 Release Notes (January 13, 2026)
613
+ > Single Source of Truth Schema Synchronization
614
+
615
+ ### 🔄 Schema Synchronization
616
+ * **Unified Schema Source**: `mcard-js` now strictly uses the canonical SQL schema files (`mcard_schema.sql`, `mcard_vector_schema.sql`) from the project root.
617
+ * **Distribution Integrity**: The `npm` package now includes the raw SQL schema files, ensuring guaranteed parity with the Python implementation.
618
+ * **Path Resolution**: Robust logic to resolve schema files in both development (monorepo) and production (dependency) contexts.
619
+
620
+ ---
621
+
622
+ ## Version 0.1.43 / 2.1.23 Release Notes (January 8, 2026)
623
+ > CLM REPL Architecture, Bridgelet, and Introspection
624
+
625
+ ### 🌉 Bridgelet Universal Vehicle
626
+ * **Cross-Language Execution**: New `Bridgelet` class allows moving execution between runtimes (e.g., JS ↔ Python) via content-addressable MCards.
627
+ * **Unified Interface**: `invoke(pcardHash, inputVCardHash)` works consistently across adapters.
628
+ * **Architecture**: Implements the "Universal Vehicle" pattern from the CLM REPL Specification.
629
+
630
+ ### 🔍 Recursive CLM Introspection
631
+ * **Hierarchy Analysis**: `CLMIntrospector` builds a tree of CLM dependencies, enabling visualization of complex compositions.
632
+ * **Cycle Detection**: Automatically detects and warns about infinite recursion loops in CLM references.
633
+ * **Composition Analysis**: Distinguishes between Sequential (Coend) and Parallel (Tensor) compositions.
634
+
635
+ ### 🔭 OpenTelemetry Observability
636
+ * **REPL Tracer**: `OpenTelemetrySidecar` traces `prep`, `exec`, `post`, and `await` phases of the CLM execution loop.
637
+ * **Distributed Tracing**: Correlates spans across polyglot boundaries (e.g., JS calling Python).
638
+
639
+ ### 🧪 Test Coverage
640
+ * **New Tests**: Added 32 new unit tests covering Bridgelet, Introspection, and Observability.
641
+ * **Stability**: All 500+ existing tests passing.
642
+
643
+ ---
644
+
610
645
  ## Version 2.1.16 Release Notes (December 16, 2025)
611
646
  > Feature Parity, Refactoring, and UPTV Alignment
612
647
 
@@ -4,53 +4,77 @@
4
4
  * This module defines PCard, the execution unit in the MVP Cards architecture.
5
5
  * PCards are MCards containing a valid CLM (Cubical Logic Model) specification.
6
6
  *
7
- * ## Category Theory Role: FUNCTOR
7
+ * ## Categorical Foundation: STRONG PROFUNCTOR
8
8
  *
9
- * PCard is the **Functor** in the MVP Cards categorical hierarchy:
10
- * - **MCard (Monad)**: Data container
11
- * - **PCard (Functor)**: Pure transformation `fmap :: (a -> b) -> F a -> F b`
12
- * - **VCard (Applicative)**: Context-aware application
9
+ * PCard implements the Strong Profunctor pattern from category theory:
13
10
  *
14
- * ## Petri Net Role: TRANSITION
11
+ * P: A^op × B Set
15
12
  *
16
- * In the Categorical Petri Net model, PCard is the **Transition**:
17
- * - Consumes input VCards (Tokens) from input Places
18
- * - Executes CLM logic (Abstract Concrete transformation)
19
- * - Produces output VCards (Tokens) for output Places
13
+ * Where:
14
+ * - A^op denotes contravariance in input types (accepts MORE general)
15
+ * - B denotes covariance in output types (produces MORE specific)
16
+ * - Set is the category of sets (our value space)
20
17
  *
21
- * ### The Firing Rule
18
+ * The "Strong" property means PCard supports:
19
+ * - first: P(A, B) → P(C × A, C × B) (threading context through)
20
+ * - second: P(A, B) → P(A × C, B × C) (preserving additional structure)
21
+ *
22
+ * ## Composition via Coend
22
23
  *
23
- * A PCard (Transition) fires when all input VCards (Tokens) are present:
24
+ * Two PCards compose via the Coend (categorical integral):
24
25
  *
25
- * ```
26
- * M' = M - •t + t•
27
- * ```
26
+ * (P ⨾ Q)(A, C) = ∫ᴮ P(A, B) × Q(B, C)
28
27
  *
29
28
  * Where:
30
- * - M = Current marking (token distribution)
31
- * - •t = Pre-set (input VCards required)
32
- * - t• = Post-set (output VCards produced)
29
+ * - ∫ᴮ is the Coend over the intermediate type B
30
+ * - P(A, B) is the first PCard (input A, output B)
31
+ * - Q(B, C) is the second PCard (input B, output C)
32
+ * - Result is a new PCard from A to C
33
+ *
34
+ * The `andThen()` method implements this Coend composition.
33
35
  *
34
- * ### Handle Naming Convention for CLM Execution
36
+ * ## SMC Structure (Symmetric Monoidal Category)
35
37
  *
36
- * ```
37
- * clm://{module}/{function}/spec # PCard (Transition definition)
38
- * clm://{module}/{function}/input # Input VCard (Precondition)
39
- * clm://{module}/{function}/output # Output VCard (Postcondition)
40
- * clm://{module}/{function}/balanced # Balanced Expectations history
41
- * ```
38
+ * PCard composition forms a Symmetric Monoidal Category:
39
+ * - **Identity**: The "pass-through" PCard
40
+ * - **Composition**: Sequential chaining via `andThen()` (;)
41
+ * - **Tensor Product**: Parallel composition via `andAlso()` (⊗)
42
+ * - **Symmetry**: Port swapping via `swap()` (σ)
43
+ *
44
+ * ## Functor Role in MVP Cards Hierarchy
45
+ *
46
+ * PCard is the **Functor** in the categorical hierarchy:
47
+ * - **MCard (Monad)**: Data container
48
+ * - **PCard (Functor)**: Pure transformation `fmap :: (a -> b) -> F a -> F b`
49
+ * - **VCard (Applicative)**: Context-aware application
50
+ *
51
+ * ## Petri Net Role: TRANSITION
52
+ *
53
+ * In the Categorical Petri Net model, PCard is the **Transition**:
54
+ * - Consumes input VCards (Tokens) from input Places
55
+ * - Executes CLM logic (Abstract → Concrete transformation)
56
+ * - Produces output VCards (Tokens) for output Places
57
+ *
58
+ * ### The Firing Rule
59
+ *
60
+ * M' = M - •t + t•
61
+ *
62
+ * Where:
63
+ * - M = Current marking (token distribution)
64
+ * - •t = Pre-set (input VCards required)
65
+ * - t• = Post-set (output VCards produced)
42
66
  *
43
67
  * ## CLM Triad: Abstract, Concrete, Balanced
44
68
  *
45
69
  * PCard content encodes the three dimensions:
46
- * - **Abstract (A)**: WHY - Specification, intent, type signature
47
- * - **Concrete (C)**: HOW - Implementation, runtime logic
48
- * - **Balanced (B)**: WHAT - Tests, verification expectations (tracked in handle_history)
70
+ * - **Abstract (A)**: WHY - Specification, intent, type signature
71
+ * - **Concrete (C)**: HOW - Implementation, runtime logic
72
+ * - **Balanced (B)**: WHAT - Tests, verification expectations
49
73
  *
50
74
  * ## DOTS Vocabulary Role: LENS + CHART
51
75
  *
52
- * - **Lens**: Tight morphism (Abstract ↔ Concrete coherence)
53
- * - **Chart**: Loose morphism (Balanced expectations wiring)
76
+ * - **Lens**: Tight morphism (Abstract ↔ Concrete coherence)
77
+ * - **Chart**: Loose morphism (Balanced expectations wiring)
54
78
  *
55
79
  * @see docs/PCard_Impl.md for full implementation specification
56
80
  */
@@ -132,10 +156,32 @@ export declare class PCard extends MCard {
132
156
  */
133
157
  get balancedExpectations(): any;
134
158
  /**
135
- * Sequential Composition ($A ; B$)
159
+ * Sequential Composition via Coend (P Q)
160
+ *
161
+ * Implements profunctor composition using the Coend formula:
162
+ *
163
+ * (P ⨾ Q)(A, C) = ∫ᴮ P(A, B) × Q(B, C)
164
+ *
165
+ * Where:
166
+ * - this is P: A → B
167
+ * - otherPCard is Q: B → C
168
+ * - Result is P ⨾ Q: A → C
169
+ *
170
+ * The Coend (∫ᴮ) "integrates out" the intermediate type B by:
171
+ * 1. Matching P's output type with Q's input type
172
+ * 2. Creating a chain where P's result feeds into Q
173
+ * 3. The composition is associative: (P ⨾ Q) ⨾ R = P ⨾ (Q ⨾ R)
174
+ *
175
+ * In PTR execution:
176
+ * - P is executed first (prep → exec → post)
177
+ * - P's output VCard becomes Q's input VCard
178
+ * - Q is executed second
179
+ * - Final result is Q's output VCard
180
+ *
181
+ * Note: Named 'andThen' to avoid conflict with Promise.then (Thenable).
136
182
  *
137
- * Connects the output of this PCard to the input of otherPCard.
138
- * Renamed to 'andThen' to avoid conflict with Promise.then (Thenable).
183
+ * @param otherPCard - The PCard to execute after this one (Q in P ⨾ Q)
184
+ * @returns A new PCard representing the composed profunctor (P ⨾ Q)
139
185
  */
140
186
  andThen(otherPCard: PCard): Promise<PCard>;
141
187
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PCard.d.ts","sourceRoot":"","sources":["../../src/model/PCard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PCard.d.ts","sourceRoot":"","sources":["../../src/model/PCard.ts"],"names":[],"mappings":"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"}
@@ -4,53 +4,77 @@
4
4
  * This module defines PCard, the execution unit in the MVP Cards architecture.
5
5
  * PCards are MCards containing a valid CLM (Cubical Logic Model) specification.
6
6
  *
7
- * ## Category Theory Role: FUNCTOR
7
+ * ## Categorical Foundation: STRONG PROFUNCTOR
8
8
  *
9
- * PCard is the **Functor** in the MVP Cards categorical hierarchy:
10
- * - **MCard (Monad)**: Data container
11
- * - **PCard (Functor)**: Pure transformation `fmap :: (a -> b) -> F a -> F b`
12
- * - **VCard (Applicative)**: Context-aware application
9
+ * PCard implements the Strong Profunctor pattern from category theory:
13
10
  *
14
- * ## Petri Net Role: TRANSITION
11
+ * P: A^op × B Set
15
12
  *
16
- * In the Categorical Petri Net model, PCard is the **Transition**:
17
- * - Consumes input VCards (Tokens) from input Places
18
- * - Executes CLM logic (Abstract Concrete transformation)
19
- * - Produces output VCards (Tokens) for output Places
13
+ * Where:
14
+ * - A^op denotes contravariance in input types (accepts MORE general)
15
+ * - B denotes covariance in output types (produces MORE specific)
16
+ * - Set is the category of sets (our value space)
20
17
  *
21
- * ### The Firing Rule
18
+ * The "Strong" property means PCard supports:
19
+ * - first: P(A, B) → P(C × A, C × B) (threading context through)
20
+ * - second: P(A, B) → P(A × C, B × C) (preserving additional structure)
21
+ *
22
+ * ## Composition via Coend
22
23
  *
23
- * A PCard (Transition) fires when all input VCards (Tokens) are present:
24
+ * Two PCards compose via the Coend (categorical integral):
24
25
  *
25
- * ```
26
- * M' = M - •t + t•
27
- * ```
26
+ * (P ⨾ Q)(A, C) = ∫ᴮ P(A, B) × Q(B, C)
28
27
  *
29
28
  * Where:
30
- * - M = Current marking (token distribution)
31
- * - •t = Pre-set (input VCards required)
32
- * - t• = Post-set (output VCards produced)
29
+ * - ∫ᴮ is the Coend over the intermediate type B
30
+ * - P(A, B) is the first PCard (input A, output B)
31
+ * - Q(B, C) is the second PCard (input B, output C)
32
+ * - Result is a new PCard from A to C
33
+ *
34
+ * The `andThen()` method implements this Coend composition.
35
+ *
36
+ * ## SMC Structure (Symmetric Monoidal Category)
37
+ *
38
+ * PCard composition forms a Symmetric Monoidal Category:
39
+ * - **Identity**: The "pass-through" PCard
40
+ * - **Composition**: Sequential chaining via `andThen()` (;)
41
+ * - **Tensor Product**: Parallel composition via `andAlso()` (⊗)
42
+ * - **Symmetry**: Port swapping via `swap()` (σ)
43
+ *
44
+ * ## Functor Role in MVP Cards Hierarchy
45
+ *
46
+ * PCard is the **Functor** in the categorical hierarchy:
47
+ * - **MCard (Monad)**: Data container
48
+ * - **PCard (Functor)**: Pure transformation `fmap :: (a -> b) -> F a -> F b`
49
+ * - **VCard (Applicative)**: Context-aware application
50
+ *
51
+ * ## Petri Net Role: TRANSITION
33
52
  *
34
- * ### Handle Naming Convention for CLM Execution
53
+ * In the Categorical Petri Net model, PCard is the **Transition**:
54
+ * - Consumes input VCards (Tokens) from input Places
55
+ * - Executes CLM logic (Abstract → Concrete transformation)
56
+ * - Produces output VCards (Tokens) for output Places
57
+ *
58
+ * ### The Firing Rule
35
59
  *
36
- * ```
37
- * clm://{module}/{function}/spec # PCard (Transition definition)
38
- * clm://{module}/{function}/input # Input VCard (Precondition)
39
- * clm://{module}/{function}/output # Output VCard (Postcondition)
40
- * clm://{module}/{function}/balanced # Balanced Expectations history
41
- * ```
60
+ * M' = M - •t + t•
61
+ *
62
+ * Where:
63
+ * - M = Current marking (token distribution)
64
+ * - •t = Pre-set (input VCards required)
65
+ * - t• = Post-set (output VCards produced)
42
66
  *
43
67
  * ## CLM Triad: Abstract, Concrete, Balanced
44
68
  *
45
69
  * PCard content encodes the three dimensions:
46
- * - **Abstract (A)**: WHY - Specification, intent, type signature
47
- * - **Concrete (C)**: HOW - Implementation, runtime logic
48
- * - **Balanced (B)**: WHAT - Tests, verification expectations (tracked in handle_history)
70
+ * - **Abstract (A)**: WHY - Specification, intent, type signature
71
+ * - **Concrete (C)**: HOW - Implementation, runtime logic
72
+ * - **Balanced (B)**: WHAT - Tests, verification expectations
49
73
  *
50
74
  * ## DOTS Vocabulary Role: LENS + CHART
51
75
  *
52
- * - **Lens**: Tight morphism (Abstract ↔ Concrete coherence)
53
- * - **Chart**: Loose morphism (Balanced expectations wiring)
76
+ * - **Lens**: Tight morphism (Abstract ↔ Concrete coherence)
77
+ * - **Chart**: Loose morphism (Balanced expectations wiring)
54
78
  *
55
79
  * @see docs/PCard_Impl.md for full implementation specification
56
80
  */
@@ -203,13 +227,45 @@ export class PCard extends MCard {
203
227
  return this.balanced;
204
228
  }
205
229
  // =========================================================================
206
- // SMC Algebraic Combinators (Function Composition)
230
+ // SMC ALGEBRAIC COMBINATORS (Profunctor Composition)
231
+ // =========================================================================
232
+ //
233
+ // These methods implement the Symmetric Monoidal Category structure,
234
+ // enabling algebraic composition of PCards as profunctors.
235
+ //
236
+ // Composition Laws (Categorical Coherence):
237
+ // - Associativity: (f.andThen(g)).andThen(h) ≡ f.andThen(g.andThen(h))
238
+ // - Identity: id.andThen(f) ≡ f ≡ f.andThen(id)
239
+ // - Tensor Associativity: (A ⊗ B) ⊗ C ≅ A ⊗ (B ⊗ C)
240
+ // - Symmetry Involution: swap().swap() ≡ id
207
241
  // =========================================================================
208
242
  /**
209
- * Sequential Composition ($A ; B$)
243
+ * Sequential Composition via Coend (P Q)
244
+ *
245
+ * Implements profunctor composition using the Coend formula:
246
+ *
247
+ * (P ⨾ Q)(A, C) = ∫ᴮ P(A, B) × Q(B, C)
248
+ *
249
+ * Where:
250
+ * - this is P: A → B
251
+ * - otherPCard is Q: B → C
252
+ * - Result is P ⨾ Q: A → C
253
+ *
254
+ * The Coend (∫ᴮ) "integrates out" the intermediate type B by:
255
+ * 1. Matching P's output type with Q's input type
256
+ * 2. Creating a chain where P's result feeds into Q
257
+ * 3. The composition is associative: (P ⨾ Q) ⨾ R = P ⨾ (Q ⨾ R)
258
+ *
259
+ * In PTR execution:
260
+ * - P is executed first (prep → exec → post)
261
+ * - P's output VCard becomes Q's input VCard
262
+ * - Q is executed second
263
+ * - Final result is Q's output VCard
264
+ *
265
+ * Note: Named 'andThen' to avoid conflict with Promise.then (Thenable).
210
266
  *
211
- * Connects the output of this PCard to the input of otherPCard.
212
- * Renamed to 'andThen' to avoid conflict with Promise.then (Thenable).
267
+ * @param otherPCard - The PCard to execute after this one (Q in P ⨾ Q)
268
+ * @returns A new PCard representing the composed profunctor (P ⨾ Q)
213
269
  */
214
270
  async andThen(otherPCard) {
215
271
  const newClm = {
@@ -221,6 +277,7 @@ export class PCard extends MCard {
221
277
  clm: {
222
278
  abstract: {
223
279
  type: "sequential_composition",
280
+ coend_formula: "∫ᴮ P(A,B) × Q(B,C)",
224
281
  steps: [this.hash, otherPCard.hash]
225
282
  },
226
283
  concrete: {
@@ -1 +1 @@
1
- {"version":3,"file":"PCard.js","sourceRoot":"","sources":["../../src/model/PCard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PCard.js","sourceRoot":"","sources":["../../src/model/PCard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAgB,uBAAuB,EAAE,MAAM,eAAe,CAAC;AA0BtE;;;;;GAKG;AACH,MAAM,OAAO,KAAM,SAAQ,KAAK;IACX,SAAS,CAAM;IACf,MAAM,CAAU;IAEjC,YACI,OAAmB,EACnB,IAAY,EACZ,MAAc,EACd,WAAmB,EACnB,YAAoB,EACpB,SAAc,EACd,MAAe;QAEf,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACf,OAA4B,EAC5B,gBAAwB,QAAQ,EAChC,SAAkB,IAAI;QAEtB,IAAI,WAAmB,CAAC;QACxB,IAAI,KAAiB,CAAC;QAEtB,qCAAqC;QACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,WAAW,GAAG,OAAO,CAAC;YACtB,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACJ,KAAK,GAAG,OAAO,CAAC;YAChB,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,kCAAkC;QAClC,IAAI,SAAS,CAAC;QACd,IAAI,CAAC;YACD,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEzD,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzF,CAAC;IAED;;;;OAIG;IACH,eAAe;QACX,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,gDAAgD;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,uBAAuB,CAC1B,IAAI,CAAC,MAAM,EACX,SAAS,EACT,SAAS,CACZ,CAAC;IACN,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,4EAA4E;IAC5E,yCAAyC;IACzC,4EAA4E;IAEpE,UAAU,CAAC,WAAmB,EAAE,OAAiB;QACrD,gBAAgB;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;QAEpB,2BAA2B;QAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;QACxB,CAAC;QAED,gDAAgD;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;QACpC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACpD,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5B,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;YACpB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC1B,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACtB,IAAI,GAAG;oBAAE,OAAO,GAAG,CAAC;YACxB,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,4EAA4E;IAC5E,qDAAqD;IACrD,4EAA4E;IAC5E,EAAE;IACF,qEAAqE;IACrE,2DAA2D;IAC3D,EAAE;IACF,4CAA4C;IAC5C,yEAAyE;IACzE,kDAAkD;IAClD,sDAAsD;IACtD,8CAA8C;IAC9C,4EAA4E;IAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,KAAK,CAAC,OAAO,CAAC,UAAiB;QAC3B,MAAM,MAAM,GAAG;YACX,OAAO,EAAE;gBACL,EAAE,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC9E,KAAK,EAAE,gCAAgC;gBACvC,IAAI,EAAE,WAAW,IAAI,CAAC,IAAI,SAAS,UAAU,CAAC,IAAI,EAAE;aACvD;YACD,GAAG,EAAE;gBACD,QAAQ,EAAE;oBACN,IAAI,EAAE,wBAAwB;oBAC9B,aAAa,EAAE,oBAAoB;oBACnC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;iBACtC;gBACD,QAAQ,EAAE;oBACN,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,oBAAoB;oBAC/B,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;iBACtC;aACJ;SACJ,CAAC;QACF,qEAAqE;QACrE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IAGD;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,UAAiB;QAC3B,MAAM,MAAM,GAAG;YACX,OAAO,EAAE;gBACL,EAAE,EAAE,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC9E,KAAK,EAAE,mBAAmB;gBAC1B,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,QAAQ,UAAU,CAAC,IAAI,cAAc;aAC9D;YACD,GAAG,EAAE;gBACD,QAAQ,EAAE;oBACN,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK,EAAE,UAAU,CAAC,IAAI;iBACzB;gBACD,QAAQ,EAAE;oBACN,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,kBAAkB;oBAC7B,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;iBAC3C;aACJ;SACJ,CAAC;QACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACN,MAAM,MAAM,GAAG;YACX,OAAO,EAAE;gBACL,EAAE,EAAE,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;gBAC1C,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,0BAA0B,IAAI,CAAC,IAAI,EAAE;aAC9C;YACD,GAAG,EAAE;gBACD,QAAQ,EAAE;oBACN,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,IAAI,CAAC,IAAI;iBACpB;gBACD,QAAQ,EAAE;oBACN,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,gBAAgB;oBAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;iBACpB;aACJ;SACJ,CAAC;QACF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED,4EAA4E;IAC5E,8BAA8B;IAC9B,4EAA4E;IAE5E;;OAEG;IACH,MAAM;QACF,OAAO;YACH,MAAM,EAAE,sBAAsB;YAC9B,UAAU,EAAE,IAAI,CAAC,QAAQ;YACzB,MAAM,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC;IACN,CAAC;IAED;;OAEG;IACH,OAAO;QACH,OAAO;YACH,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE,IAAI,CAAC,IAAI;YACjB,eAAe,EAAE,UAAU;SAC9B,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK;QACD,OAAO;YACH,MAAM,EAAE,uBAAuB;YAC/B,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC;IACN,CAAC;IAED;;OAEG;IACH,OAAO;QACH,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;YACjC,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE;SACxC,CAAC;IACN,CAAC;IAED,4EAA4E;IAC5E,iCAAiC;IACjC,4EAA4E;IAE5E;;;;;;;OAOG;IACH,iBAAiB;QACb,MAAM,IAAI,GAAoB,EAAE,CAAC;QAEjC,gDAAgD;QAChD,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAA;QAED,yCAAyC;QACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC;YACxC,QAAQ,CAAC,eAAe,CAAC;YACzB,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEzB,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;gBAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC1B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC/B,CAAC;qBAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC;wBACN,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,YAAY,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,aAAa;wBAC3C,OAAO,EAAE,GAAG,CAAC,OAAO;qBACvB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAED,qEAAqE;QACrE,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC9C,MAAM,gBAAgB,GAAG,YAAY,EAAE,UAAU,IAAI,EAAE,CAAC;QACxD,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;YACpE,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC;oBACN,MAAM,EAAE,UAAU,GAAG,CAAC,IAAI,EAAE;oBAC5B,YAAY,EAAE,GAAG,CAAC,IAAI;oBACtB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,cAAc;iBACzC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,mBAAmB;QACf,MAAM,KAAK,GAAsB,EAAE,CAAC;QAEpC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAA;QAED,0CAA0C;QAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC;YAC1C,QAAQ,CAAC,gBAAgB,CAAC;YAC1B,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEzB,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACjD,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC;wBACP,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,QAAQ;wBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBAC1B,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAED,2DAA2D;QAC3D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YACvC,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;gBACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBACxE,KAAK,CAAC,IAAI,CAAC;oBACP,MAAM,EAAE,SAAS,QAAQ,WAAW;oBACpC,IAAI,EAAE,cAAc;iBACvB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QACvC,IAAI,OAAO,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,WAAW,OAAO,CAAC,EAAE,EAAE,CAAC;YACpG,OAAO,SAAS,QAAQ,OAAO,CAAC;QACpC,CAAC;QACD,gCAAgC;QAChC,OAAO,cAAc,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB;QACb,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC9C,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,eAAoC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,GAAG,CAAC,YAAY,IAAI,SAAS,KAAK,GAAG,CAAC,YAAY,EAAE,CAAC;gBAC5D,mCAAmC;gBACnC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,kBAAkB,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;QAED,OAAO;YACH,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC;YAC7B,OAAO;SACV,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO;YACxC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO;YAChC,YAAY,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,cAAc;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QACvE,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IACvF,CAAC;CACJ"}
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Bridgelet Universal Vehicle - Cross-Language Execution Abstraction
3
+ *
4
+ * The Bridgelet provides a universal interface for executing CLM logic across
5
+ * different language runtimes, enabling polyglot composition of PCards.
6
+ *
7
+ * ## Conceptual Foundation
8
+ *
9
+ * Bridgelet = Universal Vehicle for Cross-Language Execution
10
+ *
11
+ * Just as a physical bridge connects two lands, a Bridgelet connects two
12
+ * language runtimes, enabling data and control flow across the boundary.
13
+ *
14
+ * ## Architecture
15
+ *
16
+ * ```
17
+ * ┌─────────────────────────────────────────────────────────────────────┐
18
+ * │ Bridgelet Interface │
19
+ * │ invoke(pcard_hash, input_vcard) → output_vcard │
20
+ * └───────────────────────────┬─────────────────────────────────────────┘
21
+ * │
22
+ * ┌───────────────────┼───────────────────────┐
23
+ * ▼ ▼ ▼
24
+ * ┌────────┐ ┌────────┐ ┌────────┐
25
+ * │ JS │ │ Python │ │ WASM │
26
+ * │Runtime │ │(HTTP) │ │Runtime │
27
+ * └────────┘ └────────┘ └────────┘
28
+ * ```
29
+ *
30
+ * ## Protocol
31
+ *
32
+ * 1. Serialize input VCard to content-addressable format (MCard)
33
+ * 2. Invoke target runtime with PCard hash and input MCard hash
34
+ * 3. Receive output MCard hash
35
+ * 4. Deserialize output MCard to VCard
36
+ *
37
+ * All data crosses the bridge as immutable MCards (content-addressed),
38
+ * ensuring EOS (Experimental-Operational Symmetry).
39
+ *
40
+ * @see CLM_MCard_REPL_Implementation.md §10: Bridgelet Universal Vehicle
41
+ * @see PTR_MCard_CLM_Recent_Developments_Jan2026.md §5.3: Polyglot Execution
42
+ */
43
+ /**
44
+ * Supported runtime types for Bridgelet execution
45
+ */
46
+ export declare enum RuntimeType {
47
+ JAVASCRIPT = "javascript",
48
+ TYPESCRIPT = "typescript",
49
+ PYTHON = "python",
50
+ WASM = "wasm",
51
+ LEAN = "lean",
52
+ UNKNOWN = "unknown"
53
+ }
54
+ /**
55
+ * Represents a cross-runtime invocation request.
56
+ *
57
+ * All data is represented by content hashes (MCard references),
58
+ * ensuring immutability and EOS compliance.
59
+ */
60
+ export interface BridgeletInvocation {
61
+ /** PCard to execute (content hash) */
62
+ pcardHash: string;
63
+ /** Input VCard (content hash) */
64
+ inputVCardHash: string;
65
+ /** Target runtime */
66
+ targetRuntime: RuntimeType;
67
+ /** Execution context (serializable parameters) */
68
+ context: Record<string, any>;
69
+ /** Trace ID for observability */
70
+ traceId: string;
71
+ }
72
+ /**
73
+ * Result of a Bridgelet invocation.
74
+ *
75
+ * Contains the output VCard hash and execution metadata.
76
+ */
77
+ export interface BridgeletResult {
78
+ /** Success status */
79
+ success: boolean;
80
+ /** Output VCard (content hash) */
81
+ outputVCardHash?: string;
82
+ /** Error message if failed */
83
+ error?: string;
84
+ /** Execution time in milliseconds */
85
+ executionTimeMs: number;
86
+ /** Runtime that executed the PCard */
87
+ executedBy: RuntimeType;
88
+ /** Additional metadata */
89
+ metadata: Record<string, any>;
90
+ }
91
+ /**
92
+ * Abstract interface for runtime-specific Bridgelet adapters.
93
+ *
94
+ * Each adapter implements the protocol for a specific runtime,
95
+ * handling serialization, invocation, and deserialization.
96
+ */
97
+ export interface BridgeletAdapter {
98
+ /** Get the runtime type this adapter supports */
99
+ getRuntimeType(): RuntimeType;
100
+ /** Check if this runtime is available for execution */
101
+ isAvailable(): boolean;
102
+ /** Invoke a PCard in this runtime */
103
+ invoke(invocation: BridgeletInvocation): Promise<BridgeletResult>;
104
+ }
105
+ /**
106
+ * JavaScript/TypeScript Bridgelet adapter.
107
+ *
108
+ * Executes PCards using the local JavaScript CLM runner.
109
+ */
110
+ export declare class JavaScriptBridgeletAdapter implements BridgeletAdapter {
111
+ private collection;
112
+ constructor(collection?: any);
113
+ getRuntimeType(): RuntimeType;
114
+ isAvailable(): boolean;
115
+ invoke(invocation: BridgeletInvocation): Promise<BridgeletResult>;
116
+ }
117
+ /**
118
+ * Universal Vehicle for Cross-Language Execution.
119
+ *
120
+ * The Bridgelet manages a registry of runtime adapters and routes
121
+ * PCard execution requests to the appropriate runtime based on
122
+ * the PCard's declared runtime requirement.
123
+ *
124
+ * ## Usage
125
+ *
126
+ * ```typescript
127
+ * const bridgelet = new Bridgelet(collection);
128
+ * bridgelet.registerAdapter(new JavaScriptBridgeletAdapter());
129
+ * bridgelet.registerAdapter(new PythonHTTPBridgeletAdapter('http://localhost:8000'));
130
+ *
131
+ * const result = await bridgelet.invoke({
132
+ * pcardHash: "abc123",
133
+ * inputVCardHash: "def456",
134
+ * context: { param: "value" }
135
+ * });
136
+ * ```
137
+ *
138
+ * ## Cross-Language Composition
139
+ *
140
+ * The Bridgelet enables polyglot PCard composition:
141
+ *
142
+ * ```typescript
143
+ * jsPCard.andThen(pythonPCard).andThen(wasmPCard)
144
+ * ```
145
+ *
146
+ * Each transition crosses a runtime bridge, with data flowing
147
+ * as content-addressed MCards.
148
+ */
149
+ export declare class Bridgelet {
150
+ private collection;
151
+ private adapters;
152
+ private traceCounter;
153
+ constructor(collection?: any);
154
+ /**
155
+ * Register a runtime adapter
156
+ */
157
+ registerAdapter(adapter: BridgeletAdapter): void;
158
+ /**
159
+ * Get list of available runtimes
160
+ */
161
+ getAvailableRuntimes(): RuntimeType[];
162
+ /**
163
+ * Generate a unique trace ID for observability
164
+ */
165
+ private generateTraceId;
166
+ /**
167
+ * Detect the required runtime for a PCard
168
+ */
169
+ private detectRuntime;
170
+ /**
171
+ * Invoke a PCard across the appropriate runtime bridge
172
+ */
173
+ invoke(options: {
174
+ pcardHash: string;
175
+ inputVCardHash: string;
176
+ context?: Record<string, any>;
177
+ targetRuntime?: RuntimeType;
178
+ }): Promise<BridgeletResult>;
179
+ }
180
+ //# sourceMappingURL=Bridgelet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bridgelet.d.ts","sourceRoot":"","sources":["../../src/ptr/Bridgelet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAIH;;GAEG;AACH,oBAAY,WAAW;IACnB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,OAAO,YAAY;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAChC,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAElB,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IAEvB,qBAAqB;IACrB,aAAa,EAAE,WAAW,CAAC;IAE3B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7B,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAC;IAEjB,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,eAAe,EAAE,MAAM,CAAC;IAExB,sCAAsC;IACtC,UAAU,EAAE,WAAW,CAAC;IAExB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC7B,iDAAiD;IACjD,cAAc,IAAI,WAAW,CAAC;IAE9B,uDAAuD;IACvD,WAAW,IAAI,OAAO,CAAC;IAEvB,qCAAqC;IACrC,MAAM,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACrE;AAED;;;;GAIG;AACH,qBAAa,0BAA2B,YAAW,gBAAgB;IAC/D,OAAO,CAAC,UAAU,CAAM;gBAEZ,UAAU,CAAC,EAAE,GAAG;IAI5B,cAAc,IAAI,WAAW;IAI7B,WAAW,IAAI,OAAO;IAIhB,MAAM,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;CAmF1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,SAAS;IAClB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,YAAY,CAAK;gBAEb,UAAU,CAAC,EAAE,GAAG;IAO5B;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAMhD;;OAEG;IACH,oBAAoB,IAAI,WAAW,EAAE;IAMrC;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;YACW,aAAa;IA0C3B;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,aAAa,CAAC,EAAE,WAAW,CAAC;KAC/B,GAAG,OAAO,CAAC,eAAe,CAAC;CAqD/B"}