@aparte/core 0.24.0 → 0.26.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 (106) hide show
  1. package/dist/client/agent-runner.d.ts.map +1 -1
  2. package/dist/client/aparte-client.d.ts +38 -76
  3. package/dist/client/aparte-client.d.ts.map +1 -1
  4. package/dist/client/stream-adapter.d.ts.map +1 -1
  5. package/dist/client/wire-history.d.ts +78 -0
  6. package/dist/client/wire-history.d.ts.map +1 -1
  7. package/dist/components/bubble/aparte-chat-bubble.d.ts +152 -2
  8. package/dist/components/bubble/aparte-chat-bubble.d.ts.map +1 -1
  9. package/dist/components/bubble/bubble-sync.d.ts +5 -1
  10. package/dist/components/bubble/bubble-sync.d.ts.map +1 -1
  11. package/dist/components/bubble/checkpoint-separator.d.ts +40 -0
  12. package/dist/components/bubble/checkpoint-separator.d.ts.map +1 -0
  13. package/dist/components/chat/aparte-chat.d.ts.map +1 -1
  14. package/dist/components/composer/aparte-composer-action.d.ts.map +1 -1
  15. package/dist/components/composer/aparte-composer-add-attachment.d.ts.map +1 -1
  16. package/dist/components/composer/aparte-composer-attachments.d.ts.map +1 -1
  17. package/dist/components/composer/aparte-composer-cancel.d.ts.map +1 -1
  18. package/dist/components/composer/aparte-composer-input.d.ts.map +1 -1
  19. package/dist/components/composer/aparte-composer-send.d.ts.map +1 -1
  20. package/dist/components/composer/aparte-composer-toolbar.d.ts.map +1 -1
  21. package/dist/components/composer/aparte-composer.d.ts.map +1 -1
  22. package/dist/components/context/aparte-context.d.ts +157 -25
  23. package/dist/components/context/aparte-context.d.ts.map +1 -1
  24. package/dist/components/conversation-list/aparte-conversation-list.d.ts.map +1 -1
  25. package/dist/components/elicitation/aparte-elicitation.d.ts.map +1 -1
  26. package/dist/components/scroll-rail/aparte-scroll-rail.d.ts.map +1 -1
  27. package/dist/components/sidebar/aparte-sidebar.d.ts.map +1 -1
  28. package/dist/components/split/aparte-split.d.ts.map +1 -1
  29. package/dist/components/status/aparte-chat-status.d.ts.map +1 -1
  30. package/dist/components/suggestions/aparte-suggestions.d.ts.map +1 -1
  31. package/dist/components/viewport/aparte-chat-viewport.d.ts +7 -0
  32. package/dist/components/viewport/aparte-chat-viewport.d.ts.map +1 -1
  33. package/dist/config/aparte-config.d.ts +47 -1
  34. package/dist/config/aparte-config.d.ts.map +1 -1
  35. package/dist/config/locale.d.ts +62 -4
  36. package/dist/config/locale.d.ts.map +1 -1
  37. package/dist/context/checkpoint-state.d.ts +70 -0
  38. package/dist/context/checkpoint-state.d.ts.map +1 -0
  39. package/dist/context/checkpoint.d.ts +28 -0
  40. package/dist/context/checkpoint.d.ts.map +1 -0
  41. package/dist/context/measure.d.ts +148 -0
  42. package/dist/context/measure.d.ts.map +1 -0
  43. package/dist/context/restore.d.ts +24 -0
  44. package/dist/context/restore.d.ts.map +1 -0
  45. package/dist/conversations/conversation-controller.d.ts +13 -4
  46. package/dist/conversations/conversation-controller.d.ts.map +1 -1
  47. package/dist/conversations/conversation-manager.d.ts +6 -0
  48. package/dist/conversations/conversation-manager.d.ts.map +1 -1
  49. package/dist/custom-elements.json +15347 -12878
  50. package/dist/{dialog-triggers-BqXRdHWZ.js → defer-hydration-8vI8xNNx.js} +1179 -374
  51. package/dist/defer-hydration-8vI8xNNx.js.map +1 -0
  52. package/dist/generated/element-attributes.d.ts +8 -2
  53. package/dist/generated/element-attributes.d.ts.map +1 -1
  54. package/dist/{glyphs-C8z2oJUg.js → glyphs-2bym5jl5.js} +1 -1
  55. package/dist/{glyphs-C8z2oJUg.js.map → glyphs-2bym5jl5.js.map} +1 -1
  56. package/dist/host/aparte-chat-host.d.ts +41 -2
  57. package/dist/host/aparte-chat-host.d.ts.map +1 -1
  58. package/dist/icons.js +2 -2
  59. package/dist/index.css +1 -1
  60. package/dist/index.d.ts +7 -2
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +1059 -95
  63. package/dist/index.js.map +1 -1
  64. package/dist/index.node.d.ts +6 -2
  65. package/dist/index.node.d.ts.map +1 -1
  66. package/dist/index.node.js +39 -29
  67. package/dist/index.node.js.map +1 -1
  68. package/dist/interop/defer-hydration.d.ts +34 -0
  69. package/dist/interop/defer-hydration.d.ts.map +1 -0
  70. package/dist/primitives/icon/aparte-icon.d.ts.map +1 -1
  71. package/dist/primitives/progress-spinner/aparte-progress-spinner.d.ts.map +1 -1
  72. package/dist/primitives/select/aparte-optgroup.d.ts.map +1 -1
  73. package/dist/primitives/select/aparte-option.d.ts.map +1 -1
  74. package/dist/primitives/select/aparte-select.d.ts.map +1 -1
  75. package/dist/renderers/index.d.ts +2 -1
  76. package/dist/renderers/index.d.ts.map +1 -1
  77. package/dist/renderers/mounted-renderer.d.ts +34 -0
  78. package/dist/renderers/mounted-renderer.d.ts.map +1 -0
  79. package/dist/renderers/segment-renderers.d.ts +14 -1
  80. package/dist/renderers/segment-renderers.d.ts.map +1 -1
  81. package/dist/renderers/segments/tool-call.d.ts +2 -1
  82. package/dist/renderers/segments/tool-call.d.ts.map +1 -1
  83. package/dist/transport/agent-handler.d.ts.map +1 -1
  84. package/dist/transport/backend-handler.d.ts.map +1 -1
  85. package/dist/transport/types.d.ts +24 -4
  86. package/dist/transport/types.d.ts.map +1 -1
  87. package/dist/types/chat.d.ts +16 -1
  88. package/dist/types/chat.d.ts.map +1 -1
  89. package/dist/types/compactor.d.ts +104 -0
  90. package/dist/types/compactor.d.ts.map +1 -0
  91. package/dist/types/errors.d.ts +2 -0
  92. package/dist/types/errors.d.ts.map +1 -1
  93. package/dist/types/events.d.ts +50 -3
  94. package/dist/types/events.d.ts.map +1 -1
  95. package/dist/types/index.d.ts +5 -4
  96. package/dist/types/index.d.ts.map +1 -1
  97. package/dist/types/model-provider.d.ts +3 -0
  98. package/dist/types/model-provider.d.ts.map +1 -1
  99. package/dist/types/models.d.ts +43 -3
  100. package/dist/types/models.d.ts.map +1 -1
  101. package/dist/types/segments.d.ts +22 -4
  102. package/dist/types/segments.d.ts.map +1 -1
  103. package/dist/types/tools.d.ts +56 -0
  104. package/dist/types/tools.d.ts.map +1 -1
  105. package/package.json +2 -2
  106. package/dist/dialog-triggers-BqXRdHWZ.js.map +0 -1
@@ -0,0 +1,104 @@
1
+ import type { AparteCompactDoneEventDetail } from './events.js';
2
+ /**
3
+ * Why a compactor was asked.
4
+ *
5
+ * `manual` is a person's click (the gauge's Compact now, a separator's Retry), `auto` the
6
+ * policy's own decision after a turn or before a send, `retry` an attempt made again after
7
+ * a failure, `overflow` the model refusing a request as over its window — the one that
8
+ * has to run, whatever the back-off says.
9
+ */
10
+ export type AparteCompactorReason = 'manual' | 'retry' | 'overflow' | 'auto';
11
+ /** What a compactor is asked to do — one chat, named by its element and, when it has one, its id. */
12
+ export interface AparteCompactorRequest {
13
+ /** The chat's element. Passed, not only its id: a chat inside a shadow root is not found by id. */
14
+ target: Element | null;
15
+ /** The chat's id, when it has one. */
16
+ targetId?: string;
17
+ /** Compact even when the policy would not (below the threshold, after repeated failures). */
18
+ force?: boolean;
19
+ /**
20
+ * Ids of messages that belong to a turn being prepared — the user message and the reply
21
+ * placeholder of a send or retry in progress. They are not summarised and do not count
22
+ * as "a turn in flight".
23
+ */
24
+ exclude?: string[];
25
+ reason?: AparteCompactorReason;
26
+ /**
27
+ * Aborted when the turn the compaction serves is stopped — the client's Stop or a
28
+ * programmatic `abort()` / `stop()`. The compactor cancels its summary then, so a
29
+ * stopped turn neither pays for one nor writes a checkpoint into a chat left behind.
30
+ */
31
+ signal?: AbortSignal;
32
+ }
33
+ /**
34
+ * How a compaction ended. It never rejects: a refusal and a failure are outcomes, so the
35
+ * caller reads `ok` and does not need a `try`. The same information goes out as
36
+ * `aparte-compact-done` / `aparte-compact-error`.
37
+ */
38
+ export type AparteCompactorOutcome = {
39
+ ok: true;
40
+ skipped: true;
41
+ /** Why nothing was done — the same list `aparte-compact-done` carries. */
42
+ reason: NonNullable<AparteCompactDoneEventDetail['reason']>;
43
+ targetId?: string;
44
+ } | {
45
+ ok: true;
46
+ skipped: false;
47
+ summary: string;
48
+ /** Messages kept verbatim after the summary. */
49
+ kept: number;
50
+ /** Messages this compaction summarised. */
51
+ dropped: number;
52
+ /** The message that now carries the checkpoint. */
53
+ messageId?: string;
54
+ /** Messages of the path the checkpoint stands for, an earlier summary's included. */
55
+ count?: number;
56
+ targetId?: string;
57
+ } | {
58
+ ok: false;
59
+ error: string;
60
+ targetId?: string;
61
+ messageId?: string;
62
+ };
63
+ /**
64
+ * The seam between the parts of core that need the context made smaller (the gauge's
65
+ * Compact now, a separator's Retry, the client before a send and after an overflow) and
66
+ * whatever makes it smaller. `@aparte/plugin-compaction` registers itself as the compactor
67
+ * with `AparteConfig.setCompactor()`; core never compacts by itself.
68
+ *
69
+ * It is a seam and not an event because the caller needs the answer: the client rebuilds a
70
+ * request once the summary is written, and a button shows that it is working.
71
+ */
72
+ export interface AparteCompactor {
73
+ /** Compact one chat. Never rejects. */
74
+ compact(request: AparteCompactorRequest): Promise<AparteCompactorOutcome>;
75
+ /** Resolves when no compaction of this chat is running — a send never races a summary. */
76
+ settled(targetId?: string): Promise<void>;
77
+ /**
78
+ * Before a send's request goes out, with the estimate of that request. Resolves `true`
79
+ * when it compacted, so the caller builds the request again.
80
+ */
81
+ beforeSend?(request: {
82
+ target: Element | null;
83
+ targetId?: string;
84
+ /** The turn being prepared: its user message and reply placeholder. */
85
+ exclude: string[];
86
+ /** The estimate, in tokens, of the request about to be sent. */
87
+ requestTokens: number;
88
+ /** Aborted when the turn is stopped; the compactor cancels any summary it started for it. */
89
+ signal?: AbortSignal;
90
+ }): Promise<boolean>;
91
+ /**
92
+ * What compacting now would do: how many messages it would summarise and the tokens that
93
+ * would free, or `null` when there is nothing to do. The gauge offers "Compact now" only
94
+ * when this returns something.
95
+ */
96
+ preview?(request: {
97
+ target: Element | null;
98
+ targetId?: string;
99
+ }): {
100
+ messages: number;
101
+ tokens: number;
102
+ } | null;
103
+ }
104
+ //# sourceMappingURL=compactor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compactor.d.ts","sourceRoot":"","sources":["../../src/types/compactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7E,qGAAqG;AACrG,MAAM,WAAW,sBAAsB;IACnC,mGAAmG;IACnG,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAC5B;IACE,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,IAAI,CAAC;IACd,0EAA0E;IAC1E,MAAM,EAAE,WAAW,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,GACC;IACE,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,GACC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC5B,uCAAuC;IACvC,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC1E,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C;;;OAGG;IACH,UAAU,CAAC,CAAC,OAAO,EAAE;QACjB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,uEAAuE;QACvE,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,gEAAgE;QAChE,aAAa,EAAE,MAAM,CAAC;QACtB,6FAA6F;QAC7F,MAAM,CAAC,EAAE,WAAW,CAAC;KACxB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACjH"}
@@ -30,6 +30,8 @@ export declare class AparteError extends Error {
30
30
  */
31
31
  static codeForStatus(status: number | undefined): AparteErrorCode | undefined;
32
32
  static from(error: unknown, defaultCode?: AparteErrorCode, defaultStatus?: number): AparteError;
33
+ /** The value as an {@link AparteErrorCode}, when it is one — a Node `ECONNRESET` or a vendor's own string is not. */
34
+ private static carriedCode;
33
35
  /**
34
36
  * What a thrown, statusless error says about itself. `fetch` rejects a network
35
37
  * failure with a TypeError whose message names the fetch ("Failed to fetch",
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AACA,oBAAY,eAAe;IAEvB,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB,CAAQ,iBAAiB;IAClE,oBAAoB,yBAAyB;IAG7C,gBAAgB,qBAAqB,CAAQ,WAAW;IACxD,sBAAsB,2BAA2B,CAAE,WAAW;IAC9D,iBAAiB,sBAAsB,CAAM,WAAW;IAGxD,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB,CAAkB,8BAA8B;IAC3E,SAAS,cAAc;IAGvB,cAAc,mBAAmB,CAAY,WAAW;IACxD,oBAAoB,yBAAyB,CAAE,WAAW;IAC1D,eAAe,oBAAoB,CAAU,sBAAsB;IAGnE,gGAAgG;IAChG,kBAAkB,uBAAuB;IAGzC,aAAa,kBAAkB;CAClC;AAED,qBAAa,WAAY,SAAQ,KAAK;IAEd,OAAO,EAAE,MAAM;IACxB,IAAI,EAAE,eAAe;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO;IACvB,UAAU,CAAC,EAAE,MAAM;gBAJV,OAAO,EAAE,MAAM,EACxB,IAAI,EAAE,eAAe,EACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA,EAC9B,aAAa,CAAC,EAAE,OAAO,YAAA,EACvB,UAAU,CAAC,EAAE,MAAM,YAAA;IAM9B;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS;IAY7E,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,kBAAgC,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,WAAW;IAmB7G;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;CAShC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AACA,oBAAY,eAAe;IAEvB,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB,CAAQ,iBAAiB;IAClE,oBAAoB,yBAAyB;IAG7C,gBAAgB,qBAAqB,CAAQ,WAAW;IACxD,sBAAsB,2BAA2B,CAAE,WAAW;IAC9D,iBAAiB,sBAAsB,CAAM,WAAW;IAGxD,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB,CAAkB,8BAA8B;IAC3E,SAAS,cAAc;IAGvB,cAAc,mBAAmB,CAAY,WAAW;IACxD,oBAAoB,yBAAyB,CAAE,WAAW;IAC1D,eAAe,oBAAoB,CAAU,sBAAsB;IAGnE,gGAAgG;IAChG,kBAAkB,uBAAuB;IAGzC,aAAa,kBAAkB;CAClC;AAED,qBAAa,WAAY,SAAQ,KAAK;IAEd,OAAO,EAAE,MAAM;IACxB,IAAI,EAAE,eAAe;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO;IACvB,UAAU,CAAC,EAAE,MAAM;gBAJV,OAAO,EAAE,MAAM,EACxB,IAAI,EAAE,eAAe,EACrB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA,EAC9B,aAAa,CAAC,EAAE,OAAO,YAAA,EACvB,UAAU,CAAC,EAAE,MAAM,YAAA;IAM9B;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS;IAY7E,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,kBAAgC,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,WAAW;IAyB7G,qHAAqH;IACrH,OAAO,CAAC,MAAM,CAAC,WAAW;IAM1B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;CAShC"}
@@ -3,7 +3,7 @@
3
3
  * Event interfaces for component communication and control
4
4
  */
5
5
  import type { AparteMessage } from './models.js';
6
- import type { AparteUsage } from './chat.js';
6
+ import type { AparteUsage, AparteFinishReason } from './chat.js';
7
7
  import type { AparteError } from './errors.js';
8
8
  import type { AparteActionZone } from '../config/action-provider.js';
9
9
  /**
@@ -57,6 +57,8 @@ export interface AparteMessageDoneEventDetail {
57
57
  role: string;
58
58
  /** Token usage for the completed response, if reported by the provider. */
59
59
  usage?: AparteUsage;
60
+ /** Why the model stopped writing, if the provider said — `'length'` means the reply is cut off. */
61
+ finishReason?: AparteFinishReason;
60
62
  }
61
63
  /**
62
64
  * Detail payload for `aparte-model-change`.
@@ -311,6 +313,19 @@ export interface AparteAbortEventDetail {
311
313
  export interface AparteCompactEventDetail {
312
314
  /** Which chat to compact. Omit on a single-chat page. */
313
315
  targetId?: string;
316
+ /**
317
+ * `true` when the request is an automatic one, made without a person asking: the
318
+ * gauge's deprecated `auto-compact` sets it. The plugin counts such a request against
319
+ * its back-off (two failures stop the automatic attempts), which a button's request
320
+ * never is.
321
+ */
322
+ auto?: boolean;
323
+ /**
324
+ * The context window, in tokens, the sender measured against. Honoured by the plugin
325
+ * as a last resort, when the current model declares none and no `contextWindow` option
326
+ * is set.
327
+ */
328
+ window?: number;
314
329
  }
315
330
  /**
316
331
  * Detail payload for `aparte-compact-start` — the summarisation began. The point for a
@@ -322,6 +337,12 @@ export interface AparteCompactEventDetail {
322
337
  export interface AparteCompactStartEventDetail {
323
338
  /** The chat being compacted, when it has an id. */
324
339
  targetId?: string;
340
+ /**
341
+ * The message the checkpoint will sit on — the first message kept verbatim. The
342
+ * transcript draws its "Summarising the context…" line above that message while the
343
+ * summary is being written.
344
+ */
345
+ messageId?: string;
325
346
  }
326
347
  /**
327
348
  * Detail payload for `aparte-compact-done`.
@@ -338,9 +359,10 @@ export interface AparteCompactDoneEventDetail {
338
359
  /**
339
360
  * Why it was skipped: `empty` (no messages), `nothing-to-drop` (the selector kept
340
361
  * everything), `running` (a compaction was already in flight), `streaming` (a turn
341
- * is in flight in the transcript).
362
+ * is in flight in the transcript), `no-window` (the model declares no context window
363
+ * and nothing else sizes the summary request).
342
364
  */
343
- reason?: 'empty' | 'nothing-to-drop' | 'running' | 'streaming';
365
+ reason?: 'empty' | 'nothing-to-drop' | 'running' | 'streaming' | 'no-window';
344
366
  /** The summary that replaced the compacted turns. */
345
367
  summary?: string;
346
368
  /** How many messages were kept verbatim after the summary. */
@@ -349,6 +371,19 @@ export interface AparteCompactDoneEventDetail {
349
371
  dropped?: number;
350
372
  /** The chat that was compacted, when it has an id — so a gauge on a multi-chat page resets only its own. */
351
373
  targetId?: string;
374
+ /**
375
+ * The message that now carries the checkpoint (`AparteMessage.contextSummary`), or,
376
+ * on a restore, the message whose separator Restore was pressed on.
377
+ */
378
+ messageId?: string;
379
+ /** How many messages of the path the checkpoint stands for, an earlier summary's included. */
380
+ count?: number;
381
+ /**
382
+ * `true` when this is not a compaction but a Restore: every checkpoint was removed
383
+ * from the transcript and the model reads the original messages again. `summary`,
384
+ * `kept` and `dropped` are absent.
385
+ */
386
+ restored?: boolean;
352
387
  }
353
388
  /**
354
389
  * Detail payload for `aparte-compact-error`.
@@ -363,6 +398,18 @@ export interface AparteCompactErrorEventDetail {
363
398
  error: string;
364
399
  /** The chat the compaction was for, when it has an id. */
365
400
  targetId?: string;
401
+ /**
402
+ * The message the failed checkpoint would have sat on, when it got that far — the
403
+ * transcript turns its "Summarising the context…" line into a failure with a Retry.
404
+ */
405
+ messageId?: string;
406
+ /**
407
+ * The compaction was cancelled — a Stop, an `abort()`, a Restore — rather than failed.
408
+ * Nothing went wrong and nothing is offered: the transcript and the gauge clear their
409
+ * "Summarising the context…" instead of showing a failure with a Retry, which would
410
+ * bring back a summary the person just turned away.
411
+ */
412
+ aborted?: true;
366
413
  }
367
414
  /**
368
415
  * Detail payload for `aparte-attachment-preview`.
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"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"}
@@ -6,16 +6,17 @@
6
6
  *
7
7
  * @packageDocumentation
8
8
  */
9
- export type { AparteStatus, AparteBubbleRole, AparteAttachment, AparteMessage, AparteMessageBranch, AparteBubbleActionsConfig, AparteBubbleActionName, AparteViewportConfig, AparteInputConfig } from './models.js';
9
+ export type { AparteStatus, AparteBubbleRole, AparteAttachment, AparteMessage, AparteContextSummary, AparteMessageBranch, AparteBubbleActionsConfig, AparteBubbleActionName, AparteViewportConfig, AparteInputConfig } from './models.js';
10
10
  export type { AparteStreamBlock, AparteStreamBlockMatch } from './stream-blocks.js';
11
+ export type { AparteCompactor, AparteCompactorRequest, AparteCompactorOutcome, AparteCompactorReason } from './compactor.js';
11
12
  export type { AparteSendEventDetail, AparteSiblingInfo, AparteBranchNavigateEventDetail, AparteLinkClickEventDetail, ApartePathChangedEventDetail, AparteRetryEventDetail, AparteEditEventDetail, AparteFeedbackEventDetail, AparteActionEventDetail } from './events.js';
12
13
  export type { AparteContentParser, AparteParserRegistry } from './parsers.js';
13
- export type { AparteSegmentBase, AparteSegmentDefaults, AparteSegmentTiming, AparteTextSegment, AparteThinkingSegment, AparteCodeSegment, AparteErrorSegment, AparteSegment, AparteSegmentTypes, AparteCustomSegment, AparteToolCallSegment, AparteSegmentType, AparteSegmentRenderer, AparteSegmentUpdateEventDetail } from './segments.js';
14
+ export type { AparteSegmentBase, AparteSegmentDefaults, AparteSegmentTiming, AparteTextSegment, AparteThinkingSegment, AparteCodeSegment, AparteErrorSegment, AparteSegment, AparteSegmentTypes, AparteCustomSegment, AparteToolCallSegment, AparteSegmentType, AparteSegmentRenderer, AparteSegmentMount, AparteSegmentUpdateEventDetail } from './segments.js';
14
15
  export type { AparteThemeVariables } from './theming.js';
15
16
  export type { AparteAIModel, AparteAIProvider, AparteAIProviderMetadata, AparteAIProviderConfigField, AparteAIProviderConfigSchema, AparteModelConfig, ModelStatus, ModelLoadProgress } from './model-provider.js';
16
- export type { AparteChatRequest, AparteRequestMeta, AparteChatResponse, AparteChatMessage, AparteContentPart, AparteTextPart, AparteImagePart, AparteStreamEvent, AparteStreamEventMap, AparteUsage } from './chat.js';
17
+ export type { AparteChatRequest, AparteRequestMeta, AparteChatResponse, AparteChatMessage, AparteContentPart, AparteTextPart, AparteImagePart, AparteStreamEvent, AparteStreamEventMap, AparteUsage, AparteFinishReason } from './chat.js';
17
18
  export { contentToText } from './chat.js';
18
- export type { AparteTool, AparteToolCall, AparteApprovalPolicy, AparteApprovalRuling, AparteToolResult, AparteToolHandler, AparteToolContext, AparteToolRenderer, AparteToolSummary, AparteToolInputFormatter, AparteToolMatcher, AparteToolDisplay, AparteToolDetails, AparteToolApprovalRequestDetail, } from './tools.js';
19
+ export type { AparteTool, AparteToolCall, AparteApprovalPolicy, AparteApprovalRuling, AparteToolResult, AparteToolHandler, AparteToolContext, AparteToolRenderer, AparteToolSummary, AparteToolInputFormatter, AparteToolMatcher, AparteToolDisplay, AparteToolDetails, AparteToolCallView, AparteMountedView, AparteToolMount, AparteToolApprovalRequestDetail, } from './tools.js';
19
20
  export { AparteErrorCode, AparteError } from './errors.js';
20
21
  export type { AparteModelChangeEventDetail, AparteApprovalModeChangeEventDetail, AparteMessageDoneEventDetail, AparteMessageStartEventDetail, AparteMessageErrorEventDetail, AparteMessageAbortedEventDetail, AparteMessagePausedEventDetail, AparteMessageResumedEventDetail, AparteAbortEventDetail, AparteCompactEventDetail, AparteCompactDoneEventDetail, AparteCompactStartEventDetail, AparteCompactErrorEventDetail, AparteAttachmentPreviewEventDetail, AparteMessageInfoEventDetail, } from './events.js';
21
22
  export type { AparteElementAttributes, AparteElementTagName, AparteAttrValue, AparteTemplateAttrs, AparteNoAttributes, AparteChatAttributes, AparteChatViewportAttributes, AparteChatBubbleAttributes, AparteChatStatusAttributes, AparteComposerAttributes, AparteComposerInputAttributes, AparteComposerActionAttributes, AparteComposerAddAttachmentAttributes, AparteComposerToolbarAttributes, AparteConversationListAttributes, AparteSelectAttributes, AparteOptionAttributes, AparteOptgroupAttributes, AparteProgressSpinnerAttributes, AparteContextAttributes, AparteIconAttributes, AparteScrollRailAttributes, AparteSidebarAttributes, AparteSplitAttributes, AparteSuggestionsAttributes } from './element-attributes.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,YAAY,EACR,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACpB,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAMpF,YAAY,EACR,qBAAqB,EACrB,iBAAiB,EACjB,+BAA+B,EAC/B,0BAA0B,EAC1B,4BAA4B,EAC5B,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EAC1B,MAAM,aAAa,CAAC;AAMrB,YAAY,EACR,mBAAmB,EACnB,oBAAoB,EACvB,MAAM,cAAc,CAAC;AAMtB,YAAY,EACR,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,8BAA8B,EACjC,MAAM,eAAe,CAAC;AAgBvB,YAAY,EACR,oBAAoB,EACvB,MAAM,cAAc,CAAC;AAMtB,YAAY,EACR,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACpB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACR,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACd,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,YAAY,EACR,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,+BAA+B,GAClC,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE3D,YAAY,EACR,4BAA4B,EAC5B,mCAAmC,EACnC,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,kCAAkC,EAClC,4BAA4B,GAC/B,MAAM,aAAa,CAAC;AAKrB,YAAY,EACR,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,qCAAqC,EACrC,+BAA+B,EAC/B,gCAAgC,EAChC,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,+BAA+B,EAC/B,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,2BAA2B,EAC9B,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  * @packageDocumentation
9
9
  */
10
10
  import { AparteChatRequest, AparteChatResponse, AparteStreamEvent } from './chat.js';
11
+ import type { AparteErrorCode } from './errors.js';
11
12
  /**
12
13
  * Represents an AI model that can be selected by the user.
13
14
  *
@@ -208,6 +209,8 @@ export interface AparteAIProviderFormat {
208
209
  parseStream(body: ReadableStream<Uint8Array>): ReadableStream<AparteStreamEvent>;
209
210
  /** Extract text from a non-streaming vendor JSON response. */
210
211
  parseText?(json: unknown): string;
212
+ /** Name a non-ok vendor response a status cannot (an overflowing prompt) — see `AparteFormatAdapter.classifyError`. */
213
+ classifyError?(status: number, body: unknown): AparteErrorCode | undefined;
211
214
  }
212
215
  /** Both ways a format adapter can present a resolved key. At least one is required. */
213
216
  export interface AparteAIProviderAuthMembers {
@@ -1 +1 @@
1
- {"version":3,"file":"model-provider.d.ts","sourceRoot":"","sources":["../../src/types/model-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-provider.d.ts","sourceRoot":"","sources":["../../src/types/model-provider.ts"],"names":[],"mappings":"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"}
@@ -125,6 +125,20 @@ export interface AparteHostHandlersConfig {
125
125
  */
126
126
  attachmentPreview?: boolean;
127
127
  }
128
+ /**
129
+ * A checkpoint over a kept history: what the model reads in place of the messages
130
+ * before the one that carries it. Written by whoever summarises
131
+ * (`@aparte/plugin-compaction`, or a host summarising by other means) onto the first
132
+ * kept message as `AparteMessage.contextSummary`.
133
+ */
134
+ export interface AparteContextSummary {
135
+ /** What the model reads in place of every message before this one on the path. */
136
+ summary: string;
137
+ /** How many messages of the path the summary stands for — the separator's "N". */
138
+ count: number;
139
+ /** When the summary was written, in epoch milliseconds. */
140
+ createdAt: number;
141
+ }
128
142
  /**
129
143
  * Core message structure for the chat
130
144
  * Supports both simple content and rich multi-segment content
@@ -154,6 +168,12 @@ export interface AparteMessage {
154
168
  attachments?: AparteAttachment[];
155
169
  /** Token usage + timing reported by the provider for assistant messages. */
156
170
  usage?: import('./chat.js').AparteUsage;
171
+ /**
172
+ * Why the model stopped writing this reply, when the provider said. Kept with the
173
+ * message, so a reply cut off at the length limit (`'length'`) still says so after a
174
+ * reload.
175
+ */
176
+ finishReason?: import('./chat.js').AparteFinishReason;
157
177
  /**
158
178
  * The provider, model and temperature an assistant turn ran on, written by
159
179
  * `AparteClient` when the turn starts. A turn a server paused is resumed on them after
@@ -168,11 +188,31 @@ export interface AparteMessage {
168
188
  * This message is the summary `@aparte/plugin-compaction` injected in place of the
169
189
  * turns it summarised (a host that summarises by other means sets the flag too). Its role is `user` — the summary is context handed to the
170
190
  * model, and a `system` message mid-conversation is refused by some providers —
171
- * but it is not something the user said: the viewport renders it as a notice
172
- * (`data-kind="compaction"` on the bubble: centred, no avatar, no actions) and
173
- * the history sends it under a fixed preamble saying what it is.
191
+ * but it is not something the user said: the bubble draws a separator in its place
192
+ * ("Earlier messages were summarised", with the summary behind Show summary; no
193
+ * count and no Restore, since an older compaction replaced the turns) and the history
194
+ * sends it under a fixed preamble saying what it is. A compaction that keeps the
195
+ * messages writes {@link AparteMessage.contextSummary} instead.
174
196
  */
175
197
  compaction?: true;
198
+ /**
199
+ * A checkpoint: from this message on, the model reads `contextSummary.summary` in
200
+ * place of every message before it on the path. Nothing before it is deleted — the
201
+ * reader still scrolls up to them, a host still stores them — only what goes to the
202
+ * model is shortened (`historyFromCheckpoint`). It sits on the first KEPT message,
203
+ * which is a `user` message, so the history still alternates its roles.
204
+ *
205
+ * Absent and `undefined` mean the same thing: no checkpoint here.
206
+ */
207
+ contextSummary?: AparteContextSummary;
208
+ /**
209
+ * The estimate, in tokens, of the request that produced this reply, recorded by
210
+ * `AparteClient` when it sends. Read back beside the provider's real input count
211
+ * (`usage.inputTokens`) to calibrate the context measure: the ratio of the two says
212
+ * how far the character heuristic is off for this model and this conversation.
213
+ * Absent when the request carried a part the heuristic cannot count (an image).
214
+ */
215
+ contextEstimate?: number;
176
216
  /**
177
217
  * Alternative responses generated by retrying.
178
218
  *
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/types/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAMnD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;AAMhG,mDAAmD;AACnD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,CAAC;AAMpD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IAEX,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IAEb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IAEb,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IAEZ,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;CACf;AAUD;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAChC,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,oBAAoB;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;CACrB;AAMD;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;AAElG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,yBAAyB;IACtC,uFAAuF;IACvF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mGAAmG;IACnG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qGAAqG;IACrG,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kFAAkF;IAClF,IAAI,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAChC,gHAAgH;IAChH,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACxC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,wBAAwB;IACrC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IAEX,iCAAiC;IACjC,IAAI,EAAE,gBAAgB,CAAC;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAE3B,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAElB,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,oCAAoC;IACpC,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,iDAAiD;IACjD,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEjC,4EAA4E;IAC5E,KAAK,CAAC,EAAE,OAAO,WAAW,EAAE,WAAW,CAAC;IAExC;;;;OAIG;IACH,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEtE;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAEjC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAMD,mDAAmD;AACnD,MAAM,WAAW,oBAAoB;IACjC,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,oDAAoD;AACpD,MAAM,WAAW,iBAAiB;IAC9B,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,OAAO,MAA6C,CAAC"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/types/models.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export interface AparteSegmentBase {
23
23
  * does not serialise the type itself — `custom`, and any type core does not know (a
24
24
  * registered block grammar's, a plugin's). A `text` or a `code` segment contributes
25
25
  * its `content` and nothing else; `thinking` and `tool_call` are left out of the history
26
- * on purpose (`_segmentsToText` in `AparteClient` states why), and so is `error`.
26
+ * on purpose (`segmentsToWireText` states why), and so is `error`.
27
27
  */
28
28
  fallback?: string;
29
29
  /** Id of the message this segment belongs to. Stamped on insertion. */
@@ -391,11 +391,29 @@ export interface AparteSegmentRenderer<T extends AparteSegmentBase = AparteSegme
391
391
  */
392
392
  relabel?(element: HTMLElement, segment: T): void;
393
393
  /**
394
- * Optional: Cleanup when segment is removed
395
- * @param element - The DOM element being removed
394
+ * Optional: the element `render()` returned is gone for good — unmount what you
395
+ * mounted in it.
396
+ *
397
+ * Called once per element, with the element and the segment's latest state, when it
398
+ * leaves the page for good: replaced by a new `render()` (a segment redrawn, a message
399
+ * redrawn in a new frame, this renderer replaced by another registration), its segment
400
+ * removed, or its message removed. Never for `update()` or `relabel()`, and never for
401
+ * a message a framework only MOVED: a bubble taken out and put back before the next
402
+ * microtask keeps its elements. A bubble that comes back after a longer absence (a
403
+ * framework's keep-alive cache, a reused route) draws its segments again, so a
404
+ * renderer sees `render`/`setup` once more after its `cleanup`.
405
+ *
406
+ * A renderer that replaces its own element inside `update()` cleans up what it
407
+ * replaced itself: the bubble then follows the new element and calls this for it.
408
+ *
409
+ * This hook was declared long before anything called it; it is called now.
410
+ * @param element - The DOM element leaving
411
+ * @param segment - The segment it was last drawn or updated with
396
412
  */
397
- cleanup?(element: HTMLElement): void;
413
+ cleanup?(element: HTMLElement, segment: T): void;
398
414
  }
415
+ /** Mount your component for one segment in `host`, and say how to update and destroy it. */
416
+ export type AparteSegmentMount<T extends AparteSegmentBase = AparteSegmentBase> = (host: HTMLElement, segment: T) => import('./tools.js').AparteMountedView<T>;
399
417
  /** Event when segment content is updated during streaming */
400
418
  export interface AparteSegmentUpdateEventDetail {
401
419
  messageId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/types/segments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/types/segments.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAC9B,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IAEX,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IAEb,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAkBlB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,MAAM,CAAC,EAAE,mBAAmB,CAAA;KAAE,CAAC;CACrE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,mBAAmB;IAChC,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC5D,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IACzD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,0GAA0G;IAC1G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC5D,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,OAAO,YAAY,EAAE,cAAc,CAAC;IAC9C;;;;OAIG;IACH,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,mBAAmB,GAAG,UAAU,GAAG,QAAQ,CAAC;IACzF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mGAAmG;IACnG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E;;;;;OAKG;IACH,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,OAAO,gBAAgB,EAAE,mBAAmB,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrF;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,gBAAgB,EAAE,gBAAgB,GAAG,YAAY,CAAC;IACtE;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC1D,IAAI,EAAE,QAAQ,CAAC;IACf,yGAAyG;IACzG,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAMD;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACnB,iBAAiB,GACjB,qBAAqB,GACrB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,qBAAqB,GACrB,kBAAkB,CAAC,MAAM,kBAAkB,CAAC,CAAC;AAEnD;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,kBAAkB;CAAG;AAEtC,wCAAwC;AACxC,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAMtD;;;GAGG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB;IAClF,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC;IAEzC;;;OAGG;IACH,SAAS,CAAC,IAAI,MAAM,CAAC;IAErB;;;;OAIG;IACH,KAAK,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAE/C;;;;;OAKG;IACH,MAAM,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAEjD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;CACpD;AAED,4FAA4F;AAC5F,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAC1E,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,KAAK,OAAO,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAMjF,6DAA6D;AAC7D,MAAM,WAAW,8BAA8B;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -294,7 +294,63 @@ export interface AparteToolRenderer {
294
294
  * text and glyphs only.
295
295
  */
296
296
  relabel?: (element: HTMLElement, segment: AparteToolCallSegment) => void;
297
+ /**
298
+ * The element `render()` returned is gone for good: unmount what you mounted in it.
299
+ *
300
+ * Called once per element, with the element and the call's latest segment, when it
301
+ * leaves the page for good — replaced by a new `render()`, its segment removed, its
302
+ * message redrawn, its message removed, or its renderer replaced (a renderer
303
+ * registered or unregistered for this tool redraws the calls already on screen). Never
304
+ * for `update()` or `relabel()`, and never for a message a framework only MOVED: a
305
+ * bubble taken out and put back before the next microtask keeps its elements. Always called
306
+ * on the renderer that drew the element, even when another one has been registered
307
+ * since.
308
+ *
309
+ * A framework component mounted in `setup()` is unmounted here; without it, it keeps
310
+ * running (and keeps its subscriptions) after its card is gone. The same hook, under
311
+ * the same name, as {@link AparteSegmentRenderer.cleanup}.
312
+ */
313
+ cleanup?: (element: HTMLElement, segment: AparteToolCallSegment) => void;
297
314
  /** Optional CSS to inject once into document.head */
298
315
  getStyles?: () => string;
299
316
  }
317
+ /**
318
+ * One tool call as a component of yours draws it: the fields a card reads, in one object,
319
+ * the same in every framework. `input` is what the model passed and `result` what the tool
320
+ * answered — both model-chosen, so treat them as untrusted when you render them.
321
+ */
322
+ export interface AparteToolCallView<I = unknown, R = unknown> {
323
+ /** The call's id, as the model issued it. */
324
+ readonly id: string;
325
+ /** The tool's name. */
326
+ readonly name: string;
327
+ /** The arguments the model passed. */
328
+ readonly input: I;
329
+ /** Where the call stands: running, waiting for a person, done, refused, stopped or failed. */
330
+ readonly status: AparteToolCallSegment['status'];
331
+ /** The tool's answer as text, once it has one. */
332
+ readonly result?: string;
333
+ /** The tool's answer as data, when it returned some. */
334
+ readonly structuredResult?: R;
335
+ /** Why the call was left to someone else (an approval, an external runner, a queue). */
336
+ readonly deferred?: AparteToolCallSegment['deferred'];
337
+ /** Who refused the call, and what they said. */
338
+ readonly refusal?: AparteToolCallSegment['refusal'];
339
+ /** Why the call was stopped. */
340
+ readonly abortCause?: AparteToolCallSegment['abortCause'];
341
+ /** The segment itself, for anything the fields above do not carry. */
342
+ readonly segment: AparteToolCallSegment;
343
+ }
344
+ /**
345
+ * Something mounted in an element core created — a framework component, usually — and the
346
+ * two things core does with it: hand it a newer state, and take it down.
347
+ */
348
+ export interface AparteMountedView<V> {
349
+ /** A newer state of what it draws: re-render in place, keep local state. */
350
+ update(view: V): void;
351
+ /** Its element is leaving for good: unmount. */
352
+ destroy(): void;
353
+ }
354
+ /** Mount your component for one tool call in `host`, and say how to update and destroy it. */
355
+ export type AparteToolMount = (host: HTMLElement, view: AparteToolCallView) => AparteMountedView<AparteToolCallView>;
300
356
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aparte/core",
3
- "version": "0.24.0",
3
+ "version": "0.26.0",
4
4
  "homepage": "https://apartejs.dev/",
5
5
  "description": "AI chat and agent UI components as Web Components, with the agent loop inside — zero third-party dependencies",
6
6
  "type": "module",
@@ -79,7 +79,7 @@
79
79
  "node": ">=18"
80
80
  },
81
81
  "dependencies": {
82
- "@aparte/engine": "0.24.0"
82
+ "@aparte/engine": "0.26.0"
83
83
  },
84
84
  "devDependencies": {
85
85
  "@custom-elements-manifest/analyzer": "^0.11.0",