@stigmer/react 3.4.1 → 3.5.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.
Files changed (93) hide show
  1. package/agent/AgentDetailView.d.ts +14 -4
  2. package/agent/AgentDetailView.d.ts.map +1 -1
  3. package/agent/AgentDetailView.js +73 -11
  4. package/agent/AgentDetailView.js.map +1 -1
  5. package/agent/internal/agentToInput.d.ts +3 -0
  6. package/agent/internal/agentToInput.d.ts.map +1 -1
  7. package/agent/internal/agentToInput.js +21 -1
  8. package/agent/internal/agentToInput.js.map +1 -1
  9. package/api-key/ApiKeyListPanel.d.ts +8 -1
  10. package/api-key/ApiKeyListPanel.d.ts.map +1 -1
  11. package/api-key/ApiKeyListPanel.js +9 -7
  12. package/api-key/ApiKeyListPanel.js.map +1 -1
  13. package/dependency-graph/DependencyTreeNode.d.ts.map +1 -1
  14. package/dependency-graph/DependencyTreeNode.js +8 -0
  15. package/dependency-graph/DependencyTreeNode.js.map +1 -1
  16. package/dependency-graph/types.d.ts +20 -8
  17. package/dependency-graph/types.d.ts.map +1 -1
  18. package/dependency-graph/useDependencyGraph.d.ts.map +1 -1
  19. package/dependency-graph/useDependencyGraph.js +21 -1
  20. package/dependency-graph/useDependencyGraph.js.map +1 -1
  21. package/index.d.ts +2 -0
  22. package/index.d.ts.map +1 -1
  23. package/index.js +4 -0
  24. package/index.js.map +1 -1
  25. package/internal/scroll-area.d.ts +4 -0
  26. package/internal/scroll-area.d.ts.map +1 -0
  27. package/internal/scroll-area.js +15 -0
  28. package/internal/scroll-area.js.map +1 -0
  29. package/internal/tooltip.d.ts +7 -0
  30. package/internal/tooltip.d.ts.map +1 -0
  31. package/internal/tooltip.js +31 -0
  32. package/internal/tooltip.js.map +1 -0
  33. package/mcp-server/StdioSandboxNotice.d.ts +12 -11
  34. package/mcp-server/StdioSandboxNotice.d.ts.map +1 -1
  35. package/mcp-server/StdioSandboxNotice.js +13 -12
  36. package/mcp-server/StdioSandboxNotice.js.map +1 -1
  37. package/mcp-server/steps/IdentityTransportStep.d.ts.map +1 -1
  38. package/mcp-server/steps/IdentityTransportStep.js +1 -1
  39. package/mcp-server/steps/IdentityTransportStep.js.map +1 -1
  40. package/package.json +4 -4
  41. package/resource-creation/templates/mcp-server-templates.d.ts.map +1 -1
  42. package/resource-creation/templates/mcp-server-templates.js +17 -14
  43. package/resource-creation/templates/mcp-server-templates.js.map +1 -1
  44. package/sidebar/SettingsSidebar.d.ts +62 -0
  45. package/sidebar/SettingsSidebar.d.ts.map +1 -0
  46. package/sidebar/SettingsSidebar.js +60 -0
  47. package/sidebar/SettingsSidebar.js.map +1 -0
  48. package/sidebar/WorkspaceSidebar.d.ts +87 -0
  49. package/sidebar/WorkspaceSidebar.d.ts.map +1 -0
  50. package/sidebar/WorkspaceSidebar.js +95 -0
  51. package/sidebar/WorkspaceSidebar.js.map +1 -0
  52. package/sidebar/chrome.d.ts +48 -0
  53. package/sidebar/chrome.d.ts.map +1 -0
  54. package/sidebar/chrome.js +32 -0
  55. package/sidebar/chrome.js.map +1 -0
  56. package/sidebar/index.d.ts +6 -0
  57. package/sidebar/index.d.ts.map +1 -0
  58. package/sidebar/index.js +9 -0
  59. package/sidebar/index.js.map +1 -0
  60. package/sidebar/types.d.ts +54 -0
  61. package/sidebar/types.d.ts.map +1 -0
  62. package/sidebar/types.js +2 -0
  63. package/sidebar/types.js.map +1 -0
  64. package/src/agent/AgentDetailView.tsx +198 -11
  65. package/src/agent/__tests__/AgentDetailView.datastores.test.tsx +166 -0
  66. package/src/agent/internal/__tests__/agentToInput.test.ts +154 -0
  67. package/src/agent/internal/agentToInput.ts +25 -7
  68. package/src/api-key/ApiKeyListPanel.tsx +17 -4
  69. package/src/dependency-graph/DependencyTreeNode.tsx +8 -0
  70. package/src/dependency-graph/__tests__/useDependencyGraph.test.ts +108 -0
  71. package/src/dependency-graph/types.ts +20 -8
  72. package/src/dependency-graph/useDependencyGraph.ts +23 -1
  73. package/src/index.ts +13 -0
  74. package/src/internal/scroll-area.tsx +37 -0
  75. package/src/internal/tooltip.tsx +66 -0
  76. package/src/mcp-server/StdioSandboxNotice.tsx +16 -14
  77. package/src/mcp-server/__tests__/StdioSandboxNotice.test.tsx +3 -2
  78. package/src/mcp-server/steps/IdentityTransportStep.tsx +7 -0
  79. package/src/resource-creation/templates/mcp-server-templates.ts +17 -14
  80. package/src/sidebar/SettingsSidebar.tsx +173 -0
  81. package/src/sidebar/WorkspaceSidebar.tsx +386 -0
  82. package/src/sidebar/__tests__/SettingsSidebar.test.tsx +107 -0
  83. package/src/sidebar/__tests__/WorkspaceSidebar.test.tsx +236 -0
  84. package/src/sidebar/chrome.tsx +129 -0
  85. package/src/sidebar/index.ts +16 -0
  86. package/src/sidebar/types.ts +55 -0
  87. package/src/test/__tests__/samples.test.ts +2 -0
  88. package/src/test/samples.ts +48 -0
  89. package/styles.css +1 -1
  90. package/test/samples.d.ts +21 -0
  91. package/test/samples.d.ts.map +1 -1
  92. package/test/samples.js +32 -0
  93. package/test/samples.js.map +1 -1
@@ -5,9 +5,10 @@ import { useDeploymentMode } from "../deployment-mode.js";
5
5
  /**
6
6
  * Whether an MCP server's transport is stdio while connected to Stigmer Cloud.
7
7
  *
8
- * stdio servers run as a subprocess inside an isolated Daytona sandbox in the
9
- * cloud not on the user's own computer. This predicate identifies exactly
10
- * that combination so the connect UI can set accurate expectations. HTTP
8
+ * stdio is local-runner-only: cloud-hosted sessions refuse stdio servers at
9
+ * execution create, and the cloud connect flow refuses to spawn them. This
10
+ * predicate identifies exactly that combination so the UI can explain the
11
+ * policy and its remediation (run the session on a local runner). HTTP
11
12
  * servers and any transport in local mode return `false`.
12
13
  *
13
14
  * Pure and framework-free so it can be unit-tested without rendering.
@@ -16,15 +17,15 @@ export function isStdioInCloud(mode, serverType) {
16
17
  return mode === "cloud" && serverType?.case === "stdio";
17
18
  }
18
19
  /**
19
- * Sets accurate expectations for connecting an **stdio** MCP server from
20
- * **Stigmer Cloud**.
20
+ * Explains the local-runner-only policy for an **stdio** MCP server viewed
21
+ * from **Stigmer Cloud**.
21
22
  *
22
- * stdio servers are a supported cloud capability Stigmer runs them in an
23
- * isolated Daytona sandbox. But that sandbox is not the user's own machine,
24
- * so a server that expects access to local files, applications, or a private
25
- * network (e.g. a filesystem server) won't behave as the user intends. This
26
- * notice explains that up front; Connect itself stays enabled because
27
- * self-contained servers work fine.
23
+ * stdio servers spawn subprocesses on the machine that runs the agent, so
24
+ * they run only on local runners Stigmer-managed cloud compute refuses
25
+ * them (at execution create, and in the connect flow). The server remains
26
+ * fully usable on sessions that execute on a local runner (desktop app,
27
+ * `stigmer server`), where tools are discovered automatically at session
28
+ * start. This notice states that up front so the refusal never surprises.
28
29
  *
29
30
  * Self-gating: reads the deployment mode from context and renders `null`
30
31
  * unless the server is stdio and the backend is cloud. Callers render it
@@ -37,7 +38,7 @@ export function StdioSandboxNotice({ serverType, className, }) {
37
38
  const mode = useDeploymentMode();
38
39
  if (!isStdioInCloud(mode, serverType))
39
40
  return null;
40
- return (_jsxs("div", { role: "status", className: cn("bg-muted-subtle text-muted-foreground flex items-start gap-2.5 rounded-lg border border-transparent px-4 py-3", className), children: [_jsx(SandboxIcon, { className: "mt-0.5 size-4 shrink-0" }), _jsx("p", { className: "text-xs leading-relaxed", children: "This stdio server runs in an isolated cloud sandbox, not on your own computer. Tools that need access to your local files, applications, or private network won't be available here." })] }));
41
+ return (_jsxs("div", { role: "status", className: cn("bg-muted-subtle text-muted-foreground flex items-start gap-2.5 rounded-lg border border-transparent px-4 py-3", className), children: [_jsx(SandboxIcon, { className: "mt-0.5 size-4 shrink-0" }), _jsx("p", { className: "text-xs leading-relaxed", children: "This stdio server runs only on local runners \u2014 it won't be available to sessions on Stigmer-managed cloud compute. Run the session on a local runner (desktop app or CLI) to use it, or choose a remote (HTTP) server instead." })] }));
41
42
  }
42
43
  function SandboxIcon({ className }) {
43
44
  return (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", className: className, "aria-hidden": "true", children: [_jsx("path", { d: "M2 5.5 8 2.5l6 3-6 3-6-3Z" }), _jsx("path", { d: "M2 5.5v5l6 3 6-3v-5" }), _jsx("path", { d: "M8 8.5v5" })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"StdioSandboxNotice.js","sourceRoot":"","sources":["../../src/mcp-server/StdioSandboxNotice.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAGpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK1D;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAoB,EACpB,UAAqC;IAErC,OAAO,IAAI,KAAK,OAAO,IAAI,UAAU,EAAE,IAAI,KAAK,OAAO,CAAC;AAC1D,CAAC;AAUD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAAC,EACjC,UAAU,EACV,SAAS,GACe;IACxB,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnD,OAAO,CACL,eACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CACX,+GAA+G,EAC/G,SAAS,CACV,aAED,KAAC,WAAW,IAAC,SAAS,EAAC,wBAAwB,GAAG,EAClD,YAAG,SAAS,EAAC,yBAAyB,qMAIlC,IACA,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAA0B;IACxD,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,SAAS,EAAE,SAAS,iBACR,MAAM,aAElB,eAAM,CAAC,EAAC,2BAA2B,GAAG,EACtC,eAAM,CAAC,EAAC,qBAAqB,GAAG,EAChC,eAAM,CAAC,EAAC,UAAU,GAAG,IACjB,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"StdioSandboxNotice.js","sourceRoot":"","sources":["../../src/mcp-server/StdioSandboxNotice.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAGpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAK1D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAoB,EACpB,UAAqC;IAErC,OAAO,IAAI,KAAK,OAAO,IAAI,UAAU,EAAE,IAAI,KAAK,OAAO,CAAC;AAC1D,CAAC;AAUD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAAC,EACjC,UAAU,EACV,SAAS,GACe;IACxB,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnD,OAAO,CACL,eACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CACX,+GAA+G,EAC/G,SAAS,CACV,aAED,KAAC,WAAW,IAAC,SAAS,EAAC,wBAAwB,GAAG,EAClD,YAAG,SAAS,EAAC,yBAAyB,oPAKlC,IACA,CACP,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAA0B;IACxD,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,SAAS,EAAE,SAAS,iBACR,MAAM,aAElB,eAAM,CAAC,EAAC,2BAA2B,GAAG,EACtC,eAAM,CAAC,EAAC,qBAAqB,GAAG,EAChC,eAAM,CAAC,EAAC,UAAU,GAAG,IACjB,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityTransportStep.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/steps/IdentityTransportStep.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAErE,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,UAAU,EACV,eAAe,GAChB,EAAE,0BAA0B,2CAiV5B"}
1
+ {"version":3,"file":"IdentityTransportStep.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/steps/IdentityTransportStep.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAErE,+CAA+C;AAC/C,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,UAAU,EACV,eAAe,GAChB,EAAE,0BAA0B,2CAwV5B"}
@@ -37,7 +37,7 @@ export function IdentityTransportStep({ data, updateData, validationError, }) {
37
37
  : null;
38
38
  return (_jsxs("div", { className: "flex flex-col gap-6", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-lg font-semibold text-foreground", children: "Identity & Transport" }), _jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: "Define the MCP server and how to connect to it." })] }), validationError && (_jsx("p", { className: "text-sm text-destructive", role: "alert", children: validationError })), _jsxs("div", { className: "grid gap-4 sm:grid-cols-2", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsxs("label", { htmlFor: "stgm-wizard-mcp-name", className: "text-sm font-medium text-foreground", children: ["Name ", _jsx("span", { className: "text-destructive", children: "*" })] }), _jsx("input", { id: "stgm-wizard-mcp-name", type: "text", value: data.name, onChange: (e) => handleNameChange(e.target.value), placeholder: "e.g. GitHub", autoFocus: true, className: cn("w-full rounded-md border border-input bg-input-bg px-3 py-2 text-sm text-foreground", "placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { htmlFor: "stgm-wizard-mcp-slug", className: "text-sm font-medium text-foreground", children: "Slug" }), _jsx("input", { id: "stgm-wizard-mcp-slug", type: "text", value: data.slug, onChange: (e) => handleSlugChange(e.target.value), placeholder: "auto-generated", className: cn("w-full rounded-md border px-3 py-2 font-mono text-sm text-foreground", slugError
39
39
  ? "border-destructive bg-input-bg"
40
- : "border-input bg-input-bg", "placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") }), slugError && (_jsx("p", { className: "text-xs text-destructive", children: slugError })), !slugError && data.slug && (_jsxs("p", { className: "text-xs text-muted-foreground", children: ["Referenced as ", _jsx("code", { className: "font-mono", children: data.slug })] }))] })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { htmlFor: "stgm-wizard-mcp-description", className: "text-sm font-medium text-foreground", children: "Description" }), _jsx("input", { id: "stgm-wizard-mcp-description", type: "text", value: data.description, onChange: (e) => updateData({ description: e.target.value }), placeholder: "A brief description of this MCP server", maxLength: 200, className: cn("w-full rounded-md border border-input bg-input-bg px-3 py-2 text-sm text-foreground", "placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") })] }), _jsxs("div", { className: "grid gap-4 sm:grid-cols-2", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { htmlFor: "stgm-wizard-mcp-icon", className: "text-sm font-medium text-foreground", children: "Icon URL" }), _jsx("input", { id: "stgm-wizard-mcp-icon", type: "url", value: data.iconUrl, onChange: (e) => updateData({ iconUrl: e.target.value }), placeholder: "https://example.com/icon.png", className: cn("w-full rounded-md border border-input bg-input-bg px-3 py-2 text-sm text-foreground", "placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") })] }), _jsxs("fieldset", { className: "space-y-1.5", children: [_jsx("legend", { className: "text-sm font-medium text-foreground", children: "Visibility" }), _jsxs("div", { className: "flex gap-2", children: [_jsx(RadioOption, { name: "stgm-wizard-mcp-visibility", value: "private", label: "Private", checked: data.visibility === "private", onChange: () => updateData({ visibility: "private" }) }), _jsx(RadioOption, { name: "stgm-wizard-mcp-visibility", value: "public", label: "Public", checked: data.visibility === "public", onChange: () => updateData({ visibility: "public" }) })] })] })] }), _jsxs("fieldset", { className: "space-y-3", "data-scroll-target": "mcp-transport", children: [_jsxs("legend", { className: "text-sm font-medium text-foreground", children: ["Transport ", _jsx("span", { className: "text-destructive", children: "*" })] }), _jsxs("div", { className: "flex gap-2", children: [_jsx(RadioOption, { name: "stgm-wizard-mcp-transport", value: "http", label: "HTTP (Streamable HTTP / SSE)", checked: data.transportType === "http", onChange: () => updateData({ transportType: "http" }) }), _jsx(RadioOption, { name: "stgm-wizard-mcp-transport", value: "stdio", label: "Stdio (local process)", checked: data.transportType === "stdio", onChange: () => updateData({ transportType: "stdio" }) })] }), data.transportType === "http" && (_jsxs("div", { className: "flex flex-col gap-4 rounded-lg border border-border p-4", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsxs("label", { htmlFor: "stgm-wizard-mcp-http-url", className: "text-sm font-medium text-foreground", children: ["URL ", _jsx("span", { className: "text-destructive", children: "*" })] }), _jsx("input", { id: "stgm-wizard-mcp-http-url", type: "url", value: data.httpUrl, onChange: (e) => updateData({ httpUrl: e.target.value }), placeholder: "https://mcp.example.com/sse", className: cn("w-full rounded-md border border-input bg-input-bg px-3 py-2 font-mono text-sm text-foreground", "placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { className: "text-sm font-medium text-foreground", children: "Headers" }), _jsxs("p", { className: "text-xs text-muted-foreground", children: ["Custom HTTP headers sent with every request. Values may use", " ", _jsx("code", { className: "font-mono text-[11px]", children: "${VAR}" }), " ", "placeholders."] }), _jsx(KeyValueEditor, { entries: data.httpHeaders, onChange: (httpHeaders) => updateData({ httpHeaders }), keyPlaceholder: "Header-Name", valuePlaceholder: "value" })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { htmlFor: "stgm-wizard-mcp-http-timeout", className: "text-sm font-medium text-foreground", children: "Timeout (seconds)" }), _jsx("input", { id: "stgm-wizard-mcp-http-timeout", type: "number", min: 0, step: 1, value: data.httpTimeoutSeconds || "", onChange: (e) => updateData({
40
+ : "border-input bg-input-bg", "placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") }), slugError && (_jsx("p", { className: "text-xs text-destructive", children: slugError })), !slugError && data.slug && (_jsxs("p", { className: "text-xs text-muted-foreground", children: ["Referenced as ", _jsx("code", { className: "font-mono", children: data.slug })] }))] })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { htmlFor: "stgm-wizard-mcp-description", className: "text-sm font-medium text-foreground", children: "Description" }), _jsx("input", { id: "stgm-wizard-mcp-description", type: "text", value: data.description, onChange: (e) => updateData({ description: e.target.value }), placeholder: "A brief description of this MCP server", maxLength: 200, className: cn("w-full rounded-md border border-input bg-input-bg px-3 py-2 text-sm text-foreground", "placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") })] }), _jsxs("div", { className: "grid gap-4 sm:grid-cols-2", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { htmlFor: "stgm-wizard-mcp-icon", className: "text-sm font-medium text-foreground", children: "Icon URL" }), _jsx("input", { id: "stgm-wizard-mcp-icon", type: "url", value: data.iconUrl, onChange: (e) => updateData({ iconUrl: e.target.value }), placeholder: "https://example.com/icon.png", className: cn("w-full rounded-md border border-input bg-input-bg px-3 py-2 text-sm text-foreground", "placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") })] }), _jsxs("fieldset", { className: "space-y-1.5", children: [_jsx("legend", { className: "text-sm font-medium text-foreground", children: "Visibility" }), _jsxs("div", { className: "flex gap-2", children: [_jsx(RadioOption, { name: "stgm-wizard-mcp-visibility", value: "private", label: "Private", checked: data.visibility === "private", onChange: () => updateData({ visibility: "private" }) }), _jsx(RadioOption, { name: "stgm-wizard-mcp-visibility", value: "public", label: "Public", checked: data.visibility === "public", onChange: () => updateData({ visibility: "public" }) })] })] })] }), _jsxs("fieldset", { className: "space-y-3", "data-scroll-target": "mcp-transport", children: [_jsxs("legend", { className: "text-sm font-medium text-foreground", children: ["Transport ", _jsx("span", { className: "text-destructive", children: "*" })] }), _jsxs("div", { className: "flex gap-2", children: [_jsx(RadioOption, { name: "stgm-wizard-mcp-transport", value: "http", label: "HTTP (Streamable HTTP / SSE)", checked: data.transportType === "http", onChange: () => updateData({ transportType: "http" }) }), _jsx(RadioOption, { name: "stgm-wizard-mcp-transport", value: "stdio", label: "Stdio (local process)", checked: data.transportType === "stdio", onChange: () => updateData({ transportType: "stdio" }) })] }), data.transportType === "stdio" && (_jsx("p", { className: "text-xs text-muted-foreground", children: "Stdio servers run only on local runners (desktop app or CLI). Sessions on Stigmer-managed cloud compute require a remote (HTTP) server." })), data.transportType === "http" && (_jsxs("div", { className: "flex flex-col gap-4 rounded-lg border border-border p-4", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsxs("label", { htmlFor: "stgm-wizard-mcp-http-url", className: "text-sm font-medium text-foreground", children: ["URL ", _jsx("span", { className: "text-destructive", children: "*" })] }), _jsx("input", { id: "stgm-wizard-mcp-http-url", type: "url", value: data.httpUrl, onChange: (e) => updateData({ httpUrl: e.target.value }), placeholder: "https://mcp.example.com/sse", className: cn("w-full rounded-md border border-input bg-input-bg px-3 py-2 font-mono text-sm text-foreground", "placeholder:text-muted-foreground", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring") })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { className: "text-sm font-medium text-foreground", children: "Headers" }), _jsxs("p", { className: "text-xs text-muted-foreground", children: ["Custom HTTP headers sent with every request. Values may use", " ", _jsx("code", { className: "font-mono text-[11px]", children: "${VAR}" }), " ", "placeholders."] }), _jsx(KeyValueEditor, { entries: data.httpHeaders, onChange: (httpHeaders) => updateData({ httpHeaders }), keyPlaceholder: "Header-Name", valuePlaceholder: "value" })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { htmlFor: "stgm-wizard-mcp-http-timeout", className: "text-sm font-medium text-foreground", children: "Timeout (seconds)" }), _jsx("input", { id: "stgm-wizard-mcp-http-timeout", type: "number", min: 0, step: 1, value: data.httpTimeoutSeconds || "", onChange: (e) => updateData({
41
41
  httpTimeoutSeconds: e.target.value
42
42
  ? parseInt(e.target.value, 10)
43
43
  : 0,
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityTransportStep.js","sourceRoot":"","sources":["../../../src/mcp-server/steps/IdentityTransportStep.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IdentityTransportStep.js","sourceRoot":"","sources":["../../../src/mcp-server/steps/IdentityTransportStep.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigmer/react",
3
- "version": "3.4.1",
3
+ "version": "3.5.0",
4
4
  "description": "React provider and client hook for the Stigmer platform SDK",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -37,7 +37,7 @@
37
37
  "dependencies": {
38
38
  "@bufbuild/protovalidate": "^1.1.1",
39
39
  "@dagrejs/dagre": "^1.1.4",
40
- "@stigmer/theme": "3.4.1",
40
+ "@stigmer/theme": "3.5.0",
41
41
  "diff": "^8.0.3",
42
42
  "fflate": "^0.8.2",
43
43
  "hast-util-to-jsx-runtime": "^2.3.6",
@@ -60,8 +60,8 @@
60
60
  "@codemirror/state": "^6.0.0",
61
61
  "@codemirror/view": "^6.0.0",
62
62
  "@lezer/highlight": "^1.0.0",
63
- "@stigmer/protos": "3.4.1",
64
- "@stigmer/sdk": "3.4.1",
63
+ "@stigmer/protos": "3.5.0",
64
+ "@stigmer/sdk": "3.5.0",
65
65
  "@tanstack/react-table": "^8.20.0",
66
66
  "@xyflow/react": "^12.0.0",
67
67
  "elkjs": "^0.9.0",
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server-templates.d.ts","sourceRoot":"","sources":["../../../src/resource-creation/templates/mcp-server-templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,gBAAgB,CAAC,mBAAmB,CAAC,EA2F9E,CAAC"}
1
+ {"version":3,"file":"mcp-server-templates.d.ts","sourceRoot":"","sources":["../../../src/resource-creation/templates/mcp-server-templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,gBAAgB,CAAC,mBAAmB,CAAC,EA8F9E,CAAC"}
@@ -53,36 +53,39 @@ export const MCP_SERVER_TEMPLATES = [
53
53
  },
54
54
  },
55
55
  {
56
- id: "postgresql",
57
- name: "PostgreSQL",
58
- description: "Connect to a PostgreSQL database for querying, schema inspection, and data management.",
56
+ id: "neon",
57
+ name: "Neon",
58
+ description: "Connect to Neon's hosted MCP endpoint for serverless PostgreSQL — querying, schema inspection, and branch management.",
59
59
  category: "integration",
60
- tags: ["postgres", "postgresql", "database", "sql", "data"],
60
+ tags: ["neon", "postgres", "postgresql", "database", "sql", "data"],
61
61
  data: {
62
- name: "PostgreSQL",
63
- description: "PostgreSQL database connection for querying, schema inspection, and data management.",
64
- transportType: "stdio",
65
- stdioCommand: "npx",
66
- stdioArgs: "-y @modelcontextprotocol/server-postgres",
62
+ name: "Neon",
63
+ description: "Neon serverless PostgreSQL querying, schema inspection, database provisioning, and branch management.",
64
+ transportType: "http",
65
+ httpUrl: "https://mcp.neon.tech/mcp",
67
66
  env: [
68
67
  {
69
- key: "DATABASE_URL",
70
- description: "PostgreSQL connection string (e.g. postgresql://user:pass@host:5432/db).",
68
+ key: "NEON_API_KEY",
69
+ description: "Neon API key (generate at console.neon.tech/app/settings/api-keys).",
71
70
  isSecret: true,
72
71
  optional: false,
73
72
  },
74
73
  ],
75
74
  },
76
75
  },
76
+ // Deliberately stdio: the canonical example of a tool that must run on
77
+ // the user's own machine. Stdio servers are local-runner-only — the
78
+ // wizard's transport step states this, and cloud-targeted sessions
79
+ // refuse them at execution create.
77
80
  {
78
81
  id: "filesystem",
79
- name: "Filesystem",
80
- description: "Provide read and write access to a local directory for file management and content operations.",
82
+ name: "Filesystem (local runners)",
83
+ description: "Provide read and write access to a local directory for file management and content operations. Runs on local runners only.",
81
84
  category: "general",
82
85
  tags: ["filesystem", "files", "local", "directory"],
83
86
  data: {
84
87
  name: "Filesystem",
85
- description: "Local filesystem access for reading, writing, and managing files within a directory.",
88
+ description: "Local filesystem access for reading, writing, and managing files within a directory. Stdio transport — runs on local runners only.",
86
89
  transportType: "stdio",
87
90
  stdioCommand: "npx",
88
91
  stdioArgs: "-y @modelcontextprotocol/server-filesystem /path/to/directory",
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server-templates.js","sourceRoot":"","sources":["../../../src/resource-creation/templates/mcp-server-templates.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAC/B;IACE;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,sGAAsG;QACxG,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC;QACpD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,2FAA2F;YAC7F,aAAa,EAAE,MAAM;YACrB,OAAO,EAAE,+BAA+B;YACxC,GAAG,EAAE;gBACH;oBACE,GAAG,EAAE,cAAc;oBACnB,WAAW,EACT,uDAAuD;oBACzD,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,KAAK;iBAChB;aACF;SACF;KACF;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,WAAW,EACT,qGAAqG;QACvG,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC;QACrD,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO;YACb,WAAW,EACT,oFAAoF;YACtF,aAAa,EAAE,MAAM;YACrB,OAAO,EAAE,2BAA2B;YACpC,GAAG,EAAE;gBACH;oBACE,GAAG,EAAE,iBAAiB;oBACtB,WAAW,EAAE,wCAAwC;oBACrD,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,KAAK;iBAChB;aACF;SACF;KACF;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,wFAAwF;QAC1F,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC;QAC3D,IAAI,EAAE;YACJ,IAAI,EAAE,YAAY;YAClB,WAAW,EACT,sFAAsF;YACxF,aAAa,EAAE,OAAO;YACtB,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,0CAA0C;YACrD,GAAG,EAAE;gBACH;oBACE,GAAG,EAAE,cAAc;oBACnB,WAAW,EACT,0EAA0E;oBAC5E,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,KAAK;iBAChB;aACF;SACF;KACF;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,gGAAgG;QAClG,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC;QACnD,IAAI,EAAE;YACJ,IAAI,EAAE,YAAY;YAClB,WAAW,EACT,sFAAsF;YACxF,aAAa,EAAE,OAAO;YACtB,YAAY,EAAE,KAAK;YACnB,SAAS,EACP,+DAA+D;SAClE;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"mcp-server-templates.js","sourceRoot":"","sources":["../../../src/resource-creation/templates/mcp-server-templates.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAC/B;IACE;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,sGAAsG;QACxG,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC;QACpD,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,2FAA2F;YAC7F,aAAa,EAAE,MAAM;YACrB,OAAO,EAAE,+BAA+B;YACxC,GAAG,EAAE;gBACH;oBACE,GAAG,EAAE,cAAc;oBACnB,WAAW,EACT,uDAAuD;oBACzD,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,KAAK;iBAChB;aACF;SACF;KACF;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,WAAW,EACT,qGAAqG;QACvG,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC;QACrD,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO;YACb,WAAW,EACT,oFAAoF;YACtF,aAAa,EAAE,MAAM;YACrB,OAAO,EAAE,2BAA2B;YACpC,GAAG,EAAE;gBACH;oBACE,GAAG,EAAE,iBAAiB;oBACtB,WAAW,EAAE,wCAAwC;oBACrD,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,KAAK;iBAChB;aACF;SACF;KACF;IACD;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,WAAW,EACT,uHAAuH;QACzH,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC;QACnE,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,WAAW,EACT,yGAAyG;YAC3G,aAAa,EAAE,MAAM;YACrB,OAAO,EAAE,2BAA2B;YACpC,GAAG,EAAE;gBACH;oBACE,GAAG,EAAE,cAAc;oBACnB,WAAW,EACT,qEAAqE;oBACvE,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,KAAK;iBAChB;aACF;SACF;KACF;IACD,uEAAuE;IACvE,oEAAoE;IACpE,mEAAmE;IACnE,mCAAmC;IACnC;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,4HAA4H;QAC9H,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC;QACnD,IAAI,EAAE;YACJ,IAAI,EAAE,YAAY;YAClB,WAAW,EACT,oIAAoI;YACtI,aAAa,EAAE,OAAO;YACtB,YAAY,EAAE,KAAK;YACnB,SAAS,EACP,+DAA+D;SAClE;KACF;CACF,CAAC"}
@@ -0,0 +1,62 @@
1
+ import type { ReactNode } from "react";
2
+ import type { Organization } from "@stigmer/protos/ai/stigmer/tenancy/organization/v1/api_pb";
3
+ import type { SettingsNavGroup } from "../settings/settings-nav.js";
4
+ import type { RenderSidebarLink } from "./types.js";
5
+ /** Props for {@link SettingsSidebar}. */
6
+ export interface SettingsSidebarProps {
7
+ /**
8
+ * Grouped settings navigation to render. The console passes
9
+ * `useSettingsNavGroups()` (permission-aware); deterministic hosts
10
+ * pass `SETTINGS_NAV_GROUPS` or a fixture subset.
11
+ */
12
+ readonly groups: readonly SettingsNavGroup[];
13
+ /**
14
+ * Current pathname for active-row matching: a row is active when the
15
+ * path equals its `href` or sits under `href + "/"`. Omit for hosts
16
+ * with no location (deterministic embeds pass the depicted route).
17
+ */
18
+ readonly activePath?: string | null;
19
+ /** Renders each interactive row. See {@link RenderSidebarLink}. */
20
+ readonly renderLink: RenderSidebarLink;
21
+ /**
22
+ * "Back to Sessions" target — the last workspace-zone location, so
23
+ * leaving settings restores where the user was. @default "/"
24
+ */
25
+ readonly backHref?: string;
26
+ /** Footer content — typically the host app's `UserMenu` wrapper. */
27
+ readonly footer: ReactNode;
28
+ /** Reflected as `aria-expanded` on the collapse toggle. @default true */
29
+ readonly isOpen?: boolean;
30
+ /** Called when the collapse toggle is pressed. */
31
+ readonly onCollapse?: () => void;
32
+ /** Passed through to the embedded `OrgSwitcher`. */
33
+ readonly onOrgChanged?: (org: Organization) => void;
34
+ }
35
+ /**
36
+ * The console's settings-zone (management) sidebar: org switcher, a
37
+ * "Back to Sessions" exit, and grouped settings navigation driven by
38
+ * the SDK's settings-nav model, with a user footer.
39
+ *
40
+ * Like {@link WorkspaceSidebar}, this is the exact component the web
41
+ * console, desktop app, and documentation tours all render; hosts vary
42
+ * only `renderLink`, `groups`, and the `footer` slot.
43
+ *
44
+ * Row identifiers passed to `renderLink` are the settings route
45
+ * basenames (`"api-keys"`, `"members"`, …) plus `"back-to-sessions"`,
46
+ * so consumers can address specific rows without parsing hrefs.
47
+ *
48
+ * @example
49
+ * ```tsx
50
+ * <SettingsSidebar
51
+ * groups={useSettingsNavGroups()}
52
+ * activePath={usePathname()}
53
+ * backHref={lastSessionZonePath ?? "/"}
54
+ * renderLink={({ href, children, ...rest }) => (
55
+ * <Link href={href} {...rest}>{children}</Link>
56
+ * )}
57
+ * footer={<UserMenu />}
58
+ * />
59
+ * ```
60
+ */
61
+ export declare function SettingsSidebar({ groups, activePath, renderLink, backHref, footer, isOpen, onCollapse, onOrgChanged, }: SettingsSidebarProps): import("react/jsx-runtime").JSX.Element;
62
+ //# sourceMappingURL=SettingsSidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsSidebar.d.ts","sourceRoot":"","sources":["../../src/sidebar/SettingsSidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAC9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMpD,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,mEAAmE;IACnE,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,oDAAoD;IACpD,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;CACrD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,UAAiB,EACjB,UAAU,EACV,QAAc,EACd,MAAM,EACN,MAAa,EACb,UAAU,EACV,YAAY,GACb,EAAE,oBAAoB,2CA4DtB"}
@@ -0,0 +1,60 @@
1
+ "use client";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ArrowLeft } from "lucide-react";
4
+ import { SidebarChrome, SidebarSeparator, navRowClassName } from "./chrome.js";
5
+ /**
6
+ * The console's settings-zone (management) sidebar: org switcher, a
7
+ * "Back to Sessions" exit, and grouped settings navigation driven by
8
+ * the SDK's settings-nav model, with a user footer.
9
+ *
10
+ * Like {@link WorkspaceSidebar}, this is the exact component the web
11
+ * console, desktop app, and documentation tours all render; hosts vary
12
+ * only `renderLink`, `groups`, and the `footer` slot.
13
+ *
14
+ * Row identifiers passed to `renderLink` are the settings route
15
+ * basenames (`"api-keys"`, `"members"`, …) plus `"back-to-sessions"`,
16
+ * so consumers can address specific rows without parsing hrefs.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <SettingsSidebar
21
+ * groups={useSettingsNavGroups()}
22
+ * activePath={usePathname()}
23
+ * backHref={lastSessionZonePath ?? "/"}
24
+ * renderLink={({ href, children, ...rest }) => (
25
+ * <Link href={href} {...rest}>{children}</Link>
26
+ * )}
27
+ * footer={<UserMenu />}
28
+ * />
29
+ * ```
30
+ */
31
+ export function SettingsSidebar({ groups, activePath = null, renderLink, backHref = "/", footer, isOpen = true, onCollapse, onOrgChanged, }) {
32
+ return (_jsxs(SidebarChrome, { ariaLabel: "Management navigation", isOpen: isOpen, onCollapse: onCollapse, onOrgChanged: onOrgChanged, footer: footer, children: [_jsx("div", { className: "flex-none px-3 py-1", children: renderLink({
33
+ id: "back-to-sessions",
34
+ href: backHref,
35
+ active: false,
36
+ className: navRowClassName(false, { muted: true }),
37
+ "aria-current": undefined,
38
+ children: (_jsxs(_Fragment, { children: [_jsx(ArrowLeft, { className: "size-4 shrink-0" }), "Back to Sessions"] })),
39
+ }) }), _jsx(SidebarSeparator, {}), _jsx("div", { className: "flex flex-col gap-4 px-3 py-1", children: groups.map((group) => (_jsxs("div", { className: "flex flex-col gap-0.5", children: [_jsx("span", { className: "text-sidebar-muted-foreground px-2 pb-1 text-[11px] font-medium tracking-wider uppercase", children: group.label }), group.items.map((item) => {
40
+ const active = activePath != null &&
41
+ (activePath === item.href ||
42
+ activePath.startsWith(`${item.href}/`));
43
+ return (_jsx(SettingsNavRow, { href: item.href, label: item.label, icon: _jsx(item.icon, { className: "size-4 shrink-0" }), active: active, renderLink: renderLink }, item.href));
44
+ })] }, group.label))) }), _jsx("div", { className: "flex-1" })] }));
45
+ }
46
+ // ---------------------------------------------------------------------------
47
+ // Internals
48
+ // ---------------------------------------------------------------------------
49
+ function SettingsNavRow({ href, label, icon, active, renderLink, }) {
50
+ return renderLink({
51
+ // Route basename as the stable id: "/settings/api-keys" → "api-keys".
52
+ id: href.slice(href.lastIndexOf("/") + 1),
53
+ href,
54
+ active,
55
+ className: navRowClassName(active),
56
+ "aria-current": active ? "page" : undefined,
57
+ children: (_jsxs(_Fragment, { children: [icon, label] })),
58
+ });
59
+ }
60
+ //# sourceMappingURL=SettingsSidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsSidebar.js","sourceRoot":"","sources":["../../src/sidebar/SettingsSidebar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAsC/E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,MAAM,EACN,UAAU,GAAG,IAAI,EACjB,UAAU,EACV,QAAQ,GAAG,GAAG,EACd,MAAM,EACN,MAAM,GAAG,IAAI,EACb,UAAU,EACV,YAAY,GACS;IACrB,OAAO,CACL,MAAC,aAAa,IACZ,SAAS,EAAC,uBAAuB,EACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,aAGd,cAAK,SAAS,EAAC,qBAAqB,YACjC,UAAU,CAAC;oBACV,EAAE,EAAE,kBAAkB;oBACtB,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,eAAe,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;oBAClD,cAAc,EAAE,SAAS;oBACzB,QAAQ,EAAE,CACR,8BACE,KAAC,SAAS,IAAC,SAAS,EAAC,iBAAiB,GAAG,wBAExC,CACJ;iBACF,CAAC,GACE,EAEN,KAAC,gBAAgB,KAAG,EAGpB,cAAK,SAAS,EAAC,+BAA+B,YAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,eAAuB,SAAS,EAAC,uBAAuB,aACtD,eAAM,SAAS,EAAC,0FAA0F,YACvG,KAAK,CAAC,KAAK,GACP,EACN,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;4BACxB,MAAM,MAAM,GACV,UAAU,IAAI,IAAI;gCAClB,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI;oCACvB,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;4BAE5C,OAAO,CACL,KAAC,cAAc,IAEb,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,KAAC,IAAI,CAAC,IAAI,IAAC,SAAS,EAAC,iBAAiB,GAAG,EAC/C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,IALjB,IAAI,CAAC,IAAI,CAMd,CACH,CAAC;wBACJ,CAAC,CAAC,KApBM,KAAK,CAAC,KAAK,CAqBf,CACP,CAAC,GACE,EAGN,cAAK,SAAS,EAAC,QAAQ,GAAG,IACZ,CACjB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,SAAS,cAAc,CAAC,EACtB,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,EACN,UAAU,GAOX;IACC,OAAO,UAAU,CAAC;QAChB,sEAAsE;QACtE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI;QACJ,MAAM;QACN,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC;QAClC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAC3C,QAAQ,EAAE,CACR,8BACG,IAAI,EACJ,KAAK,IACL,CACJ;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { type ReactNode } from "react";
2
+ import type { Organization } from "@stigmer/protos/ai/stigmer/tenancy/organization/v1/api_pb";
3
+ import type { RecentActivityEntry } from "../activity/types.js";
4
+ import type { RenderSidebarLink } from "./types.js";
5
+ /** Primary navigation destinations in the workspace sidebar. */
6
+ export type WorkspaceNavId = "new-session" | "dashboard" | "library";
7
+ /**
8
+ * Recent-activity data for the sidebar's Recents section — the return
9
+ * shape of `useRecentActivity`, narrowed to what the sidebar renders.
10
+ * Deterministic hosts pass frozen fixture entries instead.
11
+ */
12
+ export interface WorkspaceSidebarActivity {
13
+ readonly entries: readonly RecentActivityEntry[];
14
+ /** True during the initial fetch; renders loading skeletons. */
15
+ readonly isLoading?: boolean;
16
+ /** Non-null when the fetch failed; renders an inline alert. */
17
+ readonly error?: {
18
+ readonly message: string;
19
+ } | null;
20
+ }
21
+ /** Props for {@link WorkspaceSidebar}. */
22
+ export interface WorkspaceSidebarProps {
23
+ /**
24
+ * Which primary nav row is the current location, or `null`/omitted
25
+ * when none is (e.g. inside a session). The sidebar renders state
26
+ * only — the host decides what "active" means for its routes.
27
+ */
28
+ readonly activeNav?: WorkspaceNavId | null;
29
+ /** Renders each interactive row. See {@link RenderSidebarLink}. */
30
+ readonly renderLink: RenderSidebarLink;
31
+ /** Recent activity entries plus fetch state. */
32
+ readonly recentActivity: WorkspaceSidebarActivity;
33
+ /** Session id highlighted in Recents, if a session is open. */
34
+ readonly activeSessionId?: string | null;
35
+ /** Workflow-execution id highlighted in Recents, if one is open. */
36
+ readonly activeExecutionId?: string | null;
37
+ /**
38
+ * Optional trailing accessory per recents row — e.g. the desktop
39
+ * app's "running in background" pulse dot. Rendered after the
40
+ * timestamp column, inside the row.
41
+ */
42
+ readonly renderEntryAccessory?: (entry: RecentActivityEntry) => ReactNode;
43
+ /** Footer content — typically the host app's `UserMenu` wrapper. */
44
+ readonly footer: ReactNode;
45
+ /** Reflected as `aria-expanded` on the collapse toggle. @default true */
46
+ readonly isOpen?: boolean;
47
+ /** Called when the collapse toggle is pressed. */
48
+ readonly onCollapse?: () => void;
49
+ /** Passed through to the embedded `OrgSwitcher`. */
50
+ readonly onOrgChanged?: (org: Organization) => void;
51
+ /**
52
+ * Reference instant for time bucketing ("Today"/"Yesterday") and
53
+ * relative stamps ("2h"). Defaults to the live clock. **Deterministic
54
+ * hosts (documentation embeds, video export) must pass a frozen
55
+ * instant** — otherwise the depicted times drift with every replay.
56
+ */
57
+ readonly now?: Date;
58
+ }
59
+ /**
60
+ * The console's workspace-zone sidebar: org switcher, primary navigation
61
+ * (New Session / Dashboard / Library), time-bucketed recent activity,
62
+ * and a user footer.
63
+ *
64
+ * This is the same component the Stigmer web console and desktop app
65
+ * render — hosts differ only in what they return from `renderLink`
66
+ * (their router's link), what they pass as `recentActivity` (live hook
67
+ * data or frozen fixtures), and the `footer` slot. Documentation tours
68
+ * render it too, which is the point: the depicted chrome cannot drift
69
+ * from the product because it *is* the product (stigmer/stigmer#317).
70
+ *
71
+ * Layout note: the sidebar fills its container's height and defines no
72
+ * width — the console's app shell owns the `w-70` (280px) column.
73
+ *
74
+ * @example
75
+ * ```tsx
76
+ * <WorkspaceSidebar
77
+ * activeNav="library"
78
+ * renderLink={({ href, children, ...rest }) => (
79
+ * <Link href={href} {...rest}>{children}</Link>
80
+ * )}
81
+ * recentActivity={useRecentActivity()}
82
+ * footer={<UserMenu />}
83
+ * />
84
+ * ```
85
+ */
86
+ export declare function WorkspaceSidebar({ activeNav, renderLink, recentActivity, activeSessionId, activeExecutionId, renderEntryAccessory, footer, isOpen, onCollapse, onOrgChanged, now, }: WorkspaceSidebarProps): import("react/jsx-runtime").JSX.Element;
87
+ //# sourceMappingURL=WorkspaceSidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceSidebar.d.ts","sourceRoot":"","sources":["../../src/sidebar/WorkspaceSidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAStD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2DAA2D,CAAC;AAC9F,OAAO,KAAK,EAAE,mBAAmB,EAAuB,MAAM,sBAAsB,CAAC;AAYrF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAMpD,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;AAErE;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACjD,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACtD;AAED,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC3C,mEAAmE;IACnE,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,gDAAgD;IAChD,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAClD,+DAA+D;IAC/D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,oEAAoE;IACpE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,SAAS,CAAC;IAC1E,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,oDAAoD;IACpD,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACpD;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,SAAgB,EAChB,UAAU,EACV,cAAc,EACd,eAAsB,EACtB,iBAAwB,EACxB,oBAAoB,EACpB,MAAM,EACN,MAAa,EACb,UAAU,EACV,YAAY,EACZ,GAAG,GACJ,EAAE,qBAAqB,2CAqEvB"}
@@ -0,0 +1,95 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { memo, useMemo } from "react";
4
+ import { Plus, LayoutDashboard, Library, MessageSquare, Workflow, } from "lucide-react";
5
+ import { groupRecentActivityByTime } from "../activity/group-activity.js";
6
+ import { formatRelativeTime } from "../activity/format-relative-time.js";
7
+ import { recentActivityStatusBadge } from "../activity/entry-status-badge.js";
8
+ import { ScrollArea } from "../internal/scroll-area.js";
9
+ import { Tooltip, TooltipProvider, TooltipTrigger, TooltipContent, } from "../internal/tooltip.js";
10
+ import { SidebarChrome, SidebarSeparator, navRowClassName } from "./chrome.js";
11
+ /**
12
+ * The console's workspace-zone sidebar: org switcher, primary navigation
13
+ * (New Session / Dashboard / Library), time-bucketed recent activity,
14
+ * and a user footer.
15
+ *
16
+ * This is the same component the Stigmer web console and desktop app
17
+ * render — hosts differ only in what they return from `renderLink`
18
+ * (their router's link), what they pass as `recentActivity` (live hook
19
+ * data or frozen fixtures), and the `footer` slot. Documentation tours
20
+ * render it too, which is the point: the depicted chrome cannot drift
21
+ * from the product because it *is* the product (stigmer/stigmer#317).
22
+ *
23
+ * Layout note: the sidebar fills its container's height and defines no
24
+ * width — the console's app shell owns the `w-70` (280px) column.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * <WorkspaceSidebar
29
+ * activeNav="library"
30
+ * renderLink={({ href, children, ...rest }) => (
31
+ * <Link href={href} {...rest}>{children}</Link>
32
+ * )}
33
+ * recentActivity={useRecentActivity()}
34
+ * footer={<UserMenu />}
35
+ * />
36
+ * ```
37
+ */
38
+ export function WorkspaceSidebar({ activeNav = null, renderLink, recentActivity, activeSessionId = null, activeExecutionId = null, renderEntryAccessory, footer, isOpen = true, onCollapse, onOrgChanged, now, }) {
39
+ const { entries, isLoading = false, error = null } = recentActivity;
40
+ const groups = useMemo(() => groupRecentActivityByTime(entries, now), [entries, now]);
41
+ return (_jsxs(SidebarChrome, { ariaLabel: "Main navigation", isOpen: isOpen, onCollapse: onCollapse, onOrgChanged: onOrgChanged, footer: footer, children: [_jsx(PrimaryNavRow, { id: "new-session", href: "/", label: "New Session", icon: Plus, active: activeNav === "new-session", renderLink: renderLink }), _jsx(PrimaryNavRow, { id: "dashboard", href: "/dashboard", label: "Dashboard", icon: LayoutDashboard, active: activeNav === "dashboard", renderLink: renderLink }), _jsx(PrimaryNavRow, { id: "library", href: "/library", label: "Library", icon: Library, active: activeNav === "library", renderLink: renderLink }), _jsx(SidebarSeparator, {}), _jsx(ScrollArea, { className: "flex-1", children: _jsxs("div", { className: "p-3", children: [_jsx("p", { className: "text-sidebar-muted-foreground mb-2 px-1 text-[11px] font-semibold tracking-wider uppercase", children: "Recents" }), isLoading ? (_jsx(RecentsSkeletons, {})) : error ? (_jsx(RecentsError, { message: error.message })) : groups.length === 0 ? (_jsx(RecentsEmptyState, {})) : (_jsx(ActivityGroupList, { groups: groups, activeSessionId: activeSessionId, activeExecutionId: activeExecutionId, renderLink: renderLink, renderEntryAccessory: renderEntryAccessory, now: now }))] }) })] }));
42
+ }
43
+ // ---------------------------------------------------------------------------
44
+ // Internals
45
+ // ---------------------------------------------------------------------------
46
+ function PrimaryNavRow({ id, href, label, icon: Icon, active, renderLink, }) {
47
+ return (_jsx("div", { className: "flex-none px-3 py-1", children: renderLink({
48
+ id,
49
+ href,
50
+ active,
51
+ className: navRowClassName(active),
52
+ "aria-current": active ? "page" : undefined,
53
+ children: (_jsxs(_Fragment, { children: [_jsx(Icon, { className: "size-4 shrink-0" }), label] })),
54
+ }) }));
55
+ }
56
+ function ActivityGroupList({ groups, activeSessionId, activeExecutionId, renderLink, renderEntryAccessory, now, }) {
57
+ return (_jsx(TooltipProvider, { children: _jsx("div", { className: "space-y-4", children: groups.map((group) => (_jsxs("div", { children: [_jsx("p", { className: "text-sidebar-muted-foreground mb-1 px-2 text-[10px] font-medium tracking-wider uppercase", children: group.label }), _jsx("ul", { className: "space-y-0.5", role: "list", children: group.entries.map((entry) => (_jsx(ActivityEntry, { entry: entry, activeSessionId: activeSessionId, activeExecutionId: activeExecutionId, renderLink: renderLink, renderEntryAccessory: renderEntryAccessory, now: now }, entry.id))) })] }, group.label))) }) }));
58
+ }
59
+ const ActivityEntry = memo(function ActivityEntry({ entry, activeSessionId, activeExecutionId, renderLink, renderEntryAccessory, now, }) {
60
+ const isSession = entry.type === "session";
61
+ const isActive = isSession
62
+ ? entry.id === activeSessionId
63
+ : entry.id === activeExecutionId;
64
+ const href = isSession ? `/sessions/${entry.id}` : `/executions/${entry.id}`;
65
+ const TypeIcon = isSession ? MessageSquare : Workflow;
66
+ const statusBadge = recentActivityStatusBadge(entry);
67
+ const row = renderLink({
68
+ id: entry.id,
69
+ href,
70
+ active: isActive,
71
+ "aria-current": isActive ? "page" : undefined,
72
+ entry,
73
+ className: cnActivityRow(isActive),
74
+ children: (_jsxs(_Fragment, { children: [_jsx(TypeIcon, { className: "mt-0.5 size-3 shrink-0 opacity-50", "aria-hidden": "true" }), _jsx("span", { className: "line-clamp-2 flex-1", children: entry.subject }), _jsxs("span", { className: "flex shrink-0 flex-col items-end gap-0.5 text-[10px] leading-tight", children: [_jsx("span", { className: "text-sidebar-muted-foreground tabular-nums", children: formatRelativeTime(entry.updatedAt, now) }), statusBadge && (_jsx("span", { className: statusBadge.tone === "destructive"
75
+ ? "text-destructive"
76
+ : "text-sidebar-muted-foreground", children: statusBadge.label }))] }), renderEntryAccessory?.(entry)] })),
77
+ });
78
+ return (_jsx("li", { children: _jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: row }), _jsx(TooltipContent, { side: "right", sideOffset: 12, children: entry.subject })] }) }));
79
+ });
80
+ /** Recents rows are denser than primary nav: 12px text, top-aligned icon. */
81
+ function cnActivityRow(active) {
82
+ return active
83
+ ? "flex items-start gap-2 rounded-lg px-2 py-1.5 text-xs transition-colors bg-sidebar-accent text-sidebar-accent-foreground font-medium"
84
+ : "flex items-start gap-2 rounded-lg px-2 py-1.5 text-xs transition-colors text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground";
85
+ }
86
+ function RecentsSkeletons() {
87
+ return (_jsx("div", { className: "space-y-2 px-2", "aria-busy": "true", "aria-label": "Loading sessions", children: Array.from({ length: 5 }, (_, i) => (_jsx("div", { className: "bg-sidebar-muted h-5 animate-pulse rounded", style: { width: `${70 + Math.sin(i * 1.5) * 20}%` } }, i))) }));
88
+ }
89
+ function RecentsError({ message }) {
90
+ return (_jsxs(_Fragment, { children: [_jsx("p", { className: "text-destructive mb-4 px-2 text-xs", role: "alert", children: message }), _jsx(RecentsEmptyState, {})] }));
91
+ }
92
+ function RecentsEmptyState() {
93
+ return (_jsxs("div", { className: "flex flex-col items-center gap-2 py-8 text-center", children: [_jsx(MessageSquare, { className: "text-sidebar-muted-foreground size-8" }), _jsx("p", { className: "text-sidebar-muted-foreground text-xs", children: "No recent activity" })] }));
94
+ }
95
+ //# sourceMappingURL=WorkspaceSidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkspaceSidebar.js","sourceRoot":"","sources":["../../src/sidebar/WorkspaceSidebar.tsx"],"names":[],"mappings":"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"}