@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.
Files changed (68) hide show
  1. package/README.md +63 -0
  2. package/dist/client.d.ts +15 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +22 -0
  5. package/dist/components/connect.d.ts +79 -0
  6. package/dist/components/connect.d.ts.map +1 -0
  7. package/dist/components/connect.js +1110 -0
  8. package/dist/components/index.d.ts +8 -0
  9. package/dist/components/index.d.ts.map +1 -0
  10. package/dist/components/index.js +7 -0
  11. package/dist/components/login-button.d.ts +16 -0
  12. package/dist/components/login-button.d.ts.map +1 -0
  13. package/dist/components/login-button.js +69 -0
  14. package/dist/components/model-picker.d.ts +16 -0
  15. package/dist/components/model-picker.d.ts.map +1 -0
  16. package/dist/components/model-picker.js +61 -0
  17. package/dist/components/provider-status.d.ts +10 -0
  18. package/dist/components/provider-status.d.ts.map +1 -0
  19. package/dist/components/provider-status.js +42 -0
  20. package/dist/constants.d.ts +33 -0
  21. package/dist/constants.d.ts.map +1 -0
  22. package/dist/constants.js +156 -0
  23. package/dist/index.d.ts +11 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +13 -0
  26. package/dist/register.d.ts +9 -0
  27. package/dist/register.d.ts.map +1 -0
  28. package/dist/register.js +25 -0
  29. package/dist/styles/base.d.ts +5 -0
  30. package/dist/styles/base.d.ts.map +1 -0
  31. package/dist/styles/base.js +49 -0
  32. package/dist/styles/buttons.d.ts +6 -0
  33. package/dist/styles/buttons.d.ts.map +1 -0
  34. package/dist/styles/buttons.js +206 -0
  35. package/dist/styles/cards.d.ts +5 -0
  36. package/dist/styles/cards.d.ts.map +1 -0
  37. package/dist/styles/cards.js +212 -0
  38. package/dist/styles/index.d.ts +20 -0
  39. package/dist/styles/index.d.ts.map +1 -0
  40. package/dist/styles/index.js +42 -0
  41. package/dist/styles/inputs.d.ts +5 -0
  42. package/dist/styles/inputs.d.ts.map +1 -0
  43. package/dist/styles/inputs.js +79 -0
  44. package/dist/styles/panels.d.ts +5 -0
  45. package/dist/styles/panels.d.ts.map +1 -0
  46. package/dist/styles/panels.js +184 -0
  47. package/dist/styles/responsive.d.ts +5 -0
  48. package/dist/styles/responsive.d.ts.map +1 -0
  49. package/dist/styles/responsive.js +62 -0
  50. package/dist/styles/utilities.d.ts +5 -0
  51. package/dist/styles/utilities.d.ts.map +1 -0
  52. package/dist/styles/utilities.js +86 -0
  53. package/dist/types.d.ts +137 -0
  54. package/dist/types.d.ts.map +1 -0
  55. package/dist/types.js +4 -0
  56. package/dist/utils/dom.d.ts +24 -0
  57. package/dist/utils/dom.d.ts.map +1 -0
  58. package/dist/utils/dom.js +42 -0
  59. package/dist/utils/html.d.ts +8 -0
  60. package/dist/utils/html.d.ts.map +1 -0
  61. package/dist/utils/html.js +11 -0
  62. package/dist/utils/index.d.ts +7 -0
  63. package/dist/utils/index.d.ts.map +1 -0
  64. package/dist/utils/index.js +6 -0
  65. package/dist/utils/storage.d.ts +29 -0
  66. package/dist/utils/storage.d.ts.map +1 -0
  67. package/dist/utils/storage.js +110 -0
  68. 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.
@@ -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"}