@pickaxeproject/react 6.24.7 → 6.24.9

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 (41) hide show
  1. package/dist/cjs/common/mcpApp.js +1 -0
  2. package/dist/cjs/common/mcpTranslations.js +1 -0
  3. package/dist/cjs/components/Icons/arrow-up-right.svg.js +1 -0
  4. package/dist/cjs/components/Icons/computer.svg.js +1 -0
  5. package/dist/cjs/components/Pickaxe/Provider.js +1 -1
  6. package/dist/cjs/components/Pickaxe/common/MCPClientIcon.js +1 -0
  7. package/dist/cjs/components/Pickaxe/common/PickaxeMCPButton.js +1 -1
  8. package/dist/cjs/node_modules/.pnpm/cose-base@1.0.3/node_modules/cose-base/cose-base.js +1 -1
  9. package/dist/cjs/node_modules/.pnpm/cose-base@2.2.0/node_modules/cose-base/cose-base.js +1 -1
  10. package/dist/cjs/node_modules/.pnpm/layout-base@1.0.2/node_modules/layout-base/layout-base.js +1 -1
  11. package/dist/cjs/node_modules/.pnpm/layout-base@2.0.1/node_modules/layout-base/layout-base.js +1 -1
  12. package/dist/cjs/prose.css +1 -1
  13. package/dist/cjs/src/common/mcpApp.d.ts +9 -0
  14. package/dist/cjs/src/common/mcpTranslations.d.ts +39 -0
  15. package/dist/cjs/src/components/Pickaxe/Provider.d.ts +14 -1
  16. package/dist/cjs/src/components/Pickaxe/common/MCPClientIcon.d.ts +7 -0
  17. package/dist/cjs/src/components/Pickaxe/common/PickaxeMCPButton.d.ts +1 -0
  18. package/dist/cjs/src/hooks/pickaxe/usePickaxeContext.d.ts +15 -0
  19. package/dist/esm/common/mcpApp.js +1 -0
  20. package/dist/esm/common/mcpTranslations.js +1 -0
  21. package/dist/esm/components/Icons/arrow-up-right.svg.js +1 -0
  22. package/dist/esm/components/Icons/computer.svg.js +1 -0
  23. package/dist/esm/components/Pickaxe/Provider.js +1 -1
  24. package/dist/esm/components/Pickaxe/common/MCPClientIcon.js +1 -0
  25. package/dist/esm/components/Pickaxe/common/PickaxeMCPButton.js +1 -1
  26. package/dist/esm/node_modules/.pnpm/cose-base@1.0.3/node_modules/cose-base/cose-base.js +1 -1
  27. package/dist/esm/node_modules/.pnpm/cose-base@2.2.0/node_modules/cose-base/cose-base.js +1 -1
  28. package/dist/esm/node_modules/.pnpm/layout-base@1.0.2/node_modules/layout-base/layout-base.js +1 -1
  29. package/dist/esm/node_modules/.pnpm/layout-base@2.0.1/node_modules/layout-base/layout-base.js +1 -1
  30. package/dist/esm/prose.css +1 -1
  31. package/dist/esm/src/common/mcpApp.d.ts +9 -0
  32. package/dist/esm/src/common/mcpTranslations.d.ts +39 -0
  33. package/dist/esm/src/components/Pickaxe/Provider.d.ts +14 -1
  34. package/dist/esm/src/components/Pickaxe/common/MCPClientIcon.d.ts +7 -0
  35. package/dist/esm/src/components/Pickaxe/common/PickaxeMCPButton.d.ts +1 -0
  36. package/dist/esm/src/hooks/pickaxe/usePickaxeContext.d.ts +15 -0
  37. package/package.json +2 -1
  38. package/dist/cjs/components/Core/Modal/CloseButton.js +0 -1
  39. package/dist/cjs/components/Icons/terminal.svg.js +0 -1
  40. package/dist/esm/components/Core/Modal/CloseButton.js +0 -1
  41. package/dist/esm/components/Icons/terminal.svg.js +0 -1
@@ -0,0 +1,39 @@
1
+ export declare const MCP_TRANSLATION_DEFAULTS: {
2
+ readonly "mcp-use-with-ai-app": "Use with an AI app";
3
+ readonly "mcp-connect-agent": "Connect this agent via MCP";
4
+ readonly "mcp-dropdown-description": "Use this agent in your favorite AI app";
5
+ readonly "mcp-open-claude": "Open in Claude";
6
+ readonly "mcp-open-codex": "Connect Codex";
7
+ readonly "mcp-open-cursor": "Open in Cursor";
8
+ readonly "mcp-open-vscode": "VS Code";
9
+ readonly "mcp-manual-setup": "Other Agents/ Manual setup";
10
+ readonly "mcp-copy-configuration": "Copy MCP configuration";
11
+ readonly "mcp-configuration-copied": "Configuration copied.";
12
+ readonly "mcp-preparing-configuration": "Preparing your private configuration…";
13
+ readonly "mcp-configuration-unavailable": "Unable to prepare your connection.";
14
+ readonly "mcp-try-again": "Try again";
15
+ readonly "mcp-copy-failed": "Could not copy. Select and copy the configuration below.";
16
+ readonly "mcp-paste-setup-prompt": "Your app will open with a short setup prompt. Copy the full prompt below and paste it into the app before sending.";
17
+ readonly "mcp-review-setup-prompt": "Review and send the setup prompt in your app. If it did not open, download the app or copy the prompt below.";
18
+ readonly "mcp-app-did-not-open": "App didn’t open?";
19
+ readonly "mcp-download-app": "Download {app}";
20
+ readonly "mcp-setup-prompt-copied": "Setup prompt copied. Paste it into your AI app, then review and send it.";
21
+ readonly "mcp-copy-setup-prompt": "Copy setup prompt";
22
+ readonly "mcp-documentation-help": "Documentation & Help";
23
+ readonly "mcp-setup-prompt-intro": "Add this Pickaxe MCP server to my local {app} app.";
24
+ readonly "mcp-setup-prompt-server-name": "Server name: {name}";
25
+ readonly "mcp-setup-prompt-transport": "Transport: {transport}";
26
+ readonly "mcp-setup-prompt-url": "URL: {url}";
27
+ readonly "mcp-setup-prompt-authorization": "Authorization header: {authorization}";
28
+ readonly "mcp-setup-prompt-claude-placement": "Add a user-scoped HTTP MCP server using Claude Code's MCP configuration or CLI.";
29
+ readonly "mcp-setup-prompt-codex-placement": "Update the user's ~/.codex/config.toml with an mcp_servers entry using url and http_headers.";
30
+ readonly "mcp-setup-prompt-cursor-placement": "Update the user's ~/.cursor/mcp.json, adding the server under mcpServers with url and headers.";
31
+ readonly "mcp-setup-prompt-vscode-placement": "Locate this OS/profile's user mcp.json and add the server under servers with type http, url, and headers.";
32
+ readonly "mcp-setup-prompt-preserve": "Preserve all existing servers and settings. If pickaxe already points to another endpoint, choose a unique server name instead of replacing it.";
33
+ readonly "mcp-setup-prompt-private": "Keep this credential private in local user configuration, never project files or Git, and do not repeat it in your reply.";
34
+ readonly "mcp-setup-prompt-verify": "Verify the connection if available, then report whether it is connected or a reload/restart is required.";
35
+ readonly "mcp-setup-prompt-short": "Help me add a Pickaxe MCP server to my local {app} app. I will paste the full setup prompt next.";
36
+ };
37
+ export type MCPTranslationKey = keyof typeof MCP_TRANSLATION_DEFAULTS;
38
+ export type MCPTranslations = Readonly<Record<string, string | undefined>>;
39
+ export declare function translateMCP(translations: MCPTranslations | undefined, key: MCPTranslationKey, values?: Readonly<Record<string, string>>): string;
@@ -20,6 +20,12 @@ export type PickaxeResponseActionRenderer = (target: PickaxeResponseActionTarget
20
20
  export type PickaxeTranslations = {
21
21
  [key: string]: string;
22
22
  };
23
+ type MCPDialogState = {
24
+ isOpen: boolean;
25
+ guestToken: string | null;
26
+ isPreparing: boolean;
27
+ prepareError: boolean;
28
+ };
23
29
  export type PickaxeProviderStyles = {
24
30
  theme: "light" | "dark";
25
31
  portalTheme?: "light" | "dark";
@@ -126,7 +132,12 @@ type PickaxeContextType = {
126
132
  isRtl: boolean;
127
133
  isEmbed: boolean;
128
134
  mcpEnabled: boolean;
135
+ mcpInitiallyOpen: boolean;
129
136
  mcpGuestId?: string;
137
+ mcpDialog: MCPDialogState;
138
+ setMCPDialog: SetState<MCPDialogState>;
139
+ mcpInitiallyOpenedDeployments: Set<string>;
140
+ mcpPreparingDeployments: Set<string>;
130
141
  isDropShadow: boolean;
131
142
  allowGuestUsage: boolean;
132
143
  persistActiveConversation: boolean;
@@ -182,6 +193,8 @@ export interface IPickaxeProviderProps {
182
193
  isRtl?: boolean;
183
194
  isEmbed?: boolean;
184
195
  mcpEnabled?: boolean;
196
+ /** Open the MCP configuration once after authentication is ready. Requires mcpEnabled. */
197
+ mcpInitiallyOpen?: boolean;
185
198
  mcpGuestId?: string;
186
199
  studioSessionToken?: string | null;
187
200
  isDropShadow?: boolean;
@@ -193,5 +206,5 @@ export interface IPickaxeProviderProps {
193
206
  onSessionIdChange?: (sessionId: string) => void;
194
207
  }
195
208
  export declare const PickaxeContext: import("react").Context<PickaxeContextType>;
196
- export declare const PickaxeProvider: ({ children, renderResponseAction, renderEmbedHeaderAction, origin, sender: _sender, senderType: _senderType, deploymentId, portalId, deploymentType, deploymentDimensions, deploymentMisc, styles, colors, limits, misc, translations, artifact, responsiveBy, locale, opacity, forceMobile, disableHtml, disableJs, disableCss, loadFont, isRtl, isEmbed, mcpEnabled, mcpGuestId, studioSessionToken, isDropShadow, allowGuestUsage, persistActiveConversation, preventInitialSessionId, onUpgrade, onGenerateComplete, onSessionIdChange, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
209
+ export declare const PickaxeProvider: ({ children, renderResponseAction, renderEmbedHeaderAction, origin, sender: _sender, senderType: _senderType, deploymentId, portalId, deploymentType, deploymentDimensions, deploymentMisc, styles, colors, limits, misc, translations, artifact, responsiveBy, locale, opacity, forceMobile, disableHtml, disableJs, disableCss, loadFont, isRtl, isEmbed, mcpEnabled, mcpInitiallyOpen, mcpGuestId, studioSessionToken, isDropShadow, allowGuestUsage, persistActiveConversation, preventInitialSessionId, onUpgrade, onGenerateComplete, onSessionIdChange, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
197
210
  export {};
@@ -0,0 +1,7 @@
1
+ import type { MCPClient } from "../../../common/mcpApp";
2
+ interface MCPClientIconProps {
3
+ client: MCPClient;
4
+ className?: string;
5
+ }
6
+ declare const MCPClientIcon: ({ client, className }: MCPClientIconProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default MCPClientIcon;
@@ -1,2 +1,3 @@
1
+ import "./PickaxeMCPButton.css";
1
2
  declare const PickaxeMCPButton: () => import("react/jsx-runtime").JSX.Element | null;
2
3
  export default PickaxeMCPButton;
@@ -41,7 +41,22 @@ export declare const usePickaxeContext: () => {
41
41
  isRtl: boolean;
42
42
  isEmbed: boolean;
43
43
  mcpEnabled: boolean;
44
+ mcpInitiallyOpen: boolean;
44
45
  mcpGuestId?: string | undefined;
46
+ mcpDialog: {
47
+ isOpen: boolean;
48
+ guestToken: string | null;
49
+ isPreparing: boolean;
50
+ prepareError: boolean;
51
+ };
52
+ setMCPDialog: import("../../types/common").SetState<{
53
+ isOpen: boolean;
54
+ guestToken: string | null;
55
+ isPreparing: boolean;
56
+ prepareError: boolean;
57
+ }>;
58
+ mcpInitiallyOpenedDeployments: Set<string>;
59
+ mcpPreparingDeployments: Set<string>;
45
60
  isDropShadow: boolean;
46
61
  allowGuestUsage: boolean;
47
62
  persistActiveConversation: boolean;
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@pickaxeproject/react",
3
- "version": "6.24.7",
3
+ "version": "6.24.9",
4
4
  "description": "Client utility library for Pickaxe",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/pickaxeproject/v2-pickaxe-react.git"
8
8
  },
9
9
  "sideEffects": [
10
+ "**/*.css",
10
11
  "./dist/**/node_modules/**/vscode-jsonrpc/lib/common/events.js",
11
12
  "./dist/**/node_modules/**/d3-transition/src/selection/index.js"
12
13
  ],
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("./index.js"),r=require("../../Icons/x.svg.js"),n=require("../../../common/cn.js");exports.default=({className:o,iconClassName:a,icon:i,onClick:c})=>{const{setIsOpen:u}=s.useContext(t.ModalContext);return e.jsx("button",Object.assign({className:n.default("outline-none hover:opacity-70 hover:duration-300 active:opacity-100",o),onClick:()=>{u(!1),c&&c()}},{children:i||e.jsx(r.default,{className:n.default("h-6 w-6 shrink-0",a)})}))};
@@ -1 +0,0 @@
1
- "use strict";function e(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}Object.defineProperty(exports,"__esModule",{value:!0});var r,t,n=e(require("react"));function o(){return o=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},o.apply(null,arguments)}var a=e=>n.createElement("svg",o({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},e),r||(r=n.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"m5 7 5 5-5 5"})),t||(t=n.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeWidth:2,d:"M12 17h8"})));exports.default=a;
@@ -1 +0,0 @@
1
- import{jsx as o}from"react/jsx-runtime";import{useContext as s}from"react";import{ModalContext as t}from"./index.js";import n from"../../Icons/x.svg.js";import r from"../../../common/cn.js";const e=({className:e,iconClassName:c,icon:i,onClick:a})=>{const{setIsOpen:m}=s(t);return o("button",Object.assign({className:r("outline-none hover:opacity-70 hover:duration-300 active:opacity-100",e),onClick:()=>{m(!1),a&&a()}},{children:i||o(n,{className:r("h-6 w-6 shrink-0",c)})}))};export{e as default};
@@ -1 +0,0 @@
1
- import*as r from"react";var e,t;function n(){return n=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},n.apply(null,arguments)}var o=o=>r.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},o),e||(e=r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"m5 7 5 5-5 5"})),t||(t=r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeWidth:2,d:"M12 17h8"})));export{o as default};