@pickaxeproject/react 6.18.2-beta.0 → 6.19.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 (65) hide show
  1. package/dist/cjs/components/Core/Modal/Body.js +1 -1
  2. package/dist/cjs/components/Core/Modal/CloseButton.js +1 -0
  3. package/dist/cjs/components/Icons/terminal.svg.js +1 -0
  4. package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
  5. package/dist/cjs/components/Pickaxe/Chat/index.js +1 -1
  6. package/dist/cjs/components/Pickaxe/Form/Questions/Submit.js +1 -1
  7. package/dist/cjs/components/Pickaxe/Form/index.js +1 -1
  8. package/dist/cjs/components/Pickaxe/Provider.js +1 -1
  9. package/dist/cjs/components/Pickaxe/ResponseProvider.js +1 -1
  10. package/dist/cjs/components/Pickaxe/common/PickaxeEmbedHead.js +1 -1
  11. package/dist/cjs/components/Pickaxe/common/PickaxeMCPButton.js +1 -0
  12. package/dist/cjs/components/Pickaxe/common/PickaxeMessageParts/index.js +1 -1
  13. package/dist/cjs/index.js +1 -1
  14. package/dist/cjs/node_modules/.pnpm/cose-base@1.0.3/node_modules/cose-base/cose-base.js +1 -1
  15. package/dist/cjs/node_modules/.pnpm/cose-base@2.2.0/node_modules/cose-base/cose-base.js +1 -1
  16. package/dist/cjs/node_modules/.pnpm/layout-base@1.0.2/node_modules/layout-base/layout-base.js +1 -1
  17. package/dist/cjs/node_modules/.pnpm/layout-base@2.0.1/node_modules/layout-base/layout-base.js +1 -1
  18. package/dist/cjs/src/components/Core/Modal/Body.d.ts +2 -0
  19. package/dist/cjs/src/components/Pickaxe/Provider.d.ts +4 -1
  20. package/dist/cjs/src/components/Pickaxe/ResponseProvider.d.ts +0 -3
  21. package/dist/cjs/src/components/Pickaxe/common/PickaxeMCPButton.d.ts +2 -0
  22. package/dist/cjs/src/components/Pickaxe/common/PickaxeMessageParts/index.d.ts +1 -4
  23. package/dist/cjs/src/hooks/pickaxe/usePickaxeContext.d.ts +1 -0
  24. package/dist/cjs/src/hooks/pickaxe/useResponseContext.d.ts +0 -10
  25. package/dist/cjs/src/index.d.ts +0 -2
  26. package/dist/cjs/src/types/history.d.ts +2 -6
  27. package/dist/esm/components/Core/Modal/Body.js +1 -1
  28. package/dist/esm/components/Core/Modal/CloseButton.js +1 -0
  29. package/dist/esm/components/Icons/terminal.svg.js +1 -0
  30. package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
  31. package/dist/esm/components/Pickaxe/Chat/index.js +1 -1
  32. package/dist/esm/components/Pickaxe/Form/Questions/Submit.js +1 -1
  33. package/dist/esm/components/Pickaxe/Form/index.js +1 -1
  34. package/dist/esm/components/Pickaxe/Provider.js +1 -1
  35. package/dist/esm/components/Pickaxe/ResponseProvider.js +1 -1
  36. package/dist/esm/components/Pickaxe/common/PickaxeEmbedHead.js +1 -1
  37. package/dist/esm/components/Pickaxe/common/PickaxeMCPButton.js +1 -0
  38. package/dist/esm/components/Pickaxe/common/PickaxeMessageParts/index.js +1 -1
  39. package/dist/esm/index.js +1 -1
  40. package/dist/esm/node_modules/.pnpm/cose-base@1.0.3/node_modules/cose-base/cose-base.js +1 -1
  41. package/dist/esm/node_modules/.pnpm/cose-base@2.2.0/node_modules/cose-base/cose-base.js +1 -1
  42. package/dist/esm/node_modules/.pnpm/layout-base@1.0.2/node_modules/layout-base/layout-base.js +1 -1
  43. package/dist/esm/node_modules/.pnpm/layout-base@2.0.1/node_modules/layout-base/layout-base.js +1 -1
  44. package/dist/esm/src/components/Core/Modal/Body.d.ts +2 -0
  45. package/dist/esm/src/components/Pickaxe/Provider.d.ts +4 -1
  46. package/dist/esm/src/components/Pickaxe/ResponseProvider.d.ts +0 -3
  47. package/dist/esm/src/components/Pickaxe/common/PickaxeMCPButton.d.ts +2 -0
  48. package/dist/esm/src/components/Pickaxe/common/PickaxeMessageParts/index.d.ts +1 -4
  49. package/dist/esm/src/hooks/pickaxe/usePickaxeContext.d.ts +1 -0
  50. package/dist/esm/src/hooks/pickaxe/useResponseContext.d.ts +0 -10
  51. package/dist/esm/src/index.d.ts +0 -2
  52. package/dist/esm/src/types/history.d.ts +2 -6
  53. package/package.json +206 -207
  54. package/dist/cjs/common/actionApproval.js +0 -1
  55. package/dist/cjs/components/Pickaxe/common/PickaxeMessageParts/ActionApprovalPart.js +0 -1
  56. package/dist/cjs/hooks/pickaxe/useActionApprovals.js +0 -1
  57. package/dist/cjs/src/common/actionApproval.d.ts +0 -16
  58. package/dist/cjs/src/components/Pickaxe/common/PickaxeMessageParts/ActionApprovalPart.d.ts +0 -6
  59. package/dist/cjs/src/hooks/pickaxe/useActionApprovals.d.ts +0 -10
  60. package/dist/esm/common/actionApproval.js +0 -1
  61. package/dist/esm/components/Pickaxe/common/PickaxeMessageParts/ActionApprovalPart.js +0 -1
  62. package/dist/esm/hooks/pickaxe/useActionApprovals.js +0 -1
  63. package/dist/esm/src/common/actionApproval.d.ts +0 -16
  64. package/dist/esm/src/components/Pickaxe/common/PickaxeMessageParts/ActionApprovalPart.d.ts +0 -6
  65. package/dist/esm/src/hooks/pickaxe/useActionApprovals.d.ts +0 -10
package/package.json CHANGED
@@ -1,208 +1,207 @@
1
1
  {
2
- "name": "@pickaxeproject/react",
3
- "version": "6.18.2-beta.0",
4
- "description": "Client utility library for Pickaxe",
5
- "repository": {
6
- "type": "git",
7
- "url": "https://github.com/pickaxeproject/v2-pickaxe-react.git"
8
- },
9
- "sideEffects": false,
10
- "exports": {
11
- ".": {
12
- "import": "./dist/esm/index.js",
13
- "require": "./dist/cjs/index.js"
14
- },
15
- "./embed": {
16
- "import": "./dist/esm/embed/index.js",
17
- "require": "./dist/cjs/embed/index.js"
18
- },
19
- "./prose.css": "./dist/esm/prose.css"
20
- },
21
- "main": "dist/cjs/index.js",
22
- "module": "dist/esm/index.js",
23
- "types": "dist/esm/src/index.d.ts",
24
- "files": [
25
- "dist"
26
- ],
27
- "scripts": {
28
- "build": "cross-env NODE_ENV=production rollup -c",
29
- "lint": "eslint . --ext .ts,.tsx,.js,.jsx",
30
- "lint:format": "prettier --check src/**/*",
31
- "lint:staged": "pnpm run lint && pnpm run lint:format",
32
- "format": "prettier --write .",
33
- "prepare": "husky install",
34
- "changeset": "changeset",
35
- "release": "changeset publish",
36
- "dev": "storybook dev -p 6006",
37
- "storybook": "storybook dev -p 6006",
38
- "build-storybook": "storybook build"
39
- },
40
- "browserslist": [
41
- "> 1%",
42
- "not dead",
43
- "not edge <= 18",
44
- "not ie 11",
45
- "not op_mini all"
46
- ],
47
- "dependencies": {
48
- "@babel/runtime": "^7.20.7",
49
- "@modelcontextprotocol/sdk": "1.20.2",
50
- "@radix-ui/react-avatar": "^1.1.11",
51
- "franc-min": "^6.2.0",
52
- "jose": "^6.1.3",
53
- "lucide-react": "^0.563.0",
54
- "pkce-challenge": "3.0.0",
55
- "remove-markdown": "^0.6.3",
56
- "tldts": "^7.0.23"
57
- },
58
- "devDependencies": {
59
- "@babel/core": "^7.20.12",
60
- "@babel/plugin-transform-runtime": "^7.19.6",
61
- "@babel/preset-env": "^7.20.2",
62
- "@babel/preset-react": "^7.18.6",
63
- "@babel/preset-typescript": "^7.26.0",
64
- "@changesets/cli": "^2.26.0",
65
- "@chromatic-com/storybook": "3.2.3",
66
- "@mdx-js/react": "^3.1.0",
67
- "@nem035/gpt-3-encoder": "^1.1.7",
68
- "@prettier/plugin-xml": "^3.4.1",
69
- "@rollup/plugin-alias": "^5.1.1",
70
- "@rollup/plugin-babel": "^6.0.3",
71
- "@rollup/plugin-commonjs": "^24.0.0",
72
- "@rollup/plugin-json": "^6.1.0",
73
- "@rollup/plugin-node-resolve": "^15.0.1",
74
- "@rollup/plugin-replace": "^6.0.2",
75
- "@rollup/plugin-terser": "^0.3.0",
76
- "@storybook/addon-a11y": "^8.5.3",
77
- "@storybook/addon-docs": "^8.5.3",
78
- "@storybook/addon-essentials": "^8.5.3",
79
- "@storybook/addon-interactions": "^8.5.3",
80
- "@storybook/addon-links": "^8.5.3",
81
- "@storybook/addon-themes": "^8.5.3",
82
- "@storybook/blocks": "^8.5.3",
83
- "@storybook/react": "^8.5.3",
84
- "@storybook/react-vite": "^8.5.3",
85
- "@storybook/test": "^8.5.3",
86
- "@stripe/react-stripe-js": "^4.0.2",
87
- "@stripe/stripe-js": "^7.9.0",
88
- "@svgr/rollup": "^8.1.0",
89
- "@tailwindcss/container-queries": "^0.1.1",
90
- "@tanstack/react-query": "^4.36.1",
91
- "@types/hast": "^3.0.4",
92
- "@types/katex": "^0.16.7",
93
- "@types/node": "^18.11.18",
94
- "@types/react": "^18.0.26",
95
- "@types/react-dom": "^18.0.10",
96
- "@types/react-syntax-highlighter": "^15.5.13",
97
- "@types/uuid": "^10.0.0",
98
- "@types/webfontloader": "^1.6.38",
99
- "@typescript-eslint/eslint-plugin": "^5.48.1",
100
- "@typescript-eslint/parser": "^5.48.1",
101
- "@zerollup/ts-transform-paths": "^1.7.18",
102
- "autoprefixer": "^10.4.20",
103
- "axios": "^1.7.9",
104
- "babel-loader": "^9.1.2",
105
- "clsx": "^2.1.1",
106
- "copy-to-clipboard": "^3.3.3",
107
- "cross-env": "^7.0.3",
108
- "csv-to-markdown-table": "^1.5.0",
109
- "date-fns": "^3.6.0",
110
- "docx": "^9.5.1",
111
- "eslint": "8.31.0",
112
- "eslint-config-prettier": "^8.6.0",
113
- "eslint-plugin-jsx-a11y": "^6.7.1",
114
- "eslint-plugin-prettier": "^5.4.0",
115
- "eslint-plugin-react": "^7.32.0",
116
- "eslint-plugin-react-hooks": "^4.6.0",
117
- "eslint-plugin-storybook": "^0.11.2",
118
- "eventsource-parser": "^3.0.2",
119
- "file-saver": "^2.0.5",
120
- "framer-motion": "^11.17.0",
121
- "husky": "^8.0.3",
122
- "isomorphic-dompurify": "^2.20.0",
123
- "katex": "^0.16.19",
124
- "lottie-react": "^2.4.0",
125
- "mermaid": "^11.7.0",
126
- "microsoft-cognitiveservices-speech-sdk": "^1.48.0",
127
- "postcss": "^8.4.49",
128
- "prettier": "^3.5.3",
129
- "prismjs": "^1.29.0",
130
- "react": "^18.2.0",
131
- "react-dom": "^18.2.0",
132
- "react-intersection-observer": "^9.14.1",
133
- "react-markdown": "^9.0.3",
134
- "react-resizable-panels": "^3.0.3",
135
- "react-syntax-highlighter": "^15.6.1",
136
- "react-textarea-autosize": "^8.5.9",
137
- "react-to-print": "^3.1.1",
138
- "react-tooltip": "^5.28.0",
139
- "react-virtualized-auto-sizer": "^1.0.25",
140
- "rehype-katex": "^7.0.1",
141
- "rehype-raw": "^7.0.0",
142
- "remark-gfm": "^4.0.0",
143
- "remark-math": "^6.0.0",
144
- "rollup": "^2.79.1",
145
- "rollup-plugin-delete": "^2.0.0",
146
- "rollup-plugin-peer-deps-external": "^2.2.4",
147
- "rollup-plugin-polyfill-node": "^0.13.0",
148
- "rollup-plugin-postcss": "^4.0.2",
149
- "rollup-plugin-typescript2": "^0.34.1",
150
- "storybook": "^8.5.3",
151
- "tailwind-merge": "^2.6.0",
152
- "tailwind-scrollbar": "^3.1.0",
153
- "tailwindcss": "^3.4.17",
154
- "tslib": "^2.4.1",
155
- "ttypescript": "^1.5.15",
156
- "typescript": "^4.9.4",
157
- "typescript-transform-paths": "^3.4.6",
158
- "unist-util-visit": "^5.0.0",
159
- "uuid": "^11.1.0",
160
- "vite": "^6.0.7",
161
- "vite-plugin-node-polyfills": "^0.24.0",
162
- "vite-plugin-svgr": "^4.3.0",
163
- "vite-tsconfig-paths": "^5.1.4",
164
- "webfontloader": "^1.6.28",
165
- "webpack": "^5.75.0",
166
- "webpack-cli": "^5.0.1"
167
- },
168
- "peerDependencies": {
169
- "@nem035/gpt-3-encoder": "^1.1.7",
170
- "@tailwindcss/container-queries": "^0.1.1",
171
- "@tanstack/react-query": "^4.36.1",
172
- "axios": "^1.7.9",
173
- "clsx": "^2.1.1",
174
- "copy-to-clipboard": "^3.3.3",
175
- "csv-to-markdown-table": "^1.5.0",
176
- "date-fns": "^3.6.0",
177
- "docx": "^9.5.1",
178
- "eventsource-parser": "^3.0.2",
179
- "file-saver": "^2.0.5",
180
- "framer-motion": "^11.17.0",
181
- "isomorphic-dompurify": "^2.20.0",
182
- "katex": "^0.16.19",
183
- "lottie-react": "^2.4.0",
184
- "microsoft-cognitiveservices-speech-sdk": "^1.48.0",
185
- "prismjs": "^1.29.0",
186
- "react": "^16.8.0 || ^17 || ^18",
187
- "react-dom": "^16.8.0 || ^17 || ^18",
188
- "react-intersection-observer": "^9.14.1",
189
- "react-markdown": "^9.0.3",
190
- "react-syntax-highlighter": "^15.6.1",
191
- "react-textarea-autosize": "^8.5.9",
192
- "react-to-print": "^3.1.1",
193
- "react-tooltip": "^5.28.0",
194
- "react-virtualized-auto-sizer": "^1.0.25",
195
- "rehype-katex": "^7.0.1",
196
- "rehype-raw": "^7.0.0",
197
- "remark-gfm": "^4.0.0",
198
- "remark-math": "^6.0.0",
199
- "tailwind-merge": "^2.6.0",
200
- "tailwind-scrollbar": "^3.1.0",
201
- "unist-util-visit": "^5.0.0",
202
- "uuid": "^11.1.0",
203
- "webfontloader": "^1.6.28"
204
- },
205
- "engines": {
206
- "node": ">=18"
207
- }
208
- }
2
+ "name": "@pickaxeproject/react",
3
+ "version": "6.19.0",
4
+ "description": "Client utility library for Pickaxe",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/pickaxeproject/v2-pickaxe-react.git"
8
+ },
9
+ "sideEffects": false,
10
+ "exports": {
11
+ ".": {
12
+ "import": "./dist/esm/index.js",
13
+ "require": "./dist/cjs/index.js"
14
+ },
15
+ "./embed": {
16
+ "import": "./dist/esm/embed/index.js",
17
+ "require": "./dist/cjs/embed/index.js"
18
+ },
19
+ "./prose.css": "./dist/esm/prose.css"
20
+ },
21
+ "main": "dist/cjs/index.js",
22
+ "module": "dist/esm/index.js",
23
+ "types": "dist/esm/src/index.d.ts",
24
+ "files": [
25
+ "dist"
26
+ ],
27
+ "browserslist": [
28
+ "> 1%",
29
+ "not dead",
30
+ "not edge <= 18",
31
+ "not ie 11",
32
+ "not op_mini all"
33
+ ],
34
+ "dependencies": {
35
+ "@babel/runtime": "^7.20.7",
36
+ "@modelcontextprotocol/sdk": "1.20.2",
37
+ "@radix-ui/react-avatar": "^1.1.11",
38
+ "franc-min": "^6.2.0",
39
+ "jose": "^6.1.3",
40
+ "lucide-react": "^0.563.0",
41
+ "pkce-challenge": "3.0.0",
42
+ "remove-markdown": "^0.6.3",
43
+ "tldts": "^7.0.23"
44
+ },
45
+ "devDependencies": {
46
+ "@babel/core": "^7.20.12",
47
+ "@babel/plugin-transform-runtime": "^7.19.6",
48
+ "@babel/preset-env": "^7.20.2",
49
+ "@babel/preset-react": "^7.18.6",
50
+ "@babel/preset-typescript": "^7.26.0",
51
+ "@changesets/cli": "^2.26.0",
52
+ "@chromatic-com/storybook": "3.2.3",
53
+ "@mdx-js/react": "^3.1.0",
54
+ "@nem035/gpt-3-encoder": "^1.1.7",
55
+ "@prettier/plugin-xml": "^3.4.1",
56
+ "@rollup/plugin-alias": "^5.1.1",
57
+ "@rollup/plugin-babel": "^6.0.3",
58
+ "@rollup/plugin-commonjs": "^24.0.0",
59
+ "@rollup/plugin-json": "^6.1.0",
60
+ "@rollup/plugin-node-resolve": "^15.0.1",
61
+ "@rollup/plugin-replace": "^6.0.2",
62
+ "@rollup/plugin-terser": "^0.3.0",
63
+ "@storybook/addon-a11y": "^8.5.3",
64
+ "@storybook/addon-docs": "^8.5.3",
65
+ "@storybook/addon-essentials": "^8.5.3",
66
+ "@storybook/addon-interactions": "^8.5.3",
67
+ "@storybook/addon-links": "^8.5.3",
68
+ "@storybook/addon-themes": "^8.5.3",
69
+ "@storybook/blocks": "^8.5.3",
70
+ "@storybook/react": "^8.5.3",
71
+ "@storybook/react-vite": "^8.5.3",
72
+ "@storybook/test": "^8.5.3",
73
+ "@stripe/react-stripe-js": "^4.0.2",
74
+ "@stripe/stripe-js": "^7.9.0",
75
+ "@svgr/rollup": "^8.1.0",
76
+ "@tailwindcss/container-queries": "^0.1.1",
77
+ "@tanstack/react-query": "^4.36.1",
78
+ "@types/hast": "^3.0.4",
79
+ "@types/katex": "^0.16.7",
80
+ "@types/node": "^18.11.18",
81
+ "@types/react": "^18.0.26",
82
+ "@types/react-dom": "^18.0.10",
83
+ "@types/react-syntax-highlighter": "^15.5.13",
84
+ "@types/uuid": "^10.0.0",
85
+ "@types/webfontloader": "^1.6.38",
86
+ "@typescript-eslint/eslint-plugin": "^5.48.1",
87
+ "@typescript-eslint/parser": "^5.48.1",
88
+ "@zerollup/ts-transform-paths": "^1.7.18",
89
+ "autoprefixer": "^10.4.20",
90
+ "axios": "^1.7.9",
91
+ "babel-loader": "^9.1.2",
92
+ "clsx": "^2.1.1",
93
+ "copy-to-clipboard": "^3.3.3",
94
+ "cross-env": "^7.0.3",
95
+ "csv-to-markdown-table": "^1.5.0",
96
+ "date-fns": "^3.6.0",
97
+ "docx": "^9.5.1",
98
+ "eslint": "8.31.0",
99
+ "eslint-config-prettier": "^8.6.0",
100
+ "eslint-plugin-jsx-a11y": "^6.7.1",
101
+ "eslint-plugin-prettier": "^5.4.0",
102
+ "eslint-plugin-react": "^7.32.0",
103
+ "eslint-plugin-react-hooks": "^4.6.0",
104
+ "eslint-plugin-storybook": "^0.11.2",
105
+ "eventsource-parser": "^3.0.2",
106
+ "file-saver": "^2.0.5",
107
+ "framer-motion": "^11.17.0",
108
+ "husky": "^8.0.3",
109
+ "isomorphic-dompurify": "^2.20.0",
110
+ "katex": "^0.16.19",
111
+ "lottie-react": "^2.4.0",
112
+ "mermaid": "^11.7.0",
113
+ "microsoft-cognitiveservices-speech-sdk": "^1.48.0",
114
+ "postcss": "^8.4.49",
115
+ "prettier": "^3.5.3",
116
+ "prismjs": "^1.29.0",
117
+ "react": "^18.2.0",
118
+ "react-dom": "^18.2.0",
119
+ "react-intersection-observer": "^9.14.1",
120
+ "react-markdown": "^9.0.3",
121
+ "react-resizable-panels": "^3.0.3",
122
+ "react-syntax-highlighter": "^15.6.1",
123
+ "react-textarea-autosize": "^8.5.9",
124
+ "react-to-print": "^3.1.1",
125
+ "react-tooltip": "^5.28.0",
126
+ "react-virtualized-auto-sizer": "^1.0.25",
127
+ "rehype-katex": "^7.0.1",
128
+ "rehype-raw": "^7.0.0",
129
+ "remark-gfm": "^4.0.0",
130
+ "remark-math": "^6.0.0",
131
+ "rollup": "^2.79.1",
132
+ "rollup-plugin-delete": "^2.0.0",
133
+ "rollup-plugin-peer-deps-external": "^2.2.4",
134
+ "rollup-plugin-polyfill-node": "^0.13.0",
135
+ "rollup-plugin-postcss": "^4.0.2",
136
+ "rollup-plugin-typescript2": "^0.34.1",
137
+ "storybook": "^8.5.3",
138
+ "tailwind-merge": "^2.6.0",
139
+ "tailwind-scrollbar": "^3.1.0",
140
+ "tailwindcss": "^3.4.17",
141
+ "tslib": "^2.4.1",
142
+ "ttypescript": "^1.5.15",
143
+ "typescript": "^4.9.4",
144
+ "typescript-transform-paths": "^3.4.6",
145
+ "unist-util-visit": "^5.0.0",
146
+ "uuid": "^11.1.0",
147
+ "vite": "^6.0.7",
148
+ "vite-plugin-node-polyfills": "^0.24.0",
149
+ "vite-plugin-svgr": "^4.3.0",
150
+ "vite-tsconfig-paths": "^5.1.4",
151
+ "webfontloader": "^1.6.28",
152
+ "webpack": "^5.75.0",
153
+ "webpack-cli": "^5.0.1"
154
+ },
155
+ "peerDependencies": {
156
+ "@nem035/gpt-3-encoder": "^1.1.7",
157
+ "@tailwindcss/container-queries": "^0.1.1",
158
+ "@tanstack/react-query": "^4.36.1",
159
+ "axios": "^1.7.9",
160
+ "clsx": "^2.1.1",
161
+ "copy-to-clipboard": "^3.3.3",
162
+ "csv-to-markdown-table": "^1.5.0",
163
+ "date-fns": "^3.6.0",
164
+ "docx": "^9.5.1",
165
+ "eventsource-parser": "^3.0.2",
166
+ "file-saver": "^2.0.5",
167
+ "framer-motion": "^11.17.0",
168
+ "isomorphic-dompurify": "^2.20.0",
169
+ "katex": "^0.16.19",
170
+ "lottie-react": "^2.4.0",
171
+ "microsoft-cognitiveservices-speech-sdk": "^1.48.0",
172
+ "prismjs": "^1.29.0",
173
+ "react": "^16.8.0 || ^17 || ^18",
174
+ "react-dom": "^16.8.0 || ^17 || ^18",
175
+ "react-intersection-observer": "^9.14.1",
176
+ "react-markdown": "^9.0.3",
177
+ "react-syntax-highlighter": "^15.6.1",
178
+ "react-textarea-autosize": "^8.5.9",
179
+ "react-to-print": "^3.1.1",
180
+ "react-tooltip": "^5.28.0",
181
+ "react-virtualized-auto-sizer": "^1.0.25",
182
+ "rehype-katex": "^7.0.1",
183
+ "rehype-raw": "^7.0.0",
184
+ "remark-gfm": "^4.0.0",
185
+ "remark-math": "^6.0.0",
186
+ "tailwind-merge": "^2.6.0",
187
+ "tailwind-scrollbar": "^3.1.0",
188
+ "unist-util-visit": "^5.0.0",
189
+ "uuid": "^11.1.0",
190
+ "webfontloader": "^1.6.28"
191
+ },
192
+ "engines": {
193
+ "node": ">=18"
194
+ },
195
+ "scripts": {
196
+ "build": "cross-env NODE_ENV=production rollup -c",
197
+ "lint": "eslint . --ext .ts,.tsx,.js,.jsx",
198
+ "lint:format": "prettier --check src/**/*",
199
+ "lint:staged": "pnpm run lint && pnpm run lint:format",
200
+ "format": "prettier --write .",
201
+ "changeset": "changeset",
202
+ "release": "changeset publish",
203
+ "dev": "storybook dev -p 6006",
204
+ "storybook": "storybook dev -p 6006",
205
+ "build-storybook": "storybook build"
206
+ }
207
+ }
@@ -1 +0,0 @@
1
- "use strict";function t(t){try{const e=JSON.parse(t);return e&&"string"==typeof e.id&&"string"==typeof e.name&&"string"==typeof e.pickaxeId&&"number"==typeof e.expiresAt&&["action","mcp"].includes(e.kind)&&["pending","approved","declined","expired","cancelled"].includes(e.status)&&(void 0===e.arguments||"string"==typeof e.arguments)?e:null}catch(t){return null}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseActionApproval=t,exports.updateStreamTextPart=function(t,e,n){for(let r=t.length-1;r>=0;r--)if(t[r].type===e)return void(t[r].content=n)},exports.upsertActionApprovalPart=function(e,n){const r=e.findIndex((e=>{var r;return"data-action-approval"===e.type&&(null===(r=t(e.content))||void 0===r?void 0:r.id)===n.id})),i={type:"data-action-approval",content:JSON.stringify(n),isVisible:!0};r<0?e.push(i):e[r]=i};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../../common/actionApproval.js");exports.ActionApprovalPart=function({content:n,isStreaming:i=!1,approval:t}){var a;const r=s.parseActionApproval(n);if(!r)return null;const o=null!==(a=null==t?void 0:t.decisions[r.id])&&void 0!==a?a:r.status,l="pending"===o&&i&&(null==t?void 0:t.enabled)&&1e3*r.expiresAt>Date.now(),d=Boolean(null==t?void 0:t.busyId),c="pending"===o?l?"Confirmation needed":"Confirmation unavailable":{approved:"Approved",declined:"Declined",expired:"Expired",cancelled:"Not run"}[o];let p=r.arguments;try{p&&(p=JSON.stringify(JSON.parse(p),null,2))}catch(e){}return e.jsxs("section",Object.assign({"aria-label":`Action: ${r.name}`,className:"my-2 w-full min-w-0 rounded-xl border p-4 text-sm",style:{borderColor:"color-mix(in srgb, currentColor 20%, transparent)"}},{children:[e.jsxs("div",Object.assign({className:"flex flex-wrap items-center justify-between gap-2"},{children:[e.jsx("span",Object.assign({className:"break-words font-semibold"},{children:r.name})),e.jsx("span",Object.assign({role:"status",className:"rounded-full border px-2 py-0.5 text-xs"},{children:c}))]})),l&&e.jsx("p",Object.assign({className:"mt-2 opacity-70"},{children:"Review this action before it runs. Your decision applies only to this call."})),p&&e.jsxs("details",Object.assign({className:"mt-3",open:"pending"===o},{children:[e.jsx("summary",Object.assign({className:"cursor-pointer text-xs font-medium"},{children:"Action inputs"})),e.jsx("pre",Object.assign({className:"mt-2 max-h-64 overflow-auto whitespace-pre-wrap break-words rounded-lg bg-black/5 p-3 text-xs"},{children:p}))]})),l&&e.jsxs("div",Object.assign({className:"mt-4 flex flex-wrap justify-end gap-2"},{children:[e.jsx("button",Object.assign({type:"button",className:"rounded-lg border px-3 py-2 font-semibold transition-opacity hover:opacity-70 disabled:opacity-50",disabled:d,onClick:()=>{null==t||t.decide(r.id,"declined")}},{children:"Decline"})),e.jsx("button",Object.assign({type:"button",className:"rounded-lg border px-3 py-2 font-semibold transition-opacity hover:opacity-70 disabled:opacity-50",disabled:d,onClick:()=>{null==t||t.decide(r.id,"approved")}},{children:"Approve action"}))]})),(null==t?void 0:t.errors[r.id])&&e.jsx("p",Object.assign({role:"alert",className:"mt-2 text-xs"},{children:t.errors[r.id]}))]}))};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),r=require("react");exports.useActionApprovals=function(t){const[n,s]=r.useState(null),[o,a]=r.useState(null),[i,u]=r.useState({}),[c,l]=r.useState({}),d=r.useRef(null);r.useEffect((()=>(a(null),u({}),l({}),()=>{var e;null===(e=d.current)||void 0===e||e.abort(),d.current=null})),[n,t]);const b=r.useCallback(((r,s)=>e.__awaiter(this,void 0,void 0,(function*(){if(!t||!n||d.current)return;const e=new AbortController;d.current=e;const o=setTimeout((()=>e.abort()),15e3);a(r),u((e=>Object.assign(Object.assign({},e),{[r]:""})));try{const t=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/action-approvals/${r}`,{method:"POST",headers:{Authorization:`Bearer ${n}`,"Content-Type":"application/json"},body:JSON.stringify({decision:s}),signal:e.signal});if(!t.ok)throw new Error(409===t.status?"This confirmation has expired or already been resolved.":"Could not save your decision. Please try again.");d.current===e&&l((e=>Object.assign(Object.assign({},e),{[r]:s})))}catch(t){d.current===e&&u((e=>Object.assign(Object.assign({},e),{[r]:t instanceof Error&&"AbortError"!==t.name?t.message:"Could not save your decision. Please try again."})))}finally{clearTimeout(o),d.current===e&&(d.current=null,a(null))}}))),[t,n]);return{setToken:s,enabled:t&&Boolean(n),busyId:o,errors:i,decisions:c,decide:b}};
@@ -1,16 +0,0 @@
1
- import type { PickaxeHistoryMessagePart } from "../types/history";
2
- export type ActionApprovalStatus = "pending" | "approved" | "declined" | "expired" | "cancelled";
3
- export type ActionApprovalData = {
4
- id: string;
5
- name: string;
6
- kind: "action" | "mcp";
7
- pickaxeId: string;
8
- status: ActionApprovalStatus;
9
- expiresAt: number;
10
- arguments?: string;
11
- };
12
- export declare function parseActionApproval(content: string): ActionApprovalData | null;
13
- /** Replace an existing approval in place so decisions never duplicate cards. */
14
- export declare function upsertActionApprovalPart(parts: PickaxeHistoryMessagePart[], data: ActionApprovalData): void;
15
- /** Approval updates can arrive while a text/reasoning part is still streaming. */
16
- export declare function updateStreamTextPart(parts: PickaxeHistoryMessagePart[], type: "text" | "reasoning", content: string): void;
@@ -1,6 +0,0 @@
1
- import type { useActionApprovals } from "../../../../hooks/pickaxe/useActionApprovals";
2
- export declare function ActionApprovalPart({ content, isStreaming, approval, }: {
3
- content: string;
4
- isStreaming?: boolean;
5
- approval?: ReturnType<typeof useActionApprovals>;
6
- }): import("react/jsx-runtime").JSX.Element | null;
@@ -1,10 +0,0 @@
1
- /// <reference types="react" />
2
- /** The decision capability stays in memory, never in saved response parts. */
3
- export declare function useActionApprovals(active: boolean): {
4
- setToken: import("react").Dispatch<import("react").SetStateAction<string | null>>;
5
- enabled: boolean;
6
- busyId: string | null;
7
- errors: Record<string, string>;
8
- decisions: Record<string, "approved" | "declined">;
9
- decide: (id: string, decision: "approved" | "declined") => Promise<void>;
10
- };
@@ -1 +0,0 @@
1
- function n(n){try{const t=JSON.parse(n);return t&&"string"==typeof t.id&&"string"==typeof t.name&&"string"==typeof t.pickaxeId&&"number"==typeof t.expiresAt&&["action","mcp"].includes(t.kind)&&["pending","approved","declined","expired","cancelled"].includes(t.status)&&(void 0===t.arguments||"string"==typeof t.arguments)?t:null}catch(n){return null}}function t(t,e){const i=t.findIndex((t=>{var i;return"data-action-approval"===t.type&&(null===(i=n(t.content))||void 0===i?void 0:i.id)===e.id})),r={type:"data-action-approval",content:JSON.stringify(e),isVisible:!0};i<0?t.push(r):t[i]=r}function e(n,t,e){for(let i=n.length-1;i>=0;i--)if(n[i].type===t)return void(n[i].content=e)}export{n as parseActionApproval,e as updateStreamTextPart,t as upsertActionApprovalPart};
@@ -1 +0,0 @@
1
- import{jsxs as e,jsx as n}from"react/jsx-runtime";import{parseActionApproval as i}from"../../../../common/actionApproval.js";function t({content:t,isStreaming:s=!1,approval:a}){var r;const o=i(t);if(!o)return null;const l=null!==(r=null==a?void 0:a.decisions[o.id])&&void 0!==r?r:o.status,d="pending"===l&&s&&(null==a?void 0:a.enabled)&&1e3*o.expiresAt>Date.now(),c=Boolean(null==a?void 0:a.busyId),p="pending"===l?d?"Confirmation needed":"Confirmation unavailable":{approved:"Approved",declined:"Declined",expired:"Expired",cancelled:"Not run"}[l];let m=o.arguments;try{m&&(m=JSON.stringify(JSON.parse(m),null,2))}catch(e){}return e("section",Object.assign({"aria-label":`Action: ${o.name}`,className:"my-2 w-full min-w-0 rounded-xl border p-4 text-sm",style:{borderColor:"color-mix(in srgb, currentColor 20%, transparent)"}},{children:[e("div",Object.assign({className:"flex flex-wrap items-center justify-between gap-2"},{children:[n("span",Object.assign({className:"break-words font-semibold"},{children:o.name})),n("span",Object.assign({role:"status",className:"rounded-full border px-2 py-0.5 text-xs"},{children:p}))]})),d&&n("p",Object.assign({className:"mt-2 opacity-70"},{children:"Review this action before it runs. Your decision applies only to this call."})),m&&e("details",Object.assign({className:"mt-3",open:"pending"===l},{children:[n("summary",Object.assign({className:"cursor-pointer text-xs font-medium"},{children:"Action inputs"})),n("pre",Object.assign({className:"mt-2 max-h-64 overflow-auto whitespace-pre-wrap break-words rounded-lg bg-black/5 p-3 text-xs"},{children:m}))]})),d&&e("div",Object.assign({className:"mt-4 flex flex-wrap justify-end gap-2"},{children:[n("button",Object.assign({type:"button",className:"rounded-lg border px-3 py-2 font-semibold transition-opacity hover:opacity-70 disabled:opacity-50",disabled:c,onClick:()=>{null==a||a.decide(o.id,"declined")}},{children:"Decline"})),n("button",Object.assign({type:"button",className:"rounded-lg border px-3 py-2 font-semibold transition-opacity hover:opacity-70 disabled:opacity-50",disabled:c,onClick:()=>{null==a||a.decide(o.id,"approved")}},{children:"Approve action"}))]})),(null==a?void 0:a.errors[o.id])&&n("p",Object.assign({role:"alert",className:"mt-2 text-xs"},{children:a.errors[o.id]}))]}))}export{t as ActionApprovalPart};
@@ -1 +0,0 @@
1
- import{__awaiter as e}from"../../_virtual/_tslib.js";import{useState as r,useRef as n,useEffect as t,useCallback as o}from"react";function s(s){const[i,a]=r(null),[c,l]=r(null),[u,d]=r({}),[b,g]=r({}),y=n(null);t((()=>(l(null),d({}),g({}),()=>{var e;null===(e=y.current)||void 0===e||e.abort(),y.current=null})),[i,s]);const f=o(((r,n)=>e(this,void 0,void 0,(function*(){if(!s||!i||y.current)return;const e=new AbortController;y.current=e;const t=setTimeout((()=>e.abort()),15e3);l(r),d((e=>Object.assign(Object.assign({},e),{[r]:""})));try{const t=yield fetch(`${process.env.NEXT_PUBLIC_PICKAXE_API2_URL}/response/action-approvals/${r}`,{method:"POST",headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json"},body:JSON.stringify({decision:n}),signal:e.signal});if(!t.ok)throw new Error(409===t.status?"This confirmation has expired or already been resolved.":"Could not save your decision. Please try again.");y.current===e&&g((e=>Object.assign(Object.assign({},e),{[r]:n})))}catch(n){y.current===e&&d((e=>Object.assign(Object.assign({},e),{[r]:n instanceof Error&&"AbortError"!==n.name?n.message:"Could not save your decision. Please try again."})))}finally{clearTimeout(t),y.current===e&&(y.current=null,l(null))}}))),[s,i]);return{setToken:a,enabled:s&&Boolean(i),busyId:c,errors:u,decisions:b,decide:f}}export{s as useActionApprovals};
@@ -1,16 +0,0 @@
1
- import type { PickaxeHistoryMessagePart } from "../types/history";
2
- export type ActionApprovalStatus = "pending" | "approved" | "declined" | "expired" | "cancelled";
3
- export type ActionApprovalData = {
4
- id: string;
5
- name: string;
6
- kind: "action" | "mcp";
7
- pickaxeId: string;
8
- status: ActionApprovalStatus;
9
- expiresAt: number;
10
- arguments?: string;
11
- };
12
- export declare function parseActionApproval(content: string): ActionApprovalData | null;
13
- /** Replace an existing approval in place so decisions never duplicate cards. */
14
- export declare function upsertActionApprovalPart(parts: PickaxeHistoryMessagePart[], data: ActionApprovalData): void;
15
- /** Approval updates can arrive while a text/reasoning part is still streaming. */
16
- export declare function updateStreamTextPart(parts: PickaxeHistoryMessagePart[], type: "text" | "reasoning", content: string): void;
@@ -1,6 +0,0 @@
1
- import type { useActionApprovals } from "../../../../hooks/pickaxe/useActionApprovals";
2
- export declare function ActionApprovalPart({ content, isStreaming, approval, }: {
3
- content: string;
4
- isStreaming?: boolean;
5
- approval?: ReturnType<typeof useActionApprovals>;
6
- }): import("react/jsx-runtime").JSX.Element | null;
@@ -1,10 +0,0 @@
1
- /// <reference types="react" />
2
- /** The decision capability stays in memory, never in saved response parts. */
3
- export declare function useActionApprovals(active: boolean): {
4
- setToken: import("react").Dispatch<import("react").SetStateAction<string | null>>;
5
- enabled: boolean;
6
- busyId: string | null;
7
- errors: Record<string, string>;
8
- decisions: Record<string, "approved" | "declined">;
9
- decide: (id: string, decision: "approved" | "declined") => Promise<void>;
10
- };