crewly 1.20.123 → 1.20.124
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/dist/backend/backend/src/constants.d.ts +118 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +118 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/harness/harness.controller.d.ts +54 -0
- package/dist/backend/backend/src/controllers/harness/harness.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/harness/harness.controller.js +204 -0
- package/dist/backend/backend/src/controllers/harness/harness.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/harness/harness.routes.d.ts +27 -0
- package/dist/backend/backend/src/controllers/harness/harness.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/harness/harness.routes.js +43 -0
- package/dist/backend/backend/src/controllers/harness/harness.routes.js.map +1 -0
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +4 -0
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +5 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +7 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +2 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js +4 -3
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +14 -0
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
- package/dist/backend/backend/src/services/harness/claude-config.utils.d.ts +67 -0
- package/dist/backend/backend/src/services/harness/claude-config.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/claude-config.utils.js +118 -0
- package/dist/backend/backend/src/services/harness/claude-config.utils.js.map +1 -0
- package/dist/backend/backend/src/services/harness/harness-api-key.service.d.ts +99 -0
- package/dist/backend/backend/src/services/harness/harness-api-key.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/harness-api-key.service.js +157 -0
- package/dist/backend/backend/src/services/harness/harness-api-key.service.js.map +1 -0
- package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts +135 -0
- package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/harness-credentials.store.js +208 -0
- package/dist/backend/backend/src/services/harness/harness-credentials.store.js.map +1 -0
- package/dist/backend/backend/src/services/harness/harness-exec.utils.d.ts +85 -0
- package/dist/backend/backend/src/services/harness/harness-exec.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/harness-exec.utils.js +183 -0
- package/dist/backend/backend/src/services/harness/harness-exec.utils.js.map +1 -0
- package/dist/backend/backend/src/services/harness/harness-install.service.d.ts +106 -0
- package/dist/backend/backend/src/services/harness/harness-install.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/harness-install.service.js +205 -0
- package/dist/backend/backend/src/services/harness/harness-install.service.js.map +1 -0
- package/dist/backend/backend/src/services/harness/harness-registry.d.ts +86 -0
- package/dist/backend/backend/src/services/harness/harness-registry.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/harness-registry.js +121 -0
- package/dist/backend/backend/src/services/harness/harness-registry.js.map +1 -0
- package/dist/backend/backend/src/services/harness/harness-status.service.d.ts +173 -0
- package/dist/backend/backend/src/services/harness/harness-status.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/harness-status.service.js +324 -0
- package/dist/backend/backend/src/services/harness/harness-status.service.js.map +1 -0
- package/dist/backend/backend/src/services/harness/harness.service.d.ts +146 -0
- package/dist/backend/backend/src/services/harness/harness.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/harness.service.js +193 -0
- package/dist/backend/backend/src/services/harness/harness.service.js.map +1 -0
- package/dist/backend/backend/src/services/harness/harness.types.d.ts +138 -0
- package/dist/backend/backend/src/services/harness/harness.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/harness.types.js +51 -0
- package/dist/backend/backend/src/services/harness/harness.types.js.map +1 -0
- package/dist/backend/backend/src/services/harness/login-broker.service.d.ts +238 -0
- package/dist/backend/backend/src/services/harness/login-broker.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/login-broker.service.js +495 -0
- package/dist/backend/backend/src/services/harness/login-broker.service.js.map +1 -0
- package/dist/backend/backend/src/services/harness/login-rules.d.ts +162 -0
- package/dist/backend/backend/src/services/harness/login-rules.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/login-rules.js +344 -0
- package/dist/backend/backend/src/services/harness/login-rules.js.map +1 -0
- package/dist/backend/backend/src/services/harness/orc-harness.store.d.ts +59 -0
- package/dist/backend/backend/src/services/harness/orc-harness.store.d.ts.map +1 -0
- package/dist/backend/backend/src/services/harness/orc-harness.store.js +108 -0
- package/dist/backend/backend/src/services/harness/orc-harness.store.js.map +1 -0
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +118 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +118 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +5 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +7 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/cloud/cloud-client.service.d.ts +2 -1
- package/dist/cli/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/cloud/cloud-client.service.js +4 -3
- package/dist/cli/backend/src/services/cloud/cloud-client.service.js.map +1 -1
- package/dist/cli/backend/src/services/harness/claude-config.utils.d.ts +67 -0
- package/dist/cli/backend/src/services/harness/claude-config.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/claude-config.utils.js +118 -0
- package/dist/cli/backend/src/services/harness/claude-config.utils.js.map +1 -0
- package/dist/cli/backend/src/services/harness/harness-api-key.service.d.ts +99 -0
- package/dist/cli/backend/src/services/harness/harness-api-key.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/harness-api-key.service.js +157 -0
- package/dist/cli/backend/src/services/harness/harness-api-key.service.js.map +1 -0
- package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts +135 -0
- package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/harness-credentials.store.js +208 -0
- package/dist/cli/backend/src/services/harness/harness-credentials.store.js.map +1 -0
- package/dist/cli/backend/src/services/harness/harness-exec.utils.d.ts +85 -0
- package/dist/cli/backend/src/services/harness/harness-exec.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/harness-exec.utils.js +183 -0
- package/dist/cli/backend/src/services/harness/harness-exec.utils.js.map +1 -0
- package/dist/cli/backend/src/services/harness/harness-install.service.d.ts +106 -0
- package/dist/cli/backend/src/services/harness/harness-install.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/harness-install.service.js +205 -0
- package/dist/cli/backend/src/services/harness/harness-install.service.js.map +1 -0
- package/dist/cli/backend/src/services/harness/harness-registry.d.ts +86 -0
- package/dist/cli/backend/src/services/harness/harness-registry.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/harness-registry.js +121 -0
- package/dist/cli/backend/src/services/harness/harness-registry.js.map +1 -0
- package/dist/cli/backend/src/services/harness/harness-status.service.d.ts +173 -0
- package/dist/cli/backend/src/services/harness/harness-status.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/harness-status.service.js +324 -0
- package/dist/cli/backend/src/services/harness/harness-status.service.js.map +1 -0
- package/dist/cli/backend/src/services/harness/harness.service.d.ts +146 -0
- package/dist/cli/backend/src/services/harness/harness.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/harness.service.js +193 -0
- package/dist/cli/backend/src/services/harness/harness.service.js.map +1 -0
- package/dist/cli/backend/src/services/harness/harness.types.d.ts +138 -0
- package/dist/cli/backend/src/services/harness/harness.types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/harness.types.js +51 -0
- package/dist/cli/backend/src/services/harness/harness.types.js.map +1 -0
- package/dist/cli/backend/src/services/harness/login-broker.service.d.ts +238 -0
- package/dist/cli/backend/src/services/harness/login-broker.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/login-broker.service.js +495 -0
- package/dist/cli/backend/src/services/harness/login-broker.service.js.map +1 -0
- package/dist/cli/backend/src/services/harness/login-rules.d.ts +162 -0
- package/dist/cli/backend/src/services/harness/login-rules.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/login-rules.js +344 -0
- package/dist/cli/backend/src/services/harness/login-rules.js.map +1 -0
- package/dist/cli/backend/src/services/harness/orc-harness.store.d.ts +59 -0
- package/dist/cli/backend/src/services/harness/orc-harness.store.d.ts.map +1 -0
- package/dist/cli/backend/src/services/harness/orc-harness.store.js +108 -0
- package/dist/cli/backend/src/services/harness/orc-harness.store.js.map +1 -0
- package/dist/cli/cli/src/commands/harness-setup.d.ts +159 -0
- package/dist/cli/cli/src/commands/harness-setup.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/harness-setup.js +377 -0
- package/dist/cli/cli/src/commands/harness-setup.js.map +1 -0
- package/dist/cli/cli/src/commands/harness.d.ts +56 -0
- package/dist/cli/cli/src/commands/harness.d.ts.map +1 -0
- package/dist/cli/cli/src/commands/harness.js +97 -0
- package/dist/cli/cli/src/commands/harness.js.map +1 -0
- package/dist/cli/cli/src/commands/onboard.d.ts +108 -50
- package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/onboard.js +200 -191
- package/dist/cli/cli/src/commands/onboard.js.map +1 -1
- package/dist/cli/cli/src/constants.d.ts +18 -0
- package/dist/cli/cli/src/constants.d.ts.map +1 -1
- package/dist/cli/cli/src/constants.js +18 -0
- package/dist/cli/cli/src/constants.js.map +1 -1
- package/dist/cli/cli/src/index.js +22 -3
- package/dist/cli/cli/src/index.js.map +1 -1
- package/dist/cli/cli/src/utils/harness-engine.d.ts +99 -0
- package/dist/cli/cli/src/utils/harness-engine.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/harness-engine.js +143 -0
- package/dist/cli/cli/src/utils/harness-engine.js.map +1 -0
- package/dist/cli/cli/src/utils/prompt-io.d.ts +25 -0
- package/dist/cli/cli/src/utils/prompt-io.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/prompt-io.js +47 -0
- package/dist/cli/cli/src/utils/prompt-io.js.map +1 -0
- package/frontend/dist/assets/{index-8327e63e.css → index-0a2f783c.css} +1 -1
- package/frontend/dist/assets/{index-daf43f1a.js → index-aaf65055.js} +309 -309
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Login broker — runs a harness's own login command in a PTY and relays it.
|
|
3
|
+
*
|
|
4
|
+
* The broker knows nothing about harness APIs. It spawns the login command
|
|
5
|
+
* (`claude setup-token`, `codex login --device-auth`) in a very wide PTY,
|
|
6
|
+
* normalizes the screen and applies the harness's rule set (login-rules.ts)
|
|
7
|
+
* to find the sign-in URL, a one-time code, a "paste the code" prompt,
|
|
8
|
+
* success and failure. Front ends read the resulting {@link LoginSession}
|
|
9
|
+
* and send the user's reply back with {@link LoginBrokerService.input}.
|
|
10
|
+
*
|
|
11
|
+
* Front ends are consumers of the same events: the REST API polls
|
|
12
|
+
* {@link LoginBrokerService.get}, the CLI awaits
|
|
13
|
+
* {@link LoginBrokerService.waitForCompletion}, and Phase 2 (re-login over
|
|
14
|
+
* Slack DM) subscribes to the `update` / `finished` events.
|
|
15
|
+
*
|
|
16
|
+
* Secrets: Claude's long-lived token is captured from the screen, stored with
|
|
17
|
+
* {@link HarnessCredentialsStore.setClaudeOauthToken}, redacted from every
|
|
18
|
+
* exposed screen and scrubbed from the raw buffer. It is never logged or
|
|
19
|
+
* emitted.
|
|
20
|
+
*
|
|
21
|
+
* State machine:
|
|
22
|
+
* `starting` → `awaiting_user` (URL / code / prompt seen) → `verifying`
|
|
23
|
+
* (input sent, or the command reported success and is being confirmed) →
|
|
24
|
+
* `succeeded` | `failed`; any live state → `timed_out` (15 min) | `cancelled`.
|
|
25
|
+
* A prompt that reappears after input returns the session to `awaiting_user`.
|
|
26
|
+
*
|
|
27
|
+
* @module services/harness/login-broker.service
|
|
28
|
+
*/
|
|
29
|
+
import { EventEmitter } from 'events';
|
|
30
|
+
import { HarnessCredentialsStore } from './harness-credentials.store.js';
|
|
31
|
+
import { type HarnessId, type HarnessLogger, type LoginSession } from './harness.types.js';
|
|
32
|
+
/** The slice of a PTY the broker uses (node-pty's IPty satisfies it). */
|
|
33
|
+
export interface BrokerPty {
|
|
34
|
+
onData(listener: (data: string) => void): unknown;
|
|
35
|
+
onExit(listener: (event: {
|
|
36
|
+
exitCode: number;
|
|
37
|
+
signal?: number;
|
|
38
|
+
}) => void): unknown;
|
|
39
|
+
write(data: string): void;
|
|
40
|
+
kill(signal?: string): void;
|
|
41
|
+
}
|
|
42
|
+
/** Spawns a PTY. */
|
|
43
|
+
export type BrokerPtySpawner = (file: string, args: string[], options: {
|
|
44
|
+
cols: number;
|
|
45
|
+
rows: number;
|
|
46
|
+
cwd: string;
|
|
47
|
+
env: Record<string, string>;
|
|
48
|
+
}) => BrokerPty;
|
|
49
|
+
/** Events emitted by the broker. Listeners receive a {@link LoginSession} (never a secret). */
|
|
50
|
+
export declare const LOGIN_BROKER_EVENTS: {
|
|
51
|
+
/** Any change to a session */
|
|
52
|
+
readonly UPDATE: "update";
|
|
53
|
+
/** A session reached a terminal state */
|
|
54
|
+
readonly FINISHED: "finished";
|
|
55
|
+
};
|
|
56
|
+
/** Error codes the REST layer maps to HTTP statuses. */
|
|
57
|
+
export type LoginBrokerErrorCode = 'unknown_harness' | 'unsupported_method' | 'not_installed' | 'spawn_failed' | 'not_found' | 'not_active';
|
|
58
|
+
/** Broker error with a machine-readable code. */
|
|
59
|
+
export declare class LoginBrokerError extends Error {
|
|
60
|
+
readonly code: LoginBrokerErrorCode;
|
|
61
|
+
/**
|
|
62
|
+
* @param code - Machine-readable code
|
|
63
|
+
* @param message - Human-readable message (never contains a secret)
|
|
64
|
+
*/
|
|
65
|
+
constructor(code: LoginBrokerErrorCode, message: string);
|
|
66
|
+
}
|
|
67
|
+
/** Injectable dependencies. */
|
|
68
|
+
export interface LoginBrokerDeps {
|
|
69
|
+
spawnPty?: BrokerPtySpawner;
|
|
70
|
+
/** PATH lookup for the login command */
|
|
71
|
+
resolveCommand?: (command: string, envPath: string) => string | null;
|
|
72
|
+
env?: NodeJS.ProcessEnv;
|
|
73
|
+
homeDir?: string;
|
|
74
|
+
credentials?: HarnessCredentialsStore;
|
|
75
|
+
/** Confirms a login with the harness's own status command (Codex) */
|
|
76
|
+
verify?: (harnessId: HarnessId) => Promise<boolean>;
|
|
77
|
+
/** Records Claude's first-run answers after a Claude login */
|
|
78
|
+
prepareClaudeConfig?: () => void;
|
|
79
|
+
now?: () => number;
|
|
80
|
+
idFactory?: () => string;
|
|
81
|
+
logger?: HarnessLogger;
|
|
82
|
+
timeoutMs?: number;
|
|
83
|
+
}
|
|
84
|
+
/** Runs harness login commands in PTYs and tracks their sessions. */
|
|
85
|
+
export declare class LoginBrokerService extends EventEmitter {
|
|
86
|
+
private readonly spawnPty;
|
|
87
|
+
private readonly resolveCommand;
|
|
88
|
+
private readonly env;
|
|
89
|
+
private readonly homeDir;
|
|
90
|
+
private readonly credentials;
|
|
91
|
+
private readonly verify;
|
|
92
|
+
private readonly prepareClaudeConfig;
|
|
93
|
+
private readonly now;
|
|
94
|
+
private readonly idFactory;
|
|
95
|
+
private readonly logger;
|
|
96
|
+
private readonly timeoutMs;
|
|
97
|
+
private readonly sessions;
|
|
98
|
+
/** Sessions whose verification is in flight. */
|
|
99
|
+
private readonly verifying;
|
|
100
|
+
/**
|
|
101
|
+
* @param deps - Injectable dependencies (all optional)
|
|
102
|
+
*/
|
|
103
|
+
constructor(deps?: LoginBrokerDeps);
|
|
104
|
+
/**
|
|
105
|
+
* Environment for the login PTY: the harness PATH, no owner API token, no
|
|
106
|
+
* nested-Claude-session markers, and a no-op BROWSER so the harness does
|
|
107
|
+
* not try to open a browser on the server.
|
|
108
|
+
*
|
|
109
|
+
* @returns String-only env map
|
|
110
|
+
*/
|
|
111
|
+
buildEnv(): Record<string, string>;
|
|
112
|
+
/**
|
|
113
|
+
* Start a login session, or return the live one for this harness.
|
|
114
|
+
*
|
|
115
|
+
* @param harnessId - Harness id
|
|
116
|
+
* @param method - Broker login method (`subscription`, `device`)
|
|
117
|
+
* @returns The session
|
|
118
|
+
* @throws LoginBrokerError unknown_harness | unsupported_method | not_installed | spawn_failed
|
|
119
|
+
*/
|
|
120
|
+
start(harnessId: string, method: string): LoginSession;
|
|
121
|
+
/**
|
|
122
|
+
* Read a session.
|
|
123
|
+
*
|
|
124
|
+
* @param sessionId - Session id
|
|
125
|
+
* @returns The session
|
|
126
|
+
* @throws LoginBrokerError not_found
|
|
127
|
+
*/
|
|
128
|
+
get(sessionId: string): LoginSession;
|
|
129
|
+
/**
|
|
130
|
+
* The live (non-terminal) session for a harness, if any.
|
|
131
|
+
*
|
|
132
|
+
* @param harnessId - Harness id
|
|
133
|
+
* @returns The session, or null
|
|
134
|
+
*/
|
|
135
|
+
getActiveSession(harnessId: string): LoginSession | null;
|
|
136
|
+
/**
|
|
137
|
+
* Type the user's reply into the PTY, followed by Enter.
|
|
138
|
+
*
|
|
139
|
+
* @param sessionId - Session id
|
|
140
|
+
* @param text - What the user typed (e.g. the code from platform.claude.com)
|
|
141
|
+
* @returns The session
|
|
142
|
+
* @throws LoginBrokerError not_found | not_active
|
|
143
|
+
*/
|
|
144
|
+
input(sessionId: string, text: string): LoginSession;
|
|
145
|
+
/**
|
|
146
|
+
* Cancel a session (kills the PTY). Cancelling a finished session is a no-op.
|
|
147
|
+
*
|
|
148
|
+
* @param sessionId - Session id
|
|
149
|
+
* @returns The session
|
|
150
|
+
* @throws LoginBrokerError not_found
|
|
151
|
+
*/
|
|
152
|
+
cancel(sessionId: string): LoginSession;
|
|
153
|
+
/**
|
|
154
|
+
* Resolve when the session reaches a terminal state.
|
|
155
|
+
*
|
|
156
|
+
* @param sessionId - Session id
|
|
157
|
+
* @returns The final session
|
|
158
|
+
* @throws LoginBrokerError not_found
|
|
159
|
+
*/
|
|
160
|
+
waitForCompletion(sessionId: string): Promise<LoginSession>;
|
|
161
|
+
/** Cancel every live session (backend shutdown, CLI exit). */
|
|
162
|
+
shutdown(): void;
|
|
163
|
+
/**
|
|
164
|
+
* Session record or a not_found error.
|
|
165
|
+
*
|
|
166
|
+
* @param sessionId - Session id
|
|
167
|
+
* @returns The record
|
|
168
|
+
* @throws LoginBrokerError not_found
|
|
169
|
+
*/
|
|
170
|
+
private requireRecord;
|
|
171
|
+
/**
|
|
172
|
+
* Append PTY output and re-evaluate the rules.
|
|
173
|
+
*
|
|
174
|
+
* @param record - Session record
|
|
175
|
+
* @param data - Output chunk
|
|
176
|
+
*/
|
|
177
|
+
private handleData;
|
|
178
|
+
/**
|
|
179
|
+
* Apply the rule set to the current screen and move the state machine.
|
|
180
|
+
*
|
|
181
|
+
* @param record - Session record
|
|
182
|
+
* @param final - The process has exited
|
|
183
|
+
*/
|
|
184
|
+
private evaluate;
|
|
185
|
+
/**
|
|
186
|
+
* Handle a reported success: store the secret (Claude) or confirm (Codex).
|
|
187
|
+
*
|
|
188
|
+
* @param record - Session record
|
|
189
|
+
* @param secret - Captured credential, when the rule set has one
|
|
190
|
+
*/
|
|
191
|
+
private complete;
|
|
192
|
+
/**
|
|
193
|
+
* Confirm a login with the harness's status command.
|
|
194
|
+
*
|
|
195
|
+
* @param record - Session record
|
|
196
|
+
*/
|
|
197
|
+
private confirm;
|
|
198
|
+
/**
|
|
199
|
+
* Save a captured credential. Never logs it.
|
|
200
|
+
*
|
|
201
|
+
* @param record - Session record
|
|
202
|
+
* @param secret - The credential
|
|
203
|
+
*/
|
|
204
|
+
private storeSecret;
|
|
205
|
+
/**
|
|
206
|
+
* The login command exited.
|
|
207
|
+
*
|
|
208
|
+
* @param record - Session record
|
|
209
|
+
* @param exitCode - Process exit code
|
|
210
|
+
*/
|
|
211
|
+
private handleExit;
|
|
212
|
+
/**
|
|
213
|
+
* Move a session to a terminal state and release the PTY.
|
|
214
|
+
*
|
|
215
|
+
* @param record - Session record
|
|
216
|
+
* @param state - Terminal state
|
|
217
|
+
* @param message - Message for the user
|
|
218
|
+
*/
|
|
219
|
+
private finish;
|
|
220
|
+
/**
|
|
221
|
+
* Apply a patch, bump `updatedAt` and emit `update`.
|
|
222
|
+
*
|
|
223
|
+
* @param record - Session record
|
|
224
|
+
* @param patch - Fields to change
|
|
225
|
+
*/
|
|
226
|
+
private update;
|
|
227
|
+
/**
|
|
228
|
+
* Tail of the screen, secrets redacted.
|
|
229
|
+
*
|
|
230
|
+
* @param record - Session record
|
|
231
|
+
* @param text - Normalized text
|
|
232
|
+
* @returns Exposed screen text
|
|
233
|
+
*/
|
|
234
|
+
private exposedScreen;
|
|
235
|
+
/** Forget finished sessions older than the retention window. */
|
|
236
|
+
private prune;
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=login-broker.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login-broker.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/harness/login-broker.service.ts"],"names":[],"mappings":"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"}
|