@mastra/playground-ui 67.0.0 → 68.0.0-alpha.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 (244) hide show
  1. package/dist/KnowledgePageGraph.css +11 -0
  2. package/dist/components/ai/tool-approval.cjs.js +1 -1
  3. package/dist/components/ai/tool-approval.es.js +1 -1
  4. package/dist/components/ai/tool-call.cjs.js +2 -2
  5. package/dist/components/ai/tool-call.es.js +2 -2
  6. package/dist/domains/chat/activity/model/activity-segments.cjs.js +1 -1
  7. package/dist/domains/chat/activity/model/activity-segments.es.js +1 -1
  8. package/dist/domains/chat/activity/model/activity-words.cjs.js +2 -2
  9. package/dist/domains/chat/activity/model/activity-words.es.js +2 -2
  10. package/dist/domains/chat/knowledge/knowledge-links.cjs.js +40 -0
  11. package/dist/domains/chat/knowledge/knowledge-links.cjs.js.map +1 -0
  12. package/dist/domains/chat/knowledge/knowledge-links.d.ts +1 -0
  13. package/dist/domains/chat/knowledge/knowledge-links.es.js +38 -0
  14. package/dist/domains/chat/knowledge/knowledge-links.es.js.map +1 -0
  15. package/dist/domains/chat/knowledge/pinned-knowledge-data.cjs.js +79 -0
  16. package/dist/domains/chat/knowledge/pinned-knowledge-data.cjs.js.map +1 -0
  17. package/dist/domains/chat/knowledge/pinned-knowledge-data.d.ts +1 -0
  18. package/dist/domains/chat/knowledge/pinned-knowledge-data.es.js +77 -0
  19. package/dist/domains/chat/knowledge/pinned-knowledge-data.es.js.map +1 -0
  20. package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js +124 -0
  21. package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js.map +1 -0
  22. package/dist/domains/chat/knowledge/pinned-knowledge.d.ts +1 -0
  23. package/dist/domains/chat/knowledge/pinned-knowledge.es.js +123 -0
  24. package/dist/domains/chat/knowledge/pinned-knowledge.es.js.map +1 -0
  25. package/dist/domains/chat/knowledge.cjs.js +12 -0
  26. package/dist/domains/chat/knowledge.d.ts +1 -0
  27. package/dist/domains/chat/knowledge.es.js +5 -0
  28. package/dist/domains/chat/messages/message-row.cjs.js +2 -2
  29. package/dist/domains/chat/messages/message-row.es.js +2 -2
  30. package/dist/domains/chat/messages/signal-badge.cjs.js +7 -0
  31. package/dist/domains/chat/messages/signal-badge.cjs.js.map +1 -1
  32. package/dist/domains/chat/messages/signal-badge.es.js +7 -0
  33. package/dist/domains/chat/messages/signal-badge.es.js.map +1 -1
  34. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  35. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  36. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
  37. package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
  38. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
  39. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
  40. package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js +273 -0
  41. package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js.map +1 -0
  42. package/dist/domains/chat/tools/badges/knowledge-tool-badge.d.ts +1 -0
  43. package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js +270 -0
  44. package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js.map +1 -0
  45. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +1 -1
  46. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +1 -1
  47. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +2 -2
  48. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +2 -2
  49. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  50. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  51. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +3 -3
  52. package/dist/domains/chat/tools/badges/tool-badge.es.js +3 -3
  53. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +2 -2
  54. package/dist/domains/chat/tools/badges/workflow-badge.es.js +2 -2
  55. package/dist/domains/chat/tools/tool-card-kind.cjs.js +4 -2
  56. package/dist/domains/chat/tools/tool-card-kind.cjs.js.map +1 -1
  57. package/dist/domains/chat/tools/tool-card-kind.es.js +4 -2
  58. package/dist/domains/chat/tools/tool-card-kind.es.js.map +1 -1
  59. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  60. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  61. package/dist/domains/chat/tools/tool-groups.cjs.js +3 -2
  62. package/dist/domains/chat/tools/tool-groups.cjs.js.map +1 -1
  63. package/dist/domains/chat/tools/tool-groups.es.js +3 -2
  64. package/dist/domains/chat/tools/tool-groups.es.js.map +1 -1
  65. package/dist/domains/chat.cjs.js +11 -0
  66. package/dist/domains/chat.es.js +5 -1
  67. package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js +438 -0
  68. package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js.map +1 -0
  69. package/dist/domains/knowledge/components/KnowledgePageDetail.d.ts +1 -0
  70. package/dist/domains/knowledge/components/KnowledgePageDetail.es.js +436 -0
  71. package/dist/domains/knowledge/components/KnowledgePageDetail.es.js.map +1 -0
  72. package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js +521 -0
  73. package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js.map +1 -0
  74. package/dist/domains/knowledge/components/KnowledgePageExplorer.d.ts +1 -0
  75. package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js +520 -0
  76. package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js.map +1 -0
  77. package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js +626 -0
  78. package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js.map +1 -0
  79. package/dist/domains/knowledge/components/KnowledgePageGraph.d.ts +1 -0
  80. package/dist/domains/knowledge/components/KnowledgePageGraph.es.js +625 -0
  81. package/dist/domains/knowledge/components/KnowledgePageGraph.es.js.map +1 -0
  82. package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js +170 -0
  83. package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js.map +1 -0
  84. package/dist/domains/knowledge/components/KnowledgePageTree.d.ts +1 -0
  85. package/dist/domains/knowledge/components/KnowledgePageTree.es.js +168 -0
  86. package/dist/domains/knowledge/components/KnowledgePageTree.es.js.map +1 -0
  87. package/dist/domains/knowledge/hooks/useInteractionIdle.cjs.js +37 -0
  88. package/dist/domains/knowledge/hooks/useInteractionIdle.cjs.js.map +1 -0
  89. package/dist/domains/knowledge/hooks/useInteractionIdle.d.ts +1 -0
  90. package/dist/domains/knowledge/hooks/useInteractionIdle.es.js +35 -0
  91. package/dist/domains/knowledge/hooks/useInteractionIdle.es.js.map +1 -0
  92. package/dist/domains/knowledge/lib/layout.cjs.js +93 -0
  93. package/dist/domains/knowledge/lib/layout.cjs.js.map +1 -0
  94. package/dist/domains/knowledge/lib/layout.d.ts +1 -0
  95. package/dist/domains/knowledge/lib/layout.es.js +92 -0
  96. package/dist/domains/knowledge/lib/layout.es.js.map +1 -0
  97. package/dist/domains/knowledge/lib/pageGraph.cjs.js +135 -0
  98. package/dist/domains/knowledge/lib/pageGraph.cjs.js.map +1 -0
  99. package/dist/domains/knowledge/lib/pageGraph.d.ts +1 -0
  100. package/dist/domains/knowledge/lib/pageGraph.es.js +128 -0
  101. package/dist/domains/knowledge/lib/pageGraph.es.js.map +1 -0
  102. package/dist/domains/knowledge/lib/pageLayout.cjs.js +49 -0
  103. package/dist/domains/knowledge/lib/pageLayout.cjs.js.map +1 -0
  104. package/dist/domains/knowledge/lib/pageLayout.d.ts +1 -0
  105. package/dist/domains/knowledge/lib/pageLayout.es.js +48 -0
  106. package/dist/domains/knowledge/lib/pageLayout.es.js.map +1 -0
  107. package/dist/domains/knowledge/lib/pageTree.cjs.js +98 -0
  108. package/dist/domains/knowledge/lib/pageTree.cjs.js.map +1 -0
  109. package/dist/domains/knowledge/lib/pageTree.d.ts +1 -0
  110. package/dist/domains/knowledge/lib/pageTree.es.js +94 -0
  111. package/dist/domains/knowledge/lib/pageTree.es.js.map +1 -0
  112. package/dist/domains/knowledge/lib/popupPlacement.cjs.js +22 -0
  113. package/dist/domains/knowledge/lib/popupPlacement.cjs.js.map +1 -0
  114. package/dist/domains/knowledge/lib/popupPlacement.d.ts +1 -0
  115. package/dist/domains/knowledge/lib/popupPlacement.es.js +21 -0
  116. package/dist/domains/knowledge/lib/popupPlacement.es.js.map +1 -0
  117. package/dist/domains/knowledge/lib/recordText.cjs.js +26 -0
  118. package/dist/domains/knowledge/lib/recordText.cjs.js.map +1 -0
  119. package/dist/domains/knowledge/lib/recordText.d.ts +1 -0
  120. package/dist/domains/knowledge/lib/recordText.es.js +25 -0
  121. package/dist/domains/knowledge/lib/recordText.es.js.map +1 -0
  122. package/dist/domains/knowledge/pageTypes.cjs.js +0 -0
  123. package/dist/domains/knowledge/pageTypes.d.ts +1 -0
  124. package/dist/domains/knowledge/pageTypes.es.js +0 -0
  125. package/dist/domains/logs/components/logs-saved-views.cjs.js +1 -1
  126. package/dist/domains/logs/components/logs-saved-views.es.js +1 -1
  127. package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +1 -1
  128. package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -1
  129. package/dist/domains/observability/saved-views/saved-views-provider.cjs.js +3 -2
  130. package/dist/domains/observability/saved-views/saved-views-provider.cjs.js.map +1 -1
  131. package/dist/domains/observability/saved-views/saved-views-provider.es.js +3 -2
  132. package/dist/domains/observability/saved-views/saved-views-provider.es.js.map +1 -1
  133. package/dist/domains/observability/saved-views/saved-views-source.cjs.js.map +1 -1
  134. package/dist/domains/observability/saved-views/saved-views-source.es.js.map +1 -1
  135. package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js +3 -2
  136. package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js.map +1 -1
  137. package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js +3 -2
  138. package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js.map +1 -1
  139. package/dist/domains/observability/saved-views.cjs.js +1 -1
  140. package/dist/domains/observability/saved-views.es.js +1 -1
  141. package/dist/domains/observability.cjs.js +1 -1
  142. package/dist/domains/observability.es.js +1 -1
  143. package/dist/domains/skills/skill-simple-form.cjs.js +2 -2
  144. package/dist/domains/skills/skill-simple-form.cjs.js.map +1 -1
  145. package/dist/domains/skills/skill-simple-form.es.js +2 -2
  146. package/dist/domains/skills/skill-simple-form.es.js.map +1 -1
  147. package/dist/domains/spans/components/spans-explorer-body.cjs.js +1 -1
  148. package/dist/domains/spans/components/spans-explorer-body.es.js +1 -1
  149. package/dist/domains/threads/components/threads-explorer-body.cjs.js +1 -1
  150. package/dist/domains/threads/components/threads-explorer-body.es.js +1 -1
  151. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  152. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  153. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  154. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  155. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +1 -1
  156. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +1 -1
  157. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +1 -1
  158. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +1 -1
  159. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
  160. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
  161. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  162. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  163. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  164. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  165. package/dist/domains/traces/components/span-payload/span-processor-mutations.cjs.js +1 -1
  166. package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +1 -1
  167. package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +1 -1
  168. package/dist/domains/traces/components/span-payload/span-tools-section.es.js +1 -1
  169. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +1 -1
  170. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +1 -1
  171. package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js +2 -1
  172. package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js.map +1 -1
  173. package/dist/domains/workflows/workflow/use-workflow-trigger.es.js +2 -1
  174. package/dist/domains/workflows/workflow/use-workflow-trigger.es.js.map +1 -1
  175. package/dist/lib/form/dynamic-form.cjs.js +2 -2
  176. package/dist/lib/form/dynamic-form.cjs.js.map +1 -1
  177. package/dist/lib/form/dynamic-form.es.js +2 -2
  178. package/dist/lib/form/dynamic-form.es.js.map +1 -1
  179. package/dist/lib/form/json-draft.cjs.js +1 -1
  180. package/dist/lib/form/json-draft.es.js +1 -1
  181. package/dist/lib/form/zod-provider/compat.cjs.js +8 -0
  182. package/dist/lib/form/zod-provider/compat.cjs.js.map +1 -1
  183. package/dist/lib/form/zod-provider/compat.es.js +8 -1
  184. package/dist/lib/form/zod-provider/compat.es.js.map +1 -1
  185. package/dist/lib/form/zod-provider.cjs.js +1 -1
  186. package/dist/lib/form/zod-provider.es.js +1 -1
  187. package/dist/{observability-saved-views-CwCii7hh.cjs → observability-saved-views-BNU3GkK6.cjs} +8 -6
  188. package/dist/observability-saved-views-BNU3GkK6.cjs.map +1 -0
  189. package/dist/{observability-saved-views-Bo5kLN20.js → observability-saved-views-Zlz74syw.js} +8 -6
  190. package/dist/observability-saved-views-Zlz74syw.js.map +1 -0
  191. package/dist/{span-payload-primitives-Dyhbqaa7.js → span-payload-primitives-ChvD2RrN.js} +2 -2
  192. package/dist/{span-payload-primitives-Dyhbqaa7.js.map → span-payload-primitives-ChvD2RrN.js.map} +1 -1
  193. package/dist/{span-payload-primitives-B10Xxmx7.cjs → span-payload-primitives-w1vtAXAw.cjs} +2 -2
  194. package/dist/{span-payload-primitives-B10Xxmx7.cjs.map → span-payload-primitives-w1vtAXAw.cjs.map} +1 -1
  195. package/dist/src/domains/chat/index.d.ts +1 -0
  196. package/dist/src/domains/chat/knowledge/index.d.ts +5 -0
  197. package/dist/src/domains/chat/knowledge/knowledge-links.d.ts +21 -0
  198. package/dist/src/domains/chat/knowledge/pinned-knowledge-data.d.ts +22 -0
  199. package/dist/src/domains/chat/knowledge/pinned-knowledge.d.ts +9 -0
  200. package/dist/src/domains/chat/tools/badges/knowledge-tool-badge.d.ts +19 -0
  201. package/dist/src/domains/chat/tools/tool-card-kind.d.ts +2 -2
  202. package/dist/src/domains/knowledge/components/KnowledgePageDetail.d.ts +42 -0
  203. package/dist/src/domains/knowledge/components/KnowledgePageExplorer.d.ts +80 -0
  204. package/dist/src/domains/knowledge/components/KnowledgePageGraph.d.ts +35 -0
  205. package/dist/src/domains/knowledge/components/KnowledgePageTree.d.ts +27 -0
  206. package/dist/src/domains/knowledge/hooks/useInteractionIdle.d.ts +12 -0
  207. package/dist/src/domains/knowledge/lib/layout.d.ts +35 -0
  208. package/dist/src/domains/knowledge/lib/pageGraph.d.ts +45 -0
  209. package/dist/src/domains/knowledge/lib/pageLayout.d.ts +24 -0
  210. package/dist/src/domains/knowledge/lib/pageTree.d.ts +28 -0
  211. package/dist/src/domains/knowledge/lib/popupPlacement.d.ts +12 -0
  212. package/dist/src/domains/knowledge/lib/recordText.d.ts +9 -0
  213. package/dist/src/domains/knowledge/pageTypes.d.ts +96 -0
  214. package/dist/src/domains/observability/saved-views/saved-views-provider.d.ts +6 -1
  215. package/dist/src/domains/observability/saved-views/saved-views-source.d.ts +1 -0
  216. package/dist/src/domains/observability/saved-views/use-hosted-saved-views.d.ts +1 -1
  217. package/dist/src/domains/skills/skill-simple-form.d.ts +3 -1
  218. package/dist/src/ds/components/SavedViews/saved-view-picker.d.ts +3 -1
  219. package/dist/src/ds/components/ai/tool-call/tool-phrases.d.ts +30 -0
  220. package/dist/src/lib/form/zod-provider/compat.d.ts +5 -0
  221. package/dist/style.css +63 -1
  222. package/dist/{tool-approval-FeuyUUcL.js → tool-approval-DHeCkWHT.js} +3 -3
  223. package/dist/{tool-approval-FeuyUUcL.js.map → tool-approval-DHeCkWHT.js.map} +1 -1
  224. package/dist/{tool-approval-BfjoSNOC.cjs → tool-approval-Dfi0uAKU.cjs} +3 -3
  225. package/dist/{tool-approval-BfjoSNOC.cjs.map → tool-approval-Dfi0uAKU.cjs.map} +1 -1
  226. package/dist/{tool-call-CvilN9ti.cjs → tool-call-BCsDhIhs.cjs} +32 -2
  227. package/dist/{tool-call-CvilN9ti.cjs.map → tool-call-BCsDhIhs.cjs.map} +1 -1
  228. package/dist/{tool-call-BxYXs9w0.js → tool-call-CILZa3tn.js} +32 -2
  229. package/dist/{tool-call-BxYXs9w0.js.map → tool-call-CILZa3tn.js.map} +1 -1
  230. package/dist/{tool-card-ELW898uw.js → tool-card-C3sDFUWc.js} +18 -4
  231. package/dist/tool-card-C3sDFUWc.js.map +1 -0
  232. package/dist/{tool-card-B7O8AsRl.cjs → tool-card-CJ7Kxi-U.cjs} +18 -4
  233. package/dist/tool-card-CJ7Kxi-U.cjs.map +1 -0
  234. package/dist/{tool-presentation-BLErsb7c.cjs → tool-presentation-CQlDEwgS.cjs} +26 -1
  235. package/dist/tool-presentation-CQlDEwgS.cjs.map +1 -0
  236. package/dist/{tool-presentation-BSZYIWx2.js → tool-presentation-DvCsb_kz.js} +26 -1
  237. package/dist/tool-presentation-DvCsb_kz.js.map +1 -0
  238. package/package.json +11 -9
  239. package/dist/observability-saved-views-Bo5kLN20.js.map +0 -1
  240. package/dist/observability-saved-views-CwCii7hh.cjs.map +0 -1
  241. package/dist/tool-card-B7O8AsRl.cjs.map +0 -1
  242. package/dist/tool-card-ELW898uw.js.map +0 -1
  243. package/dist/tool-presentation-BLErsb7c.cjs.map +0 -1
  244. package/dist/tool-presentation-BSZYIWx2.js.map +0 -1
@@ -0,0 +1,9 @@
1
+ /** Split knowledge record text into plain-text and [[wikilink]] segments for rendering. */
2
+ export type RecordSegment = {
3
+ type: 'text';
4
+ value: string;
5
+ } | {
6
+ type: 'wikilink';
7
+ value: string;
8
+ };
9
+ export declare function parseRecordSegments(text: string): RecordSegment[];
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Wire payloads for the schema-4 Knowledge explorer: pages, notes and pins as
3
+ * host routes return them (dates as ISO strings). Mirrors the storage
4
+ * contract in `@mastra/core` (`storage/domains/knowledge/pages.ts`) without
5
+ * importing it, so the UI stays independent of server-only types.
6
+ */
7
+ export interface KnowledgeProvenancePayload {
8
+ author: string;
9
+ sourceThreadId?: string;
10
+ }
11
+ export interface KnowledgePagePayload {
12
+ id: string;
13
+ /** Home scope's page id; equals `id` on a scope page. */
14
+ scopeId: string;
15
+ /** Tree parent; `null` only on root scope pages. */
16
+ parentId: string | null;
17
+ isScope: boolean;
18
+ /** Canonical `type:value` address; scope pages only. */
19
+ address?: string;
20
+ /** Declaration key the scope page was materialized from; scope pages only. */
21
+ declaration?: string;
22
+ /** Its declaration's `displayLabel` (e.g. "Team"), added by the host; scope pages only. Falls back to "Scope". */
23
+ displayLabel?: string;
24
+ /** Stable key among its siblings; ordinary pages only. Forms the page's path: `org:acme#policies/refund`. */
25
+ key?: string;
26
+ /** Fractional sibling ordering key; compare as code-unit strings. */
27
+ position: string;
28
+ name: string;
29
+ description?: string;
30
+ body?: string;
31
+ version: number;
32
+ mergedInto?: string;
33
+ createdBy: KnowledgeProvenancePayload;
34
+ updatedBy: KnowledgeProvenancePayload;
35
+ createdAt: string;
36
+ updatedAt: string;
37
+ deletedAt?: string;
38
+ }
39
+ export interface KnowledgeNotePayload {
40
+ id: string;
41
+ pageId: string;
42
+ text: string;
43
+ when?: string;
44
+ /** Scope page ids that narrow who can see the note (OR). */
45
+ stampScopeIds: string[];
46
+ /** Page ids resolved from `[[mentions]]` in `text`. */
47
+ mentions: string[];
48
+ provenance: KnowledgeProvenancePayload;
49
+ createdAt: string;
50
+ updatedAt: string;
51
+ }
52
+ export interface KnowledgePinPayload {
53
+ id: string;
54
+ pageId: string;
55
+ /** Scope addresses the pin is delivered to (OR). */
56
+ audience: string[];
57
+ createdBy: string;
58
+ createdAt: string;
59
+ }
60
+ export type KnowledgeActivityAction = 'scope-created' | 'page-created' | 'page-updated' | 'page-moved' | 'page-merged' | 'page-deleted' | 'note-added' | 'note-restamped' | 'note-removed' | 'note-restored' | 'pin-added' | 'pin-removed';
61
+ export interface KnowledgePageActivityPayload {
62
+ id: string;
63
+ action: KnowledgeActivityAction;
64
+ scopeId: string;
65
+ pageId: string;
66
+ noteId?: string;
67
+ provenance: KnowledgeProvenancePayload;
68
+ createdAt: string;
69
+ }
70
+ /**
71
+ * A graph edge between two pages. `parent`: tree containment (parent → child).
72
+ * `mention`: notes on `source` mention `target`; `count` is how many.
73
+ * `grant`: the `source` scope's holders get `role` on the `target` scope.
74
+ */
75
+ export interface KnowledgePageEdge {
76
+ source: string;
77
+ target: string;
78
+ kind: 'parent' | 'mention' | 'grant';
79
+ count?: number;
80
+ role?: KnowledgeRolePayload;
81
+ }
82
+ /** @experimental */
83
+ export type KnowledgeRolePayload = 'viewer' | 'contributor' | 'editor' | 'owner';
84
+ /**
85
+ * A scope declaration's access rule bound to a scope in the graph: holders of `principal` get `role` on
86
+ * `target`. `principalId` is the principal's scope page when it exists; a declared principal nothing has
87
+ * been written to yet has none, and the graph draws it as a placeholder circle.
88
+ */
89
+ export interface KnowledgeScopeGrantPayload {
90
+ principal: string;
91
+ principalId?: string;
92
+ /** The principal's declaration `displayLabel`, e.g. "acme admin". */
93
+ principalLabel?: string;
94
+ target: string;
95
+ role: KnowledgeRolePayload;
96
+ }
@@ -9,7 +9,12 @@ export type SavedViewsProviderProps = {
9
9
  * org-wide views are read-only. Read-only views can still be applied and duplicated. Defaults to all.
10
10
  */
11
11
  canEdit?: (view: SavedViewRecord) => boolean;
12
+ /**
13
+ * Whether new views can be saved here (save as new view, duplicate), e.g. `false` for a user who may only
14
+ * read views. With `canEdit={() => false}` the views can only be applied. Defaults to true.
15
+ */
16
+ canCreate?: boolean;
12
17
  children: ReactNode;
13
18
  };
14
19
  /** Turns saved views on for the observability pages below it. Without it, the pages show none. */
15
- export declare function SavedViewsProvider({ source, queryKeyScope, canEdit, children }: SavedViewsProviderProps): import("react").JSX.Element;
20
+ export declare function SavedViewsProvider({ source, queryKeyScope, canEdit, canCreate, children, }: SavedViewsProviderProps): import("react").JSX.Element;
@@ -35,6 +35,7 @@ export type SavedViewsContextValue = {
35
35
  source: SavedViewsSource;
36
36
  queryKeyScope: readonly unknown[];
37
37
  canEdit?: (view: SavedViewRecord) => boolean;
38
+ canCreate?: boolean;
38
39
  };
39
40
  export declare const SavedViewsContext: import("react").Context<SavedViewsContextValue | undefined>;
40
41
  export declare const useSavedViewsSource: () => SavedViewsContextValue | undefined;
@@ -31,4 +31,4 @@ export type UseHostedSavedViewsArgs = SavedViewsContextValue & {
31
31
  * the draft: picking a view writes its state to the URL (and its columns to the column picker), and
32
32
  * the view shows unsaved changes while the URL differs from it.
33
33
  */
34
- export declare function useHostedSavedViews({ page, source, queryKeyScope, searchParams, setSearchParams, columns, defaultDatePreset, canEdit, }: UseHostedSavedViewsArgs): SavedViewsController<HostedSavedViewSettings>;
34
+ export declare function useHostedSavedViews({ page, source, queryKeyScope, searchParams, setSearchParams, columns, defaultDatePreset, canEdit, canCreate, }: UseHostedSavedViewsArgs): SavedViewsController<HostedSavedViewSettings>;
@@ -6,5 +6,7 @@ export interface SkillSimpleFormProps {
6
6
  instructions: string;
7
7
  onInstructionsChange: (instructions: string) => void;
8
8
  readOnly?: boolean;
9
+ /** Locks only the name, for skills whose name is their identity. */
10
+ nameReadOnly?: boolean;
9
11
  }
10
- export declare function SkillSimpleForm({ name, onNameChange, description, onDescriptionChange, instructions, onInstructionsChange, readOnly, }: SkillSimpleFormProps): import("react").JSX.Element;
12
+ export declare function SkillSimpleForm({ name, onNameChange, description, onDescriptionChange, instructions, onInstructionsChange, readOnly, nameReadOnly, }: SkillSimpleFormProps): import("react").JSX.Element;
@@ -10,6 +10,8 @@ export type SavedViewPickerProps<TSettings> = {
10
10
  describeView?: (view: SavedView<TSettings>) => ReactNode;
11
11
  /** Whether a view can be renamed, deleted or overwritten. Others can still be applied and duplicated. */
12
12
  canEdit?: (view: SavedView<TSettings>) => boolean;
13
+ /** Whether new views can be saved here (save as new view, duplicate). Defaults to true. */
14
+ canCreate?: boolean;
13
15
  'aria-label'?: string;
14
16
  className?: string;
15
17
  };
@@ -18,4 +20,4 @@ export type SavedViewPickerProps<TSettings> = {
18
20
  * actions, and save / reset once the page differs from the view. Driven by the same controller
19
21
  * as `SavedViewTabs`.
20
22
  */
21
- export declare function SavedViewPicker<TSettings>({ views, defaultLabel, newViewSettings, describeView, canEdit, 'aria-label': ariaLabel, className, }: SavedViewPickerProps<TSettings>): import("react").JSX.Element;
23
+ export declare function SavedViewPicker<TSettings>({ views, defaultLabel, newViewSettings, describeView, canEdit, canCreate, 'aria-label': ariaLabel, className, }: SavedViewPickerProps<TSettings>): import("react").JSX.Element;
@@ -108,6 +108,36 @@ declare const KIND_PHRASES: {
108
108
  one: string;
109
109
  many: string;
110
110
  };
111
+ 'Search knowledge': {
112
+ live: string;
113
+ done: string;
114
+ one: string;
115
+ many: string;
116
+ };
117
+ 'Read page': {
118
+ live: string;
119
+ done: string;
120
+ one: string;
121
+ many: string;
122
+ };
123
+ 'Edit page': {
124
+ live: string;
125
+ done: string;
126
+ one: string;
127
+ many: string;
128
+ };
129
+ 'Edit note': {
130
+ live: string;
131
+ done: string;
132
+ one: string;
133
+ many: string;
134
+ };
135
+ 'Update pin': {
136
+ live: string;
137
+ done: string;
138
+ one: string;
139
+ many: string;
140
+ };
111
141
  };
112
142
  /** The kinds `presentTool` labels a call with; each one has its phrases. */
113
143
  export type ToolKind = keyof typeof KIND_PHRASES;
@@ -18,6 +18,11 @@ export declare function getDef(schema: AnySchema): any;
18
18
  * Check if a schema is optional (works for both v3 and v4).
19
19
  */
20
20
  export declare function isOptional(schema: AnySchema): boolean;
21
+ /**
22
+ * Use `schema` as an object property that may be left out whenever the schema accepts `undefined`.
23
+ * zod v3 did this implicitly; zod v4 still requires the key for schemas like `z.any()`.
24
+ */
25
+ export declare function asObjectProperty(schema: AnySchema): AnySchema;
21
26
  /**
22
27
  * Get the shape of an object schema (works for both v3 and v4).
23
28
  * v3: schema.shape (getter) or schema._def.shape()
package/dist/style.css CHANGED
@@ -643,6 +643,10 @@
643
643
  pointer-events: none;
644
644
  }
645
645
 
646
+ .\!invisible {
647
+ visibility: hidden !important;
648
+ }
649
+
646
650
  .collapse {
647
651
  visibility: collapse;
648
652
  }
@@ -870,6 +874,10 @@
870
874
  left: calc(var(--spacing) * -2);
871
875
  }
872
876
 
877
+ .-left-5 {
878
+ left: calc(var(--spacing) * -5);
879
+ }
880
+
873
881
  .-left-14 {
874
882
  left: calc(var(--spacing) * -14);
875
883
  }
@@ -1850,6 +1858,10 @@
1850
1858
  margin-left: calc(var(--spacing) * 4);
1851
1859
  }
1852
1860
 
1861
+ .ml-5 {
1862
+ margin-left: calc(var(--spacing) * 5);
1863
+ }
1864
+
1853
1865
  .ml-8 {
1854
1866
  margin-left: calc(var(--spacing) * 8);
1855
1867
  }
@@ -2697,6 +2709,10 @@
2697
2709
  min-height: calc(var(--spacing) * 7);
2698
2710
  }
2699
2711
 
2712
+ .min-h-8 {
2713
+ min-height: calc(var(--spacing) * 8);
2714
+ }
2715
+
2700
2716
  .min-h-9 {
2701
2717
  min-height: calc(var(--spacing) * 9);
2702
2718
  }
@@ -3585,6 +3601,10 @@
3585
3601
  max-width: 85vw;
3586
3602
  }
3587
3603
 
3604
+ .max-w-\[calc\(100\%-1rem\)\] {
3605
+ max-width: calc(100% - 1rem);
3606
+ }
3607
+
3588
3608
  .max-w-\[calc\(100\%-2ch\)\] {
3589
3609
  max-width: calc(100% - 2ch);
3590
3610
  }
@@ -5306,10 +5326,16 @@
5306
5326
  background-color: var(--brand-green-indicator);
5307
5327
  }
5308
5328
 
5309
- .bg-card {
5329
+ .bg-card, .bg-card\/90 {
5310
5330
  background-color: var(--card);
5311
5331
  }
5312
5332
 
5333
+ @supports (color: color-mix(in lab, red, red)) {
5334
+ .bg-card\/90 {
5335
+ background-color: color-mix(in oklab, var(--card) 90%, transparent);
5336
+ }
5337
+ }
5338
+
5313
5339
  .bg-chart-blue {
5314
5340
  background-color: var(--chart-blue);
5315
5341
  }
@@ -7310,6 +7336,10 @@
7310
7336
  font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
7311
7337
  }
7312
7338
 
7339
+ .line-through {
7340
+ text-decoration-line: line-through;
7341
+ }
7342
+
7313
7343
  .underline {
7314
7344
  text-decoration-line: underline;
7315
7345
  }
@@ -9794,6 +9824,10 @@
9794
9824
  text-decoration-line: underline;
9795
9825
  }
9796
9826
 
9827
+ .hover\:decoration-solid:hover {
9828
+ text-decoration-style: solid;
9829
+ }
9830
+
9797
9831
  .hover\:opacity-80:hover {
9798
9832
  opacity: .8;
9799
9833
  }
@@ -10596,6 +10630,10 @@
10596
10630
  border-color: var(--destructive-indicator);
10597
10631
  }
10598
10632
 
10633
+ .aria-pressed\:bg-muted[aria-pressed="true"] {
10634
+ background-color: var(--muted);
10635
+ }
10636
+
10599
10637
  .aria-pressed\:before\:bg-fill[aria-pressed="true"]:before {
10600
10638
  content: var(--tw-content);
10601
10639
  background-color: var(--fill);
@@ -12159,6 +12197,14 @@
12159
12197
  display: inline-flex;
12160
12198
  }
12161
12199
 
12200
+ .lg\:h-full {
12201
+ height: 100%;
12202
+ }
12203
+
12204
+ .lg\:w-72 {
12205
+ width: calc(var(--spacing) * 72);
12206
+ }
12207
+
12162
12208
  .lg\:max-w-160 {
12163
12209
  max-width: calc(var(--spacing) * 160);
12164
12210
  }
@@ -12167,6 +12213,14 @@
12167
12213
  min-width: var(--container-sm);
12168
12214
  }
12169
12215
 
12216
+ .lg\:flex-none {
12217
+ flex: none;
12218
+ }
12219
+
12220
+ .lg\:shrink-0 {
12221
+ flex-shrink: 0;
12222
+ }
12223
+
12170
12224
  .lg\:grid-cols-2 {
12171
12225
  grid-template-columns: repeat(2, minmax(0, 1fr));
12172
12226
  }
@@ -12211,6 +12265,10 @@
12211
12265
  grid-template-rows: 1fr;
12212
12266
  }
12213
12267
 
12268
+ .lg\:flex-row {
12269
+ flex-direction: row;
12270
+ }
12271
+
12214
12272
  .lg\:gap-0 {
12215
12273
  gap: 0;
12216
12274
  }
@@ -12302,6 +12360,10 @@
12302
12360
  grid-template-columns: repeat(4, minmax(0, 1fr));
12303
12361
  }
12304
12362
 
12363
+ .xl\:grid-cols-\[minmax\(0\,1fr\)_18rem\] {
12364
+ grid-template-columns: minmax(0, 1fr) 18rem;
12365
+ }
12366
+
12305
12367
  .xl\:px-\[4\.375rem\] {
12306
12368
  padding-inline: 4.375rem;
12307
12369
  }
@@ -1,7 +1,7 @@
1
1
  import { t as Button } from "./Button-Bw1e3ONi.js";
2
2
  import { t as Txt } from "./Txt-BM6TVV_c.js";
3
- import { a as ToolCallArguments } from "./tool-call-BxYXs9w0.js";
4
- import { r as presentTool } from "./tool-presentation-BSZYIWx2.js";
3
+ import { a as ToolCallArguments } from "./tool-call-CILZa3tn.js";
4
+ import { r as presentTool } from "./tool-presentation-DvCsb_kz.js";
5
5
  import { b as ActivityTrigger, c as ActivityContent, d as ActivityHeader, p as ActivityIcon$1, s as Activity } from "./activity-CM34JyW-.js";
6
6
  import { t as Badge } from "./Badge-aVu5iGAF.js";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -95,4 +95,4 @@ function ToolApproval({ toolName, args, status, children, ...actions }) {
95
95
  }
96
96
  export { ToolApprovalActions as n, ToolApprovalStatus as r, ToolApproval as t };
97
97
 
98
- //# sourceMappingURL=tool-approval-FeuyUUcL.js.map
98
+ //# sourceMappingURL=tool-approval-DHeCkWHT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-approval-FeuyUUcL.js","names":["ActivityIcon"],"sources":["../src/ds/components/ai/tool-approval/tool-approval.tsx"],"sourcesContent":["import { Check, ShieldCheck, X } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { Activity, ActivityContent, ActivityHeader, ActivityIcon, ActivityTrigger } from '../activity';\nimport { presentTool, ToolCallArguments } from '../tool-call';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { Txt } from '@/ds/components/Txt';\n\ntype ToolApprovalDecision = 'approved' | 'declined';\n\nconst approvalStates = {\n pending: { label: 'Approval required', variant: 'warning', icon: ShieldCheck },\n approved: { label: 'Approved', variant: 'success', icon: Check },\n declined: { label: 'Declined', variant: 'neutral', icon: X },\n} satisfies Record<'pending' | ToolApprovalDecision, { label: string; variant: BadgeVariant; icon: LucideIcon }>;\n\nexport interface ToolApprovalStatusProps {\n status?: ToolApprovalDecision;\n}\n\nexport function ToolApprovalStatus({ status }: ToolApprovalStatusProps) {\n const { label, variant, icon: StatusIcon } = approvalStates[status ?? 'pending'];\n return (\n <span role=\"status\" className=\"inline-flex shrink-0\">\n <Badge variant={variant} emphasis=\"subtle\" size=\"sm\" icon={<StatusIcon aria-hidden />}>\n {label}\n </Badge>\n </span>\n );\n}\n\nexport interface ToolApprovalActionsProps {\n onApprove: () => void;\n onDecline: () => void;\n disabled?: boolean;\n toolName?: string;\n autoFocus?: boolean;\n}\n\nexport function ToolApprovalActions({\n onApprove,\n onDecline,\n disabled = false,\n toolName,\n autoFocus = false,\n}: ToolApprovalActionsProps) {\n return (\n <div className=\"flex flex-wrap items-center gap-2\">\n <Button\n type=\"button\"\n variant=\"primary\"\n size=\"sm\"\n icon={<Check aria-hidden />}\n aria-label={toolName ? `Approve ${toolName}` : undefined}\n autoFocus={autoFocus}\n disabled={disabled}\n onClick={onApprove}\n >\n Approve\n </Button>\n <Button\n type=\"button\"\n size=\"sm\"\n icon={<X aria-hidden />}\n aria-label={toolName ? `Decline ${toolName}` : undefined}\n disabled={disabled}\n onClick={onDecline}\n >\n Decline\n </Button>\n </div>\n );\n}\n\nexport interface ToolApprovalProps extends ToolApprovalActionsProps, ToolApprovalStatusProps {\n toolName: string;\n args?: unknown;\n /** Custom details replace the default argument renderer. */\n children?: ReactNode;\n}\n\nexport function ToolApproval({ toolName, args, status, children, ...actions }: ToolApprovalProps) {\n const { icon: ToolIcon } = presentTool(toolName, args);\n\n return (\n <Activity open foldable={false} className=\"my-2\" aria-label={`Tool approval for ${toolName}`}>\n <ActivityTrigger>\n <ActivityHeader className=\"flex-wrap\">\n <ActivityIcon>\n <ToolIcon aria-hidden />\n </ActivityIcon>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" font=\"mono\" className=\"min-w-0 break-all\">\n {toolName}\n </Txt>\n <ToolApprovalStatus status={status} />\n </ActivityHeader>\n </ActivityTrigger>\n <ActivityContent>\n {children ?? <ToolCallArguments toolName={toolName} args={args} showFullContent />}\n {!status && <ToolApprovalActions toolName={toolName} {...actions} />}\n </ActivityContent>\n </Activity>\n );\n}\n"],"mappings":";;;;;;;;;AAYA,IAAM,iBAAiB;CACrB,SAAS;EAAE,OAAO;EAAqB,SAAS;EAAW,MAAM;CAAY;CAC7E,UAAU;EAAE,OAAO;EAAY,SAAS;EAAW,MAAM;CAAM;CAC/D,UAAU;EAAE,OAAO;EAAY,SAAS;EAAW,MAAM;CAAE;AAC7D;AAMA,SAAgB,mBAAmB,EAAE,UAAmC;CACtE,MAAM,EAAE,OAAO,SAAS,MAAM,eAAe,eAAe,UAAU;CACtE,OACE,oBAAC,QAAD;EAAM,MAAK;EAAS,WAAU;EAC5B,UAAA,oBAAC,OAAD;GAAgB;GAAS,UAAS;GAAS,MAAK;GAAK,MAAM,oBAAC,YAAD,EAAY,eAAA,KAAa,CAAA;GACjF,UAAA;EACI,CAAA;CACH,CAAA;AAEV;AAUA,SAAgB,oBAAoB,EAClC,WACA,WACA,WAAW,OACX,UACA,YAAY,SACe;CAC3B,OACE,qBAAC,OAAD;EAAK,WAAU;EAAf,UAAA,CACE,oBAAC,QAAD;GACE,MAAK;GACL,SAAQ;GACR,MAAK;GACL,MAAM,oBAAC,OAAD,EAAO,eAAA,KAAa,CAAA;GAC1B,cAAY,WAAW,WAAW,aAAa,KAAA;GACpC;GACD;GACV,SAAS;GACV,UAAA;EAEO,CAAA,GACR,oBAAC,QAAD;GACE,MAAK;GACL,MAAK;GACL,MAAM,oBAAC,GAAD,EAAG,eAAA,KAAa,CAAA;GACtB,cAAY,WAAW,WAAW,aAAa,KAAA;GACrC;GACV,SAAS;GACV,UAAA;EAEO,CAAA,CACL;;AAET;AASA,SAAgB,aAAa,EAAE,UAAU,MAAM,QAAQ,UAAU,GAAG,WAA8B;CAChG,MAAM,EAAE,MAAM,aAAa,YAAY,UAAU,IAAI;CAErD,OACE,qBAAC,UAAD;EAAU,MAAA;EAAK,UAAU;EAAO,WAAU;EAAO,cAAY,qBAAqB;EAAlF,UAAA,CACE,oBAAC,iBAAD,EAAA,UACE,qBAAC,gBAAD;GAAgB,WAAU;GAA1B,UAAA;IACE,oBAACA,gBAAD,EAAA,UACE,oBAAC,UAAD,EAAU,eAAA,KAAa,CAAA,EACX,CAAA;IACd,oBAAC,KAAD;KAAK,IAAG;KAAO,SAAQ;KAAU,MAAK;KAAQ,MAAK;KAAO,WAAU;KACjE,UAAA;IACE,CAAA;IACL,oBAAC,oBAAD,EAA4B,OAAS,CAAA;GACvB;EACD,CAAA,EAAA,CAAA,GACjB,qBAAC,iBAAD,EAAA,UAAA,CACG,YAAY,oBAAC,mBAAD;GAA6B;GAAgB;GAAM,iBAAA;EAAiB,CAAA,GAChF,CAAC,UAAU,oBAAC,qBAAD;GAA+B;GAAU,GAAI;EAAU,CAAA,CACpD,EAAA,CAAA,CACT;;AAEd"}
1
+ {"version":3,"file":"tool-approval-DHeCkWHT.js","names":["ActivityIcon"],"sources":["../src/ds/components/ai/tool-approval/tool-approval.tsx"],"sourcesContent":["import { Check, ShieldCheck, X } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { Activity, ActivityContent, ActivityHeader, ActivityIcon, ActivityTrigger } from '../activity';\nimport { presentTool, ToolCallArguments } from '../tool-call';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { Txt } from '@/ds/components/Txt';\n\ntype ToolApprovalDecision = 'approved' | 'declined';\n\nconst approvalStates = {\n pending: { label: 'Approval required', variant: 'warning', icon: ShieldCheck },\n approved: { label: 'Approved', variant: 'success', icon: Check },\n declined: { label: 'Declined', variant: 'neutral', icon: X },\n} satisfies Record<'pending' | ToolApprovalDecision, { label: string; variant: BadgeVariant; icon: LucideIcon }>;\n\nexport interface ToolApprovalStatusProps {\n status?: ToolApprovalDecision;\n}\n\nexport function ToolApprovalStatus({ status }: ToolApprovalStatusProps) {\n const { label, variant, icon: StatusIcon } = approvalStates[status ?? 'pending'];\n return (\n <span role=\"status\" className=\"inline-flex shrink-0\">\n <Badge variant={variant} emphasis=\"subtle\" size=\"sm\" icon={<StatusIcon aria-hidden />}>\n {label}\n </Badge>\n </span>\n );\n}\n\nexport interface ToolApprovalActionsProps {\n onApprove: () => void;\n onDecline: () => void;\n disabled?: boolean;\n toolName?: string;\n autoFocus?: boolean;\n}\n\nexport function ToolApprovalActions({\n onApprove,\n onDecline,\n disabled = false,\n toolName,\n autoFocus = false,\n}: ToolApprovalActionsProps) {\n return (\n <div className=\"flex flex-wrap items-center gap-2\">\n <Button\n type=\"button\"\n variant=\"primary\"\n size=\"sm\"\n icon={<Check aria-hidden />}\n aria-label={toolName ? `Approve ${toolName}` : undefined}\n autoFocus={autoFocus}\n disabled={disabled}\n onClick={onApprove}\n >\n Approve\n </Button>\n <Button\n type=\"button\"\n size=\"sm\"\n icon={<X aria-hidden />}\n aria-label={toolName ? `Decline ${toolName}` : undefined}\n disabled={disabled}\n onClick={onDecline}\n >\n Decline\n </Button>\n </div>\n );\n}\n\nexport interface ToolApprovalProps extends ToolApprovalActionsProps, ToolApprovalStatusProps {\n toolName: string;\n args?: unknown;\n /** Custom details replace the default argument renderer. */\n children?: ReactNode;\n}\n\nexport function ToolApproval({ toolName, args, status, children, ...actions }: ToolApprovalProps) {\n const { icon: ToolIcon } = presentTool(toolName, args);\n\n return (\n <Activity open foldable={false} className=\"my-2\" aria-label={`Tool approval for ${toolName}`}>\n <ActivityTrigger>\n <ActivityHeader className=\"flex-wrap\">\n <ActivityIcon>\n <ToolIcon aria-hidden />\n </ActivityIcon>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" font=\"mono\" className=\"min-w-0 break-all\">\n {toolName}\n </Txt>\n <ToolApprovalStatus status={status} />\n </ActivityHeader>\n </ActivityTrigger>\n <ActivityContent>\n {children ?? <ToolCallArguments toolName={toolName} args={args} showFullContent />}\n {!status && <ToolApprovalActions toolName={toolName} {...actions} />}\n </ActivityContent>\n </Activity>\n );\n}\n"],"mappings":";;;;;;;;;AAYA,IAAM,iBAAiB;CACrB,SAAS;EAAE,OAAO;EAAqB,SAAS;EAAW,MAAM;CAAY;CAC7E,UAAU;EAAE,OAAO;EAAY,SAAS;EAAW,MAAM;CAAM;CAC/D,UAAU;EAAE,OAAO;EAAY,SAAS;EAAW,MAAM;CAAE;AAC7D;AAMA,SAAgB,mBAAmB,EAAE,UAAmC;CACtE,MAAM,EAAE,OAAO,SAAS,MAAM,eAAe,eAAe,UAAU;CACtE,OACE,oBAAC,QAAD;EAAM,MAAK;EAAS,WAAU;EAC5B,UAAA,oBAAC,OAAD;GAAgB;GAAS,UAAS;GAAS,MAAK;GAAK,MAAM,oBAAC,YAAD,EAAY,eAAA,KAAa,CAAA;GACjF,UAAA;EACI,CAAA;CACH,CAAA;AAEV;AAUA,SAAgB,oBAAoB,EAClC,WACA,WACA,WAAW,OACX,UACA,YAAY,SACe;CAC3B,OACE,qBAAC,OAAD;EAAK,WAAU;EAAf,UAAA,CACE,oBAAC,QAAD;GACE,MAAK;GACL,SAAQ;GACR,MAAK;GACL,MAAM,oBAAC,OAAD,EAAO,eAAA,KAAa,CAAA;GAC1B,cAAY,WAAW,WAAW,aAAa,KAAA;GACpC;GACD;GACV,SAAS;GACV,UAAA;EAEO,CAAA,GACR,oBAAC,QAAD;GACE,MAAK;GACL,MAAK;GACL,MAAM,oBAAC,GAAD,EAAG,eAAA,KAAa,CAAA;GACtB,cAAY,WAAW,WAAW,aAAa,KAAA;GACrC;GACV,SAAS;GACV,UAAA;EAEO,CAAA,CACL;;AAET;AASA,SAAgB,aAAa,EAAE,UAAU,MAAM,QAAQ,UAAU,GAAG,WAA8B;CAChG,MAAM,EAAE,MAAM,aAAa,YAAY,UAAU,IAAI;CAErD,OACE,qBAAC,UAAD;EAAU,MAAA;EAAK,UAAU;EAAO,WAAU;EAAO,cAAY,qBAAqB;EAAlF,UAAA,CACE,oBAAC,iBAAD,EAAA,UACE,qBAAC,gBAAD;GAAgB,WAAU;GAA1B,UAAA;IACE,oBAACA,gBAAD,EAAA,UACE,oBAAC,UAAD,EAAU,eAAA,KAAa,CAAA,EACX,CAAA;IACd,oBAAC,KAAD;KAAK,IAAG;KAAO,SAAQ;KAAU,MAAK;KAAQ,MAAK;KAAO,WAAU;KACjE,UAAA;IACE,CAAA;IACL,oBAAC,oBAAD,EAA4B,OAAS,CAAA;GACvB;EACD,CAAA,EAAA,CAAA,GACjB,qBAAC,iBAAD,EAAA,UAAA,CACG,YAAY,oBAAC,mBAAD;GAA6B;GAAgB;GAAM,iBAAA;EAAiB,CAAA,GAChF,CAAC,UAAU,oBAAC,qBAAD;GAA+B;GAAU,GAAI;EAAU,CAAA,CACpD,EAAA,CAAA,CACT;;AAEd"}
@@ -1,7 +1,7 @@
1
1
  const require_Button = require("./Button-YQRflC47.cjs");
2
2
  const require_Txt = require("./Txt-BnoSqxKE.cjs");
3
- const require_tool_call = require("./tool-call-CvilN9ti.cjs");
4
- const require_tool_presentation = require("./tool-presentation-BLErsb7c.cjs");
3
+ const require_tool_call = require("./tool-call-BCsDhIhs.cjs");
4
+ const require_tool_presentation = require("./tool-presentation-CQlDEwgS.cjs");
5
5
  const require_activity = require("./activity-DAK8tj7r.cjs");
6
6
  const require_Badge = require("./Badge-DZ6r6bcw.cjs");
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -112,4 +112,4 @@ Object.defineProperty(exports, "ToolApprovalStatus", {
112
112
  }
113
113
  });
114
114
 
115
- //# sourceMappingURL=tool-approval-BfjoSNOC.cjs.map
115
+ //# sourceMappingURL=tool-approval-Dfi0uAKU.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-approval-BfjoSNOC.cjs","names":["ShieldCheck","Check","X","Badge","Button","presentTool","Activity","ActivityTrigger","ActivityHeader","ActivityIcon","Txt","ActivityContent","ToolCallArguments"],"sources":["../src/ds/components/ai/tool-approval/tool-approval.tsx"],"sourcesContent":["import { Check, ShieldCheck, X } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { Activity, ActivityContent, ActivityHeader, ActivityIcon, ActivityTrigger } from '../activity';\nimport { presentTool, ToolCallArguments } from '../tool-call';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { Txt } from '@/ds/components/Txt';\n\ntype ToolApprovalDecision = 'approved' | 'declined';\n\nconst approvalStates = {\n pending: { label: 'Approval required', variant: 'warning', icon: ShieldCheck },\n approved: { label: 'Approved', variant: 'success', icon: Check },\n declined: { label: 'Declined', variant: 'neutral', icon: X },\n} satisfies Record<'pending' | ToolApprovalDecision, { label: string; variant: BadgeVariant; icon: LucideIcon }>;\n\nexport interface ToolApprovalStatusProps {\n status?: ToolApprovalDecision;\n}\n\nexport function ToolApprovalStatus({ status }: ToolApprovalStatusProps) {\n const { label, variant, icon: StatusIcon } = approvalStates[status ?? 'pending'];\n return (\n <span role=\"status\" className=\"inline-flex shrink-0\">\n <Badge variant={variant} emphasis=\"subtle\" size=\"sm\" icon={<StatusIcon aria-hidden />}>\n {label}\n </Badge>\n </span>\n );\n}\n\nexport interface ToolApprovalActionsProps {\n onApprove: () => void;\n onDecline: () => void;\n disabled?: boolean;\n toolName?: string;\n autoFocus?: boolean;\n}\n\nexport function ToolApprovalActions({\n onApprove,\n onDecline,\n disabled = false,\n toolName,\n autoFocus = false,\n}: ToolApprovalActionsProps) {\n return (\n <div className=\"flex flex-wrap items-center gap-2\">\n <Button\n type=\"button\"\n variant=\"primary\"\n size=\"sm\"\n icon={<Check aria-hidden />}\n aria-label={toolName ? `Approve ${toolName}` : undefined}\n autoFocus={autoFocus}\n disabled={disabled}\n onClick={onApprove}\n >\n Approve\n </Button>\n <Button\n type=\"button\"\n size=\"sm\"\n icon={<X aria-hidden />}\n aria-label={toolName ? `Decline ${toolName}` : undefined}\n disabled={disabled}\n onClick={onDecline}\n >\n Decline\n </Button>\n </div>\n );\n}\n\nexport interface ToolApprovalProps extends ToolApprovalActionsProps, ToolApprovalStatusProps {\n toolName: string;\n args?: unknown;\n /** Custom details replace the default argument renderer. */\n children?: ReactNode;\n}\n\nexport function ToolApproval({ toolName, args, status, children, ...actions }: ToolApprovalProps) {\n const { icon: ToolIcon } = presentTool(toolName, args);\n\n return (\n <Activity open foldable={false} className=\"my-2\" aria-label={`Tool approval for ${toolName}`}>\n <ActivityTrigger>\n <ActivityHeader className=\"flex-wrap\">\n <ActivityIcon>\n <ToolIcon aria-hidden />\n </ActivityIcon>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" font=\"mono\" className=\"min-w-0 break-all\">\n {toolName}\n </Txt>\n <ToolApprovalStatus status={status} />\n </ActivityHeader>\n </ActivityTrigger>\n <ActivityContent>\n {children ?? <ToolCallArguments toolName={toolName} args={args} showFullContent />}\n {!status && <ToolApprovalActions toolName={toolName} {...actions} />}\n </ActivityContent>\n </Activity>\n );\n}\n"],"mappings":";;;;;;;;;AAYA,IAAM,iBAAiB;CACrB,SAAS;EAAE,OAAO;EAAqB,SAAS;EAAW,MAAMA,aAAAA;CAAY;CAC7E,UAAU;EAAE,OAAO;EAAY,SAAS;EAAW,MAAMC,aAAAA;CAAM;CAC/D,UAAU;EAAE,OAAO;EAAY,SAAS;EAAW,MAAMC,aAAAA;CAAE;AAC7D;AAMA,SAAgB,mBAAmB,EAAE,UAAmC;CACtE,MAAM,EAAE,OAAO,SAAS,MAAM,eAAe,eAAe,UAAU;CACtE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EAAM,MAAK;EAAS,WAAU;EAC5B,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,OAAD;GAAgB;GAAS,UAAS;GAAS,MAAK;GAAK,MAAM,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD,EAAY,eAAA,KAAa,CAAA;GACjF,UAAA;EACI,CAAA;CACH,CAAA;AAEV;AAUA,SAAgB,oBAAoB,EAClC,WACA,WACA,WAAW,OACX,UACA,YAAY,SACe;CAC3B,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EAAK,WAAU;EAAf,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,QAAD;GACE,MAAK;GACL,SAAQ;GACR,MAAK;GACL,MAAM,iBAAA,GAAA,kBAAA,IAAA,CAACH,aAAAA,OAAD,EAAO,eAAA,KAAa,CAAA;GAC1B,cAAY,WAAW,WAAW,aAAa,KAAA;GACpC;GACD;GACV,SAAS;GACV,UAAA;EAEO,CAAA,GACR,iBAAA,GAAA,kBAAA,IAAA,CAACG,eAAAA,QAAD;GACE,MAAK;GACL,MAAK;GACL,MAAM,iBAAA,GAAA,kBAAA,IAAA,CAACF,aAAAA,GAAD,EAAG,eAAA,KAAa,CAAA;GACtB,cAAY,WAAW,WAAW,aAAa,KAAA;GACrC;GACV,SAAS;GACV,UAAA;EAEO,CAAA,CACL;;AAET;AASA,SAAgB,aAAa,EAAE,UAAU,MAAM,QAAQ,UAAU,GAAG,WAA8B;CAChG,MAAM,EAAE,MAAM,aAAaG,0BAAAA,YAAY,UAAU,IAAI;CAErD,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,iBAAAA,UAAD;EAAU,MAAA;EAAK,UAAU;EAAO,WAAU;EAAO,cAAY,qBAAqB;EAAlF,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,iBAAAA,iBAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,iBAAAA,gBAAD;GAAgB,WAAU;GAA1B,UAAA;IACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,iBAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD,EAAU,eAAA,KAAa,CAAA,EACX,CAAA;IACd,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;KAAK,IAAG;KAAO,SAAQ;KAAU,MAAK;KAAQ,MAAK;KAAO,WAAU;KACjE,UAAA;IACE,CAAA;IACL,iBAAA,GAAA,kBAAA,IAAA,CAAC,oBAAD,EAA4B,OAAS,CAAA;GACvB;EACD,CAAA,EAAA,CAAA,GACjB,iBAAA,GAAA,kBAAA,KAAA,CAACC,iBAAAA,iBAAD,EAAA,UAAA,CACG,YAAY,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,mBAAD;GAA6B;GAAgB;GAAM,iBAAA;EAAiB,CAAA,GAChF,CAAC,UAAU,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD;GAA+B;GAAU,GAAI;EAAU,CAAA,CACpD,EAAA,CAAA,CACT;;AAEd"}
1
+ {"version":3,"file":"tool-approval-Dfi0uAKU.cjs","names":["ShieldCheck","Check","X","Badge","Button","presentTool","Activity","ActivityTrigger","ActivityHeader","ActivityIcon","Txt","ActivityContent","ToolCallArguments"],"sources":["../src/ds/components/ai/tool-approval/tool-approval.tsx"],"sourcesContent":["import { Check, ShieldCheck, X } from 'lucide-react';\nimport type { LucideIcon } from 'lucide-react';\nimport type { ReactNode } from 'react';\nimport { Activity, ActivityContent, ActivityHeader, ActivityIcon, ActivityTrigger } from '../activity';\nimport { presentTool, ToolCallArguments } from '../tool-call';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Button } from '@/ds/components/Button';\nimport { Txt } from '@/ds/components/Txt';\n\ntype ToolApprovalDecision = 'approved' | 'declined';\n\nconst approvalStates = {\n pending: { label: 'Approval required', variant: 'warning', icon: ShieldCheck },\n approved: { label: 'Approved', variant: 'success', icon: Check },\n declined: { label: 'Declined', variant: 'neutral', icon: X },\n} satisfies Record<'pending' | ToolApprovalDecision, { label: string; variant: BadgeVariant; icon: LucideIcon }>;\n\nexport interface ToolApprovalStatusProps {\n status?: ToolApprovalDecision;\n}\n\nexport function ToolApprovalStatus({ status }: ToolApprovalStatusProps) {\n const { label, variant, icon: StatusIcon } = approvalStates[status ?? 'pending'];\n return (\n <span role=\"status\" className=\"inline-flex shrink-0\">\n <Badge variant={variant} emphasis=\"subtle\" size=\"sm\" icon={<StatusIcon aria-hidden />}>\n {label}\n </Badge>\n </span>\n );\n}\n\nexport interface ToolApprovalActionsProps {\n onApprove: () => void;\n onDecline: () => void;\n disabled?: boolean;\n toolName?: string;\n autoFocus?: boolean;\n}\n\nexport function ToolApprovalActions({\n onApprove,\n onDecline,\n disabled = false,\n toolName,\n autoFocus = false,\n}: ToolApprovalActionsProps) {\n return (\n <div className=\"flex flex-wrap items-center gap-2\">\n <Button\n type=\"button\"\n variant=\"primary\"\n size=\"sm\"\n icon={<Check aria-hidden />}\n aria-label={toolName ? `Approve ${toolName}` : undefined}\n autoFocus={autoFocus}\n disabled={disabled}\n onClick={onApprove}\n >\n Approve\n </Button>\n <Button\n type=\"button\"\n size=\"sm\"\n icon={<X aria-hidden />}\n aria-label={toolName ? `Decline ${toolName}` : undefined}\n disabled={disabled}\n onClick={onDecline}\n >\n Decline\n </Button>\n </div>\n );\n}\n\nexport interface ToolApprovalProps extends ToolApprovalActionsProps, ToolApprovalStatusProps {\n toolName: string;\n args?: unknown;\n /** Custom details replace the default argument renderer. */\n children?: ReactNode;\n}\n\nexport function ToolApproval({ toolName, args, status, children, ...actions }: ToolApprovalProps) {\n const { icon: ToolIcon } = presentTool(toolName, args);\n\n return (\n <Activity open foldable={false} className=\"my-2\" aria-label={`Tool approval for ${toolName}`}>\n <ActivityTrigger>\n <ActivityHeader className=\"flex-wrap\">\n <ActivityIcon>\n <ToolIcon aria-hidden />\n </ActivityIcon>\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\" font=\"mono\" className=\"min-w-0 break-all\">\n {toolName}\n </Txt>\n <ToolApprovalStatus status={status} />\n </ActivityHeader>\n </ActivityTrigger>\n <ActivityContent>\n {children ?? <ToolCallArguments toolName={toolName} args={args} showFullContent />}\n {!status && <ToolApprovalActions toolName={toolName} {...actions} />}\n </ActivityContent>\n </Activity>\n );\n}\n"],"mappings":";;;;;;;;;AAYA,IAAM,iBAAiB;CACrB,SAAS;EAAE,OAAO;EAAqB,SAAS;EAAW,MAAMA,aAAAA;CAAY;CAC7E,UAAU;EAAE,OAAO;EAAY,SAAS;EAAW,MAAMC,aAAAA;CAAM;CAC/D,UAAU;EAAE,OAAO;EAAY,SAAS;EAAW,MAAMC,aAAAA;CAAE;AAC7D;AAMA,SAAgB,mBAAmB,EAAE,UAAmC;CACtE,MAAM,EAAE,OAAO,SAAS,MAAM,eAAe,eAAe,UAAU;CACtE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;EAAM,MAAK;EAAS,WAAU;EAC5B,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,OAAD;GAAgB;GAAS,UAAS;GAAS,MAAK;GAAK,MAAM,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD,EAAY,eAAA,KAAa,CAAA;GACjF,UAAA;EACI,CAAA;CACH,CAAA;AAEV;AAUA,SAAgB,oBAAoB,EAClC,WACA,WACA,WAAW,OACX,UACA,YAAY,SACe;CAC3B,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EAAK,WAAU;EAAf,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,eAAAA,QAAD;GACE,MAAK;GACL,SAAQ;GACR,MAAK;GACL,MAAM,iBAAA,GAAA,kBAAA,IAAA,CAACH,aAAAA,OAAD,EAAO,eAAA,KAAa,CAAA;GAC1B,cAAY,WAAW,WAAW,aAAa,KAAA;GACpC;GACD;GACV,SAAS;GACV,UAAA;EAEO,CAAA,GACR,iBAAA,GAAA,kBAAA,IAAA,CAACG,eAAAA,QAAD;GACE,MAAK;GACL,MAAK;GACL,MAAM,iBAAA,GAAA,kBAAA,IAAA,CAACF,aAAAA,GAAD,EAAG,eAAA,KAAa,CAAA;GACtB,cAAY,WAAW,WAAW,aAAa,KAAA;GACrC;GACV,SAAS;GACV,UAAA;EAEO,CAAA,CACL;;AAET;AASA,SAAgB,aAAa,EAAE,UAAU,MAAM,QAAQ,UAAU,GAAG,WAA8B;CAChG,MAAM,EAAE,MAAM,aAAaG,0BAAAA,YAAY,UAAU,IAAI;CAErD,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,iBAAAA,UAAD;EAAU,MAAA;EAAK,UAAU;EAAO,WAAU;EAAO,cAAY,qBAAqB;EAAlF,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,iBAAAA,iBAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,iBAAAA,gBAAD;GAAgB,WAAU;GAA1B,UAAA;IACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,iBAAAA,cAAD,EAAA,UACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD,EAAU,eAAA,KAAa,CAAA,EACX,CAAA;IACd,iBAAA,GAAA,kBAAA,IAAA,CAACC,YAAAA,KAAD;KAAK,IAAG;KAAO,SAAQ;KAAU,MAAK;KAAQ,MAAK;KAAO,WAAU;KACjE,UAAA;IACE,CAAA;IACL,iBAAA,GAAA,kBAAA,IAAA,CAAC,oBAAD,EAA4B,OAAS,CAAA;GACvB;EACD,CAAA,EAAA,CAAA,GACjB,iBAAA,GAAA,kBAAA,KAAA,CAACC,iBAAAA,iBAAD,EAAA,UAAA,CACG,YAAY,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,mBAAD;GAA6B;GAAgB;GAAM,iBAAA;EAAiB,CAAA,GAChF,CAAC,UAAU,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD;GAA+B;GAAU,GAAI;EAAU,CAAA,CACpD,EAAA,CAAA,CACT;;AAEd"}
@@ -7,7 +7,7 @@ const require_copy_button = require("./copy-button-BYEFKNpo.cjs");
7
7
  const require_highlight = require("./highlight-D0VoR2qO.cjs");
8
8
  const require_code = require("./code-CqgfD-cP.cjs");
9
9
  const require_components_CodeBlock = require("./components/CodeBlock.cjs.js");
10
- const require_tool_presentation = require("./tool-presentation-BLErsb7c.cjs");
10
+ const require_tool_presentation = require("./tool-presentation-CQlDEwgS.cjs");
11
11
  const require_activity = require("./activity-DAK8tj7r.cjs");
12
12
  let react_jsx_runtime = require("react/jsx-runtime");
13
13
  let lucide_react = require("lucide-react");
@@ -360,6 +360,36 @@ var KIND_PHRASES = {
360
360
  done: "Read skill file",
361
361
  one: "read a skill file",
362
362
  many: "read skill files"
363
+ },
364
+ "Search knowledge": {
365
+ live: "Searching knowledge",
366
+ done: "Searched knowledge",
367
+ one: "searched knowledge",
368
+ many: "searched knowledge"
369
+ },
370
+ "Read page": {
371
+ live: "Reading page",
372
+ done: "Read page",
373
+ one: "read a page",
374
+ many: "read pages"
375
+ },
376
+ "Edit page": {
377
+ live: "Editing page",
378
+ done: "Edited page",
379
+ one: "edited a page",
380
+ many: "edited pages"
381
+ },
382
+ "Edit note": {
383
+ live: "Editing note",
384
+ done: "Edited note",
385
+ one: "edited a note",
386
+ many: "edited notes"
387
+ },
388
+ "Update pin": {
389
+ live: "Updating pin",
390
+ done: "Updated pin",
391
+ one: "updated a pin",
392
+ many: "updated pins"
363
393
  }
364
394
  };
365
395
  function isToolKind(label) {
@@ -458,4 +488,4 @@ Object.defineProperty(exports, "toolPhrases", {
458
488
  }
459
489
  });
460
490
 
461
- //# sourceMappingURL=tool-call-CvilN9ti.cjs.map
491
+ //# sourceMappingURL=tool-call-BCsDhIhs.cjs.map