@nonoun/native-chat 0.5.17 → 0.5.21
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/README.md +47 -0
- package/dist/{adapter-mock-0s0RPkdx.js → adapter-mock-DQ_CxuNu.js} +336 -286
- package/dist/chat-input-element.d.ts +1 -0
- package/dist/chat-input-element.d.ts.map +1 -1
- package/dist/{chat-input-structured-element-A3nMG2WR.js → chat-input-structured-element-Xm4nCA2K.js} +236 -118
- package/dist/chat-panel-element.d.ts +6 -0
- package/dist/chat-panel-element.d.ts.map +1 -1
- package/dist/feed/chat-feed-element.d.ts.map +1 -1
- package/dist/gateway/adapter-chatgpt.d.ts +2 -3
- package/dist/gateway/adapter-chatgpt.d.ts.map +1 -1
- package/dist/gateway/adapter-claude.d.ts +2 -3
- package/dist/gateway/adapter-claude.d.ts.map +1 -1
- package/dist/gateway/controller.d.ts +0 -4
- package/dist/gateway/controller.d.ts.map +1 -1
- package/dist/gateway/index.d.ts +4 -3
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/runtime.d.ts +10 -0
- package/dist/gateway/runtime.d.ts.map +1 -1
- package/dist/gateway.js +4 -6
- package/dist/message/chat-input-structured-element.d.ts.map +1 -1
- package/dist/message/chat-message-activity-element.d.ts.map +1 -1
- package/dist/message/chat-message-element.d.ts.map +1 -1
- package/dist/message/chat-message-genui-element.d.ts.map +1 -1
- package/dist/message/chat-message-text-element.d.ts.map +1 -1
- package/dist/message/chat-messages-element.d.ts.map +1 -1
- package/dist/native-chat.css +89 -43
- package/dist/native-chat.js +1 -1
- package/dist/register.js +1 -1
- package/package.json +1 -1
|
@@ -51,12 +51,15 @@ export interface ModelOption {
|
|
|
51
51
|
* @fires native:composer-focused - Fired when the composer receives focus via API/policy
|
|
52
52
|
* @fires native:composer-focus-failed - Fired when focusComposer() fails after retries
|
|
53
53
|
* @fires native:model-change - Fired when user selects a different model. Detail: `{ value, previousValue }`
|
|
54
|
+
* @attr {string} models - Comma-separated model IDs (e.g. 'claude-haiku-4-5-20251001,gpt-4.1-mini'). Parsed into ModelOption[] with value=label=id.
|
|
54
55
|
* @attr {string} gateway - Gateway adapter: 'openai' or 'claude'. When set, panel handles send/stream automatically
|
|
55
56
|
* @attr {string} gateway-url - Base URL for the gateway API (e.g. '/api/chat' or 'https://api.openai.com/v1')
|
|
56
57
|
* @attr {string} gateway-config - JSON config for the adapter (model, apiKey, system, etc.)
|
|
58
|
+
* @attr {string} gateway-urls - JSON map of provider prefixes to URLs (e.g. '{"claude":"/api/anthropic","openai":"/api/openai"}'). When set, auto-switches gateway based on model prefix.
|
|
57
59
|
*/
|
|
58
60
|
export declare class NChatPanel extends NativeElement {
|
|
59
61
|
#private;
|
|
62
|
+
static readonly MAX_CONTEXT_MESSAGES = 50;
|
|
60
63
|
static observedAttributes: string[];
|
|
61
64
|
attributeChangedCallback(name: string, old: string | null, val: string | null): void;
|
|
62
65
|
get showStop(): boolean;
|
|
@@ -80,6 +83,9 @@ export declare class NChatPanel extends NativeElement {
|
|
|
80
83
|
/** Configuration for the gateway adapter (model, apiKey, system, etc.). */
|
|
81
84
|
get gatewayConfig(): GatewayConfig | null;
|
|
82
85
|
set gatewayConfig(val: GatewayConfig | null);
|
|
86
|
+
/** Map of provider prefixes to gateway URLs. Enables auto-switching gateway based on model prefix. */
|
|
87
|
+
get gatewayUrls(): Record<string, string> | null;
|
|
88
|
+
set gatewayUrls(val: Record<string, string> | null);
|
|
83
89
|
/** Whether the panel is currently streaming a response. Read-only. */
|
|
84
90
|
get streaming(): boolean;
|
|
85
91
|
/** Open the panel. Optionally focus the composer. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-panel-element.d.ts","sourceRoot":"","sources":["../src/chat-panel-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAkB,aAAa,EAAgC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-panel-element.d.ts","sourceRoot":"","sources":["../src/chat-panel-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAkB,aAAa,EAAgC,MAAM,mBAAmB,CAAC;AAWrG,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjE,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBAAa,UAAW,SAAQ,aAAa;;IAC3C,MAAM,CAAC,QAAQ,CAAC,oBAAoB,MAAM;IAC1C,MAAM,CAAC,kBAAkB,WAA6I;IAiCtK,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IA0DpF,IAAI,QAAQ,IAAI,OAAO,CAAiC;IACxD,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAGxB;IAED,IAAI,WAAW,IAAI,OAAO,CAAoC;IAC9D,IAAI,WAAW,CAAC,GAAG,EAAE,OAAO,EAG3B;IAED,IAAI,eAAe,IAAI,eAAe,CAAwC;IAC9E,IAAI,eAAe,CAAC,GAAG,EAAE,eAAe,EAGvC;IAED,qDAAqD;IACrD,IAAI,MAAM,IAAI,WAAW,EAAE,CAA+B;IAC1D,IAAI,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,EAa5B;IAED,sCAAsC;IACtC,IAAI,KAAK,IAAI,MAAM,GAAG,IAAI,CAA8B;IACxD,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAO3B;IAED,qGAAqG;IACrG,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,CAAgC;IAC5D,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAI7B;IAED,oCAAoC;IACpC,IAAI,UAAU,IAAI,MAAM,GAAG,IAAI,CAAmC;IAClE,IAAI,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAIhC;IAED,2EAA2E;IAC3E,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,CAAsC;IAC/E,IAAI,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,EAI1C;IAED,sGAAsG;IACtG,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAoC;IACpF,IAAI,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,EAIjD;IAED,sEAAsE;IACtE,IAAI,SAAS,IAAI,OAAO,CAAkC;IAE1D,qDAAqD;IACrD,IAAI,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAkB1C,uBAAuB;IACvB,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAU5B,gCAAgC;IAChC,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,EAAE,EAAE,GAAE,KAAK,GAAG,MAAM,GAAG,QAAgB,GAAG,IAAI;IAM1F,KAAK,IAAI,IAAI;IAiSb,QAAQ,IAAI,IAAI;CA4ZjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-feed-element.d.ts","sourceRoot":"","sources":["../../src/feed/chat-feed-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAmC,MAAM,mBAAmB,CAAC;AAInF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,SAAU,SAAQ,aAAa;;IAC1C,MAAM,CAAC,kBAAkB,WAAuF;;IAoBhH,IAAI,QAAQ,IAAI,OAAO,CAAiC;IAExD,wCAAwC;IACxC,cAAc,CAAC,MAAM,UAAO,GAAG,IAAI;IAQnC,wCAAwC;IACxC,IAAI,KAAK,IAAI,OAAO,EAAE,CAA8B;IACpD,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,EAKvB;IAED,6DAA6D;IAC7D,IAAI,YAAY,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,CAAC,GAAG,IAAI,CAA+B;IACzG,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,CAAC,GAAG,IAAI,EAE1E;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IA0BpF,KAAK,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"chat-feed-element.d.ts","sourceRoot":"","sources":["../../src/feed/chat-feed-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAmC,MAAM,mBAAmB,CAAC;AAInF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,SAAU,SAAQ,aAAa;;IAC1C,MAAM,CAAC,kBAAkB,WAAuF;;IAoBhH,IAAI,QAAQ,IAAI,OAAO,CAAiC;IAExD,wCAAwC;IACxC,cAAc,CAAC,MAAM,UAAO,GAAG,IAAI;IAQnC,wCAAwC;IACxC,IAAI,KAAK,IAAI,OAAO,EAAE,CAA8B;IACpD,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,EAKvB;IAED,6DAA6D;IAC7D,IAAI,YAAY,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,CAAC,GAAG,IAAI,CAA+B;IACzG,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,CAAC,GAAG,IAAI,EAE1E;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IA0BpF,KAAK,IAAI,IAAI;IA8Bb,QAAQ,IAAI,IAAI;CAsHjB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { GatewayAdapter, GatewayAdapterFactory, GatewayConfig } from './adapter';
|
|
2
|
-
import type { BootstrapResponse, ChatMessage, ClientMetadataResponse, GatewayModel, GatewayHealth, SendMessageResponse, SendMessageStreamChunk, SendTransportMode } from './types';
|
|
2
|
+
import type { BootstrapResponse, ChatMessage, ClientMetadataResponse, GatewayModel, GatewayHealth, GatewayStreamEvent, SendMessageResponse, SendMessageStreamChunk, SendTransportMode } from './types';
|
|
3
3
|
import { fetchWithRetry } from './runtime';
|
|
4
4
|
interface OpenAiGatewayAdapterConfig {
|
|
5
5
|
clientId: string;
|
|
@@ -45,7 +45,7 @@ export declare class OpenAiGatewayAdapter implements GatewayAdapter {
|
|
|
45
45
|
requestId?: string;
|
|
46
46
|
onChunk?: (chunk: SendMessageStreamChunk) => void;
|
|
47
47
|
onMode?: (mode: SendTransportMode, contentType: string) => void;
|
|
48
|
-
onStreamEvent?: (event:
|
|
48
|
+
onStreamEvent?: (event: GatewayStreamEvent) => void;
|
|
49
49
|
}): Promise<SendMessageResponse>;
|
|
50
50
|
checkHealth(params?: {
|
|
51
51
|
signal?: AbortSignal;
|
|
@@ -59,7 +59,6 @@ export declare class OpenAiGatewayAdapter implements GatewayAdapter {
|
|
|
59
59
|
private buildRequestPayload;
|
|
60
60
|
private mapMessages;
|
|
61
61
|
private parseEventStream;
|
|
62
|
-
private parseSseEvent;
|
|
63
62
|
private request;
|
|
64
63
|
}
|
|
65
64
|
export declare const createOpenAiGatewayAdapter: GatewayAdapterFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-chatgpt.d.ts","sourceRoot":"","sources":["../../src/gateway/adapter-chatgpt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACtF,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,
|
|
1
|
+
{"version":3,"file":"adapter-chatgpt.d.ts","sourceRoot":"","sources":["../../src/gateway/adapter-chatgpt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { GatewayAdapter, GatewayAdapterFactory, GatewayConfig } from './adapter';
|
|
2
|
-
import type { BootstrapResponse, ChatMessage, ClientMetadataResponse, GatewayModel, GatewayHealth, SendMessageResponse, SendMessageStreamChunk, SendTransportMode } from './types';
|
|
2
|
+
import type { BootstrapResponse, ChatMessage, ClientMetadataResponse, GatewayModel, GatewayHealth, GatewayStreamEvent, SendMessageResponse, SendMessageStreamChunk, SendTransportMode } from './types';
|
|
3
3
|
import { fetchWithRetry } from './runtime';
|
|
4
4
|
interface ClaudeGatewayAdapterConfig {
|
|
5
5
|
clientId: string;
|
|
@@ -45,7 +45,7 @@ export declare class ClaudeGatewayAdapter implements GatewayAdapter {
|
|
|
45
45
|
requestId?: string;
|
|
46
46
|
onChunk?: (chunk: SendMessageStreamChunk) => void;
|
|
47
47
|
onMode?: (mode: SendTransportMode, contentType: string) => void;
|
|
48
|
-
onStreamEvent?: (event:
|
|
48
|
+
onStreamEvent?: (event: GatewayStreamEvent) => void;
|
|
49
49
|
}): Promise<SendMessageResponse>;
|
|
50
50
|
checkHealth(params?: {
|
|
51
51
|
signal?: AbortSignal;
|
|
@@ -60,7 +60,6 @@ export declare class ClaudeGatewayAdapter implements GatewayAdapter {
|
|
|
60
60
|
private mapMessages;
|
|
61
61
|
private extractTextFromMessage;
|
|
62
62
|
private parseEventStream;
|
|
63
|
-
private parseSseEvent;
|
|
64
63
|
private request;
|
|
65
64
|
}
|
|
66
65
|
export declare const createClaudeGatewayAdapter: GatewayAdapterFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-claude.d.ts","sourceRoot":"","sources":["../../src/gateway/adapter-claude.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACtF,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,
|
|
1
|
+
{"version":3,"file":"adapter-claude.d.ts","sourceRoot":"","sources":["../../src/gateway/adapter-claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,8 +43,4 @@ export declare class LLMGatewayController {
|
|
|
43
43
|
}): Promise<GatewayModel[]>;
|
|
44
44
|
getCapabilities(): GatewayCapabilities;
|
|
45
45
|
}
|
|
46
|
-
/** @deprecated Use `LLMGatewayController` instead. */
|
|
47
|
-
export declare const ChatGatewayController: typeof LLMGatewayController;
|
|
48
|
-
/** @deprecated Use `LLMGatewayController` instead. Will be removed in next major. */
|
|
49
|
-
export { LLMGatewayController as GatewayController };
|
|
50
46
|
//# sourceMappingURL=controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/gateway/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;gBAEvC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB;IAKtE,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAInG,WAAW,CAAC,MAAM,EAAE;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIhC,iBAAiB,CAAC,MAAM,EAAE;QACxB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;QAClD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;QAChE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;KACrD,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIhC,WAAW,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1F,iBAAiB,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIzG,UAAU,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAK1F,eAAe,IAAI,mBAAmB;CAGvC
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/gateway/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;gBAEvC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB;IAKtE,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAInG,WAAW,CAAC,MAAM,EAAE;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIhC,iBAAiB,CAAC,MAAM,EAAE;QACxB,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,WAAW,EAAE,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;QAClD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;QAChE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;KACrD,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIhC,WAAW,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1F,iBAAiB,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIzG,UAAU,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAK1F,eAAe,IAAI,mBAAmB;CAGvC"}
|
package/dist/gateway/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export type { ChatRole, ChatMessage, BootstrapResponse, SendMessageResponse, SendMessageStreamChunk, GatewayModel, ClientMetadataResponse, GatewayStreamEvent, SendTransportMode, GatewayErrorKind, GatewayEvent, GatewayHealth, GatewayErrorLike, } from './types';
|
|
2
2
|
export { isGatewayErrorLike } from './types';
|
|
3
3
|
export type { GatewayAdapter, GatewayCapabilities, GatewayConfig, GatewayAuthConfig, GatewayAdapterFactoryContext, GatewayAdapterFactory, GatewayConfigValidator, GatewayRegistration, } from './adapter';
|
|
4
|
-
export { LLMGatewayController,
|
|
5
|
-
export {
|
|
4
|
+
export { LLMGatewayController, } from './controller';
|
|
5
|
+
export { LLMGatewayController as GatewayController, LLMGatewayController as ChatGatewayController, } from './controller';
|
|
6
|
+
export { DEFAULT_REQUEST_TIMEOUT_MS, DEFAULT_RETRY_DELAYS_MS, GatewayRequestError, classifyByStatus, createRequestId, fetchWithRetry, parseSseEvent, parseJsonResponse, } from './runtime';
|
|
6
7
|
export { ClaudeGatewayAdapter, createClaudeGatewayAdapter, validateClaudeGatewayConfig, } from './adapter-claude';
|
|
7
8
|
export { OpenAiGatewayAdapter, createOpenAiGatewayAdapter, validateOpenAiGatewayConfig, } from './adapter-chatgpt';
|
|
8
9
|
export { createMockGatewayAdapter, } from './adapter-mock';
|
|
9
|
-
//# sourceMappingURL=index.d.ts.map
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gateway/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,wBAAwB,GACzB,MAAM,gBAAgB,CAAC"}
|
|
@@ -26,6 +26,7 @@ export interface GatewayRetryPolicy {
|
|
|
26
26
|
delaysMs: number[];
|
|
27
27
|
jitterRatio?: number;
|
|
28
28
|
}
|
|
29
|
+
export declare const DEFAULT_REQUEST_TIMEOUT_MS = 30000;
|
|
29
30
|
export interface FetchWithRetryOptions {
|
|
30
31
|
url: string;
|
|
31
32
|
init: RequestInit & {
|
|
@@ -35,9 +36,18 @@ export interface FetchWithRetryOptions {
|
|
|
35
36
|
auth?: GatewayAuthConfig;
|
|
36
37
|
defaultHeaders?: Record<string, string>;
|
|
37
38
|
onEvent?: (event: GatewayEvent) => void;
|
|
39
|
+
/** Request timeout in milliseconds. Defaults to 30000 (30s). */
|
|
40
|
+
timeoutMs?: number;
|
|
41
|
+
/** When true, skip all retry logic (useful for streaming requests). */
|
|
42
|
+
noRetry?: boolean;
|
|
38
43
|
}
|
|
39
44
|
export declare function fetchWithRetry(options: FetchWithRetryOptions): Promise<Response>;
|
|
40
45
|
export declare function classifyByStatus(status: number): GatewayErrorKind;
|
|
41
46
|
export declare function parseJsonResponse<T>(response: Response, requestId: string): Promise<T>;
|
|
42
47
|
export declare function createRequestId(): string;
|
|
48
|
+
export declare function parseSseEvent(raw: string): {
|
|
49
|
+
event: string;
|
|
50
|
+
data: string;
|
|
51
|
+
} | null;
|
|
52
|
+
export declare const DEFAULT_RETRY_DELAYS_MS: number[];
|
|
43
53
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/gateway/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE9D,MAAM,WAAW,uBAAwB,SAAQ,KAAK;IACpD,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,mBAAoB,SAAQ,KAAM,YAAW,uBAAuB;IAC/E,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;gBAElB,MAAM,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,gBAAgB,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;CASF;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/gateway/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE9D,MAAM,WAAW,uBAAwB,SAAQ,KAAK;IACpD,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,mBAAoB,SAAQ,KAAM,YAAW,uBAAuB;IAC/E,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;gBAElB,MAAM,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,gBAAgB,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;CASF;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAGtF;AA4JD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAMjE;AAED,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,CAAC,CAwBZ;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAYD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAWjF;AAED,eAAO,MAAM,uBAAuB,UAAqB,CAAC"}
|
package/dist/gateway.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { a as e, c as t, d as n, f as r, i,
|
|
2
|
-
function
|
|
1
|
+
import { a as e, c as t, d as n, f as r, h as i, i as a, l as o, m as s, n as c, o as l, p as u, r as d, s as f, t as p, u as m } from "./adapter-mock-DQ_CxuNu.js";
|
|
2
|
+
function h(e) {
|
|
3
3
|
return typeof e == "object" && !!e && "kind" in e && "message" in e;
|
|
4
4
|
}
|
|
5
|
-
var
|
|
5
|
+
var g = class {
|
|
6
6
|
adapter;
|
|
7
7
|
capabilities;
|
|
8
8
|
constructor(e, t) {
|
|
@@ -30,6 +30,4 @@ var p = class {
|
|
|
30
30
|
return this.capabilities;
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
|
-
|
|
34
|
-
const m = p;
|
|
35
|
-
export { m as ChatGatewayController, o as ClaudeGatewayAdapter, p as GatewayController, p as LLMGatewayController, t as GatewayRequestError, e as OpenAiGatewayAdapter, a as classifyByStatus, c as createClaudeGatewayAdapter, u as createMockGatewayAdapter, s as createOpenAiGatewayAdapter, d as createRequestId, n as fetchWithRetry, f as isGatewayErrorLike, r as parseJsonResponse, i as validateClaudeGatewayConfig, l as validateOpenAiGatewayConfig };
|
|
33
|
+
export { c as ClaudeGatewayAdapter, t as DEFAULT_REQUEST_TIMEOUT_MS, o as DEFAULT_RETRY_DELAYS_MS, m as GatewayRequestError, g as LLMGatewayController, g as GatewayController, g as ChatGatewayController, e as OpenAiGatewayAdapter, n as classifyByStatus, d as createClaudeGatewayAdapter, p as createMockGatewayAdapter, l as createOpenAiGatewayAdapter, r as createRequestId, u as fetchWithRetry, h as isGatewayErrorLike, s as parseJsonResponse, i as parseSseEvent, a as validateClaudeGatewayConfig, f as validateOpenAiGatewayConfig };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-input-structured-element.d.ts","sourceRoot":"","sources":["../../src/message/chat-input-structured-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;;IACrD,MAAM,CAAC,kBAAkB,WAA2D;;IAiBpF,IAAI,QAAQ,IAAI,MAAM,CAAiC;IACvD,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAGvB;IAED,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAgC;IACjE,IAAI,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,EAGlC;IAED,IAAI,UAAU,IAAI,gBAAgB,EAAE,CAGnC;IAED,IAAI,QAAQ,IAAI,OAAO,CAAiC;IACxD,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAGxB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAiBpF,KAAK,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"chat-input-structured-element.d.ts","sourceRoot":"","sources":["../../src/message/chat-input-structured-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgC,MAAM,mBAAmB,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;;IACrD,MAAM,CAAC,kBAAkB,WAA2D;;IAiBpF,IAAI,QAAQ,IAAI,MAAM,CAAiC;IACvD,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAGvB;IAED,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAgC;IACjE,IAAI,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,EAGlC;IAED,IAAI,UAAU,IAAI,gBAAgB,EAAE,CAGnC;IAED,IAAI,QAAQ,IAAI,OAAO,CAAiC;IACxD,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAGxB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAiBpF,KAAK,IAAI,IAAI;IAkCb,QAAQ,IAAI,IAAI;CA4HjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message-activity-element.d.ts","sourceRoot":"","sources":["../../src/message/chat-message-activity-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;;IACrD,MAAM,CAAC,kBAAkB,WAA6C;;IAsBtE,IAAI,MAAM,IAAI,OAAO,CAA+B;IACpD,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,EAGtB;IAED,IAAI,QAAQ,IAAI,OAAO,CAAiC;IACxD,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAGxB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAapF,KAAK,IAAI,IAAI;IAyCb,QAAQ,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"chat-message-activity-element.d.ts","sourceRoot":"","sources":["../../src/message/chat-message-activity-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;;IACrD,MAAM,CAAC,kBAAkB,WAA6C;;IAsBtE,IAAI,MAAM,IAAI,OAAO,CAA+B;IACpD,IAAI,MAAM,CAAC,GAAG,EAAE,OAAO,EAGtB;IAED,IAAI,QAAQ,IAAI,OAAO,CAAiC;IACxD,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,EAGxB;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAapF,KAAK,IAAI,IAAI;IAyCb,QAAQ,IAAI,IAAI;CAoFjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message-element.d.ts","sourceRoot":"","sources":["../../src/message/chat-message-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAe,MAAM,mBAAmB,CAAC;AAI/D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAOhE,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAGlD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,YAAa,SAAQ,aAAa;;IAC7C,MAAM,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"chat-message-element.d.ts","sourceRoot":"","sources":["../../src/message/chat-message-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAe,MAAM,mBAAmB,CAAC;AAI/D,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAOhE,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAGlD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,YAAa,SAAQ,aAAa;;IAC7C,MAAM,CAAC,kBAAkB,WAAsG;;IAoB/H,IAAI,IAAI,IAAI,MAAM,CAA6B;IAC/C,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,EAGnB;IAED,IAAI,SAAS,IAAI,MAAM,CAAkD;IAEzE,IAAI,SAAS,IAAI,MAAM,CAAwD;IAE/E,IAAI,MAAM,IAAI,MAAM,CAA+B;IACnD,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,EAGrB;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,CAAgC;IAC5D,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAO7B;IAED,IAAI,YAAY,IAAI,MAAM,CAAqC;IAC/D,IAAI,YAAY,CAAC,GAAG,EAAE,MAAM,EAG3B;IAED,IAAI,eAAe,IAAI,MAAM,CAAwC;IACrE,IAAI,eAAe,CAAC,GAAG,EAAE,MAAM,EAG9B;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAcpF,KAAK,IAAI,IAAI;IAqBb,QAAQ,IAAI,IAAI;CAoJjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message-genui-element.d.ts","sourceRoot":"","sources":["../../src/message/chat-message-genui-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,MAAM,mBAAmB,CAAC;AAE1D,wDAAwD;AACxD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAQD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;;IAClD,MAAM,CAAC,kBAAkB,WAA2B;;
|
|
1
|
+
{"version":3,"file":"chat-message-genui-element.d.ts","sourceRoot":"","sources":["../../src/message/chat-message-genui-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,MAAM,mBAAmB,CAAC;AAE1D,wDAAwD;AACxD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAQD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;;IAClD,MAAM,CAAC,kBAAkB,WAA2B;;IAgBpD,IAAI,MAAM,IAAI,SAAS,GAAG,IAAI,CAA+B;IAC7D,IAAI,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,EAE/B;IAED,IAAI,UAAU,IAAI,MAAM,CAAmC;IAC3D,IAAI,UAAU,CAAC,GAAG,EAAE,MAAM,EAGzB;IAED,IAAI,IAAI,IAAI,QAAQ,GAAG,UAAU,CAA6B;IAC9D,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU,EAGlC;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAWpF,KAAK,IAAI,IAAI;IA0Cb,QAAQ,IAAI,IAAI;CAwFjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message-text-element.d.ts","sourceRoot":"","sources":["../../src/message/chat-message-text-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;;IACjD,MAAM,CAAC,kBAAkB,WAAc;
|
|
1
|
+
{"version":3,"file":"chat-message-text-element.d.ts","sourceRoot":"","sources":["../../src/message/chat-message-text-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;;IACjD,MAAM,CAAC,kBAAkB,WAAc;IASvC,IAAI,OAAO,IAAI,MAAM,CAAgC;IACrD,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAEtB;IAED,IAAI,MAAM,IAAI,UAAU,GAAG,OAAO,CAA+B;IACjE,IAAI,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,EAGnC;IAID,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAUpF,KAAK,IAAI,IAAI;IAoCb,QAAQ,IAAI,IAAI;CAKjB;AAuBD,iBAAS,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmB1C;AAED,iBAAS,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA4F3C;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOjD;AAED,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-messages-element.d.ts","sourceRoot":"","sources":["../../src/message/chat-messages-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,aAAc,SAAQ,aAAa;;IAC9C,MAAM,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"chat-messages-element.d.ts","sourceRoot":"","sources":["../../src/message/chat-messages-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,aAAc,SAAQ,aAAa;;IAC9C,MAAM,CAAC,kBAAkB,WAA2C;;IAYpE,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKpF,KAAK,IAAI,IAAI;IA8Bb,QAAQ,IAAI,IAAI;CA4CjB"}
|
package/dist/native-chat.css
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
/* ════════════════════════════════════════════════════
|
|
2
2
|
native-chat — Chat component styles
|
|
3
|
+
════════════════════════════════════════════════════
|
|
4
|
+
|
|
5
|
+
CSS Override Policy
|
|
6
|
+
───────────────────
|
|
7
|
+
chat.css specializes core native-ui components for chat contexts.
|
|
8
|
+
All overrides use zero-specificity :where() selectors or properly
|
|
9
|
+
scoped attribute selectors per the CSS Single-Owner Principle.
|
|
10
|
+
|
|
11
|
+
1. n-textarea (inside n-chat-input):
|
|
12
|
+
Transparent background/borders — composer field should not
|
|
13
|
+
show control chrome. Overrides textarea.css via source order
|
|
14
|
+
(both :where(), chat loads later).
|
|
15
|
+
|
|
16
|
+
2. Sub-containers (n-header, n-body, n-footer):
|
|
17
|
+
Context-specific backgrounds and borders via --n-chat-panel-*
|
|
18
|
+
tokens. Overrides panel.css border pattern via source order.
|
|
19
|
+
|
|
20
|
+
3. Aside overflow:
|
|
21
|
+
overflow: visible instead of panel.css's overflow-y: auto.
|
|
22
|
+
Chat panel delegates scrolling to its n-body sub-container.
|
|
23
|
+
|
|
24
|
+
4. n-button gap (model picker):
|
|
25
|
+
Tighter gap via [justify="spread"] attribute selector (0,1,0)
|
|
26
|
+
beating button.css zero-specificity base rule.
|
|
27
|
+
|
|
3
28
|
════════════════════════════════════════════════════ */
|
|
4
29
|
|
|
5
30
|
@layer ui {
|
|
@@ -58,6 +83,12 @@
|
|
|
58
83
|
|
|
59
84
|
/* Prose */
|
|
60
85
|
--n-chat-prose-gap: calc(var(--n-space) * 2);
|
|
86
|
+
|
|
87
|
+
/* Component-local tokens (magic number extraction) */
|
|
88
|
+
--n-chat-model-picker-max-width: 12rem;
|
|
89
|
+
--n-chat-activity-max-height: 20rem;
|
|
90
|
+
--n-chat-streaming-opacity: 0.85;
|
|
91
|
+
--n-chat-dot-pulse-duration: 1.2s;
|
|
61
92
|
}
|
|
62
93
|
|
|
63
94
|
/* ╭──────────────────────────────────────────────────────────╮
|
|
@@ -100,33 +131,15 @@
|
|
|
100
131
|
line-height: var(--n-line-height);
|
|
101
132
|
}
|
|
102
133
|
|
|
103
|
-
/* ── Aside mode (collapsible side panel) ──
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
flex: none;
|
|
108
|
-
width: 0;
|
|
109
|
-
min-width: 0;
|
|
110
|
-
max-width: 480px;
|
|
111
|
-
overflow: clip;
|
|
112
|
-
padding: 0;
|
|
113
|
-
transition:
|
|
114
|
-
width var(--n-duration) var(--n-easing),
|
|
115
|
-
min-width var(--n-duration) var(--n-easing),
|
|
116
|
-
padding var(--n-duration) var(--n-easing),
|
|
117
|
-
margin var(--n-duration) var(--n-easing);
|
|
118
|
-
}
|
|
134
|
+
/* ── Aside mode (collapsible side panel) ──
|
|
135
|
+
Base [aside] rule (panel.css) handles: display, width, min-width,
|
|
136
|
+
max-width, overflow, padding, transition + @starting-style.
|
|
137
|
+
Only override what chat-panel needs differently. */
|
|
119
138
|
|
|
120
139
|
:where(native-chat-panel)[aside][open] {
|
|
121
|
-
width: 360px;
|
|
122
|
-
min-width: 280px;
|
|
123
140
|
overflow: visible;
|
|
124
141
|
}
|
|
125
142
|
|
|
126
|
-
:where(native-chat-panel)[aside][resizing] {
|
|
127
|
-
transition: none;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
143
|
/* ── Sub-container integration ── */
|
|
131
144
|
|
|
132
145
|
:where(native-chat-panel) > :where(n-header) {
|
|
@@ -139,6 +152,12 @@
|
|
|
139
152
|
letter-spacing: var(--n-chat-panel-header-label-letter-spacing);
|
|
140
153
|
}
|
|
141
154
|
|
|
155
|
+
:where(native-chat-panel) :where(.n-chat-panel-header-trailing) {
|
|
156
|
+
display: inline-flex;
|
|
157
|
+
align-items: center;
|
|
158
|
+
gap: calc(var(--n-space) * 2);
|
|
159
|
+
}
|
|
160
|
+
|
|
142
161
|
:where(native-chat-panel) > :where(n-body) {
|
|
143
162
|
background: var(--n-chat-panel-body-background);
|
|
144
163
|
}
|
|
@@ -151,7 +170,7 @@
|
|
|
151
170
|
/* ── Model picker ── */
|
|
152
171
|
|
|
153
172
|
:where(native-chat-panel) :where(n-select[data-role="model-picker"]) {
|
|
154
|
-
max-width:
|
|
173
|
+
max-width: var(--n-chat-model-picker-max-width);
|
|
155
174
|
}
|
|
156
175
|
|
|
157
176
|
:where(native-chat-panel) :where(n-select[data-role="model-picker"]) :where(n-button[justify="spread"]) {
|
|
@@ -291,22 +310,22 @@
|
|
|
291
310
|
}
|
|
292
311
|
|
|
293
312
|
/* User messages: right-aligned, avatar on right */
|
|
294
|
-
[role="user"]:where(n-chat-messages) {
|
|
313
|
+
[data-role="user"]:where(n-chat-messages) {
|
|
295
314
|
grid-template-columns: 1fr auto;
|
|
296
315
|
align-self: flex-end;
|
|
297
316
|
}
|
|
298
317
|
|
|
299
|
-
[role="user"]:where(n-chat-messages) > :where(n-chat-avatar) {
|
|
318
|
+
[data-role="user"]:where(n-chat-messages) > :where(n-chat-avatar) {
|
|
300
319
|
grid-column: 2;
|
|
301
320
|
}
|
|
302
321
|
|
|
303
|
-
[role="user"]:where(n-chat-messages) > :where(.n-chat-context),
|
|
304
|
-
[role="user"]:where(n-chat-messages) > :where(.n-chat-bubbles) {
|
|
322
|
+
[data-role="user"]:where(n-chat-messages) > :where(.n-chat-context),
|
|
323
|
+
[data-role="user"]:where(n-chat-messages) > :where(.n-chat-bubbles) {
|
|
305
324
|
grid-column: 1;
|
|
306
325
|
}
|
|
307
326
|
|
|
308
327
|
/* User bubbles align to the right edge */
|
|
309
|
-
[role="user"]:where(n-chat-messages) :where(.n-chat-bubbles) > :where(n-chat-message) {
|
|
328
|
+
[data-role="user"]:where(n-chat-messages) :where(.n-chat-bubbles) > :where(n-chat-message) {
|
|
310
329
|
align-self: flex-end;
|
|
311
330
|
}
|
|
312
331
|
|
|
@@ -329,7 +348,7 @@
|
|
|
329
348
|
color: var(--n-chat-avatar-color);
|
|
330
349
|
|
|
331
350
|
font-size: calc(var(--n-chat-avatar-size) * 0.4);
|
|
332
|
-
font-weight:
|
|
351
|
+
font-weight: var(--n-button-font-weight);
|
|
333
352
|
line-height: 1;
|
|
334
353
|
overflow: hidden;
|
|
335
354
|
user-select: none;
|
|
@@ -373,7 +392,7 @@
|
|
|
373
392
|
}
|
|
374
393
|
|
|
375
394
|
/* User bubble: avatar on right — flip avatar-side / far-side corners */
|
|
376
|
-
[role="user"]:where(n-chat-message) {
|
|
395
|
+
[data-role="user"]:where(n-chat-message) {
|
|
377
396
|
border-radius:
|
|
378
397
|
var(--n-chat-bubble-radius-far-side)
|
|
379
398
|
var(--n-chat-bubble-radius-avatar-side)
|
|
@@ -386,7 +405,7 @@
|
|
|
386
405
|
|
|
387
406
|
/* Streaming status */
|
|
388
407
|
[status="streaming"]:where(n-chat-message) {
|
|
389
|
-
opacity:
|
|
408
|
+
opacity: var(--n-chat-streaming-opacity);
|
|
390
409
|
}
|
|
391
410
|
|
|
392
411
|
/* Error status */
|
|
@@ -399,6 +418,19 @@
|
|
|
399
418
|
border-bottom: 2px dashed var(--n-border-muted);
|
|
400
419
|
}
|
|
401
420
|
|
|
421
|
+
/* Typing status — waiting for first stream chunk */
|
|
422
|
+
[status="typing"]:where(n-chat-message) :where(n-chat-message-text) :where(.n-chat-prose):empty::before {
|
|
423
|
+
content: '\25CF\25CF\25CF';
|
|
424
|
+
letter-spacing: 0.25em;
|
|
425
|
+
color: var(--n-ink-muted);
|
|
426
|
+
animation: n-chat-typing-dots var(--n-chat-dot-pulse-duration, 1.4s) ease-in-out infinite;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
@keyframes n-chat-typing-dots {
|
|
430
|
+
0%, 100% { opacity: 0.3; }
|
|
431
|
+
50% { opacity: 1; }
|
|
432
|
+
}
|
|
433
|
+
|
|
402
434
|
/* ── Message actions toolbar ── */
|
|
403
435
|
|
|
404
436
|
:where(n-chat-message) > :where(n-toolbar[data-role="actions"]) {
|
|
@@ -494,7 +526,7 @@
|
|
|
494
526
|
}
|
|
495
527
|
|
|
496
528
|
:where(n-chat-message-text) :where(h1, h2, h3, h4, h5, h6) {
|
|
497
|
-
font-weight:
|
|
529
|
+
font-weight: var(--n-button-font-weight);
|
|
498
530
|
line-height: 1.3;
|
|
499
531
|
}
|
|
500
532
|
|
|
@@ -526,7 +558,8 @@
|
|
|
526
558
|
}
|
|
527
559
|
|
|
528
560
|
:where(n-chat-message-text) :where(pre) {
|
|
529
|
-
padding: calc(var(--n-space) * 2);
|
|
561
|
+
padding-block: calc(var(--n-space) * 2);
|
|
562
|
+
padding-inline: calc(var(--n-space) * 2);
|
|
530
563
|
background: var(--n-control);
|
|
531
564
|
border-radius: calc(var(--n-radius) * 0.5);
|
|
532
565
|
overflow-x: auto;
|
|
@@ -534,7 +567,8 @@
|
|
|
534
567
|
}
|
|
535
568
|
|
|
536
569
|
:where(n-chat-message-text) :where(pre) :where(code) {
|
|
537
|
-
padding: 0;
|
|
570
|
+
padding-block: 0;
|
|
571
|
+
padding-inline: 0;
|
|
538
572
|
background: transparent;
|
|
539
573
|
border-radius: 0;
|
|
540
574
|
}
|
|
@@ -545,6 +579,10 @@
|
|
|
545
579
|
text-underline-offset: 0.15em;
|
|
546
580
|
}
|
|
547
581
|
|
|
582
|
+
:where(n-chat-message-text) :where(a):hover {
|
|
583
|
+
color: var(--n-ink-hover);
|
|
584
|
+
}
|
|
585
|
+
|
|
548
586
|
:where(n-chat-message-text) :where(hr) {
|
|
549
587
|
border: none;
|
|
550
588
|
border-top: 1px solid var(--n-border-muted);
|
|
@@ -595,7 +633,7 @@
|
|
|
595
633
|
height: 0.25em;
|
|
596
634
|
border-radius: 50%;
|
|
597
635
|
background: currentColor;
|
|
598
|
-
animation: n-chat-dot-pulse
|
|
636
|
+
animation: n-chat-dot-pulse var(--n-chat-dot-pulse-duration) ease-in-out infinite;
|
|
599
637
|
}
|
|
600
638
|
|
|
601
639
|
:where(n-chat-message-activity) :where(.n-chat-activity-dots) > :where(i:nth-child(2)) {
|
|
@@ -634,7 +672,7 @@
|
|
|
634
672
|
padding-inline-start: calc(var(--n-space) * 3);
|
|
635
673
|
font-family: var(--n-font-mono);
|
|
636
674
|
font-size: var(--n-font-size-sm);
|
|
637
|
-
max-height:
|
|
675
|
+
max-height: var(--n-chat-activity-max-height);
|
|
638
676
|
overflow-y: auto;
|
|
639
677
|
scrollbar-width: thin;
|
|
640
678
|
}
|
|
@@ -664,6 +702,8 @@
|
|
|
664
702
|
|
|
665
703
|
:where(n-chat-message-seed)[aria-disabled="true"] {
|
|
666
704
|
pointer-events: none;
|
|
705
|
+
color: var(--n-color-disabled);
|
|
706
|
+
cursor: not-allowed;
|
|
667
707
|
}
|
|
668
708
|
|
|
669
709
|
:where(n-chat-message-seed[hidden]) { display: none; }
|
|
@@ -684,7 +724,8 @@
|
|
|
684
724
|
}
|
|
685
725
|
|
|
686
726
|
:where(n-chat-message-genui) :where(.n-chat-genui-error) {
|
|
687
|
-
padding: var(--n-space);
|
|
727
|
+
padding-block: var(--n-space);
|
|
728
|
+
padding-inline: var(--n-space);
|
|
688
729
|
color: var(--n-ink-danger);
|
|
689
730
|
font-size: var(--n-font-size-sm);
|
|
690
731
|
}
|
|
@@ -706,14 +747,16 @@
|
|
|
706
747
|
display: flex;
|
|
707
748
|
flex-direction: column;
|
|
708
749
|
gap: var(--n-chat-structured-gap);
|
|
709
|
-
padding: var(--n-chat-structured-padding);
|
|
710
|
-
|
|
750
|
+
padding-block: var(--n-chat-structured-padding);
|
|
751
|
+
padding-inline: var(--n-chat-structured-padding);
|
|
752
|
+
--n-background: var(--n-card);
|
|
753
|
+
background: var(--n-background);
|
|
711
754
|
border-radius: var(--n-chat-bubble-radius);
|
|
712
755
|
align-self: stretch;
|
|
713
756
|
}
|
|
714
757
|
|
|
715
758
|
:where(n-chat-input-structured) > :where(.n-chat-structured-question) {
|
|
716
|
-
font-weight:
|
|
759
|
+
font-weight: var(--n-button-font-weight);
|
|
717
760
|
}
|
|
718
761
|
|
|
719
762
|
:where(n-chat-input-structured) > :where(n-stack) {
|
|
@@ -730,6 +773,8 @@
|
|
|
730
773
|
|
|
731
774
|
:where(n-chat-input-structured)[aria-disabled="true"] {
|
|
732
775
|
pointer-events: none;
|
|
776
|
+
color: var(--n-color-disabled);
|
|
777
|
+
cursor: not-allowed;
|
|
733
778
|
}
|
|
734
779
|
|
|
735
780
|
:where(n-chat-input-structured[hidden]) { display: none; }
|
|
@@ -746,7 +791,7 @@
|
|
|
746
791
|
}
|
|
747
792
|
|
|
748
793
|
/* Compact: single row */
|
|
749
|
-
:where(n-chat-input
|
|
794
|
+
[compact]:where(n-chat-input) {
|
|
750
795
|
flex-direction: row;
|
|
751
796
|
align-items: center;
|
|
752
797
|
}
|
|
@@ -760,7 +805,8 @@
|
|
|
760
805
|
--n-border-color-hover: transparent;
|
|
761
806
|
--n-border-color-active: transparent;
|
|
762
807
|
|
|
763
|
-
padding: 0;
|
|
808
|
+
padding-block: 0;
|
|
809
|
+
padding-inline: 0;
|
|
764
810
|
border: none;
|
|
765
811
|
border-radius: 0;
|
|
766
812
|
resize: none;
|
|
@@ -795,7 +841,7 @@
|
|
|
795
841
|
min-width: 0;
|
|
796
842
|
}
|
|
797
843
|
|
|
798
|
-
:where(n-chat-input
|
|
844
|
+
[compact]:where(n-chat-input) > :where(n-chat-input-actions) {
|
|
799
845
|
flex: none;
|
|
800
846
|
}
|
|
801
847
|
|
package/dist/native-chat.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "./chat-input-structured-element-
|
|
1
|
+
import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "./chat-input-structured-element-Xm4nCA2K.js";
|
|
2
2
|
/**
|
|
3
3
|
* Parse a Server-Sent Events (SSE) response stream into ChatStreamChunk values.
|
|
4
4
|
*
|
package/dist/register.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as e, d as t, g as n, h as r, i, l as a, m as o, n as s, p as c, r as l, t as u } from "./chat-input-structured-element-
|
|
1
|
+
import { a as e, d as t, g as n, h as r, i, l as a, m as o, n as s, p as c, r as l, t as u } from "./chat-input-structured-element-Xm4nCA2K.js";
|
|
2
2
|
import { NButton as d, NCard as f, NDialog as p, NIcon as m, NListbox as h, NOption as g, NOptionGroup as _, NOptionGroupHeader as v, NSelect as y, NTextarea as b, NToolbar as x, define as S, registerIcon as C } from "@nonoun/native-ui";
|
|
3
3
|
S("n-chat-input", n), S("native-chat-panel", r), S("n-chat-feed", o), S("n-chat-avatar", c), S("n-chat-message", t), S("n-chat-messages", a), S("n-chat-message-text", e), S("n-chat-message-activity", i), S("n-chat-message-seed", l), S("n-chat-message-genui", s), S("n-chat-input-structured", u), S("n-textarea", b), S("n-button", d), S("n-icon", m), S("n-toolbar", x), S("n-dialog", p), S("n-card", f), S("n-listbox", h), S("n-option", g), S("n-option-group", _), S("n-option-group-header", v), S("n-select", y), C("chat-dots", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M116,128a12,12,0,1,1,12,12A12,12,0,0,1,116,128ZM84,140a12,12,0,1,0-12-12A12,12,0,0,0,84,140Zm88,0a12,12,0,1,0-12-12A12,12,0,0,0,172,140Zm60-76V192a16,16,0,0,1-16,16H83l-32.6,28.16-.09.07A15.89,15.89,0,0,1,40,240a16.13,16.13,0,0,1-6.8-1.52A15.85,15.85,0,0,1,24,224V64A16,16,0,0,1,40,48H216A16,16,0,0,1,232,64ZM40,224h0ZM216,64H40V224l34.77-30A8,8,0,0,1,80,192H216Z\"/></svg>"), C("user", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8C55.71,194.74,89.05,176,128,176s72.29,18.74,89.07,44a8,8,0,0,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z\"/></svg>"), C("stop", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M200,40H56A16,16,0,0,0,40,56V200a16,16,0,0,0,16,16H200a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm0,160H56V56H200V200Z\"/></svg>"), C("arrow-counter-clockwise", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M224,128a96,96,0,0,1-94.71,96H128A95.38,95.38,0,0,1,62.1,197.8a8,8,0,0,1,11-11.63A80,80,0,1,0,71.43,71.39a3.07,3.07,0,0,1-.26.25L44.59,96H72a8,8,0,0,1,0,16H24a8,8,0,0,1-8-8V56a8,8,0,0,1,16,0V85.8L60.25,60A96,96,0,0,1,224,128Z\"/></svg>"), C("caret-up-down", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M181.66,170.34a8,8,0,0,1,0,11.32l-48,48a8,8,0,0,1-11.32,0l-48-48a8,8,0,0,1,11.32-11.32L128,212.69l42.34-42.35A8,8,0,0,1,181.66,170.34Zm-96-84.68L128,43.31l42.34,42.35a8,8,0,0,0,11.32-11.32l-48-48a8,8,0,0,0-11.32,0l-48,48A8,8,0,0,0,85.66,85.66Z\"/></svg>"), C("dots-three-outline-fill", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M156,128a28,28,0,1,1-28-28A28,28,0,0,1,156,128ZM48,100a28,28,0,1,0,28,28A28,28,0,0,0,48,100Zm160,0a28,28,0,1,0,28,28A28,28,0,0,0,208,100Z\"/></svg>"), C("plus", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z\"/></svg>"), C("microphone", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M128,176a48.05,48.05,0,0,0,48-48V64a48,48,0,0,0-96,0v64A48.05,48.05,0,0,0,128,176ZM96,64a32,32,0,0,1,64,0v64a32,32,0,0,1-64,0Zm40,143.6V240a8,8,0,0,1-16,0V207.6A80.11,80.11,0,0,1,48,128a8,8,0,0,1,16,0,64,64,0,0,0,128,0,8,8,0,0,1,16,0A80.11,80.11,0,0,1,136,207.6Z\"/></svg>"), C("arrow-up", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M205.66,117.66a8,8,0,0,1-11.32,0L136,59.31V216a8,8,0,0,1-16,0V59.31L61.66,117.66a8,8,0,0,1-11.32-11.32l72-72a8,8,0,0,1,11.32,0l72,72A8,8,0,0,1,205.66,117.66Z\"/></svg>"), C("copy", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z\"/></svg>"), C("arrow-clockwise", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M240,56v48a8,8,0,0,1-8,8H184a8,8,0,0,1,0-16H211.4L184.81,71.64l-.25-.24a80,80,0,1,0-1.67,114.78,8,8,0,0,1,11,11.63A95.44,95.44,0,0,1,128,224h-1.32A96,96,0,1,1,195.75,60L224,85.8V56a8,8,0,1,1,16,0Z\"/></svg>"), C("pencil-simple", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M227.31,73.37,182.63,28.68a16,16,0,0,0-22.63,0L36.69,152A15.86,15.86,0,0,0,32,163.31V208a16,16,0,0,0,16,16H92.69A15.86,15.86,0,0,0,104,219.31L227.31,96a16,16,0,0,0,0-22.63ZM92.69,208H48V163.31l88-88L180.69,120ZM192,108.68,147.31,64l24-24L216,84.68Z\"/></svg>"), C("thumbs-up", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M234,80.12A24,24,0,0,0,216,72H160V56a40,40,0,0,0-40-40,8,8,0,0,0-7.16,4.42L75.06,96H32a16,16,0,0,0-16,16v88a16,16,0,0,0,16,16H204a24,24,0,0,0,23.82-21l12-96A24,24,0,0,0,234,80.12ZM32,112H72v88H32ZM223.94,97l-12,96a8,8,0,0,1-7.94,7H88V105.89l36.71-73.43A24,24,0,0,1,144,56V80a8,8,0,0,0,8,8h64a8,8,0,0,1,7.94,9Z\"/></svg>"), C("thumbs-down", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M239.82,157l-12-96A24,24,0,0,0,204,40H32A16,16,0,0,0,16,56v88a16,16,0,0,0,16,16H75.06l37.78,75.58A8,8,0,0,0,120,240a40,40,0,0,0,40-40V184h56a24,24,0,0,0,23.82-27ZM72,144H32V56H72Zm150,21.29a7.88,7.88,0,0,1-6,2.71H152a8,8,0,0,0-8,8v24a24,24,0,0,1-19.29,23.54L88,150.11V56H204a8,8,0,0,1,7.94,7l12,96A7.87,7.87,0,0,1,222,165.29Z\"/></svg>"), C("arrow-right", "<svg viewBox=\"0 0 256 256\" fill=\"currentColor\"><path d=\"M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z\"/></svg>");
|
|
4
4
|
export { c as NChatAvatar, o as NChatFeed, n as NChatInput, u as NChatInputStructured, t as NChatMessage, i as NChatMessageActivity, s as NChatMessageGenUI, l as NChatMessageSeed, e as NChatMessageText, a as NChatMessages, r as NChatPanel };
|