@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.
- package/dist/client/agent-runner.d.ts.map +1 -1
- package/dist/client/aparte-client.d.ts +38 -76
- package/dist/client/aparte-client.d.ts.map +1 -1
- package/dist/client/stream-adapter.d.ts.map +1 -1
- package/dist/client/wire-history.d.ts +78 -0
- package/dist/client/wire-history.d.ts.map +1 -1
- package/dist/components/bubble/aparte-chat-bubble.d.ts +152 -2
- package/dist/components/bubble/aparte-chat-bubble.d.ts.map +1 -1
- package/dist/components/bubble/bubble-sync.d.ts +5 -1
- package/dist/components/bubble/bubble-sync.d.ts.map +1 -1
- package/dist/components/bubble/checkpoint-separator.d.ts +40 -0
- package/dist/components/bubble/checkpoint-separator.d.ts.map +1 -0
- package/dist/components/chat/aparte-chat.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer-action.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer-add-attachment.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer-attachments.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer-cancel.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer-input.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer-send.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer-toolbar.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer.d.ts.map +1 -1
- package/dist/components/context/aparte-context.d.ts +157 -25
- package/dist/components/context/aparte-context.d.ts.map +1 -1
- package/dist/components/conversation-list/aparte-conversation-list.d.ts.map +1 -1
- package/dist/components/elicitation/aparte-elicitation.d.ts.map +1 -1
- package/dist/components/scroll-rail/aparte-scroll-rail.d.ts.map +1 -1
- package/dist/components/sidebar/aparte-sidebar.d.ts.map +1 -1
- package/dist/components/split/aparte-split.d.ts.map +1 -1
- package/dist/components/status/aparte-chat-status.d.ts.map +1 -1
- package/dist/components/suggestions/aparte-suggestions.d.ts.map +1 -1
- package/dist/components/viewport/aparte-chat-viewport.d.ts +7 -0
- package/dist/components/viewport/aparte-chat-viewport.d.ts.map +1 -1
- package/dist/config/aparte-config.d.ts +47 -1
- package/dist/config/aparte-config.d.ts.map +1 -1
- package/dist/config/locale.d.ts +62 -4
- package/dist/config/locale.d.ts.map +1 -1
- package/dist/context/checkpoint-state.d.ts +70 -0
- package/dist/context/checkpoint-state.d.ts.map +1 -0
- package/dist/context/checkpoint.d.ts +28 -0
- package/dist/context/checkpoint.d.ts.map +1 -0
- package/dist/context/measure.d.ts +148 -0
- package/dist/context/measure.d.ts.map +1 -0
- package/dist/context/restore.d.ts +24 -0
- package/dist/context/restore.d.ts.map +1 -0
- package/dist/conversations/conversation-controller.d.ts +13 -4
- package/dist/conversations/conversation-controller.d.ts.map +1 -1
- package/dist/conversations/conversation-manager.d.ts +6 -0
- package/dist/conversations/conversation-manager.d.ts.map +1 -1
- package/dist/custom-elements.json +15347 -12878
- package/dist/{dialog-triggers-BqXRdHWZ.js → defer-hydration-8vI8xNNx.js} +1179 -374
- package/dist/defer-hydration-8vI8xNNx.js.map +1 -0
- package/dist/generated/element-attributes.d.ts +8 -2
- package/dist/generated/element-attributes.d.ts.map +1 -1
- package/dist/{glyphs-C8z2oJUg.js → glyphs-2bym5jl5.js} +1 -1
- package/dist/{glyphs-C8z2oJUg.js.map → glyphs-2bym5jl5.js.map} +1 -1
- package/dist/host/aparte-chat-host.d.ts +41 -2
- package/dist/host/aparte-chat-host.d.ts.map +1 -1
- package/dist/icons.js +2 -2
- package/dist/index.css +1 -1
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1059 -95
- package/dist/index.js.map +1 -1
- package/dist/index.node.d.ts +6 -2
- package/dist/index.node.d.ts.map +1 -1
- package/dist/index.node.js +39 -29
- package/dist/index.node.js.map +1 -1
- package/dist/interop/defer-hydration.d.ts +34 -0
- package/dist/interop/defer-hydration.d.ts.map +1 -0
- package/dist/primitives/icon/aparte-icon.d.ts.map +1 -1
- package/dist/primitives/progress-spinner/aparte-progress-spinner.d.ts.map +1 -1
- package/dist/primitives/select/aparte-optgroup.d.ts.map +1 -1
- package/dist/primitives/select/aparte-option.d.ts.map +1 -1
- package/dist/primitives/select/aparte-select.d.ts.map +1 -1
- package/dist/renderers/index.d.ts +2 -1
- package/dist/renderers/index.d.ts.map +1 -1
- package/dist/renderers/mounted-renderer.d.ts +34 -0
- package/dist/renderers/mounted-renderer.d.ts.map +1 -0
- package/dist/renderers/segment-renderers.d.ts +14 -1
- package/dist/renderers/segment-renderers.d.ts.map +1 -1
- package/dist/renderers/segments/tool-call.d.ts +2 -1
- package/dist/renderers/segments/tool-call.d.ts.map +1 -1
- package/dist/transport/agent-handler.d.ts.map +1 -1
- package/dist/transport/backend-handler.d.ts.map +1 -1
- package/dist/transport/types.d.ts +24 -4
- package/dist/transport/types.d.ts.map +1 -1
- package/dist/types/chat.d.ts +16 -1
- package/dist/types/chat.d.ts.map +1 -1
- package/dist/types/compactor.d.ts +104 -0
- package/dist/types/compactor.d.ts.map +1 -0
- package/dist/types/errors.d.ts +2 -0
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/events.d.ts +50 -3
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/index.d.ts +5 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model-provider.d.ts +3 -0
- package/dist/types/model-provider.d.ts.map +1 -1
- package/dist/types/models.d.ts +43 -3
- package/dist/types/models.d.ts.map +1 -1
- package/dist/types/segments.d.ts +22 -4
- package/dist/types/segments.d.ts.map +1 -1
- package/dist/types/tools.d.ts +56 -0
- package/dist/types/tools.d.ts.map +1 -1
- package/package.json +2 -2
- 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"}
|
package/dist/types/errors.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/types/events.d.ts
CHANGED
|
@@ -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":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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;
|
|
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":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"model-provider.d.ts","sourceRoot":"","sources":["../../src/types/model-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/types/models.d.ts
CHANGED
|
@@ -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
|
|
172
|
-
* (
|
|
173
|
-
*
|
|
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":"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
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/types/models.ts"],"names":[],"mappings":"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"}
|
package/dist/types/segments.d.ts
CHANGED
|
@@ -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 (`
|
|
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:
|
|
395
|
-
*
|
|
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":"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"}
|
package/dist/types/tools.d.ts
CHANGED
|
@@ -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.
|
|
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.
|
|
82
|
+
"@aparte/engine": "0.26.0"
|
|
83
83
|
},
|
|
84
84
|
"devDependencies": {
|
|
85
85
|
"@custom-elements-manifest/analyzer": "^0.11.0",
|