@trusty-squire/mcp 1.1.13-rc.8 → 1.1.13
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 +139 -62
- package/assets/login/vnc-input.js +9 -0
- package/assets/login/vnc.html +214 -202
- package/assets/screencaps/connect-walkthrough.png +0 -0
- package/assets/screencaps/connect-walkthrough.svg +1 -1
- package/dist/api-client.d.ts +26 -3
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +19 -31
- package/dist/api-client.js.map +1 -1
- package/dist/bin.js +2 -3
- package/dist/bin.js.map +1 -1
- package/dist/bot/browser.d.ts +134 -77
- package/dist/bot/browser.d.ts.map +1 -1
- package/dist/bot/browser.js +1788 -1543
- package/dist/bot/browser.js.map +1 -1
- package/dist/bot/compact-observation-v2.d.ts +167 -0
- package/dist/bot/compact-observation-v2.d.ts.map +1 -0
- package/dist/bot/compact-observation-v2.js +1038 -0
- package/dist/bot/compact-observation-v2.js.map +1 -0
- package/dist/bot/credential-shape.d.ts +2 -0
- package/dist/bot/credential-shape.d.ts.map +1 -1
- package/dist/bot/credential-shape.js +21 -8
- package/dist/bot/credential-shape.js.map +1 -1
- package/dist/bot/element-fingerprint.d.ts +9 -0
- package/dist/bot/element-fingerprint.d.ts.map +1 -0
- package/dist/bot/element-fingerprint.js +147 -0
- package/dist/bot/element-fingerprint.js.map +1 -0
- package/dist/bot/email-verification.d.ts +7 -1
- package/dist/bot/email-verification.d.ts.map +1 -1
- package/dist/bot/email-verification.js +48 -14
- package/dist/bot/email-verification.js.map +1 -1
- package/dist/bot/google-login.d.ts +28 -52
- package/dist/bot/google-login.d.ts.map +1 -1
- package/dist/bot/google-login.js +246 -1119
- package/dist/bot/google-login.js.map +1 -1
- package/dist/bot/install-completion.d.ts +1 -2
- package/dist/bot/install-completion.d.ts.map +1 -1
- package/dist/bot/install-completion.js +1 -2
- package/dist/bot/install-completion.js.map +1 -1
- package/dist/bot/login-state.d.ts +13 -7
- package/dist/bot/login-state.d.ts.map +1 -1
- package/dist/bot/login-state.js +50 -114
- package/dist/bot/login-state.js.map +1 -1
- package/dist/bot/oauth-providers.d.ts +1 -1
- package/dist/bot/oauth-providers.d.ts.map +1 -1
- package/dist/bot/oauth-providers.js +3 -3
- package/dist/bot/oauth-providers.js.map +1 -1
- package/dist/bot/oauth-scope.d.ts +4 -0
- package/dist/bot/oauth-scope.d.ts.map +1 -0
- package/dist/bot/oauth-scope.js +58 -0
- package/dist/bot/oauth-scope.js.map +1 -0
- package/dist/bot/operator-browser-watchdog.d.ts +127 -0
- package/dist/bot/operator-browser-watchdog.d.ts.map +1 -0
- package/dist/bot/operator-browser-watchdog.js +438 -0
- package/dist/bot/operator-browser-watchdog.js.map +1 -0
- package/dist/bot/owner-process-reaper-worker.d.ts +2 -0
- package/dist/bot/owner-process-reaper-worker.d.ts.map +1 -0
- package/dist/bot/owner-process-reaper-worker.js +17 -0
- package/dist/bot/owner-process-reaper-worker.js.map +1 -0
- package/dist/bot/owner-process-reaper.d.ts +103 -0
- package/dist/bot/owner-process-reaper.d.ts.map +1 -0
- package/dist/bot/owner-process-reaper.js +1058 -0
- package/dist/bot/owner-process-reaper.js.map +1 -0
- package/dist/bot/pay-operator.d.ts +13 -2
- package/dist/bot/pay-operator.d.ts.map +1 -1
- package/dist/bot/pay-operator.js +319 -123
- package/dist/bot/pay-operator.js.map +1 -1
- package/dist/bot/profile.d.ts +10 -1
- package/dist/bot/profile.d.ts.map +1 -1
- package/dist/bot/profile.js +137 -11
- package/dist/bot/profile.js.map +1 -1
- package/dist/bot/promote-to-skill.js +1 -1
- package/dist/bot/promote-to-skill.js.map +1 -1
- package/dist/bot/provision-session.d.ts +60 -164
- package/dist/bot/provision-session.d.ts.map +1 -1
- package/dist/bot/provision-session.js +2049 -1546
- package/dist/bot/provision-session.js.map +1 -1
- package/dist/bot/remote-login-display.d.ts +61 -0
- package/dist/bot/remote-login-display.d.ts.map +1 -0
- package/dist/bot/remote-login-display.js +765 -0
- package/dist/bot/remote-login-display.js.map +1 -0
- package/dist/bot/session/hosts.d.ts +8 -0
- package/dist/bot/session/hosts.d.ts.map +1 -0
- package/dist/bot/session/hosts.js +36 -0
- package/dist/bot/session/hosts.js.map +1 -0
- package/dist/bot/session/lifecycle.d.ts +56 -0
- package/dist/bot/session/lifecycle.d.ts.map +1 -0
- package/dist/bot/session/lifecycle.js +962 -0
- package/dist/bot/session/lifecycle.js.map +1 -0
- package/dist/bot/session/model.d.ts +175 -0
- package/dist/bot/session/model.d.ts.map +1 -0
- package/dist/bot/session/model.js +77 -0
- package/dist/bot/session/model.js.map +1 -0
- package/dist/install/cli.d.ts +29 -9
- package/dist/install/cli.d.ts.map +1 -1
- package/dist/install/cli.js +243 -322
- package/dist/install/cli.js.map +1 -1
- package/dist/install/interactive.d.ts +1 -0
- package/dist/install/interactive.d.ts.map +1 -1
- package/dist/install/interactive.js +19 -5
- package/dist/install/interactive.js.map +1 -1
- package/dist/install/ui.d.ts.map +1 -1
- package/dist/install/ui.js +3 -15
- package/dist/install/ui.js.map +1 -1
- package/dist/operator-env.js +1 -1
- package/dist/operator-env.js.map +1 -1
- package/dist/server-instance-registry.d.ts +103 -0
- package/dist/server-instance-registry.d.ts.map +1 -0
- package/dist/server-instance-registry.js +392 -0
- package/dist/server-instance-registry.js.map +1 -0
- package/dist/server.d.ts +15 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +164 -62
- package/dist/server.js.map +1 -1
- package/dist/session-guard.d.ts +28 -0
- package/dist/session-guard.d.ts.map +1 -0
- package/dist/session-guard.js +84 -0
- package/dist/session-guard.js.map +1 -0
- package/dist/session.d.ts +57 -13
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +246 -127
- package/dist/session.js.map +1 -1
- package/dist/tools/audit-log.d.ts +16 -2
- package/dist/tools/audit-log.d.ts.map +1 -1
- package/dist/tools/audit-log.js +223 -13
- package/dist/tools/audit-log.js.map +1 -1
- package/dist/tools/audit-rollup.d.ts +80 -0
- package/dist/tools/audit-rollup.d.ts.map +1 -0
- package/dist/tools/audit-rollup.js +0 -0
- package/dist/tools/audit-rollup.js.map +1 -0
- package/dist/tools/fetch-credential.d.ts +37 -0
- package/dist/tools/fetch-credential.d.ts.map +1 -0
- package/dist/tools/fetch-credential.js +153 -0
- package/dist/tools/fetch-credential.js.map +1 -0
- package/dist/tools/index.d.ts +3 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +7 -3
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/operate-pay.d.ts +4 -4
- package/dist/tools/operate-pay.d.ts.map +1 -1
- package/dist/tools/operate-pay.js +163 -96
- package/dist/tools/operate-pay.js.map +1 -1
- package/dist/tools/provision-drive.d.ts +43 -35
- package/dist/tools/provision-drive.d.ts.map +1 -1
- package/dist/tools/provision-drive.js +268 -164
- package/dist/tools/provision-drive.js.map +1 -1
- package/dist/tools/use-credential.d.ts.map +1 -1
- package/dist/tools/use-credential.js +3 -2
- package/dist/tools/use-credential.js.map +1 -1
- package/package.json +4 -6
- package/dist/bot/operator-direct-identity.d.ts +0 -26
- package/dist/bot/operator-direct-identity.d.ts.map +0 -1
- package/dist/bot/operator-direct-identity.js +0 -120
- package/dist/bot/operator-direct-identity.js.map +0 -1
- package/dist/bot/operator-profile-pool.d.ts +0 -97
- package/dist/bot/operator-profile-pool.d.ts.map +0 -1
- package/dist/bot/operator-profile-pool.js +0 -855
- package/dist/bot/operator-profile-pool.js.map +0 -1
- package/dist/bot/xvfb.d.ts +0 -13
- package/dist/bot/xvfb.d.ts.map +0 -1
- package/dist/bot/xvfb.js +0 -146
- package/dist/bot/xvfb.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-process-reaper-worker.d.ts","sourceRoot":"","sources":["../../src/bot/owner-process-reaper-worker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { writeFileSync } from "node:fs";
|
|
2
|
+
import { runOwnerProcessReaperWorker } from "./owner-process-reaper.js";
|
|
3
|
+
const manifestPath = process.argv[2];
|
|
4
|
+
const readyPath = process.argv[3];
|
|
5
|
+
const token = process.argv[4];
|
|
6
|
+
if (manifestPath === undefined || readyPath === undefined || token === undefined)
|
|
7
|
+
process.exit(2);
|
|
8
|
+
runOwnerProcessReaperWorker(manifestPath, () => {
|
|
9
|
+
writeFileSync(readyPath, `${JSON.stringify({ version: 1, token, pid: process.pid })}\n`, {
|
|
10
|
+
mode: 0o600,
|
|
11
|
+
flag: "wx",
|
|
12
|
+
});
|
|
13
|
+
}).then(() => process.exit(0), (error) => {
|
|
14
|
+
process.stderr.write(`[trusty-squire] owner reaper failed: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
15
|
+
process.exit(1);
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=owner-process-reaper-worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-process-reaper-worker.js","sourceRoot":"","sources":["../../src/bot/owner-process-reaper-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAExE,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9B,IAAI,YAAY,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;IAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAElG,2BAA2B,CAAC,YAAY,EAAE,GAAG,EAAE;IAC7C,aAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE;QACvF,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC,CAAC,CAAC,IAAI,CACL,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EACrB,CAAC,KAAc,EAAE,EAAE;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wCACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,IAAI,CACL,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { spawn, type ChildProcess, type SpawnOptions } from "node:child_process";
|
|
2
|
+
import { type OperatorBrowserProcessMarkerState } from "./operator-browser-watchdog.js";
|
|
3
|
+
import { type ProcessIdentityState, type ProcessProfileArgumentState, type ProfileProcessIdentity } from "./profile.js";
|
|
4
|
+
interface OwnerIdentity {
|
|
5
|
+
pid: number;
|
|
6
|
+
start_time: string;
|
|
7
|
+
}
|
|
8
|
+
export interface OwnerHelperIdentity {
|
|
9
|
+
pid: number;
|
|
10
|
+
start_time: string;
|
|
11
|
+
marker: string;
|
|
12
|
+
process_group_id?: number;
|
|
13
|
+
}
|
|
14
|
+
interface OwnerPendingHelper {
|
|
15
|
+
marker: string;
|
|
16
|
+
state: "pending";
|
|
17
|
+
}
|
|
18
|
+
type OwnerHelperRecord = OwnerHelperIdentity | OwnerPendingHelper;
|
|
19
|
+
export interface OwnerProcessReaper {
|
|
20
|
+
readonly manifestPath: string;
|
|
21
|
+
readonly token: string;
|
|
22
|
+
isAvailable(): boolean;
|
|
23
|
+
restart(): boolean;
|
|
24
|
+
track(identity: ProfileProcessIdentity): void;
|
|
25
|
+
untrack(identity: ProfileProcessIdentity): void;
|
|
26
|
+
trackLaunch(marker: string, profileDir: string): void;
|
|
27
|
+
bindLaunch(marker: string, identity: ProfileProcessIdentity): boolean;
|
|
28
|
+
launchAnchor(marker: string, profileDir: string): OwnerIdentity | null;
|
|
29
|
+
untrackLaunch(marker: string): void;
|
|
30
|
+
reserveHelper(marker: string): void;
|
|
31
|
+
bindHelper(marker: string, identity: OwnerHelperIdentity): void;
|
|
32
|
+
untrackHelper(marker: string): void;
|
|
33
|
+
stop(): void;
|
|
34
|
+
}
|
|
35
|
+
export declare const OWNER_HELPER_MARKER_ENV = "TRUSTY_SQUIRE_OWNER_HELPER_MARKER";
|
|
36
|
+
export declare const OWNER_REAPER_WORKER_MARKER_ENV = "TRUSTY_SQUIRE_OWNER_REAPER_WORKER_MARKER";
|
|
37
|
+
export declare function shouldReapOwner(state: ProcessIdentityState): boolean;
|
|
38
|
+
type ProcessGroupIdRead = number | "stale" | "unknown";
|
|
39
|
+
interface HelperIdentityReaders {
|
|
40
|
+
readProcessIds?: () => number[];
|
|
41
|
+
readProcessGroupId?: (pid: number) => ProcessGroupIdRead;
|
|
42
|
+
readRunningState?: (pid: number) => ProcessIdentityState;
|
|
43
|
+
readMarkerState?: (pid: number, marker: string) => ProcessIdentityState;
|
|
44
|
+
readBirthState?: (identity: OwnerHelperIdentity) => ProcessIdentityState;
|
|
45
|
+
readUidState?: (pid: number) => ProcessIdentityState;
|
|
46
|
+
}
|
|
47
|
+
export declare function ownerHelperIdentityState(identity: OwnerHelperRecord, readers?: HelperIdentityReaders): ProcessIdentityState;
|
|
48
|
+
interface BrowserIdentityReaders {
|
|
49
|
+
anchor?: OwnerIdentity;
|
|
50
|
+
readProcessIds?: () => number[];
|
|
51
|
+
readBirthIdentity?: (pid: number) => OwnerIdentity | null;
|
|
52
|
+
readMarker?: (pid: number) => string | null;
|
|
53
|
+
readMarkerState?: (pid: number) => OperatorBrowserProcessMarkerState;
|
|
54
|
+
readCommandState?: (pid: number) => ProcessIdentityState;
|
|
55
|
+
readProfileState?: (pid: number, profileDir: string) => ProcessProfileArgumentState;
|
|
56
|
+
readBirthState?: (identity: OwnerIdentity) => ProcessIdentityState;
|
|
57
|
+
readRunningState?: (pid: number) => ProcessIdentityState;
|
|
58
|
+
readUidState?: (pid: number) => ProcessIdentityState;
|
|
59
|
+
}
|
|
60
|
+
export declare function ownerBrowserLaunchState(marker: string, profileDir: string, readers?: BrowserIdentityReaders): ProcessIdentityState;
|
|
61
|
+
export declare function terminateOwnerBrowserLaunch(marker: string, profileDir: string, options?: {
|
|
62
|
+
graceMs?: number;
|
|
63
|
+
readProcessIds?: () => number[];
|
|
64
|
+
readBirthIdentity?: (pid: number) => OwnerIdentity | null;
|
|
65
|
+
readMarkerState?: (pid: number) => OperatorBrowserProcessMarkerState;
|
|
66
|
+
readCommandState?: (pid: number) => ProcessIdentityState;
|
|
67
|
+
readProfileState?: (pid: number, profileDir: string) => ProcessProfileArgumentState;
|
|
68
|
+
readBirthState?: (identity: OwnerIdentity) => ProcessIdentityState;
|
|
69
|
+
readRunningState?: (pid: number) => ProcessIdentityState;
|
|
70
|
+
anchor?: OwnerIdentity;
|
|
71
|
+
readUidState?: (pid: number) => ProcessIdentityState;
|
|
72
|
+
kill?: (pid: number, signal: NodeJS.Signals) => void;
|
|
73
|
+
wait?: (ms: number) => Promise<void>;
|
|
74
|
+
}): Promise<boolean>;
|
|
75
|
+
export declare function sweepOrphanedOwnerProcesses(rootDir?: string): Promise<number>;
|
|
76
|
+
export declare function runOwnerProcessReaperWorker(manifestPath: string, onReady?: () => void): Promise<void>;
|
|
77
|
+
export declare function startOwnerProcessReaper(options?: {
|
|
78
|
+
rootDir?: string;
|
|
79
|
+
workerPath?: string;
|
|
80
|
+
}, runtime?: {
|
|
81
|
+
spawn?: typeof spawn;
|
|
82
|
+
beforeWorkerLaunch?: () => void;
|
|
83
|
+
}): OwnerProcessReaper | null;
|
|
84
|
+
export declare function ensureOwnerProcessReaper(): OwnerProcessReaper | null;
|
|
85
|
+
export declare function stopOwnerProcessReaper(): void;
|
|
86
|
+
export declare function trackOwnerProcess(identity: ProfileProcessIdentity): void;
|
|
87
|
+
export declare function untrackOwnerProcess(identity: ProfileProcessIdentity): void;
|
|
88
|
+
export declare function trackOwnerBrowserLaunch(marker: string, profileDir: string, runtime?: {
|
|
89
|
+
ensureReaper?: typeof ensureOwnerProcessReaper;
|
|
90
|
+
}): void;
|
|
91
|
+
export declare function bindOwnerBrowserLaunch(marker: string, identity: ProfileProcessIdentity): boolean;
|
|
92
|
+
export declare function markOwnerBrowserLaunchTerminal(_marker: string): void;
|
|
93
|
+
export declare function untrackOwnerBrowserLaunch(marker: string): void;
|
|
94
|
+
export declare function reconcileOwnerBrowserLaunchAfterLeaderExit(marker: string, profileDir: string, launchState?: (marker: string, profileDir: string) => ProcessIdentityState): void;
|
|
95
|
+
export declare function spawnOwnerTrackedHelper(command: string, args: readonly string[], options?: SpawnOptions, runtime?: {
|
|
96
|
+
spawn?: typeof spawn;
|
|
97
|
+
}): ChildProcess;
|
|
98
|
+
export declare function signalOwnerTrackedHelper(child: ChildProcess, signal: NodeJS.Signals): boolean;
|
|
99
|
+
export declare function ownerTrackedHelperState(child: ChildProcess): ProcessIdentityState;
|
|
100
|
+
export declare function waitForOwnerTrackedHelperExit(child: ChildProcess, timeoutMs: number): Promise<boolean>;
|
|
101
|
+
export declare function releaseOwnerTrackedHelper(child: ChildProcess): boolean;
|
|
102
|
+
export {};
|
|
103
|
+
//# sourceMappingURL=owner-process-reaper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owner-process-reaper.d.ts","sourceRoot":"","sources":["../../src/bot/owner-process-reaper.ts"],"names":[],"mappings":"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"}
|