@4djs/assistant 0.1.4 → 0.1.6

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/dist/labels.d.ts CHANGED
@@ -111,6 +111,8 @@ export declare const DEFAULT_ASSISTANT_LABELS: {
111
111
  readonly "emptyState.capabilities.query": "Query";
112
112
  readonly "emptyState.capabilities.mutate": "Mutate";
113
113
  readonly "activity.trace": "Trace";
114
+ readonly "activity.copyTrace": "Copy trace";
115
+ readonly "activity.copyTraceSuccess": "Trace copied";
114
116
  readonly "activity.live": "Live";
115
117
  readonly "activity.arguments": "Arguments";
116
118
  readonly "activity.running": "Running…";
@@ -1 +1 @@
1
- {"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../src/labels.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8J3B,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,wBAAwB,CAAC;AAEtE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAEhE,6DAA6D;AAC7D,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAE/D,eAAO,MAAM,oBAAoB,EAE5B,iBAAiB,EAAE,CAAC;AAEzB,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACtC,MAAM,CAIR;AAED,wBAAgB,sBAAsB,CACpC,SAAS,CAAC,EAAE,uBAAuB,GAClC,eAAe,CAEjB"}
1
+ {"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../src/labels.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgK3B,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,wBAAwB,CAAC;AAEtE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAEhE,6DAA6D;AAC7D,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAE/D,eAAO,MAAM,oBAAoB,EAE5B,iBAAiB,EAAE,CAAC;AAEzB,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GACtC,MAAM,CAIR;AAED,wBAAgB,sBAAsB,CACpC,SAAS,CAAC,EAAE,uBAAuB,GAClC,eAAe,CAEjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"MermaidDiagram.d.ts","sourceRoot":"","sources":["../../../src/react/components/MermaidDiagram.tsx"],"names":[],"mappings":"AA0DA,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,SAAiB,EACjB,SAAS,GACV,EAAE,mBAAmB,+BAsErB"}
1
+ {"version":3,"file":"MermaidDiagram.d.ts","sourceRoot":"","sources":["../../../src/react/components/MermaidDiagram.tsx"],"names":[],"mappings":"AA8DA,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,SAAiB,EACjB,SAAS,GACV,EAAE,mBAAmB,+BAsGrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatActivity.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/ChatActivity.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,gBAAgB,EAKtB,MAAM,gCAAgC,CAAC;AAOxC,UAAU,iBAAiB;IACzB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAyOD,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,iBAAiB,sCAgEnE"}
1
+ {"version":3,"file":"ChatActivity.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/ChatActivity.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,gBAAgB,EAMtB,MAAM,gCAAgC,CAAC;AAOxC,UAAU,iBAAiB;IACzB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAkRD,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,iBAAiB,sCAiEnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContextUsageStrip.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/ContextUsageStrip.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AASvE,UAAU,sBAAsB;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,OAAO,EACP,KAAK,EACL,MAAM,EACN,KAAK,EACL,mBAAmB,EACnB,SAAS,GACV,EAAE,sBAAsB,sCA2IxB"}
1
+ {"version":3,"file":"ContextUsageStrip.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/ContextUsageStrip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,KAAK,eAAe,EAAe,MAAM,oBAAoB,CAAC;AAOvE,UAAU,sBAAsB;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,OAAO,EACP,KAAK,EACL,MAAM,EACN,KAAK,EACL,mBAAmB,EACnB,SAAS,GACV,EAAE,sBAAsB,sCA2IxB"}
@@ -1,6 +1,6 @@
1
1
  import type { ContextCategorySegment, ContextUsageBreakdown, ContextUsageCategory } from "../../../core/llm-context-breakdown.js";
2
2
  import { type LlmSessionUsage, type LlmTurnUsage } from "../../../core/llm-usage.js";
3
- import { type AssistantLabels } from "../../../labels.js";
3
+ import type { AssistantLabels } from "../../../labels.js";
4
4
  export declare function resolveUsageBreakdown(input: {
5
5
  turn: LlmTurnUsage | null;
6
6
  baseline: ContextUsageBreakdown | null;
@@ -1 +1 @@
1
- {"version":3,"file":"context-usage-utils.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/context-usage-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,eAAe,EAAe,MAAM,oBAAoB,CAAC;AAWvE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C,GAAG,qBAAqB,GAAG,IAAI,CAiB/B;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,sBAAsB,EAAE,GACjC,sBAAsB,EAAE,CAM1B;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,oBAAoB,EACxB,MAAM,EAAE,eAAe,GACtB,MAAM,CAER;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;;;;;;;;;;;;;;;EAgDA"}
1
+ {"version":3,"file":"context-usage-utils.d.ts","sourceRoot":"","sources":["../../../../src/react/components/chat/context-usage-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,YAAY,EAElB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAW1D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C,GAAG,qBAAqB,GAAG,IAAI,CAiB/B;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,sBAAsB,EAAE,GACjC,sBAAsB,EAAE,CAM1B;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,oBAAoB,EACxB,MAAM,EAAE,eAAe,GACtB,MAAM,CAER;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;;;;;;;;;;;;;;;EAmDA"}
@@ -10,8 +10,8 @@ export { ChatMessageView } from "./components/chat/ChatMessage.js";
10
10
  export { ChatMessageScroll } from "./components/chat/ChatMessageScroll.js";
11
11
  export { ChatReplySuggestions } from "./components/chat/ChatReplySuggestions.js";
12
12
  export { ContextUsageStrip } from "./components/chat/ContextUsageStrip.js";
13
- export { UsageToolbarButtonConnected } from "./components/chat/UsageToolbarButton.js";
14
13
  export { LlmSettingsStrip } from "./components/chat/LlmSettingsStrip.js";
14
+ export { UsageToolbarButtonConnected } from "./components/chat/UsageToolbarButton.js";
15
15
  export { MarkdownContent } from "./components/MarkdownContent.js";
16
16
  export { MermaidDiagram } from "./components/MermaidDiagram.js";
17
17
  export { ModelSelector } from "./components/ModelSelector.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,WAAW,EACX,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,SAAS,EACT,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,gCAAgC,EAChC,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,WAAW,EACX,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,SAAS,EACT,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,gCAAgC,EAChC,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function sanitizeMermaidSource(source: string): string;
2
+ export declare function isMermaidErrorSvg(svg: string): boolean;
3
+ //# sourceMappingURL=sanitize-mermaid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-mermaid.d.ts","sourceRoot":"","sources":["../../../src/react/lib/sanitize-mermaid.ts"],"names":[],"mappings":"AA+CA,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAM5D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMtD"}
package/dist/styles.css CHANGED
@@ -318,6 +318,26 @@
318
318
  height: auto;
319
319
  }
320
320
 
321
+ .markdown-mermaid--loading {
322
+ font-size: 0.75rem;
323
+ color: var(--text-chat-tertiary);
324
+ }
325
+
326
+ .markdown-mermaid--error {
327
+ border-color: color-mix(
328
+ in oklab,
329
+ var(--danger) 35%,
330
+ var(--border-default) 65%
331
+ );
332
+ background: var(--danger-soft);
333
+ }
334
+
335
+ .markdown-mermaid__error {
336
+ margin: 0 0 0.375rem;
337
+ font-size: 0.75rem;
338
+ color: var(--text-danger);
339
+ }
340
+
321
341
  /* ── Assistant chat (aligned with 4d-ai-agents editor) ── */
322
342
  @keyframes assistant-icon-spin {
323
343
  to {
@@ -788,6 +808,30 @@
788
808
  font-variant-numeric: tabular-nums;
789
809
  }
790
810
 
811
+ .assistant-activity__copy {
812
+ display: inline-flex;
813
+ flex-shrink: 0;
814
+ align-items: center;
815
+ justify-content: center;
816
+ width: 1.625rem;
817
+ height: 1.625rem;
818
+ border: 1px solid var(--border-default);
819
+ border-radius: calc(var(--radius-base) - 2px);
820
+ background: var(--surface-panel);
821
+ color: var(--text-chat-secondary);
822
+ cursor: pointer;
823
+ transition:
824
+ background 150ms ease,
825
+ border-color 150ms ease,
826
+ color 150ms ease;
827
+ }
828
+
829
+ .assistant-activity__copy:hover {
830
+ border-color: var(--border-default-medium);
831
+ background: var(--overlay-subtle);
832
+ color: var(--text-heading);
833
+ }
834
+
791
835
  .assistant-activity__steps {
792
836
  list-style: none;
793
837
  margin: 0;
@@ -1047,6 +1091,63 @@
1047
1091
  margin-left: auto;
1048
1092
  }
1049
1093
 
1094
+ /* ── Assistant buttons (self-contained) ── */
1095
+ .assistant-btn {
1096
+ display: inline-flex;
1097
+ align-items: center;
1098
+ justify-content: center;
1099
+ gap: 0.5rem;
1100
+ padding: 0.625rem 1.125rem;
1101
+ border-radius: var(--radius-base, 0.5rem);
1102
+ font-size: 0.875rem;
1103
+ font-weight: 500;
1104
+ font-family: inherit;
1105
+ border: 1px solid transparent;
1106
+ cursor: pointer;
1107
+ transition:
1108
+ background 180ms ease,
1109
+ border-color 180ms ease,
1110
+ color 180ms ease,
1111
+ transform 120ms ease;
1112
+ }
1113
+
1114
+ .assistant-btn:active:not(:disabled) {
1115
+ transform: scale(0.98);
1116
+ }
1117
+
1118
+ .assistant-btn:disabled {
1119
+ opacity: 0.45;
1120
+ cursor: not-allowed;
1121
+ }
1122
+
1123
+ .assistant-btn--primary {
1124
+ background: var(--brand);
1125
+ color: var(--brand-on-surface);
1126
+ }
1127
+
1128
+ .assistant-btn--primary:hover:not(:disabled) {
1129
+ filter: brightness(1.05);
1130
+ }
1131
+
1132
+ .assistant-btn--secondary {
1133
+ background: var(--surface-panel);
1134
+ border-color: var(--border-default);
1135
+ color: var(--text-heading);
1136
+ }
1137
+
1138
+ .assistant-btn--secondary:hover:not(:disabled) {
1139
+ background: var(--overlay-hover);
1140
+ }
1141
+
1142
+ .assistant-btn--ghost {
1143
+ background: transparent;
1144
+ color: var(--text-body);
1145
+ }
1146
+
1147
+ .assistant-btn--ghost:hover:not(:disabled) {
1148
+ background: var(--overlay-hover);
1149
+ }
1150
+
1050
1151
  .assistant-composer__tools .assistant-btn {
1051
1152
  min-width: 1.375rem;
1052
1153
  min-height: 1.375rem;
@@ -2626,63 +2727,6 @@
2626
2727
  border-radius: 0.75rem;
2627
2728
  }
2628
2729
 
2629
- /* ── Assistant buttons (self-contained) ── */
2630
- .assistant-btn {
2631
- display: inline-flex;
2632
- align-items: center;
2633
- justify-content: center;
2634
- gap: 0.5rem;
2635
- padding: 0.625rem 1.125rem;
2636
- border-radius: var(--radius-base, 0.5rem);
2637
- font-size: 0.875rem;
2638
- font-weight: 500;
2639
- font-family: inherit;
2640
- border: 1px solid transparent;
2641
- cursor: pointer;
2642
- transition:
2643
- background 180ms ease,
2644
- border-color 180ms ease,
2645
- color 180ms ease,
2646
- transform 120ms ease;
2647
- }
2648
-
2649
- .assistant-btn:active:not(:disabled) {
2650
- transform: scale(0.98);
2651
- }
2652
-
2653
- .assistant-btn:disabled {
2654
- opacity: 0.45;
2655
- cursor: not-allowed;
2656
- }
2657
-
2658
- .assistant-btn--primary {
2659
- background: var(--brand);
2660
- color: var(--brand-on-surface);
2661
- }
2662
-
2663
- .assistant-btn--primary:hover:not(:disabled) {
2664
- filter: brightness(1.05);
2665
- }
2666
-
2667
- .assistant-btn--secondary {
2668
- background: var(--surface-panel);
2669
- border-color: var(--border-default);
2670
- color: var(--text-heading);
2671
- }
2672
-
2673
- .assistant-btn--secondary:hover:not(:disabled) {
2674
- background: var(--overlay-hover);
2675
- }
2676
-
2677
- .assistant-btn--ghost {
2678
- background: transparent;
2679
- color: var(--text-body);
2680
- }
2681
-
2682
- .assistant-btn--ghost:hover:not(:disabled) {
2683
- background: var(--overlay-hover);
2684
- }
2685
-
2686
2730
  .assistant-input {
2687
2731
  width: 100%;
2688
2732
  padding: 0.375rem 0.625rem;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@4djs/assistant",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "type": "module",
5
5
  "types": "./dist/react/index.d.ts",
6
6
  "files": [