@dain-os/mcp-server 0.22.1 → 0.24.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.
package/dist/meta.d.ts CHANGED
@@ -23,5 +23,5 @@ export declare const SERVER_VERSION: string;
23
23
  * instruction it later runs, so stale tool names stay recoverable until the
24
24
  * library catches up.
25
25
  */
26
- export declare const SERVER_INSTRUCTIONS = "# DainOS MCP\n\nDainOS is the agency operating system (projects, tasks, proposals, CRM,\ndeveloper changelog/sessions/knowledge-base, and the Claude instruction\nlibrary). This server exposes it through two kinds of tools.\n\n## 1. Generic tools \u2014 operate on ANY resource\n\n- describe_schema \u2014 list every resource with its fields, filters, and allowed\n operations. CALL THIS FIRST in a session before reading or writing data you\n are not already certain about.\n- query \u2014 read. { resource, id? | filters? | search?, parentId?, sort?, limit?, offset? }\n- mutate \u2014 write. { resource, operation: 'create' | 'update' | 'delete', id?, parentId?, data? }\n\nNested resources need parentId (e.g. milestones under a project, comments under\na task). Free-text search only works on resources marked searchable.\n\nWRITE SEMANTICS \u2014 mutate update is a PARTIAL MERGE: only the fields you put in\nthe data object change; anything you omit is left untouched. Two caveats: array\nfields (tags, pillar_tags, ...) are REPLACED wholesale when sent \u2014 to add one\nitem, send the whole new list, so query the record first; and nullable fields\nclear when you pass null but stay put when omitted. Read each resource's\nusageNotes, transitions, and preferToolFor in describe_schema before your first\nwrite \u2014 several resources route writes through a named semantic tool (e.g. tasks\ncreate via create_task, task done via complete_task, proposal status via\nset_proposal_status) rather than a raw mutate.\n\n## 2. Semantic tools \u2014 carry business logic the generic trio can't express\n\nPrefer the semantic tool whenever one matches your intent:\n\n Tasks create_task \u00B7 complete_task \u00B7 regenerate_client_view\n Cadence claim_next_task \u00B7 report_task_progress \u00B7 mark_blocked \u00B7 request_unblock\n Proposals set_proposal_status \u00B7 create_proposal_option \u00B7 update_proposal_option\n set_recommended_option \u00B7 proposal_content \u00B7 describe_proposal_block_types\n Developer log_changelog_entry \u00B7 log_knowledge_base_entry \u00B7 log_time_entry \u00B7 score_pr_finding\n AI spend get_ai_spend_totals \u00B7 get_ai_spend_summary\n Library get_instruction \u00B7 list_instructions \u00B7 search_instructions \u00B7 upsert_instruction\n\nThese are all CURRENT. Do not translate them.\n\n## Old tool names (read this if an instruction names a tool you don't have)\n\nv0.8 removed ~36 thin CRUD tools. If a command, skill, or rule tells you to call\na tool that is NOT listed above, it predates the refactor. Translate it:\n\n list_projects / get_project -> query projects\n list_tasks / get_task -> query tasks\n list_milestones -> query milestones (parentId = projectId)\n update_task -> mutate tasks update\n add_task_comment -> mutate task_comments create (parentId = taskId)\n list_proposals / get_proposal -> query proposals\n list_recent_sessions / list_sessions -> query session_context\n log_session_context -> mutate session_context create\n list_changelog -> query developer_changelog\n search_knowledge_base -> query developer_knowledge_base (search = \"...\")\n update_knowledge_base_entry -> mutate developer_knowledge_base update\n list_tenant_users / list_users -> query iam_users (filters: status)\n get_user -> query iam_users (id = \"...\")\n lookup_product_repos -> query product_repos (filters: owner, repo)\n summarise_product_tasks -> query product_task_summary (parentId = productId)\n list_unscored_pr_findings -> query pr_review_findings (filters: repo, prNumber, scoredBy)\n\ncomplete_task still exists for the task done-state walk \u2014 only the plain field\nupdate moved to mutate. When in doubt, call describe_schema and match your\nintent to a resource.";
26
+ export declare const SERVER_INSTRUCTIONS: string;
27
27
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,cAAc,EAAE,MAAoB,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,28HAiEV,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,cAAc,EAAE,MAAoB,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,QAmEV,CAAC"}
package/dist/meta.js CHANGED
@@ -9,6 +9,7 @@
9
9
  * version to clients and tripping the lock-step test in meta.test.ts.
10
10
  */
11
11
  import pkg from '../package.json' with { type: 'json' };
12
+ import { HOWTO_TEXT } from './tools/howto.js';
12
13
  export const SERVER_NAME = 'dainos';
13
14
  export const SERVER_VERSION = pkg.version;
14
15
  /**
@@ -30,6 +31,8 @@ DainOS is the agency operating system (projects, tasks, proposals, CRM,
30
31
  developer changelog/sessions/knowledge-base, and the Claude instruction
31
32
  library). This server exposes it through two kinds of tools.
32
33
 
34
+ ${HOWTO_TEXT}
35
+
33
36
  ## 1. Generic tools — operate on ANY resource
34
37
 
35
38
  - describe_schema — list every resource with its fields, filters, and allowed
package/dist/meta.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"meta.js","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAW,GAAG,CAAC,OAAO,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAiEb,CAAC"}
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../src/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAW,GAAG,CAAC,OAAO,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;EAMjC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA6DU,CAAC"}
@@ -5,8 +5,14 @@
5
5
  * 1. /.well-known/oauth-protected-resource (RFC 9728) — points at the AS
6
6
  * 2. /.well-known/oauth-authorization-server (RFC 8414) — lists endpoints
7
7
  *
8
- * For a single-origin server like ours, the protected resource and the
9
- * authorization server are the same origin.
8
+ * The authorization server (authorize/token/register) lives at the bare
9
+ * origin, but the protected resource itself is `/mcp` (see vercel.json —
10
+ * only `/mcp` is routed to this function; the bare origin 404s at the
11
+ * platform level before our code ever runs). RFC 8707 resource indicators
12
+ * flow the "resource" value from this document all the way through
13
+ * /authorize and /token, and a spec-compliant client uses it as the URL to
14
+ * call after minting a token, so advertising the bare origin here sends
15
+ * every post-auth MCP request to a path that doesn't exist.
10
16
  */
11
17
  export interface ProtectedResourceMetadata {
12
18
  resource: string;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/oauth/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gCAAgC,EAAE,MAAM,EAAE,CAAC;IAC3C,qCAAqC,EAAE,MAAM,EAAE,CAAC;IAChD,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,CAMpF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,2BAA2B,CAaxF"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/oauth/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gCAAgC,EAAE,MAAM,EAAE,CAAC;IAC3C,qCAAqC,EAAE,MAAM,EAAE,CAAC;IAChD,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,CAMpF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,2BAA2B,CAaxF"}
@@ -5,13 +5,19 @@
5
5
  * 1. /.well-known/oauth-protected-resource (RFC 9728) — points at the AS
6
6
  * 2. /.well-known/oauth-authorization-server (RFC 8414) — lists endpoints
7
7
  *
8
- * For a single-origin server like ours, the protected resource and the
9
- * authorization server are the same origin.
8
+ * The authorization server (authorize/token/register) lives at the bare
9
+ * origin, but the protected resource itself is `/mcp` (see vercel.json —
10
+ * only `/mcp` is routed to this function; the bare origin 404s at the
11
+ * platform level before our code ever runs). RFC 8707 resource indicators
12
+ * flow the "resource" value from this document all the way through
13
+ * /authorize and /token, and a spec-compliant client uses it as the URL to
14
+ * call after minting a token, so advertising the bare origin here sends
15
+ * every post-auth MCP request to a path that doesn't exist.
10
16
  */
11
17
  import { SCOPE } from './config.js';
12
18
  export function protectedResourceMetadata(baseUrl) {
13
19
  return {
14
- resource: baseUrl,
20
+ resource: `${baseUrl}/mcp`,
15
21
  authorization_servers: [baseUrl],
16
22
  scopes_supported: [SCOPE],
17
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/oauth/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAoBpC,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,qBAAqB,EAAE,CAAC,OAAO,CAAC;QAChC,gBAAgB,EAAE,CAAC,KAAK,CAAC;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,OAAO;QACL,MAAM,EAAE,OAAO;QACf,sBAAsB,EAAE,GAAG,OAAO,YAAY;QAC9C,cAAc,EAAE,GAAG,OAAO,QAAQ;QAClC,qBAAqB,EAAE,GAAG,OAAO,WAAW;QAC5C,wBAAwB,EAAE,CAAC,MAAM,CAAC;QAClC,qBAAqB,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;QAC9D,gCAAgC,EAAE,CAAC,MAAM,CAAC;QAC1C,wDAAwD;QACxD,qCAAqC,EAAE,CAAC,MAAM,CAAC;QAC/C,gBAAgB,EAAE,CAAC,KAAK,CAAC;KAC1B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/oauth/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAoBpC,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,OAAO;QACL,QAAQ,EAAE,GAAG,OAAO,MAAM;QAC1B,qBAAqB,EAAE,CAAC,OAAO,CAAC;QAChC,gBAAgB,EAAE,CAAC,KAAK,CAAC;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAe;IACzD,OAAO;QACL,MAAM,EAAE,OAAO;QACf,sBAAsB,EAAE,GAAG,OAAO,YAAY;QAC9C,cAAc,EAAE,GAAG,OAAO,QAAQ;QAClC,qBAAqB,EAAE,GAAG,OAAO,WAAW;QAC5C,wBAAwB,EAAE,CAAC,MAAM,CAAC;QAClC,qBAAqB,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;QAC9D,gCAAgC,EAAE,CAAC,MAAM,CAAC;QAC1C,wDAAwD;QACxD,qCAAqC,EAAE,CAAC,MAAM,CAAC;QAC/C,gBAAgB,EAAE,CAAC,KAAK,CAAC;KAC1B,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-setup.d.ts","sourceRoot":"","sources":["../src/server-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAMnE,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAI3D;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CA2D/E"}
1
+ {"version":3,"file":"server-setup.d.ts","sourceRoot":"","sources":["../src/server-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAMnE,OAAO,EAAE,YAAY,EAAkB,MAAM,aAAa,CAAC;AAK3D;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAuE/E"}
@@ -8,6 +8,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextpro
8
8
  import { DainOsApiError } from './client.js';
9
9
  import { allTools, getTool } from './tools/index.js';
10
10
  import { toJsonSchema } from './tools/types.js';
11
+ import { isAnnotated } from './tools/annotate.js';
11
12
  /**
12
13
  * Register the ListTools and CallTool request handlers on `server`.
13
14
  *
@@ -47,6 +48,18 @@ export function registerToolHandlers(server, client) {
47
48
  }
48
49
  try {
49
50
  const result = await tool.handler(client, parsed.data);
51
+ // An annotated result carries a model-facing advisory (e.g. an empty-list
52
+ // recovery hint). Emit the DATA as the first block (byte-identical to a
53
+ // plain return so deterministic consumers reading content[0] see no
54
+ // change) and the note as a second text block.
55
+ if (isAnnotated(result)) {
56
+ return {
57
+ content: [
58
+ { type: 'text', text: JSON.stringify(result.value, null, 2) },
59
+ { type: 'text', text: result.note },
60
+ ],
61
+ };
62
+ }
50
63
  // Some endpoints (e.g. archive_project hits DELETE → 204) resolve to
51
64
  // undefined. JSON.stringify(undefined) yields undefined, which fails the
52
65
  // MCP SDK's content[0].text string validation. Emit a confirmation
@@ -1 +1 @@
1
- {"version":3,"file":"server-setup.js","sourceRoot":"","sources":["../src/server-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAgB,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,MAAoB;IACvE,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;SAC5C,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iBAAiB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE;iBACxE;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,qBAAqB,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;qBAChE;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,qEAAqE;YACrE,yEAAyE;YACzE,mEAAmE;YACnE,oEAAoE;YACpE,MAAM,IAAI,GACR,MAAM,KAAK,SAAS;gBAClB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;aAC3C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GACX,KAAK,YAAY,cAAc;gBAC7B,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,KAAK,YAAY,KAAK;oBACtB,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBACnD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"server-setup.js","sourceRoot":"","sources":["../src/server-setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * A success-path result that carries an advisory note for the model without
3
+ * changing the data shape. server-setup detects the tag and emits the note as a
4
+ * SECOND MCP text content block, leaving the first (data) block byte-identical
5
+ * to a plain return. Used for empty-result hints (Unit 3): an empty list is a
6
+ * valid response, so it cannot be thrown, but it must still teach recovery.
7
+ */
8
+ export declare const ANNOTATED: unique symbol;
9
+ export interface AnnotatedResult {
10
+ [ANNOTATED]: true;
11
+ value: unknown;
12
+ note: string;
13
+ }
14
+ export declare function annotated(value: unknown, note: string): AnnotatedResult;
15
+ export declare function isAnnotated(x: unknown): x is AnnotatedResult;
16
+ //# sourceMappingURL=annotate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotate.d.ts","sourceRoot":"","sources":["../../src/tools/annotate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,SAAS,eAA6B,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAEvE;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAM5D"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * A success-path result that carries an advisory note for the model without
3
+ * changing the data shape. server-setup detects the tag and emits the note as a
4
+ * SECOND MCP text content block, leaving the first (data) block byte-identical
5
+ * to a plain return. Used for empty-result hints (Unit 3): an empty list is a
6
+ * valid response, so it cannot be thrown, but it must still teach recovery.
7
+ */
8
+ export const ANNOTATED = Symbol('dainos.annotated');
9
+ export function annotated(value, note) {
10
+ return { [ANNOTATED]: true, value, note };
11
+ }
12
+ export function isAnnotated(x) {
13
+ return (typeof x === 'object' &&
14
+ x !== null &&
15
+ x[ANNOTATED] === true);
16
+ }
17
+ //# sourceMappingURL=annotate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotate.js","sourceRoot":"","sources":["../../src/tools/annotate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAQpD,MAAM,UAAU,SAAS,CAAC,KAAc,EAAE,IAAY;IACpD,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAU;IACpC,OAAO,CACL,OAAO,CAAC,KAAK,QAAQ;QACrB,CAAC,KAAK,IAAI;QACT,CAAkC,CAAC,SAAS,CAAC,KAAK,IAAI,CACxD,CAAC;AACJ,CAAC"}
@@ -7,6 +7,8 @@
7
7
  * simple writes.
8
8
  */
9
9
  import type { ToolDefinition } from './types.js';
10
+ import type { DainOsClient } from '../client.js';
11
+ import type { FieldDef } from './registry.js';
10
12
  /** A single model's entry in the DMMF catalogue (mirrors the API's shape). */
11
13
  export interface CatalogueModel {
12
14
  model: string;
@@ -31,5 +33,20 @@ export declare function __resetLiveEnumCache(): void;
31
33
  export declare const describeSchema: ToolDefinition;
32
34
  export declare const query: ToolDefinition;
33
35
  export declare const mutate: ToolDefinition;
36
+ export declare function isUuid(value: string): boolean;
37
+ export declare function isUuidField(field: FieldDef): boolean;
38
+ /**
39
+ * Look up a NON-uuid value against a curated resource and return up to 5
40
+ * candidate {id,label}s. Never throws for "no match" — returns []. Used only to
41
+ * build a helpful resolution-assist error; it never auto-picks.
42
+ */
43
+ export declare function resolveIdCandidates(client: DainOsClient, resolverResource: string, value: string): Promise<Array<{
44
+ id: string;
45
+ label: string;
46
+ }>>;
47
+ export declare function resolutionMessage(fieldName: string, resolverResource: string, value: string, candidates: Array<{
48
+ id: string;
49
+ label: string;
50
+ }>): string;
34
51
  export declare const genericTools: ToolDefinition[];
35
52
  //# sourceMappingURL=generic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../src/tools/generic.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAajD,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC;IACjD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;QACE,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,EAAE,OAAO,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CACF,CAAC;IACF,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAgC5D,+EAA+E;AAC/E,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AA2DD,eAAO,MAAM,cAAc,EAAE,cAwC5B,CAAC;AAIF,eAAO,MAAM,KAAK,EAAE,cAgJnB,CAAC;AAIF,eAAO,MAAM,MAAM,EAAE,cAoFpB,CAAC;AAuJF,eAAO,MAAM,YAAY,EAAE,cAAc,EAIxC,CAAC"}
1
+ {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../src/tools/generic.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,eAAe,CAAC;AAY3D,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC;IACjD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;QACE,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;QACxB,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,IAAI,EAAE,OAAO,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CACF,CAAC;IACF,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAgC5D,+EAA+E;AAC/E,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AA2DD,eAAO,MAAM,cAAc,EAAE,cA2C5B,CAAC;AAIF,eAAO,MAAM,KAAK,EAAE,cAkKnB,CAAC;AAIF,eAAO,MAAM,MAAM,EAAE,cA0GpB,CAAC;AAuDF,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAEpD;AAMD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,YAAY,EACpB,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAwB/C;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/C,MAAM,CAOR;AAoKD,eAAO,MAAM,YAAY,EAAE,cAAc,EAIxC,CAAC"}
@@ -8,6 +8,8 @@
8
8
  */
9
9
  import { z } from 'zod';
10
10
  import { RESOURCES, serializeRegistry } from './registry.js';
11
+ import { HOWTO } from './howto.js';
12
+ import { annotated } from './annotate.js';
11
13
  // Process-global by design: the schema catalogue (models + enums) is
12
14
  // tenant-agnostic, so the first authenticated fetch is valid for every client.
13
15
  // /meta/schema is authenticate-only and returns identical data for all callers.
@@ -110,14 +112,17 @@ export const describeSchema = {
110
112
  const model = models?.[input.resource];
111
113
  if (model)
112
114
  return { [input.resource]: model };
113
- throw new Error(`Unknown resource "${input.resource}". Curated: ${Object.keys(RESOURCES).join(', ')}. ` +
115
+ throw new Error(`Unknown resource "${input.resource}". Call describe_schema() to list resources. ` +
116
+ `Curated: ${Object.keys(RESOURCES).join(', ')}. ` +
114
117
  `Generic models are listed under "_models" in describe_schema().`);
115
118
  }
116
119
  // Curated resources, with field lists reconciled against the live DMMF...
117
120
  const reconciled = overlayCatalogueFields(serializeRegistry(), models);
118
121
  const curated = overlayLiveEnums(reconciled, enums);
119
- // ...plus the full DMMF model catalogue under _models.
120
- return models ? { ...curated, _models: models } : curated;
122
+ // ...the how-to playbook, plus the full DMMF model catalogue under _models.
123
+ return models
124
+ ? { _howto: HOWTO, ...curated, _models: models }
125
+ : { _howto: HOWTO, ...curated };
121
126
  },
122
127
  };
123
128
  // ─── query ──────────────────────────────────────────────────────────
@@ -138,9 +143,8 @@ export const query = {
138
143
  .describe('Fetch a single record by ID or slug. Omit to list/search.'),
139
144
  parentId: z
140
145
  .string()
141
- .uuid()
142
146
  .optional()
143
- .describe('Parent resource ID for nested resources (e.g. projectId for milestones)'),
147
+ .describe('Parent resource ID (or a name to resolve) for nested resources, e.g. projectId for milestones'),
144
148
  filters: z
145
149
  .record(z.union([z.string(), z.number(), z.boolean()]))
146
150
  .optional()
@@ -179,21 +183,29 @@ export const query = {
179
183
  const model = models?.[input.resource];
180
184
  if (model)
181
185
  return queryGenericModel(client, model, input);
182
- throw new Error(`Unknown resource "${input.resource}". Curated: ${Object.keys(RESOURCES).join(', ')}. ` +
186
+ throw new Error(`Unknown resource "${input.resource}". Call describe_schema() to list resources. ` +
187
+ `Curated: ${Object.keys(RESOURCES).join(', ')}. ` +
183
188
  `Generic models are listed under "_models" in describe_schema().`);
184
189
  }
185
190
  const def = registryDef;
191
+ if (input.parentId && def.parentIdParam) {
192
+ await assertResolvableId(client, 'parentId', PARENT_RESOLVERS[def.parentIdParam], input.parentId);
193
+ }
186
194
  if (input.search && !def.searchable) {
187
195
  const filterable = listFilterableFields(def);
188
196
  throw new Error(`Resource "${input.resource}" does not support text search. ` +
189
- `Use filters instead. Filterable fields: ${filterable.join(', ')}`);
197
+ `Use filters instead: query({ resource: "${input.resource}", filters: { <one of: ${filterable.join(', ')}> } }).`);
190
198
  }
191
199
  const basePath = resolveBasePath(def, input.parentId);
192
200
  // ── Singleton GET (e.g. proposal_content, product_task_summary) ──
193
201
  if (def.singleton) {
194
202
  if (!input.parentId) {
203
+ const parentResource = def.parentIdParam ? PARENT_RESOLVERS[def.parentIdParam] : undefined;
204
+ const hint = parentResource
205
+ ? ` Resolve it first: query({ resource: "${parentResource}", search: "..." }) and pass its id as parentId.`
206
+ : '';
195
207
  throw new Error(`Resource "${input.resource}" is a singleton nested resource. ` +
196
- `Provide parentId (the ${def.parentIdParam}).`);
208
+ `Provide parentId (the ${def.parentIdParam}), a UUID.${hint}`);
197
209
  }
198
210
  const raw = await client.get(basePath);
199
211
  return def.afterFetch ? def.afterFetch(raw, {}) : raw;
@@ -209,12 +221,15 @@ export const query = {
209
221
  : basePath;
210
222
  const params = new URLSearchParams();
211
223
  if (input.filters) {
224
+ await assertResolvableIds(client, def, input.filters);
212
225
  for (const [key, value] of Object.entries(input.filters)) {
213
226
  const field = def.fields[key];
214
227
  if (!field?.filterable) {
215
228
  const filterable = listFilterableFields(def);
229
+ const redirect = notFilterableRedirect(input.resource, key);
216
230
  throw new Error(`Field "${key}" is not filterable on "${input.resource}". ` +
217
- `Filterable fields: ${filterable.join(', ')}`);
231
+ `Retry with one of: ${filterable.join(', ')}.` +
232
+ (redirect ? ` ${redirect}` : ''));
218
233
  }
219
234
  params.set(key, String(value));
220
235
  }
@@ -242,7 +257,12 @@ export const query = {
242
257
  }
243
258
  const qs = params.toString() ? `?${params.toString()}` : '';
244
259
  const raw = await client.get(`${searchBase}${qs}`);
245
- return def.afterFetch ? def.afterFetch(raw, {}) : raw;
260
+ const result = def.afterFetch ? def.afterFetch(raw, {}) : raw;
261
+ const narrowed = Boolean((input.filters && Object.keys(input.filters).length > 0) || input.search || input.parentId);
262
+ if (narrowed && Array.isArray(result) && result.length === 0) {
263
+ return annotated([], emptyListHint(def));
264
+ }
265
+ return result;
246
266
  },
247
267
  };
248
268
  // ─── mutate ─────────────────────────────────────────────────────────
@@ -265,14 +285,12 @@ export const mutate = {
265
285
  .describe('The mutation type'),
266
286
  id: z
267
287
  .string()
268
- .uuid()
269
288
  .optional()
270
- .describe('Record ID. Required for update and delete.'),
289
+ .describe('Record ID (or a name to resolve). Required for update and delete.'),
271
290
  parentId: z
272
291
  .string()
273
- .uuid()
274
292
  .optional()
275
- .describe('Parent ID for nested resources'),
293
+ .describe('Parent ID (or a name to resolve) for nested resources'),
276
294
  data: z
277
295
  .record(z.unknown())
278
296
  .optional()
@@ -287,13 +305,32 @@ export const mutate = {
287
305
  const model = models?.[input.resource];
288
306
  if (model)
289
307
  return mutateGenericModel(client, model, input);
290
- throw new Error(`Unknown resource "${input.resource}". Curated: ${Object.keys(RESOURCES).join(', ')}. ` +
308
+ throw new Error(`Unknown resource "${input.resource}". Call describe_schema() to list resources. ` +
309
+ `Curated: ${Object.keys(RESOURCES).join(', ')}. ` +
291
310
  `Generic models are listed under "_models" in describe_schema().`);
292
311
  }
293
312
  const def = registryDef;
294
313
  if (def.operations && !def.operations.includes(input.operation)) {
314
+ const op = input.operation;
315
+ const preferred = def.preferToolFor?.[op];
316
+ const via = preferred
317
+ ? ` Use ${Array.isArray(preferred) ? preferred.join(' / ') : preferred} instead.`
318
+ : '';
295
319
  throw new Error(`Operation "${input.operation}" is not supported on "${input.resource}". ` +
296
- `Allowed: ${def.operations.join(', ')}`);
320
+ `Allowed: ${def.operations.join(', ')}.${via}`);
321
+ }
322
+ if (input.parentId && def.parentIdParam) {
323
+ await assertResolvableId(client, 'parentId', PARENT_RESOLVERS[def.parentIdParam], input.parentId);
324
+ }
325
+ // `id` resolves against its OWN resource, so it passes input.resource (not a
326
+ // PARENT_RESOLVERS lookup). Two reasons this is correct, not a missing map:
327
+ // (1) input.resource is already a confirmed curated resource — registryDef =
328
+ // RESOURCES[input.resource] succeeded above; (2) an update/delete id is a
329
+ // record id OF that resource, so a non-UUID (a name) resolves by searching
330
+ // the same resource. parentId differs only because its param name
331
+ // (e.g. "projectId") is not itself a resource name and needs translating.
332
+ if (input.id && (input.operation === 'update' || input.operation === 'delete')) {
333
+ await assertResolvableId(client, 'id', input.resource, input.id);
297
334
  }
298
335
  const basePath = resolveBasePath(def, input.parentId);
299
336
  switch (input.operation) {
@@ -301,13 +338,16 @@ export const mutate = {
301
338
  if (!input.data)
302
339
  throw new Error('data is required for create operations');
303
340
  validateWritable(def, input.data, input.resource);
341
+ await assertResolvableIds(client, def, input.data);
304
342
  return client.post(basePath, input.data);
305
343
  }
306
344
  case 'update': {
307
345
  if (!input.id)
308
346
  throw new Error('id is required for update');
309
- if (input.data)
347
+ if (input.data) {
310
348
  validateWritable(def, input.data, input.resource);
349
+ await assertResolvableIds(client, def, input.data);
350
+ }
311
351
  const body = Object.fromEntries(Object.entries(input.data ?? {}).filter(([, v]) => v !== undefined));
312
352
  const method = def.updateMethod ?? 'PUT';
313
353
  return method === 'PATCH'
@@ -335,8 +375,11 @@ function resolveBasePath(def, parentId) {
335
375
  return def.nestedBasePath.replace('${parentId}', parentId);
336
376
  }
337
377
  if (def.parentIdParam && !parentId) {
338
- throw new Error(`Resource requires parentId (${def.parentIdParam}). ` +
339
- `Pass it to access this nested resource.`);
378
+ const parentResource = PARENT_RESOLVERS[def.parentIdParam];
379
+ const hint = parentResource
380
+ ? ` Resolve it first: query({ resource: "${parentResource}", search: "..." }) and pass its id as parentId.`
381
+ : '';
382
+ throw new Error(`Resource requires parentId (${def.parentIdParam}), a UUID.${hint}`);
340
383
  }
341
384
  return def.basePath;
342
385
  }
@@ -345,6 +388,110 @@ function listFilterableFields(def) {
345
388
  .filter(([, f]) => f.filterable)
346
389
  .map(([k]) => k);
347
390
  }
391
+ /**
392
+ * Resource-specific guidance appended to the generic "not filterable" error.
393
+ * sprints.projectId is the canonical mistake: sprints are tenant-wide, so scoping
394
+ * them by project is always wrong. The API silently ignores the param and returns
395
+ * EVERY sprint, so teach the correct model at the point of failure rather than let
396
+ * the caller act on an unscoped list.
397
+ */
398
+ function notFilterableRedirect(resource, key) {
399
+ if (resource === 'sprints' && (key === 'projectId' || key === 'project_id')) {
400
+ return 'Sprints are tenant-wide: there is ONE active sprint managing every project and client at once, never a per-project or per-client sprint. Get it with query({ resource: "sprints", filters: { status: "active" } }); to see one project\'s slice, query its tasks: query({ resource: "tasks", filters: { sprintId, projectId } }).';
401
+ }
402
+ return '';
403
+ }
404
+ function emptyListHint(def) {
405
+ const usage = def.usageNotes ? ` Resource notes: ${def.usageNotes}` : '';
406
+ return `0 results. An empty list usually means a wrong filter, not that nothing exists. Re-check filterable fields and enum values in describe_schema, broaden or drop a filter, or use search, then retry.${usage}`;
407
+ }
408
+ const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
409
+ export function isUuid(value) {
410
+ return UUID_RE.test(value);
411
+ }
412
+ export function isUuidField(field) {
413
+ return field.type === 'uuid' || field.valueFormat === 'uuid';
414
+ }
415
+ function labelOf(row) {
416
+ return String(row.name ?? row.title ?? row.email ?? row.id ?? '');
417
+ }
418
+ /**
419
+ * Look up a NON-uuid value against a curated resource and return up to 5
420
+ * candidate {id,label}s. Never throws for "no match" — returns []. Used only to
421
+ * build a helpful resolution-assist error; it never auto-picks.
422
+ */
423
+ export async function resolveIdCandidates(client, resolverResource, value) {
424
+ const target = RESOURCES[resolverResource];
425
+ if (!target)
426
+ return [];
427
+ const params = new URLSearchParams();
428
+ if (target.searchable)
429
+ params.set(target.searchPath ? 'q' : 'search', value);
430
+ params.set('limit', String(target.maxLimit ?? target.defaultLimit ?? 25));
431
+ const base = target.searchable && target.searchPath ? target.searchPath : target.basePath;
432
+ const qs = params.toString() ? `?${params.toString()}` : '';
433
+ let raw;
434
+ try {
435
+ raw = await client.get(`${base}${qs}`);
436
+ }
437
+ catch {
438
+ return [];
439
+ }
440
+ const list = target.afterFetch ? target.afterFetch(raw, {}) : raw;
441
+ if (!Array.isArray(list))
442
+ return [];
443
+ const rows = list;
444
+ const needle = value.toLowerCase();
445
+ const matches = rows.filter((r) => labelOf(r).toLowerCase().includes(needle));
446
+ // Prefer substring matches; for a searchable resource the server already
447
+ // narrowed, so its rows are all candidates; otherwise show nothing rather
448
+ // than arbitrary rows.
449
+ const chosen = matches.length > 0 ? matches : target.searchable ? rows : [];
450
+ return chosen.slice(0, 5).map((r) => ({ id: String(r.id), label: labelOf(r) }));
451
+ }
452
+ export function resolutionMessage(fieldName, resolverResource, value, candidates) {
453
+ const self = `query({ resource: "${resolverResource}", search: "${value}" })`;
454
+ if (candidates.length === 0) {
455
+ return `"${value}" is not a valid ${fieldName} (expects a UUID). No ${resolverResource} matched "${value}". List them with query({ resource: "${resolverResource}" }) and pick the id.`;
456
+ }
457
+ const list = candidates.map((c) => `${c.label} [${c.id}]`).join(', ');
458
+ return `"${value}" is not a valid ${fieldName} (expects a UUID). It looks like a name. Closest matches: ${list}. Retry with the id. (Search yourself: ${self}.)`;
459
+ }
460
+ // Maps a nested resource's parentIdParam to the curated resource its parent id
461
+ // resolves against. Absent entry → no candidate lookup (plain uuid error).
462
+ const PARENT_RESOLVERS = {
463
+ projectId: 'projects',
464
+ taskId: 'tasks',
465
+ proposalId: 'proposals',
466
+ };
467
+ /** Throw a resolution-assist error if `value` is a non-uuid string. */
468
+ async function assertResolvableId(client, fieldName, resolverResource, value) {
469
+ if (isUuid(value))
470
+ return;
471
+ // No curated resource to resolve against: emit a plain "expects a UUID" error
472
+ // rather than a query() skeleton naming a non-resource (e.g. the raw param).
473
+ if (!resolverResource) {
474
+ throw new Error(`"${value}" is not a valid ${fieldName} (expects a UUID).`);
475
+ }
476
+ const candidates = await resolveIdCandidates(client, resolverResource, value);
477
+ throw new Error(resolutionMessage(fieldName, resolverResource, value, candidates));
478
+ }
479
+ /**
480
+ * For each data/filter entry whose field is a uuid with a resolver, if the value
481
+ * is a non-uuid string, throw a resolution-assist error (with candidates). No-op
482
+ * for real UUIDs, non-uuid fields, and fields without a resolver.
483
+ */
484
+ async function assertResolvableIds(client, def, entries) {
485
+ for (const [key, value] of Object.entries(entries)) {
486
+ const field = def.fields[key];
487
+ if (!field?.resolver || !isUuidField(field))
488
+ continue;
489
+ if (typeof value !== 'string' || isUuid(value))
490
+ continue;
491
+ const candidates = await resolveIdCandidates(client, field.resolver.resource, value);
492
+ throw new Error(resolutionMessage(key, field.resolver.resource, value, candidates));
493
+ }
494
+ }
348
495
  function validateWritable(def, data, resourceName) {
349
496
  for (const key of Object.keys(data)) {
350
497
  const field = def.fields[key];
@@ -1 +1 @@
1
- {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../src/tools/generic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../src/tools/generic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The "how to interact" playbook — the procedural layer on top of the
3
+ * declarative schema. Surfaced (a) in SERVER_INSTRUCTIONS at connect and (b) as
4
+ * `_howto` in the full describe_schema() response, so the moves are in front of
5
+ * the model both when it connects and when it orients. Single source of truth;
6
+ * meta.ts and generic.ts both import from here so the two can never drift.
7
+ */
8
+ export interface HowtoRecipe {
9
+ title: string;
10
+ body: string;
11
+ }
12
+ export declare const HOWTO: ReadonlyArray<HowtoRecipe>;
13
+ export declare const HOWTO_TEXT: string;
14
+ //# sourceMappingURL=howto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"howto.d.ts","sourceRoot":"","sources":["../../src/tools/howto.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,KAAK,EAAE,aAAa,CAAC,WAAW,CA+B5C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAIb,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * The "how to interact" playbook — the procedural layer on top of the
3
+ * declarative schema. Surfaced (a) in SERVER_INSTRUCTIONS at connect and (b) as
4
+ * `_howto` in the full describe_schema() response, so the moves are in front of
5
+ * the model both when it connects and when it orients. Single source of truth;
6
+ * meta.ts and generic.ts both import from here so the two can never drift.
7
+ */
8
+ export const HOWTO = [
9
+ {
10
+ title: 'Golden rule: resolve, do not ask',
11
+ body: 'You can resolve almost everything yourself. Never stop to ask the user for an id, slug, or enum value: a query will give it to you. Only ask the user for genuinely new business content (a title, a decision, a date they have not stated).',
12
+ },
13
+ {
14
+ title: 'Name to id',
15
+ body: 'Have a name ("Portunus project", "Jack") and need an id? Do not ask. Run query({ resource: "projects", search: "Portunus" }) (or filters: { name: "Portunus" } on resources that are not searchable) and take .id from the result. Same for iam_users, sprints, tasks.',
16
+ },
17
+ {
18
+ title: 'Valid filters and enums',
19
+ body: 'Only fields with filterable: true can be filtered, and enum fields list their allowed values in enumValues. Read them in describe_schema before filtering. If a filter errors, the error names the valid set: retry with one of those, do not give up.',
20
+ },
21
+ {
22
+ title: 'An empty result is a clue, not a dead end',
23
+ body: 'A query returning [] usually means the filter was wrong, not that nothing exists. Re-read the resource usageNotes (for example, a status enum that matched no rows, or a name filter with the wrong spelling). Drop or broaden the filter, or switch to search, then retry.',
24
+ },
25
+ {
26
+ title: 'Sprints are tenant-wide (one active sprint)',
27
+ body: 'There is ONE active sprint at a time and it manages every project and client at once, never a per-project or per-client sprint. Get it with query({ resource: "sprints", filters: { status: "active" } }). Do NOT filter sprints by projectId (it is rejected), and do NOT resolve a sprint to a client or project name. To see one project\'s slice of the sprint, query its tasks: query({ resource: "tasks", filters: { sprintId, projectId } }).',
28
+ },
29
+ {
30
+ title: 'Semantic tool vs generic mutate',
31
+ body: 'Check preferToolFor before writing. Creating a task uses create_task, not mutate. Marking a task done uses complete_task. Proposal status uses set_proposal_status. The generic mutate is for plain field updates only.',
32
+ },
33
+ ];
34
+ export const HOWTO_TEXT = [
35
+ '## 0. How to interact (read first)',
36
+ '',
37
+ ...HOWTO.map((r) => `- **${r.title}.** ${r.body}`),
38
+ ].join('\n');
39
+ //# sourceMappingURL=howto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"howto.js","sourceRoot":"","sources":["../../src/tools/howto.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,MAAM,CAAC,MAAM,KAAK,GAA+B;IAC/C;QACE,KAAK,EAAE,kCAAkC;QACzC,IAAI,EACF,8OAA8O;KACjP;IACD;QACE,KAAK,EAAE,YAAY;QACnB,IAAI,EACF,wQAAwQ;KAC3Q;IACD;QACE,KAAK,EAAE,yBAAyB;QAChC,IAAI,EACF,wPAAwP;KAC3P;IACD;QACE,KAAK,EAAE,2CAA2C;QAClD,IAAI,EACF,6QAA6Q;KAChR;IACD;QACE,KAAK,EAAE,6CAA6C;QACpD,IAAI,EACF,sbAAsb;KACzb;IACD;QACE,KAAK,EAAE,iCAAiC;QACxC,IAAI,EACF,yNAAyN;KAC5N;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,oCAAoC;IACpC,EAAE;IACF,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;CACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC"}
@@ -32,6 +32,15 @@ export interface FieldDef {
32
32
  valueFormat?: string;
33
33
  /** One concrete example value to anchor the model. */
34
34
  example?: string | number | boolean;
35
+ /**
36
+ * For a uuid-typed field, the resource a NON-uuid value can be resolved
37
+ * against. When a caller passes a name where this field expects a UUID, the
38
+ * MCP looks the name up in this resource and returns candidate ids in the
39
+ * error (it never auto-picks). Only set where the target is a curated resource.
40
+ */
41
+ resolver?: {
42
+ resource: string;
43
+ };
35
44
  }
36
45
  /** Status/stage guidance for an enum field — how an agent should progress it. */
37
46
  export interface TransitionGuide {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,KAAK,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAErF,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACzC,sFAAsF;IACtF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CACrC;AAED,iFAAiF;AACjF,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,QAAQ,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,qDAAqD;IACrD,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;IACpE,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,GAAG,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IACnF;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;CACjE;AAKD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAqgBjD,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,iBAAiB,CAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQzB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export const RESOURCES = {
37
37
  description: { type: 'string', description: 'Project description' },
38
38
  status: { type: 'enum', description: 'Project lifecycle stage', filterable: true, enumValues: ['planning', 'active', 'on_hold', 'completed', 'archived', 'cancelled'] },
39
39
  clientCompanyId: { type: 'uuid', description: 'Owning company', filterable: true, nullable: true },
40
- ownerId: { type: 'uuid', description: 'Project owner user id', nullable: true },
40
+ ownerId: { type: 'uuid', description: 'Project owner user id', nullable: true, resolver: { resource: 'iam_users' } },
41
41
  productId: { type: 'uuid', description: 'Linked product', filterable: true, nullable: true },
42
42
  projectType: { type: 'enum', description: 'Project type', enumValues: ['internal', 'client', 'product', 'research'] },
43
43
  billingMethod: { type: 'enum', description: 'Billing method', enumValues: ['fixed', 'hourly', 'retainer', 'non_billable'] },
@@ -81,22 +81,40 @@ export const RESOURCES = {
81
81
  // ── Tasks ─────────────────────────────────────────────────────────
82
82
  sprints: {
83
83
  basePath: '/tasks/sprints',
84
- description: 'A sprint is a TENANT-WIDE, CROSS-PROJECT time-box. Its members are tasks (tasks.sprintId), which may span ' +
85
- 'many projects, products and clients in the tenant. A tenant runs ONE active sprint at a time. ' +
86
- 'projectId is an OPTIONAL "created-under" origin pointer, NOT ownership do not treat a sprint as belonging ' +
87
- 'to one project (it can be null). To see what a sprint covers, query tasks filtered by sprintId, not the reverse. ' +
88
- 'GET /tasks/sprints returns all sprints in the caller\'s tenant (optional ?status filter); ' +
89
- 'GET /tasks/sprints/:id returns detail with tasks. Use filters: { status: "active" } to find the active sprint ' +
90
- '(wrap-up Step 1.5). This resource is list + get only.',
84
+ description: 'A sprint is a TENANT-WIDE, CROSS-PROJECT time-box. There is ONE active sprint at a time and it manages EVERY ' +
85
+ 'project and client in the tenant at once. There are no per-project or per-client sprints. Its members are ' +
86
+ 'tasks (tasks.sprintId), which span many projects. Get the active sprint with filters: { status: "active" } ' +
87
+ '(wrap-up Step 1.5); to see one project\'s slice, query tasks filtered by { sprintId, projectId }. A sprint has ' +
88
+ 'NO owning project: it is scoped by tenant_id, not project. projectId is NOT a valid sprint filter and the MCP ' +
89
+ 'does NOT return a project affiliation on sprints, so never resolve a sprint to a client or project name. ' +
90
+ 'GET /tasks/sprints lists all tenant sprints (optional ?status filter); GET /tasks/sprints/:id returns detail ' +
91
+ 'with tasks. This resource is list + get only.',
91
92
  operations: ['list', 'get'],
92
93
  defaultSort: { field: 'start_date', direction: 'desc' },
93
94
  defaultLimit: 25,
94
95
  maxLimit: 100,
96
+ // Sprints are tenant-wide. A sprint's own `project_id` is a vestigial
97
+ // "created-under" origin pointer (often the incidental project it was made
98
+ // under) and is the last way an agent can wrongly conclude a sprint is
99
+ // client-specific. Strip it from every sprint we return. Only the sprint's
100
+ // OWN project_id is removed; the GET-by-id detail nests tasks whose
101
+ // project_id is a real task->project link and is left untouched.
102
+ afterFetch: (data) => {
103
+ const stripSprint = (s) => {
104
+ if (!s || typeof s !== 'object' || Array.isArray(s))
105
+ return s;
106
+ const rest = { ...s };
107
+ delete rest.project_id;
108
+ delete rest.projectId;
109
+ return rest;
110
+ };
111
+ return Array.isArray(data) ? data.map(stripSprint) : stripSprint(data);
112
+ },
95
113
  fields: {
96
114
  id: { type: 'uuid', description: 'Sprint ID', writable: false },
97
115
  name: { type: 'string', description: 'Sprint name', filterable: true },
98
116
  status: { type: 'enum', description: 'Sprint lifecycle status', filterable: true, enumSource: 'sprint_status', enumValues: ['planning', 'active', 'completed', 'cancelled'] },
99
- projectId: { type: 'uuid', description: 'Optional "created-under" project (origin only, NOT ownership; null for tenant-level sprints)', filterable: true, nullable: true },
117
+ projectId: { type: 'uuid', description: 'IGNORE. Vestigial "created-under" origin pointer, never ownership or scope. Sprints are tenant-wide, so this is NOT a valid filter and the MCP does not return it. Never resolve it to a client or project name.', nullable: true },
100
118
  goal: { type: 'string', description: 'Primary sprint goal (legacy accessor, derived from goals[0])', nullable: true },
101
119
  startDate: { type: 'date', description: 'Sprint start date (ISO 8601)', nullable: true },
102
120
  endDate: { type: 'date', description: 'Sprint end date (ISO 8601)', nullable: true },
@@ -150,11 +168,11 @@ export const RESOURCES = {
150
168
  clientViewLocked: { type: 'boolean', description: 'Lock client view from auto-regen' },
151
169
  status: { type: 'enum', description: 'Task status', filterable: true, enumSource: 'task_status', enumValues: ['backlog', 'todo', 'in_progress', 'review', 'production_ready', 'blocked', 'done', 'cancelled'] },
152
170
  taskType: { type: 'enum', description: 'Conventional-commit type', filterable: true, nullable: true, enumSource: 'task_type', enumValues: ['feat', 'fix', 'chore', 'refactor', 'docs', 'test'] },
153
- projectId: { type: 'uuid', description: 'Parent project', filterable: true, valueFormat: 'uuid' },
154
- sprintId: { type: 'uuid', description: 'Parent sprint', filterable: true, nullable: true },
171
+ projectId: { type: 'uuid', description: 'Parent project', filterable: true, valueFormat: 'uuid', resolver: { resource: 'projects' } },
172
+ sprintId: { type: 'uuid', description: 'Parent sprint', filterable: true, nullable: true, resolver: { resource: 'sprints' } },
155
173
  milestoneId: { type: 'uuid', description: 'Parent milestone', filterable: true, nullable: true },
156
- parentTaskId: { type: 'uuid', description: 'Parent task (for subtasks)', filterable: true, nullable: true },
157
- assigneeId: { type: 'uuid', description: 'Assigned user', filterable: true, nullable: true },
174
+ parentTaskId: { type: 'uuid', description: 'Parent task (for subtasks)', filterable: true, nullable: true, resolver: { resource: 'tasks' } },
175
+ assigneeId: { type: 'uuid', description: 'Assigned user', filterable: true, nullable: true, resolver: { resource: 'iam_users' } },
158
176
  portalAssigneeId: { type: 'uuid', description: 'Portal-user assignee', nullable: true },
159
177
  clientCompanyId: { type: 'uuid', description: 'Client company override', nullable: true },
160
178
  priorityMoscow: { type: 'enum', description: 'MoSCoW priority', filterable: true, enumSource: 'priority_moscow', enumValues: ['must', 'should', 'could', 'wont'] },
@@ -170,7 +188,7 @@ export const RESOURCES = {
170
188
  dueDate: { type: 'date', description: 'Due date (ISO 8601)', filterable: true, nullable: true, valueFormat: 'ISO 8601 date' },
171
189
  startDate: { type: 'date', description: 'Start date (ISO 8601)', nullable: true },
172
190
  completedAt: { type: 'date', description: 'Completion timestamp (auto-set on done)', nullable: true },
173
- completedBy: { type: 'uuid', description: 'User who completed', nullable: true },
191
+ completedBy: { type: 'uuid', description: 'User who completed', nullable: true, resolver: { resource: 'iam_users' } },
174
192
  tags: { type: 'json', description: 'Array of string tags' },
175
193
  pillarTags: { type: 'json', description: 'Array of pillar tag strings' },
176
194
  },
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dain-os/mcp-server",
3
- "version": "0.22.1",
3
+ "version": "0.24.0",
4
4
  "description": "MCP server for DainOS — manage projects, tasks, proposals, and proposal content from Claude Code and other MCP clients",
5
5
  "type": "module",
6
6
  "bin": {