@ai-ecoverse/slicc-spectrum 1.101.2 → 1.102.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.
@@ -17,6 +17,8 @@ export declare function secretRules(command: string, cwd?: string | null): Secre
17
17
  export declare function alwaysHint(approval: SudoApproval): string;
18
18
  export declare function guestAlwaysHint(approval: GuestMessageApproval | GuestToolApproval): string;
19
19
  export declare function guestAsking(approval: GuestMessageApproval | GuestToolApproval): string;
20
+ export declare function approved(approval: Approval): string;
21
+ export declare function truncated(approval: Approval): boolean;
20
22
  export declare function guestWaiting(approval: GuestMessageApproval | GuestToolApproval): string;
21
23
  export declare function waiting(model: SliccModel | null, now: number): Approval[];
22
24
  export declare class SliccApprovals extends ModelElement {
@@ -0,0 +1,22 @@
1
+ import '@adobe/spectrum-wc/components/action-button/swc-action-button.js';
2
+ import '@adobe/spectrum-wc-icons/swc-icon-chevron-down.js';
3
+ import { type TemplateResult } from 'lit';
4
+ export declare const toShow = "Show the full command to allow it.";
5
+ export declare const toScroll = "Scroll to the end of the command to allow it.";
6
+ export declare const clampCss: import("lit").CSSResult;
7
+ export declare class Cuts {
8
+ #private;
9
+ constructor(root: () => ParentNode, changed: () => void);
10
+ get(id: string): boolean | undefined;
11
+ measure(): void;
12
+ disconnect(): void;
13
+ }
14
+ export declare class Ends {
15
+ #private;
16
+ constructor(root: () => ParentNode, changed: () => void);
17
+ has(id: string): boolean;
18
+ clear(): void;
19
+ observe(): void;
20
+ disconnect(): void;
21
+ }
22
+ export declare function fullCommand(shown: boolean, toggle: () => void): TemplateResult;
@@ -0,0 +1 @@
1
+ export declare function guard(text: string, growing?: boolean): string;
@@ -13,25 +13,13 @@ import '@adobe/spectrum-wc/patterns/ai-toolkit/user-message/swc-user-message.js'
13
13
  import '@adobe/spectrum-wc-icons/swc-icon-alert-diamond.js';
14
14
  import '@adobe/spectrum-wc-icons/swc-icon-alert-triangle.js';
15
15
  import '@adobe/spectrum-wc-icons/swc-icon-chevron-right.js';
16
- import '@adobe/spectrum-wc-icons/swc-icon-cancel.js';
17
- import '@adobe/spectrum-wc-icons/swc-icon-checkmark.js';
18
- import '@adobe/spectrum-wc-icons/swc-icon-clock-pending.js';
19
- import '@adobe/spectrum-wc-icons/swc-icon-code.js';
20
- import '@adobe/spectrum-wc-icons/swc-icon-data.js';
21
- import '@adobe/spectrum-wc-icons/swc-icon-edit.js';
22
16
  import '@adobe/spectrum-wc-icons/swc-icon-file.js';
23
17
  import '@adobe/spectrum-wc-icons/swc-icon-file-text.js';
24
- import '@adobe/spectrum-wc-icons/swc-icon-globe-grid.js';
25
18
  import '@adobe/spectrum-wc-icons/swc-icon-info-circle.js';
26
19
  import '@adobe/spectrum-wc-icons/swc-icon-lock.js';
27
- import '@adobe/spectrum-wc-icons/swc-icon-plugin.js';
28
- import '@adobe/spectrum-wc-icons/swc-icon-search.js';
29
- import '@adobe/spectrum-wc-icons/swc-icon-tools.js';
30
- import '@adobe/spectrum-wc-icons/swc-icon-user-group.js';
31
- import '@adobe/spectrum-wc-icons/swc-icon-web-page.js';
32
20
  import '@spectrum-web-components/help-text/sp-help-text.js';
33
- import { nothing, type TemplateResult } from 'lit';
34
- import type { AssistantMessage, ErrorAction, LickChannel, LickMessage, LickState, Message, MessagePart, Question, Seat, SliccModel, SystemMessage, ToolCall, ToolMessage, ToolStatus, UserMessage } from '../model/types.js';
21
+ import { type TemplateResult } from 'lit';
22
+ import type { AssistantMessage, ErrorAction, LickChannel, LickMessage, LickState, Message, MessagePart, Question, Seat, SliccModel, SystemMessage, ToolCall, ToolMessage, UserMessage } from '../model/types.js';
35
23
  import type { ViewSet } from './view-state.js';
36
24
  export interface Handlers {
37
25
  color: 'light' | 'dark';
@@ -50,10 +38,16 @@ export interface Handlers {
50
38
  agentId?: string;
51
39
  seat?: string;
52
40
  licks?: ViewSet;
41
+ runs?: ViewSet;
53
42
  detail?: {
54
43
  has(id: string): boolean;
55
44
  toggle(id: string): void;
56
45
  };
46
+ commands?: {
47
+ cut(id: string): boolean | undefined;
48
+ has(id: string): boolean;
49
+ toggle(id: string): void;
50
+ };
57
51
  }
58
52
  export interface Login {
59
53
  state: 'idle' | 'signing-in' | 'connected';
@@ -68,50 +62,38 @@ export interface Owner {
68
62
  at: number;
69
63
  stamp?: boolean;
70
64
  }
71
- export type RunContext = Pick<Handlers, 'color' | 'model' | 'owners' | 'agentId'>;
65
+ export type RunContext = Pick<Handlers, 'color' | 'model' | 'owners' | 'agentId' | 'runs'> & {
66
+ anchor?: string;
67
+ };
68
+ export interface Joined {
69
+ calls: ToolCall[];
70
+ live: boolean;
71
+ stopped?: boolean;
72
+ }
73
+ export declare const alone: Joined;
72
74
  export declare const lickLabels: Record<LickChannel, [string, string]>;
73
75
  interface ToolKind {
74
76
  id: string;
75
77
  one: string;
76
78
  many: string;
77
- icon: TemplateResult;
78
79
  }
79
80
  export declare function toolKind(name: string): ToolKind;
80
- export declare function toolSummary(calls: ToolCall[]): string;
81
- export declare function statusLabel(status: ToolStatus): string;
82
- export declare function overall(calls: readonly ToolCall[]): [ToolStatus, string];
83
- type Target = {
84
- type: 'site';
85
- host: string;
86
- } | {
87
- type: 'file';
88
- path: string;
89
- };
90
- export declare function target(command: string): Target | null;
91
- export declare function chip(call: ToolCall, model?: SliccModel | null): TemplateResult;
81
+ export declare function toolSummary(calls: readonly ToolCall[]): string;
92
82
  export declare function time(at: number): string;
93
83
  export declare function deadline(at: number): string;
94
84
  export declare function day(at: number): string;
95
85
  export declare function stamps(messages: readonly Message[]): Set<string>;
96
86
  export declare function size(bytes: number): string;
97
87
  export declare function host(url: string): string | null;
98
- export interface CardOptions {
99
- open?: boolean;
100
- run?: boolean;
101
- owner?: Owner;
102
- model?: SliccModel | null;
103
- toggle?: (event: Event) => void;
104
- }
105
- export declare function tool(call: ToolCall, color?: 'light' | 'dark', options?: CardOptions): TemplateResult;
106
- export declare const clusterSize = 3;
88
+ export declare function step(call: ToolCall, context: RunContext, id?: string): TemplateResult | TemplateResult[];
107
89
  export declare function questionTurn(item: Question, handlers: Handlers): TemplateResult;
108
- export declare function parts(entries: MessagePart[], handlers: Handlers, showThinking: boolean, extra?: ToolCall[]): Array<TemplateResult | typeof nothing>;
90
+ export declare function parts(entries: MessagePart[], handlers: Handlers, showThinking: boolean): TemplateResult[];
109
91
  export declare function toolTail(message: Message, showThinking: boolean): boolean;
110
92
  export declare function toolOnly(message: Message, showThinking: boolean): ToolCall[] | null;
111
93
  export declare function mine(message: UserMessage, seat: Pick<Seat, 'id' | 'label'>): boolean;
112
94
  export declare function user(message: UserMessage, stamp?: boolean, seat?: Seat): TemplateResult;
113
- export declare function assistant(message: AssistantMessage, name: string, model: string, handlers: Handlers, showThinking: boolean, suggestion?: string | null, extra?: ToolCall[], stamp?: boolean): TemplateResult;
114
- export declare function toolMessage(message: ToolMessage, context?: RunContext & Partial<Pick<Handlers, 'suggest'>>, extra?: ToolCall[], suggestion?: string | null, stamp?: boolean): TemplateResult;
95
+ export declare function assistant(message: AssistantMessage, name: string, model: string, handlers: Handlers, showThinking: boolean, suggestion?: string | null, joined?: Joined, stamp?: boolean): TemplateResult;
96
+ export declare function toolMessage(message: ToolMessage, context?: RunContext & Partial<Pick<Handlers, 'suggest'>>, joined?: Joined, suggestion?: string | null, stamp?: boolean): TemplateResult;
115
97
  export declare function system(message: SystemMessage, handlers: Handlers): TemplateResult;
116
98
  export declare function pendingApproval(message: Message): boolean;
117
99
  export declare function waiting(message: Message, now?: number): boolean;
@@ -1,35 +1,38 @@
1
1
  import { LitElement, type TemplateResult } from 'lit';
2
2
  import type { SliccModel, ToolCall } from '../model/types.js';
3
- import { type Owner } from './messages.js';
4
- export declare class SliccToolRuns extends LitElement {
3
+ export declare const hold = 1000;
4
+ export declare class SliccStatusLabel extends LitElement {
5
5
  #private;
6
6
  static properties: {
7
- calls: {
7
+ text: {
8
8
  attribute: boolean;
9
9
  };
10
- agent: {
10
+ note: {
11
11
  attribute: boolean;
12
12
  };
13
- color: {
13
+ state: {
14
14
  attribute: boolean;
15
15
  };
16
- model: {
16
+ calls: {
17
17
  attribute: boolean;
18
18
  };
19
- owners: {
19
+ agent: {
20
+ attribute: boolean;
21
+ };
22
+ model: {
20
23
  attribute: boolean;
21
24
  };
22
25
  };
26
+ text: string;
27
+ note: string;
28
+ state: 'active' | 'complete' | 'stopped';
23
29
  calls: ToolCall[];
24
30
  agent: string;
25
- color: 'light' | 'dark';
26
31
  model: SliccModel | null;
27
- owners: ReadonlyMap<string, Owner> | null;
28
32
  constructor();
29
33
  protected createRenderRoot(): HTMLElement;
30
- connectedCallback(): void;
31
34
  disconnectedCallback(): void;
35
+ get shown(): string;
32
36
  protected willUpdate(): void;
33
- protected updated(): void;
34
37
  render(): TemplateResult;
35
38
  }
@@ -18,8 +18,8 @@ interface Notes {
18
18
  certified: boolean;
19
19
  cut: boolean;
20
20
  }
21
- export declare function releaseNotes(release: UpdateRelease): Notes;
22
- export declare function whatsNew(releases: readonly UpdateRelease[] | undefined, from: string | null, to: string | null): readonly Notes[];
21
+ export declare function releaseNotes(release: UpdateRelease, name?: string): Notes;
22
+ export declare function whatsNew(releases: readonly UpdateRelease[] | undefined, from: string | null, to: string | null, name?: string): readonly Notes[];
23
23
  type Failures = ReadonlyMap<string, string>;
24
24
  export declare function updatesStatus(items: readonly UpdateItem[]): string | null;
25
25
  export declare class UpdateVisibility {
@@ -1,7 +1,8 @@
1
1
  import { Emitter } from '../model/emitter.js';
2
2
  import type { Approval, ApprovalDecision, ApprovalEnd, ApprovalsEvents, ApprovalsPort } from '../model/types.js';
3
3
  import type { Clock } from './clock.js';
4
- export type ApprovalScenario = 'agent' | 'user' | 'many' | 'follower' | 'fail' | 'soon' | 'elsewhere' | 'withdrawn' | 'secrets' | 'guest' | 'guest-follower' | 'guest-always' | 'none';
4
+ export type ApprovalScenario = 'agent' | 'user' | 'many' | 'follower' | 'fail' | 'soon' | 'elsewhere' | 'withdrawn' | 'secrets' | 'guest' | 'guest-follower' | 'guest-always' | 'long' | 'guest-args' | 'guest-empty' | 'guest-truncated' | 'none';
5
+ export declare const guestArgs: string;
5
6
  export declare function approvalFixtures(scenario: ApprovalScenario, now?: number): Approval[];
6
7
  export declare class DummyApprovals extends Emitter<ApprovalsEvents> implements ApprovalsPort {
7
8
  #private;
@@ -28,6 +28,7 @@ export interface DummyOptions {
28
28
  notices?: NoticeScenario | 'off';
29
29
  tabs?: TabsScenario | 'off';
30
30
  approvals?: ApprovalScenario | 'off';
31
+ asks?: 'long' | 'off';
31
32
  follow?: FollowScenario | 'off';
32
33
  vault?: VaultScenario | 'off';
33
34
  guests?: GuestsScenario | 'off';
@@ -59,4 +60,4 @@ export interface DummyModel extends SliccModel {
59
60
  export declare function vaultAccounts(accounts: readonly Account[]): Account[];
60
61
  export declare const docsUrl = "https://docs.example/mcp";
61
62
  export declare const movedDocs = "https://docs.eu.example/mcp";
62
- export declare function createDummyModel({ delay, storage, updates, packages, confirm, beta, mounts, network, tailnet, links, leaders, changes, notices, tabs, approvals, follow, vault, guests, accounts, providers, mcp, transport, hold, readonly, agent: arrival, browser: scenario, sprinkles, monitor, import: imports, login, }?: DummyOptions): DummyModel;
63
+ export declare function createDummyModel({ delay, storage, updates, packages, confirm, beta, mounts, network, tailnet, links, leaders, changes, notices, tabs, approvals, asks, follow, vault, guests, accounts, providers, mcp, transport, hold, readonly, agent: arrival, browser: scenario, sprinkles, monitor, import: imports, login, }?: DummyOptions): DummyModel;
@@ -5,6 +5,8 @@ export interface Effects {
5
5
  agentId: string;
6
6
  }
7
7
  export type Step = {
8
+ type: 'turn';
9
+ } | {
8
10
  type: 'part';
9
11
  part: MessagePart;
10
12
  } | {
@@ -21,9 +23,12 @@ export type Step = {
21
23
  output: string;
22
24
  paths: string[];
23
25
  ticks: number;
26
+ streamed?: boolean;
24
27
  chunks?: string[];
25
28
  effect?: (effects: Effects) => Promise<unknown> | unknown;
26
29
  };
30
+ export declare const leakyCommand: string;
31
+ export declare const replayLabel = "Rebuild the cache-key fixtures for every city";
27
32
  export declare function label(title: string): string | null;
28
33
  export declare function script(prompt: string, attachments?: readonly Attachment[]): {
29
34
  steps: Step[];
@@ -2,5 +2,7 @@ import type { Agent, Message, UserMessage } from '../model/types.js';
2
2
  export declare function picture(label: string, from: string, to: string, width?: number, height?: number): string;
3
3
  export declare function tone(seconds?: number, frequency?: number, rate?: number): string;
4
4
  export declare const showcaseAgent: Agent;
5
+ export declare const longCommand: string;
6
+ export declare function longAsk(now?: number): Message;
5
7
  export declare function showcase(): Message[];
6
8
  export declare function showcaseQueue(): UserMessage[];
@@ -974,6 +974,8 @@ export interface GuestToolApproval {
974
974
  agentName?: string;
975
975
  tool: string;
976
976
  summary: string;
977
+ args?: string;
978
+ argsTruncated?: boolean;
977
979
  createdAt: number;
978
980
  expiresAt: number;
979
981
  always: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-spectrum",
3
- "version": "1.101.2",
3
+ "version": "1.102.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",
@@ -73,11 +73,11 @@
73
73
  "devDependencies": {
74
74
  "@adobe/spectrum-wc": "2.0.0-beta.5",
75
75
  "@adobe/spectrum-wc-icons": "2.0.0-beta.5",
76
- "@ai-ecoverse/slicc-kernel": "1.133.4",
77
- "@ai-ecoverse/slicc-shared-web": "1.27.0",
76
+ "@ai-ecoverse/slicc-kernel": "1.135.1",
77
+ "@ai-ecoverse/slicc-shared-web": "1.27.2",
78
78
  "@ai-ecoverse/slicc-vault": "1.9.2",
79
79
  "@ai-ecoverse/wasm-bash": "5.3.0-21",
80
- "@ai-ecoverse/wasm-coreutils": "9.12.0-10",
80
+ "@ai-ecoverse/wasm-coreutils": "9.12.0-11",
81
81
  "@biomejs/biome": "2.5.15",
82
82
  "@fontsource/source-code-pro": "5.3.1",
83
83
  "@happy-dom/global-registrator": "20.14.6",
@@ -107,7 +107,7 @@
107
107
  "esbuild": "0.28.2",
108
108
  "happy-dom": "20.14.6",
109
109
  "lefthook": "2.2.1",
110
- "lucide": "1.55.0",
110
+ "lucide": "1.56.0",
111
111
  "mdast-util-from-markdown": "2.1.0",
112
112
  "mdast-util-gfm-autolink-literal": "2.0.1",
113
113
  "mdast-util-gfm-strikethrough": "2.0.1",