@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.
- package/dist/client/aparte-client.d.ts +66 -95
- package/dist/client/aparte-client.d.ts.map +1 -1
- package/dist/client/stream-adapter.d.ts +7 -13
- package/dist/client/stream-adapter.d.ts.map +1 -1
- package/dist/client/wire-history.d.ts +4 -5
- package/dist/client/wire-history.d.ts.map +1 -1
- package/dist/components/bubble/aparte-chat-bubble.d.ts +88 -57
- package/dist/components/bubble/aparte-chat-bubble.d.ts.map +1 -1
- package/dist/components/chat/aparte-chat.d.ts +15 -13
- package/dist/components/chat/aparte-chat.d.ts.map +1 -1
- package/dist/components/chat/glide-gate.d.ts +13 -0
- package/dist/components/chat/glide-gate.d.ts.map +1 -0
- package/dist/components/composer/aparte-composer-action.d.ts +2 -2
- package/dist/components/composer/aparte-composer-add-attachment.d.ts +1 -1
- package/dist/components/composer/aparte-composer-input.d.ts +1 -5
- package/dist/components/composer/aparte-composer-input.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer-send.d.ts +8 -10
- package/dist/components/composer/aparte-composer-send.d.ts.map +1 -1
- package/dist/components/composer/aparte-composer.d.ts +48 -80
- package/dist/components/composer/aparte-composer.d.ts.map +1 -1
- package/dist/components/context/aparte-context.d.ts +9 -4
- package/dist/components/context/aparte-context.d.ts.map +1 -1
- package/dist/components/conversation-list/aparte-conversation-list.d.ts +23 -13
- package/dist/components/conversation-list/aparte-conversation-list.d.ts.map +1 -1
- package/dist/components/elicitation/aparte-elicitation.d.ts +15 -22
- package/dist/components/elicitation/aparte-elicitation.d.ts.map +1 -1
- package/dist/components/scroll-rail/aparte-scroll-rail.d.ts +10 -11
- package/dist/components/scroll-rail/aparte-scroll-rail.d.ts.map +1 -1
- package/dist/components/sidebar/aparte-sidebar.d.ts +16 -3
- package/dist/components/sidebar/aparte-sidebar.d.ts.map +1 -1
- package/dist/components/split/aparte-split.d.ts +12 -3
- 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 +6 -9
- package/dist/components/suggestions/aparte-suggestions.d.ts.map +1 -1
- package/dist/components/viewport/aparte-chat-viewport.d.ts +70 -70
- package/dist/components/viewport/aparte-chat-viewport.d.ts.map +1 -1
- package/dist/config/aparte-config.d.ts +88 -67
- package/dist/config/aparte-config.d.ts.map +1 -1
- package/dist/config/icon-provider.d.ts +19 -2
- package/dist/config/icon-provider.d.ts.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/locale.d.ts +57 -89
- package/dist/config/locale.d.ts.map +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/conversations/conversation-controller.d.ts +18 -3
- package/dist/conversations/conversation-controller.d.ts.map +1 -1
- package/dist/conversations/conversation-manager.d.ts +3 -3
- package/dist/conversations/conversation-manager.d.ts.map +1 -1
- package/dist/custom-elements.json +7626 -6906
- package/dist/{dialog-triggers-ChnPFG9M.js → dialog-triggers-3Rk7PuZa.js} +444 -287
- package/dist/dialog-triggers-3Rk7PuZa.js.map +1 -0
- package/dist/elicitation/approval-panel.d.ts.map +1 -1
- package/dist/elicitation/index.d.ts +6 -1
- package/dist/elicitation/index.d.ts.map +1 -1
- package/dist/elicitation/panel.d.ts +11 -21
- package/dist/elicitation/panel.d.ts.map +1 -1
- package/dist/elicitation/types.d.ts +19 -27
- package/dist/elicitation/types.d.ts.map +1 -1
- package/dist/generated/element-attributes.d.ts +11 -5
- package/dist/generated/element-attributes.d.ts.map +1 -1
- package/dist/host/aparte-chat-host.d.ts +17 -32
- package/dist/host/aparte-chat-host.d.ts.map +1 -1
- package/dist/icons/extended.d.ts +1 -2
- package/dist/icons/extended.d.ts.map +1 -1
- package/dist/icons.d.ts +6 -8
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +12 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +682 -327
- package/dist/index.js.map +1 -1
- package/dist/index.node.d.ts +6 -3
- package/dist/index.node.d.ts.map +1 -1
- package/dist/index.node.js +2 -2
- package/dist/index.node.js.map +1 -1
- package/dist/interop/dialog-triggers.d.ts +2 -2
- package/dist/interop/element-props.d.ts +16 -27
- package/dist/interop/element-props.d.ts.map +1 -1
- package/dist/primitives/icon/aparte-icon.d.ts.map +1 -1
- package/dist/primitives/select/aparte-option.d.ts +3 -2
- package/dist/primitives/select/aparte-option.d.ts.map +1 -1
- package/dist/primitives/select/aparte-select.d.ts +24 -21
- package/dist/primitives/select/aparte-select.d.ts.map +1 -1
- package/dist/renderers/markdown-stream.d.ts.map +1 -1
- package/dist/renderers/segment-renderers.d.ts +11 -17
- package/dist/renderers/segment-renderers.d.ts.map +1 -1
- package/dist/renderers/segments/code.d.ts.map +1 -1
- package/dist/renderers/segments/error.d.ts.map +1 -1
- package/dist/renderers/segments/text.d.ts.map +1 -1
- package/dist/renderers/segments/tool-call.d.ts.map +1 -1
- package/dist/runtime/message-repository.d.ts +8 -15
- package/dist/runtime/message-repository.d.ts.map +1 -1
- package/dist/transport/backend-handler.d.ts +4 -6
- package/dist/transport/backend-handler.d.ts.map +1 -1
- package/dist/transport/backend-transport.d.ts +14 -0
- package/dist/transport/backend-transport.d.ts.map +1 -1
- package/dist/transport/types.d.ts +7 -10
- package/dist/transport/types.d.ts.map +1 -1
- package/dist/types/chat.d.ts +10 -18
- package/dist/types/chat.d.ts.map +1 -1
- package/dist/types/element-attributes.d.ts +6 -12
- package/dist/types/element-attributes.d.ts.map +1 -1
- package/dist/types/element-map.d.ts +6 -19
- package/dist/types/element-map.d.ts.map +1 -1
- package/dist/types/event-map.d.ts +11 -17
- package/dist/types/event-map.d.ts.map +1 -1
- package/dist/types/events.d.ts +5 -14
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model-provider.d.ts +7 -9
- package/dist/types/model-provider.d.ts.map +1 -1
- package/dist/types/segments.d.ts +21 -13
- package/dist/types/segments.d.ts.map +1 -1
- package/dist/types/tools.d.ts +20 -22
- package/dist/types/tools.d.ts.map +1 -1
- package/dist/utils/copy-text.d.ts +1 -2
- package/dist/utils/copy-text.d.ts.map +1 -1
- package/dist/utils/css-escape.d.ts +1 -1
- package/dist/utils/escape.d.ts +4 -19
- package/dist/utils/escape.d.ts.map +1 -1
- package/dist/utils/files-to-attachments.d.ts +2 -2
- package/dist/utils/fold-text.d.ts +13 -0
- package/dist/utils/fold-text.d.ts.map +1 -0
- package/dist/utils/is-awaiting-reply.d.ts +2 -5
- package/dist/utils/is-awaiting-reply.d.ts.map +1 -1
- package/dist/utils/presence.d.ts +5 -5
- package/dist/utils/segments.d.ts +54 -78
- package/dist/utils/segments.d.ts.map +1 -1
- package/dist/utils/tool-input.d.ts +1 -1
- package/dist/utils/tool-input.d.ts.map +1 -1
- package/dist/utils/transcript.d.ts +2 -2
- package/dist/utils/uuid.d.ts +0 -11
- package/dist/utils/uuid.d.ts.map +1 -1
- package/package.json +29 -3
- package/dist/dialog-triggers-ChnPFG9M.js.map +0 -1
|
@@ -35,6 +35,20 @@ export interface BackendTransportOptions {
|
|
|
35
35
|
* {@link createAparteChatHandler} (Web `fetch` API, same `@aparte/*` adapters run
|
|
36
36
|
* server-side, key held server-side). Drop it into a Next.js route handler,
|
|
37
37
|
* Deno, Bun, or a Worker rather than hand-rolling one.
|
|
38
|
+
*
|
|
39
|
+
* The page still registers a provider under each id the route knows: the client
|
|
40
|
+
* reads a model's capabilities from it and refuses to send to an id it does not
|
|
41
|
+
* have. Nothing of that provider runs in the page — no request is built from it and
|
|
42
|
+
* its `chat()` is never called — so the keyless adapter is enough, or, for an id no
|
|
43
|
+
* client package exists for, a stub:
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* aparteGlobalConfig.registerAIProvider({
|
|
47
|
+
* id: 'internal',
|
|
48
|
+
* getMetadata: () => ({ id: 'internal', name: 'Internal' }),
|
|
49
|
+
* getModels: () => [{ id: 'house-model', name: 'House model', capabilities: ['streaming', 'function_calling'] }],
|
|
50
|
+
* chat: () => { throw new Error('runs on the server'); },
|
|
51
|
+
* });
|
|
38
52
|
*/
|
|
39
53
|
export declare class AparteBackendTransport implements AparteTransport {
|
|
40
54
|
private readonly options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-transport.d.ts","sourceRoot":"","sources":["../../src/transport/backend-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAI1E,MAAM,WAAW,uBAAuB;IACpC,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3E;AAED
|
|
1
|
+
{"version":3,"file":"backend-transport.d.ts","sourceRoot":"","sources":["../../src/transport/backend-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAI1E,MAAM,WAAW,uBAAuB;IACpC,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,sBAAuB,YAAW,eAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,uBAAuB;IAEvD,IAAI,CACN,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAClD,GAAG,EAAE,sBAAsB,GAC5B,OAAO,CAAC,kBAAkB,CAAC;CA4BjC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Transport seam — separates
|
|
2
|
+
* Transport seam — separates two concerns of a provider:
|
|
3
3
|
*
|
|
4
4
|
* • **Format adapter** (`AparteFormatAdapter`): the vendor-specific concern —
|
|
5
5
|
* how to shape the HTTP request and how to parse the response stream into
|
|
@@ -9,9 +9,8 @@
|
|
|
9
9
|
* BYOK/local) or via your own backend that holds the key
|
|
10
10
|
* (`AparteBackendTransport`, recommended for production).
|
|
11
11
|
*
|
|
12
|
-
* A
|
|
13
|
-
*
|
|
14
|
-
* adapter surface OR a legacy `chat()`; the transports handle both.
|
|
12
|
+
* A provider exposes EITHER the format-adapter surface OR a legacy monolithic
|
|
13
|
+
* `chat()` (fetch + key + parse); the transports handle both.
|
|
15
14
|
*/
|
|
16
15
|
import type { AparteChatRequest, AparteChatResponse, AparteStreamEvent } from '../types/chat.js';
|
|
17
16
|
import type { AparteAIProvider } from '../types/model-provider.js';
|
|
@@ -64,16 +63,14 @@ export declare function readAuth(auth: string | Record<string, string> | undefin
|
|
|
64
63
|
export declare function vendorErrorMessage(response: Response, label?: string): Promise<string>;
|
|
65
64
|
/**
|
|
66
65
|
* The error a non-ok vendor/backend response becomes: the message the body carries
|
|
67
|
-
* (or `${label} ${status}`), the status, and the code that status stands for
|
|
68
|
-
*
|
|
69
|
-
* card as UNKNOWN_ERROR — a 429 and a 503 read the same to a listener.
|
|
66
|
+
* (or `${label} ${status}`), the status, and the code that status stands for, so a
|
|
67
|
+
* 429 and a 503 are told apart by a listener.
|
|
70
68
|
*/
|
|
71
69
|
export declare function vendorError(response: Response, label?: string): Promise<AparteError>;
|
|
72
70
|
/**
|
|
73
71
|
* Resolve a non-streaming response to text via the adapter's `parseText`.
|
|
74
|
-
* Both transports use this so `stream: false` behaves identically
|
|
75
|
-
*
|
|
76
|
-
* `parseText` was missing — now both fail loud).
|
|
72
|
+
* Both transports use this so `stream: false` behaves identically. It throws when the
|
|
73
|
+
* adapter has no `parseText`.
|
|
77
74
|
*/
|
|
78
75
|
export declare function parseNonStreamText(provider: {
|
|
79
76
|
parseText?: (json: unknown) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transport/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transport/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAmB,MAAM,oBAAoB,CAAC;AAElE,wFAAwF;AACxF,MAAM,WAAW,mBAAmB;IAChC,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,eAAe,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,YAAY,CAAC,OAAO,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;IAC9D,kFAAkF;IAClF,WAAW,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,gFAAgF;IAChF,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,kEAAkE;IAClE,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACjF,8DAA8D;IAC9D,SAAS,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,sBAAsB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B,IAAI,CACA,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACjD,GAAG,EAAE,sBAAsB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAClC;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAC3B,CAAC,EAAE,gBAAgB,GACpB,CAAC,IAAI,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,GAAG,aAAa,GAAG,iBAAiB,CAAC,CAAC,CAOjH;AAED,iFAAiF;AACjF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAI/G;AAED,kFAAkF;AAClF,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAK5F;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAI1F;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACpC,QAAQ,EAAE;IAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAA;CAAE,EACnD,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAMjB"}
|
package/dist/types/chat.d.ts
CHANGED
|
@@ -21,11 +21,8 @@ export interface AparteImagePart {
|
|
|
21
21
|
/**
|
|
22
22
|
* Discriminated union of all content part types.
|
|
23
23
|
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* wire mappers answered it with an empty text part no message could reach. What it did do
|
|
27
|
-
* was promise a consumer that attaching a PDF sent it. That promise is now a warning at the
|
|
28
|
-
* one place the file is really dropped.
|
|
24
|
+
* Only text and image parts exist: the client inlines images and text files and drops
|
|
25
|
+
* other attachments (PDF, audio) with a warning at the point the file is dropped.
|
|
29
26
|
*/
|
|
30
27
|
export type AparteContentPart = AparteTextPart | AparteImagePart;
|
|
31
28
|
/**
|
|
@@ -62,11 +59,8 @@ export interface AparteChatMessage {
|
|
|
62
59
|
/**
|
|
63
60
|
* The request one turn sends to a provider.
|
|
64
61
|
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* onto every provider's request. A provider reads its option off `_meta`, the namespaced bag,
|
|
68
|
-
* which reaches it untouched; the trigger to reconsider is a raw-completion provider in this
|
|
69
|
-
* repo (`provider-llamacpp`) that would actually read one.
|
|
62
|
+
* Provider-specific options are not fields of the request: a provider reads its option off
|
|
63
|
+
* `_meta`, the namespaced bag, which reaches it untouched.
|
|
70
64
|
*/
|
|
71
65
|
export interface AparteChatRequest {
|
|
72
66
|
messages: AparteChatMessage[];
|
|
@@ -82,9 +76,8 @@ export interface AparteChatRequest {
|
|
|
82
76
|
* transformers worker); Anthropic exposes none, so it is ignored there.
|
|
83
77
|
*
|
|
84
78
|
* Nothing sets it for you: a retry varies its answer by sampling
|
|
85
|
-
* (`temperature`), not by seeding
|
|
86
|
-
*
|
|
87
|
-
* `requestInterceptor` when you need reproducible runs.
|
|
79
|
+
* (`temperature`), not by seeding. Set it from a `requestInterceptor` when you
|
|
80
|
+
* need reproducible runs.
|
|
88
81
|
*/
|
|
89
82
|
seed?: number;
|
|
90
83
|
/**
|
|
@@ -113,11 +106,10 @@ export interface AparteChatRequest {
|
|
|
113
106
|
_meta?: AparteRequestMeta;
|
|
114
107
|
}
|
|
115
108
|
/**
|
|
116
|
-
* The well-known keys of `AparteChatRequest._meta`.
|
|
117
|
-
* not by the loop
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
* convention now, and a promoted code fence had no consumer.
|
|
109
|
+
* The well-known keys of `AparteChatRequest._meta`. Two: `prefixSegments`, read by core's
|
|
110
|
+
* client and not by the loop, and `compaction`, which `@aparte/plugin-compaction` sets for
|
|
111
|
+
* a transport to route on; the rest of the bag is the consumer's (index signature).
|
|
112
|
+
* An artifact is a plugin's convention, so no artifact key is defined here.
|
|
121
113
|
*/
|
|
122
114
|
export interface AparteRequestMeta {
|
|
123
115
|
/**
|
package/dist/types/chat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/types/chat.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAMnD,8BAA8B;AAC9B,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/types/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The template spelling of an attribute, and the re-export of the generated surface.
|
|
3
3
|
*
|
|
4
|
-
* The interfaces and the registry are
|
|
5
|
-
* `
|
|
6
|
-
* on every build. They were written by hand for about a day, and the generator
|
|
7
|
-
* reproduced all 15 interfaces and all 48 properties exactly — plus one attribute I had
|
|
8
|
-
* missed. Copying a machine-readable source by hand buys nothing and drifts.
|
|
4
|
+
* The interfaces and the registry are generated from `dist/custom-elements.json` into
|
|
5
|
+
* `src/generated/`, which is gitignored and rewritten on every build.
|
|
9
6
|
*
|
|
10
7
|
* What stays here is the part no manifest can carry: how a TEMPLATE must spell an
|
|
11
8
|
* attribute, which is a fact about React, Vue and Svelte rather than about the element.
|
|
@@ -18,20 +15,17 @@ export type * from '../generated/element-attributes.js';
|
|
|
18
15
|
* pedantry — it is the same trap in all three template languages. React and Vue
|
|
19
16
|
* stringify what they set on a custom element, so `disabled={false}` renders
|
|
20
17
|
* `disabled="false"`, and an element that tests `hasAttribute` reads that as ON. The
|
|
21
|
-
*
|
|
22
|
-
*
|
|
18
|
+
* right spelling is `streaming={… ? '' : undefined}`; this type makes it the only one
|
|
19
|
+
* that type-checks.
|
|
23
20
|
*
|
|
24
|
-
* Svelte 5
|
|
21
|
+
* Svelte 5 shapes the SETTERS: it assigns the PROPERTY
|
|
25
22
|
* whenever the element has a setter for it (`set_custom_element_data` checks
|
|
26
23
|
* `get_setters(node)`), so an accessor-backed presence attribute receives the `''`
|
|
27
24
|
* this union promises as a property value. Every presence setter therefore treats
|
|
28
25
|
* `''` as ON (`presenceOn` in utils/presence.ts) — one spelling, both paths.
|
|
29
26
|
*
|
|
30
27
|
* `null` is in the union alongside `undefined` because all three treat it as REMOVE,
|
|
31
|
-
* and Vue
|
|
32
|
-
* Leaving it out made the wrapper's own code fail to type-check — the second time the
|
|
33
|
-
* existing wrappers corrected a declaration here, after `timestamp`, which the React
|
|
34
|
-
* bubble rendering proved accepts a number.
|
|
28
|
+
* and Vue templates write exactly that (`:streaming="… ? '' : null"`).
|
|
35
29
|
*
|
|
36
30
|
* A numeric attribute takes a number or the string it becomes, because both read
|
|
37
31
|
* naturally in a template.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element-attributes.d.ts","sourceRoot":"","sources":["../../src/types/element-attributes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"element-attributes.d.ts","sourceRoot":"","sources":["../../src/types/element-attributes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,mBAAmB,oCAAoC,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,GACpE,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAClC,CAAC,CAAC;AAER,4FAA4F;AAC5F,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
|
|
@@ -4,30 +4,17 @@
|
|
|
4
4
|
* returns `AparteComposerInput | null` instead of `Element | null` — no cast, and
|
|
5
5
|
* the element's own properties and methods are reachable.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* generated API reference, `list.conversations = [...]` after a
|
|
12
|
-
* `querySelector('aparte-conversation-list')`, could not compile, and the same held
|
|
13
|
-
* for every `aparte-composer-*` primitive on the "compose your own composer" path
|
|
14
|
-
* that `getting-started` recommends.
|
|
7
|
+
* One file holds the whole element surface, next to the `customElements.define` calls
|
|
8
|
+
* it has to agree with. A tag missing from the map makes `querySelector('aparte-x')`
|
|
9
|
+
* return `Element` and leaves its `event.detail` untyped, and that includes the
|
|
10
|
+
* `aparte-composer-*` primitives of the "compose your own composer" path.
|
|
15
11
|
*
|
|
16
|
-
*
|
|
17
|
-
* enforced, and it was not. Here the whole element surface is in one place, next to
|
|
18
|
-
* the `customElements.define` calls it has to agree with.
|
|
19
|
-
*
|
|
20
|
-
* Completeness is not a convention either. It is pinned at the bottom of this file by a
|
|
12
|
+
* Completeness is not left to convention. It is pinned at the bottom of this file by a
|
|
21
13
|
* type assertion against the GENERATED `AparteElementTagName`, which is built from the
|
|
22
14
|
* custom-elements manifest and therefore carries every tag by construction. A missing
|
|
23
15
|
* entry is a type error naming the tag, so it fails `nx typecheck` and with it the
|
|
24
16
|
* pre-commit hook; the converse — a key here no element backs — is checked at runtime by
|
|
25
17
|
* `types/__tests__/element-map.test.ts`, for the reason given beside the assertion.
|
|
26
|
-
* The docstring used to promise a `pnpm check:element-map` script instead; that script
|
|
27
|
-
* was never written, and while it was promised the map sat at 21 of 24 —
|
|
28
|
-
* `aparte-context`, `aparte-split` and `aparte-suggestions` were missing, so
|
|
29
|
-
* `querySelector('aparte-split')` returned `Element` and every `event.detail` off them
|
|
30
|
-
* was untyped.
|
|
31
18
|
*
|
|
32
19
|
* Every import is `import type`, so nothing is emitted and this cannot introduce a
|
|
33
20
|
* runtime cycle — the same reason `event-map.ts` can name a component-coupled detail
|
|
@@ -36,7 +23,7 @@
|
|
|
36
23
|
* `declare global` DECLARES `HTMLElementTagNameMap` where the DOM lib is absent rather
|
|
37
24
|
* than requiring it, so `index.node.ts` imports this file too — deliberately, and
|
|
38
25
|
* `check-node-barrel-types.mjs` asserts it does — and a server-side program gets the
|
|
39
|
-
* same tag typing.
|
|
26
|
+
* same tag typing.
|
|
40
27
|
*/
|
|
41
28
|
import type { AparteChat } from '../components/chat/aparte-chat.js';
|
|
42
29
|
import type { AparteChatBubble } from '../components/bubble/aparte-chat-bubble.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element-map.d.ts","sourceRoot":"","sources":["../../src/types/element-map.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"element-map.d.ts","sourceRoot":"","sources":["../../src/types/element-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,14 +10,10 @@
|
|
|
10
10
|
* `e.detail`, the map is the only thing that types it, and its absence forces the
|
|
11
11
|
* exact cast the paragraph above promises you never need.
|
|
12
12
|
*
|
|
13
|
-
* The
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* both across a package boundary, and `AparteSelectChangeDetail` is exported from
|
|
18
|
-
* both public barrels. Meanwhile `aparte-composer-change` sat in the map with its
|
|
19
|
-
* detail imported from a component — breaking the stated criterion in the other
|
|
20
|
-
* direction. A rule contradicted by its own list is not a rule.
|
|
13
|
+
* The criterion is not where the detail type lives: `@aparte/plugin-model-selector`
|
|
14
|
+
* reads `aparte-select-change` and `aparte-optgroup-toggle` across a package boundary,
|
|
15
|
+
* and `AparteSelectChangeDetail` is exported from both public barrels, while
|
|
16
|
+
* `aparte-composer-change` is in the map with a detail imported from a component.
|
|
21
17
|
*
|
|
22
18
|
* Events that carry NO detail stay out, and that is the whole exclusion:
|
|
23
19
|
* `aparte-composer-submit`, `aparte-cancel`, `aparte-reset`, `aparte-reset-done`,
|
|
@@ -47,15 +43,13 @@ import type { AparteComposerChangeEventDetail } from '../components/composer/apa
|
|
|
47
43
|
/**
|
|
48
44
|
* Declared once, applied to all three targets below.
|
|
49
45
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* that recommended snippet did not compile. `AparteClient` itself listens on
|
|
58
|
-
* `window`, so the third map is not hypothetical either.
|
|
46
|
+
* Writing it into `HTMLElementEventMap` alone would type `chat.addEventListener(...)`
|
|
47
|
+
* and nothing else, while `document.addEventListener` resolves through
|
|
48
|
+
* `DocumentEventMap` and `window.addEventListener` through `WindowEventMap`, neither of
|
|
49
|
+
* which inherits from it. Every aparté event bubbles and composes, so listening on
|
|
50
|
+
* `document` is the natural way to handle a page's worth of chats in one place (the
|
|
51
|
+
* docs recommend it: "Clicks are declarative — they emit `aparte-action`, so you
|
|
52
|
+
* handle them in one place"), and `AparteClient` itself listens on `window`.
|
|
59
53
|
*/
|
|
60
54
|
interface AparteEventMap {
|
|
61
55
|
'aparte-send': CustomEvent<AparteSendEventDetail>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-map.d.ts","sourceRoot":"","sources":["../../src/types/event-map.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"event-map.d.ts","sourceRoot":"","sources":["../../src/types/event-map.ts"],"names":[],"mappings":"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"}
|
package/dist/types/events.d.ts
CHANGED
|
@@ -27,14 +27,10 @@ export interface AparteSendEventDetail {
|
|
|
27
27
|
files?: File[];
|
|
28
28
|
/**
|
|
29
29
|
* Send THIS message to a specific model, overriding the config's default for one
|
|
30
|
-
* turn — a per-message model picker
|
|
30
|
+
* turn — a per-message model picker.
|
|
31
31
|
*
|
|
32
|
-
* `AparteClient`
|
|
33
|
-
* `
|
|
34
|
-
* this type did not name them, so the capability existed only for someone who
|
|
35
|
-
* read the client's source. A capability cited nowhere is invisible (ratified
|
|
36
|
-
* decision #4); declaring it is what makes it real. Dispatch your own
|
|
37
|
-
* `aparte-send` with them, or set them on the detail from a listener that runs
|
|
32
|
+
* `AparteClient` honours both fields. The composer never sends them: dispatch your
|
|
33
|
+
* own `aparte-send` with them, or set them on the detail from a listener that runs
|
|
38
34
|
* before the client's (capture phase).
|
|
39
35
|
*/
|
|
40
36
|
modelId?: string;
|
|
@@ -54,8 +50,7 @@ export interface AparteMessageDoneEventDetail {
|
|
|
54
50
|
*
|
|
55
51
|
* Stamped by the client's lifecycle dispatcher on EVERY lifecycle event so
|
|
56
52
|
* several chats on one page stay isolated — a composer reacts only to its own
|
|
57
|
-
* host's turn.
|
|
58
|
-
* dispatcher takes `Record<string, unknown>`, so the compiler could not notice.
|
|
53
|
+
* host's turn.
|
|
59
54
|
*/
|
|
60
55
|
targetId?: string;
|
|
61
56
|
messageId: string;
|
|
@@ -68,10 +63,6 @@ export interface AparteMessageDoneEventDetail {
|
|
|
68
63
|
* Dispatched by `@aparte/plugin-model-selector` when the user picks a different
|
|
69
64
|
* provider or model — the clearest cross-package contract in the set.
|
|
70
65
|
*
|
|
71
|
-
* Its `@event` tag used to sit above `AparteMessageDoneEventDetail`'s doc block
|
|
72
|
-
* instead, so this interface had no documentation of its own and the other one
|
|
73
|
-
* claimed to describe a different event.
|
|
74
|
-
*
|
|
75
66
|
* @event aparte-model-change
|
|
76
67
|
*/
|
|
77
68
|
export interface AparteModelChangeEventDetail {
|
|
@@ -284,7 +275,7 @@ export interface AparteMessageAbortedEventDetail {
|
|
|
284
275
|
*
|
|
285
276
|
* `AparteClient` listens for it on `window`; a bring-your-own-composer consumer
|
|
286
277
|
* dispatches it to stop a stream. Nothing in core dispatches it on the consumer's
|
|
287
|
-
* behalf,
|
|
278
|
+
* behalf, so its shape is documented here.
|
|
288
279
|
*
|
|
289
280
|
* @event aparte-abort
|
|
290
281
|
*/
|
|
@@ -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;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAMrE;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAEhB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,yEAAyE;IACzE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAEf
|
|
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
|
@@ -10,12 +10,12 @@ export type { AparteStatus, AparteBubbleRole, AparteAttachment, AparteMessage, A
|
|
|
10
10
|
export type { AparteStreamBlock, AparteStreamBlockMatch } from './stream-blocks.js';
|
|
11
11
|
export type { AparteSendEventDetail, AparteSiblingInfo, AparteBranchNavigateEventDetail, AparteLinkClickEventDetail, ApartePathChangedEventDetail, AparteRetryEventDetail, AparteEditEventDetail, AparteFeedbackEventDetail, AparteActionEventDetail } from './events.js';
|
|
12
12
|
export type { AparteContentParser, AparteParserRegistry } from './parsers.js';
|
|
13
|
-
export type { AparteSegmentBase, AparteSegmentDefaults, AparteSegmentTiming, AparteTextSegment, AparteThinkingSegment, AparteCodeSegment, AparteErrorSegment, AparteSegment, AparteCustomSegment, AparteToolCallSegment, AparteSegmentType, AparteSegmentRenderer, AparteSegmentUpdateEventDetail } from './segments.js';
|
|
13
|
+
export type { AparteSegmentBase, AparteSegmentDefaults, AparteSegmentTiming, AparteTextSegment, AparteThinkingSegment, AparteCodeSegment, AparteErrorSegment, AparteSegment, AparteSegmentTypes, AparteCustomSegment, AparteToolCallSegment, AparteSegmentType, AparteSegmentRenderer, AparteSegmentUpdateEventDetail } from './segments.js';
|
|
14
14
|
export type { AparteThemeVariables } from './theming.js';
|
|
15
15
|
export type { AparteAIModel, AparteAIProvider, AparteAIProviderMetadata, AparteAIProviderConfigField, AparteAIProviderConfigSchema, AparteModelConfig, ModelStatus, ModelLoadProgress } from './model-provider.js';
|
|
16
16
|
export type { AparteChatRequest, AparteRequestMeta, AparteChatResponse, AparteChatMessage, AparteContentPart, AparteTextPart, AparteImagePart, AparteStreamEvent, AparteStreamEventMap, AparteUsage } from './chat.js';
|
|
17
17
|
export { contentToText } from './chat.js';
|
|
18
|
-
export type { AparteTool, AparteToolCall, AparteApprovalPolicy, AparteApprovalRuling, AparteToolResult, AparteToolHandler, AparteToolContext, AparteToolRenderer, AparteToolSummary, AparteToolApprovalRequestDetail, } from './tools.js';
|
|
18
|
+
export type { AparteTool, AparteToolCall, AparteApprovalPolicy, AparteApprovalRuling, AparteToolResult, AparteToolHandler, AparteToolContext, AparteToolRenderer, AparteToolSummary, AparteToolInputFormatter, AparteToolApprovalRequestDetail, } from './tools.js';
|
|
19
19
|
export { AparteErrorCode, AparteError } from './errors.js';
|
|
20
20
|
export type { AparteModelChangeEventDetail, AparteApprovalModeChangeEventDetail, AparteMessageDoneEventDetail, AparteMessageStartEventDetail, AparteMessageErrorEventDetail, AparteMessageAbortedEventDetail, AparteMessagePausedEventDetail, AparteAbortEventDetail, AparteCompactEventDetail, AparteCompactDoneEventDetail, AparteCompactStartEventDetail, AparteCompactErrorEventDetail, AparteAttachmentPreviewEventDetail, AparteMessageInfoEventDetail, } from './events.js';
|
|
21
21
|
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,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,+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,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":"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,+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,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"}
|
|
@@ -132,9 +132,8 @@ export interface AparteAIProviderCore {
|
|
|
132
132
|
* `getCurrentModel()`, silently disabling capability gates such as
|
|
133
133
|
* `function_calling` (tools). For async fetching implement
|
|
134
134
|
* {@link fetchModels} instead, which `aparteGlobalConfig.refreshProviderModels()`
|
|
135
|
-
* and the model-selector consume.
|
|
136
|
-
*
|
|
137
|
-
* the current-model lookup.
|
|
135
|
+
* and the model-selector consume. A provider without `fetchModels` shows its
|
|
136
|
+
* `getModels()` list in the model-selector.
|
|
138
137
|
*/
|
|
139
138
|
getModels(): AparteAIModel[];
|
|
140
139
|
/**
|
|
@@ -230,15 +229,14 @@ export type AparteAIProviderAuth = (AparteAIProviderAuthMembers & {
|
|
|
230
229
|
* An AI provider (e.g. OpenRouter, OpenAI, Transformers.js).
|
|
231
230
|
*
|
|
232
231
|
* A **union, not one interface**, because there are two mutually sufficient ways
|
|
233
|
-
* to be a provider and the compiler should say which one you implemented.
|
|
234
|
-
*
|
|
235
|
-
*
|
|
236
|
-
*
|
|
237
|
-
* nothing at build time to warn you.
|
|
232
|
+
* to be a provider and the compiler should say which one you implemented. A single
|
|
233
|
+
* interface with optional members, discriminated only at RUNTIME by `isFormatAdapter()`,
|
|
234
|
+
* would let `{ id, getMetadata, getModels }` typecheck, register, and then fail on the
|
|
235
|
+
* first message with nothing at build time to warn you.
|
|
238
236
|
*
|
|
239
237
|
* Every member of both surfaces stays reachable on the union (optional on the arm
|
|
240
238
|
* that does not require it), so runtime probes like `typeof p.buildRequest ===
|
|
241
|
-
* 'function'` and `isFormatAdapter()` narrowing keep working
|
|
239
|
+
* 'function'` and `isFormatAdapter()` narrowing keep working. A provider
|
|
242
240
|
* implementing both surfaces is valid and satisfies the format arm.
|
|
243
241
|
*
|
|
244
242
|
* @example A format adapter — a transport does the call
|
|
@@ -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;AAMrF;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;IAC1B,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IAEX,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IAEb,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,mDAAmD;IACnD,OAAO,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,gCAAgC;IAChC,YAAY,CAAC,EAAE,CAAC,QAAQ,GAAG,kBAAkB,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;IAEtF,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAMD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACjB,OAAO,GACP,QAAQ,GACR,gBAAgB,CAAC;AAEvB;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,uCAAuC;IACvC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IACjE,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IAEb,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uDAAuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iDAAiD;IACjD,YAAY,CAAC,EAAE,4BAA4B,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;IAClC,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,MAAM,EAAE,2BAA2B,EAAE,CAAC;CACzC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACjC,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,WAAW,IAAI,wBAAwB,CAAC;IAExC
|
|
1
|
+
{"version":3,"file":"model-provider.d.ts","sourceRoot":"","sources":["../../src/types/model-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/types/segments.d.ts
CHANGED
|
@@ -48,16 +48,15 @@ export interface AparteSegmentBase {
|
|
|
48
48
|
/**
|
|
49
49
|
* What core measured about a segment. Lives in `meta.aparte`, not on the segment.
|
|
50
50
|
*
|
|
51
|
-
*
|
|
52
|
-
* carries a timestamp on a content block** — verified rather than assumed: Anthropic's
|
|
51
|
+
* **No protocol carries a timestamp on a content block**: Anthropic's
|
|
53
52
|
* blocks have none (and neither does the message), OpenAI's `output_text` part is
|
|
54
53
|
* `{annotations, logprobs, text, type}` with `created_at` on the item above it, and the
|
|
55
54
|
* AI SDK's `UIMessage.parts` have none either. What the AI SDK does have is a metadata
|
|
56
55
|
* bag whose canonical example is literally `{ createdAt, model, totalTokens }` — at the
|
|
57
56
|
* message level. A per-block `id` has industry precedent; per-block time has none.
|
|
58
57
|
*
|
|
59
|
-
* So this is a **local measurement**, and the shape says so. It stays typed
|
|
60
|
-
*
|
|
58
|
+
* So this is a **local measurement**, and the shape says so. It stays typed, and it is
|
|
59
|
+
* namespaced under
|
|
61
60
|
* `aparte` because `meta` is the consumer's: a flat `startedAt` there would collide
|
|
62
61
|
* with a key of their own.
|
|
63
62
|
*
|
|
@@ -128,15 +127,9 @@ export interface AparteThinkingSegment extends AparteSegmentBase {
|
|
|
128
127
|
content: string;
|
|
129
128
|
/**
|
|
130
129
|
* Open the block. **Absent means CLOSED** — a reasoning block is a disclosure,
|
|
131
|
-
* and the reader opens it.
|
|
130
|
+
* and the reader opens it. The content is behind a click, streaming or settled.
|
|
132
131
|
*
|
|
133
|
-
*
|
|
134
|
-
* emitted `collapsed: false` on every block it produced, so a reasoning block
|
|
135
|
-
* stayed unfolded for the whole conversation and buried the answer under it. No
|
|
136
|
-
* assistant on the market does that — the content is behind a click, streaming
|
|
137
|
-
* or settled.
|
|
138
|
-
*
|
|
139
|
-
* `false` is still how you open one on purpose. Only ABSENT changed meaning.
|
|
132
|
+
* `false` opens one on purpose.
|
|
140
133
|
*/
|
|
141
134
|
collapsed?: boolean;
|
|
142
135
|
label?: string;
|
|
@@ -276,7 +269,22 @@ export interface AparteCustomSegment extends AparteSegmentBase {
|
|
|
276
269
|
* segment — a `type` of its own, through `registerSegmentRenderer` and
|
|
277
270
|
* `registerStreamBlock` — the way any consumer registers a `chart` or a `citation`.
|
|
278
271
|
*/
|
|
279
|
-
export type AparteSegment = AparteTextSegment | AparteThinkingSegment | AparteCodeSegment | AparteErrorSegment | AparteCustomSegment | AparteToolCallSegment;
|
|
272
|
+
export type AparteSegment = AparteTextSegment | AparteThinkingSegment | AparteCodeSegment | AparteErrorSegment | AparteCustomSegment | AparteToolCallSegment | AparteSegmentTypes[keyof AparteSegmentTypes];
|
|
273
|
+
/**
|
|
274
|
+
* The segment types an app or a plugin adds, one key per `type`, merged into this interface;
|
|
275
|
+
* each one joins {@link AparteSegment}, so `addSegment`, `appendMessage` and
|
|
276
|
+
* `AparteMessage.segments` take it without a cast.
|
|
277
|
+
*
|
|
278
|
+
* @example
|
|
279
|
+
* declare module '@aparte/core' {
|
|
280
|
+
* interface AparteSegmentTypes {
|
|
281
|
+
* chart: AparteSegmentBase & { type: 'chart'; data: { label: string; value: number }[] };
|
|
282
|
+
* }
|
|
283
|
+
* }
|
|
284
|
+
* viewport.addSegment('a1', { id: 'c1', type: 'chart', data: [{ label: 'Q1', value: 4 }] });
|
|
285
|
+
*/
|
|
286
|
+
export interface AparteSegmentTypes {
|
|
287
|
+
}
|
|
280
288
|
/** Segment type discriminator values */
|
|
281
289
|
export type AparteSegmentType = AparteSegment['type'];
|
|
282
290
|
/**
|
|
@@ -1 +1 @@
|
|
|
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
|
|
1
|
+
{"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/types/segments.ts"],"names":[],"mappings":"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"}
|