crewly 1.20.142 → 1.20.143
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/runtime_scripts/runtime-config.json +7 -0
- package/config/skills/orchestrator/update-team-member/SKILL.md +2 -2
- package/dist/backend/backend/src/constants.d.ts +151 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +173 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js +4 -3
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/project/project.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/project/project.controller.js +13 -0
- package/dist/backend/backend/src/controllers/project/project.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/request-types.d.ts +2 -2
- package/dist/backend/backend/src/controllers/request-types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +22 -1
- 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 +128 -14
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/antigravity-runtime.service.d.ts +267 -0
- package/dist/backend/backend/src/services/agent/antigravity-runtime.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/antigravity-runtime.service.js +521 -0
- package/dist/backend/backend/src/services/agent/antigravity-runtime.service.js.map +1 -0
- 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 +10 -0
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +12 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +3 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-service.factory.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-service.factory.js +9 -0
- package/dist/backend/backend/src/services/agent/runtime-service.factory.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-session-recovery.d.ts +57 -1
- package/dist/backend/backend/src/services/agent/runtime-session-recovery.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-session-recovery.js +176 -2
- package/dist/backend/backend/src/services/agent/runtime-session-recovery.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-startup-blocked.error.d.ts +15 -3
- package/dist/backend/backend/src/services/agent/runtime-startup-blocked.error.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-startup-blocked.error.js +2 -1
- package/dist/backend/backend/src/services/agent/runtime-startup-blocked.error.js.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-api-key.service.d.ts +26 -0
- package/dist/backend/backend/src/services/harness/harness-api-key.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-api-key.service.js +65 -5
- package/dist/backend/backend/src/services/harness/harness-api-key.service.js.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts +37 -6
- package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-credentials.store.js +57 -9
- package/dist/backend/backend/src/services/harness/harness-credentials.store.js.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-install.service.d.ts +60 -7
- package/dist/backend/backend/src/services/harness/harness-install.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-install.service.js +154 -37
- package/dist/backend/backend/src/services/harness/harness-install.service.js.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-registry.d.ts +46 -5
- package/dist/backend/backend/src/services/harness/harness-registry.d.ts.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-registry.js +53 -8
- package/dist/backend/backend/src/services/harness/harness-registry.js.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-status.service.d.ts +15 -1
- package/dist/backend/backend/src/services/harness/harness-status.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-status.service.js +34 -6
- package/dist/backend/backend/src/services/harness/harness-status.service.js.map +1 -1
- package/dist/backend/backend/src/services/harness/harness.types.d.ts +10 -3
- package/dist/backend/backend/src/services/harness/harness.types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/harness/harness.types.js +4 -3
- package/dist/backend/backend/src/services/harness/harness.types.js.map +1 -1
- package/dist/backend/backend/src/services/mcp-tool-definitions.d.ts +1 -1
- package/dist/backend/backend/src/services/mcp-tool-definitions.js +1 -1
- package/dist/backend/backend/src/services/mcp-tool-definitions.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js +3 -2
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-adapter.d.ts +10 -1
- package/dist/backend/backend/src/services/runtime-adapter.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-adapter.js +12 -1
- package/dist/backend/backend/src/services/runtime-adapter.js.map +1 -1
- package/dist/backend/backend/src/services/settings/settings.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/settings/settings.service.js +1 -0
- package/dist/backend/backend/src/services/settings/settings.service.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +1 -1
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.js +7 -1
- package/dist/backend/backend/src/types/settings.types.js.map +1 -1
- package/dist/backend/backend/src/types/solution-bundle.types.d.ts +1 -1
- package/dist/backend/backend/src/types/solution-bundle.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/team-template.types.d.ts +2 -2
- package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/team-template.types.js +1 -1
- package/dist/backend/backend/src/types/team-template.types.js.map +1 -1
- package/dist/backend/backend/src/utils/antigravity-settings.utils.d.ts +115 -0
- package/dist/backend/backend/src/utils/antigravity-settings.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/utils/antigravity-settings.utils.js +181 -0
- package/dist/backend/backend/src/utils/antigravity-settings.utils.js.map +1 -0
- package/dist/backend/backend/src/utils/runtime-model-flags.utils.d.ts +3 -2
- package/dist/backend/backend/src/utils/runtime-model-flags.utils.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/runtime-model-flags.utils.js +13 -3
- package/dist/backend/backend/src/utils/runtime-model-flags.utils.js.map +1 -1
- package/dist/backend/backend/src/utils/terminal-string-ops.d.ts +1 -0
- package/dist/backend/backend/src/utils/terminal-string-ops.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/terminal-string-ops.js +29 -1
- package/dist/backend/backend/src/utils/terminal-string-ops.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +151 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +173 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +22 -1
- 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 +128 -14
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/antigravity-runtime.service.d.ts +267 -0
- package/dist/cli/backend/src/services/agent/antigravity-runtime.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/antigravity-runtime.service.js +521 -0
- package/dist/cli/backend/src/services/agent/antigravity-runtime.service.js.map +1 -0
- 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 +10 -0
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js +12 -1
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js +3 -1
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-service.factory.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-service.factory.js +9 -0
- package/dist/cli/backend/src/services/agent/runtime-service.factory.js.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-session-recovery.d.ts +57 -1
- package/dist/cli/backend/src/services/agent/runtime-session-recovery.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-session-recovery.js +176 -2
- package/dist/cli/backend/src/services/agent/runtime-session-recovery.js.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-startup-blocked.error.d.ts +15 -3
- package/dist/cli/backend/src/services/agent/runtime-startup-blocked.error.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-startup-blocked.error.js +2 -1
- package/dist/cli/backend/src/services/agent/runtime-startup-blocked.error.js.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-api-key.service.d.ts +26 -0
- package/dist/cli/backend/src/services/harness/harness-api-key.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-api-key.service.js +65 -5
- package/dist/cli/backend/src/services/harness/harness-api-key.service.js.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts +37 -6
- package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-credentials.store.js +57 -9
- package/dist/cli/backend/src/services/harness/harness-credentials.store.js.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-install.service.d.ts +60 -7
- package/dist/cli/backend/src/services/harness/harness-install.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-install.service.js +154 -37
- package/dist/cli/backend/src/services/harness/harness-install.service.js.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-registry.d.ts +46 -5
- package/dist/cli/backend/src/services/harness/harness-registry.d.ts.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-registry.js +53 -8
- package/dist/cli/backend/src/services/harness/harness-registry.js.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-status.service.d.ts +15 -1
- package/dist/cli/backend/src/services/harness/harness-status.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-status.service.js +34 -6
- package/dist/cli/backend/src/services/harness/harness-status.service.js.map +1 -1
- package/dist/cli/backend/src/services/harness/harness.types.d.ts +10 -3
- package/dist/cli/backend/src/services/harness/harness.types.d.ts.map +1 -1
- package/dist/cli/backend/src/services/harness/harness.types.js +4 -3
- package/dist/cli/backend/src/services/harness/harness.types.js.map +1 -1
- package/dist/cli/backend/src/services/mcp-tool-definitions.d.ts +1 -1
- package/dist/cli/backend/src/services/mcp-tool-definitions.js +1 -1
- package/dist/cli/backend/src/services/mcp-tool-definitions.js.map +1 -1
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.js +3 -2
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -1
- package/dist/cli/backend/src/services/settings/settings.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/settings/settings.service.js +1 -0
- package/dist/cli/backend/src/services/settings/settings.service.js.map +1 -1
- package/dist/cli/backend/src/types/index.d.ts +1 -1
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.d.ts +1 -1
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.js +7 -1
- package/dist/cli/backend/src/types/settings.types.js.map +1 -1
- package/dist/cli/backend/src/types/solution-bundle.types.d.ts +1 -1
- package/dist/cli/backend/src/types/solution-bundle.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/team-template.types.d.ts +2 -2
- package/dist/cli/backend/src/types/team-template.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/team-template.types.js +1 -1
- package/dist/cli/backend/src/types/team-template.types.js.map +1 -1
- package/dist/cli/backend/src/utils/antigravity-settings.utils.d.ts +115 -0
- package/dist/cli/backend/src/utils/antigravity-settings.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/antigravity-settings.utils.js +181 -0
- package/dist/cli/backend/src/utils/antigravity-settings.utils.js.map +1 -0
- package/dist/cli/backend/src/utils/runtime-model-flags.utils.d.ts +3 -2
- package/dist/cli/backend/src/utils/runtime-model-flags.utils.d.ts.map +1 -1
- package/dist/cli/backend/src/utils/runtime-model-flags.utils.js +13 -3
- package/dist/cli/backend/src/utils/runtime-model-flags.utils.js.map +1 -1
- package/dist/cli/backend/src/utils/terminal-string-ops.d.ts +1 -0
- package/dist/cli/backend/src/utils/terminal-string-ops.d.ts.map +1 -1
- package/dist/cli/backend/src/utils/terminal-string-ops.js +29 -1
- package/dist/cli/backend/src/utils/terminal-string-ops.js.map +1 -1
- package/dist/cli/cli/src/commands/doctor.d.ts +2 -2
- package/dist/cli/cli/src/commands/doctor.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/doctor.js +6 -3
- package/dist/cli/cli/src/commands/doctor.js.map +1 -1
- package/dist/cli/cli/src/commands/harness-setup.d.ts +21 -1
- package/dist/cli/cli/src/commands/harness-setup.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/harness-setup.js +53 -16
- package/dist/cli/cli/src/commands/harness-setup.js.map +1 -1
- package/dist/cli/cli/src/commands/harness.d.ts +2 -2
- package/dist/cli/cli/src/commands/harness.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/harness.js +6 -5
- package/dist/cli/cli/src/commands/harness.js.map +1 -1
- package/dist/cli/cli/src/commands/onboard.d.ts +7 -5
- package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/onboard.js +6 -4
- package/dist/cli/cli/src/commands/onboard.js.map +1 -1
- package/dist/cli/cli/src/index.js +3 -3
- package/dist/cli/cli/src/index.js.map +1 -1
- package/dist/cli/cli/src/utils/runtime-auth.d.ts +42 -5
- package/dist/cli/cli/src/utils/runtime-auth.d.ts.map +1 -1
- package/dist/cli/cli/src/utils/runtime-auth.js +78 -6
- package/dist/cli/cli/src/utils/runtime-auth.js.map +1 -1
- package/frontend/dist/assets/{index-b4d5575e.js → index-e05af897.js} +271 -271
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-session-recovery.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/runtime-session-recovery.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"runtime-session-recovery.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/runtime-session-recovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,11 @@
|
|
|
19
19
|
* and cwd, which is how Crewly learns the id for a fresh Codex agent.
|
|
20
20
|
* - {@link stripNestedClaudeSessionEnv}: the env markers a parent Claude
|
|
21
21
|
* Code session leaves behind, which must never reach an agent.
|
|
22
|
+
* - Antigravity CLI resumes with `agy --conversation=<id>` (the command agy
|
|
23
|
+
* itself prints on exit). It creates a conversation only when the first
|
|
24
|
+
* prompt arrives, so {@link discoverAntigravityConversationId} learns the
|
|
25
|
+
* id after the registration kickoff from `conversations/<id>.db` and
|
|
26
|
+
* `cache/last_conversations.json` (workspace → latest id).
|
|
22
27
|
*
|
|
23
28
|
* @module services/agent/runtime-session-recovery
|
|
24
29
|
*/
|
|
@@ -26,7 +31,8 @@ import * as fs from 'fs';
|
|
|
26
31
|
import * as os from 'os';
|
|
27
32
|
import * as path from 'path';
|
|
28
33
|
import { randomUUID } from 'crypto';
|
|
29
|
-
import { RUNTIME_TYPES, ORC_CONVERSATION_CONSTANTS } from '../../constants.js';
|
|
34
|
+
import { ANTIGRAVITY_CONSTANTS, RUNTIME_TYPES, ORC_CONVERSATION_CONSTANTS } from '../../constants.js';
|
|
35
|
+
import { getAntigravityConfigDir } from '../../utils/antigravity-settings.utils.js';
|
|
30
36
|
/**
|
|
31
37
|
* Env vars set by a running Claude Code session for its children. An agent
|
|
32
38
|
* that inherits them believes it is a nested/child session and disables
|
|
@@ -91,8 +97,169 @@ export function planRuntimeSessionFlags(args) {
|
|
|
91
97
|
}
|
|
92
98
|
return { flags: [], resumeSessionId: null, presetSessionId: null, note: 'fresh Codex conversation; id discovered from the rollout file after launch' };
|
|
93
99
|
}
|
|
100
|
+
if (runtimeType === RUNTIME_TYPES.ANTIGRAVITY_CLI) {
|
|
101
|
+
if (canResume) {
|
|
102
|
+
return {
|
|
103
|
+
flags: [toAntigravityResumeFlag(storedSessionId)],
|
|
104
|
+
resumeSessionId: storedSessionId,
|
|
105
|
+
presetSessionId: null,
|
|
106
|
+
note: 'resuming Antigravity conversation',
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
return { flags: [], resumeSessionId: null, presetSessionId: null, note: 'fresh Antigravity conversation; id discovered after the first prompt' };
|
|
110
|
+
}
|
|
94
111
|
return { flags: [], resumeSessionId: null, presetSessionId: null, note: 'runtime has no resume support' };
|
|
95
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* The agy flag that resumes a conversation: `--conversation=<id>`, exactly
|
|
115
|
+
* as agy prints it on exit ("Resume with -c (or command below):").
|
|
116
|
+
*
|
|
117
|
+
* @param conversationId - Antigravity conversation id (a UUID)
|
|
118
|
+
* @returns The flag, with anything but `[A-Za-z0-9-]` removed from the id
|
|
119
|
+
*/
|
|
120
|
+
export function toAntigravityResumeFlag(conversationId) {
|
|
121
|
+
const safeId = conversationId.replace(/[^A-Za-z0-9-]/g, '');
|
|
122
|
+
return `${ANTIGRAVITY_CONSTANTS.RESUME_FLAG}=${safeId}`;
|
|
123
|
+
}
|
|
124
|
+
/** Largest log file read when looking for the marker. */
|
|
125
|
+
const MAX_ANTIGRAVITY_LOG_BYTES = 512 * 1024;
|
|
126
|
+
/**
|
|
127
|
+
* Whether one of a conversation's log files mentions the marker.
|
|
128
|
+
*
|
|
129
|
+
* @param configDir - agy config dir
|
|
130
|
+
* @param conversationId - Conversation id
|
|
131
|
+
* @param marker - Text to find
|
|
132
|
+
* @returns True when found
|
|
133
|
+
*/
|
|
134
|
+
function antigravityLogsMention(configDir, conversationId, marker) {
|
|
135
|
+
const logsDir = path.join(configDir, 'brain', conversationId, '.system_generated', 'logs');
|
|
136
|
+
let files;
|
|
137
|
+
try {
|
|
138
|
+
files = fs.readdirSync(logsDir);
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
for (const file of files) {
|
|
144
|
+
const full = path.join(logsDir, file);
|
|
145
|
+
try {
|
|
146
|
+
const stat = fs.statSync(full);
|
|
147
|
+
if (!stat.isFile())
|
|
148
|
+
continue;
|
|
149
|
+
const fd = fs.openSync(full, 'r');
|
|
150
|
+
try {
|
|
151
|
+
const length = Math.min(stat.size, MAX_ANTIGRAVITY_LOG_BYTES);
|
|
152
|
+
const buf = Buffer.alloc(length);
|
|
153
|
+
fs.readSync(fd, buf, 0, length, 0);
|
|
154
|
+
if (buf.toString('utf8').includes(marker))
|
|
155
|
+
return true;
|
|
156
|
+
}
|
|
157
|
+
finally {
|
|
158
|
+
fs.closeSync(fd);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
// unreadable log — try the next
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* The forms a workspace path may take in agy's cache (as given, and with
|
|
169
|
+
* symlinks resolved — macOS `/tmp` is `/private/tmp`).
|
|
170
|
+
*
|
|
171
|
+
* @param cwd - Working directory
|
|
172
|
+
* @returns Candidate keys
|
|
173
|
+
*/
|
|
174
|
+
function workspaceKeys(cwd) {
|
|
175
|
+
const keys = new Set([path.resolve(cwd)]);
|
|
176
|
+
try {
|
|
177
|
+
keys.add(fs.realpathSync(cwd));
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
// folder gone — the resolved form is all we have
|
|
181
|
+
}
|
|
182
|
+
return [...keys];
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Find the Antigravity conversation a just-launched agent started.
|
|
186
|
+
*
|
|
187
|
+
* Candidates are `conversations/<id>.db` files created after the launch that
|
|
188
|
+
* no other session has claimed. The one whose logs mention the agent's
|
|
189
|
+
* marker wins; otherwise the id agy recorded as the latest for this
|
|
190
|
+
* workspace in `cache/last_conversations.json` (what `agy -c` resumes) is
|
|
191
|
+
* taken when it is a candidate.
|
|
192
|
+
*
|
|
193
|
+
* @param opts - Config dir, cwd, launch time, claimed ids, marker
|
|
194
|
+
* @returns The conversation id, or null when nothing matches yet
|
|
195
|
+
*/
|
|
196
|
+
export function discoverAntigravityConversationId(opts) {
|
|
197
|
+
const configDir = opts.configDir ?? getAntigravityConfigDir();
|
|
198
|
+
const conversationsDir = path.join(configDir, ANTIGRAVITY_CONSTANTS.CONVERSATIONS_DIR);
|
|
199
|
+
const ext = ANTIGRAVITY_CONSTANTS.CONVERSATION_FILE_EXT;
|
|
200
|
+
let files;
|
|
201
|
+
try {
|
|
202
|
+
files = fs.readdirSync(conversationsDir).filter((f) => f.endsWith(ext));
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
const candidates = [];
|
|
208
|
+
for (const file of files) {
|
|
209
|
+
const id = file.slice(0, -ext.length);
|
|
210
|
+
if (opts.claimed?.has(id))
|
|
211
|
+
continue;
|
|
212
|
+
try {
|
|
213
|
+
const stat = fs.statSync(path.join(conversationsDir, file));
|
|
214
|
+
const bornMs = stat.birthtimeMs || stat.mtimeMs;
|
|
215
|
+
// Allow a little clock skew between "we typed the command" and the file's birth.
|
|
216
|
+
if (Math.max(bornMs, stat.mtimeMs) < opts.notBeforeMs - 5_000)
|
|
217
|
+
continue;
|
|
218
|
+
candidates.push({ id, bornMs });
|
|
219
|
+
}
|
|
220
|
+
catch {
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
if (candidates.length === 0)
|
|
225
|
+
return null;
|
|
226
|
+
if (opts.marker) {
|
|
227
|
+
const marked = candidates.filter((c) => antigravityLogsMention(configDir, c.id, opts.marker));
|
|
228
|
+
if (marked.length > 0)
|
|
229
|
+
return marked.sort((a, b) => a.bornMs - b.bornMs)[0].id;
|
|
230
|
+
}
|
|
231
|
+
try {
|
|
232
|
+
const cache = JSON.parse(fs.readFileSync(path.join(configDir, ...ANTIGRAVITY_CONSTANTS.LAST_CONVERSATIONS_FILE_SEGMENTS), 'utf8'));
|
|
233
|
+
for (const key of workspaceKeys(opts.cwd)) {
|
|
234
|
+
const id = cache[key];
|
|
235
|
+
if (typeof id === 'string' && candidates.some((c) => c.id === id))
|
|
236
|
+
return id;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
catch {
|
|
240
|
+
// no cache yet
|
|
241
|
+
}
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Poll {@link discoverAntigravityConversationId} until a match appears or time runs out.
|
|
246
|
+
*
|
|
247
|
+
* @param opts - Discovery options plus `timeoutMs` / `intervalMs` (defaults from ANTIGRAVITY_CONSTANTS)
|
|
248
|
+
* @returns The conversation id, or null on timeout
|
|
249
|
+
*/
|
|
250
|
+
export async function waitForAntigravityConversationId(opts) {
|
|
251
|
+
const deadline = Date.now() + (opts.timeoutMs ?? ANTIGRAVITY_CONSTANTS.CONVERSATION_DISCOVERY_TIMEOUT_MS);
|
|
252
|
+
const interval = opts.intervalMs ?? ANTIGRAVITY_CONSTANTS.CONVERSATION_DISCOVERY_INTERVAL_MS;
|
|
253
|
+
const sleep = opts.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
254
|
+
for (;;) {
|
|
255
|
+
const found = discoverAntigravityConversationId(opts);
|
|
256
|
+
if (found)
|
|
257
|
+
return found;
|
|
258
|
+
if (Date.now() >= deadline)
|
|
259
|
+
return null;
|
|
260
|
+
await sleep(interval);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
96
263
|
/**
|
|
97
264
|
* Rewrite a Codex launch command so it resumes a conversation. `codex resume`
|
|
98
265
|
* accepts the same approval/sandbox flags as `codex`, and the id goes last.
|
|
@@ -251,13 +418,20 @@ function readSessionMeta(filePath) {
|
|
|
251
418
|
/**
|
|
252
419
|
* Whether a stored conversation still exists on disk, so a resume will not
|
|
253
420
|
* fail to boot. Claude Code keeps `~/.claude/projects/<cwd slug>/<id>.jsonl`;
|
|
254
|
-
* Codex keeps `<codexHome>/sessions/YYYY/MM/DD/rollout-…-<id>.jsonl
|
|
421
|
+
* Codex keeps `<codexHome>/sessions/YYYY/MM/DD/rollout-…-<id>.jsonl`;
|
|
422
|
+
* Antigravity keeps `~/.gemini/antigravity-cli/conversations/<id>.db`.
|
|
255
423
|
*
|
|
256
424
|
* @param args - Runtime, id, the agent's cwd, optional home overrides
|
|
257
425
|
* @returns True when found; true (benefit of the doubt) for unknown runtimes
|
|
258
426
|
*/
|
|
259
427
|
export function conversationExists(args) {
|
|
260
428
|
const { runtimeType, sessionId, cwd } = args;
|
|
429
|
+
if (runtimeType === RUNTIME_TYPES.ANTIGRAVITY_CLI) {
|
|
430
|
+
// agy silently starts fresh for an unknown --conversation id, but a
|
|
431
|
+
// deleted one should not be "resumed" (and reported as resumed) either.
|
|
432
|
+
const dir = path.join(args.antigravityConfigDir ?? getAntigravityConfigDir(), ANTIGRAVITY_CONSTANTS.CONVERSATIONS_DIR);
|
|
433
|
+
return fs.existsSync(path.join(dir, `${sessionId}${ANTIGRAVITY_CONSTANTS.CONVERSATION_FILE_EXT}`));
|
|
434
|
+
}
|
|
261
435
|
if (runtimeType === RUNTIME_TYPES.CLAUDE_CODE) {
|
|
262
436
|
const home = args.claudeHome ?? path.join(os.homedir(), '.claude');
|
|
263
437
|
const slug = path.resolve(cwd).replace(/[\/.]/g, '-');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-session-recovery.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/runtime-session-recovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-session-recovery.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/runtime-session-recovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,20 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Why an agent runtime cannot start without the user acting first.
|
|
3
|
+
*
|
|
4
|
+
* - `root_user` / `first_run_setup`: Claude Code as root, or a runtime whose
|
|
5
|
+
* first-run screens (theme, terms) only the user may complete.
|
|
6
|
+
* - `api_key_required`: a runtime Crewly runs only on an API key
|
|
7
|
+
* (Antigravity CLI) and no key is available.
|
|
8
|
+
* - `account_login_refused`: the runtime asked for an account (OAuth)
|
|
9
|
+
* sign-in Crewly must not use (Antigravity CLI, by Google's policy).
|
|
10
|
+
* - `settings_unreadable`: Crewly could not put the runtime's own settings
|
|
11
|
+
* into the state it needs (Antigravity's API-key provider).
|
|
12
|
+
*/
|
|
13
|
+
export type RuntimeStartupBlockedReason = 'root_user' | 'first_run_setup' | 'api_key_required' | 'account_login_refused' | 'settings_unreadable';
|
|
3
14
|
/**
|
|
4
15
|
* Thrown when an agent runtime cannot start until the user does something:
|
|
5
|
-
* for example Claude Code as root,
|
|
16
|
+
* for example Claude Code as root, a Claude Code that was never set up, or
|
|
17
|
+
* an Antigravity CLI without a Gemini API key.
|
|
6
18
|
* Retrying cannot help, so the start-up fallback chain and the orchestrator
|
|
7
19
|
* auto-start stop on it and surface {@link RuntimeStartupBlockedError.message}
|
|
8
20
|
* to the user unchanged.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-startup-blocked.error.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/runtime-startup-blocked.error.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"runtime-startup-blocked.error.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/runtime-startup-blocked.error.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,2BAA2B,GACpC,WAAW,GACX,iBAAiB,GACjB,kBAAkB,GAClB,uBAAuB,GACvB,qBAAqB,CAAC;AAEzB;;;;;;;GAOG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IAQxC,QAAQ,CAAC,MAAM,EAAE,2BAA2B;IAPxD,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAA+C;IAEpE;;;OAGG;gBACkB,MAAM,EAAE,2BAA2B,EAAE,OAAO,EAAE,MAAM;CAIzE;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,0BAA0B,CAK5F"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { CLAUDE_STARTUP_CONSTANTS } from '../../constants.js';
|
|
2
2
|
/**
|
|
3
3
|
* Thrown when an agent runtime cannot start until the user does something:
|
|
4
|
-
* for example Claude Code as root,
|
|
4
|
+
* for example Claude Code as root, a Claude Code that was never set up, or
|
|
5
|
+
* an Antigravity CLI without a Gemini API key.
|
|
5
6
|
* Retrying cannot help, so the start-up fallback chain and the orchestrator
|
|
6
7
|
* auto-start stop on it and surface {@link RuntimeStartupBlockedError.message}
|
|
7
8
|
* to the user unchanged.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-startup-blocked.error.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/runtime-startup-blocked.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-startup-blocked.error.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/runtime-startup-blocked.error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAqB9D;;;;;;;GAOG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAQ/B;IAPrB,oCAAoC;IAC3B,IAAI,GAAW,wBAAwB,CAAC,kBAAkB,CAAC;IAEpE;;;OAGG;IACH,YAAqB,MAAmC,EAAE,OAAe;QACxE,KAAK,CAAC,OAAO,CAAC,CAAC;QADK,WAAM,GAAN,MAAM,CAA6B;QAEvD,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC1C,CAAC;CACD;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAY;IACxD,OAAO,CACN,GAAG,YAAY,0BAA0B;QACzC,CAAC,GAAG,YAAY,KAAK,IAAK,GAAkC,CAAC,IAAI,KAAK,wBAAwB,CAAC,kBAAkB,CAAC,CAClH,CAAC;AACH,CAAC"}
|
|
@@ -8,11 +8,19 @@
|
|
|
8
8
|
* is pre-approved (claude-config.utils).
|
|
9
9
|
* - Codex: `codex login --with-api-key` with the key on **stdin** (never in
|
|
10
10
|
* argv); Codex saves it in its own `auth.json`.
|
|
11
|
+
* - Antigravity CLI: the Gemini key is checked with a models-list call to
|
|
12
|
+
* the Gemini API (key in the `x-goog-api-key` header, never in the URL),
|
|
13
|
+
* stored in the harness credentials store (exported to antigravity-cli
|
|
14
|
+
* agents as `GEMINI_API_KEY`), and agy's settings are switched to the
|
|
15
|
+
* Gemini API key provider. This is the only Antigravity login Crewly
|
|
16
|
+
* offers: Google does not allow third-party tools to use Antigravity
|
|
17
|
+
* account (OAuth) login.
|
|
11
18
|
*
|
|
12
19
|
* The key is never logged, echoed back or put in an error message.
|
|
13
20
|
*
|
|
14
21
|
* @module services/harness/harness-api-key.service
|
|
15
22
|
*/
|
|
23
|
+
import { type AntigravityProviderResult } from '../../utils/antigravity-settings.utils.js';
|
|
16
24
|
import { HarnessCredentialsStore } from './harness-credentials.store.js';
|
|
17
25
|
import { type HarnessLogger, type RunCommand } from './harness.types.js';
|
|
18
26
|
/** Error codes the REST layer maps to HTTP statuses. */
|
|
@@ -44,6 +52,8 @@ export interface HarnessApiKeyDeps {
|
|
|
44
52
|
credentials?: HarnessCredentialsStore;
|
|
45
53
|
resolveCommand?: (command: string) => string | null;
|
|
46
54
|
prepareClaudeConfig?: (apiKey: string) => void;
|
|
55
|
+
/** Switches agy to the Gemini API key provider (defaults to the real ~/.gemini/antigravity-cli/settings.json) */
|
|
56
|
+
prepareAntigravitySettings?: () => Promise<AntigravityProviderResult>;
|
|
47
57
|
logger?: HarnessLogger;
|
|
48
58
|
}
|
|
49
59
|
/**
|
|
@@ -61,6 +71,7 @@ export declare class HarnessApiKeyService {
|
|
|
61
71
|
private readonly credentials;
|
|
62
72
|
private readonly resolveCommand;
|
|
63
73
|
private readonly prepareClaudeConfig;
|
|
74
|
+
private readonly prepareAntigravitySettings;
|
|
64
75
|
private readonly logger;
|
|
65
76
|
/**
|
|
66
77
|
* @param deps - Injectable dependencies (all optional)
|
|
@@ -74,6 +85,21 @@ export declare class HarnessApiKeyService {
|
|
|
74
85
|
* @throws HarnessApiKeyError unknown_harness | unsupported | invalid_key | not_installed | login_failed
|
|
75
86
|
*/
|
|
76
87
|
submit(harnessId: string, rawKey: unknown): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Check a Gemini API key with a models-list call.
|
|
90
|
+
*
|
|
91
|
+
* @param key - The key (sent in the `x-goog-api-key` header)
|
|
92
|
+
* @returns valid | invalid (400/401/403) | unverified (network error, other status)
|
|
93
|
+
*/
|
|
94
|
+
checkGeminiKey(key: string): Promise<KeyCheckResult>;
|
|
95
|
+
/**
|
|
96
|
+
* Validate and store the Gemini key Antigravity CLI runs with, then
|
|
97
|
+
* switch agy to the Gemini API key provider.
|
|
98
|
+
*
|
|
99
|
+
* @param key - The key
|
|
100
|
+
* @throws HarnessApiKeyError invalid_key | login_failed (agy settings file unreadable)
|
|
101
|
+
*/
|
|
102
|
+
private submitAntigravityKey;
|
|
77
103
|
/**
|
|
78
104
|
* Check an Anthropic key against the API.
|
|
79
105
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-api-key.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/harness/harness-api-key.service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"harness-api-key.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/harness/harness-api-key.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAmC,KAAK,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAE5H,OAAO,EAAE,uBAAuB,EAA8B,MAAM,gCAAgC,CAAC;AAGrG,OAAO,EAAyB,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhG,wDAAwD;AACxD,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG,aAAa,GAAG,aAAa,GAAG,eAAe,GAAG,cAAc,CAAC;AAE1H,+DAA+D;AAC/D,qBAAa,kBAAmB,SAAQ,KAAK;aAM3B,IAAI,EAAE,sBAAsB;IAL7C;;;OAGG;gBAEc,IAAI,EAAE,sBAAsB,EAC5C,OAAO,EAAE,MAAM;CAKhB;AAED,qDAAqD;AACrD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC;AAEhE,sDAAsD;AACtD,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEtJ,+BAA+B;AAC/B,MAAM,WAAW,iBAAiB;IACjC,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACpD,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,iHAAiH;IACjH,0BAA0B,CAAC,EAAE,MAAM,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtE,MAAM,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,6CAA6C;AAC7C,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqC;IACpE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA2B;IAC/D,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA2C;IACtF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC;;OAEG;gBACS,IAAI,GAAE,iBAAsB;IAWxC;;;;;;OAMG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB/D;;;;;OAKG;IACG,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB1D;;;;;;OAMG;YACW,oBAAoB;IAclC;;;;;OAKG;IACG,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAe7D;;;;;OAKG;YACW,kBAAkB;IAehC;;;;;OAKG;YACW,cAAc;CAc5B"}
|
|
@@ -8,12 +8,20 @@
|
|
|
8
8
|
* is pre-approved (claude-config.utils).
|
|
9
9
|
* - Codex: `codex login --with-api-key` with the key on **stdin** (never in
|
|
10
10
|
* argv); Codex saves it in its own `auth.json`.
|
|
11
|
+
* - Antigravity CLI: the Gemini key is checked with a models-list call to
|
|
12
|
+
* the Gemini API (key in the `x-goog-api-key` header, never in the URL),
|
|
13
|
+
* stored in the harness credentials store (exported to antigravity-cli
|
|
14
|
+
* agents as `GEMINI_API_KEY`), and agy's settings are switched to the
|
|
15
|
+
* Gemini API key provider. This is the only Antigravity login Crewly
|
|
16
|
+
* offers: Google does not allow third-party tools to use Antigravity
|
|
17
|
+
* account (OAuth) login.
|
|
11
18
|
*
|
|
12
19
|
* The key is never logged, echoed back or put in an error message.
|
|
13
20
|
*
|
|
14
21
|
* @module services/harness/harness-api-key.service
|
|
15
22
|
*/
|
|
16
|
-
import { HARNESS_CONSTANTS } from '../../constants.js';
|
|
23
|
+
import { ANTIGRAVITY_CONSTANTS, HARNESS_CONSTANTS } from '../../constants.js';
|
|
24
|
+
import { ensureAntigravityApiKeyProvider } from '../../utils/antigravity-settings.utils.js';
|
|
17
25
|
import { prepareClaudeConfigForCrewlyLogin } from './claude-config.utils.js';
|
|
18
26
|
import { getHarnessCredentialsStore } from './harness-credentials.store.js';
|
|
19
27
|
import { buildHarnessPath, resolveExecutable, runCommand } from './harness-exec.utils.js';
|
|
@@ -50,6 +58,7 @@ export class HarnessApiKeyService {
|
|
|
50
58
|
credentials;
|
|
51
59
|
resolveCommand;
|
|
52
60
|
prepareClaudeConfig;
|
|
61
|
+
prepareAntigravitySettings;
|
|
53
62
|
logger;
|
|
54
63
|
/**
|
|
55
64
|
* @param deps - Injectable dependencies (all optional)
|
|
@@ -62,6 +71,7 @@ export class HarnessApiKeyService {
|
|
|
62
71
|
this.resolveCommand = deps.resolveCommand ?? ((command) => resolveExecutable(command, buildHarnessPath(this.env.PATH)));
|
|
63
72
|
this.prepareClaudeConfig = deps.prepareClaudeConfig ?? ((apiKey) => void prepareClaudeConfigForCrewlyLogin({ apiKey }));
|
|
64
73
|
this.logger = deps.logger ?? SILENT_HARNESS_LOGGER;
|
|
74
|
+
this.prepareAntigravitySettings = deps.prepareAntigravitySettings ?? (() => ensureAntigravityApiKeyProvider({ logger: this.logger }));
|
|
65
75
|
}
|
|
66
76
|
/**
|
|
67
77
|
* Validate and store an API key for a harness.
|
|
@@ -81,11 +91,61 @@ export class HarnessApiKeyService {
|
|
|
81
91
|
if (!isPlausibleApiKey(key)) {
|
|
82
92
|
throw new HarnessApiKeyError('invalid_key', 'That does not look like an API key');
|
|
83
93
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
94
|
+
switch (def.id) {
|
|
95
|
+
case HARNESS_CONSTANTS.IDS.CLAUDE_CODE:
|
|
96
|
+
await this.submitAnthropicKey(key);
|
|
97
|
+
return;
|
|
98
|
+
case HARNESS_CONSTANTS.IDS.ANTIGRAVITY_CLI:
|
|
99
|
+
await this.submitAntigravityKey(key);
|
|
100
|
+
return;
|
|
101
|
+
default:
|
|
102
|
+
await this.submitCodexKey(key);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Check a Gemini API key with a models-list call.
|
|
107
|
+
*
|
|
108
|
+
* @param key - The key (sent in the `x-goog-api-key` header)
|
|
109
|
+
* @returns valid | invalid (400/401/403) | unverified (network error, other status)
|
|
110
|
+
*/
|
|
111
|
+
async checkGeminiKey(key) {
|
|
112
|
+
const api = ANTIGRAVITY_CONSTANTS.GEMINI_API;
|
|
113
|
+
try {
|
|
114
|
+
const response = await this.fetchFn(api.MODELS_URL, {
|
|
115
|
+
method: 'GET',
|
|
116
|
+
headers: { [api.KEY_HEADER]: key },
|
|
117
|
+
signal: AbortSignal.timeout(api.CHECK_TIMEOUT_MS),
|
|
118
|
+
});
|
|
119
|
+
if (response.status >= 200 && response.status < 300)
|
|
120
|
+
return 'valid';
|
|
121
|
+
if (api.REJECTED_STATUSES.includes(response.status))
|
|
122
|
+
return 'invalid';
|
|
123
|
+
return 'unverified';
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
return 'unverified';
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Validate and store the Gemini key Antigravity CLI runs with, then
|
|
131
|
+
* switch agy to the Gemini API key provider.
|
|
132
|
+
*
|
|
133
|
+
* @param key - The key
|
|
134
|
+
* @throws HarnessApiKeyError invalid_key | login_failed (agy settings file unreadable)
|
|
135
|
+
*/
|
|
136
|
+
async submitAntigravityKey(key) {
|
|
137
|
+
const check = await this.checkGeminiKey(key);
|
|
138
|
+
if (check === 'invalid')
|
|
139
|
+
throw new HarnessApiKeyError('invalid_key', 'The Gemini API rejected this key');
|
|
140
|
+
this.credentials.setAntigravityGeminiApiKey(key);
|
|
141
|
+
this.logger.info('Antigravity Gemini API key stored', { verified: check === 'valid' });
|
|
142
|
+
const provider = await this.prepareAntigravitySettings();
|
|
143
|
+
if (provider === 'unparseable') {
|
|
144
|
+
throw new HarnessApiKeyError('login_failed', ANTIGRAVITY_CONSTANTS.MESSAGES.SETTINGS_UNREADABLE);
|
|
145
|
+
}
|
|
146
|
+
if (provider === 'error') {
|
|
147
|
+
this.logger.warn('Could not switch Antigravity to the Gemini API key provider now; it is retried at every agent launch');
|
|
87
148
|
}
|
|
88
|
-
await this.submitCodexKey(key);
|
|
89
149
|
}
|
|
90
150
|
/**
|
|
91
151
|
* Check an Anthropic key against the API.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-api-key.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/harness/harness-api-key.service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"harness-api-key.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/harness/harness-api-key.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
* saving it, and an Anthropic API key has to reach agents somehow; both live
|
|
6
6
|
* here, in `<crewlyHome>/harness-credentials.json` with mode 0600. Codex
|
|
7
7
|
* writes its own credentials (`$CODEX_HOME/auth.json`), so nothing is stored
|
|
8
|
-
* for it unless a future flow needs the key.
|
|
8
|
+
* for it unless a future flow needs the key. Antigravity CLI reads its Gemini
|
|
9
|
+
* API key only from the environment, so Crewly keeps that key here too.
|
|
9
10
|
*
|
|
10
11
|
* {@link harnessEnvForAgents} turns the stored credentials into the env vars
|
|
11
|
-
* injected into
|
|
12
|
+
* injected into agent PTYs (and adds the user npm prefix to PATH).
|
|
12
13
|
*
|
|
13
14
|
* Secrets are never logged, never returned by the REST API and never put in
|
|
14
15
|
* an error message.
|
|
@@ -29,6 +30,11 @@ export interface HarnessCredentials {
|
|
|
29
30
|
openaiApiKey?: string;
|
|
30
31
|
updatedAt?: string;
|
|
31
32
|
};
|
|
33
|
+
antigravity?: {
|
|
34
|
+
/** Gemini API key Antigravity CLI runs with (exported as GEMINI_API_KEY to antigravity-cli agents only) */
|
|
35
|
+
geminiApiKey?: string;
|
|
36
|
+
updatedAt?: string;
|
|
37
|
+
};
|
|
32
38
|
}
|
|
33
39
|
/** Which stored Claude credential is active. */
|
|
34
40
|
export type StoredClaudeCredential = 'oauth_token' | 'api_key' | null;
|
|
@@ -89,6 +95,23 @@ export declare class HarnessCredentialsStore {
|
|
|
89
95
|
* @throws Error when the key is empty
|
|
90
96
|
*/
|
|
91
97
|
setOpenaiApiKey(key: string): void;
|
|
98
|
+
/**
|
|
99
|
+
* Store the Gemini API key Antigravity CLI runs with.
|
|
100
|
+
*
|
|
101
|
+
* @param key - Gemini API key
|
|
102
|
+
* @throws Error when the key is empty
|
|
103
|
+
*/
|
|
104
|
+
setAntigravityGeminiApiKey(key: string): void;
|
|
105
|
+
/**
|
|
106
|
+
* The stored Antigravity Gemini API key.
|
|
107
|
+
*
|
|
108
|
+
* @returns The key, or null when none is stored
|
|
109
|
+
*/
|
|
110
|
+
getAntigravityGeminiApiKey(): string | null;
|
|
111
|
+
/**
|
|
112
|
+
* Forget the stored Antigravity key.
|
|
113
|
+
*/
|
|
114
|
+
clearAntigravity(): void;
|
|
92
115
|
/**
|
|
93
116
|
* Forget the stored Claude credential.
|
|
94
117
|
*/
|
|
@@ -107,10 +130,17 @@ export declare class HarnessCredentialsStore {
|
|
|
107
130
|
* a Claude credential. Nothing is added for Codex: it reads its own
|
|
108
131
|
* `auth.json`.
|
|
109
132
|
*
|
|
133
|
+
* For an `antigravity-cli` session it also adds the stored Gemini key as
|
|
134
|
+
* `GEMINI_API_KEY` (Antigravity reads the key only from the environment)
|
|
135
|
+
* and `AGY_CLI_DISABLE_AUTO_UPDATE`. The key is scoped to that runtime on
|
|
136
|
+
* purpose: in a Gemini CLI session an unexpected GEMINI_API_KEY brings up
|
|
137
|
+
* Gemini's "Existing API key detected" dialog for Google-login users.
|
|
138
|
+
*
|
|
110
139
|
* @param baseEnv - Environment whose PATH is extended (defaults to process.env)
|
|
140
|
+
* @param runtimeType - Runtime the session will run, when known
|
|
111
141
|
* @returns Env map to merge into the agent's spawn env
|
|
112
142
|
*/
|
|
113
|
-
harnessEnvForAgents(baseEnv?: NodeJS.ProcessEnv): Record<string, string>;
|
|
143
|
+
harnessEnvForAgents(baseEnv?: NodeJS.ProcessEnv, runtimeType?: string): Record<string, string>;
|
|
114
144
|
}
|
|
115
145
|
/**
|
|
116
146
|
* The default credentials store.
|
|
@@ -124,12 +154,13 @@ export declare function getHarnessCredentialsStore(): HarnessCredentialsStore;
|
|
|
124
154
|
* Never throws: a broken credentials file yields just the PATH.
|
|
125
155
|
*
|
|
126
156
|
* @param baseEnv - Environment whose PATH is extended (defaults to process.env)
|
|
127
|
-
* @
|
|
157
|
+
* @param runtimeType - Runtime the session will run (adds runtime-scoped vars such as Antigravity's key)
|
|
158
|
+
* @returns Env map (PATH plus any credential env var)
|
|
128
159
|
*
|
|
129
160
|
* @example
|
|
130
161
|
* ```ts
|
|
131
|
-
* const env = { ...identityEnv, ...harnessEnvForAgents() };
|
|
162
|
+
* const env = { ...identityEnv, ...harnessEnvForAgents(process.env, 'antigravity-cli') };
|
|
132
163
|
* ```
|
|
133
164
|
*/
|
|
134
|
-
export declare function harnessEnvForAgents(baseEnv?: NodeJS.ProcessEnv): Record<string, string>;
|
|
165
|
+
export declare function harnessEnvForAgents(baseEnv?: NodeJS.ProcessEnv, runtimeType?: string): Record<string, string>;
|
|
135
166
|
//# sourceMappingURL=harness-credentials.store.d.ts.map
|