@ai-ecoverse/slicc-spectrum 1.56.0 → 1.57.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,8 +1,10 @@
1
1
  import '@adobe/spectrum-wc/components/action-button/swc-action-button.js';
2
2
  import '@adobe/spectrum-wc/components/badge/swc-badge.js';
3
3
  import '@adobe/spectrum-wc/components/meter/swc-meter.js';
4
+ import '@adobe/spectrum-wc/components/status-light/swc-status-light.js';
4
5
  import '@adobe/spectrum-wc-icons/swc-icon-alert-triangle.js';
5
6
  import '@adobe/spectrum-wc-icons/swc-icon-alert-diamond.js';
7
+ import '@adobe/spectrum-wc-icons/swc-icon-chevron-right.js';
6
8
  import { type TemplateResult } from 'lit';
7
9
  import type { MonitorSection, MonitorStatus, SliccModel } from '../model/types.js';
8
10
  import { ModelElement } from './base.js';
@@ -10,12 +12,24 @@ export declare function sparkline(points: readonly number[], width?: number, hei
10
12
  export declare function health(section: MonitorSection): MonitorStatus;
11
13
  export declare function meterVariant(ratio: number): 'informative' | 'notice' | 'negative';
12
14
  export declare const surfaces: Record<string, string>;
15
+ export declare const rowLights: Record<MonitorStatus, 'info' | 'neutral' | 'notice' | 'negative'>;
16
+ export declare function indent(depth: number | undefined): number;
13
17
  export declare function attention(section: MonitorSection): {
14
18
  variant: 'negative' | 'notice';
15
19
  text: string;
16
20
  } | null;
17
21
  export declare class SliccMonitor extends ModelElement {
18
22
  #private;
23
+ static properties: {
24
+ model: {
25
+ attribute: boolean;
26
+ };
27
+ expanded: {
28
+ state: boolean;
29
+ };
30
+ };
31
+ expanded: Record<string, boolean>;
32
+ constructor();
19
33
  static styles: import("lit").CSSResult[];
20
34
  protected subscribe(model: SliccModel): Array<() => void>;
21
35
  focus(): void;
@@ -2,6 +2,7 @@ import '@adobe/spectrum-wc/components/action-button/swc-action-button.js';
2
2
  import '@adobe/spectrum-wc/components/badge/swc-badge.js';
3
3
  import '@adobe/spectrum-wc/components/button/swc-button.js';
4
4
  import '@adobe/spectrum-wc/components/status-light/swc-status-light.js';
5
+ import '@adobe/spectrum-wc/components/tooltip/swc-tooltip.js';
5
6
  import '@adobe/spectrum-wc-icons/swc-icon-alert-triangle.js';
6
7
  import '@adobe/spectrum-wc-icons/swc-icon-cloud.js';
7
8
  import '@adobe/spectrum-wc-icons/swc-icon-cloud-state-error.js';
@@ -9,6 +10,8 @@ import '@adobe/spectrum-wc-icons/swc-icon-cloud-state-online.js';
9
10
  import '@adobe/spectrum-wc-icons/swc-icon-cloud-state-slow-connection.js';
10
11
  import '@adobe/spectrum-wc-icons/swc-icon-copy.js';
11
12
  import '@adobe/spectrum-wc-icons/swc-icon-info-circle.js';
13
+ import '@adobe/spectrum-wc-icons/swc-icon-visibility.js';
14
+ import '@adobe/spectrum-wc-icons/swc-icon-visibility-off.js';
12
15
  import { type TemplateResult } from 'lit';
13
16
  import type { AccessKey, BrowserAutomation, DeviceAccess, LinkedDevice, LinkState, NetworkExit, NetworkLinks, NetworkPort, NetworkRoute, NetworkStatus, RemoteControlMode, SliccModel, TailnetState, TailnetStatus } from '../model/types.js';
14
17
  import { ModelElement } from './base.js';
@@ -47,6 +50,7 @@ export declare function routeOf(status: NetworkStatus): NetworkRoute | 'link' |
47
50
  export declare function routeLine(status: NetworkStatus): string;
48
51
  export declare function networkLabel(status: NetworkStatus): string;
49
52
  export declare const networkIcon: Record<NetworkStatus['health'], TemplateResult>;
53
+ export declare function maskSecret(text: string): string;
50
54
  export declare function host(url: string): string;
51
55
  export declare function since(at: number, now?: number): string;
52
56
  export declare class SliccNetwork extends ModelElement {
@@ -76,6 +80,9 @@ export declare class SliccNetwork extends ModelElement {
76
80
  tailnetCopied: {
77
81
  state: boolean;
78
82
  };
83
+ revealed: {
84
+ state: boolean;
85
+ };
79
86
  linksError: {
80
87
  state: boolean;
81
88
  };
@@ -90,6 +97,7 @@ export declare class SliccNetwork extends ModelElement {
90
97
  busy: string;
91
98
  tailnetError: string;
92
99
  tailnetCopied: string;
100
+ revealed: Record<string, string>;
93
101
  linksError: string;
94
102
  syncError: string;
95
103
  constructor();
@@ -1,10 +1,12 @@
1
1
  import { type TemplateResult } from 'lit';
2
- import type { SliccModel, TrayConnection, TrayStatus } from '../model/types.js';
2
+ import type { SliccModel, TrayBudget, TrayConnection, TrayStatus } from '../model/types.js';
3
3
  import { ModelElement } from './base.js';
4
4
  export declare const connectionVariant: Record<TrayConnection, string>;
5
5
  export declare const connectionLabel: Record<TrayConnection, string>;
6
6
  export declare function budgetVariant(percent: number): string;
7
- export declare function budgetLine(status: TrayStatus): string;
7
+ export declare function spendLine(status: TrayStatus): string;
8
+ export declare function budgetLine(status: TrayStatus, budget: TrayBudget): string;
9
+ export declare function shownBudget(status: TrayStatus): TrayBudget | null;
8
10
  export declare class SliccTray extends ModelElement {
9
11
  #private;
10
12
  static properties: {
@@ -25,6 +25,7 @@ export interface DummyOptions {
25
25
  follow?: FollowScenario | 'off';
26
26
  browser?: BrowserScenario;
27
27
  sprinkles?: 'builtin' | 'cones';
28
+ monitor?: 'dummy' | 'agent';
28
29
  }
29
30
  export interface DummyModel extends SliccModel {
30
31
  browser: DummyBrowser;
@@ -35,4 +36,4 @@ export interface DummyModel extends SliccModel {
35
36
  approvals?: DummyApprovals;
36
37
  follow?: DummyFollow;
37
38
  }
38
- export declare function createDummyModel({ delay, storage, updates, packages, confirm, mounts, network, tailnet, links, changes, notices, tabs, approvals, follow, browser: scenario, sprinkles, }?: DummyOptions): DummyModel;
39
+ export declare function createDummyModel({ delay, storage, updates, packages, confirm, mounts, network, tailnet, links, changes, notices, tabs, approvals, follow, browser: scenario, sprinkles, monitor, }?: DummyOptions): DummyModel;
@@ -1,9 +1,10 @@
1
1
  import { Emitter } from '../model/emitter.js';
2
- import type { MonitorEvents, MonitorPort, MonitorSnapshot, SliccModel } from '../model/types.js';
2
+ import type { MonitorEvents, MonitorPort, MonitorSection, MonitorSnapshot, SliccModel } from '../model/types.js';
3
3
  export declare function wave(seed: number, length?: number): number[];
4
+ export declare const agentSections: MonitorSection[];
4
5
  export declare class DummyMonitor extends Emitter<MonitorEvents> implements MonitorPort {
5
6
  #private;
6
- constructor(model: Omit<SliccModel, 'monitor'>);
7
+ constructor(model: Omit<SliccModel, 'monitor'>, extra?: MonitorSection[]);
7
8
  snapshot(): MonitorSnapshot;
8
9
  resync(): void;
9
10
  }
@@ -5,12 +5,13 @@ import type { TerminalEvents, TerminalInfo, TerminalPort } from '../model/types.
5
5
  export interface KernelTerminalsOptions {
6
6
  argv?: string[];
7
7
  cwd?: string;
8
+ user?: string | number;
8
9
  env?: Record<string, string>;
9
10
  open?: number;
10
11
  }
11
12
  export declare class KernelTerminals extends Emitter<TerminalEvents> implements TerminalPort {
12
13
  #private;
13
- constructor(kernel: TerminalKernel, { argv, cwd, env, open }?: KernelTerminalsOptions);
14
+ constructor(kernel: TerminalKernel, { argv, cwd, user, env, open }?: KernelTerminalsOptions);
14
15
  list(): readonly TerminalInfo[];
15
16
  open({ cwd, agentId, }?: {
16
17
  cwd?: string;
@@ -8,6 +8,7 @@ export interface KernelTerminal {
8
8
  }
9
9
  export interface KernelTerminalOptions {
10
10
  cwd?: string;
11
+ user?: string | number;
11
12
  env?: Record<string, string>;
12
13
  cols: number;
13
14
  rows: number;
@@ -19,9 +20,10 @@ export interface TerminalKernel {
19
20
  export interface KernelBackendOptions {
20
21
  argv?: string[];
21
22
  cwd?: string;
23
+ user?: string | number;
22
24
  env?: Record<string, string>;
23
25
  onCwd?: (cwd: string) => void;
24
26
  }
25
27
  export declare const cwdPromptCommand = "printf '\\033]7;file://%s%s\\007' \"${HOSTNAME:-}\" \"$PWD\"";
26
28
  export declare function cwdWatcher(onCwd: (cwd: string) => void): (bytes: Uint8Array) => void;
27
- export declare function kernelBackend(kernel: TerminalKernel, { argv, cwd, env, onCwd }?: KernelBackendOptions): TerminalBackend;
29
+ export declare function kernelBackend(kernel: TerminalKernel, { argv, cwd, user, env, onCwd }?: KernelBackendOptions): TerminalBackend;
@@ -460,10 +460,12 @@ export interface MonitorVital {
460
460
  ratio?: number;
461
461
  }
462
462
  export interface MonitorRow {
463
+ id?: string;
463
464
  name: string;
464
465
  meta: string;
465
466
  status: MonitorStatus;
466
467
  badges?: string[];
468
+ depth?: number;
467
469
  }
468
470
  export interface MonitorSection {
469
471
  id: string;
@@ -516,19 +518,20 @@ export interface Follower {
516
518
  device: 'browser' | 'phone' | 'extension';
517
519
  since: number;
518
520
  }
521
+ export interface TrayBudget {
522
+ percent: number;
523
+ window: 'daily' | 'weekly' | 'monthly';
524
+ resets: string;
525
+ }
519
526
  export interface TrayStatus {
520
527
  name: string;
521
528
  kind: FloatKind;
522
529
  connection: TrayConnection;
523
530
  role: TrayRole;
524
531
  followers: Follower[];
525
- spent: number;
526
- rate: number;
527
- budget: {
528
- percent: number;
529
- window: 'daily' | 'weekly' | 'monthly';
530
- resets: string;
531
- };
532
+ spent?: number;
533
+ rate?: number;
534
+ budget?: TrayBudget;
532
535
  joinUrl: string;
533
536
  }
534
537
  export interface TrayEvents {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-spectrum",
3
- "version": "1.56.0",
3
+ "version": "1.57.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",
@@ -72,8 +72,8 @@
72
72
  "devDependencies": {
73
73
  "@adobe/spectrum-wc": "2.0.0-beta.4",
74
74
  "@adobe/spectrum-wc-icons": "2.0.0-beta.4",
75
- "@ai-ecoverse/slicc-kernel": "1.42.2",
76
- "@ai-ecoverse/slicc-shared-web": "1.12.1",
75
+ "@ai-ecoverse/slicc-kernel": "1.60.1",
76
+ "@ai-ecoverse/slicc-shared-web": "1.12.2",
77
77
  "@ai-ecoverse/wasm-bash": "5.3.0-17",
78
78
  "@ai-ecoverse/wasm-coreutils": "9.7.0-3",
79
79
  "@biomejs/biome": "2.5.15",
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/kernel-backend.ts"],
4
- "sourcesContent": ["import type { TerminalBackend, TerminalSignal } from './backend.ts';\n\nexport interface KernelTerminal {\n readonly exited: Promise<number>;\n write(data: Uint8Array): void;\n resize(cols: number, rows: number): void;\n signal(name: TerminalSignal): void;\n close(): void;\n}\n\nexport interface KernelTerminalOptions {\n cwd?: string;\n env?: Record<string, string>;\n cols: number;\n rows: number;\n onData: (bytes: Uint8Array) => void;\n}\n\nexport interface TerminalKernel {\n openTerminal(argv: string[], options: KernelTerminalOptions): Promise<KernelTerminal>;\n}\n\nexport interface KernelBackendOptions {\n argv?: string[];\n cwd?: string;\n env?: Record<string, string>;\n onCwd?: (cwd: string) => void;\n}\n\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nconst osc7 = /\\x1b\\]7;file:\\/\\/[^/\\x07\\x1b]*(\\/[^\\x07\\x1b]*)(?:\\x07|\\x1b\\\\)/g;\n\nexport const cwdPromptCommand = `printf '\\\\033]7;file://%s%s\\\\007' \"\\${HOSTNAME:-}\" \"$PWD\"`;\n\nfunction decodePath(path: string): string {\n try {\n return decodeURIComponent(path);\n } catch {\n return path;\n }\n}\n\nexport function cwdWatcher(onCwd: (cwd: string) => void): (bytes: Uint8Array) => void {\n let pending = '';\n return (bytes) => {\n const text = pending + decoder.decode(bytes, { stream: true });\n let last: string | undefined;\n for (const match of text.matchAll(osc7)) last = match[1];\n if (last !== undefined) onCwd(decodePath(last));\n const open = text.lastIndexOf('\\x1b]7;');\n pending = open >= 0 && !text.slice(open).match(/\\x07|\\x1b\\\\/) ? text.slice(open) : '';\n };\n}\n\nexport function kernelBackend(\n kernel: TerminalKernel,\n { argv = ['bash', '-i'], cwd, env, onCwd }: KernelBackendOptions = {}\n): TerminalBackend {\n return {\n async open(sink, { cols, rows }) {\n const watch = onCwd && cwdWatcher(onCwd);\n const onData = (bytes: Uint8Array) => {\n watch?.(bytes);\n sink.output(bytes);\n };\n const terminal = await kernel.openTerminal(argv, { cwd, env, cols, rows, onData });\n terminal.exited.then(\n (status) => sink.exit(status),\n (error) => {\n sink.output(encoder.encode(`\\r\\n${error instanceof Error ? error.message : error}\\r\\n`));\n sink.exit(1);\n }\n );\n return {\n write: (data) => terminal.write(data),\n resize: (c, r) => terminal.resize(c, r),\n signal: (name) => terminal.signal(name),\n close: () => terminal.close(),\n };\n },\n };\n}\n"],
5
- "mappings": ";AA6BA,IAAM,UAAU,IAAI,YAAY;AAChC,IAAM,UAAU,IAAI,YAAY;AAChC,IAAM,OAAO;AAEN,IAAM,mBAAmB;AAEhC,SAAS,WAAW,MAAsB;AACxC,MAAI;AACF,WAAO,mBAAmB,IAAI;AAAA,EAChC,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEO,SAAS,WAAW,OAA2D;AACpF,MAAI,UAAU;AACd,SAAO,CAAC,UAAU;AAChB,UAAM,OAAO,UAAU,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC;AAC7D,QAAI;AACJ,eAAW,SAAS,KAAK,SAAS,IAAI,EAAG,QAAO,MAAM,CAAC;AACvD,QAAI,SAAS,OAAW,OAAM,WAAW,IAAI,CAAC;AAC9C,UAAM,OAAO,KAAK,YAAY,SAAS;AACvC,cAAU,QAAQ,KAAK,CAAC,KAAK,MAAM,IAAI,EAAE,MAAM,aAAa,IAAI,KAAK,MAAM,IAAI,IAAI;AAAA,EACrF;AACF;AAEO,SAAS,cACd,QACA,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,KAAK,KAAK,MAAM,IAA0B,CAAC,GACnD;AACjB,SAAO;AAAA,IACL,MAAM,KAAK,MAAM,EAAE,MAAM,KAAK,GAAG;AAC/B,YAAM,QAAQ,SAAS,WAAW,KAAK;AACvC,YAAM,SAAS,CAAC,UAAsB;AACpC,gBAAQ,KAAK;AACb,aAAK,OAAO,KAAK;AAAA,MACnB;AACA,YAAM,WAAW,MAAM,OAAO,aAAa,MAAM,EAAE,KAAK,KAAK,MAAM,MAAM,OAAO,CAAC;AACjF,eAAS,OAAO;AAAA,QACd,CAAC,WAAW,KAAK,KAAK,MAAM;AAAA,QAC5B,CAAC,UAAU;AACT,eAAK,OAAO,QAAQ,OAAO;AAAA,EAAO,iBAAiB,QAAQ,MAAM,UAAU,KAAK;AAAA,CAAM,CAAC;AACvF,eAAK,KAAK,CAAC;AAAA,QACb;AAAA,MACF;AACA,aAAO;AAAA,QACL,OAAO,CAAC,SAAS,SAAS,MAAM,IAAI;AAAA,QACpC,QAAQ,CAAC,GAAG,MAAM,SAAS,OAAO,GAAG,CAAC;AAAA,QACtC,QAAQ,CAAC,SAAS,SAAS,OAAO,IAAI;AAAA,QACtC,OAAO,MAAM,SAAS,MAAM;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AACF;",
6
- "names": []
7
- }