basalt-ui 1.10.0 → 1.12.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.
- package/AGENTS.md +21 -21
- package/CHANGELOG.md +25 -0
- package/README.md +36 -27
- package/agent/rules/basalt-content.md +16 -3
- package/dist/agent/adapter.d.ts +146 -0
- package/dist/agent/adapter.d.ts.map +1 -0
- package/dist/agent/adapter.js +473 -0
- package/dist/agent/adapter.test.d.ts +2 -0
- package/dist/agent/adapter.test.d.ts.map +1 -0
- package/dist/agent/ai-sdk-transport.d.ts +3 -52
- package/dist/agent/ai-sdk-transport.d.ts.map +1 -1
- package/dist/agent/ai-sdk-transport.js +108 -24
- package/dist/agent/ai-sdk-transport.test.d.ts +2 -0
- package/dist/agent/ai-sdk-transport.test.d.ts.map +1 -0
- package/dist/agent/coalesce.d.ts +42 -0
- package/dist/agent/coalesce.d.ts.map +1 -0
- package/dist/agent/coalesce.js +137 -0
- package/dist/agent/coalesce.test.d.ts +2 -0
- package/dist/agent/coalesce.test.d.ts.map +1 -0
- package/dist/agent/foreign.d.ts +97 -0
- package/dist/agent/foreign.d.ts.map +1 -0
- package/dist/agent/foreign.js +18 -0
- package/dist/agent/foreign.test.d.ts +2 -0
- package/dist/agent/foreign.test.d.ts.map +1 -0
- package/dist/agent/history.d.ts +2 -0
- package/dist/agent/history.d.ts.map +1 -1
- package/dist/agent/id.d.ts +65 -0
- package/dist/agent/id.d.ts.map +1 -0
- package/dist/agent/id.js +30 -0
- package/dist/agent/id.test.d.ts +2 -0
- package/dist/agent/id.test.d.ts.map +1 -0
- package/dist/agent/index.d.ts +11 -4
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +18 -3
- package/dist/agent/merge.d.ts +8 -0
- package/dist/agent/merge.d.ts.map +1 -0
- package/dist/agent/merge.js +35 -0
- package/dist/agent/merge.test.d.ts +2 -0
- package/dist/agent/merge.test.d.ts.map +1 -0
- package/dist/agent/part-list.d.ts +49 -34
- package/dist/agent/part-list.d.ts.map +1 -1
- package/dist/agent/part-list.js +53 -7
- package/dist/agent/part-list.test.d.ts +2 -0
- package/dist/agent/part-list.test.d.ts.map +1 -0
- package/dist/agent/parts.d.ts +135 -20
- package/dist/agent/parts.d.ts.map +1 -1
- package/dist/agent/parts.js +138 -11
- package/dist/agent/parts.test.d.ts +2 -0
- package/dist/agent/parts.test.d.ts.map +1 -0
- package/dist/agent/thread.d.ts +14 -0
- package/dist/agent/thread.d.ts.map +1 -1
- package/dist/agent/thread.js +8 -2
- package/dist/agent/thread.test.d.ts +2 -0
- package/dist/agent/thread.test.d.ts.map +1 -0
- package/dist/agent/transport.d.ts +39 -3
- package/dist/agent/transport.d.ts.map +1 -1
- package/dist/agent/transport.js +20 -17
- package/dist/agent/transport.test.d.ts +2 -0
- package/dist/agent/transport.test.d.ts.map +1 -0
- package/dist/agent/use-agent-stream.d.ts +2 -1
- package/dist/agent/use-agent-stream.d.ts.map +1 -1
- package/dist/agent/use-agent-stream.js +5 -2
- package/dist/agent/use-agent-stream.test.d.ts +2 -0
- package/dist/agent/use-agent-stream.test.d.ts.map +1 -0
- package/dist/agent/use-agent-thread-runs.d.ts +9 -3
- package/dist/agent/use-agent-thread-runs.d.ts.map +1 -1
- package/dist/agent/use-agent-thread-runs.foreign.test.d.ts +2 -0
- package/dist/agent/use-agent-thread-runs.foreign.test.d.ts.map +1 -0
- package/dist/agent/use-agent-thread-runs.js +75 -23
- package/dist/agent/use-agent-thread-runs.resume.test.d.ts +2 -0
- package/dist/agent/use-agent-thread-runs.resume.test.d.ts.map +1 -0
- package/dist/agent/use-agent-thread-runs.test.d.ts +2 -0
- package/dist/agent/use-agent-thread-runs.test.d.ts.map +1 -0
- package/dist/agent/use-agent-thread-runs.wedge.test.d.ts +2 -0
- package/dist/agent/use-agent-thread-runs.wedge.test.d.ts.map +1 -0
- package/dist/agent-chat/composer.d.ts +130 -8
- package/dist/agent-chat/composer.d.ts.map +1 -1
- package/dist/agent-chat/composer.js +189 -23
- package/dist/agent-chat/composer.test.d.ts +2 -0
- package/dist/agent-chat/composer.test.d.ts.map +1 -0
- package/dist/agent-chat/index.d.ts +3 -1
- package/dist/agent-chat/index.d.ts.map +1 -1
- package/dist/agent-chat/index.js +2 -0
- package/dist/agent-chat/thread-detail-panel.d.ts.map +1 -1
- package/dist/agent-chat/thread-detail-panel.js +1 -1
- package/dist/agent-chat/thread-message.d.ts +24 -7
- package/dist/agent-chat/thread-message.d.ts.map +1 -1
- package/dist/agent-chat/thread-message.js +115 -45
- package/dist/agent-chat/thread-message.test.d.ts +2 -0
- package/dist/agent-chat/thread-message.test.d.ts.map +1 -0
- package/dist/agent-chat/thread-workspace.js +1 -1
- package/dist/agent-chat/tool-chip.d.ts +21 -0
- package/dist/agent-chat/tool-chip.d.ts.map +1 -0
- package/dist/agent-chat/tool-chip.js +120 -0
- package/dist/agent-chat/tool-chip.test.d.ts +2 -0
- package/dist/agent-chat/tool-chip.test.d.ts.map +1 -0
- package/dist/charts/primitives/ChartFrame.test.d.ts +2 -0
- package/dist/charts/primitives/ChartFrame.test.d.ts.map +1 -0
- package/dist/charts/utils/domain.test.d.ts +2 -0
- package/dist/charts/utils/domain.test.d.ts.map +1 -0
- package/dist/cli/check-theme.test.d.ts +2 -0
- package/dist/cli/check-theme.test.d.ts.map +1 -0
- package/dist/cli/help.test.d.ts +2 -0
- package/dist/cli/help.test.d.ts.map +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/init-sync.test.d.ts +2 -0
- package/dist/cli/init-sync.test.d.ts.map +1 -0
- package/dist/cli/placement-engine.test.d.ts +2 -0
- package/dist/cli/placement-engine.test.d.ts.map +1 -0
- package/dist/cli/tarball-parity.test.d.ts +2 -0
- package/dist/cli/tarball-parity.test.d.ts.map +1 -0
- package/dist/cli/template-format.test.d.ts +2 -0
- package/dist/cli/template-format.test.d.ts.map +1 -0
- package/dist/cli/template-ledger.test.d.ts +2 -0
- package/dist/cli/template-ledger.test.d.ts.map +1 -0
- package/dist/cli/tokens-css.test.d.ts +2 -0
- package/dist/cli/tokens-css.test.d.ts.map +1 -0
- package/dist/content/article-actions.test.d.ts +2 -0
- package/dist/content/article-actions.test.d.ts.map +1 -0
- package/dist/content/article-model.test.d.ts +2 -0
- package/dist/content/article-model.test.d.ts.map +1 -0
- package/dist/content/block-split.test.d.ts +2 -0
- package/dist/content/block-split.test.d.ts.map +1 -0
- package/dist/content/fence-block.d.ts +37 -10
- package/dist/content/fence-block.d.ts.map +1 -1
- package/dist/content/fence-block.js +80 -14
- package/dist/content/heading-components.d.ts.map +1 -1
- package/dist/content/heading-components.js +7 -4
- package/dist/content/heading-components.test.d.ts +2 -0
- package/dist/content/heading-components.test.d.ts.map +1 -0
- package/dist/content/index.d.ts +6 -3
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/index.js +5 -1
- package/dist/content/markdown.d.ts +101 -14
- package/dist/content/markdown.d.ts.map +1 -1
- package/dist/content/markdown.js +141 -28
- package/dist/content/markdown.test.d.ts +2 -0
- package/dist/content/markdown.test.d.ts.map +1 -0
- package/dist/content/prose.module.css.test.d.ts +2 -0
- package/dist/content/prose.module.css.test.d.ts.map +1 -0
- package/dist/content/sanitize.d.ts +170 -0
- package/dist/content/sanitize.d.ts.map +1 -0
- package/dist/content/sanitize.js +178 -0
- package/dist/content/sanitize.test.d.ts +2 -0
- package/dist/content/sanitize.test.d.ts.map +1 -0
- package/dist/content/slug.test.d.ts +2 -0
- package/dist/content/slug.test.d.ts.map +1 -0
- package/dist/dashboard/stat-card.test.d.ts +2 -0
- package/dist/dashboard/stat-card.test.d.ts.map +1 -0
- package/dist/guard/check-source.test.d.ts +2 -0
- package/dist/guard/check-source.test.d.ts.map +1 -0
- package/dist/guard/guard-hook.test.d.ts +2 -0
- package/dist/guard/guard-hook.test.d.ts.map +1 -0
- package/dist/guard/index.d.ts.map +1 -1
- package/dist/guard/index.js +1 -3
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/provider/index.test.d.ts +2 -0
- package/dist/provider/index.test.d.ts.map +1 -0
- package/dist/provider/lab-theme.test.d.ts +2 -0
- package/dist/provider/lab-theme.test.d.ts.map +1 -0
- package/dist/router-tanstack/multi-search-param-store.test.d.ts +2 -0
- package/dist/router-tanstack/multi-search-param-store.test.d.ts.map +1 -0
- package/dist/styles.floor.test.d.ts +2 -0
- package/dist/styles.floor.test.d.ts.map +1 -0
- package/dist/surfaces.d.ts +5 -5
- package/dist/surfaces.d.ts.map +1 -1
- package/dist/surfaces.js +13 -4
- package/dist/theme/border-coverage.test.d.ts +18 -0
- package/dist/theme/border-coverage.test.d.ts.map +1 -0
- package/dist/theme/contrast.test.d.ts +2 -0
- package/dist/theme/contrast.test.d.ts.map +1 -0
- package/dist/theme/density-option.test.d.ts +2 -0
- package/dist/theme/density-option.test.d.ts.map +1 -0
- package/dist/theme/density-relations.test.d.ts +2 -0
- package/dist/theme/density-relations.test.d.ts.map +1 -0
- package/dist/theme/derive-theme.test.d.ts +2 -0
- package/dist/theme/derive-theme.test.d.ts.map +1 -0
- package/dist/theme/fonts-option.test.d.ts +2 -0
- package/dist/theme/fonts-option.test.d.ts.map +1 -0
- package/dist/theme/radius-option.test.d.ts +2 -0
- package/dist/theme/radius-option.test.d.ts.map +1 -0
- package/dist/theme/radius.test.d.ts +2 -0
- package/dist/theme/radius.test.d.ts.map +1 -0
- package/dist/theme/shadow-surfaces.test.d.ts +26 -0
- package/dist/theme/shadow-surfaces.test.d.ts.map +1 -0
- package/dist/theme/spacing.test.d.ts +2 -0
- package/dist/theme/spacing.test.d.ts.map +1 -0
- package/dist/theme/use-basalt-spacing.test.d.ts +2 -0
- package/dist/theme/use-basalt-spacing.test.d.ts.map +1 -0
- package/dist/theme-lab/derive-controls.test.d.ts +2 -0
- package/dist/theme-lab/derive-controls.test.d.ts.map +1 -0
- package/dist/theme-lab/derive-state.test.d.ts +2 -0
- package/dist/theme-lab/derive-state.test.d.ts.map +1 -0
- package/dist/theme-lab/theme-lab.test.d.ts +2 -0
- package/dist/theme-lab/theme-lab.test.d.ts.map +1 -0
- package/dist/tokens/build-fonts-css.test.d.ts +2 -0
- package/dist/tokens/build-fonts-css.test.d.ts.map +1 -0
- package/dist/tokens/build-radius-css.test.d.ts +2 -0
- package/dist/tokens/build-radius-css.test.d.ts.map +1 -0
- package/dist/tokens/density.test.d.ts +2 -0
- package/dist/tokens/density.test.d.ts.map +1 -0
- package/dist/tokens/derive-radius.test.d.ts +2 -0
- package/dist/tokens/derive-radius.test.d.ts.map +1 -0
- package/dist/tokens/derive.test.d.ts +2 -0
- package/dist/tokens/derive.test.d.ts.map +1 -0
- package/dist/tokens/palette.test.d.ts +2 -0
- package/dist/tokens/palette.test.d.ts.map +1 -0
- package/dist/vite-color-mix.test.d.ts +2 -0
- package/dist/vite-color-mix.test.d.ts.map +1 -0
- package/dist/vite.test.d.ts +2 -0
- package/dist/vite.test.d.ts.map +1 -0
- package/llms.txt +7 -7
- package/package.json +6 -1
- package/src/agent/adapter.test.ts +1403 -0
- package/src/agent/adapter.ts +887 -0
- package/src/agent/ai-sdk-transport.test.ts +380 -55
- package/src/agent/ai-sdk-transport.ts +206 -53
- package/src/agent/coalesce.test.ts +387 -0
- package/src/agent/coalesce.ts +229 -0
- package/src/agent/foreign.test.ts +51 -0
- package/src/agent/foreign.ts +140 -0
- package/src/agent/history.ts +2 -0
- package/src/agent/id.test.ts +75 -0
- package/src/agent/id.ts +91 -0
- package/src/agent/index.ts +34 -3
- package/src/agent/merge.test.ts +206 -0
- package/src/agent/merge.ts +114 -0
- package/src/agent/part-list.test.tsx +112 -0
- package/src/agent/part-list.tsx +108 -35
- package/src/agent/parts.test.ts +516 -57
- package/src/agent/parts.ts +323 -32
- package/src/agent/thread.test.ts +75 -2
- package/src/agent/thread.ts +21 -1
- package/src/agent/transport.test.ts +70 -0
- package/src/agent/transport.ts +72 -20
- package/src/agent/use-agent-stream.test.tsx +53 -19
- package/src/agent/use-agent-stream.ts +13 -3
- package/src/agent/use-agent-thread-runs.foreign.test.tsx +138 -0
- package/src/agent/use-agent-thread-runs.resume.test.tsx +44 -11
- package/src/agent/use-agent-thread-runs.test.tsx +418 -22
- package/src/agent/use-agent-thread-runs.ts +170 -26
- package/src/agent/use-agent-thread-runs.wedge.test.tsx +15 -7
- package/src/agent-chat/composer.test.tsx +924 -0
- package/src/agent-chat/composer.tsx +521 -52
- package/src/agent-chat/index.ts +5 -1
- package/src/agent-chat/thread-detail-panel.tsx +3 -1
- package/src/agent-chat/thread-message.test.tsx +351 -0
- package/src/agent-chat/thread-message.tsx +262 -64
- package/src/agent-chat/thread-workspace.tsx +1 -1
- package/src/agent-chat/tool-chip.test.tsx +139 -0
- package/src/agent-chat/tool-chip.tsx +219 -0
- package/src/cli/index.ts +0 -1
- package/src/cli/template-format.test.ts +2 -2
- package/src/content/fence-block.tsx +242 -15
- package/src/content/heading-components.test.tsx +65 -0
- package/src/content/heading-components.tsx +26 -5
- package/src/content/index.ts +19 -3
- package/src/content/markdown.test.tsx +603 -0
- package/src/content/markdown.tsx +355 -35
- package/src/content/sanitize.test.ts +659 -0
- package/src/content/sanitize.ts +510 -0
- package/src/dashboard/stat-card.test.tsx +6 -1
- package/src/guard/check-source.test.ts +8 -4
- package/src/guard/index.ts +1 -3
- package/src/index.ts +15 -1
- package/src/surfaces.ts +13 -4
- package/src/theme/contrast.test.ts +1 -4
- package/src/theme/density-relations.test.ts +4 -2
- package/src/theme/fonts-option.test.ts +7 -1
- package/src/theme/shadow-surfaces.test.ts +12 -6
- package/src/theme/use-basalt-spacing.test.tsx +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent-chat/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAGnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent-chat/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAG9D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAGpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAGnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGnG,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACxE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAG7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/agent-chat/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import { ThreadOutcomeCard } from "./thread-outcome-card.js";
|
|
|
4
4
|
import { ThreadDetailPanel } from "./thread-detail-panel.js";
|
|
5
5
|
import { Composer } from "./composer.js";
|
|
6
6
|
import { threadPartRenderers, ThreadTranscript } from "./thread-message.js";
|
|
7
|
+
import { ToolChip } from "./tool-chip.js";
|
|
7
8
|
export {
|
|
8
9
|
Composer,
|
|
9
10
|
ThreadDetailPanel,
|
|
@@ -11,5 +12,6 @@ export {
|
|
|
11
12
|
ThreadOutcomeCard,
|
|
12
13
|
ThreadTranscript,
|
|
13
14
|
ThreadWorkspace,
|
|
15
|
+
ToolChip,
|
|
14
16
|
threadPartRenderers
|
|
15
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-detail-panel.d.ts","sourceRoot":"","sources":["../../src/agent-chat/thread-detail-panel.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAiDpE,MAAM,MAAM,sBAAsB,GAAG;IACnC,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IACnC,0FAA0F;IAC1F,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAA;IAChC,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAC9B,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,SAAS,EACT,SAAS,EACT,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,GACR,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"thread-detail-panel.d.ts","sourceRoot":"","sources":["../../src/agent-chat/thread-detail-panel.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAiDpE,MAAM,MAAM,sBAAsB,GAAG;IACnC,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IACnC,0FAA0F;IAC1F,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAA;IAChC,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAC9B,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,SAAS,EACT,SAAS,EACT,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,GACR,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAyFtC"}
|
|
@@ -90,7 +90,7 @@ function ThreadDetailPanel({
|
|
|
90
90
|
) }),
|
|
91
91
|
/* @__PURE__ */ jsx(Divider, { color: "var(--vx-divider)" }),
|
|
92
92
|
/* @__PURE__ */ jsx(Box, { p: "sm", children: /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
|
|
93
|
-
/* @__PURE__ */ jsx(Composer, { onSubmit: onSend,
|
|
93
|
+
/* @__PURE__ */ jsx(Composer, { onSubmit: ({ text }) => onSend(text), streaming }),
|
|
94
94
|
streaming && /* @__PURE__ */ jsx(Button, { size: "compact-sm", variant: "subtle", color: "red", onClick: onStop, children: "Stop" })
|
|
95
95
|
] }) })
|
|
96
96
|
] });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { JSX } from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { AgentPartRenderers, ChatMessage, ForeignPart, PartRenderer, PartRenderers, StreamStatus, TranscriptPart } from '../agent/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Mantine overrides for `PartList`'s default headless renderers — the house style for rendering
|
|
5
5
|
* an `AgentPart` inside a chat surface.
|
|
@@ -10,22 +10,39 @@ import type { AgentPart, AgentPartRenderers, ChatMessage, StreamStatus } from '.
|
|
|
10
10
|
* <PartList parts={parts} components={threadPartRenderers} />
|
|
11
11
|
*/
|
|
12
12
|
export declare const threadPartRenderers: Partial<AgentPartRenderers>;
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Render-execution counter for `MessageBlockImpl` — increments only when React actually calls the
|
|
15
|
+
* function body (a `memo` bail-out never reaches it). NOT part of the public surface —
|
|
16
|
+
* `agent-chat/index.ts` does not re-export it. The memoization test imports this module directly
|
|
17
|
+
* (bypassing the barrel) to prove the memo boundary in a controlled render-count harness.
|
|
18
|
+
*/
|
|
19
|
+
export declare const messageBlockRenderCounter: {
|
|
20
|
+
count: number;
|
|
21
|
+
};
|
|
22
|
+
type ThreadTranscriptBase = {
|
|
14
23
|
/** Settled messages for the thread, oldest first. */
|
|
15
|
-
readonly messages: ChatMessage[];
|
|
24
|
+
readonly messages: readonly ChatMessage<TranscriptPart>[];
|
|
16
25
|
/** The live (in-flight) assistant turn's parts, when a run is streaming for this thread. */
|
|
17
|
-
readonly liveParts?:
|
|
26
|
+
readonly liveParts?: readonly TranscriptPart[];
|
|
18
27
|
/** The live run's status — drives the in-progress indicator on the live block. */
|
|
19
28
|
readonly liveStatus?: StreamStatus;
|
|
29
|
+
/** Consumer renderers keyed by part.type. Consulted BEFORE the built-in union. */
|
|
30
|
+
readonly renderers?: PartRenderers;
|
|
31
|
+
/** Called for a part whose type is neither an AgentPart variant nor a registered key. Defaults
|
|
32
|
+
* to a visible `UnknownPartChip` outside production, `null` in production — never throws. */
|
|
33
|
+
readonly fallbackRenderer?: PartRenderer<ForeignPart>;
|
|
20
34
|
};
|
|
35
|
+
export type ThreadTranscriptProps = ThreadTranscriptBase;
|
|
21
36
|
/**
|
|
22
|
-
* Renders a thread's settled messages, each role-labelled ("You" / "Assistant")
|
|
23
|
-
*
|
|
37
|
+
* Renders a thread's settled messages, each role-labelled ("You" / "Assistant"). Each part
|
|
38
|
+
* resolves in order: a registered `renderers[part.type]` first, then basalt's own `PartList` for
|
|
39
|
+
* the built-in six, then `fallbackRenderer`. When `liveParts` is non-empty, an extra in-progress
|
|
24
40
|
* assistant block is appended at the tail.
|
|
25
41
|
*
|
|
26
42
|
* @example
|
|
27
43
|
* import { ThreadTranscript } from 'basalt-ui'
|
|
28
44
|
* <ThreadTranscript messages={thread.messages} liveParts={liveParts} liveStatus={runStatus} />
|
|
29
45
|
*/
|
|
30
|
-
export declare function ThreadTranscript({ messages, liveParts, liveStatus, }: ThreadTranscriptProps): JSX.Element;
|
|
46
|
+
export declare function ThreadTranscript({ messages, liveParts, liveStatus, renderers: renderersProp, fallbackRenderer, }: ThreadTranscriptProps): JSX.Element;
|
|
47
|
+
export {};
|
|
31
48
|
//# sourceMappingURL=thread-message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-message.d.ts","sourceRoot":"","sources":["../../src/agent-chat/thread-message.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"thread-message.d.ts","sourceRoot":"","sources":["../../src/agent-chat/thread-message.tsx"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,KAAK,EAEV,kBAAkB,EAClB,WAAW,EAEX,WAAW,EACX,YAAY,EACZ,aAAa,EAGb,YAAY,EAGZ,cAAc,EACf,MAAM,UAAU,CAAA;AAsGjB;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,kBAAkB,CAM3D,CAAA;AAqID;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;CAAe,CAAA;AAmFrD,KAAK,oBAAoB,GAAG;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,CAAC,cAAc,CAAC,EAAE,CAAA;IACzD,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,cAAc,EAAE,CAAA;IAC9C,kFAAkF;IAClF,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAA;IAClC,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAA;IAClC;iGAC6F;IAC7F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,CAAA;AAExD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EAAE,aAAa,EACxB,gBAA4C,GAC7C,EAAE,qBAAqB,GAAG,GAAG,CAAC,OAAO,CAgCrC"}
|
|
@@ -11,9 +11,11 @@ import {
|
|
|
11
11
|
UnstyledButton
|
|
12
12
|
} from "@mantine/core";
|
|
13
13
|
import { useDisclosure } from "@mantine/hooks";
|
|
14
|
-
import {
|
|
14
|
+
import { Fragment, memo, useMemo } from "react";
|
|
15
|
+
import { coalesceParts, narrowAgentPart, PartList } from "../agent/index.js";
|
|
15
16
|
import { Markdown } from "../content/markdown.js";
|
|
16
|
-
import {
|
|
17
|
+
import { VX } from "../tokens/index.js";
|
|
18
|
+
import { ToolChip } from "./tool-chip.js";
|
|
17
19
|
const MICRO_LABEL_STYLE = {
|
|
18
20
|
fontFamily: "var(--basalt-font-mono)",
|
|
19
21
|
fontSize: VX.text.micro,
|
|
@@ -22,23 +24,16 @@ const MICRO_LABEL_STYLE = {
|
|
|
22
24
|
textTransform: "uppercase",
|
|
23
25
|
color: VX.faint
|
|
24
26
|
};
|
|
25
|
-
function TextRenderer({
|
|
26
|
-
|
|
27
|
+
function TextRenderer({
|
|
28
|
+
part,
|
|
29
|
+
settled
|
|
30
|
+
}) {
|
|
31
|
+
return /* @__PURE__ */ jsx(Markdown, { streaming: !settled, contentTrust: "untrusted", density: "chat", children: part.text });
|
|
27
32
|
}
|
|
28
33
|
const RAIL_STYLE = {
|
|
29
34
|
borderLeft: `2px solid ${VX.divider}`,
|
|
30
35
|
paddingLeft: "var(--vx-space-agent-rail-inset-x)"
|
|
31
36
|
};
|
|
32
|
-
const CODE_BLOCK_STYLE = {
|
|
33
|
-
margin: 0,
|
|
34
|
-
marginTop: "var(--vx-space-agent-part-gap-top)",
|
|
35
|
-
fontFamily: "var(--basalt-font-mono)",
|
|
36
|
-
backgroundColor: alpha(VX.ink, 0.06),
|
|
37
|
-
borderRadius: "var(--vx-radius-card)",
|
|
38
|
-
padding: "var(--vx-space-agent-code-inset)",
|
|
39
|
-
whiteSpace: "pre-wrap",
|
|
40
|
-
overflowWrap: "anywhere"
|
|
41
|
-
};
|
|
42
37
|
function ReasoningRenderer({ part }) {
|
|
43
38
|
const [open, { toggle }] = useDisclosure(false);
|
|
44
39
|
return /* @__PURE__ */ jsx(Box, { style: RAIL_STYLE, children: /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
|
|
@@ -46,12 +41,8 @@ function ReasoningRenderer({ part }) {
|
|
|
46
41
|
/* @__PURE__ */ jsx(Collapse, { expanded: open, children: /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", style: { whiteSpace: "pre-wrap" }, children: part.text }) })
|
|
47
42
|
] }) });
|
|
48
43
|
}
|
|
49
|
-
function
|
|
50
|
-
return /* @__PURE__ */ jsx(
|
|
51
|
-
/* @__PURE__ */ jsx(Text, { style: MICRO_LABEL_STYLE, children: part.toolName }),
|
|
52
|
-
/* @__PURE__ */ jsx(Text, { component: "pre", size: "xs", style: CODE_BLOCK_STYLE, children: JSON.stringify(part.input, null, 2) }),
|
|
53
|
-
part.output !== void 0 && /* @__PURE__ */ jsx(Text, { component: "pre", size: "xs", style: CODE_BLOCK_STYLE, children: JSON.stringify(part.output, null, 2) })
|
|
54
|
-
] }) });
|
|
44
|
+
function ToolChipRenderer({ part }) {
|
|
45
|
+
return /* @__PURE__ */ jsx(ToolChip, { part });
|
|
55
46
|
}
|
|
56
47
|
function SourceRenderer({ part }) {
|
|
57
48
|
return /* @__PURE__ */ jsx(Anchor, { href: part.url, target: "_blank", rel: "noopener noreferrer", size: "sm", children: part.title ?? part.url });
|
|
@@ -62,70 +53,149 @@ function ErrorRenderer({ part }) {
|
|
|
62
53
|
const threadPartRenderers = {
|
|
63
54
|
text: TextRenderer,
|
|
64
55
|
reasoning: ReasoningRenderer,
|
|
65
|
-
tool:
|
|
56
|
+
tool: ToolChipRenderer,
|
|
66
57
|
source: SourceRenderer,
|
|
67
58
|
error: ErrorRenderer
|
|
68
59
|
};
|
|
69
|
-
function
|
|
70
|
-
|
|
60
|
+
function UnknownPartChip({ part }) {
|
|
61
|
+
return /* @__PURE__ */ jsx(Box, { style: RAIL_STYLE, children: /* @__PURE__ */ jsx(Text, { style: MICRO_LABEL_STYLE, children: `Unknown part: ${part.type}` }) });
|
|
62
|
+
}
|
|
63
|
+
const DEFAULT_FALLBACK_RENDERER = ({ part }) => process.env["NODE_ENV"] !== "production" ? /* @__PURE__ */ jsx(UnknownPartChip, { part }) : null;
|
|
64
|
+
function resolveSegments(parts, renderers, fallbackRenderer) {
|
|
65
|
+
const segments = [];
|
|
66
|
+
let buffer = [];
|
|
67
|
+
const flushBuffer = () => {
|
|
68
|
+
const first = buffer[0];
|
|
69
|
+
if (first === void 0) return;
|
|
70
|
+
segments.push({ kind: "agent", key: first.id, parts: coalesceParts(buffer) });
|
|
71
|
+
buffer = [];
|
|
72
|
+
};
|
|
71
73
|
for (const part of parts) {
|
|
72
|
-
const
|
|
73
|
-
if (
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
const consumerRenderer = renderers[part.type];
|
|
75
|
+
if (consumerRenderer !== void 0) {
|
|
76
|
+
flushBuffer();
|
|
77
|
+
segments.push({
|
|
78
|
+
kind: "foreign",
|
|
79
|
+
key: part.id,
|
|
80
|
+
part,
|
|
81
|
+
render: consumerRenderer
|
|
82
|
+
});
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
const agentPart = narrowAgentPart(part);
|
|
86
|
+
if (agentPart !== null) {
|
|
87
|
+
buffer.push(agentPart);
|
|
88
|
+
continue;
|
|
79
89
|
}
|
|
90
|
+
flushBuffer();
|
|
91
|
+
segments.push({
|
|
92
|
+
kind: "foreign",
|
|
93
|
+
key: part.id,
|
|
94
|
+
part,
|
|
95
|
+
render: fallbackRenderer
|
|
96
|
+
});
|
|
80
97
|
}
|
|
81
|
-
|
|
98
|
+
flushBuffer();
|
|
99
|
+
return segments;
|
|
82
100
|
}
|
|
83
101
|
const ROLE_LABEL = {
|
|
84
102
|
user: "You",
|
|
85
103
|
assistant: "Assistant"
|
|
86
104
|
};
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
105
|
+
const FINISH_INDICATOR = {
|
|
106
|
+
stopped: { label: "Stopped", statusToken: VX.status.warn },
|
|
107
|
+
error: { label: "Error", statusToken: VX.status.bad }
|
|
108
|
+
};
|
|
109
|
+
const messageBlockRenderCounter = { count: 0 };
|
|
110
|
+
function MessageBlockImpl({
|
|
111
|
+
message,
|
|
112
|
+
streaming = false,
|
|
113
|
+
renderers,
|
|
114
|
+
fallbackRenderer
|
|
91
115
|
}) {
|
|
116
|
+
messageBlockRenderCounter.count += 1;
|
|
117
|
+
const settled = !streaming;
|
|
118
|
+
const segments = useMemo(
|
|
119
|
+
() => resolveSegments(message.parts, renderers, fallbackRenderer),
|
|
120
|
+
[message.parts, renderers, fallbackRenderer]
|
|
121
|
+
);
|
|
122
|
+
const finishIndicator = message.finish === void 0 ? void 0 : FINISH_INDICATOR[message.finish];
|
|
92
123
|
return /* @__PURE__ */ jsx(
|
|
93
124
|
Box,
|
|
94
125
|
{
|
|
95
126
|
style: {
|
|
96
127
|
padding: "var(--vx-space-agent-message-inset-y) var(--vx-space-agent-message-inset-x)",
|
|
97
|
-
backgroundColor:
|
|
128
|
+
backgroundColor: message.role === "user" ? VX.surface.subtle : VX.surface.panel,
|
|
98
129
|
borderRadius: VX.radiusCard,
|
|
99
130
|
boxShadow: VX.shadowCard
|
|
100
131
|
},
|
|
101
132
|
children: /* @__PURE__ */ jsxs(Stack, { gap: 6, children: [
|
|
102
133
|
/* @__PURE__ */ jsxs(Group, { gap: 6, align: "center", children: [
|
|
103
|
-
/* @__PURE__ */ jsx(Text, { style: MICRO_LABEL_STYLE, children: ROLE_LABEL[
|
|
104
|
-
streaming && /* @__PURE__ */ jsx(Loader, { size: "xs" })
|
|
134
|
+
/* @__PURE__ */ jsx(Text, { style: MICRO_LABEL_STYLE, children: ROLE_LABEL[message.role] }),
|
|
135
|
+
streaming && /* @__PURE__ */ jsx(Loader, { size: "xs" }),
|
|
136
|
+
finishIndicator !== void 0 && /* @__PURE__ */ jsx(Text, { style: { ...MICRO_LABEL_STYLE, color: finishIndicator.statusToken }, children: finishIndicator.label })
|
|
105
137
|
] }),
|
|
106
|
-
|
|
138
|
+
segments.map(
|
|
139
|
+
(segment) => segment.kind === "agent" ? /* @__PURE__ */ jsx(
|
|
140
|
+
PartList,
|
|
141
|
+
{
|
|
142
|
+
parts: segment.parts,
|
|
143
|
+
components: threadPartRenderers,
|
|
144
|
+
settled
|
|
145
|
+
},
|
|
146
|
+
segment.key
|
|
147
|
+
) : /* @__PURE__ */ jsx(Fragment, { children: segment.render({
|
|
148
|
+
part: segment.part,
|
|
149
|
+
messageId: message.id,
|
|
150
|
+
partId: segment.part.id,
|
|
151
|
+
settled,
|
|
152
|
+
role: message.role
|
|
153
|
+
}) }, segment.key)
|
|
154
|
+
)
|
|
107
155
|
] })
|
|
108
156
|
}
|
|
109
157
|
);
|
|
110
158
|
}
|
|
159
|
+
function areMessageBlockPropsEqual(prev, next) {
|
|
160
|
+
return prev.message === next.message && prev.streaming === next.streaming && prev.renderers === next.renderers && prev.fallbackRenderer === next.fallbackRenderer;
|
|
161
|
+
}
|
|
162
|
+
const MessageBlock = memo(MessageBlockImpl, areMessageBlockPropsEqual);
|
|
163
|
+
const EMPTY_RENDERERS = {};
|
|
111
164
|
function ThreadTranscript({
|
|
112
165
|
messages,
|
|
113
166
|
liveParts,
|
|
114
|
-
liveStatus
|
|
167
|
+
liveStatus,
|
|
168
|
+
renderers: renderersProp,
|
|
169
|
+
fallbackRenderer = DEFAULT_FALLBACK_RENDERER
|
|
115
170
|
}) {
|
|
171
|
+
const renderers = useMemo(() => renderersProp ?? EMPTY_RENDERERS, [renderersProp]);
|
|
172
|
+
const liveMessage = useMemo(() => {
|
|
173
|
+
if (liveParts === void 0 || liveParts.length === 0) return null;
|
|
174
|
+
return { id: "__live__", role: "assistant", parts: liveParts, createdAt: 0 };
|
|
175
|
+
}, [liveParts]);
|
|
116
176
|
return /* @__PURE__ */ jsxs(Stack, { gap: "sm", children: [
|
|
117
|
-
messages.map((message) => /* @__PURE__ */ jsx(
|
|
118
|
-
|
|
177
|
+
messages.map((message) => /* @__PURE__ */ jsx(
|
|
178
|
+
MessageBlock,
|
|
179
|
+
{
|
|
180
|
+
message,
|
|
181
|
+
renderers,
|
|
182
|
+
fallbackRenderer
|
|
183
|
+
},
|
|
184
|
+
message.id
|
|
185
|
+
)),
|
|
186
|
+
liveMessage !== null && /* @__PURE__ */ jsx("div", { "aria-live": "polite", "aria-atomic": "false", "aria-relevant": "additions", children: /* @__PURE__ */ jsx(
|
|
119
187
|
MessageBlock,
|
|
120
188
|
{
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
189
|
+
message: liveMessage,
|
|
190
|
+
streaming: liveStatus === "streaming",
|
|
191
|
+
renderers,
|
|
192
|
+
fallbackRenderer
|
|
124
193
|
}
|
|
125
194
|
) })
|
|
126
195
|
] });
|
|
127
196
|
}
|
|
128
197
|
export {
|
|
129
198
|
ThreadTranscript,
|
|
199
|
+
messageBlockRenderCounter,
|
|
130
200
|
threadPartRenderers
|
|
131
201
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread-message.test.d.ts","sourceRoot":"","sources":["../../src/agent-chat/thread-message.test.tsx"],"names":[],"mappings":""}
|
|
@@ -55,7 +55,7 @@ function ThreadWorkspace({
|
|
|
55
55
|
/* @__PURE__ */ jsx(Box, { p: "sm", children: /* @__PURE__ */ jsx(
|
|
56
56
|
Composer,
|
|
57
57
|
{
|
|
58
|
-
onSubmit: handleNewThread,
|
|
58
|
+
onSubmit: ({ text }) => handleNewThread(text),
|
|
59
59
|
...newThreadPlaceholder !== void 0 ? { placeholder: newThreadPlaceholder } : {}
|
|
60
60
|
}
|
|
61
61
|
) })
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { JSX } from 'react';
|
|
2
|
+
import type { ToolCallPart } from '../agent/index.js';
|
|
3
|
+
export type ToolChipProps = {
|
|
4
|
+
readonly part: ToolCallPart;
|
|
5
|
+
readonly defaultExpanded?: boolean;
|
|
6
|
+
/** Rendered only in 'approval-requested'. Omit both to render a read-only chip. */
|
|
7
|
+
readonly onApprove?: (approvalId: string) => void;
|
|
8
|
+
readonly onDeny?: (approvalId: string, reason?: string) => void;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* A collapsed-by-default row for a single tool-call part. All seven wire states render something
|
|
12
|
+
* sane; the switch above still gates an eighth (compile-time-unhandled) state as a tsc error via a
|
|
13
|
+
* `const _: never = part` assignment, but unlike a truly-closed switch, its `default` branch never
|
|
14
|
+
* throws at RUNTIME — a value from persisted/wire data that reaches here with a `state` this build
|
|
15
|
+
* doesn't recognize renders an inert 'unknown' chip instead of blanking the transcript.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* <ToolChip part={part} />
|
|
19
|
+
*/
|
|
20
|
+
export declare function ToolChip({ part, defaultExpanded, onApprove, onDeny, }: ToolChipProps): JSX.Element;
|
|
21
|
+
//# sourceMappingURL=tool-chip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-chip.d.ts","sourceRoot":"","sources":["../../src/agent-chat/tool-chip.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AA4E5C,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,mFAAmF;IACnF,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAChE,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,eAAuB,EACvB,SAAS,EACT,MAAM,GACP,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CAiG7B"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Button, Collapse, Group, Stack, Text, UnstyledButton } from "@mantine/core";
|
|
3
|
+
import { useDisclosure } from "@mantine/hooks";
|
|
4
|
+
import { isToolCallSettled } from "../agent/index.js";
|
|
5
|
+
import { alpha, VX } from "../tokens/index.js";
|
|
6
|
+
const MICRO_LABEL_STYLE = {
|
|
7
|
+
fontFamily: "var(--basalt-font-mono)",
|
|
8
|
+
fontSize: VX.text.micro,
|
|
9
|
+
fontWeight: 500,
|
|
10
|
+
letterSpacing: "0.06em",
|
|
11
|
+
textTransform: "uppercase",
|
|
12
|
+
color: VX.faint
|
|
13
|
+
};
|
|
14
|
+
const RAIL_STYLE = {
|
|
15
|
+
borderLeft: `2px solid ${VX.divider}`,
|
|
16
|
+
paddingLeft: "var(--vx-space-agent-rail-inset-x)"
|
|
17
|
+
};
|
|
18
|
+
const CODE_BLOCK_STYLE = {
|
|
19
|
+
margin: 0,
|
|
20
|
+
marginTop: "var(--vx-space-agent-part-gap-top)",
|
|
21
|
+
fontFamily: "var(--basalt-font-mono)",
|
|
22
|
+
backgroundColor: alpha(VX.ink, 0.06),
|
|
23
|
+
borderRadius: "var(--vx-radius-card)",
|
|
24
|
+
padding: "var(--vx-space-agent-code-inset)",
|
|
25
|
+
whiteSpace: "pre-wrap",
|
|
26
|
+
overflowWrap: "anywhere"
|
|
27
|
+
};
|
|
28
|
+
function stateMeta(part) {
|
|
29
|
+
switch (part.state) {
|
|
30
|
+
case "input-streaming":
|
|
31
|
+
return { label: "streaming", dotToken: VX.status.neutral };
|
|
32
|
+
case "input-available":
|
|
33
|
+
return { label: "running", dotToken: VX.status.neutral };
|
|
34
|
+
case "approval-requested":
|
|
35
|
+
return { label: "needs approval", dotToken: VX.status.warn };
|
|
36
|
+
case "approval-responded":
|
|
37
|
+
return part.approval.approved ? { label: "approved", dotToken: VX.status.neutral } : { label: "declined", dotToken: VX.status.bad };
|
|
38
|
+
case "output-available":
|
|
39
|
+
return part.preliminary === true ? { label: "preliminary", dotToken: VX.status.warn } : { label: "done", dotToken: VX.status.good };
|
|
40
|
+
case "output-error":
|
|
41
|
+
return { label: "error", dotToken: VX.status.bad };
|
|
42
|
+
case "output-denied":
|
|
43
|
+
return { label: "denied", dotToken: VX.status.bad };
|
|
44
|
+
default: {
|
|
45
|
+
const exhaustive = part;
|
|
46
|
+
void exhaustive;
|
|
47
|
+
return { label: "unknown", dotToken: VX.status.neutral };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function formatDuration(ms) {
|
|
52
|
+
return ms >= 1e3 ? `${(ms / 1e3).toFixed(1)}s` : `${Math.round(ms)}ms`;
|
|
53
|
+
}
|
|
54
|
+
function ToolChip({
|
|
55
|
+
part,
|
|
56
|
+
defaultExpanded = false,
|
|
57
|
+
onApprove,
|
|
58
|
+
onDeny
|
|
59
|
+
}) {
|
|
60
|
+
const [expanded, { toggle }] = useDisclosure(defaultExpanded);
|
|
61
|
+
const { label, dotToken } = stateMeta(part);
|
|
62
|
+
const settled = isToolCallSettled(part);
|
|
63
|
+
const input = "input" in part ? part.input : void 0;
|
|
64
|
+
const rawInput = part.state === "output-error" ? part.rawInput : void 0;
|
|
65
|
+
return /* @__PURE__ */ jsx(Box, { style: RAIL_STYLE, children: /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
|
|
66
|
+
/* @__PURE__ */ jsx(UnstyledButton, { onClick: toggle, children: /* @__PURE__ */ jsxs(Group, { gap: 6, align: "center", wrap: "nowrap", children: [
|
|
67
|
+
/* @__PURE__ */ jsx(
|
|
68
|
+
Box,
|
|
69
|
+
{
|
|
70
|
+
"aria-hidden": true,
|
|
71
|
+
style: {
|
|
72
|
+
width: 6,
|
|
73
|
+
height: 6,
|
|
74
|
+
flexShrink: 0,
|
|
75
|
+
borderRadius: "50%",
|
|
76
|
+
// theme-allow: a 6px state dot is a circle, not a surface corner — no radius token expresses it
|
|
77
|
+
backgroundColor: dotToken
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
),
|
|
81
|
+
/* @__PURE__ */ jsx(Text, { style: MICRO_LABEL_STYLE, children: part.toolName }),
|
|
82
|
+
/* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: label }),
|
|
83
|
+
part.durationMs !== void 0 && /* @__PURE__ */ jsx(
|
|
84
|
+
Text,
|
|
85
|
+
{
|
|
86
|
+
style: {
|
|
87
|
+
fontFamily: "var(--basalt-font-mono)",
|
|
88
|
+
fontSize: VX.text.micro,
|
|
89
|
+
color: VX.faint
|
|
90
|
+
},
|
|
91
|
+
children: formatDuration(part.durationMs)
|
|
92
|
+
}
|
|
93
|
+
),
|
|
94
|
+
!settled && /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: "\u2026" })
|
|
95
|
+
] }) }),
|
|
96
|
+
/* @__PURE__ */ jsx(Collapse, { expanded, children: /* @__PURE__ */ jsxs(Stack, { gap: 6, children: [
|
|
97
|
+
input !== void 0 && /* @__PURE__ */ jsx(Text, { component: "pre", size: "xs", style: CODE_BLOCK_STYLE, children: JSON.stringify(input, null, 2) }),
|
|
98
|
+
rawInput !== void 0 && /* @__PURE__ */ jsx(Text, { component: "pre", size: "xs", style: CODE_BLOCK_STYLE, children: JSON.stringify(rawInput, null, 2) }),
|
|
99
|
+
part.state === "output-available" && /* @__PURE__ */ jsx(Text, { component: "pre", size: "xs", style: CODE_BLOCK_STYLE, children: JSON.stringify(part.output, null, 2) }),
|
|
100
|
+
part.state === "output-error" && /* @__PURE__ */ jsx(Text, { size: "xs", style: { color: VX.status.bad }, children: part.errorText }),
|
|
101
|
+
part.state === "output-denied" && part.approval.reason !== void 0 && /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: part.approval.reason }),
|
|
102
|
+
part.state === "approval-requested" && (onApprove !== void 0 || onDeny !== void 0) && /* @__PURE__ */ jsxs(Group, { gap: 6, children: [
|
|
103
|
+
onApprove !== void 0 && /* @__PURE__ */ jsx(Button, { size: "compact-sm", onClick: () => onApprove(part.approval.id), children: "Approve" }),
|
|
104
|
+
onDeny !== void 0 && /* @__PURE__ */ jsx(
|
|
105
|
+
Button,
|
|
106
|
+
{
|
|
107
|
+
size: "compact-sm",
|
|
108
|
+
variant: "light",
|
|
109
|
+
color: "red",
|
|
110
|
+
onClick: () => onDeny(part.approval.id),
|
|
111
|
+
children: "Deny"
|
|
112
|
+
}
|
|
113
|
+
)
|
|
114
|
+
] })
|
|
115
|
+
] }) })
|
|
116
|
+
] }) });
|
|
117
|
+
}
|
|
118
|
+
export {
|
|
119
|
+
ToolChip
|
|
120
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-chip.test.d.ts","sourceRoot":"","sources":["../../src/agent-chat/tool-chip.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartFrame.test.d.ts","sourceRoot":"","sources":["../../../src/charts/primitives/ChartFrame.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain.test.d.ts","sourceRoot":"","sources":["../../../src/charts/utils/domain.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-theme.test.d.ts","sourceRoot":"","sources":["../../src/cli/check-theme.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.test.d.ts","sourceRoot":"","sources":["../../src/cli/help.test.ts"],"names":[],"mappings":""}
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-sync.test.d.ts","sourceRoot":"","sources":["../../src/cli/init-sync.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"placement-engine.test.d.ts","sourceRoot":"","sources":["../../src/cli/placement-engine.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tarball-parity.test.d.ts","sourceRoot":"","sources":["../../src/cli/tarball-parity.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-format.test.d.ts","sourceRoot":"","sources":["../../src/cli/template-format.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-ledger.test.d.ts","sourceRoot":"","sources":["../../src/cli/template-ledger.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens-css.test.d.ts","sourceRoot":"","sources":["../../src/cli/tokens-css.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"article-actions.test.d.ts","sourceRoot":"","sources":["../../src/content/article-actions.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"article-model.test.d.ts","sourceRoot":"","sources":["../../src/content/article-model.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-split.test.d.ts","sourceRoot":"","sources":["../../src/content/block-split.test.ts"],"names":[],"mappings":""}
|