@orcalang/orca-lang 0.1.2 → 0.1.5
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.
- package/dist/llm/anthropic.d.ts.map +1 -1
- package/dist/llm/anthropic.js +4 -3
- package/dist/llm/anthropic.js.map +1 -1
- package/dist/skills.d.ts +39 -1
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +265 -2
- package/dist/skills.js.map +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +2 -10
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
- package/src/llm/anthropic.ts +4 -3
- package/src/skills.ts +315 -2
- package/src/tools.ts +2 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAExF,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,MAAM,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAExF,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,MAAM,EAAE,iBAAiB;IAqBrC,IAAI,IAAI,MAAM;IAIR,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAuDnD,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAYpF"}
|
package/dist/llm/anthropic.js
CHANGED
|
@@ -11,16 +11,17 @@ export class AnthropicProvider {
|
|
|
11
11
|
this.maxTokens = config.max_tokens || 4096;
|
|
12
12
|
this.temperature = config.temperature ?? 0.7;
|
|
13
13
|
// MiniMax uses Bearer token auth, Anthropic uses x-api-key
|
|
14
|
+
// Also check ORCA_API_KEY (set via the MCP server env block in Claude Code)
|
|
14
15
|
if (this.baseUrl.includes('minimax.io')) {
|
|
15
|
-
this.apiKey = config.api_key || process.env.MINIMAX_API_KEY || process.env.ANTHROPIC_API_KEY || '';
|
|
16
|
+
this.apiKey = config.api_key || process.env.ORCA_API_KEY || process.env.MINIMAX_API_KEY || process.env.ANTHROPIC_API_KEY || '';
|
|
16
17
|
this.authType = 'bearer';
|
|
17
18
|
}
|
|
18
19
|
else {
|
|
19
|
-
this.apiKey = config.api_key || process.env.ANTHROPIC_API_KEY || '';
|
|
20
|
+
this.apiKey = config.api_key || process.env.ORCA_API_KEY || process.env.ANTHROPIC_API_KEY || '';
|
|
20
21
|
this.authType = 'x-api-key';
|
|
21
22
|
}
|
|
22
23
|
if (!this.apiKey) {
|
|
23
|
-
throw new Error(`API key is required
|
|
24
|
+
throw new Error(`API key is required — set ORCA_API_KEY (or ANTHROPIC_API_KEY) in your environment`);
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
name() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,SAAS,CAAS;IAClB,WAAW,CAAS;IACpB,QAAQ,CAAyB;IAEzC,YAAY,MAAyB;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,IAAI,2BAA2B,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,mBAAmB,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,GAAG,CAAC;QAE7C,2DAA2D;QAC3D,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.d.ts
CHANGED
|
@@ -109,8 +109,46 @@ export interface RefineSkillResult {
|
|
|
109
109
|
error?: string;
|
|
110
110
|
}
|
|
111
111
|
export declare function refineSkill(input: SkillInput, errors: SkillError[], configPath?: string, maxIterations?: number): Promise<RefineSkillResult>;
|
|
112
|
-
export declare const ORCA_SYNTAX_REFERENCE = "Orca State Machine Markdown Syntax Reference (.orca.md):\n\nThe machine definition uses standard markdown: headings, tables, bullet lists, and blockquotes.\n\n# machine MachineName\n\n## context\n\n| Field | Type | Default |\n|--------|---------|---------|\n| field1 | string | |\n| field2 | int | 0 |\n| field3 | string? | |\n| field4 | bool | |\n\n## events\n\n- event1\n- event2\n- event3\n\n## state idle [initial]\n> Description of this state\n- on_entry: action_name\n- on_exit: action_name\n- timeout: 5s -> target_state\n- ignore: event1, event2\n\n## state done [final]\n> Terminal state\n\n## transitions\n\n| Source | Event | Guard | Target | Action |\n|--------|--------|--------|--------|---------|\n| idle | event1 | | active | action1 |\n| active | event2 | guard1 | done | action2 |\n| active | event2 | !guard1| idle | |\n\n## guards\n\n| Name | Expression |\n|--------|---------------------------|\n| guard1 | `ctx.field2 > 10` |\n| guard2 | `ctx.status == \"active\"` |\n\nNOTE: Guards support ONLY: comparisons (< > == != <= >=), null checks (== null, != null), boolean operators (and, or, not). NO method calls like .contains(), .includes(), etc.\n\n## actions\n\n| Name | Signature |\n|---------|--------------------------------------------|\n| action1 | `(ctx) -> Context` |\n| action2 | `(ctx, event) -> Context` |\n| action3 | `(ctx) -> Context + Effect<EffectType>` |\n\nKey syntax notes:\n- [initial] marks the initial state
|
|
112
|
+
export declare const ORCA_SYNTAX_REFERENCE = "Orca State Machine Markdown Syntax Reference (.orca.md):\n\nThe machine definition uses standard markdown: headings, tables, bullet lists, and blockquotes.\n\nCRITICAL SYNTAX RULES (do not deviate):\n- Initial state: MUST use [initial] in the heading: `## state stateName [initial]`\n There is NO alternative syntax. Never use \"initial: true\" or any other form.\n- Final state: MUST use [final] in the heading: `## state stateName [final]`\n There is NO alternative syntax. Never use \"final: true\" or any other form.\n- Every state referenced in transitions MUST have a `## state` heading declared.\n\n## Complete example (self-contained, valid machine):\n\n```orca.md\n# machine OrderProcessor\n\n## context\n\n| Field | Type | Default |\n|----------|---------|----------|\n| orderId | string | |\n| retries | int | 0 |\n| error | string? | |\n\n## events\n\n- submit\n- payment_ok\n- payment_failed\n- retry\n- cancel\n\n## state idle [initial]\n> Waiting for an order to be submitted\n- ignore: payment_ok, payment_failed, retry\n\n## state processing\n> Processing the payment\n- on_entry: start_payment\n- timeout: 30s -> failed\n\n## state done [final]\n> Order complete\n\n## state failed\n> Payment failed\n- ignore: submit, payment_ok\n\n## transitions\n\n| Source | Event | Guard | Target | Action |\n|------------|-----------------|----------------|------------|-----------------|\n| idle | submit | | processing | init_order |\n| idle | cancel | | idle | |\n| processing | payment_ok | | done | complete_order |\n| processing | payment_failed | can_retry | failed | record_error |\n| processing | payment_failed | !can_retry | failed | record_error |\n| processing | cancel | | idle | cancel_order |\n| failed | retry | can_retry | processing | increment_retry |\n| failed | cancel | | idle | cancel_order |\n\n## guards\n\n| Name | Expression |\n|-----------|----------------------|\n| can_retry | `ctx.retries < 3` |\n\n## actions\n\n| Name | Signature |\n|------------------|----------------------------------------------|\n| init_order | `(ctx, event) -> Context` |\n| start_payment | `(ctx) -> Context + Effect<ChargeCard>` |\n| complete_order | `(ctx, event) -> Context` |\n| record_error | `(ctx, event) -> Context` |\n| increment_retry | `(ctx) -> Context` |\n| cancel_order | `(ctx) -> Context` |\n```\n\n## Full syntax reference:\n\n# machine MachineName\n\n## context\n\n| Field | Type | Default |\n|--------|---------|---------|\n| field1 | string | |\n| field2 | int | 0 |\n| field3 | string? | |\n| field4 | bool | |\n\n## events\n\n- event1\n- event2\n- event3\n\n## state idle [initial]\n> Description of this state\n- on_entry: action_name\n- on_exit: action_name\n- timeout: 5s -> target_state\n- ignore: event1, event2\n\n## state active\n> An intermediate state (no [initial] or [final] marker)\n\n## state done [final]\n> Terminal state\n\n## transitions\n\n| Source | Event | Guard | Target | Action |\n|--------|--------|--------|--------|---------|\n| idle | event1 | | active | action1 |\n| active | event2 | guard1 | done | action2 |\n| active | event2 | !guard1| idle | |\n\n## guards\n\n| Name | Expression |\n|--------|---------------------------|\n| guard1 | `ctx.field2 > 10` |\n| guard2 | `ctx.status == \"active\"` |\n\nNOTE: Guards support ONLY: comparisons (< > == != <= >=), null checks (== null, != null), boolean operators (and, or, not). NO method calls like .contains(), .includes(), etc.\n\n## actions\n\n| Name | Signature |\n|---------|--------------------------------------------|\n| action1 | `(ctx) -> Context` |\n| action2 | `(ctx, event) -> Context` |\n| action3 | `(ctx) -> Context + Effect<EffectType>` |\n\nKey syntax notes:\n- [initial] marks the initial state \u2014 exactly one required, NO other syntax exists\n- [final] marks terminal states \u2014 zero or more allowed, NO other syntax exists\n- Every state name used in transitions MUST be declared with a ## state heading\n- Empty action column means \"no action\" (transition only changes state)\n- Guard column uses guard name from guards table; prefix with ! to negate\n- Guard expressions in backticks in the guards table\n- Action signatures in backticks in the actions table\n- Effect<T> in return type means the action emits an effect\n- ctx.field accesses context fields (read-only in guards)\n- timeout: 5s -> target means 5 second timeout transition\n- Action BODIES are NOT written in Orca - only signatures in the actions table\n- Transitions reference actions by name; actions are implemented separately\n- States are headings (## for top-level, ### for nested children)\n- State descriptions use blockquotes (> text)\n- File extension should be .orca.md";
|
|
113
113
|
export declare function generateOrcaSkill(naturalLanguageSpec: string, configPath?: string, maxIterations?: number): Promise<GenerateOrcaResult>;
|
|
114
114
|
export declare const MULTI_MACHINE_SYNTAX_ADDENDUM = "\nMulti-machine files\n-------------------\nSeparate machines with a line containing only three dashes (---).\n\nA state can invoke another machine in the same file:\n\n ## state coordinatingState [initial]\n - invoke: ChildMachineName\n - on_done: nextState\n - on_error: errorState\n\nRules:\n- invoke: must name a machine defined in the same file\n- on_done: fires when the invoked machine reaches a [final] state\n- on_error: fires if the invoked machine cannot proceed\n- Each state may invoke at most one child machine\n- Circular invocations are not allowed (A invokes B invokes A)\n- The coordinator machine should have a clear entry point and delegate work to child machines\n- Child machines should have at least one [final] state so the coordinator's on_done can fire\n";
|
|
115
115
|
export declare function generateOrcaMultiSkill(naturalLanguageSpec: string, configPath?: string, maxIterations?: number): Promise<GenerateMultiResult>;
|
|
116
|
+
export interface GenerateOrcaDraftResult {
|
|
117
|
+
status: 'success' | 'error';
|
|
118
|
+
machine?: string;
|
|
119
|
+
orca?: string;
|
|
120
|
+
error?: string;
|
|
121
|
+
}
|
|
122
|
+
export declare function generateOrcaDraftSkill(naturalLanguageSpec: string, configPath?: string): Promise<GenerateOrcaDraftResult>;
|
|
123
|
+
export interface GenerateOrcaMultiDraftResult {
|
|
124
|
+
status: 'success' | 'error';
|
|
125
|
+
machines?: string[];
|
|
126
|
+
orca?: string;
|
|
127
|
+
error?: string;
|
|
128
|
+
}
|
|
129
|
+
export declare function generateOrcaMultiDraftSkill(naturalLanguageSpec: string, configPath?: string): Promise<GenerateOrcaMultiDraftResult>;
|
|
130
|
+
/**
|
|
131
|
+
* Returns true when the spec clearly describes coordination between multiple
|
|
132
|
+
* independent sub-machines rather than a single workflow with many states.
|
|
133
|
+
*
|
|
134
|
+
* Conservative by design — single-machine handles most workflows well.
|
|
135
|
+
* Only routes to multi when the spec explicitly uses coordination vocabulary
|
|
136
|
+
* or describes a named coordinator managing distinct child processes.
|
|
137
|
+
*/
|
|
138
|
+
export declare function detectMultiMachine(spec: string): boolean;
|
|
139
|
+
export interface GenerateAutoResult {
|
|
140
|
+
status: 'success' | 'error';
|
|
141
|
+
is_multi: boolean;
|
|
142
|
+
machine?: string;
|
|
143
|
+
machines?: string[];
|
|
144
|
+
orca?: string;
|
|
145
|
+
error?: string;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Auto-routing entry point for generate_machine.
|
|
149
|
+
* Inspects the spec and delegates to the single- or multi-machine draft
|
|
150
|
+
* generator. Always returns a draft — caller should follow up with
|
|
151
|
+
* verify_machine → refine_machine (if errors) → verify_machine.
|
|
152
|
+
*/
|
|
153
|
+
export declare function generateAutoSkill(naturalLanguageSpec: string, configPath?: string): Promise<GenerateAutoResult>;
|
|
116
154
|
//# sourceMappingURL=skills.d.ts.map
|
package/dist/skills.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AAeA,qFAAqF;AACrF,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAqBD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,qBAAqB,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,qBAAqB,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/C,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrE,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7D;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAyFD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAgB9D;AAID,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwD/E;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqC/G;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,UAAU,EACjB,QAAQ,GAAE,MAAqB,EAC/B,MAAM,GAAE,OAAe,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,GAAE,OAAe,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAmDhC;AA4dD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,GAAG,qBAAqB,GAAG,OAAO,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,UAAU,EAAE,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,GAAE,MAAU,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAyF5B;AAED,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.js
CHANGED
|
@@ -773,6 +773,83 @@ export const ORCA_SYNTAX_REFERENCE = `Orca State Machine Markdown Syntax Referen
|
|
|
773
773
|
|
|
774
774
|
The machine definition uses standard markdown: headings, tables, bullet lists, and blockquotes.
|
|
775
775
|
|
|
776
|
+
CRITICAL SYNTAX RULES (do not deviate):
|
|
777
|
+
- Initial state: MUST use [initial] in the heading: \`## state stateName [initial]\`
|
|
778
|
+
There is NO alternative syntax. Never use "initial: true" or any other form.
|
|
779
|
+
- Final state: MUST use [final] in the heading: \`## state stateName [final]\`
|
|
780
|
+
There is NO alternative syntax. Never use "final: true" or any other form.
|
|
781
|
+
- Every state referenced in transitions MUST have a \`## state\` heading declared.
|
|
782
|
+
|
|
783
|
+
## Complete example (self-contained, valid machine):
|
|
784
|
+
|
|
785
|
+
\`\`\`orca.md
|
|
786
|
+
# machine OrderProcessor
|
|
787
|
+
|
|
788
|
+
## context
|
|
789
|
+
|
|
790
|
+
| Field | Type | Default |
|
|
791
|
+
|----------|---------|----------|
|
|
792
|
+
| orderId | string | |
|
|
793
|
+
| retries | int | 0 |
|
|
794
|
+
| error | string? | |
|
|
795
|
+
|
|
796
|
+
## events
|
|
797
|
+
|
|
798
|
+
- submit
|
|
799
|
+
- payment_ok
|
|
800
|
+
- payment_failed
|
|
801
|
+
- retry
|
|
802
|
+
- cancel
|
|
803
|
+
|
|
804
|
+
## state idle [initial]
|
|
805
|
+
> Waiting for an order to be submitted
|
|
806
|
+
- ignore: payment_ok, payment_failed, retry
|
|
807
|
+
|
|
808
|
+
## state processing
|
|
809
|
+
> Processing the payment
|
|
810
|
+
- on_entry: start_payment
|
|
811
|
+
- timeout: 30s -> failed
|
|
812
|
+
|
|
813
|
+
## state done [final]
|
|
814
|
+
> Order complete
|
|
815
|
+
|
|
816
|
+
## state failed
|
|
817
|
+
> Payment failed
|
|
818
|
+
- ignore: submit, payment_ok
|
|
819
|
+
|
|
820
|
+
## transitions
|
|
821
|
+
|
|
822
|
+
| Source | Event | Guard | Target | Action |
|
|
823
|
+
|------------|-----------------|----------------|------------|-----------------|
|
|
824
|
+
| idle | submit | | processing | init_order |
|
|
825
|
+
| idle | cancel | | idle | |
|
|
826
|
+
| processing | payment_ok | | done | complete_order |
|
|
827
|
+
| processing | payment_failed | can_retry | failed | record_error |
|
|
828
|
+
| processing | payment_failed | !can_retry | failed | record_error |
|
|
829
|
+
| processing | cancel | | idle | cancel_order |
|
|
830
|
+
| failed | retry | can_retry | processing | increment_retry |
|
|
831
|
+
| failed | cancel | | idle | cancel_order |
|
|
832
|
+
|
|
833
|
+
## guards
|
|
834
|
+
|
|
835
|
+
| Name | Expression |
|
|
836
|
+
|-----------|----------------------|
|
|
837
|
+
| can_retry | \`ctx.retries < 3\` |
|
|
838
|
+
|
|
839
|
+
## actions
|
|
840
|
+
|
|
841
|
+
| Name | Signature |
|
|
842
|
+
|------------------|----------------------------------------------|
|
|
843
|
+
| init_order | \`(ctx, event) -> Context\` |
|
|
844
|
+
| start_payment | \`(ctx) -> Context + Effect<ChargeCard>\` |
|
|
845
|
+
| complete_order | \`(ctx, event) -> Context\` |
|
|
846
|
+
| record_error | \`(ctx, event) -> Context\` |
|
|
847
|
+
| increment_retry | \`(ctx) -> Context\` |
|
|
848
|
+
| cancel_order | \`(ctx) -> Context\` |
|
|
849
|
+
\`\`\`
|
|
850
|
+
|
|
851
|
+
## Full syntax reference:
|
|
852
|
+
|
|
776
853
|
# machine MachineName
|
|
777
854
|
|
|
778
855
|
## context
|
|
@@ -797,6 +874,9 @@ The machine definition uses standard markdown: headings, tables, bullet lists, a
|
|
|
797
874
|
- timeout: 5s -> target_state
|
|
798
875
|
- ignore: event1, event2
|
|
799
876
|
|
|
877
|
+
## state active
|
|
878
|
+
> An intermediate state (no [initial] or [final] marker)
|
|
879
|
+
|
|
800
880
|
## state done [final]
|
|
801
881
|
> Terminal state
|
|
802
882
|
|
|
@@ -826,8 +906,9 @@ NOTE: Guards support ONLY: comparisons (< > == != <= >=), null checks (== null,
|
|
|
826
906
|
| action3 | \`(ctx) -> Context + Effect<EffectType>\` |
|
|
827
907
|
|
|
828
908
|
Key syntax notes:
|
|
829
|
-
- [initial] marks the initial state
|
|
830
|
-
- [final] marks terminal states
|
|
909
|
+
- [initial] marks the initial state — exactly one required, NO other syntax exists
|
|
910
|
+
- [final] marks terminal states — zero or more allowed, NO other syntax exists
|
|
911
|
+
- Every state name used in transitions MUST be declared with a ## state heading
|
|
831
912
|
- Empty action column means "no action" (transition only changes state)
|
|
832
913
|
- Guard column uses guard name from guards table; prefix with ! to negate
|
|
833
914
|
- Guard expressions in backticks in the guards table
|
|
@@ -1111,8 +1192,190 @@ Output ONLY the complete multi-machine Orca definition in .orca.md markdown form
|
|
|
1111
1192
|
errors: lastErrors,
|
|
1112
1193
|
};
|
|
1113
1194
|
}
|
|
1195
|
+
// ── Shared provider resolution ────────────────────────────────────────────────
|
|
1196
|
+
function tryCreateProvider(configPath) {
|
|
1197
|
+
const config = loadConfig(configPath);
|
|
1198
|
+
const isMiniMax = config.base_url?.includes('minimaxi.chat') || config.base_url?.includes('minimax.io');
|
|
1199
|
+
const anthropicKey = isMiniMax
|
|
1200
|
+
? (config.api_key || process.env.MINIMAX_API_KEY || process.env.ANTHROPIC_API_KEY)
|
|
1201
|
+
: (config.api_key || process.env.ANTHROPIC_API_KEY);
|
|
1202
|
+
const openaiKey = config.api_key || process.env.OPENAI_API_KEY;
|
|
1203
|
+
const hasKey = config.provider === 'openai' ? openaiKey :
|
|
1204
|
+
config.provider === 'ollama' ? true :
|
|
1205
|
+
anthropicKey;
|
|
1206
|
+
if (!hasKey) {
|
|
1207
|
+
const keyName = config.provider === 'openai' ? 'OPENAI_API_KEY'
|
|
1208
|
+
: isMiniMax ? 'MINIMAX_API_KEY (or ANTHROPIC_API_KEY)'
|
|
1209
|
+
: 'ANTHROPIC_API_KEY';
|
|
1210
|
+
return { error: `No API key available. Set ${keyName} in your environment or .env` };
|
|
1211
|
+
}
|
|
1212
|
+
return {
|
|
1213
|
+
config,
|
|
1214
|
+
provider: createProvider(config.provider, {
|
|
1215
|
+
api_key: config.api_key,
|
|
1216
|
+
base_url: config.base_url,
|
|
1217
|
+
model: config.model,
|
|
1218
|
+
max_tokens: config.max_tokens,
|
|
1219
|
+
temperature: config.temperature,
|
|
1220
|
+
}),
|
|
1221
|
+
};
|
|
1222
|
+
}
|
|
1223
|
+
export async function generateOrcaDraftSkill(naturalLanguageSpec, configPath) {
|
|
1224
|
+
const providerResult = tryCreateProvider(configPath);
|
|
1225
|
+
if ('error' in providerResult) {
|
|
1226
|
+
return { status: 'error', error: providerResult.error };
|
|
1227
|
+
}
|
|
1228
|
+
const { provider } = providerResult;
|
|
1229
|
+
const systemPrompt = `You are an expert in Orca state machine design. Generate Orca machine definitions in markdown (.orca.md) format from natural language descriptions.
|
|
1230
|
+
|
|
1231
|
+
${ORCA_SYNTAX_REFERENCE}
|
|
1232
|
+
|
|
1233
|
+
IMPORTANT - Guard Restrictions:
|
|
1234
|
+
- Guards support ONLY: comparisons (< > == != <= >=), null checks, boolean operators
|
|
1235
|
+
- NO method calls: do NOT use .contains(), .includes(), .length(), etc.
|
|
1236
|
+
- For arrays, check .length > 0 or compare to null
|
|
1237
|
+
- If you need complex logic, compute it in an action and store a boolean flag in context
|
|
1238
|
+
|
|
1239
|
+
IMPORTANT - Action Syntax:
|
|
1240
|
+
- The actions table declares ONLY SIGNATURES (names and types), not implementations
|
|
1241
|
+
- Write signatures in backticks: \`(ctx) -> Context\`
|
|
1242
|
+
- NEVER write action bodies
|
|
1243
|
+
- Transitions reference actions by name only
|
|
1244
|
+
|
|
1245
|
+
Important rules:
|
|
1246
|
+
- Always include exactly ONE initial state marked with [initial]
|
|
1247
|
+
- Final states should be marked with [final]
|
|
1248
|
+
- Every (state, event) pair must have a transition OR the event must be ignored
|
|
1249
|
+
- Use guards for conditional transitions
|
|
1250
|
+
- Context should contain all data needed for guards and actions
|
|
1251
|
+
- For effects (API calls, I/O), use Effect<T> return type in the signature
|
|
1252
|
+
|
|
1253
|
+
Output ONLY the Orca machine definition in .orca.md markdown format, wrapped in a code fence, with no additional text.`;
|
|
1254
|
+
try {
|
|
1255
|
+
const response = await provider.complete({
|
|
1256
|
+
messages: [
|
|
1257
|
+
{ role: 'system', content: systemPrompt },
|
|
1258
|
+
{ role: 'user', content: `Generate an Orca state machine for:\n${naturalLanguageSpec}` },
|
|
1259
|
+
],
|
|
1260
|
+
model: '',
|
|
1261
|
+
max_tokens: 4096,
|
|
1262
|
+
temperature: 0.5,
|
|
1263
|
+
});
|
|
1264
|
+
const orca = stripCodeFence(response.content);
|
|
1265
|
+
const machine = extractMachineNameFromSource(orca);
|
|
1266
|
+
return { status: 'success', machine, orca };
|
|
1267
|
+
}
|
|
1268
|
+
catch (err) {
|
|
1269
|
+
return { status: 'error', error: err instanceof Error ? err.message : String(err) };
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1272
|
+
export async function generateOrcaMultiDraftSkill(naturalLanguageSpec, configPath) {
|
|
1273
|
+
const providerResult = tryCreateProvider(configPath);
|
|
1274
|
+
if ('error' in providerResult) {
|
|
1275
|
+
return { status: 'error', error: providerResult.error };
|
|
1276
|
+
}
|
|
1277
|
+
const { provider } = providerResult;
|
|
1278
|
+
const systemPrompt = `You are an expert in Orca state machine design. Generate coordinated multi-machine Orca definitions in markdown (.orca.md) format from natural language descriptions.
|
|
1279
|
+
|
|
1280
|
+
${ORCA_SYNTAX_REFERENCE}
|
|
1281
|
+
${MULTI_MACHINE_SYNTAX_ADDENDUM}
|
|
1282
|
+
|
|
1283
|
+
IMPORTANT - Guard Restrictions:
|
|
1284
|
+
- Guards support ONLY: comparisons (< > == != <= >=), null checks, boolean operators
|
|
1285
|
+
- NO method calls: do NOT use .contains(), .includes(), .length(), etc.
|
|
1286
|
+
- If you need complex logic, compute it in an action and store a boolean flag in context
|
|
1287
|
+
|
|
1288
|
+
IMPORTANT - Action Syntax:
|
|
1289
|
+
- The actions table declares ONLY SIGNATURES (names and types), not implementations
|
|
1290
|
+
- Write signatures in backticks: \`(ctx) -> Context\`
|
|
1291
|
+
- NEVER write action bodies
|
|
1292
|
+
|
|
1293
|
+
Multi-machine design principles:
|
|
1294
|
+
- Design a clear coordinator machine that delegates to focused child machines
|
|
1295
|
+
- Each child machine should have a single responsibility and at least one [final] state
|
|
1296
|
+
- Use invoke: in coordinator states to call child machines
|
|
1297
|
+
- Separate machines with --- on its own line
|
|
1298
|
+
- Name machines clearly (e.g. OrderCoordinator, PaymentProcessor, NotificationSender)
|
|
1299
|
+
|
|
1300
|
+
Output ONLY the complete multi-machine Orca definition in .orca.md markdown format, wrapped in a code fence, with no additional text.`;
|
|
1301
|
+
try {
|
|
1302
|
+
const response = await provider.complete({
|
|
1303
|
+
messages: [
|
|
1304
|
+
{ role: 'system', content: systemPrompt },
|
|
1305
|
+
{ role: 'user', content: `Generate a multi-machine Orca state machine system for:\n${naturalLanguageSpec}\n\nDesign at least 2 coordinated machines separated by ---` },
|
|
1306
|
+
],
|
|
1307
|
+
model: '',
|
|
1308
|
+
max_tokens: 8192,
|
|
1309
|
+
temperature: 0.5,
|
|
1310
|
+
});
|
|
1311
|
+
const orca = stripCodeFence(response.content);
|
|
1312
|
+
let machines = [];
|
|
1313
|
+
try {
|
|
1314
|
+
const { file } = parseMarkdown(orca);
|
|
1315
|
+
machines = file.machines.map(m => m.name);
|
|
1316
|
+
}
|
|
1317
|
+
catch { /* ignore parse errors — caller will see them via verify_machine */ }
|
|
1318
|
+
return { status: 'success', machines, orca };
|
|
1319
|
+
}
|
|
1320
|
+
catch (err) {
|
|
1321
|
+
return { status: 'error', error: err instanceof Error ? err.message : String(err) };
|
|
1322
|
+
}
|
|
1323
|
+
}
|
|
1324
|
+
// ── Auto-routing: single vs multi-machine heuristic ──────────────────────────
|
|
1325
|
+
/**
|
|
1326
|
+
* Returns true when the spec clearly describes coordination between multiple
|
|
1327
|
+
* independent sub-machines rather than a single workflow with many states.
|
|
1328
|
+
*
|
|
1329
|
+
* Conservative by design — single-machine handles most workflows well.
|
|
1330
|
+
* Only routes to multi when the spec explicitly uses coordination vocabulary
|
|
1331
|
+
* or describes a named coordinator managing distinct child processes.
|
|
1332
|
+
*/
|
|
1333
|
+
export function detectMultiMachine(spec) {
|
|
1334
|
+
const lower = spec.toLowerCase();
|
|
1335
|
+
// 1. Explicit coordinator / orchestrator vocabulary
|
|
1336
|
+
if (/\b(coordinator|orchestrator|orchestrate)\b/.test(lower))
|
|
1337
|
+
return true;
|
|
1338
|
+
// 2. Explicit multi-machine phrasing
|
|
1339
|
+
if (/multi.?machine|multiple machines|child machine|sub.?machine/.test(lower))
|
|
1340
|
+
return true;
|
|
1341
|
+
// 3. Coordination pattern: "X coordinates/manages/oversees Y and Z"
|
|
1342
|
+
// where the sub-things sound like independent workflows
|
|
1343
|
+
if (/\b(coordinate[sd]?|orchestrate[sd]?|manages?|oversees?)\b.{0,120}\band\b.{0,80}\b(machine|workflow|pipeline|process|worker|agent)\b/i.test(spec))
|
|
1344
|
+
return true;
|
|
1345
|
+
return false;
|
|
1346
|
+
}
|
|
1347
|
+
/**
|
|
1348
|
+
* Auto-routing entry point for generate_machine.
|
|
1349
|
+
* Inspects the spec and delegates to the single- or multi-machine draft
|
|
1350
|
+
* generator. Always returns a draft — caller should follow up with
|
|
1351
|
+
* verify_machine → refine_machine (if errors) → verify_machine.
|
|
1352
|
+
*/
|
|
1353
|
+
export async function generateAutoSkill(naturalLanguageSpec, configPath) {
|
|
1354
|
+
const isMulti = detectMultiMachine(naturalLanguageSpec);
|
|
1355
|
+
if (isMulti) {
|
|
1356
|
+
const result = await generateOrcaMultiDraftSkill(naturalLanguageSpec, configPath);
|
|
1357
|
+
return {
|
|
1358
|
+
status: result.status,
|
|
1359
|
+
is_multi: true,
|
|
1360
|
+
machines: result.machines,
|
|
1361
|
+
orca: result.orca,
|
|
1362
|
+
error: result.error,
|
|
1363
|
+
};
|
|
1364
|
+
}
|
|
1365
|
+
else {
|
|
1366
|
+
const result = await generateOrcaDraftSkill(naturalLanguageSpec, configPath);
|
|
1367
|
+
return {
|
|
1368
|
+
status: result.status,
|
|
1369
|
+
is_multi: false,
|
|
1370
|
+
machine: result.machine,
|
|
1371
|
+
orca: result.orca,
|
|
1372
|
+
error: result.error,
|
|
1373
|
+
};
|
|
1374
|
+
}
|
|
1375
|
+
}
|
|
1114
1376
|
function stripCodeFence(code) {
|
|
1115
1377
|
return code
|
|
1378
|
+
.replace(/<think>[\s\S]*?<\/think>/gi, '')
|
|
1116
1379
|
.replace(/^```(?:orca|markdown|md|orca\.md)?\n/, '')
|
|
1117
1380
|
.replace(/^```\n/, '')
|
|
1118
1381
|
.replace(/\n```$/, '')
|
package/dist/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACrH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,UAAU,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACrH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,eAAO,MAAM,UAAU,EAAE,OAAO,EAyH/B,CAAC"}
|
package/dist/tools.js
CHANGED
|
@@ -40,7 +40,7 @@ export const ORCA_TOOLS = [
|
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
42
|
name: 'generate_machine',
|
|
43
|
-
description: 'Generate
|
|
43
|
+
description: 'Generate a draft Orca machine definition from a natural language specification. Automatically chooses between a single-machine or multi-machine design based on the spec: specs that mention a coordinator, orchestrator, or multiple independently-lifecycled sub-processes route to multi-machine; everything else produces a single machine. Returns raw .orca.md source and an is_multi flag. Always call verify_machine on the result next — then refine_machine if there are errors. Requires LLM configuration via environment variables (ANTHROPIC_API_KEY, etc.).',
|
|
44
44
|
inputSchema: {
|
|
45
45
|
type: 'object',
|
|
46
46
|
properties: {
|
|
@@ -48,10 +48,6 @@ export const ORCA_TOOLS = [
|
|
|
48
48
|
type: 'string',
|
|
49
49
|
description: 'Natural language description of the desired state machine',
|
|
50
50
|
},
|
|
51
|
-
max_iterations: {
|
|
52
|
-
type: 'number',
|
|
53
|
-
description: 'Maximum refinement iterations (default: 3)',
|
|
54
|
-
},
|
|
55
51
|
},
|
|
56
52
|
required: ['spec'],
|
|
57
53
|
},
|
|
@@ -82,7 +78,7 @@ export const ORCA_TOOLS = [
|
|
|
82
78
|
},
|
|
83
79
|
{
|
|
84
80
|
name: 'generate_multi_machine',
|
|
85
|
-
description: 'Generate a
|
|
81
|
+
description: 'Generate a draft set of coordinated Orca machines from a natural language specification. Returns multiple machine definitions in one .orca.md file (separated by ---). Always call verify_machine on the result next — then refine_machine if there are errors. Requires LLM configuration via environment variables.',
|
|
86
82
|
inputSchema: {
|
|
87
83
|
type: 'object',
|
|
88
84
|
properties: {
|
|
@@ -90,10 +86,6 @@ export const ORCA_TOOLS = [
|
|
|
90
86
|
type: 'string',
|
|
91
87
|
description: 'Natural language description of the desired multi-machine system',
|
|
92
88
|
},
|
|
93
|
-
max_iterations: {
|
|
94
|
-
type: 'number',
|
|
95
|
-
description: 'Maximum refinement iterations (default: 3)',
|
|
96
|
-
},
|
|
97
89
|
},
|
|
98
90
|
required: ['spec'],
|
|
99
91
|
},
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAc1F,MAAM,CAAC,MAAM,UAAU,GAAc;IACnC;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,+UAA+U;QACjV,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0LAA0L,EAAE;aACpO;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,2VAA2V;QAC7V,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0LAA0L,EAAE;aACpO;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,yJAAyJ;QAC3J,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0LAA0L,EAAE;gBACnO,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;oBAC3B,WAAW,EAAE,sCAAsC;iBACpD;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/llm/anthropic.ts
CHANGED
|
@@ -15,16 +15,17 @@ export class AnthropicProvider implements LLMProvider {
|
|
|
15
15
|
this.temperature = config.temperature ?? 0.7;
|
|
16
16
|
|
|
17
17
|
// MiniMax uses Bearer token auth, Anthropic uses x-api-key
|
|
18
|
+
// Also check ORCA_API_KEY (set via the MCP server env block in Claude Code)
|
|
18
19
|
if (this.baseUrl.includes('minimax.io')) {
|
|
19
|
-
this.apiKey = config.api_key || process.env.MINIMAX_API_KEY || process.env.ANTHROPIC_API_KEY || '';
|
|
20
|
+
this.apiKey = config.api_key || process.env.ORCA_API_KEY || process.env.MINIMAX_API_KEY || process.env.ANTHROPIC_API_KEY || '';
|
|
20
21
|
this.authType = 'bearer';
|
|
21
22
|
} else {
|
|
22
|
-
this.apiKey = config.api_key || process.env.ANTHROPIC_API_KEY || '';
|
|
23
|
+
this.apiKey = config.api_key || process.env.ORCA_API_KEY || process.env.ANTHROPIC_API_KEY || '';
|
|
23
24
|
this.authType = 'x-api-key';
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
if (!this.apiKey) {
|
|
27
|
-
throw new Error(`API key is required
|
|
28
|
+
throw new Error(`API key is required — set ORCA_API_KEY (or ANTHROPIC_API_KEY) in your environment`);
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
|
package/src/skills.ts
CHANGED
|
@@ -974,6 +974,83 @@ export const ORCA_SYNTAX_REFERENCE = `Orca State Machine Markdown Syntax Referen
|
|
|
974
974
|
|
|
975
975
|
The machine definition uses standard markdown: headings, tables, bullet lists, and blockquotes.
|
|
976
976
|
|
|
977
|
+
CRITICAL SYNTAX RULES (do not deviate):
|
|
978
|
+
- Initial state: MUST use [initial] in the heading: \`## state stateName [initial]\`
|
|
979
|
+
There is NO alternative syntax. Never use "initial: true" or any other form.
|
|
980
|
+
- Final state: MUST use [final] in the heading: \`## state stateName [final]\`
|
|
981
|
+
There is NO alternative syntax. Never use "final: true" or any other form.
|
|
982
|
+
- Every state referenced in transitions MUST have a \`## state\` heading declared.
|
|
983
|
+
|
|
984
|
+
## Complete example (self-contained, valid machine):
|
|
985
|
+
|
|
986
|
+
\`\`\`orca.md
|
|
987
|
+
# machine OrderProcessor
|
|
988
|
+
|
|
989
|
+
## context
|
|
990
|
+
|
|
991
|
+
| Field | Type | Default |
|
|
992
|
+
|----------|---------|----------|
|
|
993
|
+
| orderId | string | |
|
|
994
|
+
| retries | int | 0 |
|
|
995
|
+
| error | string? | |
|
|
996
|
+
|
|
997
|
+
## events
|
|
998
|
+
|
|
999
|
+
- submit
|
|
1000
|
+
- payment_ok
|
|
1001
|
+
- payment_failed
|
|
1002
|
+
- retry
|
|
1003
|
+
- cancel
|
|
1004
|
+
|
|
1005
|
+
## state idle [initial]
|
|
1006
|
+
> Waiting for an order to be submitted
|
|
1007
|
+
- ignore: payment_ok, payment_failed, retry
|
|
1008
|
+
|
|
1009
|
+
## state processing
|
|
1010
|
+
> Processing the payment
|
|
1011
|
+
- on_entry: start_payment
|
|
1012
|
+
- timeout: 30s -> failed
|
|
1013
|
+
|
|
1014
|
+
## state done [final]
|
|
1015
|
+
> Order complete
|
|
1016
|
+
|
|
1017
|
+
## state failed
|
|
1018
|
+
> Payment failed
|
|
1019
|
+
- ignore: submit, payment_ok
|
|
1020
|
+
|
|
1021
|
+
## transitions
|
|
1022
|
+
|
|
1023
|
+
| Source | Event | Guard | Target | Action |
|
|
1024
|
+
|------------|-----------------|----------------|------------|-----------------|
|
|
1025
|
+
| idle | submit | | processing | init_order |
|
|
1026
|
+
| idle | cancel | | idle | |
|
|
1027
|
+
| processing | payment_ok | | done | complete_order |
|
|
1028
|
+
| processing | payment_failed | can_retry | failed | record_error |
|
|
1029
|
+
| processing | payment_failed | !can_retry | failed | record_error |
|
|
1030
|
+
| processing | cancel | | idle | cancel_order |
|
|
1031
|
+
| failed | retry | can_retry | processing | increment_retry |
|
|
1032
|
+
| failed | cancel | | idle | cancel_order |
|
|
1033
|
+
|
|
1034
|
+
## guards
|
|
1035
|
+
|
|
1036
|
+
| Name | Expression |
|
|
1037
|
+
|-----------|----------------------|
|
|
1038
|
+
| can_retry | \`ctx.retries < 3\` |
|
|
1039
|
+
|
|
1040
|
+
## actions
|
|
1041
|
+
|
|
1042
|
+
| Name | Signature |
|
|
1043
|
+
|------------------|----------------------------------------------|
|
|
1044
|
+
| init_order | \`(ctx, event) -> Context\` |
|
|
1045
|
+
| start_payment | \`(ctx) -> Context + Effect<ChargeCard>\` |
|
|
1046
|
+
| complete_order | \`(ctx, event) -> Context\` |
|
|
1047
|
+
| record_error | \`(ctx, event) -> Context\` |
|
|
1048
|
+
| increment_retry | \`(ctx) -> Context\` |
|
|
1049
|
+
| cancel_order | \`(ctx) -> Context\` |
|
|
1050
|
+
\`\`\`
|
|
1051
|
+
|
|
1052
|
+
## Full syntax reference:
|
|
1053
|
+
|
|
977
1054
|
# machine MachineName
|
|
978
1055
|
|
|
979
1056
|
## context
|
|
@@ -998,6 +1075,9 @@ The machine definition uses standard markdown: headings, tables, bullet lists, a
|
|
|
998
1075
|
- timeout: 5s -> target_state
|
|
999
1076
|
- ignore: event1, event2
|
|
1000
1077
|
|
|
1078
|
+
## state active
|
|
1079
|
+
> An intermediate state (no [initial] or [final] marker)
|
|
1080
|
+
|
|
1001
1081
|
## state done [final]
|
|
1002
1082
|
> Terminal state
|
|
1003
1083
|
|
|
@@ -1027,8 +1107,9 @@ NOTE: Guards support ONLY: comparisons (< > == != <= >=), null checks (== null,
|
|
|
1027
1107
|
| action3 | \`(ctx) -> Context + Effect<EffectType>\` |
|
|
1028
1108
|
|
|
1029
1109
|
Key syntax notes:
|
|
1030
|
-
- [initial] marks the initial state
|
|
1031
|
-
- [final] marks terminal states
|
|
1110
|
+
- [initial] marks the initial state — exactly one required, NO other syntax exists
|
|
1111
|
+
- [final] marks terminal states — zero or more allowed, NO other syntax exists
|
|
1112
|
+
- Every state name used in transitions MUST be declared with a ## state heading
|
|
1032
1113
|
- Empty action column means "no action" (transition only changes state)
|
|
1033
1114
|
- Guard column uses guard name from guards table; prefix with ! to negate
|
|
1034
1115
|
- Guard expressions in backticks in the guards table
|
|
@@ -1351,8 +1432,240 @@ Output ONLY the complete multi-machine Orca definition in .orca.md markdown form
|
|
|
1351
1432
|
};
|
|
1352
1433
|
}
|
|
1353
1434
|
|
|
1435
|
+
// ── Shared provider resolution ────────────────────────────────────────────────
|
|
1436
|
+
|
|
1437
|
+
function tryCreateProvider(configPath?: string): { provider: LLMProvider; config: ReturnType<typeof loadConfig> } | { error: string } {
|
|
1438
|
+
const config = loadConfig(configPath);
|
|
1439
|
+
const isMiniMax = config.base_url?.includes('minimaxi.chat') || config.base_url?.includes('minimax.io');
|
|
1440
|
+
const anthropicKey = isMiniMax
|
|
1441
|
+
? (config.api_key || process.env.MINIMAX_API_KEY || process.env.ANTHROPIC_API_KEY)
|
|
1442
|
+
: (config.api_key || process.env.ANTHROPIC_API_KEY);
|
|
1443
|
+
const openaiKey = config.api_key || process.env.OPENAI_API_KEY;
|
|
1444
|
+
const hasKey =
|
|
1445
|
+
config.provider === 'openai' ? openaiKey :
|
|
1446
|
+
config.provider === 'ollama' ? true :
|
|
1447
|
+
anthropicKey;
|
|
1448
|
+
|
|
1449
|
+
if (!hasKey) {
|
|
1450
|
+
const keyName = config.provider === 'openai' ? 'OPENAI_API_KEY'
|
|
1451
|
+
: isMiniMax ? 'MINIMAX_API_KEY (or ANTHROPIC_API_KEY)'
|
|
1452
|
+
: 'ANTHROPIC_API_KEY';
|
|
1453
|
+
return { error: `No API key available. Set ${keyName} in your environment or .env` };
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
return {
|
|
1457
|
+
config,
|
|
1458
|
+
provider: createProvider(config.provider, {
|
|
1459
|
+
api_key: config.api_key,
|
|
1460
|
+
base_url: config.base_url,
|
|
1461
|
+
model: config.model,
|
|
1462
|
+
max_tokens: config.max_tokens,
|
|
1463
|
+
temperature: config.temperature,
|
|
1464
|
+
}),
|
|
1465
|
+
};
|
|
1466
|
+
}
|
|
1467
|
+
|
|
1468
|
+
// ── /generate-machine (single draft step, no verify loop) ────────────────────
|
|
1469
|
+
|
|
1470
|
+
export interface GenerateOrcaDraftResult {
|
|
1471
|
+
status: 'success' | 'error';
|
|
1472
|
+
machine?: string; // parsed from draft for caller convenience
|
|
1473
|
+
orca?: string;
|
|
1474
|
+
error?: string;
|
|
1475
|
+
}
|
|
1476
|
+
|
|
1477
|
+
export async function generateOrcaDraftSkill(
|
|
1478
|
+
naturalLanguageSpec: string,
|
|
1479
|
+
configPath?: string,
|
|
1480
|
+
): Promise<GenerateOrcaDraftResult> {
|
|
1481
|
+
const providerResult = tryCreateProvider(configPath);
|
|
1482
|
+
if ('error' in providerResult) {
|
|
1483
|
+
return { status: 'error', error: providerResult.error };
|
|
1484
|
+
}
|
|
1485
|
+
const { provider } = providerResult;
|
|
1486
|
+
|
|
1487
|
+
const systemPrompt = `You are an expert in Orca state machine design. Generate Orca machine definitions in markdown (.orca.md) format from natural language descriptions.
|
|
1488
|
+
|
|
1489
|
+
${ORCA_SYNTAX_REFERENCE}
|
|
1490
|
+
|
|
1491
|
+
IMPORTANT - Guard Restrictions:
|
|
1492
|
+
- Guards support ONLY: comparisons (< > == != <= >=), null checks, boolean operators
|
|
1493
|
+
- NO method calls: do NOT use .contains(), .includes(), .length(), etc.
|
|
1494
|
+
- For arrays, check .length > 0 or compare to null
|
|
1495
|
+
- If you need complex logic, compute it in an action and store a boolean flag in context
|
|
1496
|
+
|
|
1497
|
+
IMPORTANT - Action Syntax:
|
|
1498
|
+
- The actions table declares ONLY SIGNATURES (names and types), not implementations
|
|
1499
|
+
- Write signatures in backticks: \`(ctx) -> Context\`
|
|
1500
|
+
- NEVER write action bodies
|
|
1501
|
+
- Transitions reference actions by name only
|
|
1502
|
+
|
|
1503
|
+
Important rules:
|
|
1504
|
+
- Always include exactly ONE initial state marked with [initial]
|
|
1505
|
+
- Final states should be marked with [final]
|
|
1506
|
+
- Every (state, event) pair must have a transition OR the event must be ignored
|
|
1507
|
+
- Use guards for conditional transitions
|
|
1508
|
+
- Context should contain all data needed for guards and actions
|
|
1509
|
+
- For effects (API calls, I/O), use Effect<T> return type in the signature
|
|
1510
|
+
|
|
1511
|
+
Output ONLY the Orca machine definition in .orca.md markdown format, wrapped in a code fence, with no additional text.`;
|
|
1512
|
+
|
|
1513
|
+
try {
|
|
1514
|
+
const response = await provider.complete({
|
|
1515
|
+
messages: [
|
|
1516
|
+
{ role: 'system', content: systemPrompt },
|
|
1517
|
+
{ role: 'user', content: `Generate an Orca state machine for:\n${naturalLanguageSpec}` },
|
|
1518
|
+
],
|
|
1519
|
+
model: '',
|
|
1520
|
+
max_tokens: 4096,
|
|
1521
|
+
temperature: 0.5,
|
|
1522
|
+
});
|
|
1523
|
+
|
|
1524
|
+
const orca = stripCodeFence(response.content);
|
|
1525
|
+
const machine = extractMachineNameFromSource(orca);
|
|
1526
|
+
return { status: 'success', machine, orca };
|
|
1527
|
+
} catch (err) {
|
|
1528
|
+
return { status: 'error', error: err instanceof Error ? err.message : String(err) };
|
|
1529
|
+
}
|
|
1530
|
+
}
|
|
1531
|
+
|
|
1532
|
+
// ── /generate-multi-machine (single draft step, no verify loop) ───────────────
|
|
1533
|
+
|
|
1534
|
+
export interface GenerateOrcaMultiDraftResult {
|
|
1535
|
+
status: 'success' | 'error';
|
|
1536
|
+
machines?: string[]; // machine names parsed from draft
|
|
1537
|
+
orca?: string;
|
|
1538
|
+
error?: string;
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
export async function generateOrcaMultiDraftSkill(
|
|
1542
|
+
naturalLanguageSpec: string,
|
|
1543
|
+
configPath?: string,
|
|
1544
|
+
): Promise<GenerateOrcaMultiDraftResult> {
|
|
1545
|
+
const providerResult = tryCreateProvider(configPath);
|
|
1546
|
+
if ('error' in providerResult) {
|
|
1547
|
+
return { status: 'error', error: providerResult.error };
|
|
1548
|
+
}
|
|
1549
|
+
const { provider } = providerResult;
|
|
1550
|
+
|
|
1551
|
+
const systemPrompt = `You are an expert in Orca state machine design. Generate coordinated multi-machine Orca definitions in markdown (.orca.md) format from natural language descriptions.
|
|
1552
|
+
|
|
1553
|
+
${ORCA_SYNTAX_REFERENCE}
|
|
1554
|
+
${MULTI_MACHINE_SYNTAX_ADDENDUM}
|
|
1555
|
+
|
|
1556
|
+
IMPORTANT - Guard Restrictions:
|
|
1557
|
+
- Guards support ONLY: comparisons (< > == != <= >=), null checks, boolean operators
|
|
1558
|
+
- NO method calls: do NOT use .contains(), .includes(), .length(), etc.
|
|
1559
|
+
- If you need complex logic, compute it in an action and store a boolean flag in context
|
|
1560
|
+
|
|
1561
|
+
IMPORTANT - Action Syntax:
|
|
1562
|
+
- The actions table declares ONLY SIGNATURES (names and types), not implementations
|
|
1563
|
+
- Write signatures in backticks: \`(ctx) -> Context\`
|
|
1564
|
+
- NEVER write action bodies
|
|
1565
|
+
|
|
1566
|
+
Multi-machine design principles:
|
|
1567
|
+
- Design a clear coordinator machine that delegates to focused child machines
|
|
1568
|
+
- Each child machine should have a single responsibility and at least one [final] state
|
|
1569
|
+
- Use invoke: in coordinator states to call child machines
|
|
1570
|
+
- Separate machines with --- on its own line
|
|
1571
|
+
- Name machines clearly (e.g. OrderCoordinator, PaymentProcessor, NotificationSender)
|
|
1572
|
+
|
|
1573
|
+
Output ONLY the complete multi-machine Orca definition in .orca.md markdown format, wrapped in a code fence, with no additional text.`;
|
|
1574
|
+
|
|
1575
|
+
try {
|
|
1576
|
+
const response = await provider.complete({
|
|
1577
|
+
messages: [
|
|
1578
|
+
{ role: 'system', content: systemPrompt },
|
|
1579
|
+
{ role: 'user', content: `Generate a multi-machine Orca state machine system for:\n${naturalLanguageSpec}\n\nDesign at least 2 coordinated machines separated by ---` },
|
|
1580
|
+
],
|
|
1581
|
+
model: '',
|
|
1582
|
+
max_tokens: 8192,
|
|
1583
|
+
temperature: 0.5,
|
|
1584
|
+
});
|
|
1585
|
+
|
|
1586
|
+
const orca = stripCodeFence(response.content);
|
|
1587
|
+
let machines: string[] = [];
|
|
1588
|
+
try {
|
|
1589
|
+
const { file } = parseMarkdown(orca);
|
|
1590
|
+
machines = file.machines.map(m => m.name);
|
|
1591
|
+
} catch { /* ignore parse errors — caller will see them via verify_machine */ }
|
|
1592
|
+
return { status: 'success', machines, orca };
|
|
1593
|
+
} catch (err) {
|
|
1594
|
+
return { status: 'error', error: err instanceof Error ? err.message : String(err) };
|
|
1595
|
+
}
|
|
1596
|
+
}
|
|
1597
|
+
|
|
1598
|
+
// ── Auto-routing: single vs multi-machine heuristic ──────────────────────────
|
|
1599
|
+
|
|
1600
|
+
/**
|
|
1601
|
+
* Returns true when the spec clearly describes coordination between multiple
|
|
1602
|
+
* independent sub-machines rather than a single workflow with many states.
|
|
1603
|
+
*
|
|
1604
|
+
* Conservative by design — single-machine handles most workflows well.
|
|
1605
|
+
* Only routes to multi when the spec explicitly uses coordination vocabulary
|
|
1606
|
+
* or describes a named coordinator managing distinct child processes.
|
|
1607
|
+
*/
|
|
1608
|
+
export function detectMultiMachine(spec: string): boolean {
|
|
1609
|
+
const lower = spec.toLowerCase();
|
|
1610
|
+
|
|
1611
|
+
// 1. Explicit coordinator / orchestrator vocabulary
|
|
1612
|
+
if (/\b(coordinator|orchestrator|orchestrate)\b/.test(lower)) return true;
|
|
1613
|
+
|
|
1614
|
+
// 2. Explicit multi-machine phrasing
|
|
1615
|
+
if (/multi.?machine|multiple machines|child machine|sub.?machine/.test(lower)) return true;
|
|
1616
|
+
|
|
1617
|
+
// 3. Coordination pattern: "X coordinates/manages/oversees Y and Z"
|
|
1618
|
+
// where the sub-things sound like independent workflows
|
|
1619
|
+
if (/\b(coordinate[sd]?|orchestrate[sd]?|manages?|oversees?)\b.{0,120}\band\b.{0,80}\b(machine|workflow|pipeline|process|worker|agent)\b/i.test(spec)) return true;
|
|
1620
|
+
|
|
1621
|
+
return false;
|
|
1622
|
+
}
|
|
1623
|
+
|
|
1624
|
+
export interface GenerateAutoResult {
|
|
1625
|
+
status: 'success' | 'error';
|
|
1626
|
+
is_multi: boolean;
|
|
1627
|
+
machine?: string; // single-machine: name of the machine
|
|
1628
|
+
machines?: string[]; // multi-machine: names of all machines
|
|
1629
|
+
orca?: string;
|
|
1630
|
+
error?: string;
|
|
1631
|
+
}
|
|
1632
|
+
|
|
1633
|
+
/**
|
|
1634
|
+
* Auto-routing entry point for generate_machine.
|
|
1635
|
+
* Inspects the spec and delegates to the single- or multi-machine draft
|
|
1636
|
+
* generator. Always returns a draft — caller should follow up with
|
|
1637
|
+
* verify_machine → refine_machine (if errors) → verify_machine.
|
|
1638
|
+
*/
|
|
1639
|
+
export async function generateAutoSkill(
|
|
1640
|
+
naturalLanguageSpec: string,
|
|
1641
|
+
configPath?: string,
|
|
1642
|
+
): Promise<GenerateAutoResult> {
|
|
1643
|
+
const isMulti = detectMultiMachine(naturalLanguageSpec);
|
|
1644
|
+
|
|
1645
|
+
if (isMulti) {
|
|
1646
|
+
const result = await generateOrcaMultiDraftSkill(naturalLanguageSpec, configPath);
|
|
1647
|
+
return {
|
|
1648
|
+
status: result.status,
|
|
1649
|
+
is_multi: true,
|
|
1650
|
+
machines: result.machines,
|
|
1651
|
+
orca: result.orca,
|
|
1652
|
+
error: result.error,
|
|
1653
|
+
};
|
|
1654
|
+
} else {
|
|
1655
|
+
const result = await generateOrcaDraftSkill(naturalLanguageSpec, configPath);
|
|
1656
|
+
return {
|
|
1657
|
+
status: result.status,
|
|
1658
|
+
is_multi: false,
|
|
1659
|
+
machine: result.machine,
|
|
1660
|
+
orca: result.orca,
|
|
1661
|
+
error: result.error,
|
|
1662
|
+
};
|
|
1663
|
+
}
|
|
1664
|
+
}
|
|
1665
|
+
|
|
1354
1666
|
function stripCodeFence(code: string): string {
|
|
1355
1667
|
return code
|
|
1668
|
+
.replace(/<think>[\s\S]*?<\/think>/gi, '')
|
|
1356
1669
|
.replace(/^```(?:orca|markdown|md|orca\.md)?\n/, '')
|
|
1357
1670
|
.replace(/^```\n/, '')
|
|
1358
1671
|
.replace(/\n```$/, '')
|
package/src/tools.ts
CHANGED
|
@@ -57,7 +57,7 @@ export const ORCA_TOOLS: ToolDef[] = [
|
|
|
57
57
|
{
|
|
58
58
|
name: 'generate_machine',
|
|
59
59
|
description:
|
|
60
|
-
'Generate
|
|
60
|
+
'Generate a draft Orca machine definition from a natural language specification. Automatically chooses between a single-machine or multi-machine design based on the spec: specs that mention a coordinator, orchestrator, or multiple independently-lifecycled sub-processes route to multi-machine; everything else produces a single machine. Returns raw .orca.md source and an is_multi flag. Always call verify_machine on the result next — then refine_machine if there are errors. Requires LLM configuration via environment variables (ANTHROPIC_API_KEY, etc.).',
|
|
61
61
|
inputSchema: {
|
|
62
62
|
type: 'object',
|
|
63
63
|
properties: {
|
|
@@ -65,10 +65,6 @@ export const ORCA_TOOLS: ToolDef[] = [
|
|
|
65
65
|
type: 'string',
|
|
66
66
|
description: 'Natural language description of the desired state machine',
|
|
67
67
|
},
|
|
68
|
-
max_iterations: {
|
|
69
|
-
type: 'number',
|
|
70
|
-
description: 'Maximum refinement iterations (default: 3)',
|
|
71
|
-
},
|
|
72
68
|
},
|
|
73
69
|
required: ['spec'],
|
|
74
70
|
},
|
|
@@ -101,7 +97,7 @@ export const ORCA_TOOLS: ToolDef[] = [
|
|
|
101
97
|
{
|
|
102
98
|
name: 'generate_multi_machine',
|
|
103
99
|
description:
|
|
104
|
-
'Generate a
|
|
100
|
+
'Generate a draft set of coordinated Orca machines from a natural language specification. Returns multiple machine definitions in one .orca.md file (separated by ---). Always call verify_machine on the result next — then refine_machine if there are errors. Requires LLM configuration via environment variables.',
|
|
105
101
|
inputSchema: {
|
|
106
102
|
type: 'object',
|
|
107
103
|
properties: {
|
|
@@ -109,10 +105,6 @@ export const ORCA_TOOLS: ToolDef[] = [
|
|
|
109
105
|
type: 'string',
|
|
110
106
|
description: 'Natural language description of the desired multi-machine system',
|
|
111
107
|
},
|
|
112
|
-
max_iterations: {
|
|
113
|
-
type: 'number',
|
|
114
|
-
description: 'Maximum refinement iterations (default: 3)',
|
|
115
|
-
},
|
|
116
108
|
},
|
|
117
109
|
required: ['spec'],
|
|
118
110
|
},
|