rivet-design 0.14.0 → 0.14.2
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/cli/commands/mcpServe.d.ts.map +1 -1
- package/dist/cli/commands/mcpServe.js +6 -0
- package/dist/cli/commands/mcpServe.js.map +1 -1
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/commands/serve.js +18 -3
- package/dist/cli/commands/serve.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -10
- package/dist/index.js.map +1 -1
- package/dist/install/globalBootstrap.d.ts +47 -0
- package/dist/install/globalBootstrap.d.ts.map +1 -0
- package/dist/install/globalBootstrap.js +106 -0
- package/dist/install/globalBootstrap.js.map +1 -0
- package/dist/install/harnesses.d.ts +5 -4
- package/dist/install/harnesses.d.ts.map +1 -1
- package/dist/install/harnesses.js +8 -8
- package/dist/install/harnesses.js.map +1 -1
- package/dist/install/mcpRegistration.d.ts +17 -1
- package/dist/install/mcpRegistration.d.ts.map +1 -1
- package/dist/install/mcpRegistration.js +44 -14
- package/dist/install/mcpRegistration.js.map +1 -1
- package/dist/utils/loginShellPath.d.ts +25 -0
- package/dist/utils/loginShellPath.d.ts.map +1 -0
- package/dist/utils/loginShellPath.js +178 -0
- package/dist/utils/loginShellPath.js.map +1 -0
- package/package.json +1 -1
- package/src/ui/dist/assets/{main-DJjaeK_0.js → main-2XsJBBhV.js} +2 -2
- package/src/ui/dist/index.html +1 -1
|
@@ -320,13 +320,13 @@ Next steps:
|
|
|
320
320
|
/**
|
|
321
321
|
* Claude Desktop chat is retired as a CLI install target because it has no
|
|
322
322
|
* project shell. Claude Code in the desktop app uses the `claude` harness.
|
|
323
|
-
*
|
|
324
|
-
* server for chat
|
|
323
|
+
* MCP registration (the default) configures the resident `rivet mcp serve`
|
|
324
|
+
* stdio server for chat; `--no-mcp` installs only clean up prior entries.
|
|
325
325
|
*/
|
|
326
|
-
const CLAUDE_DESKTOP_OUT_OF_SCOPE_MESSAGE = `Claude Desktop chat has no project shell for running the \`rivet\` CLI
|
|
327
|
-
|
|
326
|
+
const CLAUDE_DESKTOP_OUT_OF_SCOPE_MESSAGE = `Claude Desktop chat has no project shell for running the \`rivet\` CLI — the
|
|
327
|
+
MCP server is its only integration, and --no-mcp skipped registering it:
|
|
328
328
|
|
|
329
|
-
rivet install claude-desktop
|
|
329
|
+
rivet install claude-desktop
|
|
330
330
|
|
|
331
331
|
For Claude Code in the desktop app, run \`rivet install claude\` instead. A
|
|
332
332
|
separate terminal installation of Claude Code is not required.`;
|
|
@@ -407,9 +407,9 @@ Welcome to Rivet!
|
|
|
407
407
|
|
|
408
408
|
Rivet is a design agent for your coding agent. Your agent drives it by
|
|
409
409
|
running \`rivet\` CLI commands — install writes each agent's usage guidance
|
|
410
|
-
and its command allowlist so those commands run without approval prompts
|
|
411
|
-
|
|
412
|
-
|
|
410
|
+
and its command allowlist so those commands run without approval prompts,
|
|
411
|
+
and registers the resident MCP server (\`rivet mcp serve\`) with each host
|
|
412
|
+
that supports it. Pass --no-mcp to skip the MCP registration.
|
|
413
413
|
`;
|
|
414
414
|
const supportedListBlock = () => exports.HARNESSES.map((h) => ` rivet install ${h.id.padEnd(16)}${h.label}`).join('\n');
|
|
415
415
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harnesses.js","sourceRoot":"","sources":["../../src/install/harnesses.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,4DAA8C;AAC9C,4CAAoB;AACpB,4CAAoB;AACpB,gDAAwB;AACxB,sDAI8B;AAC9B,6CAYsB;AA4qBb,iGAprBP,6BAAgB,OAorBO;AA3qBzB,mDAA0E;AAC1E,2CAMqB;AACrB,uDAa2B;AAoE3B,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAY,EAAE;IAClD,IAAI,CAAC;QACH,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAC3B,KAAa,EACb,QAAgB,EAChB,MAA4B,EACnB,EAAE;IACX,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,gCAAgC,KAAK,uBAAuB,QAAQ,MAAM,MAAM,CAAC,KAAK,EAAE,CACzF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,OAAO;QACZ,CAAC,CAAC,kCAAkC,QAAQ,EAAE;QAC9C,CAAC,CAAC,0CAA0C,QAAQ,EAAE,CACzD,CAAC;IACF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CACT,iEAAiE,CAClE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,uFAAuF,CACxF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,GAAW,EAAE,CAClC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAExD,MAAM,wBAAwB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAExD;;;GAGG;AACH,MAAM,qBAAqB,GAAG,GAAY,EAAE,CAC1C,wBAAwB,EAAE;IAC1B,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,OAAO,CAAC,IAAA,mCAAuB,GAAE,CAAC,CAAC,CAAC;AAEzD,iEAAiE;AACjE,MAAM,qBAAqB,GAAG,CAC5B,KAAa,EACb,MAA6B,EACpB,EAAE;IACX,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,yDAAyD,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,CAClF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,OAAO;QACZ,CAAC,CAAC,gEAAgE,KAAK,EAAE;QACzE,CAAC,CAAC,8CAA8C,KAAK,EAAE,CAC1D,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,8EAA8E;AAC9E,oEAAoE;AACpE,8EAA8E;AAE9E,MAAM,aAAa,GAAY;IAC7B,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,aAAa;IACpB,eAAe,EAAE,qBAAqB;IACtC,UAAU,EAAE,4BAA4B;IACxC,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,qBAAqB;IAC7B,mBAAmB,EAAE,GAAG,EAAE,CACxB,+HAA+H;IACjI,OAAO,EAAE,CAAC,OAA+B,EAAkB,EAAE;QAC3D,MAAM,KAAK,GAAG,IAAA,oCAAsB,GAAE,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,4CAA4C,cAAc,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAC/E,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,IAAA,sCAAwB,GAAE,CAAC;QAC/C,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CACT,kGAAkG,CACnG,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,8CAA8C,IAAA,mCAAqB,GAAE,KAAK,WAAW,CAAC,KAAK,EAAE,CAC9F,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,oBAAoB,CACtC,aAAa,EACb,IAAA,+BAAkB,GAAE,EACpB,IAAA,iCAAoB,GAAE,CACvB,CAAC;QACF,IAAI,IAAA,kCAAsB,GAAE,CAAC,OAAO,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CACT,+DAA+D,CAChE,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,EAAE,GAAG,IAAI,wBAAwB,EAAE,EAAE,CAAC;YAC/C,KAAK,GAAG,qBAAqB,CAAC,aAAa,EAAE,IAAA,uCAAqB,GAAE,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CACT,yFAAyF,CAC1F,CAAC;QACJ,CAAC;QACD,OAAO;YACL,EAAE,EAAE,KAAK,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,IAAI,KAAK;YAChE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,SAAS,EAAE,GAAY,EAAE;QACvB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,YAAE,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;YACpC,YAAE,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,YAAE,CAAC,UAAU,CAAC,IAAA,mCAAqB,GAAE,CAAC,EAAE,CAAC;YAC3C,YAAE,CAAC,MAAM,CAAC,IAAA,mCAAqB,GAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,MAAM,SAAS,GAAG,IAAA,kCAAqB,GAAE,CAAC;QAC1C,IAAI,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CACT,4CAA4C,IAAA,+BAAkB,GAAE,EAAE,CACnE,CAAC;YACF,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,yEAAyE;QACzE,IAAI,IAAA,yCAAuB,GAAE,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACjE,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,EAAE,GAAY,EAAE;QACpB,IAAI,CAAC,qBAAqB,EAAE;YAAE,OAAO,KAAK,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAA,oCAAsB,GAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAA,sCAAwB,GAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAA,iCAAoB,GAAE,CAAC;QACzC,IAAA,kCAAsB,GAAE,CAAC;QACzB,IAAI,IAAA,gDAA8B,EAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,kEAAkE;YAClE,IAAA,uCAAqB,GAAE,CAAC;QAC1B,CAAC;QACD,MAAM,OAAO,GACX,KAAK,CAAC,OAAO;YACb,WAAW,CAAC,OAAO;YACnB,SAAS,CAAC,EAAE;YACZ,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QAC9B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,SAAS,EAAE;;;;CAIZ;IACC,WAAW,EAAE,kCAAkC;IAC/C,WAAW,EAAE,uCAAuC;CACrD,CAAC;AAEF,MAAM,aAAa,GAAY;IAC7B,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,QAAQ;IACf,eAAe,EAAE,gBAAgB;IACjC,UAAU,EAAE,oBAAoB;IAChC,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,GAAY,EAAE,CAAC,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IACxE,mBAAmB,EAAE,GAAG,EAAE,CACxB,+FAA+F;IACjG,OAAO,EAAE,CAAC,OAA+B,EAAkB,EAAE;QAC3D,MAAM,WAAW,GAAG,oBAAoB,CACtC,QAAQ,EACR,IAAA,kCAAqB,GAAE,EACvB,IAAA,iCAAoB,GAAE,CACvB,CAAC;QACF,IAAI,IAAA,kCAAsB,GAAE,CAAC,OAAO,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CACT,gFAAgF,CACjF,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,KAAK,GAAG,qBAAqB,CAAC,6BAA6B,EAAE,IAAA,mCAAiB,GAAE,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,CAAC,GAAG,CACT,8FAA8F,CAC/F,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,WAAW,IAAI,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACrD,CAAC;IACD,SAAS,EAAE,GAAY,EAAE;QACvB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,SAAS,GAAG,IAAA,kCAAqB,GAAE,CAAC;QAC1C,IAAI,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CACT,4CAA4C,IAAA,kCAAqB,GAAE,EAAE,CACtE,CAAC;YACF,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,IAAA,kCAAsB,GAAE,CAAC,OAAO,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;YAC1E,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,IAAA,qCAAmB,GAAE,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,EAAE,GAAY,EAAE;QACpB,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrE,MAAM,SAAS,GAAG,IAAA,iCAAoB,GAAE,CAAC;QACzC,IAAA,kCAAsB,GAAE,CAAC;QACzB,IAAI,IAAA,4CAA0B,GAAE,EAAE,CAAC;YACjC,IAAA,mCAAiB,GAAE,CAAC;QACtB,CAAC;QACD,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,SAAS,CAAC,EAAE,CAAC;IACtB,CAAC;IACD,SAAS,EAAE;;;;CAIZ;IACC,WAAW,EAAE,uCAAuC;IACpD,WAAW,EAAE,kCAAkC;CAChD,CAAC;AAEF,MAAM,YAAY,GAAY;IAC5B,EAAE,EAAE,OAAO;IACX,KAAK,EAAE,kBAAkB;IACzB,eAAe,EAAE,eAAe;IAChC,UAAU,EAAE,iCAAiC;IAC7C,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;IAC7B,mBAAmB,EAAE,GAAG,EAAE,CACxB,qGAAqG;IACvG,OAAO,EAAE,CAAC,OAA+B,EAAkB,EAAE;QAC3D,MAAM,QAAQ,GAAG,IAAA,kCAAkB,GAAE,CAAC;QACtC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,2DAA2D,QAAQ,CAAC,KAAK,EAAE,CAC5E,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,4BAAe,GAAE,CAAC;QAChC,MAAM,OAAO,GAAG,oBAAoB,CAClC,kBAAkB,EAClB,IAAA,2BAAc,GAAE,EAChB,KAAK,CACN,CAAC;QACF,IAAI,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CACT,+IAA+I,CAChJ,CAAC;QACJ,CAAC;QACD,IAAI,IAAA,iCAAqB,GAAE,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CACT,+DAA+D,CAChE,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,KAAK,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,IAAA,kCAAgB,GAAE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,OAAO,IAAI,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChE,CAAC;IACD,SAAS,EAAE,GAAY,EAAE;QACvB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAA,mCAAmB,GAAE,CAAC;QACvC,IAAI,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAChE,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,6BAAgB,GAAE,CAAC;QACjC,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAA,2BAAc,GAAE,GAAG,CAAC,CAAC;YAChE,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,IAAA,oCAAkB,GAAE,CAAC,OAAO,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,EAAE,GAAY,EAAE;QACpB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAA,kCAAkB,GAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAA,4BAAe,GAAE,CAAC;QAChC,IAAA,iCAAqB,GAAE,CAAC;QACxB,IAAI,IAAA,gDAA8B,EAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,IAAA,kCAAgB,GAAE,CAAC;QACrB,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,SAAS,EAAE;;;;CAIZ;IACC,WAAW,EAAE,4CAA4C;IACzD,WAAW,EAAE,6CAA6C;CAC3D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,mCAAmC,GAAG;;;;;;+DAMmB,CAAC;AAEhE,MAAM,oBAAoB,GAAY;IACpC,EAAE,EAAE,gBAAgB;IACpB,KAAK,EAAE,wBAAwB;IAC/B,eAAe,EAAE,gBAAgB;IACjC,UAAU,EAAE,4BAA4B;IACxC,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,GAAY,EAAE,CAAC,YAAE,CAAC,UAAU,CAAC,cAAI,CAAC,OAAO,CAAC,IAAA,mCAAuB,GAAE,CAAC,CAAC;IAC7E,mBAAmB,EAAE,GAAG,EAAE,CACxB,mDAAmD,cAAI,CAAC,OAAO,CAC7D,IAAA,mCAAuB,GAAE,CAC1B,sDAAsD;IACzD,OAAO,EAAE,CAAC,OAA+B,EAAkB,EAAE;QAC3D,IAAI,OAAO,EAAE,GAAG,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,IAAA,0CAAwB,GAAE,CAAC;YAC1C,MAAM,EAAE,GAAG,qBAAqB,CAC9B,qDAAqD,EACrD,MAAM,CACP,CAAC;YACF,IAAI,EAAE,EAAE,CAAC;gBACP,OAAO,CAAC,GAAG,CACT,4HAA4H,CAC7H,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAA,yCAA6B,GAAE,CAAC;QAChD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CACT,6FAA6F,CAC9F,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC;IACD,SAAS,EAAE,GAAY,EAAE;QACvB,yEAAyE;QACzE,MAAM,MAAM,GAAG,IAAA,yCAA6B,GAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAA,4CAA0B,GAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CACT,yCAAyC,IAAA,mCAAuB,GAAE,EAAE,CACrE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,EAAE,GAAY,EAAE;QACpB,MAAM,MAAM,GAAG,IAAA,yCAA6B,GAAE,CAAC,OAAO,CAAC;QACvD,IAAI,IAAA,mDAAiC,GAAE,EAAE,CAAC;YACxC,kEAAkE;YAClE,OAAO,IAAA,0CAAwB,GAAE,CAAC,OAAO,IAAI,MAAM,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,SAAS,EAAE;;;;;CAKZ;IACC,WAAW,EAAE,iDAAiD;IAC9D,WAAW,EAAE,wDAAwD;CACtE,CAAC;AAEW,QAAA,SAAS,GAAc;IAClC,aAAa;IACb,oBAAoB;IACpB,aAAa;IACb,YAAY;CACb,CAAC;AAEK,MAAM,WAAW,GAAG,CAAC,EAAU,EAAuB,EAAE,CAC7D,iBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AADxB,QAAA,WAAW,eACa;AAE9B,MAAM,iBAAiB,GAAG,CAC/B,OAA+B,EACpB,EAAE,CACb,iBAAS,CAAC,MAAM,CACd,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,MAAM,EAAE,CACb,CAAC;AAPS,QAAA,iBAAiB,qBAO1B;AAEJ,8DAA8D;AACvD,MAAM,kBAAkB,GAAG,CAAC,EAAW,EAAU,EAAE,CACxD,CAAC,EAAE,IAAI,IAAA,mBAAW,EAAC,EAAE,CAAC,EAAE,eAAe,CAAC,IAAI,qBAAqB,CAAC;AADvD,QAAA,kBAAkB,sBACqC;AAEpE,8EAA8E;AAC9E,wEAAwE;AACxE,8EAA8E;AAE9E,MAAM,mBAAmB,GAAG;;;;;;;;CAQ3B,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAW,EAAE,CACtC,iBAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CACvE,IAAI,CACL,CAAC;AAEJ;;;;GAIG;AACI,MAAM,gBAAgB,GAAG,CAC9B,MAAe,EACf,OAA+B,EACT,EAAE;IACxB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAEjC,yEAAyE;IACzE,IAAI,MAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,iBAAiB,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;YACpD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC;IAED,uDAAuD;IACvD,MAAM,OAAO,GAAG,IAAA,yBAAiB,EAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CACT,sFAAsF,CACvF,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,iBAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,SAAS;gBAAE,SAAS;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,CACT,cAAc,OAAO,CAAC,MAAM,SAAS,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO;SAC3E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;SACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAClB,CAAC;IAEF,MAAM,SAAS,GAAc,EAAE,CAAC;IAChC,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,4DAA4D;IAC5D,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,uBAAuB,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,iBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CACT,6BAA6B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtE,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAE1D,2EAA2E;IAC3E,wEAAwE;IACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC,CAAC;AA9EW,QAAA,gBAAgB,oBA8E3B;AAEF;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAAC,MAAe,EAAwB,EAAE;IAC1E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CACT,iBAAS,CAAC,GAAG,CACX,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,iBAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,OAAO;YACT,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QACpE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CACT,oBAAoB,MAAM,iBAAiB,iBAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAC1F,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC;IAC/D,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACzB,CAAC,CAAC;AAlCW,QAAA,kBAAkB,sBAkC7B;AAEF,iFAAiF;AAC1E,MAAM,eAAe,GAAG,GAAS,EAAE;IACxC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,iBAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CACT,wEAAwE,CACzE,CAAC;QACF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;AAC1E,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B"}
|
|
1
|
+
{"version":3,"file":"harnesses.js","sourceRoot":"","sources":["../../src/install/harnesses.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,16 +18,32 @@ export type McpRegistrationResult = {
|
|
|
18
18
|
changed: boolean;
|
|
19
19
|
error?: string;
|
|
20
20
|
};
|
|
21
|
+
/**
|
|
22
|
+
* True when this CLI is running out of npm's ephemeral `npx` cache
|
|
23
|
+
* (`~/.npm/_npx/<hash>/…`). Registering that path with a host would break
|
|
24
|
+
* silently the next time the cache is pruned — `npx` installs need a
|
|
25
|
+
* cache-independent invocation instead.
|
|
26
|
+
*/
|
|
27
|
+
export declare const isEphemeralNpxInstall: (binPath?: string) => boolean;
|
|
21
28
|
/**
|
|
22
29
|
* The invocation hosts should spawn. Absolute node + absolute bin: GUI hosts
|
|
23
30
|
* (Claude Desktop) spawn servers without a login shell, so `PATH`-dependent
|
|
24
31
|
* commands (`rivet`, `npx`, nvm shims) are unreliable — and `npx` resolution
|
|
25
32
|
* would also blow the ~150ms cold-start budget. `rivet update` / re-install
|
|
26
33
|
* refresh the registration when these paths move.
|
|
34
|
+
*
|
|
35
|
+
* A bin path inside npm's ephemeral `_npx` cache is never durable — the
|
|
36
|
+
* next cache prune kills it. `rivet install` normally never gets here from
|
|
37
|
+
* the cache (`globalBootstrap.ts` re-executes ephemeral installs from a
|
|
38
|
+
* global install first); if it does (bootstrap failed or was declined),
|
|
39
|
+
* callers must REFUSE to register rather than write a dying entry.
|
|
27
40
|
*/
|
|
28
|
-
export declare const rivetMcpInvocation: (callerAgent?: "claude" | "codex" | "cursor"
|
|
41
|
+
export declare const rivetMcpInvocation: (callerAgent?: "claude" | "codex" | "cursor", overrides?: {
|
|
42
|
+
binPath?: string;
|
|
43
|
+
}) => {
|
|
29
44
|
command: string;
|
|
30
45
|
args: string[];
|
|
46
|
+
durable: boolean;
|
|
31
47
|
};
|
|
32
48
|
export declare const registerClaudeDesktopMcp: (homeDir?: string) => McpRegistrationResult;
|
|
33
49
|
export declare const hasClaudeDesktopServeRegistration: (homeDir?: string) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpRegistration.d.ts","sourceRoot":"","sources":["../../src/install/mcpRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAI9C,OAAO,EAGL,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcpRegistration.d.ts","sourceRoot":"","sources":["../../src/install/mcpRegistration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAI9C,OAAO,EAGL,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAE/B;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAIF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,UAAS,MAA2B,KACnC,OAAmD,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,GAC7B,cAAc,QAAQ,GAAG,OAAO,GAAG,QAAQ,EAC3C,YAAY;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,KAC/B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAerD,CAAC;AAoFF,eAAO,MAAM,wBAAwB,GACnC,UAAS,MAAqB,KAC7B,qBAKqD,CAAC;AAEzD,eAAO,MAAM,iCAAiC,GAC5C,UAAS,MAAqB,KAC7B,OAAyE,CAAC;AAE7E,eAAO,MAAM,0BAA0B,GACrC,UAAS,MAAqB,KAC7B,OAAqE,CAAC;AAEzE,eAAO,MAAM,0BAA0B,GACrC,UAAS,MAAqB,KAC7B,qBACsD,CAAC;AAE1D,eAAO,MAAM,iBAAiB,GAC5B,UAAS,MAAqB,KAC7B,qBAC2D,CAAC;AAE/D,eAAO,MAAM,mBAAmB,GAC9B,UAAS,MAAqB,KAC7B,qBAA4E,CAAC;AAIhF,KAAK,YAAY,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAuCrD,6EAA6E;AAC7E,eAAO,MAAM,8BAA8B,GACzC,KAAK,MAAM,EACX,eAAc,YAAwC,KACrD,OASF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,eAAc,YAAwC,KACrD,qBASA,CAAC;AAEJ,eAAO,MAAM,uBAAuB,GAClC,eAAc,YAAwC,KACrD,qBAOF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,eAAc,YAAwC,KACrD,qBAOA,CAAC;AAEJ,eAAO,MAAM,kBAAkB,GAC7B,eAAc,YAAwC,KACrD,qBAOF,CAAC"}
|
|
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.unregisterCodexMcp = exports.registerCodexMcp = exports.unregisterClaudeCodeMcp = exports.registerClaudeCodeMcp = exports.hasServeRegistrationViaHostCli = exports.unregisterCursorMcp = exports.registerCursorMcp = exports.unregisterClaudeDesktopMcp = exports.hasCursorServeRegistration = exports.hasClaudeDesktopServeRegistration = exports.registerClaudeDesktopMcp = exports.rivetMcpInvocation = exports.MCP_SERVER_NAME = exports.isServeRegistration = void 0;
|
|
39
|
+
exports.unregisterCodexMcp = exports.registerCodexMcp = exports.unregisterClaudeCodeMcp = exports.registerClaudeCodeMcp = exports.hasServeRegistrationViaHostCli = exports.unregisterCursorMcp = exports.registerCursorMcp = exports.unregisterClaudeDesktopMcp = exports.hasCursorServeRegistration = exports.hasClaudeDesktopServeRegistration = exports.registerClaudeDesktopMcp = exports.rivetMcpInvocation = exports.isEphemeralNpxInstall = exports.MCP_SERVER_NAME = exports.isServeRegistration = void 0;
|
|
40
40
|
const childProcess = __importStar(require("child_process"));
|
|
41
41
|
const fs_1 = __importDefault(require("fs"));
|
|
42
42
|
const os_1 = __importDefault(require("os"));
|
|
@@ -55,26 +55,50 @@ Object.defineProperty(exports, "isServeRegistration", { enumerable: true, get: f
|
|
|
55
55
|
* opted-in registration. Design doc: `docs/perf-mcp-design.md` (Phase 4).
|
|
56
56
|
*/
|
|
57
57
|
exports.MCP_SERVER_NAME = 'rivet';
|
|
58
|
+
const RESOLVED_RIVET_BIN = path_1.default.resolve(__dirname, '..', '..', 'bin', 'rivet.js');
|
|
59
|
+
/**
|
|
60
|
+
* True when this CLI is running out of npm's ephemeral `npx` cache
|
|
61
|
+
* (`~/.npm/_npx/<hash>/…`). Registering that path with a host would break
|
|
62
|
+
* silently the next time the cache is pruned — `npx` installs need a
|
|
63
|
+
* cache-independent invocation instead.
|
|
64
|
+
*/
|
|
65
|
+
const isEphemeralNpxInstall = (binPath = RESOLVED_RIVET_BIN) => binPath.split(path_1.default.sep).includes('_npx');
|
|
66
|
+
exports.isEphemeralNpxInstall = isEphemeralNpxInstall;
|
|
58
67
|
/**
|
|
59
68
|
* The invocation hosts should spawn. Absolute node + absolute bin: GUI hosts
|
|
60
69
|
* (Claude Desktop) spawn servers without a login shell, so `PATH`-dependent
|
|
61
70
|
* commands (`rivet`, `npx`, nvm shims) are unreliable — and `npx` resolution
|
|
62
71
|
* would also blow the ~150ms cold-start budget. `rivet update` / re-install
|
|
63
72
|
* refresh the registration when these paths move.
|
|
73
|
+
*
|
|
74
|
+
* A bin path inside npm's ephemeral `_npx` cache is never durable — the
|
|
75
|
+
* next cache prune kills it. `rivet install` normally never gets here from
|
|
76
|
+
* the cache (`globalBootstrap.ts` re-executes ephemeral installs from a
|
|
77
|
+
* global install first); if it does (bootstrap failed or was declined),
|
|
78
|
+
* callers must REFUSE to register rather than write a dying entry.
|
|
64
79
|
*/
|
|
65
|
-
const rivetMcpInvocation = (callerAgent) =>
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
80
|
+
const rivetMcpInvocation = (callerAgent, overrides) => {
|
|
81
|
+
const binPath = overrides?.binPath ?? RESOLVED_RIVET_BIN;
|
|
82
|
+
// Host identity is baked into the registration: MCP-dispatched commands
|
|
83
|
+
// otherwise lose --caller-agent entirely, so host-capability features
|
|
84
|
+
// (e.g. nextAction.worker) silently degrade to the unknown profile.
|
|
85
|
+
return {
|
|
86
|
+
command: process.execPath,
|
|
87
|
+
args: [
|
|
88
|
+
binPath,
|
|
89
|
+
'mcp',
|
|
90
|
+
'serve',
|
|
91
|
+
...(callerAgent ? ['--caller-agent', callerAgent] : []),
|
|
92
|
+
],
|
|
93
|
+
durable: !(0, exports.isEphemeralNpxInstall)(binPath),
|
|
94
|
+
};
|
|
95
|
+
};
|
|
77
96
|
exports.rivetMcpInvocation = rivetMcpInvocation;
|
|
97
|
+
/** Actionable refusal when only an ephemeral invocation exists (the global
|
|
98
|
+
* bootstrap in `globalBootstrap.ts` failed or was skipped). */
|
|
99
|
+
const EPHEMERAL_REGISTRATION_ERROR = "Rivet is running from npm's ephemeral npx cache, so any registration " +
|
|
100
|
+
'would break on the next cache prune. Install Rivet globally first ' +
|
|
101
|
+
'(npm install -g rivet-design), then re-run the install.';
|
|
78
102
|
/**
|
|
79
103
|
* Merge the registration into an `mcpServers` JSON config (Claude Desktop,
|
|
80
104
|
* Cursor), creating the file if missing and preserving every other entry.
|
|
@@ -95,6 +119,9 @@ const writeMcpServersEntry = (configPath, callerAgent) => {
|
|
|
95
119
|
}
|
|
96
120
|
}
|
|
97
121
|
const invocation = (0, exports.rivetMcpInvocation)(callerAgent);
|
|
122
|
+
if (!invocation.durable) {
|
|
123
|
+
return { ok: false, changed: false, error: EPHEMERAL_REGISTRATION_ERROR };
|
|
124
|
+
}
|
|
98
125
|
const existing = config.mcpServers?.[exports.MCP_SERVER_NAME];
|
|
99
126
|
const desired = { command: invocation.command, args: invocation.args };
|
|
100
127
|
if (existing && JSON.stringify(existing) === JSON.stringify(desired)) {
|
|
@@ -166,13 +193,16 @@ exports.unregisterCursorMcp = unregisterCursorMcp;
|
|
|
166
193
|
* re-adding also refreshes stale node/bin paths after an update.
|
|
167
194
|
*/
|
|
168
195
|
const registerViaHostCli = (bin, removeArgs, addArgs, execFileSync, callerAgent) => {
|
|
196
|
+
const invocation = (0, exports.rivetMcpInvocation)(callerAgent);
|
|
197
|
+
if (!invocation.durable) {
|
|
198
|
+
return { ok: false, changed: false, error: EPHEMERAL_REGISTRATION_ERROR };
|
|
199
|
+
}
|
|
169
200
|
try {
|
|
170
201
|
execFileSync(bin, removeArgs, { stdio: 'pipe' });
|
|
171
202
|
}
|
|
172
203
|
catch {
|
|
173
204
|
// Not previously registered — fine.
|
|
174
205
|
}
|
|
175
|
-
const invocation = (0, exports.rivetMcpInvocation)(callerAgent);
|
|
176
206
|
try {
|
|
177
207
|
execFileSync(bin, [...addArgs, exports.MCP_SERVER_NAME, '--', invocation.command, ...invocation.args], { stdio: 'pipe' });
|
|
178
208
|
return { ok: true, changed: true };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpRegistration.js","sourceRoot":"","sources":["../../src/install/mcpRegistration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA8C;AAC9C,4CAAoB;AACpB,4CAAoB;AACpB,gDAAwB;AACxB,2CAIqB;AAEZ,oGAHP,+BAAmB,OAGO;AAE5B;;;;;;;;;;GAUG;AAEU,QAAA,eAAe,GAAG,OAAO,CAAC;AAQvC
|
|
1
|
+
{"version":3,"file":"mcpRegistration.js","sourceRoot":"","sources":["../../src/install/mcpRegistration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type ShellExec = (shell: string, args: string[]) => string;
|
|
2
|
+
/** True when `binary` is executable somewhere on the given PATH value. */
|
|
3
|
+
export declare const isBinaryOnPathValue: (binary: string, pathValue: string) => boolean;
|
|
4
|
+
/** PATH as the user's shell sees it (union across probes), or null when no
|
|
5
|
+
* probe succeeded. */
|
|
6
|
+
export declare const loginShellPath: (options?: {
|
|
7
|
+
exec?: ShellExec;
|
|
8
|
+
shell?: string;
|
|
9
|
+
basePath?: string;
|
|
10
|
+
goalBinary?: string;
|
|
11
|
+
}) => string | null;
|
|
12
|
+
/** Merge `extra` PATH entries into `base`, preserving base precedence and
|
|
13
|
+
* appending only directories base doesn't already have. Empty segments are
|
|
14
|
+
* dropped throughout — a leading/embedded empty PATH entry means "search
|
|
15
|
+
* the current directory", which would let an opened project shadow the
|
|
16
|
+
* user's real binaries. */
|
|
17
|
+
export declare const mergePathValues: (base: string, extra: string) => string;
|
|
18
|
+
export declare const ensureLoginShellPath: (options?: {
|
|
19
|
+
exec?: ShellExec;
|
|
20
|
+
shell?: string;
|
|
21
|
+
goalBinary?: string;
|
|
22
|
+
}) => void;
|
|
23
|
+
/** Test seam: reset the once-per-process latch. */
|
|
24
|
+
export declare const resetLoginShellPathForTests: () => void;
|
|
25
|
+
//# sourceMappingURL=loginShellPath.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginShellPath.d.ts","sourceRoot":"","sources":["../../src/utils/loginShellPath.ts"],"names":[],"mappings":"AAwDA,MAAM,MAAM,SAAS,GAAG,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EAAE,KACX,MAAM,CAAC;AAeZ,0EAA0E;AAC1E,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,EACd,WAAW,MAAM,KAChB,OASC,CAAC;AAEL;uBACuB;AACvB,eAAO,MAAM,cAAc,GACzB,UAAU;IACR,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,KACA,MAAM,GAAG,IAuCX,CAAC;AAEF;;;;4BAI4B;AAC5B,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAK7D,CAAC;AAcF,eAAO,MAAM,oBAAoB,GAC/B,UAAU;IAAE,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,KAClE,IAuBF,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,2BAA2B,QAAO,IAG9C,CAAC"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resetLoginShellPathForTests = exports.ensureLoginShellPath = exports.mergePathValues = exports.loginShellPath = exports.isBinaryOnPathValue = void 0;
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const logger_1 = require("./logger");
|
|
11
|
+
const log = (0, logger_1.createLogger)('LoginShellPath');
|
|
12
|
+
/**
|
|
13
|
+
* GUI-spawned Rivet processes inherit the desktop session's minimal PATH.
|
|
14
|
+
*
|
|
15
|
+
* When Cursor or Claude Desktop spawns `rivet mcp serve` (and it spawns the
|
|
16
|
+
* project's `__serve` daemon), PATH is typically just
|
|
17
|
+
* `/usr/bin:/bin:/usr/sbin:/sbin` — missing `/opt/homebrew/bin` and the
|
|
18
|
+
* user dirs where vendor agent CLIs (`claude`, `codex`, `cursor-agent`) and
|
|
19
|
+
* media tools (`ffmpeg`, used for reference-video keyframes) live. That
|
|
20
|
+
* silently degrades sessions started from those hosts: the apply runner
|
|
21
|
+
* resolves to `unavailable`, the worker executor's `claude --version`
|
|
22
|
+
* preflight fails so variants fall back to slow host-mode implementation,
|
|
23
|
+
* and video references can't be sampled.
|
|
24
|
+
*
|
|
25
|
+
* The fix is the same one editors like VS Code use: read PATH from the
|
|
26
|
+
* user's login shell once at server startup and merge it into the process
|
|
27
|
+
* environment. Probes run as a ladder, most-reliable first, each with its
|
|
28
|
+
* own timeout, and their results are UNIONED:
|
|
29
|
+
*
|
|
30
|
+
* 1. plain `-lc` — login profile only (.zprofile/.zshenv). Fast and
|
|
31
|
+
* hang-proof.
|
|
32
|
+
* 2. `-lc` sourcing the rc explicitly — for users whose PATH exports
|
|
33
|
+
* live in .zshrc/.bashrc (nvm, fnm, npm globals, user bin dirs). Can
|
|
34
|
+
* hang TTY-less (e.g. compinit's insecure-directories prompt), hence
|
|
35
|
+
* the per-probe timeout and its place behind the plain probe.
|
|
36
|
+
* 3. `-ilc` — last resort; interactive shells read the rc natively but
|
|
37
|
+
* are the least predictable without a TTY.
|
|
38
|
+
*
|
|
39
|
+
* The ladder stops early only for a GOAL, not for any addition: on macOS
|
|
40
|
+
* path_helper/.zprofile almost always add something (e.g. /opt/homebrew),
|
|
41
|
+
* which says nothing about whether the binaries we actually need are now
|
|
42
|
+
* reachable. Enrichment exists so the worker executor can spawn `claude`
|
|
43
|
+
* (and the runner probe can find a vendor CLI), so probing continues until
|
|
44
|
+
* that binary resolves or the ladder is exhausted — and is skipped
|
|
45
|
+
* entirely when the current PATH already resolves it.
|
|
46
|
+
*
|
|
47
|
+
* rc noise on stdout is defeated with sentinel markers.
|
|
48
|
+
*/
|
|
49
|
+
const SENTINEL = '__RIVET_PATH__';
|
|
50
|
+
/** rc file to source explicitly for shells that put PATH exports there
|
|
51
|
+
* (read only by interactive shells, which we must not start TTY-less). */
|
|
52
|
+
const rcFileForShell = (shell) => {
|
|
53
|
+
const name = path_1.default.basename(shell);
|
|
54
|
+
if (name === 'zsh')
|
|
55
|
+
return '~/.zshrc';
|
|
56
|
+
if (name === 'bash')
|
|
57
|
+
return '~/.bashrc';
|
|
58
|
+
return null;
|
|
59
|
+
};
|
|
60
|
+
const defaultExec = (shell, args) => (0, child_process_1.execFileSync)(shell, args, {
|
|
61
|
+
timeout: 4_000,
|
|
62
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
63
|
+
encoding: 'utf8',
|
|
64
|
+
});
|
|
65
|
+
const PRINT_PATH = `printf "%s%s%s" "${SENTINEL}" "$PATH" "${SENTINEL}"`;
|
|
66
|
+
/** The binary enrichment exists to make reachable: the worker executor's
|
|
67
|
+
* runtime. Overridable per call for tests and future goals. */
|
|
68
|
+
const DEFAULT_GOAL_BINARY = 'claude';
|
|
69
|
+
/** True when `binary` is executable somewhere on the given PATH value. */
|
|
70
|
+
const isBinaryOnPathValue = (binary, pathValue) => pathValue.split(':').some((dir) => {
|
|
71
|
+
if (!dir)
|
|
72
|
+
return false;
|
|
73
|
+
try {
|
|
74
|
+
fs_1.default.accessSync(path_1.default.join(dir, binary), fs_1.default.constants.X_OK);
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
exports.isBinaryOnPathValue = isBinaryOnPathValue;
|
|
82
|
+
/** PATH as the user's shell sees it (union across probes), or null when no
|
|
83
|
+
* probe succeeded. */
|
|
84
|
+
const loginShellPath = (options) => {
|
|
85
|
+
if (process.platform === 'win32')
|
|
86
|
+
return null;
|
|
87
|
+
const shell = options?.shell ?? process.env.SHELL ?? '/bin/zsh';
|
|
88
|
+
const exec = options?.exec ?? defaultExec;
|
|
89
|
+
const basePath = options?.basePath ?? process.env.PATH ?? '';
|
|
90
|
+
const goalBinary = options?.goalBinary ?? DEFAULT_GOAL_BINARY;
|
|
91
|
+
const rcFile = rcFileForShell(shell);
|
|
92
|
+
const probes = [
|
|
93
|
+
['-lc', PRINT_PATH],
|
|
94
|
+
...(rcFile
|
|
95
|
+
? [['-lc', `. ${rcFile} >/dev/null 2>&1 || true; ${PRINT_PATH}`]]
|
|
96
|
+
: []),
|
|
97
|
+
['-ilc', PRINT_PATH],
|
|
98
|
+
];
|
|
99
|
+
let union = '';
|
|
100
|
+
for (const args of probes) {
|
|
101
|
+
let value;
|
|
102
|
+
try {
|
|
103
|
+
const output = exec(shell, args);
|
|
104
|
+
value = output
|
|
105
|
+
.match(new RegExp(`${SENTINEL}([\\s\\S]*?)${SENTINEL}`))?.[1]
|
|
106
|
+
?.trim();
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
log.warn(`login-shell PATH probe (${args[0]}) failed for ${shell}`, error instanceof Error ? error.message : error);
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
if (!value)
|
|
113
|
+
continue;
|
|
114
|
+
union = union ? (0, exports.mergePathValues)(union, value) : value;
|
|
115
|
+
// Goal-directed early exit: "added something" is meaningless on macOS
|
|
116
|
+
// (path_helper always adds), so keep probing until the binary this
|
|
117
|
+
// enrichment exists for is actually reachable.
|
|
118
|
+
if ((0, exports.isBinaryOnPathValue)(goalBinary, (0, exports.mergePathValues)(basePath, union))) {
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return union || null;
|
|
123
|
+
};
|
|
124
|
+
exports.loginShellPath = loginShellPath;
|
|
125
|
+
/** Merge `extra` PATH entries into `base`, preserving base precedence and
|
|
126
|
+
* appending only directories base doesn't already have. Empty segments are
|
|
127
|
+
* dropped throughout — a leading/embedded empty PATH entry means "search
|
|
128
|
+
* the current directory", which would let an opened project shadow the
|
|
129
|
+
* user's real binaries. */
|
|
130
|
+
const mergePathValues = (base, extra) => {
|
|
131
|
+
const baseDirs = base.split(':').filter(Boolean);
|
|
132
|
+
const seen = new Set(baseDirs);
|
|
133
|
+
const additions = extra.split(':').filter((dir) => dir && !seen.has(dir));
|
|
134
|
+
return [...baseDirs, ...additions].join(':');
|
|
135
|
+
};
|
|
136
|
+
exports.mergePathValues = mergePathValues;
|
|
137
|
+
/** Set once enrichment ran; inherited by child processes (`mcp serve` →
|
|
138
|
+
* `__serve` → workers) so each layer doesn't re-probe the login shell. */
|
|
139
|
+
const APPLIED_ENV_FLAG = 'RIVET_LOGIN_SHELL_PATH_APPLIED';
|
|
140
|
+
/**
|
|
141
|
+
* Enrich `process.env.PATH` from the user's login shell. Idempotent, cached
|
|
142
|
+
* for the process lifetime AND across child processes (env flag), and
|
|
143
|
+
* failure-silent — a broken shell rc must never stop the server from
|
|
144
|
+
* booting. Call once at server startup, BEFORE runner resolution and
|
|
145
|
+
* executor preflights.
|
|
146
|
+
*/
|
|
147
|
+
let enriched = false;
|
|
148
|
+
const ensureLoginShellPath = (options) => {
|
|
149
|
+
if (enriched)
|
|
150
|
+
return;
|
|
151
|
+
enriched = true;
|
|
152
|
+
if (process.env[APPLIED_ENV_FLAG] === '1')
|
|
153
|
+
return;
|
|
154
|
+
const current = process.env.PATH ?? '';
|
|
155
|
+
// Terminal-started daemons usually inherit a complete PATH — skip the
|
|
156
|
+
// shell spawn entirely when the goal binary is already reachable.
|
|
157
|
+
if ((0, exports.isBinaryOnPathValue)(options?.goalBinary ?? DEFAULT_GOAL_BINARY, current)) {
|
|
158
|
+
process.env[APPLIED_ENV_FLAG] = '1';
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const shellPath = (0, exports.loginShellPath)({ ...options, basePath: current });
|
|
162
|
+
if (!shellPath)
|
|
163
|
+
return;
|
|
164
|
+
process.env[APPLIED_ENV_FLAG] = '1';
|
|
165
|
+
const merged = (0, exports.mergePathValues)(current, shellPath);
|
|
166
|
+
if (merged !== current) {
|
|
167
|
+
log.info(`merged ${merged.split(':').length - current.split(':').filter(Boolean).length} login-shell PATH entries into the server environment`);
|
|
168
|
+
process.env.PATH = merged;
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
exports.ensureLoginShellPath = ensureLoginShellPath;
|
|
172
|
+
/** Test seam: reset the once-per-process latch. */
|
|
173
|
+
const resetLoginShellPathForTests = () => {
|
|
174
|
+
enriched = false;
|
|
175
|
+
delete process.env[APPLIED_ENV_FLAG];
|
|
176
|
+
};
|
|
177
|
+
exports.resetLoginShellPathForTests = resetLoginShellPathForTests;
|
|
178
|
+
//# sourceMappingURL=loginShellPath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginShellPath.js","sourceRoot":"","sources":["../../src/utils/loginShellPath.ts"],"names":[],"mappings":"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"}
|