@telora/daemon-core 0.2.18 → 0.2.19

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.
@@ -1,23 +1,23 @@
1
1
  /**
2
2
  * MCP server path resolution and config generation.
3
3
  *
4
- * `.mcp.json` files written by the daemon use a committable, npx-based shape:
5
- * the command is `npx`, args invoke `@telora/mcp-products@latest` with an
6
- * explicit bin name, and per-user secrets (TELORA_TRACKER_ID) are NOT inlined.
7
- * The MCP server reads them from `~/.telora/daemon.json` at startup. This
8
- * makes a single `.mcp.json` byte-identical across collaborators.
4
+ * `.mcp.json` is per-user-machine (gitignored). It uses `command: "node"`
5
+ * with an absolute path to the daemon's bundled `@telora/mcp-products`. The
6
+ * daemon owns the dependency; its self-update mechanism keeps the bundled
7
+ * MCP fresh, so there is no second self-updater and no npx cache key for
8
+ * `@latest` to fossilize into.
9
9
  *
10
- * `resolveMcpServerPath` is retained for daemon-spawned worktrees that need
11
- * an absolute node-modules path (e.g. cold-start before npx cache exists).
10
+ * Earlier shape used `npx -p @telora/mcp-products@latest telora-mcp-products`.
11
+ * That argv hashes into `~/.npm/_npx/<hash>/` and npx reuses the cache for
12
+ * the same argv -- the `@latest` token never re-resolves. Users would sit on
13
+ * a months-old MCP without any signal. The abs-path shape sidesteps the
14
+ * problem entirely.
12
15
  *
13
16
  * The config generation helpers are pure JSON builders with no external deps.
14
17
  */
15
18
  /**
16
- * Canonical bin name for `@telora/mcp-products`. The package's bin map
17
- * exposes only `telora-mcp-products`; the unscoped package name is
18
- * `mcp-products`, which does NOT match, so `npx -p @telora/mcp-products
19
- * @latest` requires the bin to be named explicitly. Same lesson the daemon
20
- * learned in commit 0368f4b6.
19
+ * Canonical package + bin names. Retained as exported constants for callers
20
+ * that need to detect or migrate legacy npx-shape `.mcp.json` files.
21
21
  */
22
22
  export declare const MCP_PRODUCTS_PACKAGE = "@telora/mcp-products";
23
23
  export declare const MCP_PRODUCTS_BIN = "telora-mcp-products";
@@ -36,50 +36,44 @@ export declare function resolveMcpServerPath(callerImportMetaUrl: string): strin
36
36
  /**
37
37
  * MCP config generation options.
38
38
  *
39
- * `mcpServerPath` is no longer required for the committable connect-time shape;
40
- * it is retained for callers (e.g. daemon-spawned worktrees) that prefer an
41
- * absolute node-modules path over npx.
39
+ * `mcpServerPath` is required: the file uses an absolute path so Claude
40
+ * Code can spawn the MCP without npx (the cache trap that motivated this
41
+ * shape). Callers resolve the path from their own package context via
42
+ * `resolveMcpServerPath(import.meta.url)`.
42
43
  */
43
44
  export interface McpConfigOptions {
44
- /** Optional absolute path to the MCP server entry point. When set, emits
45
- * a node-based command instead of the default npx-based committable shape. */
46
- mcpServerPath?: string;
47
- /** Telora tracker ID. Only inlined when `inlineTrackerId` is true (legacy
48
- * worktree path); the committable shape leaves this off. */
45
+ /** Absolute path to the MCP server entry point (`dist/index.js`). */
46
+ mcpServerPath: string;
47
+ /** Telora tracker ID. Inlined into env when present. */
49
48
  trackerId?: string;
50
- /** Telora API URL. Inlined into env unless omitted. */
49
+ /** Telora API URL. Inlined into env when present. */
51
50
  teloraUrl?: string;
52
- /** MCP profile (e.g. 'execution' for daemon-spawned agents). */
51
+ /** MCP profile (e.g. 'execution' for daemon-spawned agents, 'human' for
52
+ * user repos). Optional; inlined into env when present. */
53
53
  profile?: string;
54
- /** When true, inline TELORA_TRACKER_ID into env (legacy / daemon-spawned
55
- * worktrees). When false/undefined, omit from env so the file is
56
- * committable -- the MCP server reads tracker_id from daemon.json. */
57
- inlineTrackerId?: boolean;
58
54
  }
59
55
  /**
60
56
  * Build the .mcp.json content object.
61
57
  *
62
- * Default shape (committable, written by `telora-daemon connect` to user repos):
63
- * command: "npx"
64
- * args: ["-p", "@telora/mcp-products@latest", "telora-mcp-products"]
65
- * env: { TELORA_URL: "<url>" } (TELORA_TRACKER_ID intentionally absent)
66
- *
67
- * Legacy shape (daemon-spawned worktrees, when mcpServerPath is set):
58
+ * Shape:
68
59
  * command: "node"
69
- * args: ["<absolute-path>"]
60
+ * args: ["<abs-path-to-mcp-products/dist/index.js>"]
70
61
  * env: { TELORA_TRACKER_ID, TELORA_URL, [TELORA_MCP_PROFILE] }
62
+ *
63
+ * The file is per-user-machine and gitignored. The daemon refreshes it on
64
+ * every startup so the path stays valid across daemon self-updates.
71
65
  */
72
66
  export declare function buildMcpConfig(options: McpConfigOptions): Record<string, unknown>;
73
67
  /**
74
- * Heuristic: is a parsed .mcp.json the legacy embedded-credentials shape?
68
+ * Heuristic: is a parsed .mcp.json the legacy npx shape?
75
69
  *
76
- * Old shape:
77
- * - command === "node" with absolute args path into node_modules, OR
78
- * - env contains a literal TELORA_TRACKER_ID value (a UUID, not a
79
- * `${...}` interpolation placeholder)
70
+ * Old shape used `command: "npx"` with args invoking
71
+ * `@telora/mcp-products@latest`. That argv hashes into a stable npx cache
72
+ * directory and never re-resolves `@latest` -- users would sit on a stale
73
+ * MCP version with no signal.
80
74
  *
81
- * Used by the connect flow on re-runs to detect a stale file the user may
82
- * now expect to commit, so we rewrite it to the credential-free shape.
75
+ * Used by the connect flow and the daemon's startup refresh to detect a
76
+ * pre-fix file and rewrite it to the current node + abs-path shape.
83
77
  */
84
78
  export declare function isLegacyMcpConfigShape(parsed: unknown): boolean;
85
79
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-resolution.d.ts","sourceRoot":"","sources":["../src/mcp-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAUxE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;mFAC+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;iEAC6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;2EAEuE;IACvE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsBjF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAa/D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAInF"}
1
+ {"version":3,"file":"mcp-resolution.d.ts","sourceRoot":"","sources":["../src/mcp-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH;;;GAGG;AACH,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,gBAAgB,wBAAwB,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAUxE;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;gEAC4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBjF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAW/D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAInF"}
@@ -1,14 +1,17 @@
1
1
  /**
2
2
  * MCP server path resolution and config generation.
3
3
  *
4
- * `.mcp.json` files written by the daemon use a committable, npx-based shape:
5
- * the command is `npx`, args invoke `@telora/mcp-products@latest` with an
6
- * explicit bin name, and per-user secrets (TELORA_TRACKER_ID) are NOT inlined.
7
- * The MCP server reads them from `~/.telora/daemon.json` at startup. This
8
- * makes a single `.mcp.json` byte-identical across collaborators.
4
+ * `.mcp.json` is per-user-machine (gitignored). It uses `command: "node"`
5
+ * with an absolute path to the daemon's bundled `@telora/mcp-products`. The
6
+ * daemon owns the dependency; its self-update mechanism keeps the bundled
7
+ * MCP fresh, so there is no second self-updater and no npx cache key for
8
+ * `@latest` to fossilize into.
9
9
  *
10
- * `resolveMcpServerPath` is retained for daemon-spawned worktrees that need
11
- * an absolute node-modules path (e.g. cold-start before npx cache exists).
10
+ * Earlier shape used `npx -p @telora/mcp-products@latest telora-mcp-products`.
11
+ * That argv hashes into `~/.npm/_npx/<hash>/` and npx reuses the cache for
12
+ * the same argv -- the `@latest` token never re-resolves. Users would sit on
13
+ * a months-old MCP without any signal. The abs-path shape sidesteps the
14
+ * problem entirely.
12
15
  *
13
16
  * The config generation helpers are pure JSON builders with no external deps.
14
17
  */
@@ -16,11 +19,8 @@ import { createRequire } from 'node:module';
16
19
  import { writeFileSync } from 'node:fs';
17
20
  import { join } from 'node:path';
18
21
  /**
19
- * Canonical bin name for `@telora/mcp-products`. The package's bin map
20
- * exposes only `telora-mcp-products`; the unscoped package name is
21
- * `mcp-products`, which does NOT match, so `npx -p @telora/mcp-products
22
- * @latest` requires the bin to be named explicitly. Same lesson the daemon
23
- * learned in commit 0368f4b6.
22
+ * Canonical package + bin names. Retained as exported constants for callers
23
+ * that need to detect or migrate legacy npx-shape `.mcp.json` files.
24
24
  */
25
25
  export const MCP_PRODUCTS_PACKAGE = '@telora/mcp-products';
26
26
  export const MCP_PRODUCTS_BIN = 'telora-mcp-products';
@@ -48,31 +48,26 @@ export function resolveMcpServerPath(callerImportMetaUrl) {
48
48
  /**
49
49
  * Build the .mcp.json content object.
50
50
  *
51
- * Default shape (committable, written by `telora-daemon connect` to user repos):
52
- * command: "npx"
53
- * args: ["-p", "@telora/mcp-products@latest", "telora-mcp-products"]
54
- * env: { TELORA_URL: "<url>" } (TELORA_TRACKER_ID intentionally absent)
55
- *
56
- * Legacy shape (daemon-spawned worktrees, when mcpServerPath is set):
51
+ * Shape:
57
52
  * command: "node"
58
- * args: ["<absolute-path>"]
53
+ * args: ["<abs-path-to-mcp-products/dist/index.js>"]
59
54
  * env: { TELORA_TRACKER_ID, TELORA_URL, [TELORA_MCP_PROFILE] }
55
+ *
56
+ * The file is per-user-machine and gitignored. The daemon refreshes it on
57
+ * every startup so the path stays valid across daemon self-updates.
60
58
  */
61
59
  export function buildMcpConfig(options) {
62
60
  const env = {};
63
61
  if (options.teloraUrl)
64
62
  env.TELORA_URL = options.teloraUrl;
65
- if ((options.inlineTrackerId || options.mcpServerPath) && options.trackerId) {
63
+ if (options.trackerId)
66
64
  env.TELORA_TRACKER_ID = options.trackerId;
67
- }
68
65
  if (options.profile)
69
66
  env.TELORA_MCP_PROFILE = options.profile;
70
- const useNodePath = !!options.mcpServerPath;
71
- const command = useNodePath ? 'node' : 'npx';
72
- const args = useNodePath
73
- ? [options.mcpServerPath]
74
- : ['-p', `${MCP_PRODUCTS_PACKAGE}@latest`, MCP_PRODUCTS_BIN];
75
- const server = { command, args };
67
+ const server = {
68
+ command: 'node',
69
+ args: [options.mcpServerPath],
70
+ };
76
71
  if (Object.keys(env).length > 0)
77
72
  server.env = env;
78
73
  return {
@@ -82,15 +77,15 @@ export function buildMcpConfig(options) {
82
77
  };
83
78
  }
84
79
  /**
85
- * Heuristic: is a parsed .mcp.json the legacy embedded-credentials shape?
80
+ * Heuristic: is a parsed .mcp.json the legacy npx shape?
86
81
  *
87
- * Old shape:
88
- * - command === "node" with absolute args path into node_modules, OR
89
- * - env contains a literal TELORA_TRACKER_ID value (a UUID, not a
90
- * `${...}` interpolation placeholder)
82
+ * Old shape used `command: "npx"` with args invoking
83
+ * `@telora/mcp-products@latest`. That argv hashes into a stable npx cache
84
+ * directory and never re-resolves `@latest` -- users would sit on a stale
85
+ * MCP version with no signal.
91
86
  *
92
- * Used by the connect flow on re-runs to detect a stale file the user may
93
- * now expect to commit, so we rewrite it to the credential-free shape.
87
+ * Used by the connect flow and the daemon's startup refresh to detect a
88
+ * pre-fix file and rewrite it to the current node + abs-path shape.
94
89
  */
95
90
  export function isLegacyMcpConfigShape(parsed) {
96
91
  if (!parsed || typeof parsed !== 'object')
@@ -100,14 +95,11 @@ export function isLegacyMcpConfigShape(parsed) {
100
95
  if (!server || typeof server !== 'object')
101
96
  return false;
102
97
  const s = server;
103
- if (s.command === 'node')
104
- return true;
105
- const env = s.env;
106
- const tracker = env?.TELORA_TRACKER_ID;
107
- if (typeof tracker === 'string' && tracker.length > 0 && !tracker.includes('${')) {
108
- return true;
109
- }
110
- return false;
98
+ if (s.command !== 'npx')
99
+ return false;
100
+ if (!Array.isArray(s.args))
101
+ return false;
102
+ return s.args.some((a) => typeof a === 'string' && a.includes(`${MCP_PRODUCTS_PACKAGE}@`));
111
103
  }
112
104
  /**
113
105
  * Write a .mcp.json file to a directory.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-resolution.js","sourceRoot":"","sources":["../src/mcp-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,mBAA2B;IAC9D,MAAM,aAAa,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACzD,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,iGAAiG;YACjG,mBAAmB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtE,CAAC;IACJ,CAAC;AACH,CAAC;AA0BD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,OAAyB;IACtD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,IAAI,OAAO,CAAC,SAAS;QAAE,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAC1D,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5E,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,CAAC,OAAO;QAAE,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAE9D,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7C,MAAM,IAAI,GAAG,WAAW;QACtB,CAAC,CAAC,CAAC,OAAO,CAAC,aAAuB,CAAC;QACnC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,oBAAoB,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAE/D,MAAM,MAAM,GAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1D,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;IAElD,OAAO;QACL,UAAU,EAAE;YACV,iBAAiB,EAAE,MAAM;SAC1B;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAe;IACpD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,IAAI,GAAG,MAAkD,CAAC;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,iBAAiB,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,CAAC,GAAG,MAA8D,CAAC;IACzE,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,GAAG,GAAG,CAAC,CAAC,GAA0C,CAAC;IACzD,MAAM,OAAO,GAAG,GAAG,EAAE,iBAAiB,CAAC;IACvC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,OAAyB;IAC3E,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC9C,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"mcp-resolution.js","sourceRoot":"","sources":["../src/mcp-resolution.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telora/daemon-core",
3
- "version": "0.2.18",
3
+ "version": "0.2.19",
4
4
  "description": "Shared core infrastructure for Telora daemon and factory - resilience, API client, config, git operations",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",