@ai-ecoverse/slicc-spectrum 1.32.1 → 1.34.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.
@@ -1,5 +1,5 @@
1
1
  import { LitElement, type PropertyValues, type TemplateResult } from 'lit';
2
- import type { AgentStatus, ColorScheme, SliccModel } from '../model/types.js';
2
+ import type { AgentStatus, ColorScheme, ModelOption, SliccModel } from '../model/types.js';
3
3
  export declare class ModelElement extends LitElement {
4
4
  #private;
5
5
  static properties: {
@@ -33,5 +33,6 @@ export declare const statusVariant: {
33
33
  export declare const statusLabel: Record<AgentStatus, string>;
34
34
  export declare function percent(fill: number): string;
35
35
  export declare function meterVariant(value: number): 'informative' | 'notice' | 'negative';
36
+ export declare function chatModels(options: readonly ModelOption[]): ModelOption[];
36
37
  export declare function statusLight(status: AgentStatus): TemplateResult;
37
38
  export declare const shared: import("lit").CSSResult;
@@ -1,6 +1,8 @@
1
+ import '@adobe/spectrum-wc/components/action-button/swc-action-button.js';
1
2
  import '@adobe/spectrum-wc/components/badge/swc-badge.js';
2
3
  import '@adobe/spectrum-wc/components/button/swc-button.js';
3
4
  import '@adobe/spectrum-wc/patterns/ai-toolkit/conversation-thread/swc-conversation-thread.js';
5
+ import '@adobe/spectrum-wc-icons/swc-icon-new.js';
4
6
  import { type TemplateResult } from 'lit';
5
7
  import type { Message, SliccModel } from '../model/types.js';
6
8
  import { ThemedElement } from './base.js';
@@ -9,5 +9,6 @@ export declare class DummySettings extends Emitter<SettingsEvents> implements Se
9
9
  models(): readonly ModelOption[];
10
10
  accounts(): readonly Account[];
11
11
  connect(id: string, secret?: string): Promise<void>;
12
+ cancel(id: string): void;
12
13
  disconnect(id: string): void;
13
14
  }
@@ -347,7 +347,7 @@ export interface Settings {
347
347
  showThinking: boolean;
348
348
  diffStyle: 'unified' | 'split';
349
349
  }
350
- export type AccountStatus = 'connected' | 'expired' | 'disconnected';
350
+ export type AccountStatus = 'connected' | 'expired' | 'disconnected' | 'signing-in';
351
351
  export interface Account {
352
352
  id: string;
353
353
  provider: string;
@@ -362,6 +362,8 @@ export interface ModelOption {
362
362
  provider: string;
363
363
  kind?: 'chat' | 'classifier';
364
364
  reasoning?: boolean;
365
+ tools?: boolean;
366
+ images?: boolean;
365
367
  }
366
368
  export interface SettingsEvents {
367
369
  settings: Settings;
@@ -374,6 +376,7 @@ export interface SettingsPort extends Subscribable<SettingsEvents> {
374
376
  accounts(): readonly Account[];
375
377
  connect(id: string, secret?: string): Promise<void>;
376
378
  disconnect(id: string): void;
379
+ cancel?(id: string): void;
377
380
  }
378
381
  export type MemoryTag = 'user' | 'feedback' | 'project';
379
382
  export interface Memory {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-spectrum",
3
- "version": "1.32.1",
3
+ "version": "1.34.0",
4
4
  "description": "Web components for SLICC on Spectrum Web Components: the terminal, the app shell and its surfaces",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/dummy/clock.ts", "../src/dummy/settings.ts"],
4
- "sourcesContent": ["export interface Clock {\n delay: number;\n sleep(ticks?: number): Promise<void>;\n}\n\nexport function clock(delay: number): Clock {\n return {\n delay,\n sleep: (ticks = 1) => new Promise((resolve) => setTimeout(resolve, delay * ticks)),\n };\n}\n", "import { Emitter } from '../model/emitter.ts';\nimport type {\n Account,\n ModelOption,\n Settings,\n SettingsEvents,\n SettingsPort,\n} from '../model/types.ts';\nimport type { Clock } from './clock.ts';\n\nconst key = 'slicc-ui.settings';\n\nexport class DummySettings extends Emitter<SettingsEvents> implements SettingsPort {\n #settings: Settings;\n #accounts: Account[];\n #models: readonly ModelOption[];\n #storage: Storage | null;\n #clock: Clock;\n\n constructor(\n defaults: Settings,\n models: readonly ModelOption[],\n accounts: readonly Account[],\n storage: Storage | null,\n clock: Clock\n ) {\n super();\n this.#storage = storage;\n this.#clock = clock;\n this.#models = models;\n this.#accounts = accounts.map((account) => ({ ...account }));\n this.#settings = { ...defaults, ...this.#load() };\n }\n\n #load(): Partial<Settings> {\n try {\n return JSON.parse(this.#storage?.getItem(key) ?? '{}');\n } catch {\n return {};\n }\n }\n\n get(): Settings {\n return { ...this.#settings };\n }\n\n update(patch: Partial<Settings>): void {\n this.#settings = { ...this.#settings, ...patch };\n this.#storage?.setItem(key, JSON.stringify(this.#settings));\n this.emit('settings', this.get());\n }\n\n models(): readonly ModelOption[] {\n return this.#models;\n }\n\n accounts(): readonly Account[] {\n return this.#accounts.map((account) => ({ ...account }));\n }\n\n #set(id: string, patch: Partial<Account>): void {\n this.#accounts = this.#accounts.map((account) =>\n account.id === id ? { ...account, ...patch } : account\n );\n this.emit('accounts', this.accounts());\n }\n\n async connect(id: string, secret?: string): Promise<void> {\n await this.#clock.sleep(10);\n const account = this.#accounts.find((candidate) => candidate.id === id);\n if (account?.auth === 'api-key' && !secret)\n throw new Error(`${account.provider} needs an API key`);\n const identity =\n account?.auth === 'api-key' ? 'API key' : account?.identity || `${id}-user@example.com`;\n this.#set(id, { status: 'connected', identity });\n }\n\n disconnect(id: string): void {\n this.#set(id, { status: 'disconnected' });\n }\n}\n"],
5
- "mappings": ";;;;;AAKO,SAAS,MAAM,OAAsB;AAC1C,SAAO;AAAA,IACL;AAAA,IACA,OAAO,CAAC,QAAQ,MAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,QAAQ,KAAK,CAAC;AAAA,EACnF;AACF;;;ACAA,IAAM,MAAM;AAEL,IAAM,gBAAN,cAA4B,QAAgD;AAAA,EACjF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YACE,UACA,QACA,UACA,SACAA,QACA;AACA,UAAM;AACN,SAAK,WAAW;AAChB,SAAK,SAASA;AACd,SAAK,UAAU;AACf,SAAK,YAAY,SAAS,IAAI,CAAC,aAAa,EAAE,GAAG,QAAQ,EAAE;AAC3D,SAAK,YAAY,EAAE,GAAG,UAAU,GAAG,KAAK,MAAM,EAAE;AAAA,EAClD;AAAA,EAEA,QAA2B;AACzB,QAAI;AACF,aAAO,KAAK,MAAM,KAAK,UAAU,QAAQ,GAAG,KAAK,IAAI;AAAA,IACvD,QAAQ;AACN,aAAO,CAAC;AAAA,IACV;AAAA,EACF;AAAA,EAEA,MAAgB;AACd,WAAO,EAAE,GAAG,KAAK,UAAU;AAAA,EAC7B;AAAA,EAEA,OAAO,OAAgC;AACrC,SAAK,YAAY,EAAE,GAAG,KAAK,WAAW,GAAG,MAAM;AAC/C,SAAK,UAAU,QAAQ,KAAK,KAAK,UAAU,KAAK,SAAS,CAAC;AAC1D,SAAK,KAAK,YAAY,KAAK,IAAI,CAAC;AAAA,EAClC;AAAA,EAEA,SAAiC;AAC/B,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,WAA+B;AAC7B,WAAO,KAAK,UAAU,IAAI,CAAC,aAAa,EAAE,GAAG,QAAQ,EAAE;AAAA,EACzD;AAAA,EAEA,KAAK,IAAY,OAA+B;AAC9C,SAAK,YAAY,KAAK,UAAU;AAAA,MAAI,CAAC,YACnC,QAAQ,OAAO,KAAK,EAAE,GAAG,SAAS,GAAG,MAAM,IAAI;AAAA,IACjD;AACA,SAAK,KAAK,YAAY,KAAK,SAAS,CAAC;AAAA,EACvC;AAAA,EAEA,MAAM,QAAQ,IAAY,QAAgC;AACxD,UAAM,KAAK,OAAO,MAAM,EAAE;AAC1B,UAAM,UAAU,KAAK,UAAU,KAAK,CAAC,cAAc,UAAU,OAAO,EAAE;AACtE,QAAI,SAAS,SAAS,aAAa,CAAC;AAClC,YAAM,IAAI,MAAM,GAAG,QAAQ,QAAQ,mBAAmB;AACxD,UAAM,WACJ,SAAS,SAAS,YAAY,YAAY,SAAS,YAAY,GAAG,EAAE;AACtE,SAAK,KAAK,IAAI,EAAE,QAAQ,aAAa,SAAS,CAAC;AAAA,EACjD;AAAA,EAEA,WAAW,IAAkB;AAC3B,SAAK,KAAK,IAAI,EAAE,QAAQ,eAAe,CAAC;AAAA,EAC1C;AACF;",
6
- "names": ["clock"]
7
- }