@ai-ecoverse/slicc-spectrum 1.47.3 → 1.48.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.
@@ -16,6 +16,7 @@ export { command } from './reach.js';
16
16
  export declare const networkHealth: Record<NetworkStatus['health'], readonly ['positive' | 'notice' | 'negative', string]>;
17
17
  export declare const automation: Record<NonNullable<BrowserAutomation['via']> | 'none', string>;
18
18
  export declare function automationOf(browser: BrowserAutomation): keyof typeof automation;
19
+ export declare function browserLine(browser: BrowserAutomation, links?: NetworkLinks): string;
19
20
  export declare const tailnetStates: Record<TailnetState, readonly ['neutral' | 'info' | 'positive' | 'notice' | 'negative', string]>;
20
21
  export declare function tailnetAddress(addresses: readonly string[]): string | undefined;
21
22
  export declare function exitNodeValue(tailnet: TailnetStatus): string;
@@ -6,11 +6,11 @@ export declare class FakeShell implements TerminalSession {
6
6
  #private;
7
7
  cwd: string;
8
8
  closed: boolean;
9
- constructor(sink: TerminalSink, files: FilePort, cwd: string, clock: Clock);
9
+ constructor(sink: TerminalSink, files: FilePort, cwd: string, clock: Clock, onCwd?: (cwd: string) => void);
10
10
  history(): readonly string[];
11
11
  write(data: Uint8Array): void;
12
12
  resize(): void;
13
13
  signal(name: TerminalSignal): void;
14
14
  close(): void;
15
15
  }
16
- export declare function shellBackend(files: FilePort, cwd: string, clock: Clock): TerminalBackend;
16
+ export declare function shellBackend(files: FilePort, cwd: string, clock: Clock, onCwd?: (cwd: string) => void): TerminalBackend;
@@ -20,5 +20,8 @@ export interface KernelBackendOptions {
20
20
  argv?: string[];
21
21
  cwd?: string;
22
22
  env?: Record<string, string>;
23
+ onCwd?: (cwd: string) => void;
23
24
  }
24
- export declare function kernelBackend(kernel: TerminalKernel, { argv, cwd, env }?: KernelBackendOptions): TerminalBackend;
25
+ export declare const cwdPromptCommand = "printf '\\033]7;file://%s%s\\007' \"${HOSTNAME:-}\" \"$PWD\"";
26
+ export declare function cwdWatcher(onCwd: (cwd: string) => void): (bytes: Uint8Array) => void;
27
+ export declare function kernelBackend(kernel: TerminalKernel, { argv, cwd, env, onCwd }?: KernelBackendOptions): TerminalBackend;
@@ -598,7 +598,7 @@ export interface NetworkFailure {
598
598
  at: number;
599
599
  }
600
600
  export interface BrowserAutomation {
601
- via: 'extension' | 'proxy' | null;
601
+ via: 'extension' | 'proxy' | 'link' | null;
602
602
  detail?: string;
603
603
  declined?: boolean;
604
604
  }
@@ -616,6 +616,10 @@ export interface NetworkStatus {
616
616
  export type LinkMode = 'local' | 'remote';
617
617
  export type LinkOffer = 'net' | 'http' | 'ssh';
618
618
  export type LinkState = 'connecting' | 'connected' | 'reconnecting';
619
+ export interface LinkedBrowser {
620
+ runtime: string;
621
+ name: string;
622
+ }
619
623
  export interface LinkedDevice {
620
624
  id: string;
621
625
  name: string;
@@ -626,6 +630,7 @@ export interface LinkedDevice {
626
630
  policy?: string;
627
631
  exit: boolean;
628
632
  state: LinkState;
633
+ browsers?: readonly LinkedBrowser[];
629
634
  }
630
635
  export interface NetworkLinks {
631
636
  joinUrl: string | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-spectrum",
3
- "version": "1.47.3",
3
+ "version": "1.48.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",
@@ -74,7 +74,7 @@
74
74
  "@adobe/spectrum-wc-icons": "2.0.0-beta.4",
75
75
  "@ai-ecoverse/slicc-kernel": "1.42.2",
76
76
  "@ai-ecoverse/slicc-shared-web": "1.12.1",
77
- "@ai-ecoverse/wasm-bash": "5.3.0-12",
77
+ "@ai-ecoverse/wasm-bash": "5.3.0-13",
78
78
  "@ai-ecoverse/wasm-coreutils": "9.7.0-3",
79
79
  "@biomejs/biome": "2.5.15",
80
80
  "@fontsource/source-code-pro": "5.3.0",
@@ -1,30 +0,0 @@
1
- // src/kernel-backend.ts
2
- var encoder = new TextEncoder();
3
- function kernelBackend(kernel, { argv = ["bash", "-i"], cwd, env } = {}) {
4
- return {
5
- async open(sink, { cols, rows }) {
6
- const onData = (bytes) => sink.output(bytes);
7
- const terminal = await kernel.openTerminal(argv, { cwd, env, cols, rows, onData });
8
- terminal.exited.then(
9
- (status) => sink.exit(status),
10
- (error) => {
11
- sink.output(encoder.encode(`\r
12
- ${error instanceof Error ? error.message : error}\r
13
- `));
14
- sink.exit(1);
15
- }
16
- );
17
- return {
18
- write: (data) => terminal.write(data),
19
- resize: (c, r) => terminal.resize(c, r),
20
- signal: (name) => terminal.signal(name),
21
- close: () => terminal.close()
22
- };
23
- }
24
- };
25
- }
26
-
27
- export {
28
- kernelBackend
29
- };
30
- //# sourceMappingURL=chunk-WCSKGA5W.js.map
@@ -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}\n\nconst encoder = new TextEncoder();\n\nexport function kernelBackend(\n kernel: TerminalKernel,\n { argv = ['bash', '-i'], cwd, env }: KernelBackendOptions = {}\n): TerminalBackend {\n return {\n async open(sink, { cols, rows }) {\n const onData = (bytes: Uint8Array) => sink.output(bytes);\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": ";AA4BA,IAAM,UAAU,IAAI,YAAY;AAEzB,SAAS,cACd,QACA,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,KAAK,IAAI,IAA0B,CAAC,GAC5C;AACjB,SAAO;AAAA,IACL,MAAM,KAAK,MAAM,EAAE,MAAM,KAAK,GAAG;AAC/B,YAAM,SAAS,CAAC,UAAsB,KAAK,OAAO,KAAK;AACvD,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
- }