@cluesmith/codev 3.3.4 → 3.3.6
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/dashboard-dist/assets/index-BjcqV9Vv.css +32 -0
- package/dashboard-dist/assets/index-b7GnZV2i.js +220 -0
- package/dashboard-dist/assets/index-b7GnZV2i.js.map +1 -0
- package/dashboard-dist/index.html +2 -2
- package/dist/agent-farm/cli.d.ts.map +1 -1
- package/dist/agent-farm/cli.js +50 -17
- package/dist/agent-farm/cli.js.map +1 -1
- package/dist/agent-farm/commands/architect.d.ts.map +1 -1
- package/dist/agent-farm/commands/architect.js +5 -1
- package/dist/agent-farm/commands/architect.js.map +1 -1
- package/dist/agent-farm/commands/attach.d.ts +1 -1
- package/dist/agent-farm/commands/attach.d.ts.map +1 -1
- package/dist/agent-farm/commands/cleanup.d.ts +1 -1
- package/dist/agent-farm/commands/cleanup.d.ts.map +1 -1
- package/dist/agent-farm/commands/cleanup.js +2 -1
- package/dist/agent-farm/commands/cleanup.js.map +1 -1
- package/dist/agent-farm/commands/decisions.d.ts +25 -0
- package/dist/agent-farm/commands/decisions.d.ts.map +1 -0
- package/dist/agent-farm/commands/decisions.js +54 -0
- package/dist/agent-farm/commands/decisions.js.map +1 -0
- package/dist/agent-farm/commands/ide.d.ts +32 -3
- package/dist/agent-farm/commands/ide.d.ts.map +1 -1
- package/dist/agent-farm/commands/ide.js +180 -19
- package/dist/agent-farm/commands/ide.js.map +1 -1
- package/dist/agent-farm/commands/reset/context.d.ts +4 -2
- package/dist/agent-farm/commands/reset/context.d.ts.map +1 -1
- package/dist/agent-farm/commands/reset/context.js +12 -4
- package/dist/agent-farm/commands/reset/context.js.map +1 -1
- package/dist/agent-farm/commands/send.d.ts +3 -2
- package/dist/agent-farm/commands/send.d.ts.map +1 -1
- package/dist/agent-farm/commands/send.js +35 -21
- package/dist/agent-farm/commands/send.js.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.d.ts +7 -0
- package/dist/agent-farm/commands/spawn-worktree.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn-worktree.js +63 -20
- package/dist/agent-farm/commands/spawn-worktree.js.map +1 -1
- package/dist/agent-farm/commands/spawn.d.ts +17 -0
- package/dist/agent-farm/commands/spawn.d.ts.map +1 -1
- package/dist/agent-farm/commands/spawn.js +41 -19
- package/dist/agent-farm/commands/spawn.js.map +1 -1
- package/dist/agent-farm/lib/builder-lookup.d.ts +3 -2
- package/dist/agent-farm/lib/builder-lookup.d.ts.map +1 -1
- package/dist/agent-farm/lib/builder-lookup.js +24 -9
- package/dist/agent-farm/lib/builder-lookup.js.map +1 -1
- package/dist/agent-farm/lib/ide-extensions.d.ts +82 -0
- package/dist/agent-farm/lib/ide-extensions.d.ts.map +1 -0
- package/dist/agent-farm/lib/ide-extensions.js +179 -0
- package/dist/agent-farm/lib/ide-extensions.js.map +1 -0
- package/dist/agent-farm/lib/ide-record.d.ts +6 -1
- package/dist/agent-farm/lib/ide-record.d.ts.map +1 -1
- package/dist/agent-farm/lib/ide-record.js +8 -1
- package/dist/agent-farm/lib/ide-record.js.map +1 -1
- package/dist/agent-farm/lib/ide-version.d.ts +97 -0
- package/dist/agent-farm/lib/ide-version.d.ts.map +1 -0
- package/dist/agent-farm/lib/ide-version.js +224 -0
- package/dist/agent-farm/lib/ide-version.js.map +1 -0
- package/dist/agent-farm/lib/tunnel-client.d.ts.map +1 -1
- package/dist/agent-farm/lib/tunnel-client.js +7 -3
- package/dist/agent-farm/lib/tunnel-client.js.map +1 -1
- package/dist/agent-farm/servers/agent-state/broadcast.d.ts +19 -0
- package/dist/agent-farm/servers/agent-state/broadcast.d.ts.map +1 -0
- package/dist/agent-farm/servers/agent-state/broadcast.js +30 -0
- package/dist/agent-farm/servers/agent-state/broadcast.js.map +1 -0
- package/dist/agent-farm/servers/agent-state/identity.d.ts +50 -0
- package/dist/agent-farm/servers/agent-state/identity.d.ts.map +1 -0
- package/dist/agent-farm/servers/agent-state/identity.js +120 -0
- package/dist/agent-farm/servers/agent-state/identity.js.map +1 -0
- package/dist/agent-farm/servers/agent-state/liveness.d.ts +107 -0
- package/dist/agent-farm/servers/agent-state/liveness.d.ts.map +1 -0
- package/dist/agent-farm/servers/agent-state/liveness.js +224 -0
- package/dist/agent-farm/servers/agent-state/liveness.js.map +1 -0
- package/dist/agent-farm/servers/agent-state/route.d.ts +38 -0
- package/dist/agent-farm/servers/agent-state/route.d.ts.map +1 -0
- package/dist/agent-farm/servers/agent-state/route.js +170 -0
- package/dist/agent-farm/servers/agent-state/route.js.map +1 -0
- package/dist/agent-farm/servers/agent-state/serve.d.ts +31 -0
- package/dist/agent-farm/servers/agent-state/serve.d.ts.map +1 -0
- package/dist/agent-farm/servers/agent-state/serve.js +49 -0
- package/dist/agent-farm/servers/agent-state/serve.js.map +1 -0
- package/dist/agent-farm/servers/agent-state/store.d.ts +76 -0
- package/dist/agent-farm/servers/agent-state/store.d.ts.map +1 -0
- package/dist/agent-farm/servers/agent-state/store.js +157 -0
- package/dist/agent-farm/servers/agent-state/store.js.map +1 -0
- package/dist/agent-farm/servers/decisions/file.d.ts +50 -0
- package/dist/agent-farm/servers/decisions/file.d.ts.map +1 -0
- package/dist/agent-farm/servers/decisions/file.js +146 -0
- package/dist/agent-farm/servers/decisions/file.js.map +1 -0
- package/dist/agent-farm/servers/decisions/grammar.d.ts +36 -0
- package/dist/agent-farm/servers/decisions/grammar.d.ts.map +1 -0
- package/dist/agent-farm/servers/decisions/grammar.js +109 -0
- package/dist/agent-farm/servers/decisions/grammar.js.map +1 -0
- package/dist/agent-farm/servers/decisions/notice.d.ts +11 -0
- package/dist/agent-farm/servers/decisions/notice.d.ts.map +1 -0
- package/dist/agent-farm/servers/decisions/notice.js +18 -0
- package/dist/agent-farm/servers/decisions/notice.js.map +1 -0
- package/dist/agent-farm/servers/decisions/parse.d.ts +36 -0
- package/dist/agent-farm/servers/decisions/parse.d.ts.map +1 -0
- package/dist/agent-farm/servers/decisions/parse.js +338 -0
- package/dist/agent-farm/servers/decisions/parse.js.map +1 -0
- package/dist/agent-farm/servers/decisions/routes.d.ts +17 -0
- package/dist/agent-farm/servers/decisions/routes.d.ts.map +1 -0
- package/dist/agent-farm/servers/decisions/routes.js +160 -0
- package/dist/agent-farm/servers/decisions/routes.js.map +1 -0
- package/dist/agent-farm/servers/decisions/splice.d.ts +26 -0
- package/dist/agent-farm/servers/decisions/splice.d.ts.map +1 -0
- package/dist/agent-farm/servers/decisions/splice.js +120 -0
- package/dist/agent-farm/servers/decisions/splice.js.map +1 -0
- package/dist/agent-farm/servers/decisions/stamp.d.ts +8 -0
- package/dist/agent-farm/servers/decisions/stamp.d.ts.map +1 -0
- package/dist/agent-farm/servers/decisions/stamp.js +195 -0
- package/dist/agent-farm/servers/decisions/stamp.js.map +1 -0
- package/dist/agent-farm/servers/decisions/template.d.ts +2 -0
- package/dist/agent-farm/servers/decisions/template.d.ts.map +1 -0
- package/dist/agent-farm/servers/decisions/template.js +15 -0
- package/dist/agent-farm/servers/decisions/template.js.map +1 -0
- package/dist/agent-farm/servers/ide-server.d.ts +28 -8
- package/dist/agent-farm/servers/ide-server.d.ts.map +1 -1
- package/dist/agent-farm/servers/ide-server.js +147 -50
- package/dist/agent-farm/servers/ide-server.js.map +1 -1
- package/dist/agent-farm/servers/overview.d.ts +31 -4
- package/dist/agent-farm/servers/overview.d.ts.map +1 -1
- package/dist/agent-farm/servers/overview.js +235 -55
- package/dist/agent-farm/servers/overview.js.map +1 -1
- package/dist/agent-farm/servers/tower-instances.d.ts +14 -1
- package/dist/agent-farm/servers/tower-instances.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-instances.js +51 -9
- package/dist/agent-farm/servers/tower-instances.js.map +1 -1
- package/dist/agent-farm/servers/tower-routes.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-routes.js +113 -14
- package/dist/agent-farm/servers/tower-routes.js.map +1 -1
- package/dist/agent-farm/servers/tower-server.js +35 -1
- package/dist/agent-farm/servers/tower-server.js.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.d.ts +25 -0
- package/dist/agent-farm/servers/tower-terminals.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-terminals.js +128 -4
- package/dist/agent-farm/servers/tower-terminals.js.map +1 -1
- package/dist/agent-farm/servers/tower-utils.d.ts.map +1 -1
- package/dist/agent-farm/servers/tower-utils.js +18 -5
- package/dist/agent-farm/servers/tower-utils.js.map +1 -1
- package/dist/agent-farm/utils/builder-worktree-identity.d.ts +39 -0
- package/dist/agent-farm/utils/builder-worktree-identity.d.ts.map +1 -0
- package/dist/agent-farm/utils/builder-worktree-identity.js +42 -0
- package/dist/agent-farm/utils/builder-worktree-identity.js.map +1 -0
- package/dist/agent-farm/utils/harness.d.ts +71 -0
- package/dist/agent-farm/utils/harness.d.ts.map +1 -1
- package/dist/agent-farm/utils/harness.js +153 -0
- package/dist/agent-farm/utils/harness.js.map +1 -1
- package/dist/agent-farm/utils/lifecycle-reporter.d.ts +79 -0
- package/dist/agent-farm/utils/lifecycle-reporter.d.ts.map +1 -0
- package/dist/agent-farm/utils/lifecycle-reporter.js +347 -0
- package/dist/agent-farm/utils/lifecycle-reporter.js.map +1 -0
- package/dist/agent-farm/utils/message-format.d.ts +8 -0
- package/dist/agent-farm/utils/message-format.d.ts.map +1 -1
- package/dist/agent-farm/utils/message-format.js +16 -0
- package/dist/agent-farm/utils/message-format.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +17 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/adopt.d.ts +16 -2
- package/dist/commands/adopt.d.ts.map +1 -1
- package/dist/commands/adopt.js +67 -23
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/bootstrap-docs.d.ts +132 -0
- package/dist/commands/bootstrap-docs.d.ts.map +1 -0
- package/dist/commands/bootstrap-docs.js +725 -0
- package/dist/commands/bootstrap-docs.js.map +1 -0
- package/dist/commands/consult/index.d.ts +20 -1
- package/dist/commands/consult/index.d.ts.map +1 -1
- package/dist/commands/consult/index.js +70 -3
- package/dist/commands/consult/index.js.map +1 -1
- package/dist/commands/consult/tree-tripwire.d.ts +2 -75
- package/dist/commands/consult/tree-tripwire.d.ts.map +1 -1
- package/dist/commands/consult/tree-tripwire.js +7 -184
- package/dist/commands/consult/tree-tripwire.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +36 -4
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/porch/checks.d.ts +7 -1
- package/dist/commands/porch/checks.d.ts.map +1 -1
- package/dist/commands/porch/checks.js +77 -14
- package/dist/commands/porch/checks.js.map +1 -1
- package/dist/commands/porch/index.d.ts +38 -1
- package/dist/commands/porch/index.d.ts.map +1 -1
- package/dist/commands/porch/index.js +79 -43
- package/dist/commands/porch/index.js.map +1 -1
- package/dist/commands/porch/protocol.d.ts +4 -3
- package/dist/commands/porch/protocol.d.ts.map +1 -1
- package/dist/commands/porch/protocol.js +32 -5
- package/dist/commands/porch/protocol.js.map +1 -1
- package/dist/commands/porch/state.d.ts +0 -4
- package/dist/commands/porch/state.d.ts.map +1 -1
- package/dist/commands/porch/state.js +23 -10
- package/dist/commands/porch/state.js.map +1 -1
- package/dist/commands/porch/types.d.ts +2 -0
- package/dist/commands/porch/types.d.ts.map +1 -1
- package/dist/commands/update.d.ts +5 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +73 -18
- package/dist/commands/update.js.map +1 -1
- package/dist/lib/agent-env.d.ts +31 -1
- package/dist/lib/agent-env.d.ts.map +1 -1
- package/dist/lib/agent-env.js +38 -1
- package/dist/lib/agent-env.js.map +1 -1
- package/dist/lib/agent-process.d.ts +23 -0
- package/dist/lib/agent-process.d.ts.map +1 -0
- package/dist/lib/agent-process.js +24 -0
- package/dist/lib/agent-process.js.map +1 -0
- package/dist/lib/config.d.ts +8 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/forge-contracts.d.ts +9 -3
- package/dist/lib/forge-contracts.d.ts.map +1 -1
- package/dist/lib/forge-contracts.js.map +1 -1
- package/dist/lib/forge.d.ts +8 -5
- package/dist/lib/forge.d.ts.map +1 -1
- package/dist/lib/forge.js +57 -1
- package/dist/lib/forge.js.map +1 -1
- package/dist/lib/github.d.ts.map +1 -1
- package/dist/lib/github.js +38 -0
- package/dist/lib/github.js.map +1 -1
- package/dist/lib/governance-bootstrap.d.ts +155 -0
- package/dist/lib/governance-bootstrap.d.ts.map +1 -0
- package/dist/lib/governance-bootstrap.js +469 -0
- package/dist/lib/governance-bootstrap.js.map +1 -0
- package/dist/lib/issue-id.d.ts +34 -0
- package/dist/lib/issue-id.d.ts.map +1 -0
- package/dist/lib/issue-id.js +61 -0
- package/dist/lib/issue-id.js.map +1 -0
- package/dist/lib/scaffold.d.ts +4 -0
- package/dist/lib/scaffold.d.ts.map +1 -1
- package/dist/lib/scaffold.js +29 -5
- package/dist/lib/scaffold.js.map +1 -1
- package/dist/lib/shipped-skill-hashes.d.ts +10 -0
- package/dist/lib/shipped-skill-hashes.d.ts.map +1 -0
- package/dist/lib/shipped-skill-hashes.js +197 -0
- package/dist/lib/shipped-skill-hashes.js.map +1 -0
- package/dist/lib/skill-refresh.d.ts +90 -0
- package/dist/lib/skill-refresh.d.ts.map +1 -0
- package/dist/lib/skill-refresh.js +267 -0
- package/dist/lib/skill-refresh.js.map +1 -0
- package/dist/lib/tree-snapshot.d.ts +172 -0
- package/dist/lib/tree-snapshot.d.ts.map +1 -0
- package/dist/lib/tree-snapshot.js +393 -0
- package/dist/lib/tree-snapshot.js.map +1 -0
- package/dist/terminal/pty-session.d.ts +5 -0
- package/dist/terminal/pty-session.d.ts.map +1 -1
- package/dist/terminal/pty-session.js +7 -0
- package/dist/terminal/pty-session.js.map +1 -1
- package/ide-extension/codev-vscode.vsix +0 -0
- package/ide-extension/manifest.json +7 -0
- package/package.json +8 -6
- package/scripts/forge/jira/_lib.sh +113 -0
- package/scripts/forge/jira/auth-status.sh +29 -0
- package/scripts/forge/jira/issue-comment.sh +23 -0
- package/scripts/forge/jira/issue-list.sh +32 -0
- package/scripts/forge/jira/issue-search.sh +40 -0
- package/scripts/forge/jira/issue-view.sh +41 -0
- package/scripts/forge/jira/recently-closed.sh +81 -0
- package/scripts/forge/jira/user-identity.sh +18 -0
- package/skeleton/.claude/skills/afx/SKILL.md +51 -0
- package/skeleton/.claude/skills/arch-init/SKILL.md +56 -9
- package/skeleton/.claude/skills/arch-save/SKILL.md +100 -9
- package/skeleton/.claude/skills/codev/SKILL.md +18 -2
- package/skeleton/.claude/skills/consult/SKILL.md +9 -0
- package/skeleton/.claude/skills/porch/SKILL.md +18 -0
- package/skeleton/.claude/skills/update-arch-docs/SKILL.md +28 -2
- package/skeleton/.codex/skills/afx/SKILL.md +51 -0
- package/skeleton/.codex/skills/arch-init/SKILL.md +56 -9
- package/skeleton/.codex/skills/arch-save/SKILL.md +100 -9
- package/skeleton/.codex/skills/codev/SKILL.md +18 -2
- package/skeleton/.codex/skills/consult/SKILL.md +9 -0
- package/skeleton/.codex/skills/porch/SKILL.md +18 -0
- package/skeleton/.codex/skills/update-arch-docs/SKILL.md +28 -2
- package/skeleton/protocol-schema.json +6 -0
- package/skeleton/protocols/maintain/protocol.md +5 -0
- package/skeleton/protocols/pir/prompts/review.md +0 -1
- package/skeleton/protocols/protocol-schema.json +6 -0
- package/skeleton/resources/commands/agent-farm.md +156 -0
- package/skeleton/resources/commands/codev.md +47 -0
- package/skeleton/resources/commands/consult.md +9 -2
- package/skeleton/resources/commands/overview.md +1 -0
- package/skeleton/resources/decision-protocol.md +215 -0
- package/skeleton/resources/workflow-reference.md +12 -0
- package/skeleton/roles/architect.md +6 -0
- package/skeleton/templates/bootstrap-docs-prompt.md +16 -0
- package/skeleton/templates/bootstrap-docs-review-prompt.md +19 -0
- package/skeleton/templates/cheatsheet.md +2 -1
- package/dashboard-dist/assets/index-DZf6pNPE.js +0 -199
- package/dashboard-dist/assets/index-DZf6pNPE.js.map +0 -1
- package/dashboard-dist/assets/index-DnYLy5C_.css +0 -32
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IDE server version handshake and subprocess environment (Spec 1789).
|
|
3
|
+
*
|
|
4
|
+
* Tower refuses to spawn a Codev IDE server older than the floor declared
|
|
5
|
+
* here. The check runs `<server> --version` and reads line 1 only: the VS Code
|
|
6
|
+
* base version (line 2 is the commit, line 3 the arch). The npm package
|
|
7
|
+
* version, which may carry a suffix, is never read.
|
|
8
|
+
*
|
|
9
|
+
* This module is also the single source for the bounds of every server
|
|
10
|
+
* subprocess wait (version check, extension install, readiness, stop), so the
|
|
11
|
+
* CLI's request budget is derived from them and cannot silently desync.
|
|
12
|
+
* `ide-server.ts` imports this module, never the reverse.
|
|
13
|
+
*/
|
|
14
|
+
/** Log sink shared by the IDE lifecycle modules; Tower passes its own logger. */
|
|
15
|
+
export type LogFn = (level: 'INFO' | 'ERROR' | 'WARN', message: string) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Oldest server base version Tower supports. A unit test ties it to the
|
|
18
|
+
* embedded sidebar's `engines.vscode` minimum, so the sidebar is never paired
|
|
19
|
+
* with a server too old to activate it.
|
|
20
|
+
*/
|
|
21
|
+
export declare const IDE_SERVER_MIN_VERSION = "1.128.0";
|
|
22
|
+
/** Upgrade command named in every refusal. */
|
|
23
|
+
export declare const IDE_SERVER_UPGRADE_COMMAND = "npm i -g @cluesmith/codev-ide";
|
|
24
|
+
/** Bound on `<server> --version`. */
|
|
25
|
+
export declare const IDE_VERSION_TIMEOUT_MS = 10000;
|
|
26
|
+
/** Bound on `<server> --install-extension` (a cold install takes ~2 s; this is for a wedged server). */
|
|
27
|
+
export declare const IDE_INSTALL_TIMEOUT_MS = 60000;
|
|
28
|
+
/** Bound on waiting for a spawned server to listen on its port. */
|
|
29
|
+
export declare const IDE_READY_TIMEOUT_MS = 15000;
|
|
30
|
+
/** Bound on waiting for a stopped server to exit before escalating to SIGKILL. */
|
|
31
|
+
export declare const IDE_STOP_EXIT_TIMEOUT_MS = 5000;
|
|
32
|
+
/**
|
|
33
|
+
* Longest a client should wait for an IDE start or stop: one full start
|
|
34
|
+
* (version check, install, stopping a server on another port, readiness)
|
|
35
|
+
* doubled for one queued operation's worth of lock wait, plus margin.
|
|
36
|
+
*/
|
|
37
|
+
export declare const IDE_START_BUDGET_MS: number;
|
|
38
|
+
/**
|
|
39
|
+
* Parse the base version from `--version` output: line 1 only, trimmed, strict
|
|
40
|
+
* `major.minor.patch` (no leading zeroes). Anything else on line 1, including a
|
|
41
|
+
* prerelease suffix, is unparseable and yields null.
|
|
42
|
+
*/
|
|
43
|
+
export declare function parseIdeServerVersion(stdout: string): string | null;
|
|
44
|
+
/**
|
|
45
|
+
* Numeric compare of two strict `major.minor.patch` versions: negative, zero or
|
|
46
|
+
* positive. Throws on any other input rather than returning NaN, which would
|
|
47
|
+
* read as "not below the floor".
|
|
48
|
+
*/
|
|
49
|
+
export declare function compareVersions(a: string, b: string): number;
|
|
50
|
+
/**
|
|
51
|
+
* Environment for every IDE server subprocess: the sanitized agent env with
|
|
52
|
+
* the directory of the Node running Tower first on `PATH` (moved there if it
|
|
53
|
+
* already appears later). The npm
|
|
54
|
+
* `codev-ide-server` launcher is a `#!/usr/bin/env node` script, and Tower
|
|
55
|
+
* may run under a daemon whose `PATH` lacks a Node.
|
|
56
|
+
*/
|
|
57
|
+
export declare function buildIdeServerEnv(baseEnv?: NodeJS.ProcessEnv | Record<string, string>): Record<string, string>;
|
|
58
|
+
/** Thrown when the server's version is below the floor or cannot be determined. */
|
|
59
|
+
export declare class IdeServerVersionError extends Error {
|
|
60
|
+
constructor(detail: string);
|
|
61
|
+
}
|
|
62
|
+
export interface CheckIdeServerVersionOptions {
|
|
63
|
+
timeoutMs?: number;
|
|
64
|
+
env?: Record<string, string>;
|
|
65
|
+
}
|
|
66
|
+
/** Captured output of a server CLI command that exited zero. */
|
|
67
|
+
export interface IdeServerCommandRun {
|
|
68
|
+
stdout: string;
|
|
69
|
+
stderr: string;
|
|
70
|
+
}
|
|
71
|
+
/** Thrown by `runIdeServerCommand` when the command times out or fails. */
|
|
72
|
+
export declare class IdeServerCommandError extends Error {
|
|
73
|
+
readonly kind: 'timeout' | 'error';
|
|
74
|
+
readonly stderr: string;
|
|
75
|
+
constructor(kind: 'timeout' | 'error', message: string, stderr: string);
|
|
76
|
+
}
|
|
77
|
+
export interface RunIdeServerCommandOptions {
|
|
78
|
+
timeoutMs: number;
|
|
79
|
+
env: Record<string, string>;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Run one server CLI command under a hard bound. `execFile`'s own `timeout` is
|
|
83
|
+
* not used: it sends SIGTERM, which a wedged server may ignore, and its
|
|
84
|
+
* callback waits for stdio to close, which a surviving grandchild can hold
|
|
85
|
+
* open. Instead the command runs as its own process group, and a timer
|
|
86
|
+
* SIGKILLs the whole group, releases the pipes and rejects immediately.
|
|
87
|
+
*/
|
|
88
|
+
export declare function runIdeServerCommand(serverPath: string, args: string[], opts: RunIdeServerCommandOptions): Promise<IdeServerCommandRun>;
|
|
89
|
+
/**
|
|
90
|
+
* Run `<serverPath> --version` and check it against the floor. Resolves with
|
|
91
|
+
* the parsed base version, or throws an `IdeServerVersionError` naming the
|
|
92
|
+
* installed version (or the failure), the floor and the upgrade command.
|
|
93
|
+
*/
|
|
94
|
+
export declare function checkIdeServerVersion(serverPath: string, opts?: CheckIdeServerVersionOptions): Promise<{
|
|
95
|
+
version: string;
|
|
96
|
+
}>;
|
|
97
|
+
//# sourceMappingURL=ide-version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ide-version.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/lib/ide-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,iFAAiF;AACjF,MAAM,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAEhD,8CAA8C;AAC9C,eAAO,MAAM,0BAA0B,kCAAkC,CAAC;AAE1E,qCAAqC;AACrC,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C,wGAAwG;AACxG,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAC7C,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAC3C,kFAAkF;AAClF,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAI9C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,QAEJ,CAAC;AAI7B;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAInE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAa5D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM3H;AAED,mFAAmF;AACnF,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,MAAM,EAAE,MAAM;CAO3B;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2EAA2E;AAC3E,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAElC,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAFd,IAAI,EAAE,SAAS,GAAG,OAAO,EAClC,OAAO,EAAE,MAAM,EACN,MAAM,EAAE,MAAM;CAK1B;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAwBD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CAqD9B;AAgBD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,4BAAiC,GACtC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAuB9B"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IDE server version handshake and subprocess environment (Spec 1789).
|
|
3
|
+
*
|
|
4
|
+
* Tower refuses to spawn a Codev IDE server older than the floor declared
|
|
5
|
+
* here. The check runs `<server> --version` and reads line 1 only: the VS Code
|
|
6
|
+
* base version (line 2 is the commit, line 3 the arch). The npm package
|
|
7
|
+
* version, which may carry a suffix, is never read.
|
|
8
|
+
*
|
|
9
|
+
* This module is also the single source for the bounds of every server
|
|
10
|
+
* subprocess wait (version check, extension install, readiness, stop), so the
|
|
11
|
+
* CLI's request budget is derived from them and cannot silently desync.
|
|
12
|
+
* `ide-server.ts` imports this module, never the reverse.
|
|
13
|
+
*/
|
|
14
|
+
import { spawn } from 'node:child_process';
|
|
15
|
+
import { delimiter, dirname } from 'node:path';
|
|
16
|
+
import { sanitizeAgentEnv } from '../../lib/agent-env.js';
|
|
17
|
+
/**
|
|
18
|
+
* Oldest server base version Tower supports. A unit test ties it to the
|
|
19
|
+
* embedded sidebar's `engines.vscode` minimum, so the sidebar is never paired
|
|
20
|
+
* with a server too old to activate it.
|
|
21
|
+
*/
|
|
22
|
+
export const IDE_SERVER_MIN_VERSION = '1.128.0';
|
|
23
|
+
/** Upgrade command named in every refusal. */
|
|
24
|
+
export const IDE_SERVER_UPGRADE_COMMAND = 'npm i -g @cluesmith/codev-ide';
|
|
25
|
+
/** Bound on `<server> --version`. */
|
|
26
|
+
export const IDE_VERSION_TIMEOUT_MS = 10_000;
|
|
27
|
+
/** Bound on `<server> --install-extension` (a cold install takes ~2 s; this is for a wedged server). */
|
|
28
|
+
export const IDE_INSTALL_TIMEOUT_MS = 60_000;
|
|
29
|
+
/** Bound on waiting for a spawned server to listen on its port. */
|
|
30
|
+
export const IDE_READY_TIMEOUT_MS = 15_000;
|
|
31
|
+
/** Bound on waiting for a stopped server to exit before escalating to SIGKILL. */
|
|
32
|
+
export const IDE_STOP_EXIT_TIMEOUT_MS = 5_000;
|
|
33
|
+
/** Fixed slack on top of the start budget for request and lock overhead. */
|
|
34
|
+
const IDE_START_BUDGET_MARGIN_MS = 10_000;
|
|
35
|
+
/**
|
|
36
|
+
* Longest a client should wait for an IDE start or stop: one full start
|
|
37
|
+
* (version check, install, stopping a server on another port, readiness)
|
|
38
|
+
* doubled for one queued operation's worth of lock wait, plus margin.
|
|
39
|
+
*/
|
|
40
|
+
export const IDE_START_BUDGET_MS = (IDE_VERSION_TIMEOUT_MS + IDE_INSTALL_TIMEOUT_MS + IDE_STOP_EXIT_TIMEOUT_MS + IDE_READY_TIMEOUT_MS) * 2 +
|
|
41
|
+
IDE_START_BUDGET_MARGIN_MS;
|
|
42
|
+
const STRICT_VERSION = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;
|
|
43
|
+
/**
|
|
44
|
+
* Parse the base version from `--version` output: line 1 only, trimmed, strict
|
|
45
|
+
* `major.minor.patch` (no leading zeroes). Anything else on line 1, including a
|
|
46
|
+
* prerelease suffix, is unparseable and yields null.
|
|
47
|
+
*/
|
|
48
|
+
export function parseIdeServerVersion(stdout) {
|
|
49
|
+
const firstLine = stdout.split(/\r?\n/, 1)[0].trim();
|
|
50
|
+
if (!STRICT_VERSION.test(firstLine))
|
|
51
|
+
return null;
|
|
52
|
+
return firstLine;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Numeric compare of two strict `major.minor.patch` versions: negative, zero or
|
|
56
|
+
* positive. Throws on any other input rather than returning NaN, which would
|
|
57
|
+
* read as "not below the floor".
|
|
58
|
+
*/
|
|
59
|
+
export function compareVersions(a, b) {
|
|
60
|
+
for (const version of [a, b]) {
|
|
61
|
+
if (!STRICT_VERSION.test(version)) {
|
|
62
|
+
throw new Error(`compareVersions: ${JSON.stringify(version)} is not a strict major.minor.patch version`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const pa = a.split('.').map(Number);
|
|
66
|
+
const pb = b.split('.').map(Number);
|
|
67
|
+
for (let i = 0; i < 3; i++) {
|
|
68
|
+
const diff = pa[i] - pb[i];
|
|
69
|
+
if (diff !== 0)
|
|
70
|
+
return diff;
|
|
71
|
+
}
|
|
72
|
+
return 0;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Environment for every IDE server subprocess: the sanitized agent env with
|
|
76
|
+
* the directory of the Node running Tower first on `PATH` (moved there if it
|
|
77
|
+
* already appears later). The npm
|
|
78
|
+
* `codev-ide-server` launcher is a `#!/usr/bin/env node` script, and Tower
|
|
79
|
+
* may run under a daemon whose `PATH` lacks a Node.
|
|
80
|
+
*/
|
|
81
|
+
export function buildIdeServerEnv(baseEnv = process.env) {
|
|
82
|
+
const env = sanitizeAgentEnv(baseEnv);
|
|
83
|
+
const nodeDir = dirname(process.execPath);
|
|
84
|
+
const rest = (env.PATH ?? '').split(delimiter).filter((entry) => entry !== '' && entry !== nodeDir);
|
|
85
|
+
env.PATH = [nodeDir, ...rest].join(delimiter);
|
|
86
|
+
return env;
|
|
87
|
+
}
|
|
88
|
+
/** Thrown when the server's version is below the floor or cannot be determined. */
|
|
89
|
+
export class IdeServerVersionError extends Error {
|
|
90
|
+
constructor(detail) {
|
|
91
|
+
super(`${detail}. Codev requires Codev IDE server ${IDE_SERVER_MIN_VERSION} or newer; ` +
|
|
92
|
+
`upgrade with: ${IDE_SERVER_UPGRADE_COMMAND}`);
|
|
93
|
+
this.name = 'IdeServerVersionError';
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/** Thrown by `runIdeServerCommand` when the command times out or fails. */
|
|
97
|
+
export class IdeServerCommandError extends Error {
|
|
98
|
+
kind;
|
|
99
|
+
stderr;
|
|
100
|
+
constructor(kind, message, stderr) {
|
|
101
|
+
super(message);
|
|
102
|
+
this.kind = kind;
|
|
103
|
+
this.stderr = stderr;
|
|
104
|
+
this.name = 'IdeServerCommandError';
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** Longest stderr kept from a failed command; a wedged server can print without end. */
|
|
108
|
+
const MAX_CAPTURED_STDERR = 4_000;
|
|
109
|
+
/**
|
|
110
|
+
* Longest stdout kept. Callers read only its head (`--version` line 1), and a
|
|
111
|
+
* faulty server CLI flooding stdout for the whole timeout must not grow Tower's memory.
|
|
112
|
+
*/
|
|
113
|
+
const MAX_CAPTURED_STDOUT = 64_000;
|
|
114
|
+
/** SIGKILL the child's whole process group, falling back to the child alone. */
|
|
115
|
+
function killProcessGroup(pid, kill) {
|
|
116
|
+
if (pid !== undefined) {
|
|
117
|
+
try {
|
|
118
|
+
process.kill(-pid, 'SIGKILL');
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// Group already gone or not a group leader: fall through.
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
kill();
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Run one server CLI command under a hard bound. `execFile`'s own `timeout` is
|
|
129
|
+
* not used: it sends SIGTERM, which a wedged server may ignore, and its
|
|
130
|
+
* callback waits for stdio to close, which a surviving grandchild can hold
|
|
131
|
+
* open. Instead the command runs as its own process group, and a timer
|
|
132
|
+
* SIGKILLs the whole group, releases the pipes and rejects immediately.
|
|
133
|
+
*/
|
|
134
|
+
export function runIdeServerCommand(serverPath, args, opts) {
|
|
135
|
+
return new Promise((resolve, reject) => {
|
|
136
|
+
let settled = false;
|
|
137
|
+
let stdout = '';
|
|
138
|
+
let stderr = '';
|
|
139
|
+
const child = spawn(serverPath, args, { env: opts.env, detached: true, stdio: ['ignore', 'pipe', 'pipe'] });
|
|
140
|
+
function settle(outcome) {
|
|
141
|
+
if (settled)
|
|
142
|
+
return;
|
|
143
|
+
settled = true;
|
|
144
|
+
clearTimeout(timer);
|
|
145
|
+
outcome();
|
|
146
|
+
}
|
|
147
|
+
child.stdout.setEncoding('utf8');
|
|
148
|
+
child.stderr.setEncoding('utf8');
|
|
149
|
+
child.stdout.on('data', (chunk) => {
|
|
150
|
+
if (stdout.length < MAX_CAPTURED_STDOUT) {
|
|
151
|
+
stdout = (stdout + chunk).slice(0, MAX_CAPTURED_STDOUT);
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
child.stderr.on('data', (chunk) => {
|
|
155
|
+
if (stderr.length < MAX_CAPTURED_STDERR) {
|
|
156
|
+
stderr = (stderr + chunk).slice(0, MAX_CAPTURED_STDERR);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
child.on('error', (error) => {
|
|
160
|
+
settle(() => reject(new IdeServerCommandError('error', error.message.split('\n', 1)[0], stderr.trim())));
|
|
161
|
+
});
|
|
162
|
+
child.on('close', (code, signal) => {
|
|
163
|
+
settle(() => {
|
|
164
|
+
if (code === 0) {
|
|
165
|
+
resolve({ stdout, stderr });
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
let reason = `exit code ${code}`;
|
|
169
|
+
if (code === null) {
|
|
170
|
+
reason = `killed by ${signal}`;
|
|
171
|
+
}
|
|
172
|
+
reject(new IdeServerCommandError('error', reason, stderr.trim()));
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
const timer = setTimeout(() => {
|
|
176
|
+
settle(() => {
|
|
177
|
+
killProcessGroup(child.pid, () => child.kill('SIGKILL'));
|
|
178
|
+
child.stdout.destroy();
|
|
179
|
+
child.stderr.destroy();
|
|
180
|
+
reject(new IdeServerCommandError('timeout', `timed out after ${opts.timeoutMs / 1000}s`, stderr.trim()));
|
|
181
|
+
});
|
|
182
|
+
}, opts.timeoutMs);
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
/** Longest line 1 quoted back in an unparseable-version refusal. */
|
|
186
|
+
const MAX_QUOTED_VERSION_LINE = 200;
|
|
187
|
+
function describeVersionFailure(serverPath, failure, timeoutMs) {
|
|
188
|
+
if (failure.kind === 'timeout') {
|
|
189
|
+
return `IDE server at ${serverPath} did not answer --version within ${timeoutMs / 1000}s`;
|
|
190
|
+
}
|
|
191
|
+
let detail = `IDE server at ${serverPath} failed to run --version (${failure.message})`;
|
|
192
|
+
if (failure.stderr !== '') {
|
|
193
|
+
detail = `${detail}: ${failure.stderr}`;
|
|
194
|
+
}
|
|
195
|
+
return detail;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Run `<serverPath> --version` and check it against the floor. Resolves with
|
|
199
|
+
* the parsed base version, or throws an `IdeServerVersionError` naming the
|
|
200
|
+
* installed version (or the failure), the floor and the upgrade command.
|
|
201
|
+
*/
|
|
202
|
+
export async function checkIdeServerVersion(serverPath, opts = {}) {
|
|
203
|
+
const timeoutMs = opts.timeoutMs ?? IDE_VERSION_TIMEOUT_MS;
|
|
204
|
+
const env = opts.env ?? buildIdeServerEnv();
|
|
205
|
+
let run;
|
|
206
|
+
try {
|
|
207
|
+
run = await runIdeServerCommand(serverPath, ['--version'], { timeoutMs, env });
|
|
208
|
+
}
|
|
209
|
+
catch (failure) {
|
|
210
|
+
if (!(failure instanceof IdeServerCommandError))
|
|
211
|
+
throw failure;
|
|
212
|
+
throw new IdeServerVersionError(describeVersionFailure(serverPath, failure, timeoutMs));
|
|
213
|
+
}
|
|
214
|
+
const version = parseIdeServerVersion(run.stdout);
|
|
215
|
+
if (version === null) {
|
|
216
|
+
const firstLine = run.stdout.split(/\r?\n/, 1)[0].trim().slice(0, MAX_QUOTED_VERSION_LINE);
|
|
217
|
+
throw new IdeServerVersionError(`IDE server at ${serverPath} printed an unrecognized version (${JSON.stringify(firstLine)})`);
|
|
218
|
+
}
|
|
219
|
+
if (compareVersions(version, IDE_SERVER_MIN_VERSION) < 0) {
|
|
220
|
+
throw new IdeServerVersionError(`IDE server at ${serverPath} is version ${version}, below the supported floor`);
|
|
221
|
+
}
|
|
222
|
+
return { version };
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=ide-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ide-version.js","sourceRoot":"","sources":["../../../src/agent-farm/lib/ide-version.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-client.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/lib/tunnel-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAaH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,aAAa,CAAC;AAEtF,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,SAAS,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD;AAED,KAAK,mBAAmB,GAAG,CACzB,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,WAAW,EAC1B,MAAM,CAAC,EAAE,MAAM,KACZ,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"tunnel-client.d.ts","sourceRoot":"","sources":["../../../src/agent-farm/lib/tunnel-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,8 +32,8 @@ const HOP_BY_HOP_HEADERS = new Set([
|
|
|
32
32
|
/** Paths that are local-only management endpoints — block from tunnel */
|
|
33
33
|
const BLOCKED_PATH_PREFIX = '/api/tunnel/';
|
|
34
34
|
/**
|
|
35
|
-
* Matches an `api/tunnel
|
|
36
|
-
* normalized path, not just at the root (#1370, #1668).
|
|
35
|
+
* Matches an `api/tunnel/`, `api/ide` or `api/agent-lifecycle` management
|
|
36
|
+
* segment anywhere in a normalized path, not just at the root (#1370, #1668).
|
|
37
37
|
*
|
|
38
38
|
* A root-anchored prefix check misses the workspace-scoped form the dashboard
|
|
39
39
|
* actually uses — `/workspace/<base64url>/api/tunnel/disconnect` — which
|
|
@@ -46,8 +46,12 @@ const BLOCKED_PATH_PREFIX = '/api/tunnel/';
|
|
|
46
46
|
* matched with a `(\/|$)` boundary (`/api/ide` and `/api/ide/…`, but not
|
|
47
47
|
* `/api/ideas`). The `/ide/` *forward* prefix carries no `api/` segment and is
|
|
48
48
|
* deliberately NOT blocked — it must reach Tower through the tunnel.
|
|
49
|
+
*
|
|
50
|
+
* `api/agent-lifecycle` (Spec 1595) is the lifecycle-reporter ingestion route.
|
|
51
|
+
* Its only legitimate caller is the reporter hook, which always posts to
|
|
52
|
+
* 127.0.0.1, so a tunnel-proxied call could only spoof an agent's state.
|
|
49
53
|
*/
|
|
50
|
-
const BLOCKED_PATH_SEGMENT = /(^|\/)api\/(tunnel\/|ide(\/|$))/;
|
|
54
|
+
const BLOCKED_PATH_SEGMENT = /(^|\/)api\/(tunnel\/|ide(\/|$)|agent-lifecycle(\/|$))/;
|
|
51
55
|
/**
|
|
52
56
|
* Header stamped on every request this client proxies in from the cloud (#1370).
|
|
53
57
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-client.js","sourceRoot":"","sources":["../../../src/agent-farm/lib/tunnel-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tunnel-client.js","sourceRoot":"","sources":["../../../src/agent-farm/lib/tunnel-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coalesce agent-state changes into `overview-changed` notifications (Spec 1595).
|
|
3
|
+
*
|
|
4
|
+
* The store raises a change on nearly every report (each one moves the served
|
|
5
|
+
* `activityAt`), which is one per tool call per agent. Each `overview-changed`
|
|
6
|
+
* makes every connected surface refetch and rebuild the overview, so changes are
|
|
7
|
+
* collapsed per workspace into one notification at the trailing edge of a short
|
|
8
|
+
* window, well inside the 5-second visibility budget (SC1).
|
|
9
|
+
*/
|
|
10
|
+
import type { AgentStateChange } from './store.js';
|
|
11
|
+
/** The coalescing window, in milliseconds. */
|
|
12
|
+
export declare const AGENT_STATE_BROADCAST_DELAY_MS = 500;
|
|
13
|
+
/**
|
|
14
|
+
* A change listener that calls `notify(workspacePath)` once per workspace,
|
|
15
|
+
* `delayMs` after the first change in a burst. Changes arriving inside the
|
|
16
|
+
* window ride the pending notification.
|
|
17
|
+
*/
|
|
18
|
+
export declare function coalesceAgentStateChanges(notify: (workspacePath: string) => void, delayMs?: number): (change: AgentStateChange) => void;
|
|
19
|
+
//# sourceMappingURL=broadcast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../../../src/agent-farm/servers/agent-state/broadcast.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,8CAA8C;AAC9C,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,EACvC,OAAO,GAAE,MAAuC,GAC/C,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAWpC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coalesce agent-state changes into `overview-changed` notifications (Spec 1595).
|
|
3
|
+
*
|
|
4
|
+
* The store raises a change on nearly every report (each one moves the served
|
|
5
|
+
* `activityAt`), which is one per tool call per agent. Each `overview-changed`
|
|
6
|
+
* makes every connected surface refetch and rebuild the overview, so changes are
|
|
7
|
+
* collapsed per workspace into one notification at the trailing edge of a short
|
|
8
|
+
* window, well inside the 5-second visibility budget (SC1).
|
|
9
|
+
*/
|
|
10
|
+
/** The coalescing window, in milliseconds. */
|
|
11
|
+
export const AGENT_STATE_BROADCAST_DELAY_MS = 500;
|
|
12
|
+
/**
|
|
13
|
+
* A change listener that calls `notify(workspacePath)` once per workspace,
|
|
14
|
+
* `delayMs` after the first change in a burst. Changes arriving inside the
|
|
15
|
+
* window ride the pending notification.
|
|
16
|
+
*/
|
|
17
|
+
export function coalesceAgentStateChanges(notify, delayMs = AGENT_STATE_BROADCAST_DELAY_MS) {
|
|
18
|
+
const pending = new Set();
|
|
19
|
+
return (change) => {
|
|
20
|
+
if (pending.has(change.workspacePath))
|
|
21
|
+
return;
|
|
22
|
+
pending.add(change.workspacePath);
|
|
23
|
+
const timer = setTimeout(() => {
|
|
24
|
+
pending.delete(change.workspacePath);
|
|
25
|
+
notify(change.workspacePath);
|
|
26
|
+
}, delayMs);
|
|
27
|
+
timer.unref();
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=broadcast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../../../src/agent-farm/servers/agent-state/broadcast.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,8CAA8C;AAC9C,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAuC,EACvC,UAAkB,8BAA8B;IAEhD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,OAAO,CAAC,MAAwB,EAAE,EAAE;QAClC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;YAAE,OAAO;QAC9C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a lifecycle report's launch identity to the agent Tower knows
|
|
3
|
+
* (Spec 1595, Constraint 15).
|
|
4
|
+
*
|
|
5
|
+
* The reporter names its agent with the identity codev injected at launch: a
|
|
6
|
+
* builder by its worktree path, an architect by name plus workspace path. Tower
|
|
7
|
+
* normalizes every path before the registry lookup, so a differently spelled path
|
|
8
|
+
* to the same agent (a symlink, a trailing slash, a relative segment; #1809)
|
|
9
|
+
* resolves to the same row, and the id it returns is always its own canonical one,
|
|
10
|
+
* never the raw reported identity:
|
|
11
|
+
*
|
|
12
|
+
* - a builder: the shared worktree row matcher (`afx send`'s lookup), then the
|
|
13
|
+
* lowercased role id the overview derives for that row (`builderRoleId`);
|
|
14
|
+
* - an architect: its row in the workspace's registered architects.
|
|
15
|
+
*
|
|
16
|
+
* It never throws. An unknown agent, an unreadable registry, or a path outside
|
|
17
|
+
* any builder worktree all resolve to `null`, which the route rejects.
|
|
18
|
+
*
|
|
19
|
+
* Ingestion fires per tool call, so lookups use Tower's own `global.db` handle
|
|
20
|
+
* behind a memo of successful resolutions. A memoized resolution is reused only
|
|
21
|
+
* while the registry is unchanged: any write to `global.db`, by Tower or by
|
|
22
|
+
* another process such as `afx spawn` or `afx cleanup`, moves SQLite's
|
|
23
|
+
* `data_version` or this connection's `total_changes()` and forces a fresh
|
|
24
|
+
* lookup, and `IDENTITY_MEMO_TTL_MS` bounds reuse regardless. Misses are never
|
|
25
|
+
* memoized, so a newly spawned agent resolves on its first report.
|
|
26
|
+
*/
|
|
27
|
+
import type Database from 'better-sqlite3';
|
|
28
|
+
import type { AgentLaunchIdentity } from '@cluesmith/codev-types';
|
|
29
|
+
/** The longest a successful resolution is reused, even with the registry unchanged. */
|
|
30
|
+
export declare const IDENTITY_MEMO_TTL_MS = 5000;
|
|
31
|
+
/** A resolved agent: the store key. */
|
|
32
|
+
export interface ResolvedAgent {
|
|
33
|
+
/** The agent's workspace, normalized. */
|
|
34
|
+
workspacePath: string;
|
|
35
|
+
/** Tower's canonical id: a builder's lowercased role id, or an architect's name. */
|
|
36
|
+
agentId: string;
|
|
37
|
+
}
|
|
38
|
+
export interface ResolveAgentIdentityOptions {
|
|
39
|
+
/** The registry handle. Defaults to Tower's `getGlobalDb()`. */
|
|
40
|
+
db?: () => Database.Database;
|
|
41
|
+
now?: () => number;
|
|
42
|
+
}
|
|
43
|
+
/** Drop every memoized resolution. */
|
|
44
|
+
export declare function invalidateAgentIdentityMemo(): void;
|
|
45
|
+
/**
|
|
46
|
+
* The agent a launch identity names, or `null` when Tower does not know it.
|
|
47
|
+
* Never throws.
|
|
48
|
+
*/
|
|
49
|
+
export declare function resolveAgentIdentity(identity: AgentLaunchIdentity, options?: ResolveAgentIdentityOptions): ResolvedAgent | null;
|
|
50
|
+
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../../src/agent-farm/servers/agent-state/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAUlE,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAE1C,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,gEAAgE;IAChE,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAID,sCAAsC;AACtC,wBAAgB,2BAA2B,IAAI,IAAI,CAElD;AA8CD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,GAAE,2BAAgC,GACxC,aAAa,GAAG,IAAI,CA+BtB"}
|