@ai-ecoverse/slicc-spectrum 2.1.0 → 2.3.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.
- package/README.md +19 -3
- package/dist/{chunk-CQDLADJZ.js → chunk-47KEBIYA.js} +8 -1
- package/dist/chunk-47KEBIYA.js.map +7 -0
- package/dist/slicc-dummy.js +315 -7
- package/dist/slicc-dummy.js.map +3 -3
- package/dist/slicc-kernel-model.js +1 -1
- package/dist/slicc-ui.js +4192 -3846
- package/dist/slicc-ui.js.map +4 -4
- package/dist/types/app/approvals.d.ts +14 -1
- package/dist/types/app/command-display.d.ts +1 -0
- package/dist/types/app/command.d.ts +1 -0
- package/dist/types/app/messages.d.ts +4 -0
- package/dist/types/app/secrets.d.ts +2 -1
- package/dist/types/app/vault.d.ts +29 -1
- package/dist/types/dummy/approvals.d.ts +5 -3
- package/dist/types/dummy/vault.d.ts +20 -1
- package/dist/types/dummy.d.ts +1 -1
- package/dist/types/model/types.d.ts +104 -5
- package/dist/types/ui.d.ts +3 -3
- package/package.json +5 -5
- package/dist/chunk-CQDLADJZ.js.map +0 -7
|
@@ -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, TrayApproval } from '../model/types.js';
|
|
5
|
+
import type { Approval, ApprovalDecision, GuestMessageApproval, GuestToolApproval, SecretApproval, 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;
|
|
@@ -13,6 +13,11 @@ export declare function guestAlwaysHint(approval: GuestMessageApproval | GuestTo
|
|
|
13
13
|
export declare function guestAsking(approval: GuestMessageApproval | GuestToolApproval): string;
|
|
14
14
|
export declare function trayTitle(approval: TrayApproval): string;
|
|
15
15
|
export declare function trayAsking(approval: TrayApproval): string;
|
|
16
|
+
export declare function secretTitle(approval: SecretApproval): string;
|
|
17
|
+
export declare function secretAsking(approval: SecretApproval): string;
|
|
18
|
+
export declare function processLine(approval: SecretApproval): string;
|
|
19
|
+
export declare function revealWarning(approval: SecretApproval): string;
|
|
20
|
+
export declare function secretWaiting(approval: SecretApproval): string;
|
|
16
21
|
export declare function approved(approval: Approval): string;
|
|
17
22
|
export declare function truncated(approval: Approval): boolean;
|
|
18
23
|
export declare function guestWaiting(approval: GuestMessageApproval | GuestToolApproval): string;
|
|
@@ -20,6 +25,7 @@ type Judged = GuestMessageApproval | GuestToolApproval | SudoApproval;
|
|
|
20
25
|
export declare function offersAlways(approval: Approval): boolean;
|
|
21
26
|
export declare function verdictNote(approval: Judged): string;
|
|
22
27
|
export declare function waiting(model: SliccModel | null, now: number): Approval[];
|
|
28
|
+
export declare const approvalKinds: readonly Approval['kind'][];
|
|
23
29
|
export declare class SliccApprovals extends ModelElement {
|
|
24
30
|
#private;
|
|
25
31
|
static properties: {
|
|
@@ -38,6 +44,9 @@ export declare class SliccApprovals extends ModelElement {
|
|
|
38
44
|
gone: {
|
|
39
45
|
state: boolean;
|
|
40
46
|
};
|
|
47
|
+
frameError: {
|
|
48
|
+
state: boolean;
|
|
49
|
+
};
|
|
41
50
|
};
|
|
42
51
|
now: number;
|
|
43
52
|
busy: ApprovalDecision | '';
|
|
@@ -49,6 +58,10 @@ export declare class SliccApprovals extends ModelElement {
|
|
|
49
58
|
approval: Approval;
|
|
50
59
|
reason: 'elsewhere' | 'expired';
|
|
51
60
|
} | null;
|
|
61
|
+
frameError: {
|
|
62
|
+
id: string;
|
|
63
|
+
message: string;
|
|
64
|
+
} | null;
|
|
52
65
|
arming: number;
|
|
53
66
|
constructor();
|
|
54
67
|
static styles: (import("lit").CSSResult[] | import("lit").CSSResult)[];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { type TemplateResult } from 'lit';
|
|
2
|
+
export declare const controlStyles: import("lit").CSSResult;
|
|
2
3
|
export declare function displayCommand(command: string): string;
|
|
3
4
|
export declare function commandText(command: string, multiline?: boolean): Array<string | TemplateResult>;
|
|
@@ -101,6 +101,10 @@ export declare function user(message: UserMessage, stamp?: boolean, seat?: Seat)
|
|
|
101
101
|
export declare function assistant(message: AssistantMessage, name: string, model: string, handlers: Handlers, showThinking: boolean, suggestion?: string | null, joined?: Joined, stamp?: boolean): TemplateResult;
|
|
102
102
|
export declare function toolMessage(message: ToolMessage, context?: RunContext & Partial<Pick<Handlers, 'suggest'>>, joined?: Joined, suggestion?: string | null, stamp?: boolean): TemplateResult;
|
|
103
103
|
export declare function system(message: SystemMessage, handlers: Handlers): TemplateResult;
|
|
104
|
+
export declare function lickLook(channel: string): {
|
|
105
|
+
label: string;
|
|
106
|
+
icon: string;
|
|
107
|
+
};
|
|
104
108
|
export declare function pendingApproval(message: Message): boolean;
|
|
105
109
|
export declare function waiting(message: Message, now?: number): boolean;
|
|
106
110
|
export declare function show(turn: HTMLElement): void;
|
|
@@ -7,7 +7,7 @@ import '@adobe/spectrum-wc-icons/swc-icon-info-circle.js';
|
|
|
7
7
|
import '@spectrum-web-components/menu/sp-menu-item.js';
|
|
8
8
|
import '@spectrum-web-components/picker/sp-picker.js';
|
|
9
9
|
import { nothing, type PropertyValues, type TemplateResult } from 'lit';
|
|
10
|
-
import type { AuditEntry, EndpointsEntry, ImportCandidate, ImportKind, LinkedDevice, PendingRequest, PolicyEntry, PutOptions, SecretView, SliccModel, VaultPort } from '../model/types.js';
|
|
10
|
+
import type { AskRevealEntry, AuditEntry, EndpointsEntry, ImportCandidate, ImportKind, LinkedDevice, PendingRequest, PolicyEntry, PutOptions, RevealEntry, SecretView, SliccModel, VaultPort } from '../model/types.js';
|
|
11
11
|
import { ThemedElement } from './base.js';
|
|
12
12
|
import { type PopupDetail } from './vault.js';
|
|
13
13
|
export declare function until(at: number, now?: number): string;
|
|
@@ -21,6 +21,7 @@ export declare function putOptions(secret: SecretView): PutOptions | undefined;
|
|
|
21
21
|
export declare function agentUse(secret: SecretView): boolean;
|
|
22
22
|
export declare function byName(a: SecretView, b: SecretView): number;
|
|
23
23
|
export declare function sourceLine(secret: SecretView, devices: readonly LinkedDevice[]): string;
|
|
24
|
+
export declare function toProgram(entry: AuditEntry): entry is RevealEntry | AskRevealEntry;
|
|
24
25
|
export declare function revealed(name: string, entries: readonly AuditEntry[], now?: number, more?: boolean): TemplateResult | null;
|
|
25
26
|
export declare function changes(entry: PolicyEntry, devices: readonly LinkedDevice[]): string[][];
|
|
26
27
|
export declare function endpointsLine(entry: EndpointsEntry, named?: (provider: string) => string): TemplateResult;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LitElement, type PropertyValues } from 'lit';
|
|
2
|
-
import type { ButtonConfig, ExecGrant, ExecMode, ExitName, LinkedDevice, PolicyChange, PopupIntent, PopupState, Rule, SliccModel, VaultPort, Widening } from '../model/types.js';
|
|
2
|
+
import type { ButtonConfig, ExecGrant, ExecMode, ExitName, LinkedDevice, PolicyChange, PopupIntent, PopupState, Rule, SliccModel, ValueConfig, ValueEvent, VaultPort, Widening } from '../model/types.js';
|
|
3
3
|
export declare function devicesOf(model: SliccModel | null): readonly LinkedDevice[];
|
|
4
4
|
export declare function deviceName(id: string, devices: readonly LinkedDevice[]): string;
|
|
5
5
|
export declare function exitLabel(exit: ExitName, devices: readonly LinkedDevice[]): string;
|
|
@@ -40,3 +40,31 @@ export declare class SliccVaultButton extends LitElement {
|
|
|
40
40
|
focus(): void;
|
|
41
41
|
protected updated(changed: PropertyValues): void;
|
|
42
42
|
}
|
|
43
|
+
export type ValueDetail = Extract<ValueEvent, {
|
|
44
|
+
event: 'done' | 'gone' | 'error' | 'escape';
|
|
45
|
+
}>;
|
|
46
|
+
export declare const frameHeight = 480;
|
|
47
|
+
export declare const frameInset = 4;
|
|
48
|
+
export declare class SliccVaultValue extends LitElement {
|
|
49
|
+
#private;
|
|
50
|
+
static properties: {
|
|
51
|
+
vault: {
|
|
52
|
+
attribute: boolean;
|
|
53
|
+
};
|
|
54
|
+
request: {
|
|
55
|
+
attribute: boolean;
|
|
56
|
+
};
|
|
57
|
+
config: {
|
|
58
|
+
attribute: boolean;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
vault: VaultPort | null | undefined;
|
|
62
|
+
request: string;
|
|
63
|
+
config: ValueConfig;
|
|
64
|
+
static styles: import("lit").CSSResult;
|
|
65
|
+
constructor();
|
|
66
|
+
connectedCallback(): void;
|
|
67
|
+
disconnectedCallback(): void;
|
|
68
|
+
focus(): void;
|
|
69
|
+
protected updated(changed: PropertyValues): void;
|
|
70
|
+
}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { Emitter } from '../model/emitter.js';
|
|
2
|
-
import type { Approval, ApprovalDecision, ApprovalEnd, ApprovalsEvents, ApprovalsPort } from '../model/types.js';
|
|
2
|
+
import type { Approval, ApprovalDecision, ApprovalEnd, ApprovalsEvents, ApprovalsPort, PendingRequest, SecretApproval } from '../model/types.js';
|
|
3
3
|
import type { Clock } from './clock.js';
|
|
4
|
-
|
|
4
|
+
import type { DummyVault } from './vault.js';
|
|
5
|
+
export type ApprovalScenario = 'agent' | 'user' | 'many' | 'follower' | 'fail' | 'soon' | 'elsewhere' | 'withdrawn' | 'secrets' | 'judge-denied' | 'level-1' | 'level-2' | 'level-3' | 'checking' | 'no-verdict' | 'legacy' | 'guest' | 'guest-follower' | 'guest-always' | 'long' | 'controls-cr' | 'controls-lf' | 'controls-place' | 'controls-cwd' | 'guest-args' | 'guest-empty' | 'guest-truncated' | 'tray' | 'tray-url' | 'tray-rotate' | 'tray-unlink' | 'tray-expired' | 'secret' | 'secret-enter' | 'secret-reveal' | 'secret-long' | 'none';
|
|
5
6
|
export declare const guestArgs: string;
|
|
7
|
+
export declare function pendingAsk(approval: SecretApproval): PendingRequest;
|
|
6
8
|
export declare function approvalFixtures(scenario: ApprovalScenario, now?: number): Approval[];
|
|
7
9
|
export declare class DummyApprovals extends Emitter<ApprovalsEvents> implements ApprovalsPort {
|
|
8
10
|
#private;
|
|
9
11
|
decisions: Array<[string, ApprovalDecision]>;
|
|
10
12
|
decide?: (id: string, decision: ApprovalDecision) => Promise<void>;
|
|
11
|
-
constructor(scenario: ApprovalScenario, time: Clock);
|
|
13
|
+
constructor(scenario: ApprovalScenario, time: Clock, vault?: DummyVault);
|
|
12
14
|
raise(approval: Approval): void;
|
|
13
15
|
end(id: string, reason: ApprovalEnd): void;
|
|
14
16
|
list(): readonly Approval[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Emitter } from '../model/emitter.js';
|
|
2
|
-
import type { AuditEntry, AuditPage, Availability, ButtonConfig, ButtonEvent, ButtonMessage, ErrorCode, ImportKind, ImportPick, ImportResult, PolicyNotice, PopupIntent, PutOptions, RecordKind, RefusedRule, RequestState, SealResult, SecretView, VaultButton, VaultEndpointChange, VaultError, VaultEvents, VaultList, VaultPort, VaultStatus } from '../model/types.js';
|
|
2
|
+
import type { AuditEntry, AuditPage, Availability, ButtonConfig, ButtonEvent, ButtonMessage, ErrorCode, ImportKind, ImportPick, ImportResult, PendingRequest, PolicyNotice, PopupIntent, PutOptions, RecordKind, RefusedRule, RequestState, SealResult, SecretView, ValueConfig, ValueEvent, ValueMessage, VaultButton, VaultEndpointChange, VaultError, VaultEvents, VaultList, VaultPort, VaultStatus, VaultValueFrame } from '../model/types.js';
|
|
3
3
|
import type { Clock } from './clock.js';
|
|
4
4
|
export type VaultScenario = 'empty' | 'secrets' | 'policy' | 'notice' | 'locked' | 'paused' | 'request' | 'backup' | 'waiting' | 'purged' | 'session' | 'endpoints-fail';
|
|
5
5
|
export declare function vaultSecrets(now?: number): SecretView[];
|
|
@@ -25,6 +25,17 @@ export declare class DummyVaultButton implements VaultButton {
|
|
|
25
25
|
post(message: ButtonMessage): void;
|
|
26
26
|
listen(listener: (event: ButtonEvent) => void): () => void;
|
|
27
27
|
}
|
|
28
|
+
export declare class DummyValueFrame implements VaultValueFrame {
|
|
29
|
+
#private;
|
|
30
|
+
element: HTMLElement;
|
|
31
|
+
request: string;
|
|
32
|
+
config: ValueConfig | null;
|
|
33
|
+
messages: ValueMessage[];
|
|
34
|
+
arming: number;
|
|
35
|
+
constructor(vault: DummyVault, time: Clock, request: string);
|
|
36
|
+
post(message: ValueMessage): void;
|
|
37
|
+
listen(listener: (event: ValueEvent) => void): () => void;
|
|
38
|
+
}
|
|
28
39
|
export interface DummyImport {
|
|
29
40
|
kind: ImportKind;
|
|
30
41
|
size: number;
|
|
@@ -34,6 +45,9 @@ export interface DummyImport {
|
|
|
34
45
|
export declare class DummyVault extends Emitter<VaultEvents> implements VaultPort {
|
|
35
46
|
#private;
|
|
36
47
|
buttons: DummyVaultButton[];
|
|
48
|
+
frames: DummyValueFrame[];
|
|
49
|
+
answered: Set<string>;
|
|
50
|
+
revealed: string[];
|
|
37
51
|
puts: {
|
|
38
52
|
name: string;
|
|
39
53
|
request?: string;
|
|
@@ -72,6 +86,11 @@ export declare class DummyVault extends Emitter<VaultEvents> implements VaultPor
|
|
|
72
86
|
export(passphrase: string): Promise<Uint8Array>;
|
|
73
87
|
lock(): Promise<void>;
|
|
74
88
|
button(): DummyVaultButton;
|
|
89
|
+
valueFrame(request: string): DummyValueFrame;
|
|
90
|
+
hold(request: PendingRequest): void;
|
|
91
|
+
ask(request: string): PendingRequest | undefined;
|
|
92
|
+
seal(request: string, value: string): Promise<SealResult>;
|
|
93
|
+
allow(request: string): Promise<void>;
|
|
75
94
|
autoLabel(): string;
|
|
76
95
|
autoIntent(): PopupIntent;
|
|
77
96
|
answer(intent: PopupIntent): Promise<void>;
|
package/dist/types/dummy.d.ts
CHANGED
|
@@ -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, vaultPaused, vaultPinned, vaultPolicy, vaultPurged, vaultRefused, vaultSecrets, vaultSessions, } from './dummy/vault.js';
|
|
29
|
+
export { DummyValueFrame, DummyVault, DummyVaultButton, vaultAudit, vaultFixtures, vaultNotice, vaultOlder, vaultPaused, vaultPinned, vaultPolicy, vaultPurged, vaultRefused, vaultSecrets, vaultSessions, } from './dummy/vault.js';
|
|
@@ -201,7 +201,7 @@ export interface ToolMessage {
|
|
|
201
201
|
tool: ToolCall;
|
|
202
202
|
createdAt: number;
|
|
203
203
|
}
|
|
204
|
-
export type LickChannel = 'webhook' | 'cron' | 'sprinkle' | 'fswatch' | 'session-reload' | 'navigate' | 'discovery' | 'upgrade' | 'workflow' | 'bash' | 'jshd' | 'preview' | 'cherry' | 'scoop-notify' | 'scoop-idle' | 'scoop-wait' | 'sudo-request';
|
|
204
|
+
export type LickChannel = 'webhook' | 'cron' | 'sprinkle' | 'fswatch' | 'session-reload' | 'navigate' | 'discovery' | 'upgrade' | 'workflow' | 'bash' | 'jshd' | 'preview' | 'cherry' | 'scoop-notify' | 'scoop-idle' | 'scoop-wait' | 'sudo-request' | 'cone-message';
|
|
205
205
|
export type LickState = 'pending' | 'confirmed' | 'dismissed';
|
|
206
206
|
export interface LickMessage {
|
|
207
207
|
id: string;
|
|
@@ -1058,7 +1058,27 @@ export interface TrayApproval {
|
|
|
1058
1058
|
createdAt: number;
|
|
1059
1059
|
expiresAt: number;
|
|
1060
1060
|
}
|
|
1061
|
-
export
|
|
1061
|
+
export interface SecretApproval {
|
|
1062
|
+
id: string;
|
|
1063
|
+
kind: 'secret';
|
|
1064
|
+
mode: 'enter' | 'reveal';
|
|
1065
|
+
name: string;
|
|
1066
|
+
prompt?: string;
|
|
1067
|
+
reveal: boolean;
|
|
1068
|
+
requester: {
|
|
1069
|
+
kind: 'agent' | 'user';
|
|
1070
|
+
name: string;
|
|
1071
|
+
where?: string;
|
|
1072
|
+
};
|
|
1073
|
+
process: {
|
|
1074
|
+
exe: string;
|
|
1075
|
+
argv: string[];
|
|
1076
|
+
cwd: string;
|
|
1077
|
+
};
|
|
1078
|
+
createdAt: number;
|
|
1079
|
+
expiresAt: number;
|
|
1080
|
+
}
|
|
1081
|
+
export type Approval = SudoApproval | GuestMessageApproval | GuestToolApproval | TrayApproval | SecretApproval;
|
|
1062
1082
|
export type ApprovalEnd = 'answered' | 'withdrawn' | 'expired';
|
|
1063
1083
|
export interface ApprovalsEvents {
|
|
1064
1084
|
approvals: readonly Approval[];
|
|
@@ -1105,8 +1125,8 @@ export type RecordKind = 'secret' | 'grant' | 'model' | 'mcp';
|
|
|
1105
1125
|
export type RecordState = 'active' | 'inert' | 'removed';
|
|
1106
1126
|
export type RecordSource = 'settings' | 'popup' | 'process' | `jerk:${string}@${DeviceId}` | `oauth:${string}` | `import:${string}`;
|
|
1107
1127
|
export type LockMode = 'auto' | 'passkey' | 'passphrase';
|
|
1108
|
-
export type RequestKind = 'value' | 'oauth' | 'jerk-seal' | 'jerk' | 'unseal';
|
|
1109
|
-
export type RequestState = 'pending' | 'done' | 'cancelled' | 'expired';
|
|
1128
|
+
export type RequestKind = 'value' | 'oauth' | 'jerk-seal' | 'jerk' | 'unseal' | 'ask';
|
|
1129
|
+
export type RequestState = 'pending' | 'done' | 'cancelled' | 'expired' | 'withdrawn';
|
|
1110
1130
|
export type ErrorCode = 'EINVAL' | 'ENOENT' | 'EACCES' | 'EEXIST' | 'EAGAIN' | 'ETIMEDOUT' | 'ENOTCONN' | 'ENOTSUP';
|
|
1111
1131
|
export type ErrorCause = 'policy-paused' | 'no-placeholder' | 'url-invalid' | 'placeholder-in-url' | 'placeholder-in-header-name' | 'url-credentials' | 'insecure-destination' | 'path-ambiguous' | 'exit-encoded-bodies' | 'record-removed' | 'record-kind' | 'record-expired' | 'vault-locked' | 'no-rule' | 'rule-domain' | 'rule-request' | 'rule-exit' | 'placeholder-repeated' | 'mcp-server' | 'exit-follows-redirects' | 'value-overlaps' | 'basic-invalid' | 'basic-user' | 'header-unsafe' | 'users-off' | 'endpoint-protected' | 'endpoint-model' | 'mcp-body-framing' | 'changed';
|
|
1112
1132
|
export interface VaultError {
|
|
@@ -1160,11 +1180,25 @@ export interface PendingRequest {
|
|
|
1160
1180
|
name?: string;
|
|
1161
1181
|
provider?: string;
|
|
1162
1182
|
prompt?: string;
|
|
1183
|
+
mode?: 'enter' | 'reveal';
|
|
1184
|
+
reveal?: boolean;
|
|
1185
|
+
replace?: boolean;
|
|
1186
|
+
requester?: AskRequester;
|
|
1163
1187
|
uid: number;
|
|
1164
1188
|
tag: string | null;
|
|
1165
1189
|
createdAt: number;
|
|
1166
1190
|
expiresAt: number;
|
|
1167
1191
|
}
|
|
1192
|
+
export interface AskRequester {
|
|
1193
|
+
kind: 'agent' | 'user';
|
|
1194
|
+
name?: string;
|
|
1195
|
+
where?: string;
|
|
1196
|
+
exe: string;
|
|
1197
|
+
argv: string[];
|
|
1198
|
+
cwd: string;
|
|
1199
|
+
tty: string | null;
|
|
1200
|
+
stdin: 'tty' | 'none' | 'pipe' | 'file';
|
|
1201
|
+
}
|
|
1168
1202
|
export interface ScrubState {
|
|
1169
1203
|
needed: boolean;
|
|
1170
1204
|
version: number;
|
|
@@ -1241,6 +1275,11 @@ export type PolicyChange = {
|
|
|
1241
1275
|
field: string;
|
|
1242
1276
|
from: number;
|
|
1243
1277
|
to: number;
|
|
1278
|
+
} | {
|
|
1279
|
+
kind: 'reveal';
|
|
1280
|
+
field: 'agent';
|
|
1281
|
+
from: boolean;
|
|
1282
|
+
to: boolean;
|
|
1244
1283
|
};
|
|
1245
1284
|
export type PolicyFile = '/etc/fnox/config.toml' | '/etc/slicc/secrets-policy.toml';
|
|
1246
1285
|
export interface PolicyNotice {
|
|
@@ -1293,6 +1332,15 @@ export interface RevealEntry extends AuditBase {
|
|
|
1293
1332
|
ticket: string;
|
|
1294
1333
|
consumed: boolean;
|
|
1295
1334
|
}
|
|
1335
|
+
export interface AskRevealEntry extends AuditBase {
|
|
1336
|
+
type: 'reveal';
|
|
1337
|
+
uid: number;
|
|
1338
|
+
exe: string;
|
|
1339
|
+
argv: string;
|
|
1340
|
+
cwd: string;
|
|
1341
|
+
requester: 'agent' | 'user';
|
|
1342
|
+
request: string;
|
|
1343
|
+
}
|
|
1296
1344
|
export interface SealEntry extends AuditBase {
|
|
1297
1345
|
type: 'seal';
|
|
1298
1346
|
source: RecordSource;
|
|
@@ -1350,7 +1398,7 @@ export interface PolicyEntry {
|
|
|
1350
1398
|
changes?: PolicyChange[];
|
|
1351
1399
|
warning?: string;
|
|
1352
1400
|
}
|
|
1353
|
-
export type AuditEntry = InjectionEntry | SessionEntry | McpEntry | RevealEntry | SealEntry | RemoveEntry | RefreshEntry | EndpointsEntry | PolicyEntry;
|
|
1401
|
+
export type AuditEntry = InjectionEntry | SessionEntry | McpEntry | RevealEntry | AskRevealEntry | SealEntry | RemoveEntry | RefreshEntry | EndpointsEntry | PolicyEntry;
|
|
1354
1402
|
export interface AuditPage {
|
|
1355
1403
|
audit: AuditEntry[];
|
|
1356
1404
|
more: boolean;
|
|
@@ -1478,6 +1526,56 @@ export interface VaultButton {
|
|
|
1478
1526
|
post(message: ButtonMessage): void;
|
|
1479
1527
|
listen(listener: (event: ButtonEvent) => void): () => void;
|
|
1480
1528
|
}
|
|
1529
|
+
export interface ValueConfig {
|
|
1530
|
+
theme?: 'light' | 'dark';
|
|
1531
|
+
dir?: 'ltr' | 'rtl';
|
|
1532
|
+
lang?: string;
|
|
1533
|
+
scale?: 'medium' | 'large';
|
|
1534
|
+
}
|
|
1535
|
+
export type ValueMessage = {
|
|
1536
|
+
type: 'slicc-vault';
|
|
1537
|
+
v: 1;
|
|
1538
|
+
op: 'value';
|
|
1539
|
+
request: string;
|
|
1540
|
+
config: ValueConfig;
|
|
1541
|
+
} | {
|
|
1542
|
+
type: 'slicc-vault';
|
|
1543
|
+
v: 1;
|
|
1544
|
+
op: 'focus';
|
|
1545
|
+
};
|
|
1546
|
+
export type ValueEvent = {
|
|
1547
|
+
type: 'slicc-vault';
|
|
1548
|
+
v: 1;
|
|
1549
|
+
} & ({
|
|
1550
|
+
event: 'ready';
|
|
1551
|
+
} | {
|
|
1552
|
+
event: 'size';
|
|
1553
|
+
width: number;
|
|
1554
|
+
height: number;
|
|
1555
|
+
inset: number;
|
|
1556
|
+
} | {
|
|
1557
|
+
event: 'focus';
|
|
1558
|
+
direction: 'next' | 'previous';
|
|
1559
|
+
} | {
|
|
1560
|
+
event: 'done';
|
|
1561
|
+
request: string;
|
|
1562
|
+
state: 'sealed' | 'allowed';
|
|
1563
|
+
} | {
|
|
1564
|
+
event: 'gone';
|
|
1565
|
+
request: string;
|
|
1566
|
+
state: RequestState;
|
|
1567
|
+
} | {
|
|
1568
|
+
event: 'error';
|
|
1569
|
+
code: ErrorCode;
|
|
1570
|
+
message: string;
|
|
1571
|
+
} | {
|
|
1572
|
+
event: 'escape';
|
|
1573
|
+
});
|
|
1574
|
+
export interface VaultValueFrame {
|
|
1575
|
+
element: HTMLElement;
|
|
1576
|
+
post(message: ValueMessage): void;
|
|
1577
|
+
listen(listener: (event: ValueEvent) => void): () => void;
|
|
1578
|
+
}
|
|
1481
1579
|
export interface VaultEvents {
|
|
1482
1580
|
status: VaultStatus;
|
|
1483
1581
|
list: VaultList;
|
|
@@ -1511,6 +1609,7 @@ export interface VaultPort extends Subscribable<VaultEvents> {
|
|
|
1511
1609
|
endpoints?(change: VaultEndpointChange): Promise<void>;
|
|
1512
1610
|
settings?(name: string, kind: RecordKind, settings: Record<string, string>): Promise<void>;
|
|
1513
1611
|
button(): VaultButton;
|
|
1612
|
+
valueFrame?(request: string): VaultValueFrame;
|
|
1514
1613
|
}
|
|
1515
1614
|
export type GuestGate = 'user' | 'cone' | 'agent' | `scoop:${string}` | 'off';
|
|
1516
1615
|
export interface GuestGates {
|
package/dist/types/ui.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './app/spectrum.ts';
|
|
2
2
|
import { SliccAgents } from './app/agents.js';
|
|
3
3
|
import { SliccApp } from './app/app.js';
|
|
4
|
-
import { SliccApprovals } from './app/approvals.js';
|
|
4
|
+
import { approvalKinds, SliccApprovals } from './app/approvals.js';
|
|
5
5
|
import { SliccBrowser } from './app/browser.js';
|
|
6
6
|
import { SliccChanges, SliccDiffPanel } from './app/changes.js';
|
|
7
7
|
import { SliccChat } from './app/chat.js';
|
|
@@ -16,7 +16,7 @@ import { SliccNotices } from './app/notices.js';
|
|
|
16
16
|
import { SliccSecrets } from './app/secrets.js';
|
|
17
17
|
import { SliccUpdates } from './app/updates.js';
|
|
18
18
|
import { SliccValueRequest } from './app/value-request.js';
|
|
19
|
-
import { SliccVaultButton } from './app/vault.js';
|
|
19
|
+
import { SliccVaultButton, SliccVaultValue } from './app/vault.js';
|
|
20
20
|
import { SliccCodeView, SliccDiffView } from './components/code-view.js';
|
|
21
21
|
import { SliccDock } from './components/dock.js';
|
|
22
22
|
import { SliccFileTree } from './components/file-tree.js';
|
|
@@ -36,5 +36,5 @@ export type { Listener, Subscribable } from './model/emitter.js';
|
|
|
36
36
|
export { Emitter } from './model/emitter.js';
|
|
37
37
|
export type * from './model/types.js';
|
|
38
38
|
export { isVaultFailure } from './model/values.js';
|
|
39
|
-
export { SliccAgents, SliccApp, SliccApprovals, SliccBrowser, SliccChanges, SliccChat, SliccCodeView, SliccComposer, SliccConfirm, SliccDiffPanel, SliccDiffView, SliccDock, SliccFiles, SliccFileTree, SliccFileView, SliccFollow, SliccFreezerImport, SliccGuestInvite, SliccNetwork, SliccNotices, SliccPrompt, SliccSecrets, SliccUpdates, SliccValueRequest, SliccVaultButton, };
|
|
39
|
+
export { approvalKinds, SliccAgents, SliccApp, SliccApprovals, SliccBrowser, SliccChanges, SliccChat, SliccCodeView, SliccComposer, SliccConfirm, SliccDiffPanel, SliccDiffView, SliccDock, SliccFiles, SliccFileTree, SliccFileView, SliccFollow, SliccFreezerImport, SliccGuestInvite, SliccNetwork, SliccNotices, SliccPrompt, SliccSecrets, SliccUpdates, SliccValueRequest, SliccVaultButton, SliccVaultValue, };
|
|
40
40
|
export declare function define(): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/slicc-spectrum",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.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",
|
|
@@ -62,10 +62,10 @@
|
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"@adobe/spectrum-wc": "2.0.0-beta.6",
|
|
64
64
|
"@adobe/spectrum-wc-icons": "2.0.0-beta.6",
|
|
65
|
-
"@ai-ecoverse/slicc-cdp": "1.46.
|
|
66
|
-
"@ai-ecoverse/slicc-kernel": "1.
|
|
65
|
+
"@ai-ecoverse/slicc-cdp": "1.46.5",
|
|
66
|
+
"@ai-ecoverse/slicc-kernel": "1.175.1",
|
|
67
67
|
"@ai-ecoverse/slicc-shared-web": "2.13.10",
|
|
68
|
-
"@ai-ecoverse/slicc-vault": "1.
|
|
68
|
+
"@ai-ecoverse/slicc-vault": "1.23.1",
|
|
69
69
|
"@ai-ecoverse/wasm-bash": "5.3.0-23",
|
|
70
70
|
"@ai-ecoverse/wasm-coreutils": "9.12.0-15",
|
|
71
71
|
"@biomejs/biome": "2.6.4",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"@wterm/core": "0.5.7",
|
|
90
90
|
"@wterm/dom": "0.5.7",
|
|
91
91
|
"@wterm/ghostty": "0.5.7",
|
|
92
|
-
"dockview-core": "8.8.
|
|
92
|
+
"dockview-core": "8.8.3",
|
|
93
93
|
"esbuild": "0.28.2",
|
|
94
94
|
"happy-dom": "21.0.4",
|
|
95
95
|
"lefthook": "2.2.2",
|