@orcalang/orca-mcp-server 0.1.12 → 0.1.16

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/server.js CHANGED
@@ -2,8 +2,11 @@
2
2
  import { createRequire } from 'module';
3
3
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
4
4
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
5
- import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
6
- import { parseSkill, verifySkill, compileSkill, generateActionsSkill, refineSkill, generateAutoSkill, generateOrcaMultiDraftSkill, ORCA_SYNTAX_REFERENCE, MULTI_MACHINE_SYNTAX_ADDENDUM, } from '@orcalang/orca-lang/skills';
5
+ import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
6
+ import { readFileSync } from 'fs';
7
+ import { resolve, dirname } from 'path';
8
+ import { fileURLToPath } from 'url';
9
+ import { parseSkill, verifySkill, compileSkill, generateActionsSkill, refineSkill, generateAutoSkill, generateOrcaMultiDraftSkill, } from '@orcalang/orca-lang/skills';
7
10
  import { ORCA_TOOLS } from '@orcalang/orca-lang/tools';
8
11
  const _require = createRequire(import.meta.url);
9
12
  const { version: SERVER_VERSION } = _require('../package.json');
@@ -15,15 +18,36 @@ if (major < 20) {
15
18
  }
16
19
  const TOOLS = ORCA_TOOLS;
17
20
  // ── MCP server instructions (injected into every AI context on connect) ───────
18
- const MCP_INSTRUCTIONS = `This MCP server exposes Orca state machine tools. Orca is a markdown-based state machine language designed for LLM code generation.
21
+ // Compact syntax reference under 400 tokens
22
+ const MCP_INSTRUCTIONS = `Orca MCP Server — state machine generation tools. Workflow: generate_machine → verify_machine → refine_machine (if errors) → compile_machine → generate_actions.
19
23
 
20
- Recommended workflow: generate_machine → verify_machine → refine_machine (if errors) → verify_machine → compile_machine → generate_actions.
24
+ ## Syntax Reference
25
+ # machine Name // required heading
26
+ ## state Name [initial] // one [initial] required; [final] for terminal states
27
+ ## state Name [final]
28
+ ## transitions // table: | Source | Event | Guard | Target | Action |
29
+ ## actions // table: | Name | Signature |
21
30
 
22
- Each step is a discrete tool call so progress is visible between calls. generate_machine returns a draft; always call verify_machine next to check it.
31
+ Minimal example (toggle):
32
+ \`\`\`
33
+ # machine Toggle
34
+ ## state off [initial]
35
+ ## state on
36
+ ## transitions
37
+ | off | toggle | | on | increment |
38
+ | on | toggle | | off | increment |
39
+ ## actions
40
+ | Name | Signature |
41
+ | increment | \`(ctx) -> Context\` |
42
+ \`\`\`
23
43
 
24
- ${ORCA_SYNTAX_REFERENCE}
25
-
26
- ${MULTI_MACHINE_SYNTAX_ADDENDUM}`;
44
+ ## Key Rules
45
+ - [initial] and [final] are the ONLY syntax for initial/final states
46
+ - Guards: ctx.field comparisons (< > == != <= >=), null checks, boolean ops (and/or/not). NO method calls.
47
+ - Effect actions: \`(ctx) -> Context + Effect<T>\`
48
+ - Transitions reference actions by name only — no action bodies in Orca
49
+ - Multi-machine: separate files with ---, use invoke: ChildMachine in states
50
+ `;
27
51
  // ── Tool dispatch ─────────────────────────────────────────────────────────────
28
52
  async function callTool(name, args) {
29
53
  switch (name) {
@@ -91,8 +115,93 @@ async function callTool(name, args) {
91
115
  }
92
116
  }
93
117
  // ── Server setup ──────────────────────────────────────────────────────────────
94
- const server = new Server({ name: 'orca', version: '0.1.0' }, { capabilities: { tools: {} }, instructions: MCP_INSTRUCTIONS });
118
+ const server = new Server({ name: 'orca', version: '0.1.0' }, { capabilities: { tools: {}, resources: {} }, instructions: MCP_INSTRUCTIONS });
95
119
  server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
120
+ // ── Resources ────────────────────────────────────────────────────────────────
121
+ const __dirname = dirname(fileURLToPath(import.meta.url));
122
+ // Examples are in packages/orca-lang/examples (sibling package to mcp-server)
123
+ // From packages/mcp-server/dist: ../../../packages/orca-lang/examples
124
+ const EXAMPLES_DIR = resolve(__dirname, '../../../packages/orca-lang/examples');
125
+ // Grammar spec content (loaded lazily to avoid bundling large strings)
126
+ let grammarSpecContent = null;
127
+ function getGrammarSpec() {
128
+ if (!grammarSpecContent) {
129
+ try {
130
+ grammarSpecContent = readFileSync(resolve(__dirname, '../../../docs/orca-md-grammar-spec.md'), 'utf-8');
131
+ }
132
+ catch {
133
+ grammarSpecContent = '# Orca Grammar Specification\n\nGrammar spec not found. See AGENTS.md for syntax reference.';
134
+ }
135
+ }
136
+ return grammarSpecContent;
137
+ }
138
+ // Example files to expose as resources
139
+ const EXAMPLES = [
140
+ { name: 'simple-toggle', file: 'simple-toggle.orca.md' },
141
+ { name: 'payment-processor', file: 'payment-processor.orca.md' },
142
+ ];
143
+ const ORCA_RESOURCES = [
144
+ {
145
+ uri: 'orca://grammar',
146
+ name: 'Orca Grammar Specification',
147
+ description: 'Full grammar reference for .orca.md files — headings, tables, transitions, guards, actions, effects, and multi-machine syntax.',
148
+ mimeType: 'text/markdown',
149
+ },
150
+ ...EXAMPLES.map(({ name }) => ({
151
+ uri: `orca://examples/${name}`,
152
+ name: `Example: ${name}`,
153
+ description: `Example Orca machine: ${name}.orca.md`,
154
+ mimeType: 'text/markdown',
155
+ })),
156
+ ];
157
+ server.setRequestHandler(ListResourcesRequestSchema, async () => ({
158
+ resources: ORCA_RESOURCES,
159
+ }));
160
+ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
161
+ const uri = request.params.uri;
162
+ if (uri === 'orca://grammar') {
163
+ return {
164
+ contents: [{
165
+ uri,
166
+ mimeType: 'text/markdown',
167
+ text: getGrammarSpec(),
168
+ }],
169
+ };
170
+ }
171
+ const exampleMatch = uri.match(/^orca:\/\/examples\/([\w-]+)$/);
172
+ if (exampleMatch) {
173
+ const exampleName = exampleMatch[1];
174
+ const example = EXAMPLES.find(e => e.name === exampleName);
175
+ if (example) {
176
+ try {
177
+ const content = readFileSync(resolve(EXAMPLES_DIR, example.file), 'utf-8');
178
+ return {
179
+ contents: [{
180
+ uri,
181
+ mimeType: 'text/markdown',
182
+ text: content,
183
+ }],
184
+ };
185
+ }
186
+ catch {
187
+ return {
188
+ contents: [{
189
+ uri,
190
+ mimeType: 'text/plain',
191
+ text: `Example "${exampleName}" not found.`,
192
+ }],
193
+ };
194
+ }
195
+ }
196
+ }
197
+ return {
198
+ contents: [{
199
+ uri,
200
+ mimeType: 'text/plain',
201
+ text: `Resource not found: ${uri}`,
202
+ }],
203
+ };
204
+ });
96
205
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
97
206
  const { name, arguments: args = {} } = request.params;
98
207
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,GAE1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC,iBAAiB,CAAwB,CAAC;AAEvF,iFAAiF;AACjF,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChE,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;IACf,OAAO,CAAC,KAAK,CAAC,mFAAmF,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACpH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,KAAK,GAAG,UAA+B,CAAC;AAE9C,iFAAiF;AAEjF,8CAA8C;AAC9C,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BxB,CAAC;AAEF,iFAAiF;AAEjF,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,IAA6B;IACjE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;YACrC,OAAO,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;YACrC,OAAO,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;YACrC,MAAM,MAAM,GAAI,IAAI,CAAC,MAA+B,IAAI,QAAQ,CAAC;YACjE,OAAO,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAc,CAAC;YACjC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAc,CAAC;YACjC,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;YACrC,MAAM,IAAI,GAAI,IAAI,CAAC,IAAe,IAAI,YAAY,CAAC;YACnD,MAAM,MAAM,GAAI,IAAI,CAAC,OAAmB,IAAI,KAAK,CAAC;YAClD,MAAM,aAAa,GAAI,IAAI,CAAC,cAA0B,IAAI,KAAK,CAAC;YAChE,OAAO,oBAAoB,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAClF,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;YACrC,MAAM,aAAa,GAAI,IAAI,CAAC,cAAyB,IAAI,CAAC,CAAC;YAE3D,IAAI,MAAM,GAAG,IAAI,CAAC,MAAkC,CAAC;YACrD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,qCAAqC;gBACrC,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;gBACnD,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBACpC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,8CAA8C,CAAC,EAAE,CAAC;gBAC5H,CAAC;gBACD,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACnE,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,gBAAgB,GACpB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY;gBACxB,OAAO,CAAC,GAAG,CAAC,iBAAiB;gBAC7B,OAAO,CAAC,GAAG,CAAC,cAAc;gBAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,cAAc;gBACvB,YAAY,EAAE,OAAO,CAAC,OAAO;gBAC7B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,WAAW;gBAClD,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,mBAAmB;gBACpD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI;gBAC3C,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,YAAY;gBAC/D,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC1F,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG;gBAC1F,kBAAkB,EAAE,gBAAgB;aACrC,CAAC;QACJ,CAAC;QAED;YACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAClC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAC/E,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAEjF,gFAAgF;AAEhF,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,8EAA8E;AAC9E,sEAAsE;AACtE,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;AAEhF,uEAAuE;AACvE,IAAI,kBAAkB,GAAkB,IAAI,CAAC;AAC7C,SAAS,cAAc;IACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,uCAAuC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1G,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB,GAAG,6FAA6F,CAAC;QACrH,CAAC;IACH,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,uCAAuC;AACvC,MAAM,QAAQ,GAAqC;IACjD,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,uBAAuB,EAAE;IACxD,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,2BAA2B,EAAE;CACjE,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB;QACE,GAAG,EAAE,gBAAgB;QACrB,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,gIAAgI;QAC7I,QAAQ,EAAE,eAAe;KAC1B;IACD,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7B,GAAG,EAAE,mBAAmB,IAAI,EAAE;QAC9B,IAAI,EAAE,YAAY,IAAI,EAAE;QACxB,WAAW,EAAE,yBAAyB,IAAI,UAAU;QACpD,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAC;CACJ,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAChE,SAAS,EAAE,cAAc;CAC1B,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACpE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;IAE/B,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;QAC7B,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,GAAG;oBACH,QAAQ,EAAE,eAAe;oBACzB,IAAI,EAAE,cAAc,EAAE;iBACvB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAChE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QAC3D,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC3E,OAAO;oBACL,QAAQ,EAAE,CAAC;4BACT,GAAG;4BACH,QAAQ,EAAE,eAAe;4BACzB,IAAI,EAAE,OAAO;yBACd,CAAC;iBACH,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,QAAQ,EAAE,CAAC;4BACT,GAAG;4BACH,QAAQ,EAAE,YAAY;4BACtB,IAAI,EAAE,YAAY,WAAW,cAAc;yBAC5C,CAAC;iBACH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,CAAC;gBACT,GAAG;gBACH,QAAQ,EAAE,YAAY;gBACtB,IAAI,EAAE,uBAAuB,GAAG,EAAE;aACnC,CAAC;KACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,IAA+B,CAAC,CAAC;QACrE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SAC5E,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACvD;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,iFAAiF;AAEjF,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orcalang/orca-mcp-server",
3
- "version": "0.1.12",
3
+ "version": "0.1.16",
4
4
  "description": "LLM agents can now build verified state machines. Generate, parse, verify, and compile Orca state machines from natural language specs — topology guarantees before any code runs.",
5
5
  "type": "module",
6
6
  "main": "dist/server.js",
@@ -12,11 +12,12 @@
12
12
  ],
13
13
  "dependencies": {
14
14
  "@modelcontextprotocol/sdk": "^1.28.0",
15
- "@orcalang/orca-lang": "0.1.12"
15
+ "@orcalang/orca-lang": "0.1.16"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/node": "^20.10.0",
19
- "typescript": "^5.3.0"
19
+ "typescript": "^5.3.0",
20
+ "vitest": "^2.0.0"
20
21
  },
21
22
  "mcpName": "io.github.jascal/orca-mcp-server",
22
23
  "keywords": [
@@ -28,6 +29,8 @@
28
29
  "license": "Apache-2.0",
29
30
  "scripts": {
30
31
  "build": "tsc",
31
- "start": "node dist/server.js"
32
+ "start": "node dist/server.js",
33
+ "test": "vitest run",
34
+ "test:watch": "vitest"
32
35
  }
33
36
  }