@orcalang/orca-lang 0.1.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 (183) hide show
  1. package/LICENSE +176 -0
  2. package/README.md +128 -0
  3. package/dist/auth/index.d.ts +6 -0
  4. package/dist/auth/index.d.ts.map +1 -0
  5. package/dist/auth/index.js +6 -0
  6. package/dist/auth/index.js.map +1 -0
  7. package/dist/auth/lock.d.ts +2 -0
  8. package/dist/auth/lock.d.ts.map +1 -0
  9. package/dist/auth/lock.js +59 -0
  10. package/dist/auth/lock.js.map +1 -0
  11. package/dist/auth/providers/anthropic.d.ts +14 -0
  12. package/dist/auth/providers/anthropic.d.ts.map +1 -0
  13. package/dist/auth/providers/anthropic.js +145 -0
  14. package/dist/auth/providers/anthropic.js.map +1 -0
  15. package/dist/auth/providers/index.d.ts +3 -0
  16. package/dist/auth/providers/index.d.ts.map +1 -0
  17. package/dist/auth/providers/index.js +3 -0
  18. package/dist/auth/providers/index.js.map +1 -0
  19. package/dist/auth/providers/minimax.d.ts +6 -0
  20. package/dist/auth/providers/minimax.d.ts.map +1 -0
  21. package/dist/auth/providers/minimax.js +65 -0
  22. package/dist/auth/providers/minimax.js.map +1 -0
  23. package/dist/auth/refresh.d.ts +8 -0
  24. package/dist/auth/refresh.d.ts.map +1 -0
  25. package/dist/auth/refresh.js +104 -0
  26. package/dist/auth/refresh.js.map +1 -0
  27. package/dist/auth/store.d.ts +11 -0
  28. package/dist/auth/store.d.ts.map +1 -0
  29. package/dist/auth/store.js +63 -0
  30. package/dist/auth/store.js.map +1 -0
  31. package/dist/auth/types.d.ts +51 -0
  32. package/dist/auth/types.d.ts.map +1 -0
  33. package/dist/auth/types.js +2 -0
  34. package/dist/auth/types.js.map +1 -0
  35. package/dist/compiler/mermaid.d.ts +3 -0
  36. package/dist/compiler/mermaid.d.ts.map +1 -0
  37. package/dist/compiler/mermaid.js +86 -0
  38. package/dist/compiler/mermaid.js.map +1 -0
  39. package/dist/compiler/xstate.d.ts +15 -0
  40. package/dist/compiler/xstate.d.ts.map +1 -0
  41. package/dist/compiler/xstate.js +542 -0
  42. package/dist/compiler/xstate.js.map +1 -0
  43. package/dist/config/index.d.ts +3 -0
  44. package/dist/config/index.d.ts.map +1 -0
  45. package/dist/config/index.js +3 -0
  46. package/dist/config/index.js.map +1 -0
  47. package/dist/config/loader.d.ts +4 -0
  48. package/dist/config/loader.d.ts.map +1 -0
  49. package/dist/config/loader.js +109 -0
  50. package/dist/config/loader.js.map +1 -0
  51. package/dist/config/types.d.ts +13 -0
  52. package/dist/config/types.d.ts.map +1 -0
  53. package/dist/config/types.js +8 -0
  54. package/dist/config/types.js.map +1 -0
  55. package/dist/generators/index.d.ts +5 -0
  56. package/dist/generators/index.d.ts.map +1 -0
  57. package/dist/generators/index.js +5 -0
  58. package/dist/generators/index.js.map +1 -0
  59. package/dist/generators/registry.d.ts +12 -0
  60. package/dist/generators/registry.d.ts.map +1 -0
  61. package/dist/generators/registry.js +15 -0
  62. package/dist/generators/registry.js.map +1 -0
  63. package/dist/generators/typescript.d.ts +9 -0
  64. package/dist/generators/typescript.d.ts.map +1 -0
  65. package/dist/generators/typescript.js +55 -0
  66. package/dist/generators/typescript.js.map +1 -0
  67. package/dist/index.d.ts +10 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +630 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/llm/anthropic.d.ts +14 -0
  72. package/dist/llm/anthropic.d.ts.map +1 -0
  73. package/dist/llm/anthropic.js +87 -0
  74. package/dist/llm/anthropic.js.map +1 -0
  75. package/dist/llm/grok.d.ts +13 -0
  76. package/dist/llm/grok.d.ts.map +1 -0
  77. package/dist/llm/grok.js +60 -0
  78. package/dist/llm/grok.js.map +1 -0
  79. package/dist/llm/index.d.ts +11 -0
  80. package/dist/llm/index.d.ts.map +1 -0
  81. package/dist/llm/index.js +23 -0
  82. package/dist/llm/index.js.map +1 -0
  83. package/dist/llm/ollama.d.ts +11 -0
  84. package/dist/llm/ollama.d.ts.map +1 -0
  85. package/dist/llm/ollama.js +51 -0
  86. package/dist/llm/ollama.js.map +1 -0
  87. package/dist/llm/openai.d.ts +13 -0
  88. package/dist/llm/openai.d.ts.map +1 -0
  89. package/dist/llm/openai.js +61 -0
  90. package/dist/llm/openai.js.map +1 -0
  91. package/dist/llm/provider.d.ts +32 -0
  92. package/dist/llm/provider.d.ts.map +1 -0
  93. package/dist/llm/provider.js +2 -0
  94. package/dist/llm/provider.js.map +1 -0
  95. package/dist/parser/ast-to-markdown.d.ts +3 -0
  96. package/dist/parser/ast-to-markdown.d.ts.map +1 -0
  97. package/dist/parser/ast-to-markdown.js +209 -0
  98. package/dist/parser/ast-to-markdown.js.map +1 -0
  99. package/dist/parser/ast.d.ts +183 -0
  100. package/dist/parser/ast.d.ts.map +1 -0
  101. package/dist/parser/ast.js +3 -0
  102. package/dist/parser/ast.js.map +1 -0
  103. package/dist/parser/markdown-parser.d.ts +8 -0
  104. package/dist/parser/markdown-parser.d.ts.map +1 -0
  105. package/dist/parser/markdown-parser.js +838 -0
  106. package/dist/parser/markdown-parser.js.map +1 -0
  107. package/dist/runtime/effects.d.ts +17 -0
  108. package/dist/runtime/effects.d.ts.map +1 -0
  109. package/dist/runtime/effects.js +28 -0
  110. package/dist/runtime/effects.js.map +1 -0
  111. package/dist/runtime/machine.d.ts +8 -0
  112. package/dist/runtime/machine.d.ts.map +1 -0
  113. package/dist/runtime/machine.js +158 -0
  114. package/dist/runtime/machine.js.map +1 -0
  115. package/dist/runtime/types.d.ts +37 -0
  116. package/dist/runtime/types.d.ts.map +1 -0
  117. package/dist/runtime/types.js +3 -0
  118. package/dist/runtime/types.js.map +1 -0
  119. package/dist/skills.d.ts +114 -0
  120. package/dist/skills.d.ts.map +1 -0
  121. package/dist/skills.js +1103 -0
  122. package/dist/skills.js.map +1 -0
  123. package/dist/tools.d.ts +18 -0
  124. package/dist/tools.d.ts.map +1 -0
  125. package/dist/tools.js +124 -0
  126. package/dist/tools.js.map +1 -0
  127. package/dist/verifier/completeness.d.ts +4 -0
  128. package/dist/verifier/completeness.d.ts.map +1 -0
  129. package/dist/verifier/completeness.js +82 -0
  130. package/dist/verifier/completeness.js.map +1 -0
  131. package/dist/verifier/determinism.d.ts +17 -0
  132. package/dist/verifier/determinism.d.ts.map +1 -0
  133. package/dist/verifier/determinism.js +301 -0
  134. package/dist/verifier/determinism.js.map +1 -0
  135. package/dist/verifier/properties.d.ts +6 -0
  136. package/dist/verifier/properties.d.ts.map +1 -0
  137. package/dist/verifier/properties.js +404 -0
  138. package/dist/verifier/properties.js.map +1 -0
  139. package/dist/verifier/structural.d.ts +50 -0
  140. package/dist/verifier/structural.d.ts.map +1 -0
  141. package/dist/verifier/structural.js +692 -0
  142. package/dist/verifier/structural.js.map +1 -0
  143. package/dist/verifier/types.d.ts +40 -0
  144. package/dist/verifier/types.d.ts.map +1 -0
  145. package/dist/verifier/types.js +2 -0
  146. package/dist/verifier/types.js.map +1 -0
  147. package/package.json +49 -0
  148. package/src/auth/index.ts +5 -0
  149. package/src/auth/lock.ts +71 -0
  150. package/src/auth/providers/anthropic.ts +192 -0
  151. package/src/auth/providers/index.ts +17 -0
  152. package/src/auth/providers/minimax.ts +100 -0
  153. package/src/auth/refresh.ts +138 -0
  154. package/src/auth/store.ts +75 -0
  155. package/src/auth/types.ts +62 -0
  156. package/src/compiler/mermaid.ts +109 -0
  157. package/src/compiler/xstate.ts +615 -0
  158. package/src/config/index.ts +2 -0
  159. package/src/config/loader.ts +122 -0
  160. package/src/config/types.ts +21 -0
  161. package/src/generators/index.ts +6 -0
  162. package/src/generators/registry.ts +27 -0
  163. package/src/generators/typescript.ts +67 -0
  164. package/src/index.ts +671 -0
  165. package/src/llm/anthropic.ts +102 -0
  166. package/src/llm/grok.ts +73 -0
  167. package/src/llm/index.ts +29 -0
  168. package/src/llm/ollama.ts +62 -0
  169. package/src/llm/openai.ts +74 -0
  170. package/src/llm/provider.ts +35 -0
  171. package/src/parser/ast-to-markdown.ts +220 -0
  172. package/src/parser/ast.ts +236 -0
  173. package/src/parser/markdown-parser.ts +844 -0
  174. package/src/runtime/effects.ts +48 -0
  175. package/src/runtime/machine.ts +201 -0
  176. package/src/runtime/types.ts +44 -0
  177. package/src/skills.ts +1339 -0
  178. package/src/tools.ts +144 -0
  179. package/src/verifier/completeness.ts +89 -0
  180. package/src/verifier/determinism.ts +328 -0
  181. package/src/verifier/properties.ts +507 -0
  182. package/src/verifier/structural.ts +803 -0
  183. package/src/verifier/types.ts +45 -0
@@ -0,0 +1,542 @@
1
+ import { assign } from 'xstate';
2
+ // Helper to find a state with a specific action (searches nested states)
3
+ function findStateByAction(machine, actionName) {
4
+ for (const state of machine.states) {
5
+ const found = findStateRecursively(state, actionName);
6
+ if (found)
7
+ return found;
8
+ }
9
+ return undefined;
10
+ }
11
+ function findStateRecursively(state, actionName) {
12
+ if (state.onEntry === actionName || state.onExit === actionName) {
13
+ return state;
14
+ }
15
+ if (state.contains) {
16
+ for (const child of state.contains) {
17
+ const found = findStateRecursively(child, actionName);
18
+ if (found)
19
+ return found;
20
+ }
21
+ }
22
+ if (state.parallel) {
23
+ for (const region of state.parallel.regions) {
24
+ for (const child of region.states) {
25
+ const found = findStateRecursively(child, actionName);
26
+ if (found)
27
+ return found;
28
+ }
29
+ }
30
+ }
31
+ return undefined;
32
+ }
33
+ export function compileToXStateMachine(machine) {
34
+ const effectMeta = {
35
+ effectfulActions: findEffectfulActions(machine),
36
+ };
37
+ const config = {
38
+ id: machine.name,
39
+ types: {
40
+ context: {},
41
+ events: {},
42
+ },
43
+ context: buildContext(machine),
44
+ initial: getInitialState(machine),
45
+ states: buildStates(machine),
46
+ };
47
+ return { config, effectMeta };
48
+ }
49
+ function findEffectfulActions(machine) {
50
+ const effectful = [];
51
+ for (const action of machine.actions) {
52
+ if (action.hasEffect && action.effectType) {
53
+ // Find which state uses this action (search all states including nested)
54
+ const stateWithAction = findStateByAction(machine, action.name);
55
+ if (stateWithAction) {
56
+ effectful.push({ name: action.name, effectType: action.effectType, state: stateWithAction.name });
57
+ }
58
+ // Find transitions using this action
59
+ for (const t of machine.transitions) {
60
+ if (t.action === action.name) {
61
+ effectful.push({ name: action.name, effectType: action.effectType, state: t.source, transition: t.target });
62
+ }
63
+ }
64
+ }
65
+ }
66
+ return effectful;
67
+ }
68
+ function buildContext(machine) {
69
+ const ctx = {};
70
+ for (const field of machine.context) {
71
+ ctx[field.name] = field.defaultValue !== undefined
72
+ ? field.defaultValue
73
+ : getDefaultForType(field);
74
+ }
75
+ return ctx;
76
+ }
77
+ function buildStates(machine) {
78
+ const states = {};
79
+ for (const state of machine.states) {
80
+ states[state.name] = buildStateConfig(state, machine, machine.states);
81
+ }
82
+ return states;
83
+ }
84
+ function buildStateConfig(state, machine, allStates) {
85
+ const config = {};
86
+ if (state.description) {
87
+ config.description = state.description;
88
+ }
89
+ // Check if this is a compound state (has nested states)
90
+ if (state.contains && state.contains.length > 0) {
91
+ // Compound state with nested states
92
+ const initialChild = state.contains.find(s => s.isInitial) || state.contains[0];
93
+ config.initial = initialChild.name;
94
+ config.states = {};
95
+ // Handle transitions for compound states (BEFORE recursive calls)
96
+ // These transitions fire from any child state via XState event bubbling
97
+ const thisStateTransitions = machine.transitions.filter(t => t.source === state.name);
98
+ if (thisStateTransitions.length > 0) {
99
+ config.on = buildTransitions(thisStateTransitions, machine);
100
+ }
101
+ for (const child of state.contains) {
102
+ config.states[child.name] = buildStateConfig(child, machine, state.contains);
103
+ }
104
+ // Compound states don't use type: 'initial' or 'final' - they use initial + nested states
105
+ return config;
106
+ }
107
+ // Check if this is a parallel state (has parallel regions)
108
+ if (state.parallel) {
109
+ config.type = 'parallel';
110
+ config.states = {};
111
+ for (const region of state.parallel.regions) {
112
+ const regionConfig = {};
113
+ const initialChild = region.states.find(s => s.isInitial) || region.states[0];
114
+ regionConfig.initial = initialChild.name;
115
+ regionConfig.states = {};
116
+ for (const child of region.states) {
117
+ regionConfig.states[child.name] = buildStateConfig(child, machine, region.states);
118
+ }
119
+ config.states[region.name] = regionConfig;
120
+ }
121
+ // onDone for synchronization (all-final is the XState default)
122
+ if (state.onDone) {
123
+ config.onDone = { target: state.onDone };
124
+ }
125
+ // Parent-level transitions (event bubbling to all regions)
126
+ const thisStateTransitions = machine.transitions.filter(t => t.source === state.name);
127
+ if (thisStateTransitions.length > 0) {
128
+ config.on = buildTransitions(thisStateTransitions, machine);
129
+ }
130
+ return config;
131
+ }
132
+ // Leaf state configuration
133
+ // Note: initial state is designated by the parent's `initial` property, not by type
134
+ if (state.isFinal) {
135
+ config.type = 'final';
136
+ }
137
+ if (state.onEntry) {
138
+ const action = machine.actions.find(a => a.name === state.onEntry);
139
+ if (action?.hasEffect) {
140
+ // Effectful action - use invoke at state level to run the effect
141
+ // Don't set entry - the invoke replaces the entry action
142
+ config.invoke = buildEffectInvoke(state.onEntry, action, machine);
143
+ }
144
+ else {
145
+ config.entry = state.onEntry;
146
+ }
147
+ }
148
+ if (state.onExit) {
149
+ config.exit = state.onExit;
150
+ }
151
+ // Handle machine invocation
152
+ if (state.invoke) {
153
+ config.invoke = buildMachineInvoke(state.invoke);
154
+ }
155
+ // Handle transitions - only use this state's transitions
156
+ // (transitions on compound states fire from any child via XState's event bubbling)
157
+ const thisStateTransitions = machine.transitions.filter(t => t.source === state.name);
158
+ if (thisStateTransitions.length > 0) {
159
+ config.on = buildTransitions(thisStateTransitions, machine);
160
+ }
161
+ // Handle timeout
162
+ if (state.timeout) {
163
+ config.after = {
164
+ [state.timeout.duration]: { target: state.timeout.target },
165
+ };
166
+ }
167
+ return config;
168
+ }
169
+ // Get transitions from parent compound states (these fire from any child state)
170
+ function getParentTransitions(state, machine, allStates) {
171
+ if (!state.parent)
172
+ return [];
173
+ // Find parent state
174
+ const parent = findStateByName(allStates, state.parent);
175
+ if (!parent)
176
+ return [];
177
+ // Get parent's transitions
178
+ const parentTransitions = machine.transitions.filter(t => t.source === parent.name);
179
+ // Recursively get grandparent transitions
180
+ const grandparentTransitions = getParentTransitions(parent, machine, allStates);
181
+ return [...parentTransitions, ...grandparentTransitions];
182
+ }
183
+ // Find a state by name in a flat list of states (including nested and parallel regions)
184
+ function findStateByName(states, name) {
185
+ for (const state of states) {
186
+ if (state.name === name)
187
+ return state;
188
+ if (state.contains) {
189
+ const found = findStateByName(state.contains, name);
190
+ if (found)
191
+ return found;
192
+ }
193
+ if (state.parallel) {
194
+ for (const region of state.parallel.regions) {
195
+ const found = findStateByName(region.states, name);
196
+ if (found)
197
+ return found;
198
+ }
199
+ }
200
+ }
201
+ return undefined;
202
+ }
203
+ function buildEffectInvoke(actionName, action, machine) {
204
+ // Find the state that has this action as entry or exit
205
+ // Search all states including nested ones
206
+ const stateWithAction = findStateByAction(machine, actionName);
207
+ const stateName = stateWithAction?.name;
208
+ let doneTarget;
209
+ // Find transitions from this state to determine the completion target.
210
+ // When an effect is invoked, the machine waits for the effect to complete.
211
+ // The completion event is derived from transitions that exit this state.
212
+ if (stateName) {
213
+ // Look for transitions that exit this state (these handle effect completion)
214
+ const exitTransitions = machine.transitions.filter(t => t.source === stateName);
215
+ if (exitTransitions.length > 0) {
216
+ // Use the first exit transition's target as the done target.
217
+ // This assumes effects have a simple completion path.
218
+ doneTarget = exitTransitions[0].target;
219
+ }
220
+ }
221
+ const effectType = action.effectType || 'Effect';
222
+ // Build the input expression - it will be used in the fromPromise
223
+ const inputExpr = ({ context, event }) => ({ context, event, action: actionName });
224
+ // Find an error/failed state if one exists
225
+ const errorState = machine.states.find(s => s.name === 'error')
226
+ || machine.states.find(s => s.name === 'failed');
227
+ const errorTarget = errorState?.name;
228
+ // Return the invoke config directly, not wrapped in another object.
229
+ const invokeConfig = {
230
+ src: `__effect__:${effectType}`,
231
+ input: inputExpr,
232
+ onDone: doneTarget ? {
233
+ target: doneTarget,
234
+ actions: assign({
235
+ _effectResult: ({ event }) => event.output,
236
+ }),
237
+ } : {
238
+ actions: assign({
239
+ _effectResult: ({ event }) => event.output,
240
+ }),
241
+ },
242
+ onError: {
243
+ actions: assign({
244
+ _effectError: ({ event }) => event.error?.message,
245
+ }),
246
+ },
247
+ };
248
+ if (errorTarget) {
249
+ invokeConfig.onError.target = errorTarget;
250
+ }
251
+ return invokeConfig;
252
+ }
253
+ function buildMachineInvoke(invokeDef) {
254
+ // Build input expression from input mapping
255
+ // input is like { id: "ctx.order_id" } -> { id: context.order_id }
256
+ const inputExpr = ({ context, event }) => {
257
+ const input = {};
258
+ if (invokeDef.input) {
259
+ for (const [key, value] of Object.entries(invokeDef.input)) {
260
+ // value is like "ctx.order_id" - extract the field name
261
+ const fieldName = value.replace(/^ctx\./, '');
262
+ input[key] = context[fieldName];
263
+ }
264
+ }
265
+ return input;
266
+ };
267
+ const invokeConfig = {
268
+ src: `__machine__:${invokeDef.machine}`,
269
+ input: inputExpr,
270
+ };
271
+ if (invokeDef.onDone) {
272
+ invokeConfig.onDone = { target: invokeDef.onDone };
273
+ }
274
+ if (invokeDef.onError) {
275
+ invokeConfig.onError = { target: invokeDef.onError };
276
+ }
277
+ return invokeConfig;
278
+ }
279
+ function buildTransitions(transitions, machine) {
280
+ const on = {};
281
+ const eventGroups = groupByEvent(transitions);
282
+ for (const [eventName, trans] of Object.entries(eventGroups)) {
283
+ if (trans.length === 1 && !trans[0].guard) {
284
+ // Single unguarded transition
285
+ const t = trans[0];
286
+ const action = machine.actions.find(a => a.name === t.action);
287
+ if (action?.hasEffect) {
288
+ // Effectful transition
289
+ on[eventName] = {
290
+ target: t.target,
291
+ actions: {
292
+ type: 'effectful',
293
+ name: t.action,
294
+ effectType: action.effectType,
295
+ },
296
+ };
297
+ }
298
+ else {
299
+ on[eventName] = {
300
+ target: t.target,
301
+ actions: t.action || undefined,
302
+ };
303
+ }
304
+ }
305
+ else {
306
+ // Multiple transitions or guarded - use array format
307
+ on[eventName] = trans.map(t => {
308
+ const action = machine.actions.find(a => a.name === t.action);
309
+ const target = t.target;
310
+ const transition = { target };
311
+ if (t.guard) {
312
+ const guardName = t.guard.negated ? `!${t.guard.name}` : t.guard.name;
313
+ transition.guard = { type: guardName };
314
+ }
315
+ if (t.action) {
316
+ transition.actions = t.action;
317
+ }
318
+ return transition;
319
+ });
320
+ }
321
+ }
322
+ return on;
323
+ }
324
+ export function compileToXState(machine) {
325
+ const lines = [];
326
+ lines.push(`import { createMachine, assign } from 'xstate';`);
327
+ lines.push(``);
328
+ lines.push(`export const ${machine.name}Machine = createMachine({`);
329
+ lines.push(` id: '${machine.name}',`);
330
+ lines.push(` types: {} as {`);
331
+ lines.push(` context: {`);
332
+ for (const field of machine.context) {
333
+ lines.push(` ${field.name}: ${typeToTs(field)},`);
334
+ }
335
+ lines.push(` },`);
336
+ lines.push(` events: |`);
337
+ for (let i = 0; i < machine.events.length; i++) {
338
+ const event = machine.events[i];
339
+ lines.push(` | { type: '${event.name}' }${i < machine.events.length - 1 ? '' : ''}`);
340
+ }
341
+ lines.push(` },`);
342
+ lines.push(` context: {`);
343
+ for (const field of machine.context) {
344
+ const defaultVal = field.defaultValue || getDefaultForType(field);
345
+ lines.push(` ${field.name}: ${defaultVal},`);
346
+ }
347
+ lines.push(` },`);
348
+ lines.push(` initial: '${getInitialState(machine)}',`);
349
+ lines.push(` states: {`);
350
+ for (let i = 0; i < machine.states.length; i++) {
351
+ const state = machine.states[i];
352
+ lines.push(` ${state.name}: {`);
353
+ if (state.description) {
354
+ lines.push(` description: '${escapeString(state.description)}',`);
355
+ }
356
+ // Check if this is a compound state (has nested states)
357
+ if (state.contains && state.contains.length > 0) {
358
+ // Compound state with nested states
359
+ const initialChild = state.contains.find(s => s.isInitial) || state.contains[0];
360
+ lines.push(` initial: '${initialChild.name}',`);
361
+ lines.push(` states: {`);
362
+ for (let j = 0; j < state.contains.length; j++) {
363
+ const child = state.contains[j];
364
+ lines.push(` ${child.name}: {`);
365
+ if (child.description) {
366
+ lines.push(` description: '${escapeString(child.description)}',`);
367
+ }
368
+ if (child.isFinal) {
369
+ lines.push(` type: 'final',`);
370
+ }
371
+ lines.push(` }${j < state.contains.length - 1 ? ',' : ''}`);
372
+ }
373
+ lines.push(` },`);
374
+ lines.push(` }${i < machine.states.length - 1 ? ',' : ''}`);
375
+ continue;
376
+ }
377
+ // Check if this is a parallel state
378
+ if (state.parallel) {
379
+ lines.push(` type: 'parallel',`);
380
+ lines.push(` states: {`);
381
+ for (let r = 0; r < state.parallel.regions.length; r++) {
382
+ const region = state.parallel.regions[r];
383
+ const initialChild = region.states.find(s => s.isInitial) || region.states[0];
384
+ lines.push(` ${region.name}: {`);
385
+ lines.push(` initial: '${initialChild.name}',`);
386
+ lines.push(` states: {`);
387
+ for (let j = 0; j < region.states.length; j++) {
388
+ const child = region.states[j];
389
+ lines.push(` ${child.name}: {`);
390
+ if (child.description) {
391
+ lines.push(` description: '${escapeString(child.description)}',`);
392
+ }
393
+ if (child.isFinal) {
394
+ lines.push(` type: 'final',`);
395
+ }
396
+ if (child.onEntry) {
397
+ lines.push(` entry: '${child.onEntry}',`);
398
+ }
399
+ if (child.onExit) {
400
+ lines.push(` exit: '${child.onExit}',`);
401
+ }
402
+ lines.push(` }${j < region.states.length - 1 ? ',' : ''}`);
403
+ }
404
+ lines.push(` },`);
405
+ lines.push(` }${r < state.parallel.regions.length - 1 ? ',' : ''}`);
406
+ }
407
+ lines.push(` },`);
408
+ if (state.onDone) {
409
+ lines.push(` onDone: { target: '${state.onDone}' },`);
410
+ }
411
+ lines.push(` }${i < machine.states.length - 1 ? ',' : ''}`);
412
+ continue;
413
+ }
414
+ // Leaf state configuration
415
+ if (state.isFinal) {
416
+ lines.push(` type: 'final',`);
417
+ }
418
+ if (state.onEntry) {
419
+ lines.push(` entry: '${state.onEntry}',`);
420
+ }
421
+ if (state.onExit) {
422
+ lines.push(` exit: '${state.onExit}',`);
423
+ }
424
+ // Handle machine invocation
425
+ if (state.invoke) {
426
+ lines.push(` invoke: {`);
427
+ lines.push(` src: '__machine__:${state.invoke.machine}',`);
428
+ if (state.invoke.input) {
429
+ // Build input mapping expression
430
+ const inputPairs = [];
431
+ for (const [key, value] of Object.entries(state.invoke.input)) {
432
+ const fieldName = value.replace(/^ctx\./, '');
433
+ inputPairs.push(`${key}: context.${fieldName}`);
434
+ }
435
+ lines.push(` input: ({ context }) => ({ ${inputPairs.join(', ')} }),`);
436
+ }
437
+ if (state.invoke.onDone) {
438
+ lines.push(` onDone: { target: '${state.invoke.onDone}' },`);
439
+ }
440
+ if (state.invoke.onError) {
441
+ lines.push(` onError: { target: '${state.invoke.onError}' },`);
442
+ }
443
+ lines.push(` },`);
444
+ }
445
+ // Collect transitions for this state
446
+ const stateTransitions = machine.transitions.filter(t => t.source === state.name);
447
+ if (stateTransitions.length > 0) {
448
+ lines.push(` on: {`);
449
+ const eventGroups = groupByEvent(stateTransitions);
450
+ const eventEntries = Object.entries(eventGroups);
451
+ for (let ei = 0; ei < eventEntries.length; ei++) {
452
+ const [eventName, trans] = eventEntries[ei];
453
+ const isArrayFormat = trans.length > 1 || trans.some(t => t.guard);
454
+ if (isArrayFormat) {
455
+ // Multiple transitions or guarded transitions - use array format
456
+ lines.push(` ${eventName}: [`);
457
+ for (const t of trans) {
458
+ lines.push(` {`);
459
+ const target = t.target;
460
+ lines.push(` target: '${target}',`);
461
+ if (t.guard) {
462
+ const guardName = t.guard.negated ? `!${t.guard.name}` : t.guard.name;
463
+ lines.push(` guard: '${guardName}',`);
464
+ }
465
+ if (t.action) {
466
+ lines.push(` actions: '${t.action}',`);
467
+ }
468
+ lines.push(` },`);
469
+ }
470
+ lines.push(` ],`);
471
+ }
472
+ else {
473
+ // Single unguarded transition - use object format
474
+ const t = trans[0];
475
+ lines.push(` ${eventName}: {`);
476
+ lines.push(` target: '${t.target}',`);
477
+ if (t.action) {
478
+ lines.push(` actions: '${t.action}',`);
479
+ }
480
+ lines.push(` },`);
481
+ }
482
+ }
483
+ lines.push(` },`);
484
+ }
485
+ lines.push(` }${i < machine.states.length - 1 ? ',' : ''}`);
486
+ }
487
+ lines.push(` },`);
488
+ lines.push(`});`);
489
+ return lines.join('\n');
490
+ }
491
+ function typeToTs(field) {
492
+ const t = field.type;
493
+ switch (t.kind) {
494
+ case 'string': return 'string';
495
+ case 'int': return 'number';
496
+ case 'decimal': return 'number';
497
+ case 'bool': return 'boolean';
498
+ case 'array': return `${t.elementType}[]`;
499
+ case 'optional': return `${t.innerType} | null`;
500
+ case 'map': return `Record<${t.keyType || 'string'}, ${t.valueType || 'any'}>`;
501
+ case 'custom': return t.name || 'any';
502
+ default: return 'any';
503
+ }
504
+ }
505
+ function getDefaultForType(field) {
506
+ switch (field.type.kind) {
507
+ case 'string': return "''";
508
+ case 'int':
509
+ case 'decimal': return '0';
510
+ case 'bool': return 'false';
511
+ case 'array': return '[]';
512
+ case 'map': return '{}';
513
+ case 'optional': return 'null';
514
+ default: return 'undefined';
515
+ }
516
+ }
517
+ function getInitialState(machine) {
518
+ // Find top-level initial state (not nested)
519
+ const initial = machine.states.find(s => s.isInitial);
520
+ if (initial) {
521
+ // If initial is compound, return its initial child
522
+ if (initial.contains && initial.contains.length > 0) {
523
+ const initialChild = initial.contains.find(s => s.isInitial) || initial.contains[0];
524
+ return initial.name; // XState will enter the compound state and use its initial
525
+ }
526
+ return initial.name;
527
+ }
528
+ return machine.states[0]?.name || 'unknown';
529
+ }
530
+ function groupByEvent(transitions) {
531
+ const groups = {};
532
+ for (const t of transitions) {
533
+ if (!groups[t.event])
534
+ groups[t.event] = [];
535
+ groups[t.event].push(t);
536
+ }
537
+ return groups;
538
+ }
539
+ function escapeString(s) {
540
+ return s.replace(/'/g, "\\'");
541
+ }
542
+ //# sourceMappingURL=xstate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xstate.js","sourceRoot":"","sources":["../../src/compiler/xstate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './types.js';
2
+ export { loadConfig, resolveConfigOverrides } from './loader.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './types.js';
2
+ export { loadConfig, resolveConfigOverrides } from './loader.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { OrcaConfig } from './types.js';
2
+ export declare function loadConfig(configPath?: string): OrcaConfig;
3
+ export declare function resolveConfigOverrides(config: OrcaConfig, overrides: Partial<OrcaConfig>): OrcaConfig;
4
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAkB,MAAM,YAAY,CAAC;AAkExD,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CA2B1D;AAmBD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,GAC7B,UAAU,CAEZ"}