@aparte/core 0.19.3 → 0.21.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 (139) hide show
  1. package/dist/client/aparte-client.d.ts +66 -95
  2. package/dist/client/aparte-client.d.ts.map +1 -1
  3. package/dist/client/stream-adapter.d.ts +7 -13
  4. package/dist/client/stream-adapter.d.ts.map +1 -1
  5. package/dist/client/wire-history.d.ts +4 -5
  6. package/dist/client/wire-history.d.ts.map +1 -1
  7. package/dist/components/bubble/aparte-chat-bubble.d.ts +88 -57
  8. package/dist/components/bubble/aparte-chat-bubble.d.ts.map +1 -1
  9. package/dist/components/chat/aparte-chat.d.ts +15 -13
  10. package/dist/components/chat/aparte-chat.d.ts.map +1 -1
  11. package/dist/components/chat/glide-gate.d.ts +13 -0
  12. package/dist/components/chat/glide-gate.d.ts.map +1 -0
  13. package/dist/components/composer/aparte-composer-action.d.ts +2 -2
  14. package/dist/components/composer/aparte-composer-add-attachment.d.ts +1 -1
  15. package/dist/components/composer/aparte-composer-input.d.ts +1 -5
  16. package/dist/components/composer/aparte-composer-input.d.ts.map +1 -1
  17. package/dist/components/composer/aparte-composer-send.d.ts +8 -10
  18. package/dist/components/composer/aparte-composer-send.d.ts.map +1 -1
  19. package/dist/components/composer/aparte-composer.d.ts +48 -80
  20. package/dist/components/composer/aparte-composer.d.ts.map +1 -1
  21. package/dist/components/context/aparte-context.d.ts +9 -4
  22. package/dist/components/context/aparte-context.d.ts.map +1 -1
  23. package/dist/components/conversation-list/aparte-conversation-list.d.ts +23 -13
  24. package/dist/components/conversation-list/aparte-conversation-list.d.ts.map +1 -1
  25. package/dist/components/elicitation/aparte-elicitation.d.ts +15 -22
  26. package/dist/components/elicitation/aparte-elicitation.d.ts.map +1 -1
  27. package/dist/components/scroll-rail/aparte-scroll-rail.d.ts +10 -11
  28. package/dist/components/scroll-rail/aparte-scroll-rail.d.ts.map +1 -1
  29. package/dist/components/sidebar/aparte-sidebar.d.ts +16 -3
  30. package/dist/components/sidebar/aparte-sidebar.d.ts.map +1 -1
  31. package/dist/components/split/aparte-split.d.ts +12 -3
  32. package/dist/components/split/aparte-split.d.ts.map +1 -1
  33. package/dist/components/status/aparte-chat-status.d.ts.map +1 -1
  34. package/dist/components/suggestions/aparte-suggestions.d.ts +6 -9
  35. package/dist/components/suggestions/aparte-suggestions.d.ts.map +1 -1
  36. package/dist/components/viewport/aparte-chat-viewport.d.ts +70 -70
  37. package/dist/components/viewport/aparte-chat-viewport.d.ts.map +1 -1
  38. package/dist/config/aparte-config.d.ts +88 -67
  39. package/dist/config/aparte-config.d.ts.map +1 -1
  40. package/dist/config/icon-provider.d.ts +19 -2
  41. package/dist/config/icon-provider.d.ts.map +1 -1
  42. package/dist/config/index.d.ts +1 -1
  43. package/dist/config/index.d.ts.map +1 -1
  44. package/dist/config/locale.d.ts +57 -89
  45. package/dist/config/locale.d.ts.map +1 -1
  46. package/dist/config/sanitize.d.ts.map +1 -1
  47. package/dist/conversations/conversation-controller.d.ts +18 -3
  48. package/dist/conversations/conversation-controller.d.ts.map +1 -1
  49. package/dist/conversations/conversation-manager.d.ts +3 -3
  50. package/dist/conversations/conversation-manager.d.ts.map +1 -1
  51. package/dist/custom-elements.json +7626 -6906
  52. package/dist/{dialog-triggers-ChnPFG9M.js → dialog-triggers-3Rk7PuZa.js} +444 -287
  53. package/dist/dialog-triggers-3Rk7PuZa.js.map +1 -0
  54. package/dist/elicitation/approval-panel.d.ts.map +1 -1
  55. package/dist/elicitation/index.d.ts +6 -1
  56. package/dist/elicitation/index.d.ts.map +1 -1
  57. package/dist/elicitation/panel.d.ts +11 -21
  58. package/dist/elicitation/panel.d.ts.map +1 -1
  59. package/dist/elicitation/types.d.ts +19 -27
  60. package/dist/elicitation/types.d.ts.map +1 -1
  61. package/dist/generated/element-attributes.d.ts +11 -5
  62. package/dist/generated/element-attributes.d.ts.map +1 -1
  63. package/dist/host/aparte-chat-host.d.ts +17 -32
  64. package/dist/host/aparte-chat-host.d.ts.map +1 -1
  65. package/dist/icons/extended.d.ts +1 -2
  66. package/dist/icons/extended.d.ts.map +1 -1
  67. package/dist/icons.d.ts +6 -8
  68. package/dist/icons.d.ts.map +1 -1
  69. package/dist/icons.js.map +1 -1
  70. package/dist/index.css +1 -1
  71. package/dist/index.d.ts +12 -9
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +682 -327
  74. package/dist/index.js.map +1 -1
  75. package/dist/index.node.d.ts +6 -3
  76. package/dist/index.node.d.ts.map +1 -1
  77. package/dist/index.node.js +2 -2
  78. package/dist/index.node.js.map +1 -1
  79. package/dist/interop/dialog-triggers.d.ts +2 -2
  80. package/dist/interop/element-props.d.ts +16 -27
  81. package/dist/interop/element-props.d.ts.map +1 -1
  82. package/dist/primitives/icon/aparte-icon.d.ts.map +1 -1
  83. package/dist/primitives/select/aparte-option.d.ts +3 -2
  84. package/dist/primitives/select/aparte-option.d.ts.map +1 -1
  85. package/dist/primitives/select/aparte-select.d.ts +24 -21
  86. package/dist/primitives/select/aparte-select.d.ts.map +1 -1
  87. package/dist/renderers/markdown-stream.d.ts.map +1 -1
  88. package/dist/renderers/segment-renderers.d.ts +11 -17
  89. package/dist/renderers/segment-renderers.d.ts.map +1 -1
  90. package/dist/renderers/segments/code.d.ts.map +1 -1
  91. package/dist/renderers/segments/error.d.ts.map +1 -1
  92. package/dist/renderers/segments/text.d.ts.map +1 -1
  93. package/dist/renderers/segments/tool-call.d.ts.map +1 -1
  94. package/dist/runtime/message-repository.d.ts +8 -15
  95. package/dist/runtime/message-repository.d.ts.map +1 -1
  96. package/dist/transport/backend-handler.d.ts +4 -6
  97. package/dist/transport/backend-handler.d.ts.map +1 -1
  98. package/dist/transport/backend-transport.d.ts +14 -0
  99. package/dist/transport/backend-transport.d.ts.map +1 -1
  100. package/dist/transport/types.d.ts +7 -10
  101. package/dist/transport/types.d.ts.map +1 -1
  102. package/dist/types/chat.d.ts +10 -18
  103. package/dist/types/chat.d.ts.map +1 -1
  104. package/dist/types/element-attributes.d.ts +6 -12
  105. package/dist/types/element-attributes.d.ts.map +1 -1
  106. package/dist/types/element-map.d.ts +6 -19
  107. package/dist/types/element-map.d.ts.map +1 -1
  108. package/dist/types/event-map.d.ts +11 -17
  109. package/dist/types/event-map.d.ts.map +1 -1
  110. package/dist/types/events.d.ts +5 -14
  111. package/dist/types/events.d.ts.map +1 -1
  112. package/dist/types/index.d.ts +2 -2
  113. package/dist/types/index.d.ts.map +1 -1
  114. package/dist/types/model-provider.d.ts +7 -9
  115. package/dist/types/model-provider.d.ts.map +1 -1
  116. package/dist/types/segments.d.ts +21 -13
  117. package/dist/types/segments.d.ts.map +1 -1
  118. package/dist/types/tools.d.ts +20 -22
  119. package/dist/types/tools.d.ts.map +1 -1
  120. package/dist/utils/copy-text.d.ts +1 -2
  121. package/dist/utils/copy-text.d.ts.map +1 -1
  122. package/dist/utils/css-escape.d.ts +1 -1
  123. package/dist/utils/escape.d.ts +4 -19
  124. package/dist/utils/escape.d.ts.map +1 -1
  125. package/dist/utils/files-to-attachments.d.ts +2 -2
  126. package/dist/utils/fold-text.d.ts +13 -0
  127. package/dist/utils/fold-text.d.ts.map +1 -0
  128. package/dist/utils/is-awaiting-reply.d.ts +2 -5
  129. package/dist/utils/is-awaiting-reply.d.ts.map +1 -1
  130. package/dist/utils/presence.d.ts +5 -5
  131. package/dist/utils/segments.d.ts +54 -78
  132. package/dist/utils/segments.d.ts.map +1 -1
  133. package/dist/utils/tool-input.d.ts +1 -1
  134. package/dist/utils/tool-input.d.ts.map +1 -1
  135. package/dist/utils/transcript.d.ts +2 -2
  136. package/dist/utils/uuid.d.ts +0 -11
  137. package/dist/utils/uuid.d.ts.map +1 -1
  138. package/package.json +29 -3
  139. package/dist/dialog-triggers-ChnPFG9M.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"approval-panel.d.ts","sourceRoot":"","sources":["../../src/elicitation/approval-panel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAI7E,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3D,oEAAoE;IACpE,UAAU,IAAI,oBAAoB,CAAC;IACnC,uDAAuD;IACvD,UAAU,IAAI,OAAO,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;IACd,6DAA6D;IAC7D,OAAO,IAAI,IAAI,CAAC;CACnB;AAeD,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,EAChC,OAAO,EAAE,SAAS,oBAAoB,EAAE,EACxC,QAAQ,EAAE,MAAM,IAAI,EACpB,OAAO,CAAC,EAAE,MAAM,GACjB,kBAAkB,CAmJpB"}
1
+ {"version":3,"file":"approval-panel.d.ts","sourceRoot":"","sources":["../../src/elicitation/approval-panel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAI7E,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,GAAG,IAAI,CAAC;IAC3D,oEAAoE;IACpE,UAAU,IAAI,oBAAoB,CAAC;IACnC,uDAAuD;IACvD,UAAU,IAAI,OAAO,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;IACd,6DAA6D;IAC7D,OAAO,IAAI,IAAI,CAAC;CACnB;AAeD,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,EAChC,OAAO,EAAE,SAAS,oBAAoB,EAAE,EACxC,QAAQ,EAAE,MAAM,IAAI,EACpB,OAAO,CAAC,EAAE,MAAM,GACjB,kBAAkB,CA0JpB"}
@@ -17,7 +17,12 @@ export type { BuiltApprovalPanel } from './approval-panel.js';
17
17
  /**
18
18
  * Ask the user for typed input and await their response, on the config
19
19
  * governing `request.target` (its instance config, or the global default).
20
- * Resolves `accept` / `decline` / `cancel`.
20
+ *
21
+ * Resolves `accept` with the value, or `decline` when the person declines. Rejects,
22
+ * with no answer, with an {@link AparteElicitationAbortError} whose `reason` is
23
+ * `'aborted'` (the turn was stopped, the signal fired, or another request took the
24
+ * question away) or `'no-presenter'` (nothing is mounted to ask it): `await` it in a
25
+ * `try`, or attach a `.catch()`.
21
26
  */
22
27
  export declare function requestUserInput(request: AparteElicitationRequest): Promise<AparteElicitationResult>;
23
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/elicitation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEpF,YAAY,EACR,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAEpG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/elicitation/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEpF,YAAY,EACR,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAEpG"}
@@ -11,17 +11,11 @@ export interface BuiltElicitationPanel {
11
11
  * The corner where the presenter puts its escape from the WHOLE request.
12
12
  *
13
13
  * Top-right, away from anything that answers a question — and the position is the
14
- * whole point. This affordance lived in a row at the bottom, beside the button
15
- * that advances through the form, and adjacency made a promise the behaviour does
16
- * not keep: next to "next question", "Skip" reads as "skip THIS question", while
17
- * it declines everything (MCP's `decline`, including questions already answered).
14
+ * whole point. Beside the button that advances through the form, "Skip" would read
15
+ * as "skip THIS question", while it declines everything (MCP's `decline`,
16
+ * including questions already answered).
18
17
  *
19
- * That is also why the reference implementations put theirs in a corner, which I
20
- * had read as a preference for the glyph. It is not about the glyph.
21
- *
22
- * A row at the bottom is gone with it, and so is the reserved height it needed:
23
- * with the composer's own button carrying advance-then-submit, the panel has no
24
- * action of its own left to place.
18
+ * The panel has no action row of its own: the composer's button carries submit.
25
19
  */
26
20
  readonly dismiss: HTMLElement;
27
21
  /** The current response content, shaped to match the schema. */
@@ -34,14 +28,10 @@ export interface BuiltElicitationPanel {
34
28
  * What the composer's one button means for this panel: `'submit'`, or `'none'`
35
29
  * when the panel has no act for it and it should not be drawn.
36
30
  *
37
- * It used to have a third value, `'advance'`, while a form had more questions
38
- * ahead: the button turned into a chevron and moved to the next question. That
39
- * was a second way to do what a chip already does — the chips ARE the navigation,
40
- * forwards and back — and a button that changes meaning under the pointer is one
41
- * more thing to explain. The reference products settle it the same way: a click
42
- * on a choice selects, a tab switches question, one button submits the lot. So
43
- * the button means submit throughout, enabled once every question has an answer,
44
- * which is what `canProceed()` reports.
31
+ * The chips ARE the navigation through a form's questions, forwards and back: a
32
+ * click on a choice selects, a tab switches question, one button submits the lot.
33
+ * So the button means submit throughout, enabled once every question has an
34
+ * answer, which is what `canProceed()` reports.
45
35
  *
46
36
  * `'none'` is for the shape where the button has no meaning at all: a single
47
37
  * question whose options settle on the click. Assignable to the composer's
@@ -58,14 +48,14 @@ export interface BuiltElicitationPanel {
58
48
  * Settled from INSIDE the panel: an option was clicked and that click is the
59
49
  * whole answer. The value is the content, shaped like `getContent()`.
60
50
  *
61
- * The same contract `BuiltApprovalPanel.onSettle` already has, and presented by
62
- * the same path — because it is the same act. A single-choice question is one
51
+ * The same contract as `BuiltApprovalPanel.onSettle`, presented by the same path —
52
+ * because it is the same act. A single-choice question is one
63
53
  * gesture, not a value you pick and then submit: WCAG's SC 3.2.2 and its F36
64
54
  * failure are about auto-submitting a form when an INPUT is set, which is why
65
55
  * these options are buttons rather than radios that fire on change.
66
56
  *
67
57
  * Only ever called for that shape. A form, a multi-select and a text field all
68
- * collect a value and resolve through the composer's button as before.
58
+ * collect a value and resolve through the composer's button.
69
59
  */
70
60
  onSettle(cb: (content: unknown) => void): void;
71
61
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/elicitation/panel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACR,uBAAuB,EAK1B,MAAM,YAAY,CAAC;AAWpB,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,gEAAgE;IAChE,UAAU,IAAI,OAAO,CAAC;IACtB,yDAAyD;IACzD,UAAU,IAAI,OAAO,CAAC;IACtB,kDAAkD;IAClD,KAAK,IAAI,IAAI,CAAC;IACd;;;;;;;;;;;;;;;;;;OAkBG;IACH,IAAI,IAAI,QAAQ,GAAG,MAAM,CAAC;IAC1B,wEAAwE;IACxE,UAAU,IAAI,OAAO,CAAC;IACtB,mGAAmG;IACnG,OAAO,IAAI,IAAI,CAAC;IAChB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/C;;;;;;;;;;;OAWG;IACH,OAAO,IAAI,IAAI,CAAC;CACnB;AAyCD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,WAAW,CAalG;AA8aD,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,EAChC,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,EAAE,MAAM,IAAI,GACrB,qBAAqB,CAevB"}
1
+ {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/elicitation/panel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACR,uBAAuB,EAK1B,MAAM,YAAY,CAAC;AAWpB,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB;;;;;;;;;OASG;IACH,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,gEAAgE;IAChE,UAAU,IAAI,OAAO,CAAC;IACtB,yDAAyD;IACzD,UAAU,IAAI,OAAO,CAAC;IACtB,kDAAkD;IAClD,KAAK,IAAI,IAAI,CAAC;IACd;;;;;;;;;;;;;;OAcG;IACH,IAAI,IAAI,QAAQ,GAAG,MAAM,CAAC;IAC1B,wEAAwE;IACxE,UAAU,IAAI,OAAO,CAAC;IACtB,mGAAmG;IACnG,OAAO,IAAI,IAAI,CAAC;IAChB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/C;;;;;;;;;;;OAWG;IACH,OAAO,IAAI,IAAI,CAAC;CACnB;AAyCD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,WAAW,CAalG;AA6aD,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,EAChC,MAAM,EAAE,uBAAuB,EAC/B,QAAQ,EAAE,MAAM,IAAI,GACrB,qBAAqB,CAevB"}
@@ -91,10 +91,9 @@ export interface AparteElicitationRequest {
91
91
  /**
92
92
  * The sentence above everything else. A string, or a function re-read on relabel.
93
93
  *
94
- * Same reason as an option's `label`, and I shipped the two an hour apart because I
95
- * fixed the choices and left the QUESTION behind — a panel asking "Run delete_file?"
96
- * over buttons reading "Approuver" and "Rejeter". A resolved string has nothing to
97
- * re-derive from.
94
+ * Same reason as an option's `label`: the question has to follow a language switch
95
+ * too, or a panel asks "Run delete_file?" over buttons in another language. A
96
+ * resolved string has nothing to re-derive from.
98
97
  *
99
98
  * A function only makes sense when the text comes from the LOCALE, which is core's
100
99
  * own approval question. A tool's question is model-authored: it is a string, and
@@ -105,11 +104,9 @@ export interface AparteElicitationRequest {
105
104
  * The body under the question: what is actually being decided.
106
105
  *
107
106
  * TEXT, and shown as text — a preformatted block the panel renders through
108
- * `textContent`. It exists because the approval panel used to show the tool's
109
- * NAME and nothing else, while the arguments the model chose — the thing a person
110
- * is being asked to approve — stayed in the transcript row behind a closed
111
- * disclosure. A decision surface that omits what is being decided is asking for a
112
- * signature on a blank page.
107
+ * `textContent`. It carries what a person is being asked to approve (for a tool,
108
+ * the arguments the model chose), so the decision surface shows what is being
109
+ * decided and not only the tool's name.
113
110
  *
114
111
  * Not markup, and not a render hook: the content here is model-authored, so the
115
112
  * string arm of a hook would be a model-to-DOM XSS on the highest-stakes control
@@ -159,8 +156,8 @@ export interface AparteElicitationRequest {
159
156
  *
160
157
  * The requester writes the LABEL, always. Core cannot know that "and always for git
161
158
  * commands" is meaningful, or that this workspace has somewhere to remember it — so an
162
- * option offering a scope exists only because the host built it and can honour it
163
- * (ratified decision #8). Two options may share a `value` and differ only in scope,
159
+ * option offering a scope exists only because the host built it and can honour it.
160
+ * Two options may share a `value` and differ only in scope,
164
161
  * which is what "Yes" and "Yes, and always for X" are: the same verdict, a different
165
162
  * reach.
166
163
  */
@@ -184,12 +181,11 @@ export interface AparteApprovalOption {
184
181
  /**
185
182
  * What choosing it commits to, drawn under the label — the scope of an "always".
186
183
  *
187
- * A label can say "Always allow" and not what that reaches: one host remembered
188
- * the first word of a command (`git`, for `git status`) while the button said
189
- * "Always allow", so the user authorised every git command believing they had
190
- * authorised one. The panel could not show the difference, because an option had
191
- * nowhere to put it. Two options that differ only in reach now differ on screen:
192
- * `description: 'git status'` beside `description: 'git *'`.
184
+ * A label can say "Always allow" and not what that reaches: a host that remembers
185
+ * only the first word of a command (`git`, for `git status`) would have the user
186
+ * authorise every git command believing they had authorised one. Two options that
187
+ * differ only in reach differ on screen: `description: 'git status'` beside
188
+ * `description: 'git *'`.
193
189
  *
194
190
  * Same two arms as `label`, for the same reason: it follows a language switch
195
191
  * while the request is open.
@@ -207,7 +203,7 @@ export interface AparteApprovalOption {
207
203
  * `instruction` is the free-text arm — "no, do this instead" — and it is a separate
208
204
  * field rather than a magic `option` value because only the host can name its options,
209
205
  * and this text is the user's. It reaches the model as the refusal's reason, which is
210
- * possible at all only because a refusal now hands the model a turn to read it in.
206
+ * possible because a refusal hands the model a turn to read it in.
211
207
  */
212
208
  export interface AparteApprovalAnswer {
213
209
  /** The `value` of the option chosen, or `undefined` when only text was given. */
@@ -230,17 +226,13 @@ export type AparteElicitationResult = {
230
226
  * The request ended without an answer: the turn was stopped, the signal fired, the
231
227
  * question was taken away by another request, or nothing was mounted to ask it.
232
228
  *
233
- * A THROW, and not a third member of {@link AparteElicitationResult}. `cancel` was a
234
- * VALUE, so it was easy to handle as though it were an answer — and that is exactly
235
- * what happened: the approval gate treated it as a refusal, stamped the segment
236
- * `rejected`, and told the model "Tool execution was rejected by the user." The user
237
- * had pressed Stop. A rejection cannot be mistaken for a decision by a caller that
238
- * forgot a branch, which is the property `cancel` never had.
229
+ * A THROW, and not a third member of {@link AparteElicitationResult}. A value is easy
230
+ * to handle as though it were an answer: a cancelled request read as a refusal would
231
+ * tell the model "Tool execution was rejected by the user." when the user had pressed
232
+ * Stop. A rejection cannot be mistaken for a decision by a caller that forgot a branch.
239
233
  *
240
234
  * `name` is `'AbortError'`, so every `err.name === 'AbortError'` check already written
241
- * treats it correctly — including `askUserHandler`, which used to perform this exact
242
- * conversion by hand. That hand-conversion existing is the evidence the shape is
243
- * right, and it is gone.
235
+ * treats it correctly.
244
236
  */
245
237
  export declare class AparteElicitationAbortError extends DOMException {
246
238
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/elicitation/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/elicitation/types.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,8 @@ export interface AparteChatAttributes {
12
12
  'center-empty'?: boolean;
13
13
  /** Reflected BY the element while its viewport holds no `<aparte-chat-bubble>` and is not `loading` — set again when the conversation is cleared. With or without `center-empty`: the stylesheet centers the composer through `aparte-chat[center-empty][data-empty]`, and an app styles or scripts its own empty state against `aparte-chat[data-empty]`. Read-only. */
14
14
  'data-empty'?: boolean;
15
+ /** Reflected BY the element at the first key or pointer in the page, or the first send: from then on `center-empty` slides the composer between the welcome and the conversation. Before it, a conversation a script restores on load lands in one frame. Read-only. */
16
+ 'data-glide'?: boolean;
15
17
  /** The ChatGPT anatomy, opt-in: the transcript's scroll surface spans the whole column and the composer (with the rest of the bottom stack) floats over it, so the scrollbar runs edge to edge instead of stopping at the composer's top. The viewport measures the stack and publishes `--aparte-bottom-inset`; content, spacer and the scroll button clear it. Read when the viewport wires its observers — set it in the initial markup. Also honoured on a wrapper's `[data-aparte-chat]` root. */
16
18
  'overlay-composer'?: boolean;
17
19
  /** The wrapper's explicit hands-off signal: set it and this element composes none of its own children, because the framework owns them. Read once at connect (it is not observed), so it has to be in the initial markup. Angular's wrapper sets it on this element — its component selector IS `aparte-chat`; React/Vue/Svelte render a `[data-aparte-chat]` div and never create this element at all. */
@@ -19,7 +21,7 @@ export interface AparteChatAttributes {
19
21
  }
20
22
  /** `<aparte-chat-bubble>` — One message: plain content or a list of rich segments, in light DOM. */
21
23
  export interface AparteChatBubbleAttributes {
22
- /** The message role, `user` or `assistant` — the one channel for it, and what the CSS keys off. (`role` is ARIA's attribute; this element sets it to `article` itself and no longer reads a message role from it.) */
24
+ /** The message role, `user` or `assistant` — the one channel for it, and what the CSS keys off. (`role` is ARIA's attribute; this element sets it to `article` itself and does not read a message role from it.) */
23
25
  'data-role'?: string;
24
26
  /** Plain text content, for a bubble with no segments. */
25
27
  content?: string;
@@ -29,7 +31,7 @@ export interface AparteChatBubbleAttributes {
29
31
  'message-id'?: string;
30
32
  /** Hides the action bar and shows the caret while a reply is in flight. */
31
33
  streaming?: boolean;
32
- /** The display name in the header. */
34
+ /** Who wrote the message: shown in the header, and the message's accessible name ("Message from {name}"). Leave it out for the reader and the assistant, whose names come from the locale. */
33
35
  name?: string;
34
36
  }
35
37
  /** `<aparte-chat-status>` — A standalone status line — a light-DOM indicator the APP owns. Nothing in core turns it on: the framework host only ever flips it back OFF (on the first streamed token), and the four wrappers render one inside the viewport driven by their own `isTyping` prop. */
@@ -60,7 +62,7 @@ export interface AparteComposerAttributes {
60
62
  disabled?: boolean;
61
63
  /** The id of the `<aparte-chat>` this composer drives. */
62
64
  target?: string;
63
- /** Enter sends and Shift+Enter breaks the line (the default); set it to the string `"false"` to swap them. Read lazily by the `submitOnEnter` getter rather than observed, which is why it was missing from the manifest — and so from every typed surface — while all four wrappers wrote it. */
65
+ /** Enter sends and Shift+Enter breaks the line (the default); set it to the string `"false"` to swap them. Read lazily by the `submitOnEnter` getter rather than observed. */
64
66
  'submit-on-enter'?: boolean | 'false';
65
67
  /** Reflected BY the element while a panel (an elicitation, an approval) is mounted inside it; the shipped stylesheet keys off it. Read-only. */
66
68
  'data-panel-active'?: boolean;
@@ -71,7 +73,7 @@ export interface AparteComposerAttributes {
71
73
  }
72
74
  /** `<aparte-composer-action>` — Generic action button primitive for `<aparte-composer>`. */
73
75
  export interface AparteComposerActionAttributes {
74
- /** Icon key for aparteGlobalConfig.getIcon(), or raw SVG/HTML starting with `<`. A key core's glyph set does not hold renders AS TEXT (`icon="star"` draws the word *star*), so bring your own set through `setIconProvider` or pass the SVG. */
76
+ /** Icon key for aparteGlobalConfig.getIcon(), or raw SVG/HTML starting with `<`. A key the icon set does not hold renders AS TEXT (`icon="star"` draws the word *star*), so add it with `registerIcons` or pass the SVG. */
75
77
  icon?: string;
76
78
  /** Accessible label (also used as tooltip) */
77
79
  label?: string;
@@ -117,6 +119,8 @@ export interface AparteContextAttributes {
117
119
  target?: string;
118
120
  /** `bar` (default) or `ring`: a progress bar with the reading beside it, or a ring with the percentage. */
119
121
  variant?: string;
122
+ /** Tokens in use before a turn of this page has reported any: a restored conversation's last usage. The next turn's usage replaces it. */
123
+ used?: number;
120
124
  /** Dispatch `aparte-compact` on each turn that ends in `danger`, one request at a time. */
121
125
  'auto-compact'?: boolean;
122
126
  /** Reflected BY the element: `ok`, `warn` or `danger`. Read-only. */
@@ -134,6 +138,8 @@ export interface AparteConversationListAttributes {
134
138
  loading?: boolean;
135
139
  /** Let the list finish the gesture: rename, pin, unpin, archive, unarchive and delete are performed on the conversation manager registered with `setConversationManager()`, instead of leaving you six listeners to write. The event still fires first, and `preventDefault()` on it takes the gesture back. Off by default, and selecting stays yours either way. */
136
140
  manage?: boolean;
141
+ /** Reflected BY the element while `filter()` holds a query no title matches. Read-only. */
142
+ 'data-no-match'?: boolean;
137
143
  }
138
144
  /** `<aparte-icon>` — AparteIcon */
139
145
  export interface AparteIconAttributes {
@@ -184,7 +190,7 @@ export interface AparteSelectAttributes {
184
190
  placeholder?: string;
185
191
  /** Blocks opening the dropdown. */
186
192
  disabled?: boolean;
187
- /** Adds a filter field above the options. Read on the first render only. */
193
+ /** Adds a filter field above the options. Set or removed later, the field comes or goes. */
188
194
  searchable?: boolean;
189
195
  /** Reflects (and controls) whether the dropdown is open. */
190
196
  open?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"element-attributes.d.ts","sourceRoot":"","sources":["../../src/generated/element-attributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element-attributes.d.ts","sourceRoot":"","sources":["../../src/generated/element-attributes.ts"],"names":[],"mappings":"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"}
@@ -35,10 +35,9 @@ export interface AparteChatHostBinding {
35
35
  * skeleton, the empty state kept off, the composer disabled.
36
36
  *
37
37
  * Declaring it makes the wait YOURS, `aria-busy` included: the host stops writing the
38
- * viewport's `loading` attribute and leaves it to you, because two writers with two
39
- * ideas of when the wait ends is how a wrapper came to draw a skeleton over a
40
- * transcript the attribute said had arrived. A binding without this callback keeps
41
- * the attribute written for it.
38
+ * viewport's `loading` attribute and leaves it to you, so two writers never disagree
39
+ * about when the wait ends. A binding without this callback keeps the attribute
40
+ * written for it.
42
41
  */
43
42
  onLoadingChange?(loading: boolean): void;
44
43
  }
@@ -150,11 +149,8 @@ export declare class AparteChatHost {
150
149
  * the same direct path `appendToken` uses;
151
150
  * 2. into the framework's message list, **coalesced to once per frame**.
152
151
  *
153
- * It used to do only (2), synchronously: a full list rebuild plus
154
- * `setMessages` + `onMessagesChange` for every chunk, i.e. one complete
155
- * framework render per token. At 60 tok/s from a local model that is unusable,
156
- * and nothing in the imperative API hinted that `appendToSegment` cost so much
157
- * more than `injectTokenStream`. Consumers had to write their own rAF batcher.
152
+ * Coalescing (2) avoids a full list rebuild plus `setMessages` +
153
+ * `onMessagesChange`, i.e. one complete framework render, for every chunk.
158
154
  *
159
155
  * Any structural change flushes the buffer first (see
160
156
  * {@link _flushStreamState}), so ordering is never observable.
@@ -175,9 +171,7 @@ export declare class AparteChatHost {
175
171
  /**
176
172
  * Clear all messages + reset viewport state. The option travels to the viewport
177
173
  * untouched: a compaction passes `{ revokeAttachments: false }` because it re-appends
178
- * the turns it keeps and revokes the dropped ones' object URLs itself — under a
179
- * framework wrapper this bridge used to drop the argument, and every surviving
180
- * attachment came back broken.
174
+ * the turns it keeps and revokes the dropped ones' object URLs itself.
181
175
  */
182
176
  clearMessages(options?: {
183
177
  revokeAttachments?: boolean;
@@ -198,10 +192,9 @@ export declare class AparteChatHost {
198
192
  *
199
193
  * Each token reaches the bubble immediately and the framework's message list
200
194
  * is synced **once per frame** (same discipline as {@link appendToSegment}),
201
- * with a guaranteed flush before completion and on abort. Before that sync
202
- * existed the two disagreed: the DOM had the reply, the framework list still
203
- * held `content: ''` — so any re-render from state wiped it, and a custom
204
- * bubble (which renders from that state) showed nothing at all.
195
+ * with a guaranteed flush before completion and on abort, so the framework list
196
+ * and the DOM agree and a custom bubble (which renders from that state) shows the
197
+ * reply.
205
198
  */
206
199
  streamTokens(messageId: string, tokens: AsyncIterable<string>): Promise<void>;
207
200
  /**
@@ -227,17 +220,10 @@ export declare class AparteChatHost {
227
220
  * Write the branch counts onto their bubbles — and RESCHEDULE for the ones that are
228
221
  * not on the page yet, instead of dropping them.
229
222
  *
230
- * This used to `continue` past a missing bubble and then clear `_pendingSiblings`
231
- * unconditionally, which lost the fork for good. That is the "1 / 1" defect: the
232
- * bubble kept its default of one sibling, the picker hid itself, and the other version
233
- * became unreachable for the life of the page.
234
- *
235
- * It needed a framework that renders LATE, which is every framework here. React's
236
- * `afterRender` is `requestAnimationFrame(() => cb())` — a bet that the next paint
237
- * lands after React's commit, and it does not always; the repo has lost that same bet
238
- * before (`25f356b`, "a bet on rAF phase"). The fix is here rather than in the
239
- * wrapper's rAF call, because ANY binding whose `afterRender` can precede its commit
240
- * hits this, and one fix at the host covers all four.
223
+ * Frameworks render LATE: a binding's `afterRender` can run before its commit, so a
224
+ * bubble may not exist yet when its count arrives. A count that was dropped would
225
+ * leave the bubble at one sibling, the picker hidden and the other version
226
+ * unreachable. The retry lives here rather than in a wrapper, so it covers all four.
241
227
  *
242
228
  * Bounded, because a sibling can legitimately never arrive — a message that left the
243
229
  * path has no bubble and never will, and an unbounded retry would hold a callback for
@@ -252,12 +238,11 @@ export declare class AparteChatHost {
252
238
  * The bubble the streaming writes below belong to: the one carrying that message's
253
239
  * id, and NOTHING when it is not on the page yet.
254
240
  *
255
- * It used to be "the last bubble in the viewport", which is a different message
241
+ * It is not "the last bubble in the viewport", which is a different message
256
242
  * whenever the DOM is a render behind the list — which is every framework here.
257
- * `appendMessage` puts the new reply in React's state and React paints it on its own
258
- * schedule, so a first chunk arriving in between went into the PREVIOUS reply's
259
- * bubble; `syncBubbles` then wrote the same segment onto the real one, and the same
260
- * `data-segment-id` was on two bubbles.
243
+ * `appendMessage` puts the new reply in the framework's state and the framework
244
+ * paints it on its own schedule, so a first chunk arriving in between would go into
245
+ * the PREVIOUS reply's bubble.
261
246
  *
262
247
  * Skipping the paint is safe because it is only ever a paint: the message list is
263
248
  * written either way, and `syncBubbles` — called by the framework after each render,
@@ -1 +1 @@
1
- {"version":3,"file":"aparte-chat-host.d.ts","sourceRoot":"","sources":["../../src/host/aparte-chat-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aparte-chat-host.d.ts","sourceRoot":"","sources":["../../src/host/aparte-chat-host.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,7 @@
11
11
  *
12
12
  * Import three, pay for three. Nothing here is loaded by `@aparte/core` itself, so a
13
13
  * consumer who never opens this module pays nothing at all — the same lever as
14
- * `@aparte/plugin-shiki/core` (ratified decision #9b: weight is controlled by an entry
15
- * point, never by a flag).
14
+ * `@aparte/plugin-shiki/core`: weight is controlled by an entry point, never by a flag.
16
15
  *
17
16
  * Drawn here, like `glyphs.ts`: a 24-unit grid, a 2-unit round-capped stroke,
18
17
  * `currentColor`, no size (the container declares `--aparte-icon-size`). The names are
@@ -1 +1 @@
1
- {"version":3,"file":"extended.d.ts","sourceRoot":"","sources":["../../src/icons/extended.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAA4C,SAAS,EAAE,MAAM,aAAa,CAAC;AAElF,UAAU;AACV,eAAO,MAAM,QAAQ,0MAA0L,CAAC;AAEhN,aAAa;AACb,eAAO,MAAM,SAAS,gMAAgL,CAAC;AAEvM,oCAAoC;AACpC,eAAO,MAAM,UAAU,6OAAuN,CAAC;AAE/O,oBAAoB;AACpB,eAAO,MAAM,UAAU,uNAAuM,CAAC;AAE/N;yFACyF;AACzF,eAAO,MAAM,kBAAkB,gSAAW,CAAC;AAE3C,iCAAiC;AACjC,eAAO,MAAM,gBAAgB,gSAAgQ,CAAC;AAE9R;6DAC6D;AAC7D,eAAO,MAAM,eAAe,wMAAiB,CAAC;AAE9C,oEAAoE;AACpE,eAAO,MAAM,gBAAgB,yMAAiB,CAAC;AAE/C,4BAA4B;AAC5B,eAAO,MAAM,WAAW,wNAAwM,CAAC;AAEjO,uBAAuB;AACvB,eAAO,MAAM,cAAc,uNAAuM,CAAC;AAEnO,4BAA4B;AAC5B,eAAO,MAAM,gBAAgB,8RAA4Q,CAAC;AAE1S,kBAAkB;AAClB,eAAO,MAAM,QAAQ,wUAAsT,CAAC;AAE5U,kBAAkB;AAClB,eAAO,MAAM,UAAU,yQAAyP,CAAC;AAEjR,kBAAkB;AAClB,eAAO,MAAM,QAAQ,oOAAoN,CAAC;AAE1O,0BAA0B;AAC1B,eAAO,MAAM,aAAa,yTAA+R,CAAC;AAE1T,sBAAsB;AAGtB,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,mBAAmB;AACnB,eAAO,MAAM,QAAQ,qTAAmS,CAAC;AAEzT,qBAAqB;AACrB,eAAO,MAAM,UAAU,8QAA4P,CAAC;AAEpR,kBAAkB;AAClB,eAAO,MAAM,YAAY,0WAA8U,CAAC;AAExW,eAAe;AACf,eAAO,MAAM,QAAQ,kPAA4N,CAAC;AAElP,oBAAoB;AACpB,eAAO,MAAM,OAAO,6TAA6R,CAAC;AAElT,2BAA2B;AAC3B,eAAO,MAAM,YAAY,2YAAyX,CAAC;AAEnZ,gCAAgC;AAChC,eAAO,MAAM,OAAO,wXAAoV,CAAC;AAEzW,cAAc;AACd,eAAO,MAAM,YAAY,6UAAmT,CAAC;AAE7U,2BAA2B;AAC3B,eAAO,MAAM,SAAS,0QAAoP,CAAC;AAE3Q,mBAAmB;AACnB,eAAO,MAAM,OAAO,mQAA6O,CAAC;AAElQ,YAAY;AACZ,eAAO,MAAM,OAAO,+RAAqQ,CAAC;AAE1R,YAAY;AACZ,eAAO,MAAM,UAAU,iXAA2V,CAAC;AAEnX,YAAY;AACZ,eAAO,MAAM,OAAO,oTAA8R,CAAC;AAEnT,aAAa;AACb,eAAO,MAAM,UAAU,wYAAoX,CAAC;AAE5Y,yBAAyB;AACzB,eAAO,MAAM,SAAS,2OAAqN,CAAC;AAE5O,yBAAyB;AACzB,eAAO,MAAM,WAAW,yPAAuO,CAAC;AAEhQ,gBAAgB;AAChB,eAAO,MAAM,QAAQ,0QAA0P,CAAC;AAEhR,qBAAqB;AACrB,eAAO,MAAM,SAAS,+UAA6S,CAAC;AAEpU,yBAAyB;AACzB,eAAO,MAAM,eAAe,kPAA4N,CAAC;AAEzP,2BAA2B;AAC3B,eAAO,MAAM,WAAW,6PAAuO,CAAC;AAEhQ,qBAAqB;AACrB,eAAO,MAAM,iBAAiB,gRAAgQ,CAAC;AAE/R,kBAAkB;AAClB,eAAO,MAAM,OAAO,gTAA0R,CAAC;AAE/S,iBAAiB;AACjB,eAAO,MAAM,QAAQ,kOAAkN,CAAC;AAExO;sEACsE;AACtE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC9B,CAAC"}
1
+ {"version":3,"file":"extended.d.ts","sourceRoot":"","sources":["../../src/icons/extended.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAA4C,SAAS,EAAE,MAAM,aAAa,CAAC;AAElF,UAAU;AACV,eAAO,MAAM,QAAQ,0MAA0L,CAAC;AAEhN,aAAa;AACb,eAAO,MAAM,SAAS,gMAAgL,CAAC;AAEvM,oCAAoC;AACpC,eAAO,MAAM,UAAU,6OAAuN,CAAC;AAE/O,oBAAoB;AACpB,eAAO,MAAM,UAAU,uNAAuM,CAAC;AAE/N;yFACyF;AACzF,eAAO,MAAM,kBAAkB,gSAAW,CAAC;AAE3C,iCAAiC;AACjC,eAAO,MAAM,gBAAgB,gSAAgQ,CAAC;AAE9R;6DAC6D;AAC7D,eAAO,MAAM,eAAe,wMAAiB,CAAC;AAE9C,oEAAoE;AACpE,eAAO,MAAM,gBAAgB,yMAAiB,CAAC;AAE/C,4BAA4B;AAC5B,eAAO,MAAM,WAAW,wNAAwM,CAAC;AAEjO,uBAAuB;AACvB,eAAO,MAAM,cAAc,uNAAuM,CAAC;AAEnO,4BAA4B;AAC5B,eAAO,MAAM,gBAAgB,8RAA4Q,CAAC;AAE1S,kBAAkB;AAClB,eAAO,MAAM,QAAQ,wUAAsT,CAAC;AAE5U,kBAAkB;AAClB,eAAO,MAAM,UAAU,yQAAyP,CAAC;AAEjR,kBAAkB;AAClB,eAAO,MAAM,QAAQ,oOAAoN,CAAC;AAE1O,0BAA0B;AAC1B,eAAO,MAAM,aAAa,yTAA+R,CAAC;AAE1T,sBAAsB;AAGtB,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,mBAAmB;AACnB,eAAO,MAAM,QAAQ,qTAAmS,CAAC;AAEzT,qBAAqB;AACrB,eAAO,MAAM,UAAU,8QAA4P,CAAC;AAEpR,kBAAkB;AAClB,eAAO,MAAM,YAAY,0WAA8U,CAAC;AAExW,eAAe;AACf,eAAO,MAAM,QAAQ,kPAA4N,CAAC;AAElP,oBAAoB;AACpB,eAAO,MAAM,OAAO,6TAA6R,CAAC;AAElT,2BAA2B;AAC3B,eAAO,MAAM,YAAY,2YAAyX,CAAC;AAEnZ,gCAAgC;AAChC,eAAO,MAAM,OAAO,wXAAoV,CAAC;AAEzW,cAAc;AACd,eAAO,MAAM,YAAY,6UAAmT,CAAC;AAE7U,2BAA2B;AAC3B,eAAO,MAAM,SAAS,0QAAoP,CAAC;AAE3Q,mBAAmB;AACnB,eAAO,MAAM,OAAO,mQAA6O,CAAC;AAElQ,YAAY;AACZ,eAAO,MAAM,OAAO,+RAAqQ,CAAC;AAE1R,YAAY;AACZ,eAAO,MAAM,UAAU,iXAA2V,CAAC;AAEnX,YAAY;AACZ,eAAO,MAAM,OAAO,oTAA8R,CAAC;AAEnT,aAAa;AACb,eAAO,MAAM,UAAU,wYAAoX,CAAC;AAE5Y,yBAAyB;AACzB,eAAO,MAAM,SAAS,2OAAqN,CAAC;AAE5O,yBAAyB;AACzB,eAAO,MAAM,WAAW,yPAAuO,CAAC;AAEhQ,gBAAgB;AAChB,eAAO,MAAM,QAAQ,0QAA0P,CAAC;AAEhR,qBAAqB;AACrB,eAAO,MAAM,SAAS,+UAA6S,CAAC;AAEpU,yBAAyB;AACzB,eAAO,MAAM,eAAe,kPAA4N,CAAC;AAEzP,2BAA2B;AAC3B,eAAO,MAAM,WAAW,6PAAuO,CAAC;AAEhQ,qBAAqB;AACrB,eAAO,MAAM,iBAAiB,gRAAgQ,CAAC;AAE/R,kBAAkB;AAClB,eAAO,MAAM,OAAO,gTAA0R,CAAC;AAE/S,iBAAiB;AACjB,eAAO,MAAM,QAAQ,kOAAkN,CAAC;AAExO;sEACsE;AACtE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC9B,CAAC"}
package/dist/icons.d.ts CHANGED
@@ -1,14 +1,12 @@
1
1
  /**
2
2
  * The `@aparte/core/icons` entry point.
3
3
  *
4
- * A flat re-export of `icons/index.ts`, and it exists for one reason: `tsc` mirrors the
5
- * source tree into `dist`, so a nested entry emits `dist/icons/index.d.ts` while Vite
6
- * emits `dist/icons.js` beside it. Package `exports` can point `types` at the nested
7
- * path — `publint` and `attw` both pass on that — but a consumer whose TypeScript
8
- * resolves the old way looks for a declaration file NEXT TO the JavaScript, finds none,
9
- * and gets `any`. The docs' own snippet check is such a consumer, which is how this was
10
- * caught. Flat here means `dist/icons.js` and `dist/icons.d.ts` are siblings and every
11
- * resolution mode agrees.
4
+ * A flat re-export of `icons/index.ts`. `tsc` mirrors the source tree into `dist`, so a
5
+ * nested entry emits `dist/icons/index.d.ts` while Vite emits `dist/icons.js` beside it.
6
+ * Package `exports` can point `types` at the nested path (`publint` and `attw` both pass
7
+ * on that), but a consumer whose TypeScript resolves the older way looks for a
8
+ * declaration file NEXT TO the JavaScript, finds none, and gets `any`. Flat here means
9
+ * `dist/icons.js` and `dist/icons.d.ts` are siblings and every resolution mode agrees.
12
10
  */
13
11
  export * from './icons/index.js';
14
12
  //# sourceMappingURL=icons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,kBAAkB,CAAC"}
package/dist/icons.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sources":["../src/icons/extended.ts"],"sourcesContent":["/**\n * The extended set — glyphs core itself never draws.\n *\n * SEPARATE ON PURPOSE, and the reason is mechanical rather than editorial.\n * `APARTE_DEFAULT_ICON_FALLBACKS` is read by a computed key (`getIcon(name)`), so a\n * bundler cannot tell which of its entries a build reaches and keeps the object whole.\n * Anything added there ships to every consumer, used or not. These are individual\n * exports behind their own entry point instead:\n *\n * import { searchIcon, trashIcon } from '@aparte/core/icons';\n *\n * Import three, pay for three. Nothing here is loaded by `@aparte/core` itself, so a\n * consumer who never opens this module pays nothing at all — the same lever as\n * `@aparte/plugin-shiki/core` (ratified decision #9b: weight is controlled by an entry\n * point, never by a flag).\n *\n * Drawn here, like `glyphs.ts`: a 24-unit grid, a 2-unit round-capped stroke,\n * `currentColor`, no size (the container declares `--aparte-icon-size`). The names are\n * the plain words for what each one shows — search, trash, folder — so a consumer can\n * find one without a legend. Nothing is imported from anywhere: core has no\n * dependencies, and the path data is ours.\n *\n * To wire one to a name core knows, pass it through an icon provider:\n *\n * aparteGlobalConfig.setIconProvider({ retry: () => historyIcon });\n */\n\nimport { prevBranchIcon, nextBranchIcon, moreIcon, trashIcon } from './glyphs.js';\n\n/** Add */\nexport const plusIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 4.5v15M4.5 12h15\"/></svg>`;\n\n/** Remove */\nexport const minusIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4.5 12h15\"/></svg>`;\n\n/** Search a list or a transcript */\nexport const searchIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"10.5\" cy=\"10.5\" r=\"7\"/><path d=\"m16 16 5.5 5.5\"/></svg>`;\n\n/** Filter a list */\nexport const filterIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3.5 4.5h17l-6.5 8v6.5l-4 2v-8.5Z\"/></svg>`;\n\n/** Overflow menu, in a row. The conversation list draws it, so the path lives in\n * `glyphs.ts` as `more` — this is the alias under its shape name, like the chevrons. */\nexport const moreHorizontalIcon = moreIcon;\n\n/** Overflow menu, in a column */\nexport const moreVerticalIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"5.5\" r=\"1.1\"/><circle cx=\"12\" cy=\"12\" r=\"1.1\"/><circle cx=\"12\" cy=\"18.5\" r=\"1.1\"/></svg>`;\n\n/** Previous. The same drawing the branch picker uses, under its shape name rather\n * than its role name — an alias, so the path ships once. */\nexport const chevronLeftIcon = prevBranchIcon;\n\n/** Next. Alias of the branch picker glyph — see chevronLeftIcon. */\nexport const chevronRightIcon = nextBranchIcon;\n\n/** Send upward / move up */\nexport const arrowUpIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 19.5v-15M5.5 11 12 4.5l6.5 6.5\"/></svg>`;\n\n/** Continue / go to */\nexport const arrowRightIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4.5 12h15M13 5.5l6.5 6.5-6.5 6.5\"/></svg>`;\n\n/** Opens outside the app */\nexport const externalLinkIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M11 4.5H6.5a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V13\"/><path d=\"M14.5 4.5h5v5M19.5 4.5 11 13\"/></svg>`;\n\n/** A hyperlink */\nexport const linkIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10.5 13.5a4 4 0 0 0 5.66 0l2.83-2.83a4 4 0 0 0-5.66-5.66L12 6.34\"/><path d=\"M13.5 10.5a4 4 0 0 0-5.66 0l-2.83 2.83a4 4 0 0 0 5.66 5.66L12 17.66\"/></svg>`;\n\n/** A directory */\nexport const folderIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3.5 7.5a2 2 0 0 1 2-2h4.2l2 2h7.8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-14a2 2 0 0 1-2-2Z\"/></svg>`;\n\n/** Source code */\nexport const codeIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m15.5 7.5 4.5 4.5-4.5 4.5M8.5 7.5 4 12l4.5 4.5\"/></svg>`;\n\n/** Paste / a clipboard */\nexport const clipboardIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"5\" y=\"4.5\" width=\"14\" height=\"16\" rx=\"2.5\"/><path d=\"M9 4.5V4a1.5 1.5 0 0 1 1.5-1.5h3A1.5 1.5 0 0 1 15 4v.5M9 11h6M9 15h4\"/></svg>`;\n\n/** Delete for good */\n/* `trashIcon` moved to `glyphs.ts` when the conversation list's menu started drawing\n it; it is re-exported below so `import { trashIcon } from '@aparte/core/icons'` holds. */\nexport { trashIcon };\n\n/** Save to disk */\nexport const saveIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 4.5h11l3.5 3.5v11a1.5 1.5 0 0 1-1.5 1.5H5a1.5 1.5 0 0 1-1.5-1.5V6A1.5 1.5 0 0 1 5 4.5Z\"/><path d=\"M8 20.5v-6h8v6M8 4.5v4h5\"/></svg>`;\n\n/** Send a file up */\nexport const uploadIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4.5 15.5v3a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2v-3\"/><path d=\"M12 15V4M7.5 8.5 12 4l4.5 4.5\"/></svg>`;\n\n/** Preferences */\nexport const settingsIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"3\"/><circle cx=\"12\" cy=\"12\" r=\"7\"/><path d=\"M12 2.5V5M12 19v2.5M2.5 12H5M19 12h2.5M5.3 5.3l1.8 1.8M16.9 16.9l1.8 1.8M5.3 18.7l1.8-1.8M16.9 7.1l1.8-1.8\"/></svg>`;\n\n/** A person */\nexport const userIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"8\" r=\"3.5\"/><path d=\"M5 20.5a7 7 0 0 1 14 0\"/></svg>`;\n\n/** The assistant */\nexport const botIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"4\" y=\"8.5\" width=\"16\" height=\"11\" rx=\"3\"/><path d=\"M12 8.5V5.5M8.5 13.5V15M15.5 13.5V15\"/><circle cx=\"12\" cy=\"4.5\" r=\"1\"/></svg>`;\n\n/** Generated by a model */\nexport const sparklesIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3.5c.6 4.6 3.4 7.4 8 8-4.6.6-7.4 3.4-8 8-.6-4.6-3.4-7.4-8-8 4.6-.6 7.4-3.4 8-8Z\"/><path d=\"M19 16.5c.25 1.6 1.15 2.5 2.75 2.75-1.6.25-2.5 1.15-2.75 2.75-.25-1.6-1.15-2.5-2.75-2.75 1.6-.25 2.5-1.15 2.75-2.75Z\"/></svg>`;\n\n/** Local / on-device compute */\nexport const cpuIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"5\" y=\"5\" width=\"14\" height=\"14\" rx=\"2.5\"/><rect x=\"9.5\" y=\"9.5\" width=\"5\" height=\"5\" rx=\"1\"/><path d=\"M9 2.5V5M15 2.5V5M9 19v2.5M15 19v2.5M2.5 9H5M2.5 15H5M19 9h2.5M19 15h2.5\"/></svg>`;\n\n/** A store */\nexport const databaseIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><ellipse cx=\"12\" cy=\"6\" rx=\"7.5\" ry=\"3\"/><path d=\"M4.5 6v12c0 1.66 3.36 3 7.5 3s7.5-1.34 7.5-3V6\"/><path d=\"M4.5 12c0 1.66 3.36 3 7.5 3s7.5-1.34 7.5-3\"/></svg>`;\n\n/** Remote / the network */\nexport const globeIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M3 12h18M12 3a13 13 0 0 1 0 18a13 13 0 0 1 0-18\"/></svg>`;\n\n/** A credential */\nexport const keyIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"8\" cy=\"15\" r=\"4\"/><path d=\"M10.8 12.2 20 3M17 6l2.5 2.5M14.5 8.5l2 2\"/></svg>`;\n\n/** Speak */\nexport const micIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5.5 11.5a6.5 6.5 0 0 0 13 0M12 18v3.5M9 21.5h6\"/></svg>`;\n\n/** Muted */\nexport const micOffIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 10.5V6a3 3 0 0 0-5.7-1.3\"/><path d=\"M9 9.5V11a3 3 0 0 0 4.9 2.3\"/><path d=\"M5.5 11.5a6.5 6.5 0 0 0 10.2 5.3M18.5 11.5a6.4 6.4 0 0 1-.3 2\"/><path d=\"M12 18v3.5M9 21.5h6M4 4l16 16\"/></svg>`;\n\n/** Shown */\nexport const eyeIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2.5 12c2.2-4.2 5.4-6.5 9.5-6.5s7.3 2.3 9.5 6.5c-2.2 4.2-5.4 6.5-9.5 6.5S4.7 16.2 2.5 12Z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/></svg>`;\n\n/** Hidden */\nexport const eyeOffIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10 6.1A9.6 9.6 0 0 1 12 5.5c4.1 0 7.3 2.3 9.5 6.5a15.7 15.7 0 0 1-2.7 3.6\"/><path d=\"M6.3 7.7A14 14 0 0 0 2.5 12c2.2 4.2 5.4 6.5 9.5 6.5a9.6 9.6 0 0 0 3.4-.6\"/><path d=\"M9.9 9.9a3 3 0 0 0 4.2 4.2M4 4l16 16\"/></svg>`;\n\n/** Duration / pending */\nexport const clockIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 7.5V12l3.5 2\"/></svg>`;\n\n/** Past conversations */\nexport const historyIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3.5 12a8.5 8.5 0 1 0 2.5-6\"/><path d=\"M3.5 4v5h5M12 7.5V12l3 1.8\"/></svg>`;\n\n/** Favourite */\nexport const starIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polygon points=\"12 3 14.5 9.1 21 9.6 16 13.8 17.6 20.2 12 16.7 6.4 20.2 8 13.8 3 9.6 9.5 9.1\"/></svg>`;\n\n/** Send elsewhere */\nexport const shareIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"18\" cy=\"5.5\" r=\"2.5\"/><circle cx=\"6\" cy=\"12\" r=\"2.5\"/><circle cx=\"18\" cy=\"18.5\" r=\"2.5\"/><path d=\"m8.2 10.8 7.6-4.1M8.2 13.2l7.6 4.1\"/></svg>`;\n\n/** Done, emphatically */\nexport const checkCircleIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"m8 12.2 2.8 2.8 5.7-5.5\"/></svg>`;\n\n/** Failed, emphatically */\nexport const xCircleIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"m9.2 9.2 5.6 5.6M14.8 9.2l-5.6 5.6\"/></svg>`;\n\n/** A conversation */\nexport const messageSquareIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6.5 4h11A2.5 2.5 0 0 1 20 6.5v8a2.5 2.5 0 0 1-2.5 2.5H9.5L4.5 21V6.5A2.5 2.5 0 0 1 6.5 4Z\"/></svg>`;\n\n/** Light theme */\nexport const sunIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"3.5\"/><path d=\"M12 3v2M12 19v2M3 12h2M19 12h2M5.6 5.6 7 7M17 17l1.4 1.4M5.6 18.4 7 17M17 7l1.4-1.4\"/></svg>`;\n\n/** Dark theme */\nexport const moonIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z\"/></svg>`;\n\n/** Every extended glyph, by name. Importing this object defeats tree-shaking:\n * it is here for a gallery or a picker, not for drawing one icon. */\nexport const APARTE_EXTENDED_ICON_GLYPHS = {\n plus: plusIcon,\n minus: minusIcon,\n search: searchIcon,\n filter: filterIcon,\n moreHorizontal: moreHorizontalIcon,\n moreVertical: moreVerticalIcon,\n chevronLeft: chevronLeftIcon,\n chevronRight: chevronRightIcon,\n arrowUp: arrowUpIcon,\n arrowRight: arrowRightIcon,\n externalLink: externalLinkIcon,\n link: linkIcon,\n folder: folderIcon,\n code: codeIcon,\n clipboard: clipboardIcon,\n trash: trashIcon,\n save: saveIcon,\n upload: uploadIcon,\n settings: settingsIcon,\n user: userIcon,\n bot: botIcon,\n sparkles: sparklesIcon,\n cpu: cpuIcon,\n database: databaseIcon,\n globe: globeIcon,\n key: keyIcon,\n mic: micIcon,\n micOff: micOffIcon,\n eye: eyeIcon,\n eyeOff: eyeOffIcon,\n clock: clockIcon,\n history: historyIcon,\n star: starIcon,\n share: shareIcon,\n checkCircle: checkCircleIcon,\n xCircle: xCircleIcon,\n messageSquare: messageSquareIcon,\n sun: sunIcon,\n moon: moonIcon,\n} as const;\n"],"names":[],"mappings":";;AA8BO,MAAM,WAAW;AAGjB,MAAM,YAAY;AAGlB,MAAM,aAAa;AAGnB,MAAM,aAAa;AAInB,MAAM,qBAAqB;AAG3B,MAAM,mBAAmB;AAIzB,MAAM,kBAAkB;AAGxB,MAAM,mBAAmB;AAGzB,MAAM,cAAc;AAGpB,MAAM,iBAAiB;AAGvB,MAAM,mBAAmB;AAGzB,MAAM,WAAW;AAGjB,MAAM,aAAa;AAGnB,MAAM,WAAW;AAGjB,MAAM,gBAAgB;AAQtB,MAAM,WAAW;AAGjB,MAAM,aAAa;AAGnB,MAAM,eAAe;AAGrB,MAAM,WAAW;AAGjB,MAAM,UAAU;AAGhB,MAAM,eAAe;AAGrB,MAAM,UAAU;AAGhB,MAAM,eAAe;AAGrB,MAAM,YAAY;AAGlB,MAAM,UAAU;AAGhB,MAAM,UAAU;AAGhB,MAAM,aAAa;AAGnB,MAAM,UAAU;AAGhB,MAAM,aAAa;AAGnB,MAAM,YAAY;AAGlB,MAAM,cAAc;AAGpB,MAAM,WAAW;AAGjB,MAAM,YAAY;AAGlB,MAAM,kBAAkB;AAGxB,MAAM,cAAc;AAGpB,MAAM,oBAAoB;AAG1B,MAAM,UAAU;AAGhB,MAAM,WAAW;AAIjB,MAAM,8BAA8B;AAAA,EACvC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,cAAc;AAAA,EACd,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,MAAM;AAAA,EACN,KAAK;AAAA,EACL,UAAU;AAAA,EACV,KAAK;AAAA,EACL,UAAU;AAAA,EACV,OAAO;AAAA,EACP,KAAK;AAAA,EACL,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AAAA,EACb,SAAS;AAAA,EACT,eAAe;AAAA,EACf,KAAK;AAAA,EACL,MAAM;AACV;"}
1
+ {"version":3,"file":"icons.js","sources":["../src/icons/extended.ts"],"sourcesContent":["/**\n * The extended set — glyphs core itself never draws.\n *\n * SEPARATE ON PURPOSE, and the reason is mechanical rather than editorial.\n * `APARTE_DEFAULT_ICON_FALLBACKS` is read by a computed key (`getIcon(name)`), so a\n * bundler cannot tell which of its entries a build reaches and keeps the object whole.\n * Anything added there ships to every consumer, used or not. These are individual\n * exports behind their own entry point instead:\n *\n * import { searchIcon, trashIcon } from '@aparte/core/icons';\n *\n * Import three, pay for three. Nothing here is loaded by `@aparte/core` itself, so a\n * consumer who never opens this module pays nothing at all — the same lever as\n * `@aparte/plugin-shiki/core`: weight is controlled by an entry point, never by a flag.\n *\n * Drawn here, like `glyphs.ts`: a 24-unit grid, a 2-unit round-capped stroke,\n * `currentColor`, no size (the container declares `--aparte-icon-size`). The names are\n * the plain words for what each one shows — search, trash, folder — so a consumer can\n * find one without a legend. Nothing is imported from anywhere: core has no\n * dependencies, and the path data is ours.\n *\n * To wire one to a name core knows, pass it through an icon provider:\n *\n * aparteGlobalConfig.setIconProvider({ retry: () => historyIcon });\n */\n\nimport { prevBranchIcon, nextBranchIcon, moreIcon, trashIcon } from './glyphs.js';\n\n/** Add */\nexport const plusIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 4.5v15M4.5 12h15\"/></svg>`;\n\n/** Remove */\nexport const minusIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4.5 12h15\"/></svg>`;\n\n/** Search a list or a transcript */\nexport const searchIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"10.5\" cy=\"10.5\" r=\"7\"/><path d=\"m16 16 5.5 5.5\"/></svg>`;\n\n/** Filter a list */\nexport const filterIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3.5 4.5h17l-6.5 8v6.5l-4 2v-8.5Z\"/></svg>`;\n\n/** Overflow menu, in a row. The conversation list draws it, so the path lives in\n * `glyphs.ts` as `more` — this is the alias under its shape name, like the chevrons. */\nexport const moreHorizontalIcon = moreIcon;\n\n/** Overflow menu, in a column */\nexport const moreVerticalIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"5.5\" r=\"1.1\"/><circle cx=\"12\" cy=\"12\" r=\"1.1\"/><circle cx=\"12\" cy=\"18.5\" r=\"1.1\"/></svg>`;\n\n/** Previous. The same drawing the branch picker uses, under its shape name rather\n * than its role name — an alias, so the path ships once. */\nexport const chevronLeftIcon = prevBranchIcon;\n\n/** Next. Alias of the branch picker glyph — see chevronLeftIcon. */\nexport const chevronRightIcon = nextBranchIcon;\n\n/** Send upward / move up */\nexport const arrowUpIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 19.5v-15M5.5 11 12 4.5l6.5 6.5\"/></svg>`;\n\n/** Continue / go to */\nexport const arrowRightIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4.5 12h15M13 5.5l6.5 6.5-6.5 6.5\"/></svg>`;\n\n/** Opens outside the app */\nexport const externalLinkIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M11 4.5H6.5a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V13\"/><path d=\"M14.5 4.5h5v5M19.5 4.5 11 13\"/></svg>`;\n\n/** A hyperlink */\nexport const linkIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10.5 13.5a4 4 0 0 0 5.66 0l2.83-2.83a4 4 0 0 0-5.66-5.66L12 6.34\"/><path d=\"M13.5 10.5a4 4 0 0 0-5.66 0l-2.83 2.83a4 4 0 0 0 5.66 5.66L12 17.66\"/></svg>`;\n\n/** A directory */\nexport const folderIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3.5 7.5a2 2 0 0 1 2-2h4.2l2 2h7.8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-14a2 2 0 0 1-2-2Z\"/></svg>`;\n\n/** Source code */\nexport const codeIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m15.5 7.5 4.5 4.5-4.5 4.5M8.5 7.5 4 12l4.5 4.5\"/></svg>`;\n\n/** Paste / a clipboard */\nexport const clipboardIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"5\" y=\"4.5\" width=\"14\" height=\"16\" rx=\"2.5\"/><path d=\"M9 4.5V4a1.5 1.5 0 0 1 1.5-1.5h3A1.5 1.5 0 0 1 15 4v.5M9 11h6M9 15h4\"/></svg>`;\n\n/** Delete for good */\n/* `trashIcon` moved to `glyphs.ts` when the conversation list's menu started drawing\n it; it is re-exported below so `import { trashIcon } from '@aparte/core/icons'` holds. */\nexport { trashIcon };\n\n/** Save to disk */\nexport const saveIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 4.5h11l3.5 3.5v11a1.5 1.5 0 0 1-1.5 1.5H5a1.5 1.5 0 0 1-1.5-1.5V6A1.5 1.5 0 0 1 5 4.5Z\"/><path d=\"M8 20.5v-6h8v6M8 4.5v4h5\"/></svg>`;\n\n/** Send a file up */\nexport const uploadIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4.5 15.5v3a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2v-3\"/><path d=\"M12 15V4M7.5 8.5 12 4l4.5 4.5\"/></svg>`;\n\n/** Preferences */\nexport const settingsIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"3\"/><circle cx=\"12\" cy=\"12\" r=\"7\"/><path d=\"M12 2.5V5M12 19v2.5M2.5 12H5M19 12h2.5M5.3 5.3l1.8 1.8M16.9 16.9l1.8 1.8M5.3 18.7l1.8-1.8M16.9 7.1l1.8-1.8\"/></svg>`;\n\n/** A person */\nexport const userIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"8\" r=\"3.5\"/><path d=\"M5 20.5a7 7 0 0 1 14 0\"/></svg>`;\n\n/** The assistant */\nexport const botIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"4\" y=\"8.5\" width=\"16\" height=\"11\" rx=\"3\"/><path d=\"M12 8.5V5.5M8.5 13.5V15M15.5 13.5V15\"/><circle cx=\"12\" cy=\"4.5\" r=\"1\"/></svg>`;\n\n/** Generated by a model */\nexport const sparklesIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3.5c.6 4.6 3.4 7.4 8 8-4.6.6-7.4 3.4-8 8-.6-4.6-3.4-7.4-8-8 4.6-.6 7.4-3.4 8-8Z\"/><path d=\"M19 16.5c.25 1.6 1.15 2.5 2.75 2.75-1.6.25-2.5 1.15-2.75 2.75-.25-1.6-1.15-2.5-2.75-2.75 1.6-.25 2.5-1.15 2.75-2.75Z\"/></svg>`;\n\n/** Local / on-device compute */\nexport const cpuIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"5\" y=\"5\" width=\"14\" height=\"14\" rx=\"2.5\"/><rect x=\"9.5\" y=\"9.5\" width=\"5\" height=\"5\" rx=\"1\"/><path d=\"M9 2.5V5M15 2.5V5M9 19v2.5M15 19v2.5M2.5 9H5M2.5 15H5M19 9h2.5M19 15h2.5\"/></svg>`;\n\n/** A store */\nexport const databaseIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><ellipse cx=\"12\" cy=\"6\" rx=\"7.5\" ry=\"3\"/><path d=\"M4.5 6v12c0 1.66 3.36 3 7.5 3s7.5-1.34 7.5-3V6\"/><path d=\"M4.5 12c0 1.66 3.36 3 7.5 3s7.5-1.34 7.5-3\"/></svg>`;\n\n/** Remote / the network */\nexport const globeIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M3 12h18M12 3a13 13 0 0 1 0 18a13 13 0 0 1 0-18\"/></svg>`;\n\n/** A credential */\nexport const keyIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"8\" cy=\"15\" r=\"4\"/><path d=\"M10.8 12.2 20 3M17 6l2.5 2.5M14.5 8.5l2 2\"/></svg>`;\n\n/** Speak */\nexport const micIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5.5 11.5a6.5 6.5 0 0 0 13 0M12 18v3.5M9 21.5h6\"/></svg>`;\n\n/** Muted */\nexport const micOffIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 10.5V6a3 3 0 0 0-5.7-1.3\"/><path d=\"M9 9.5V11a3 3 0 0 0 4.9 2.3\"/><path d=\"M5.5 11.5a6.5 6.5 0 0 0 10.2 5.3M18.5 11.5a6.4 6.4 0 0 1-.3 2\"/><path d=\"M12 18v3.5M9 21.5h6M4 4l16 16\"/></svg>`;\n\n/** Shown */\nexport const eyeIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2.5 12c2.2-4.2 5.4-6.5 9.5-6.5s7.3 2.3 9.5 6.5c-2.2 4.2-5.4 6.5-9.5 6.5S4.7 16.2 2.5 12Z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/></svg>`;\n\n/** Hidden */\nexport const eyeOffIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10 6.1A9.6 9.6 0 0 1 12 5.5c4.1 0 7.3 2.3 9.5 6.5a15.7 15.7 0 0 1-2.7 3.6\"/><path d=\"M6.3 7.7A14 14 0 0 0 2.5 12c2.2 4.2 5.4 6.5 9.5 6.5a9.6 9.6 0 0 0 3.4-.6\"/><path d=\"M9.9 9.9a3 3 0 0 0 4.2 4.2M4 4l16 16\"/></svg>`;\n\n/** Duration / pending */\nexport const clockIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 7.5V12l3.5 2\"/></svg>`;\n\n/** Past conversations */\nexport const historyIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3.5 12a8.5 8.5 0 1 0 2.5-6\"/><path d=\"M3.5 4v5h5M12 7.5V12l3 1.8\"/></svg>`;\n\n/** Favourite */\nexport const starIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polygon points=\"12 3 14.5 9.1 21 9.6 16 13.8 17.6 20.2 12 16.7 6.4 20.2 8 13.8 3 9.6 9.5 9.1\"/></svg>`;\n\n/** Send elsewhere */\nexport const shareIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"18\" cy=\"5.5\" r=\"2.5\"/><circle cx=\"6\" cy=\"12\" r=\"2.5\"/><circle cx=\"18\" cy=\"18.5\" r=\"2.5\"/><path d=\"m8.2 10.8 7.6-4.1M8.2 13.2l7.6 4.1\"/></svg>`;\n\n/** Done, emphatically */\nexport const checkCircleIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"m8 12.2 2.8 2.8 5.7-5.5\"/></svg>`;\n\n/** Failed, emphatically */\nexport const xCircleIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"m9.2 9.2 5.6 5.6M14.8 9.2l-5.6 5.6\"/></svg>`;\n\n/** A conversation */\nexport const messageSquareIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6.5 4h11A2.5 2.5 0 0 1 20 6.5v8a2.5 2.5 0 0 1-2.5 2.5H9.5L4.5 21V6.5A2.5 2.5 0 0 1 6.5 4Z\"/></svg>`;\n\n/** Light theme */\nexport const sunIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"3.5\"/><path d=\"M12 3v2M12 19v2M3 12h2M19 12h2M5.6 5.6 7 7M17 17l1.4 1.4M5.6 18.4 7 17M17 7l1.4-1.4\"/></svg>`;\n\n/** Dark theme */\nexport const moonIcon = `<svg class=\"aparte-icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z\"/></svg>`;\n\n/** Every extended glyph, by name. Importing this object defeats tree-shaking:\n * it is here for a gallery or a picker, not for drawing one icon. */\nexport const APARTE_EXTENDED_ICON_GLYPHS = {\n plus: plusIcon,\n minus: minusIcon,\n search: searchIcon,\n filter: filterIcon,\n moreHorizontal: moreHorizontalIcon,\n moreVertical: moreVerticalIcon,\n chevronLeft: chevronLeftIcon,\n chevronRight: chevronRightIcon,\n arrowUp: arrowUpIcon,\n arrowRight: arrowRightIcon,\n externalLink: externalLinkIcon,\n link: linkIcon,\n folder: folderIcon,\n code: codeIcon,\n clipboard: clipboardIcon,\n trash: trashIcon,\n save: saveIcon,\n upload: uploadIcon,\n settings: settingsIcon,\n user: userIcon,\n bot: botIcon,\n sparkles: sparklesIcon,\n cpu: cpuIcon,\n database: databaseIcon,\n globe: globeIcon,\n key: keyIcon,\n mic: micIcon,\n micOff: micOffIcon,\n eye: eyeIcon,\n eyeOff: eyeOffIcon,\n clock: clockIcon,\n history: historyIcon,\n star: starIcon,\n share: shareIcon,\n checkCircle: checkCircleIcon,\n xCircle: xCircleIcon,\n messageSquare: messageSquareIcon,\n sun: sunIcon,\n moon: moonIcon,\n} as const;\n"],"names":[],"mappings":";;AA6BO,MAAM,WAAW;AAGjB,MAAM,YAAY;AAGlB,MAAM,aAAa;AAGnB,MAAM,aAAa;AAInB,MAAM,qBAAqB;AAG3B,MAAM,mBAAmB;AAIzB,MAAM,kBAAkB;AAGxB,MAAM,mBAAmB;AAGzB,MAAM,cAAc;AAGpB,MAAM,iBAAiB;AAGvB,MAAM,mBAAmB;AAGzB,MAAM,WAAW;AAGjB,MAAM,aAAa;AAGnB,MAAM,WAAW;AAGjB,MAAM,gBAAgB;AAQtB,MAAM,WAAW;AAGjB,MAAM,aAAa;AAGnB,MAAM,eAAe;AAGrB,MAAM,WAAW;AAGjB,MAAM,UAAU;AAGhB,MAAM,eAAe;AAGrB,MAAM,UAAU;AAGhB,MAAM,eAAe;AAGrB,MAAM,YAAY;AAGlB,MAAM,UAAU;AAGhB,MAAM,UAAU;AAGhB,MAAM,aAAa;AAGnB,MAAM,UAAU;AAGhB,MAAM,aAAa;AAGnB,MAAM,YAAY;AAGlB,MAAM,cAAc;AAGpB,MAAM,WAAW;AAGjB,MAAM,YAAY;AAGlB,MAAM,kBAAkB;AAGxB,MAAM,cAAc;AAGpB,MAAM,oBAAoB;AAG1B,MAAM,UAAU;AAGhB,MAAM,WAAW;AAIjB,MAAM,8BAA8B;AAAA,EACvC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,cAAc;AAAA,EACd,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,MAAM;AAAA,EACN,KAAK;AAAA,EACL,UAAU;AAAA,EACV,KAAK;AAAA,EACL,UAAU;AAAA,EACV,OAAO;AAAA,EACP,KAAK;AAAA,EACL,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AAAA,EACb,SAAS;AAAA,EACT,eAAe;AAAA,EACf,KAAK;AAAA,EACL,MAAM;AACV;"}