crewly 1.20.160 → 1.20.162
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/config/roles/orchestrator/prompt.md +2 -0
- package/config/roles/team-leader/prompt.md +12 -0
- package/config/roles/team-leader/tl-addon.md +12 -0
- package/config/skills/agent/core/project-tickets/SKILL.md +32 -1
- package/config/skills/agent/core/project-tickets/execute.sh +56 -2
- package/config/skills/agent/core/project-tickets/execute.test.sh +22 -0
- package/dist/backend/backend/src/constants.d.ts +125 -1
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +146 -16
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts +27 -0
- package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.js +203 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.routes.js +4 -1
- package/dist/backend/backend/src/controllers/browser/browser.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +43 -0
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +85 -0
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts +12 -0
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js +19 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +30 -1
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/models/Project.d.ts +3 -0
- package/dist/backend/backend/src/models/Project.d.ts.map +1 -1
- package/dist/backend/backend/src/models/Project.js +7 -0
- package/dist/backend/backend/src/models/Project.js.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +3 -1
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +66 -13
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +161 -32
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-session.service.d.ts +15 -0
- package/dist/backend/backend/src/services/browser/browser-session.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-session.service.js +25 -0
- package/dist/backend/backend/src/services/browser/browser-session.service.js.map +1 -1
- package/dist/backend/backend/src/services/browser/owner-browser-input.d.ts +211 -0
- package/dist/backend/backend/src/services/browser/owner-browser-input.d.ts.map +1 -0
- package/dist/backend/backend/src/services/browser/owner-browser-input.js +373 -0
- package/dist/backend/backend/src/services/browser/owner-browser-input.js.map +1 -0
- 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 +5 -3
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts +48 -0
- package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js +77 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts +223 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js +240 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts +94 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js +195 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts +286 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js +626 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js.map +1 -0
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +37 -3
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +57 -6
- package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +21 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +62 -4
- package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts +6 -0
- package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js +9 -5
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/claim.service.d.ts +23 -3
- package/dist/backend/backend/src/services/task-pool/claim.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/claim.service.js +52 -11
- package/dist/backend/backend/src/services/task-pool/claim.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +42 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js +82 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/ticket-claim-policy.d.ts +19 -0
- package/dist/backend/backend/src/services/task-pool/ticket-claim-policy.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/ticket-claim-policy.js +33 -0
- package/dist/backend/backend/src/services/task-pool/ticket-claim-policy.js.map +1 -1
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts +28 -0
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +74 -29
- package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +3 -2
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +6 -0
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts +73 -0
- package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/ticket-autopilot.types.js +88 -0
- package/dist/backend/backend/src/types/ticket-autopilot.types.js.map +1 -0
- package/dist/backend/backend/src/types/v2/claim.types.d.ts +27 -0
- package/dist/backend/backend/src/types/v2/claim.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/claim.types.js +37 -0
- package/dist/backend/backend/src/types/v2/claim.types.js.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.js +1 -0
- package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +125 -1
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +146 -16
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/models/Project.d.ts +3 -0
- package/dist/cli/backend/src/models/Project.d.ts.map +1 -1
- package/dist/cli/backend/src/models/Project.js +7 -0
- package/dist/cli/backend/src/models/Project.js.map +1 -1
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +66 -13
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js +161 -32
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/claim.service.d.ts +23 -3
- package/dist/cli/backend/src/services/task-pool/claim.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/claim.service.js +52 -11
- package/dist/cli/backend/src/services/task-pool/claim.service.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +42 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js +82 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/ticket-claim-policy.d.ts +19 -0
- package/dist/cli/backend/src/services/task-pool/ticket-claim-policy.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/ticket-claim-policy.js +33 -0
- package/dist/cli/backend/src/services/task-pool/ticket-claim-policy.js.map +1 -1
- package/dist/cli/backend/src/types/index.d.ts +6 -0
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/index.js.map +1 -1
- package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts +73 -0
- package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/ticket-autopilot.types.js +88 -0
- package/dist/cli/backend/src/types/ticket-autopilot.types.js.map +1 -0
- package/dist/cli/backend/src/types/v2/claim.types.d.ts +27 -0
- package/dist/cli/backend/src/types/v2/claim.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/claim.types.js +37 -0
- package/dist/cli/backend/src/types/v2/claim.types.js.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.js +1 -0
- package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
- package/frontend/dist/assets/index-0707e2ac.css +42 -0
- package/frontend/dist/assets/{index-f79676aa.js → index-64c8a616.js} +265 -265
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/frontend/dist/assets/index-edd6f262.css +0 -42
|
@@ -25,6 +25,37 @@ import type { RuntimeType } from '../../constants.js';
|
|
|
25
25
|
import type { EventBusService } from '../event-bus/event-bus.service.js';
|
|
26
26
|
import type { EnqueueMessageInput } from '../../types/messaging.types.js';
|
|
27
27
|
import type { ExpiryReport } from '../harness/harness-relogin.service.js';
|
|
28
|
+
/**
|
|
29
|
+
* The part of a captured screen where a sign-in prompt can be: the last
|
|
30
|
+
* `TAIL_LINES` non-empty lines, and among them the ones that are not the
|
|
31
|
+
* agent's own transcript. A transcript block opens with a marker
|
|
32
|
+
* (`⏺`, `⎿`, `•`, …) and runs over blank lines and indented continuation
|
|
33
|
+
* lines until a line that is neither — which is why the scan covers the
|
|
34
|
+
* whole screen, not just the tail.
|
|
35
|
+
*
|
|
36
|
+
* @param screen - ANSI-free screen text
|
|
37
|
+
* @returns `tail` (every tail line) and `signInLines` (tail minus transcript)
|
|
38
|
+
*/
|
|
39
|
+
export declare function loginScreenRegion(screen: string): {
|
|
40
|
+
tail: string[];
|
|
41
|
+
signInLines: string[];
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Owner-facing sign-in notice. Written for an owner who is on a phone, not
|
|
45
|
+
* at the machine: it names the agent, gives the login link and code when the
|
|
46
|
+
* screen showed them, and says what to reply to get the phone re-login.
|
|
47
|
+
*
|
|
48
|
+
* @param info - The pending login record
|
|
49
|
+
* @param agentName - Display name of the agent (falls back to the session name)
|
|
50
|
+
* @returns The notice text
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* formatLoginNotice({ sessionName: 's', runtimeType: 'claude-code', url: null, code: null, ... }, 'Atlas');
|
|
55
|
+
* // → 'Atlas needs you to sign in to Claude Code. Reply 「重新登录 claude」 (or "relogin claude") to Crewly and it will send you a sign-in link.'
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function formatLoginNotice(info: LoginRequiredInfo, agentName?: string | null): string;
|
|
28
59
|
/**
|
|
29
60
|
* URL capture mode — active after /login is sent, waiting for OAuth URL.
|
|
30
61
|
*/
|
|
@@ -122,6 +153,8 @@ export interface LoginNoticeSlackLike {
|
|
|
122
153
|
* `/login` or its own sign-in notice for that session.
|
|
123
154
|
*/
|
|
124
155
|
export type HarnessExpiryHandler = (report: ExpiryReport) => boolean;
|
|
156
|
+
/** Looks up an agent's display name by its session name (null when unknown). */
|
|
157
|
+
export type AgentNameResolver = (sessionName: string) => Promise<string | null> | string | null;
|
|
125
158
|
/**
|
|
126
159
|
* Minimal chat surface (terminal gateway + chat-v2) for surfacing the notice
|
|
127
160
|
* in the orchestrator conversation the owner is looking at.
|
|
@@ -169,6 +202,8 @@ export declare class OAuthReloginMonitorService {
|
|
|
169
202
|
private sweepTimer;
|
|
170
203
|
/** Slack re-login coordinator for expired harness logins (optional) */
|
|
171
204
|
private harnessExpiryHandler;
|
|
205
|
+
/** Session name → agent display name, for the owner-facing notice (optional) */
|
|
206
|
+
private agentNameResolver;
|
|
172
207
|
private constructor();
|
|
173
208
|
/**
|
|
174
209
|
* Provide the orchestrator message queue used to push the owner-facing
|
|
@@ -192,6 +227,22 @@ export declare class OAuthReloginMonitorService {
|
|
|
192
227
|
* @param provider - Returns the chat surface, or null when unavailable
|
|
193
228
|
*/
|
|
194
229
|
setChatProvider(provider: (() => LoginNoticeChatLike | null) | null): void;
|
|
230
|
+
/**
|
|
231
|
+
* Provide a session → display-name lookup so the sign-in notice names the
|
|
232
|
+
* agent ("Atlas") instead of its session id.
|
|
233
|
+
*
|
|
234
|
+
* @param resolver - Lookup, or null to fall back to the session name
|
|
235
|
+
*/
|
|
236
|
+
setAgentNameResolver(resolver: AgentNameResolver | null): void;
|
|
237
|
+
/**
|
|
238
|
+
* Display name for a session: the orchestrator's fixed name, else the
|
|
239
|
+
* resolver's answer, else null (the notice then uses the session name).
|
|
240
|
+
* Synchronous when there is nothing to look up.
|
|
241
|
+
*
|
|
242
|
+
* @param sessionName - PTY session name
|
|
243
|
+
* @returns Display name or null (or a promise of it when the resolver is async)
|
|
244
|
+
*/
|
|
245
|
+
private resolveAgentName;
|
|
195
246
|
/**
|
|
196
247
|
* Hand expired harness logins to a coordinator (Slack re-login) instead
|
|
197
248
|
* of sending `/login` into each agent and notifying per agent.
|
|
@@ -247,23 +298,32 @@ export declare class OAuthReloginMonitorService {
|
|
|
247
298
|
clearLoginRequired(sessionName: string): boolean;
|
|
248
299
|
/**
|
|
249
300
|
* Inspect screen text for a sign-in screen and extract the login URL and
|
|
250
|
-
* device code.
|
|
251
|
-
* `LOGIN_REQUIRED_PATTERN_SETS
|
|
252
|
-
*
|
|
253
|
-
*
|
|
301
|
+
* device code. Only the runtime's own sign-in patterns are tried
|
|
302
|
+
* (`LOGIN_REQUIRED_PATTERN_SETS`; every runtime's when it is unknown).
|
|
303
|
+
* Plain substring matching — no regex on untrusted length.
|
|
304
|
+
*
|
|
305
|
+
* `screen` scope (a captured live screen — this decides): only the last
|
|
306
|
+
* `LOGIN_SCREEN_REGION.TAIL_LINES` non-empty lines count, the agent's own
|
|
307
|
+
* transcript blocks among them are skipped, and a busy runtime or one at
|
|
308
|
+
* its chat prompt is never on a sign-in screen. `trigger` scope (the
|
|
309
|
+
* rolling PTY buffer, whose redraws have no reliable "bottom") matches the
|
|
310
|
+
* whole text and is only a cue to capture and inspect the live screen.
|
|
254
311
|
*
|
|
255
312
|
* @param screen - Captured terminal text (ANSI is stripped defensively)
|
|
313
|
+
* @param runtimeType - Session runtime, or null to try every runtime's patterns
|
|
314
|
+
* @param scope - `screen` (strict, default) or `trigger` (rolling buffer)
|
|
256
315
|
* @returns The extracted url/code, or null when no sign-in screen is showing
|
|
257
316
|
*
|
|
258
317
|
* @example
|
|
259
318
|
* ```typescript
|
|
260
319
|
* monitor.detectLoginRequired(
|
|
261
|
-
* 'Go to https://auth.openai.com/codex/device and enter code FBVZ-MJHKK'
|
|
320
|
+
* 'Go to https://auth.openai.com/codex/device and enter code FBVZ-MJHKK',
|
|
321
|
+
* 'codex-cli',
|
|
262
322
|
* );
|
|
263
323
|
* // → { url: 'https://auth.openai.com/codex/device', code: 'FBVZ-MJHKK' }
|
|
264
324
|
* ```
|
|
265
325
|
*/
|
|
266
|
-
detectLoginRequired(screen: string): LoginRequiredDetection | null;
|
|
326
|
+
detectLoginRequired(screen: string, runtimeType?: RuntimeType | null, scope?: 'screen' | 'trigger'): LoginRequiredDetection | null;
|
|
267
327
|
/**
|
|
268
328
|
* Check one session's current screen for a sign-in state, flag/notify on
|
|
269
329
|
* a new detection, and clear the flag once login is done.
|
|
@@ -287,13 +347,6 @@ export declare class OAuthReloginMonitorService {
|
|
|
287
347
|
* @param info - The pending login record
|
|
288
348
|
*/
|
|
289
349
|
private notifyLoginRequired;
|
|
290
|
-
/**
|
|
291
|
-
* Human-readable notice: "Agent X needs you to sign in: <url> code <XXXX-XXXXX>".
|
|
292
|
-
*
|
|
293
|
-
* @param info - The pending login record
|
|
294
|
-
* @returns The notice text
|
|
295
|
-
*/
|
|
296
|
-
private formatLoginNotice;
|
|
297
350
|
/**
|
|
298
351
|
* Find a device/authorization code such as `FBVZ-MJHKK`: an upper-case
|
|
299
352
|
* alphanumeric head of `DEVICE_CODE_HEAD_LEN` chars, a dash, and a tail of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-relogin-monitor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/oauth-relogin-monitor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"oauth-relogin-monitor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/oauth-relogin-monitor.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
25
25
|
import { LoggerService } from '../core/logger.service.js';
|
|
26
26
|
import { getSessionBackendSync, } from '../session/index.js';
|
|
27
27
|
import { stripAnsiCodes } from '../../utils/terminal-output.utils.js';
|
|
28
|
-
import { OAUTH_RELOGIN_CONSTANTS, OAUTH_ERROR_PATTERN_SETS, LOGIN_REQUIRED_PATTERN_SETS, LOGIN_COMPLETED_MARKERS, LOGIN_REQUIRED_CONSTANTS, ORCHESTRATOR_SESSION_NAME, RUNTIME_TYPES, } from '../../constants.js';
|
|
28
|
+
import { OAUTH_RELOGIN_CONSTANTS, OAUTH_ERROR_PATTERN_SETS, LOGIN_REQUIRED_PATTERN_SETS, LOGIN_SCREEN_REGION, LOGIN_COMPLETED_MARKERS, LOGIN_REQUIRED_CONSTANTS, ORCHESTRATOR_SESSION_NAME, RUNTIME_TYPES, } from '../../constants.js';
|
|
29
29
|
import { detectLoginExpiry } from '../harness/login-expiry-rules.js';
|
|
30
30
|
/**
|
|
31
31
|
* Runtimes Crewly must never type `/login` into. Antigravity CLI runs only on
|
|
@@ -33,6 +33,93 @@ import { detectLoginExpiry } from '../harness/login-expiry-rules.js';
|
|
|
33
33
|
* account (OAuth) login, and agy has no `/login` command anyway.
|
|
34
34
|
*/
|
|
35
35
|
const NO_RELOGIN_COMMAND_RUNTIMES = new Set([RUNTIME_TYPES.ANTIGRAVITY_CLI]);
|
|
36
|
+
/**
|
|
37
|
+
* Sign-in pattern sets for a runtime; every runtime's when it is unknown.
|
|
38
|
+
*
|
|
39
|
+
* @param runtimeType - Session runtime, or null
|
|
40
|
+
* @returns Pattern sets to try (AND within a set)
|
|
41
|
+
*/
|
|
42
|
+
function loginPatternSetsFor(runtimeType) {
|
|
43
|
+
if (runtimeType === null)
|
|
44
|
+
return Object.values(LOGIN_REQUIRED_PATTERN_SETS).flat();
|
|
45
|
+
return LOGIN_REQUIRED_PATTERN_SETS[runtimeType] ?? [];
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The part of a captured screen where a sign-in prompt can be: the last
|
|
49
|
+
* `TAIL_LINES` non-empty lines, and among them the ones that are not the
|
|
50
|
+
* agent's own transcript. A transcript block opens with a marker
|
|
51
|
+
* (`⏺`, `⎿`, `•`, …) and runs over blank lines and indented continuation
|
|
52
|
+
* lines until a line that is neither — which is why the scan covers the
|
|
53
|
+
* whole screen, not just the tail.
|
|
54
|
+
*
|
|
55
|
+
* @param screen - ANSI-free screen text
|
|
56
|
+
* @returns `tail` (every tail line) and `signInLines` (tail minus transcript)
|
|
57
|
+
*/
|
|
58
|
+
export function loginScreenRegion(screen) {
|
|
59
|
+
const { TAIL_LINES, TRANSCRIPT_MARKERS, TRANSCRIPT_INDENT } = LOGIN_SCREEN_REGION;
|
|
60
|
+
const indent = ' '.repeat(TRANSCRIPT_INDENT);
|
|
61
|
+
const lines = [];
|
|
62
|
+
let inBlock = false;
|
|
63
|
+
for (const text of screen.split(/\r?\n/)) {
|
|
64
|
+
const trimmed = text.trimStart();
|
|
65
|
+
if (trimmed.length === 0)
|
|
66
|
+
continue;
|
|
67
|
+
if (TRANSCRIPT_MARKERS.some((marker) => trimmed.startsWith(marker))) {
|
|
68
|
+
inBlock = true;
|
|
69
|
+
}
|
|
70
|
+
else if (!text.startsWith(indent)) {
|
|
71
|
+
inBlock = false;
|
|
72
|
+
}
|
|
73
|
+
lines.push({ text, transcript: inBlock });
|
|
74
|
+
}
|
|
75
|
+
const tail = lines.slice(-TAIL_LINES);
|
|
76
|
+
return {
|
|
77
|
+
tail: tail.map((line) => line.text),
|
|
78
|
+
signInLines: tail.filter((line) => !line.transcript).map((line) => line.text),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* What the owner replies (in their Slack DM with Crewly) to start the phone
|
|
83
|
+
* re-login for a runtime — the phrases `parseOwnerLoginRequest` accepts.
|
|
84
|
+
* Only harnesses with a broker login are listed.
|
|
85
|
+
*/
|
|
86
|
+
const PHONE_RELOGIN_REPLIES = {
|
|
87
|
+
[RUNTIME_TYPES.CLAUDE_CODE]: { label: 'Claude Code', zh: '重新登录 claude', en: 'relogin claude' },
|
|
88
|
+
[RUNTIME_TYPES.CODEX_CLI]: { label: 'Codex', zh: '重新登录 codex', en: 'relogin codex' },
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Owner-facing sign-in notice. Written for an owner who is on a phone, not
|
|
92
|
+
* at the machine: it names the agent, gives the login link and code when the
|
|
93
|
+
* screen showed them, and says what to reply to get the phone re-login.
|
|
94
|
+
*
|
|
95
|
+
* @param info - The pending login record
|
|
96
|
+
* @param agentName - Display name of the agent (falls back to the session name)
|
|
97
|
+
* @returns The notice text
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* formatLoginNotice({ sessionName: 's', runtimeType: 'claude-code', url: null, code: null, ... }, 'Atlas');
|
|
102
|
+
* // → 'Atlas needs you to sign in to Claude Code. Reply 「重新登录 claude」 (or "relogin claude") to Crewly and it will send you a sign-in link.'
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export function formatLoginNotice(info, agentName = null) {
|
|
106
|
+
const name = agentName?.trim() || info.sessionName;
|
|
107
|
+
const phone = info.runtimeType ? PHONE_RELOGIN_REPLIES[info.runtimeType] : undefined;
|
|
108
|
+
let text = `${name} needs you to sign in${phone ? ` to ${phone.label}` : ''}`;
|
|
109
|
+
if (info.url)
|
|
110
|
+
text += `: ${info.url}`;
|
|
111
|
+
if (info.code)
|
|
112
|
+
text += ` code ${info.code}`;
|
|
113
|
+
text += '.';
|
|
114
|
+
if (phone) {
|
|
115
|
+
const lead = info.url || info.code ? ' Or reply' : ' Reply';
|
|
116
|
+
text += `${lead} 「${phone.zh}」 (or "${phone.en}") to Crewly and it will send you a sign-in link.`;
|
|
117
|
+
}
|
|
118
|
+
else if (!info.url && !info.code) {
|
|
119
|
+
text += ' It is waiting on its sign-in screen on the machine it runs on.';
|
|
120
|
+
}
|
|
121
|
+
return text;
|
|
122
|
+
}
|
|
36
123
|
// =============================================================================
|
|
37
124
|
// Service
|
|
38
125
|
// =============================================================================
|
|
@@ -71,6 +158,8 @@ export class OAuthReloginMonitorService {
|
|
|
71
158
|
sweepTimer = null;
|
|
72
159
|
/** Slack re-login coordinator for expired harness logins (optional) */
|
|
73
160
|
harnessExpiryHandler = null;
|
|
161
|
+
/** Session name → agent display name, for the owner-facing notice (optional) */
|
|
162
|
+
agentNameResolver = null;
|
|
74
163
|
constructor() {
|
|
75
164
|
this.logger = LoggerService.getInstance().createComponentLogger('OAuthReloginMonitor');
|
|
76
165
|
}
|
|
@@ -102,6 +191,36 @@ export class OAuthReloginMonitorService {
|
|
|
102
191
|
setChatProvider(provider) {
|
|
103
192
|
this.chatProvider = provider;
|
|
104
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* Provide a session → display-name lookup so the sign-in notice names the
|
|
196
|
+
* agent ("Atlas") instead of its session id.
|
|
197
|
+
*
|
|
198
|
+
* @param resolver - Lookup, or null to fall back to the session name
|
|
199
|
+
*/
|
|
200
|
+
setAgentNameResolver(resolver) {
|
|
201
|
+
this.agentNameResolver = resolver;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Display name for a session: the orchestrator's fixed name, else the
|
|
205
|
+
* resolver's answer, else null (the notice then uses the session name).
|
|
206
|
+
* Synchronous when there is nothing to look up.
|
|
207
|
+
*
|
|
208
|
+
* @param sessionName - PTY session name
|
|
209
|
+
* @returns Display name or null (or a promise of it when the resolver is async)
|
|
210
|
+
*/
|
|
211
|
+
resolveAgentName(sessionName) {
|
|
212
|
+
if (sessionName === ORCHESTRATOR_SESSION_NAME)
|
|
213
|
+
return 'Orchestrator';
|
|
214
|
+
if (!this.agentNameResolver)
|
|
215
|
+
return null;
|
|
216
|
+
try {
|
|
217
|
+
const name = this.agentNameResolver(sessionName);
|
|
218
|
+
return name instanceof Promise ? name.catch(() => null) : name;
|
|
219
|
+
}
|
|
220
|
+
catch {
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
105
224
|
/**
|
|
106
225
|
* Hand expired harness logins to a coordinator (Slack re-login) instead
|
|
107
226
|
* of sending `/login` into each agent and notifying per agent.
|
|
@@ -204,28 +323,46 @@ export class OAuthReloginMonitorService {
|
|
|
204
323
|
}
|
|
205
324
|
/**
|
|
206
325
|
* Inspect screen text for a sign-in screen and extract the login URL and
|
|
207
|
-
* device code.
|
|
208
|
-
* `LOGIN_REQUIRED_PATTERN_SETS
|
|
209
|
-
*
|
|
210
|
-
*
|
|
326
|
+
* device code. Only the runtime's own sign-in patterns are tried
|
|
327
|
+
* (`LOGIN_REQUIRED_PATTERN_SETS`; every runtime's when it is unknown).
|
|
328
|
+
* Plain substring matching — no regex on untrusted length.
|
|
329
|
+
*
|
|
330
|
+
* `screen` scope (a captured live screen — this decides): only the last
|
|
331
|
+
* `LOGIN_SCREEN_REGION.TAIL_LINES` non-empty lines count, the agent's own
|
|
332
|
+
* transcript blocks among them are skipped, and a busy runtime or one at
|
|
333
|
+
* its chat prompt is never on a sign-in screen. `trigger` scope (the
|
|
334
|
+
* rolling PTY buffer, whose redraws have no reliable "bottom") matches the
|
|
335
|
+
* whole text and is only a cue to capture and inspect the live screen.
|
|
211
336
|
*
|
|
212
337
|
* @param screen - Captured terminal text (ANSI is stripped defensively)
|
|
338
|
+
* @param runtimeType - Session runtime, or null to try every runtime's patterns
|
|
339
|
+
* @param scope - `screen` (strict, default) or `trigger` (rolling buffer)
|
|
213
340
|
* @returns The extracted url/code, or null when no sign-in screen is showing
|
|
214
341
|
*
|
|
215
342
|
* @example
|
|
216
343
|
* ```typescript
|
|
217
344
|
* monitor.detectLoginRequired(
|
|
218
|
-
* 'Go to https://auth.openai.com/codex/device and enter code FBVZ-MJHKK'
|
|
345
|
+
* 'Go to https://auth.openai.com/codex/device and enter code FBVZ-MJHKK',
|
|
346
|
+
* 'codex-cli',
|
|
219
347
|
* );
|
|
220
348
|
* // → { url: 'https://auth.openai.com/codex/device', code: 'FBVZ-MJHKK' }
|
|
221
349
|
* ```
|
|
222
350
|
*/
|
|
223
|
-
detectLoginRequired(screen) {
|
|
351
|
+
detectLoginRequired(screen, runtimeType = null, scope = 'screen') {
|
|
224
352
|
if (!screen || typeof screen !== 'string')
|
|
225
353
|
return null;
|
|
226
354
|
const clean = stripAnsiCodes(screen);
|
|
227
355
|
const lower = clean.toLowerCase();
|
|
228
|
-
|
|
356
|
+
let region = clean;
|
|
357
|
+
if (scope === 'screen') {
|
|
358
|
+
const { tail, signInLines } = loginScreenRegion(clean);
|
|
359
|
+
const tailLower = tail.join('\n').toLowerCase();
|
|
360
|
+
if (LOGIN_SCREEN_REGION.NOT_SIGN_IN_MARKERS.some((marker) => tailLower.includes(marker)))
|
|
361
|
+
return null;
|
|
362
|
+
region = signInLines.join('\n');
|
|
363
|
+
}
|
|
364
|
+
const regionLower = region.toLowerCase();
|
|
365
|
+
const matched = loginPatternSetsFor(runtimeType).some((patternSet) => patternSet.every((pattern) => regionLower.includes(pattern.toLowerCase())));
|
|
229
366
|
if (!matched)
|
|
230
367
|
return null;
|
|
231
368
|
// Login just finished (e.g. codex's "Signed in with your ChatGPT
|
|
@@ -233,8 +370,8 @@ export class OAuthReloginMonitorService {
|
|
|
233
370
|
if (LOGIN_COMPLETED_MARKERS.some((marker) => lower.includes(marker)))
|
|
234
371
|
return null;
|
|
235
372
|
return {
|
|
236
|
-
url: this.extractHttpsUrl(
|
|
237
|
-
code: this.extractDeviceCode(
|
|
373
|
+
url: this.extractHttpsUrl(region, false),
|
|
374
|
+
code: this.extractDeviceCode(region),
|
|
238
375
|
};
|
|
239
376
|
}
|
|
240
377
|
/**
|
|
@@ -250,7 +387,10 @@ export class OAuthReloginMonitorService {
|
|
|
250
387
|
// An expired login the Slack re-login coordinator owns: it DMs the
|
|
251
388
|
// owner once per harness, so this session gets no notice of its own.
|
|
252
389
|
const handledByRelogin = this.reportHarnessExpiry(sessionName, screen, knownRuntime, 'screen');
|
|
253
|
-
|
|
390
|
+
// An expiry the coordinator took ("⎿ Login expired · Please run /login")
|
|
391
|
+
// is in the transcript, which the sign-in-screen check skips, but the
|
|
392
|
+
// agent still needs a sign-in — keep the flag for the dashboard.
|
|
393
|
+
const detection = this.detectLoginRequired(screen, knownRuntime) ?? (handledByRelogin ? { url: null, code: null } : null);
|
|
254
394
|
const existing = this.loginRequired.get(sessionName);
|
|
255
395
|
if (!detection) {
|
|
256
396
|
if (existing) {
|
|
@@ -336,8 +476,11 @@ export class OAuthReloginMonitorService {
|
|
|
336
476
|
* @param info - The pending login record
|
|
337
477
|
*/
|
|
338
478
|
async notifyLoginRequired(info) {
|
|
339
|
-
|
|
479
|
+
// Mark notified before the name lookup so a sweep during it does not notify twice.
|
|
340
480
|
info.notifiedAt = new Date().toISOString();
|
|
481
|
+
const pendingName = this.resolveAgentName(info.sessionName);
|
|
482
|
+
const agentName = pendingName instanceof Promise ? await pendingName : pendingName;
|
|
483
|
+
const message = formatLoginNotice(info, agentName);
|
|
341
484
|
this.logger.warn(`[LOGIN REQUIRED] ${message}`, { sessionName: info.sessionName });
|
|
342
485
|
// 1. Event bus
|
|
343
486
|
if (this.eventBusService) {
|
|
@@ -432,22 +575,6 @@ export class OAuthReloginMonitorService {
|
|
|
432
575
|
}
|
|
433
576
|
}
|
|
434
577
|
}
|
|
435
|
-
/**
|
|
436
|
-
* Human-readable notice: "Agent X needs you to sign in: <url> code <XXXX-XXXXX>".
|
|
437
|
-
*
|
|
438
|
-
* @param info - The pending login record
|
|
439
|
-
* @returns The notice text
|
|
440
|
-
*/
|
|
441
|
-
formatLoginNotice(info) {
|
|
442
|
-
const parts = [`Agent ${info.sessionName} needs you to sign in`];
|
|
443
|
-
if (info.url)
|
|
444
|
-
parts.push(`: ${info.url}`);
|
|
445
|
-
if (info.code)
|
|
446
|
-
parts.push(` code ${info.code}`);
|
|
447
|
-
if (!info.url && !info.code)
|
|
448
|
-
parts.push(' (open its terminal to complete login)');
|
|
449
|
-
return parts.join('');
|
|
450
|
-
}
|
|
451
578
|
/**
|
|
452
579
|
* Find a device/authorization code such as `FBVZ-MJHKK`: an upper-case
|
|
453
580
|
* alphanumeric head of `DEVICE_CODE_HEAD_LEN` chars, a dash, and a tail of
|
|
@@ -707,10 +834,12 @@ export class OAuthReloginMonitorService {
|
|
|
707
834
|
// are NOT subject to the startup grace period — a fresh install shows
|
|
708
835
|
// the login screen within seconds of spawn, which is exactly when the
|
|
709
836
|
// expiry patterns below would still be muted.
|
|
710
|
-
if (this.detectLoginRequired(state.buffer)) {
|
|
711
|
-
// The buffer is only the trigger —
|
|
712
|
-
//
|
|
713
|
-
//
|
|
837
|
+
if (this.detectLoginRequired(state.buffer, state.runtimeType, 'trigger')) {
|
|
838
|
+
// The buffer is only the trigger — the live screen decides, with the
|
|
839
|
+
// strict screen rule (bottom of the screen, no transcript, not busy),
|
|
840
|
+
// so an agent quoting sign-in text in its reply is not a sign-in
|
|
841
|
+
// screen. It also reads URL and code together and clears the flag
|
|
842
|
+
// once login is done (stale login text lingers in the buffer).
|
|
714
843
|
let screen = '';
|
|
715
844
|
try {
|
|
716
845
|
screen = getSessionBackendSync()?.captureOutput(sessionName, LOGIN_REQUIRED_CONSTANTS.SWEEP_CAPTURE_LINES) ?? '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-relogin-monitor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/oauth-relogin-monitor.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oauth-relogin-monitor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/oauth-relogin-monitor.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Agents claim WorkItems from the Task Pool via this service. Each claim has:
|
|
5
5
|
* - Lease (default 10min): agent must complete or extend before expiry
|
|
6
|
-
* - Heartbeat (2min interval): agent signals liveness
|
|
6
|
+
* - Heartbeat (2min interval): agent signals liveness and renews the lease
|
|
7
7
|
* - Grace period (3min): buffer after lease expiry before forced revocation
|
|
8
|
+
* - Renewal: the Reconciler renews the lease of a holder it sees working
|
|
9
|
+
* (recent PTY/API activity), so a claim is revoked only when its holder has
|
|
10
|
+
* gone quiet — not simply 13 minutes after it was taken
|
|
8
11
|
* - Max extensions (3): how many times a lease can be renewed
|
|
9
12
|
*
|
|
10
13
|
* The Reconciler uses this service to detect expired/grace-exceeded claims.
|
|
@@ -105,14 +108,31 @@ export declare class ClaimService {
|
|
|
105
108
|
/**
|
|
106
109
|
* Processes a heartbeat from an agent for a specific claim.
|
|
107
110
|
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
111
|
+
* Renews the lease from now (see {@link renewClaimLease}) and updates
|
|
112
|
+
* lastHeartbeatAt. The heartbeat is only accepted if the claim is active or
|
|
113
|
+
* expiring and belongs to the requesting agent.
|
|
114
|
+
*
|
|
115
|
+
* Before 2026-09-29 a heartbeat only stamped lastHeartbeatAt: the Reconciler
|
|
116
|
+
* measures expiry and grace from `leaseExpiresAt`, so a heartbeating agent
|
|
117
|
+
* was still revoked 13 minutes after it claimed (WI f34f09b0, CE-19).
|
|
110
118
|
*
|
|
111
119
|
* @param claimId - The claim ID
|
|
112
120
|
* @param agentId - The agent sending the heartbeat (must match claim owner)
|
|
113
121
|
* @returns HeartbeatResult indicating success or failure
|
|
114
122
|
*/
|
|
115
123
|
heartbeat(claimId: string, agentId: string): Promise<HeartbeatResult>;
|
|
124
|
+
/**
|
|
125
|
+
* Renews an active or expiring claim's lease because its holder was seen
|
|
126
|
+
* working (system-side heartbeat). Used by the Reconciler instead of
|
|
127
|
+
* revoking a claim whose agent is visibly busy — agents do not run the
|
|
128
|
+
* heartbeat skill, so without this every claim was revoked 13 minutes after
|
|
129
|
+
* it was taken, however hard its holder was working on it.
|
|
130
|
+
*
|
|
131
|
+
* @param claimId - The claim ID
|
|
132
|
+
* @param now - Current time in ms (default: Date.now())
|
|
133
|
+
* @returns The renewed claim, or undefined when it is missing or already ended
|
|
134
|
+
*/
|
|
135
|
+
renewLease(claimId: string, now?: number): Promise<TaskClaim | undefined>;
|
|
116
136
|
/**
|
|
117
137
|
* Extends the lease on a claim, giving the agent more time.
|
|
118
138
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claim.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/task-pool/claim.service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"claim.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/task-pool/claim.service.ts"],"names":[],"mappings":"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"}
|