@ai-ecoverse/slicc-spectrum 1.103.2 → 1.104.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.
@@ -2,7 +2,7 @@ import '@adobe/spectrum-wc/components/button/swc-button.js';
2
2
  import '@adobe/spectrum-wc-icons/swc-icon-alert-triangle.js';
3
3
  import '@spectrum-web-components/alert-dialog/sp-alert-dialog.js';
4
4
  import { type PropertyValues } from 'lit';
5
- import type { Approval, ApprovalDecision, GuestMessageApproval, GuestToolApproval, SliccModel, SudoApproval } from '../model/types.js';
5
+ import type { Approval, ApprovalDecision, GuestMessageApproval, GuestToolApproval, SliccModel, SudoApproval, TrayApproval } from '../model/types.js';
6
6
  import { ModelElement } from './base.js';
7
7
  export { deadline } from './messages.js';
8
8
  export declare function countdown(ms: number): string;
@@ -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 trayTitle(approval: TrayApproval): string;
21
+ export declare function trayAsking(approval: TrayApproval): string;
20
22
  export declare function approved(approval: Approval): string;
21
23
  export declare function truncated(approval: Approval): boolean;
22
24
  export declare function guestWaiting(approval: GuestMessageApproval | GuestToolApproval): string;
@@ -1,7 +1,7 @@
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' | 'long' | 'guest-args' | 'guest-empty' | 'guest-truncated' | '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' | 'tray' | 'tray-url' | 'tray-rotate' | 'tray-unlink' | 'tray-expired' | 'none';
5
5
  export declare const guestArgs: string;
6
6
  export declare function approvalFixtures(scenario: ApprovalScenario, now?: number): Approval[];
7
7
  export declare class DummyApprovals extends Emitter<ApprovalsEvents> implements ApprovalsPort {
@@ -1,7 +1,7 @@
1
1
  import { Emitter } from '../model/emitter.js';
2
2
  import type { AuditEntry, AuditPage, Availability, ButtonConfig, ButtonEvent, ButtonMessage, ErrorCode, ImportKind, ImportPick, ImportResult, PolicyNotice, PopupIntent, PutOptions, RecordKind, RefusedRule, RequestState, SealResult, SecretView, VaultButton, VaultEndpointChange, VaultEvents, VaultList, VaultPort, VaultStatus } from '../model/types.js';
3
3
  import type { Clock } from './clock.js';
4
- export type VaultScenario = 'empty' | 'secrets' | 'policy' | 'notice' | 'locked' | 'request' | 'backup' | 'waiting' | 'purged' | 'endpoints-fail';
4
+ export type VaultScenario = 'empty' | 'secrets' | 'policy' | 'notice' | 'locked' | 'request' | 'backup' | 'waiting' | 'purged' | 'session' | 'endpoints-fail';
5
5
  export declare function vaultSecrets(now?: number): SecretView[];
6
6
  export declare function accountRecords(now?: number, pin?: string): SecretView[];
7
7
  export declare function vaultAudit(now?: number): AuditEntry[];
@@ -9,6 +9,7 @@ export declare function vaultOlder(now?: number): AuditEntry[];
9
9
  export declare function vaultRefused(): RefusedRule[];
10
10
  export declare function vaultPurged(now?: number): AuditEntry;
11
11
  export declare function vaultPinned(now?: number): AuditEntry;
12
+ export declare function vaultSessions(now?: number): AuditEntry[];
12
13
  export declare function vaultPolicy(now?: number): AuditEntry;
13
14
  export declare function vaultNotice(now?: number): PolicyNotice;
14
15
  export declare function vaultFixtures(scenario: VaultScenario, now?: number): {
@@ -26,4 +26,4 @@ export { DummyTabs, tabsFixtures } from './dummy/tabs.js';
26
26
  export type { BetaScenario, DummyUpdatesOptions, PackageConfirm, PackageScenario, UpdateScenario, } from './dummy/updates.js';
27
27
  export { betaFixtures, DummyUpdates, packageFixtures, updateFixtures, } from './dummy/updates.js';
28
28
  export type { VaultScenario } from './dummy/vault.js';
29
- export { DummyVault, DummyVaultButton, vaultAudit, vaultFixtures, vaultNotice, vaultOlder, vaultPinned, vaultPolicy, vaultPurged, vaultRefused, vaultSecrets, } from './dummy/vault.js';
29
+ export { DummyVault, DummyVaultButton, vaultAudit, vaultFixtures, vaultNotice, vaultOlder, vaultPinned, vaultPolicy, vaultPurged, vaultRefused, vaultSecrets, vaultSessions, } from './dummy/vault.js';
@@ -997,7 +997,19 @@ export interface GuestToolApproval {
997
997
  always: boolean;
998
998
  verdict?: ApprovalVerdict;
999
999
  }
1000
- export type Approval = SudoApproval | GuestMessageApproval | GuestToolApproval;
1000
+ export interface TrayApproval {
1001
+ id: string;
1002
+ kind: 'tray';
1003
+ op: 'url' | 'rotate' | 'unlink';
1004
+ requester: ApprovalRequester;
1005
+ device?: {
1006
+ id: string;
1007
+ name: string;
1008
+ };
1009
+ createdAt: number;
1010
+ expiresAt: number;
1011
+ }
1012
+ export type Approval = SudoApproval | GuestMessageApproval | GuestToolApproval | TrayApproval;
1001
1013
  export type ApprovalEnd = 'answered' | 'withdrawn' | 'expired';
1002
1014
  export interface ApprovalsEvents {
1003
1015
  approvals: readonly Approval[];
@@ -1195,6 +1207,19 @@ export interface InjectionEntry extends AuditBase {
1195
1207
  rule: Rule;
1196
1208
  exit: ExitName;
1197
1209
  }
1210
+ export type SessionProtocol = 'http1' | 'smtp' | 'pg';
1211
+ export interface SessionEntry extends AuditBase {
1212
+ type: 'session';
1213
+ session: string;
1214
+ domain: string;
1215
+ port: number;
1216
+ protocol: SessionProtocol;
1217
+ position: string;
1218
+ rule: number;
1219
+ verifiedBy?: 'roots' | 'anchored';
1220
+ anchor?: string;
1221
+ exit: ExitName;
1222
+ }
1198
1223
  export interface RevealEntry extends AuditBase {
1199
1224
  type: 'materialize';
1200
1225
  grant?: ExecGrant;
@@ -1264,7 +1289,7 @@ export interface PolicyEntry {
1264
1289
  changes?: PolicyChange[];
1265
1290
  warning?: string;
1266
1291
  }
1267
- export type AuditEntry = InjectionEntry | McpEntry | RevealEntry | SealEntry | RemoveEntry | RefreshEntry | EndpointsEntry | PolicyEntry;
1292
+ export type AuditEntry = InjectionEntry | SessionEntry | McpEntry | RevealEntry | SealEntry | RemoveEntry | RefreshEntry | EndpointsEntry | PolicyEntry;
1268
1293
  export interface AuditPage {
1269
1294
  audit: AuditEntry[];
1270
1295
  more: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-spectrum",
3
- "version": "1.103.2",
3
+ "version": "1.104.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",
@@ -53,6 +53,7 @@
53
53
  "start": "npm run build && node test/integration/chrome.mjs",
54
54
  "pretest": "npm run build && playwright-core install --no-shell chromium",
55
55
  "test": "node --test ${TEST_CONCURRENCY:+--test-concurrency=$TEST_CONCURRENCY} --test-global-setup=node_modules/@ai-ecoverse/slicc-shared-web/harness/global.mjs 'test/integration/*.test.mjs'",
56
+ "test:unit": "NODE_NO_WARNINGS=1 mcr -c mcr.config.mjs node --test 'test/unit/**/*.test.mjs'",
56
57
  "typecheck": "tsc && tsc -p compat",
57
58
  "lint": "slicc-lint",
58
59
  "format": "biome check --write ."
@@ -72,13 +73,14 @@
72
73
  "devDependencies": {
73
74
  "@adobe/spectrum-wc": "2.0.0-beta.5",
74
75
  "@adobe/spectrum-wc-icons": "2.0.0-beta.5",
75
- "@ai-ecoverse/slicc-kernel": "1.136.8",
76
- "@ai-ecoverse/slicc-shared-web": "1.29.1",
77
- "@ai-ecoverse/slicc-vault": "1.9.2",
76
+ "@ai-ecoverse/slicc-kernel": "1.140.2",
77
+ "@ai-ecoverse/slicc-shared-web": "1.29.6",
78
+ "@ai-ecoverse/slicc-vault": "1.15.1",
78
79
  "@ai-ecoverse/wasm-bash": "5.3.0-22",
79
80
  "@ai-ecoverse/wasm-coreutils": "9.12.0-12",
80
81
  "@biomejs/biome": "2.5.15",
81
82
  "@fontsource/source-code-pro": "5.3.1",
83
+ "@happy-dom/global-registrator": "21.0.3",
82
84
  "@pierre/diffs": "1.5.2",
83
85
  "@pierre/trees": "1.0.0-beta.6",
84
86
  "@spectrum-web-components/action-button": "1.12.4",
@@ -103,6 +105,7 @@
103
105
  "@wterm/ghostty": "0.5.4",
104
106
  "dockview-core": "8.5.1",
105
107
  "esbuild": "0.28.2",
108
+ "happy-dom": "21.0.3",
106
109
  "lefthook": "2.2.2",
107
110
  "lucide": "1.56.0",
108
111
  "mdast-util-from-markdown": "2.1.0",