@agentconnect/ui 0.1.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/README.md +63 -0
- package/dist/client.d.ts +15 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +22 -0
- package/dist/components/connect.d.ts +79 -0
- package/dist/components/connect.d.ts.map +1 -0
- package/dist/components/connect.js +1110 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +7 -0
- package/dist/components/login-button.d.ts +16 -0
- package/dist/components/login-button.d.ts.map +1 -0
- package/dist/components/login-button.js +69 -0
- package/dist/components/model-picker.d.ts +16 -0
- package/dist/components/model-picker.d.ts.map +1 -0
- package/dist/components/model-picker.js +61 -0
- package/dist/components/provider-status.d.ts +10 -0
- package/dist/components/provider-status.d.ts.map +1 -0
- package/dist/components/provider-status.js +42 -0
- package/dist/constants.d.ts +33 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +156 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/register.d.ts +9 -0
- package/dist/register.d.ts.map +1 -0
- package/dist/register.js +25 -0
- package/dist/styles/base.d.ts +5 -0
- package/dist/styles/base.d.ts.map +1 -0
- package/dist/styles/base.js +49 -0
- package/dist/styles/buttons.d.ts +6 -0
- package/dist/styles/buttons.d.ts.map +1 -0
- package/dist/styles/buttons.js +206 -0
- package/dist/styles/cards.d.ts +5 -0
- package/dist/styles/cards.d.ts.map +1 -0
- package/dist/styles/cards.js +212 -0
- package/dist/styles/index.d.ts +20 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/index.js +42 -0
- package/dist/styles/inputs.d.ts +5 -0
- package/dist/styles/inputs.d.ts.map +1 -0
- package/dist/styles/inputs.js +79 -0
- package/dist/styles/panels.d.ts +5 -0
- package/dist/styles/panels.d.ts.map +1 -0
- package/dist/styles/panels.js +184 -0
- package/dist/styles/responsive.d.ts +5 -0
- package/dist/styles/responsive.d.ts.map +1 -0
- package/dist/styles/responsive.js +62 -0
- package/dist/styles/utilities.d.ts +5 -0
- package/dist/styles/utilities.d.ts.map +1 -0
- package/dist/styles/utilities.js +86 -0
- package/dist/types.d.ts +137 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/utils/dom.d.ts +24 -0
- package/dist/utils/dom.d.ts.map +1 -0
- package/dist/utils/dom.js +42 -0
- package/dist/utils/html.d.ts +8 -0
- package/dist/utils/html.d.ts.map +1 -0
- package/dist/utils/html.js +11 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/storage.d.ts +29 -0
- package/dist/utils/storage.d.ts.map +1 -0
- package/dist/utils/storage.js +110 -0
- package/package.json +40 -0
package/README.md
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# @agentconnect/ui
|
|
2
|
+
|
|
3
|
+
AgentConnect UI web components. Use these to drop a wallet-connect style modal into any app.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
bun add @agentconnect/ui @agentconnect/sdk
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install @agentconnect/ui @agentconnect/sdk
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pnpm add @agentconnect/ui @agentconnect/sdk
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Quick start
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { defineAgentConnectComponents } from '@agentconnect/ui';
|
|
23
|
+
|
|
24
|
+
defineAgentConnectComponents();
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```html
|
|
28
|
+
<agentconnect-connect></agentconnect-connect>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Events
|
|
32
|
+
|
|
33
|
+
`agentconnect-connect` emits:
|
|
34
|
+
|
|
35
|
+
- `agentconnect:connected`
|
|
36
|
+
- `agentconnect:selection-changed`
|
|
37
|
+
- `agentconnect:disconnected`
|
|
38
|
+
|
|
39
|
+
Each event includes `provider`, `model`, `reasoningEffort`, `scopeId`, and previous values when available.
|
|
40
|
+
|
|
41
|
+
## Theming
|
|
42
|
+
|
|
43
|
+
Style via CSS custom properties:
|
|
44
|
+
|
|
45
|
+
- `--ac-font-family`
|
|
46
|
+
- `--ac-button-bg`
|
|
47
|
+
- `--ac-button-color`
|
|
48
|
+
- `--ac-modal-bg`
|
|
49
|
+
- `--ac-modal-color`
|
|
50
|
+
- `--ac-modal-border`
|
|
51
|
+
- `--ac-card-border`
|
|
52
|
+
- `--ac-card-active-bg`
|
|
53
|
+
- `--ac-chip-bg`
|
|
54
|
+
- `--ac-chip-color`
|
|
55
|
+
- `--ac-muted`
|
|
56
|
+
|
|
57
|
+
## Requirements
|
|
58
|
+
|
|
59
|
+
Runs in any modern browser. An AgentConnect host must be available (CLI dev host or embedded host).
|
|
60
|
+
|
|
61
|
+
## Docs
|
|
62
|
+
|
|
63
|
+
See `docs/SDK.md` in the repo for the full SDK reference and `SPEC.md` for the protocol contract.
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared AgentConnect client singleton.
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentConnectClient } from '@agentconnect/sdk';
|
|
5
|
+
/**
|
|
6
|
+
* Get or create the shared AgentConnect client instance.
|
|
7
|
+
* Uses a singleton pattern to ensure all components share the same connection.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getClient(): Promise<AgentConnectClient>;
|
|
10
|
+
/**
|
|
11
|
+
* Reset the client connection.
|
|
12
|
+
* Useful for testing or when the connection needs to be re-established.
|
|
13
|
+
*/
|
|
14
|
+
export declare function resetClient(): void;
|
|
15
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5D;;;GAGG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAKvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared AgentConnect client singleton.
|
|
3
|
+
*/
|
|
4
|
+
import { AgentConnect } from '@agentconnect/sdk';
|
|
5
|
+
let clientPromise = null;
|
|
6
|
+
/**
|
|
7
|
+
* Get or create the shared AgentConnect client instance.
|
|
8
|
+
* Uses a singleton pattern to ensure all components share the same connection.
|
|
9
|
+
*/
|
|
10
|
+
export function getClient() {
|
|
11
|
+
if (!clientPromise) {
|
|
12
|
+
clientPromise = AgentConnect.connect();
|
|
13
|
+
}
|
|
14
|
+
return clientPromise;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Reset the client connection.
|
|
18
|
+
* Useful for testing or when the connection needs to be re-established.
|
|
19
|
+
*/
|
|
20
|
+
export function resetClient() {
|
|
21
|
+
clientPromise = null;
|
|
22
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main AgentConnect connect component.
|
|
3
|
+
* Handles provider selection, model picking, and connection management.
|
|
4
|
+
*/
|
|
5
|
+
export declare class AgentConnectConnect extends HTMLElement {
|
|
6
|
+
private state;
|
|
7
|
+
private localConfig;
|
|
8
|
+
private prefetching;
|
|
9
|
+
private busy;
|
|
10
|
+
private busyMessage;
|
|
11
|
+
private isSelectingModel;
|
|
12
|
+
private pendingModelRender;
|
|
13
|
+
private popoverLocked;
|
|
14
|
+
private popoverPosition;
|
|
15
|
+
private modelsProvider;
|
|
16
|
+
private modelsFetchedAt;
|
|
17
|
+
private elements;
|
|
18
|
+
private handleResize;
|
|
19
|
+
private loginPollTimer;
|
|
20
|
+
private readonly loginPollIntervalMs;
|
|
21
|
+
private readonly modelsRefreshIntervalMs;
|
|
22
|
+
constructor();
|
|
23
|
+
connectedCallback(): void;
|
|
24
|
+
disconnectedCallback(): void;
|
|
25
|
+
private createInitialState;
|
|
26
|
+
private get storageKey();
|
|
27
|
+
private get localConfigKey();
|
|
28
|
+
private render;
|
|
29
|
+
private cacheElements;
|
|
30
|
+
private bindEvents;
|
|
31
|
+
private open;
|
|
32
|
+
private close;
|
|
33
|
+
private setView;
|
|
34
|
+
private setPanelActive;
|
|
35
|
+
private positionPopover;
|
|
36
|
+
private hasLocalConfig;
|
|
37
|
+
private getLocalModelOptions;
|
|
38
|
+
private getFallbackProviders;
|
|
39
|
+
private populateLocalForm;
|
|
40
|
+
private restoreSelection;
|
|
41
|
+
private refresh;
|
|
42
|
+
private startLoginPolling;
|
|
43
|
+
private stopLoginPolling;
|
|
44
|
+
private pollProviderStatus;
|
|
45
|
+
private prefetchProviders;
|
|
46
|
+
private prefetchAllProviderModels;
|
|
47
|
+
private refreshModels;
|
|
48
|
+
private renderProviders;
|
|
49
|
+
private buildProviderCard;
|
|
50
|
+
private getProviderStatusText;
|
|
51
|
+
private buildProviderAction;
|
|
52
|
+
private buildActionButton;
|
|
53
|
+
private handleProviderSelect;
|
|
54
|
+
private connectProvider;
|
|
55
|
+
private setProviderLoading;
|
|
56
|
+
private ensureProviderReady;
|
|
57
|
+
private openLocalConfig;
|
|
58
|
+
private saveLocalConfig;
|
|
59
|
+
private renderConnectedModels;
|
|
60
|
+
private flushModelRender;
|
|
61
|
+
private getReasoningEffortsForModel;
|
|
62
|
+
private getDefaultReasoningEffort;
|
|
63
|
+
private syncReasoningEffort;
|
|
64
|
+
private renderReasoningEfforts;
|
|
65
|
+
private updatePopoverTitle;
|
|
66
|
+
private updateButtonLabel;
|
|
67
|
+
private formatButtonModelLabel;
|
|
68
|
+
private renderConnectButtonContent;
|
|
69
|
+
private applySelection;
|
|
70
|
+
private disconnect;
|
|
71
|
+
private dispatchSelectionEvent;
|
|
72
|
+
private validateLocalConfig;
|
|
73
|
+
private showFieldError;
|
|
74
|
+
private clearFieldErrors;
|
|
75
|
+
private setStatus;
|
|
76
|
+
private setAlert;
|
|
77
|
+
private setBusy;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=connect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/components/connect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+BH,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,IAAI,CAAU;IACtB,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;;IAyBlD,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAK5B,OAAO,CAAC,kBAAkB;IAc1B,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,cAAc,GAEzB;IAED,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,UAAU;IAiElB,OAAO,CAAC,IAAI;IAmBZ,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,OAAO;IA0Bf,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,gBAAgB;YAeV,OAAO;IA2DrB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,gBAAgB;YAMV,kBAAkB;YA4BlB,iBAAiB;YAQjB,yBAAyB;YAQzB,aAAa;IAyC3B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,iBAAiB;IAmEzB,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,mBAAmB;IAmC3B,OAAO,CAAC,iBAAiB;YAsBX,oBAAoB;YAUpB,eAAe;IAiC7B,OAAO,CAAC,kBAAkB;YAqBZ,mBAAmB;IAiDjC,OAAO,CAAC,eAAe;YAST,eAAe;IAoE7B,OAAO,CAAC,qBAAqB;IA+C7B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,sBAAsB;IAiB9B,OAAO,CAAC,0BAA0B;IA6BlC,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,QAAQ;IAwChB,OAAO,CAAC,OAAO;CAkBhB"}
|