crewly 1.20.181 → 1.20.182
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backend/backend/src/constants.d.ts +66 -1
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +75 -1
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.d.ts +11 -1
- package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.js +44 -9
- package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/runtime-terms.controller.d.ts +31 -0
- package/dist/backend/backend/src/controllers/system/runtime-terms.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/system/runtime-terms.controller.js +99 -0
- package/dist/backend/backend/src/controllers/system/runtime-terms.controller.js.map +1 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +4 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/modules/system.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/modules/system.routes.js +3 -0
- package/dist/backend/backend/src/routes/modules/system.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/antigravity-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/antigravity-runtime.service.js +5 -0
- package/dist/backend/backend/src/services/agent/antigravity-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-card.d.ts +14 -4
- package/dist/backend/backend/src/services/decisions/decision-card.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-card.js +31 -10
- package/dist/backend/backend/src/services/decisions/decision-card.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.service.d.ts +40 -2
- package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.service.js +100 -8
- package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.wiring.js +7 -0
- package/dist/backend/backend/src/services/decisions/decision.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.d.ts +8 -0
- package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.js +5 -0
- package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts +2 -0
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js +4 -0
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts +2 -0
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js +3 -0
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-smoke-test.service.d.ts +15 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-smoke-test.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-smoke-test.service.js +13 -2
- package/dist/backend/backend/src/services/runtime-fallback/runtime-smoke-test.service.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-driver.d.ts +92 -0
- package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-driver.d.ts.map +1 -0
- package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-driver.js +199 -0
- package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-driver.js.map +1 -0
- package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-screens.d.ts +79 -0
- package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-screens.d.ts.map +1 -0
- package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-screens.js +145 -0
- package/dist/backend/backend/src/services/runtime-terms/antigravity-terms-screens.js.map +1 -0
- package/dist/backend/backend/src/services/runtime-terms/fake-agy-tui.fixture.d.ts +75 -0
- package/dist/backend/backend/src/services/runtime-terms/fake-agy-tui.fixture.d.ts.map +1 -0
- package/dist/backend/backend/src/services/runtime-terms/fake-agy-tui.fixture.js +218 -0
- package/dist/backend/backend/src/services/runtime-terms/fake-agy-tui.fixture.js.map +1 -0
- package/dist/backend/backend/src/services/runtime-terms/runtime-terms-consent.service.d.ts +245 -0
- package/dist/backend/backend/src/services/runtime-terms/runtime-terms-consent.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/runtime-terms/runtime-terms-consent.service.js +428 -0
- package/dist/backend/backend/src/services/runtime-terms/runtime-terms-consent.service.js.map +1 -0
- package/dist/backend/backend/src/services/runtime-terms/runtime-terms.store.d.ts +67 -0
- package/dist/backend/backend/src/services/runtime-terms/runtime-terms.store.d.ts.map +1 -0
- package/dist/backend/backend/src/services/runtime-terms/runtime-terms.store.js +78 -0
- package/dist/backend/backend/src/services/runtime-terms/runtime-terms.store.js.map +1 -0
- package/dist/backend/backend/src/services/runtime-terms/runtime-terms.wiring.d.ts +39 -0
- package/dist/backend/backend/src/services/runtime-terms/runtime-terms.wiring.d.ts.map +1 -0
- package/dist/backend/backend/src/services/runtime-terms/runtime-terms.wiring.js +161 -0
- package/dist/backend/backend/src/services/runtime-terms/runtime-terms.wiring.js.map +1 -0
- package/dist/backend/backend/src/types/decision.types.d.ts +29 -5
- package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +66 -1
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +75 -1
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/antigravity-runtime.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/antigravity-runtime.service.js +5 -0
- package/dist/cli/backend/src/services/agent/antigravity-runtime.service.js.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision-card.d.ts +165 -0
- package/dist/cli/backend/src/services/decisions/decision-card.d.ts.map +1 -0
- package/dist/cli/backend/src/services/decisions/decision-card.js +358 -0
- package/dist/cli/backend/src/services/decisions/decision-card.js.map +1 -0
- package/dist/cli/backend/src/services/decisions/decision-contract.d.ts +83 -0
- package/dist/cli/backend/src/services/decisions/decision-contract.d.ts.map +1 -0
- package/dist/cli/backend/src/services/decisions/decision-contract.js +226 -0
- package/dist/cli/backend/src/services/decisions/decision-contract.js.map +1 -0
- package/dist/cli/backend/src/services/decisions/decision-store.d.ts +80 -0
- package/dist/cli/backend/src/services/decisions/decision-store.d.ts.map +1 -0
- package/dist/cli/backend/src/services/decisions/decision-store.js +151 -0
- package/dist/cli/backend/src/services/decisions/decision-store.js.map +1 -0
- package/dist/cli/backend/src/services/decisions/decision.service.d.ts +376 -0
- package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/decisions/decision.service.js +821 -0
- package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -0
- package/dist/cli/backend/src/services/decisions/ticket-thread-store.d.ts +97 -0
- package/dist/cli/backend/src/services/decisions/ticket-thread-store.d.ts.map +1 -0
- package/dist/cli/backend/src/services/decisions/ticket-thread-store.js +137 -0
- package/dist/cli/backend/src/services/decisions/ticket-thread-store.js.map +1 -0
- package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts +136 -0
- package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.js +152 -0
- package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.js.map +1 -0
- package/dist/cli/backend/src/services/runtime-fallback/runtime-smoke-test.service.d.ts +217 -0
- package/dist/cli/backend/src/services/runtime-fallback/runtime-smoke-test.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/runtime-fallback/runtime-smoke-test.service.js +430 -0
- package/dist/cli/backend/src/services/runtime-fallback/runtime-smoke-test.service.js.map +1 -0
- package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-driver.d.ts +92 -0
- package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-driver.d.ts.map +1 -0
- package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-driver.js +199 -0
- package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-driver.js.map +1 -0
- package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-screens.d.ts +79 -0
- package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-screens.d.ts.map +1 -0
- package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-screens.js +145 -0
- package/dist/cli/backend/src/services/runtime-terms/antigravity-terms-screens.js.map +1 -0
- package/dist/cli/backend/src/services/runtime-terms/runtime-terms-consent.service.d.ts +245 -0
- package/dist/cli/backend/src/services/runtime-terms/runtime-terms-consent.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/runtime-terms/runtime-terms-consent.service.js +428 -0
- package/dist/cli/backend/src/services/runtime-terms/runtime-terms-consent.service.js.map +1 -0
- package/dist/cli/backend/src/services/runtime-terms/runtime-terms.store.d.ts +67 -0
- package/dist/cli/backend/src/services/runtime-terms/runtime-terms.store.d.ts.map +1 -0
- package/dist/cli/backend/src/services/runtime-terms/runtime-terms.store.js +78 -0
- package/dist/cli/backend/src/services/runtime-terms/runtime-terms.store.js.map +1 -0
- package/dist/cli/backend/src/types/decision.types.d.ts +192 -0
- package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/decision.types.js +13 -0
- package/dist/cli/backend/src/types/decision.types.js.map +1 -0
- package/dist/cli/cli/src/commands/harness-setup.js +2 -2
- package/frontend/dist/assets/{index-4271e95e.js → index-9c91de50.js} +138 -138
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-terms-consent.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/runtime-terms/runtime-terms-consent.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-machine Terms consent state (`<CREWLY_HOME>/runtime-terms-consent.json`).
|
|
3
|
+
*
|
|
4
|
+
* One record per runtime. Writes are atomic (temp file + rename); an
|
|
5
|
+
* unreadable file reads as empty. specs/2026-10-01-runtime-terms-consent.md
|
|
6
|
+
*
|
|
7
|
+
* @module services/runtime-terms/runtime-terms.store
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Where a runtime's Terms stand on this machine.
|
|
11
|
+
*
|
|
12
|
+
* - `pending`: the first-run Terms screen was seen; a card is waiting for the owner
|
|
13
|
+
* - `accepting`: the owner agreed; the harness is driving the screens
|
|
14
|
+
* - `accepted`: the screens were completed (or were already done)
|
|
15
|
+
* - `declined`: the owner chose Don't agree (or the deadline applied it)
|
|
16
|
+
* - `failed`: the harness stopped before (or after) Done because the screen did not match
|
|
17
|
+
*/
|
|
18
|
+
export type RuntimeTermsStatus = 'pending' | 'accepting' | 'accepted' | 'declined' | 'failed';
|
|
19
|
+
/** One runtime's record. */
|
|
20
|
+
export interface RuntimeTermsRecord {
|
|
21
|
+
runtime: string;
|
|
22
|
+
status: RuntimeTermsStatus;
|
|
23
|
+
/** ISO time of the last change */
|
|
24
|
+
updatedAt: string;
|
|
25
|
+
/** Decision card of the current / last ask */
|
|
26
|
+
decisionId?: string;
|
|
27
|
+
/** Owner's choice for the data-sharing item, once agreed */
|
|
28
|
+
dataSharing?: boolean;
|
|
29
|
+
/** Why it is declined / failed (English, shown in Settings) */
|
|
30
|
+
reason?: string;
|
|
31
|
+
/** What found the Terms screen (launch, smoke_test, settings, probe) */
|
|
32
|
+
detectedBy?: string;
|
|
33
|
+
}
|
|
34
|
+
/** Reads and writes the records. */
|
|
35
|
+
export declare class RuntimeTermsStore {
|
|
36
|
+
private readonly file;
|
|
37
|
+
/**
|
|
38
|
+
* @param file - JSON file path
|
|
39
|
+
*/
|
|
40
|
+
constructor(file: string);
|
|
41
|
+
/**
|
|
42
|
+
* Store in a Crewly home.
|
|
43
|
+
*
|
|
44
|
+
* @param crewlyHome - CREWLY_HOME
|
|
45
|
+
* @returns Store
|
|
46
|
+
*/
|
|
47
|
+
static inHome(crewlyHome: string): RuntimeTermsStore;
|
|
48
|
+
/** @returns Every record, keyed by runtime */
|
|
49
|
+
all(): Record<string, RuntimeTermsRecord>;
|
|
50
|
+
/**
|
|
51
|
+
* One record.
|
|
52
|
+
*
|
|
53
|
+
* @param runtime - Runtime id
|
|
54
|
+
* @returns Record, or null
|
|
55
|
+
*/
|
|
56
|
+
get(runtime: string): RuntimeTermsRecord | null;
|
|
57
|
+
/**
|
|
58
|
+
* Replace a record.
|
|
59
|
+
*
|
|
60
|
+
* @param record - Record
|
|
61
|
+
* @returns The record
|
|
62
|
+
*/
|
|
63
|
+
set(record: RuntimeTermsRecord): RuntimeTermsRecord;
|
|
64
|
+
private read;
|
|
65
|
+
private write;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=runtime-terms.store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-terms.store.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/runtime-terms/runtime-terms.store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE9F,4BAA4B;AAC5B,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,oCAAoC;AACpC,qBAAa,iBAAiB;IAIjB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC;;OAEG;gBAC0B,IAAI,EAAE,MAAM;IAEzC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB;IAIpD,8CAA8C;IAC9C,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAIzC;;;;;OAKG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAI/C;;;;;OAKG;IACH,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB;IAOnD,OAAO,CAAC,IAAI;IAcZ,OAAO,CAAC,KAAK;CAMb"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-machine Terms consent state (`<CREWLY_HOME>/runtime-terms-consent.json`).
|
|
3
|
+
*
|
|
4
|
+
* One record per runtime. Writes are atomic (temp file + rename); an
|
|
5
|
+
* unreadable file reads as empty. specs/2026-10-01-runtime-terms-consent.md
|
|
6
|
+
*
|
|
7
|
+
* @module services/runtime-terms/runtime-terms.store
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from 'fs';
|
|
10
|
+
import * as path from 'path';
|
|
11
|
+
import { RUNTIME_TERMS_CONSTANTS } from '../../constants.js';
|
|
12
|
+
const STATUSES = ['pending', 'accepting', 'accepted', 'declined', 'failed'];
|
|
13
|
+
/** Reads and writes the records. */
|
|
14
|
+
export class RuntimeTermsStore {
|
|
15
|
+
file;
|
|
16
|
+
/**
|
|
17
|
+
* @param file - JSON file path
|
|
18
|
+
*/
|
|
19
|
+
constructor(file) {
|
|
20
|
+
this.file = file;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Store in a Crewly home.
|
|
24
|
+
*
|
|
25
|
+
* @param crewlyHome - CREWLY_HOME
|
|
26
|
+
* @returns Store
|
|
27
|
+
*/
|
|
28
|
+
static inHome(crewlyHome) {
|
|
29
|
+
return new RuntimeTermsStore(path.join(crewlyHome, RUNTIME_TERMS_CONSTANTS.STORE_FILENAME));
|
|
30
|
+
}
|
|
31
|
+
/** @returns Every record, keyed by runtime */
|
|
32
|
+
all() {
|
|
33
|
+
return this.read().runtimes;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* One record.
|
|
37
|
+
*
|
|
38
|
+
* @param runtime - Runtime id
|
|
39
|
+
* @returns Record, or null
|
|
40
|
+
*/
|
|
41
|
+
get(runtime) {
|
|
42
|
+
return this.read().runtimes[runtime] ?? null;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Replace a record.
|
|
46
|
+
*
|
|
47
|
+
* @param record - Record
|
|
48
|
+
* @returns The record
|
|
49
|
+
*/
|
|
50
|
+
set(record) {
|
|
51
|
+
const data = this.read();
|
|
52
|
+
data.runtimes[record.runtime] = record;
|
|
53
|
+
this.write(data);
|
|
54
|
+
return record;
|
|
55
|
+
}
|
|
56
|
+
read() {
|
|
57
|
+
try {
|
|
58
|
+
const raw = JSON.parse(fs.readFileSync(this.file, 'utf-8'));
|
|
59
|
+
const runtimes = {};
|
|
60
|
+
for (const [runtime, r] of Object.entries(raw.runtimes ?? {})) {
|
|
61
|
+
if (!r || !STATUSES.includes(r.status) || typeof r.updatedAt !== 'string')
|
|
62
|
+
continue;
|
|
63
|
+
runtimes[runtime] = { ...r, runtime };
|
|
64
|
+
}
|
|
65
|
+
return { version: 1, runtimes };
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return { version: 1, runtimes: {} };
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
write(data) {
|
|
72
|
+
fs.mkdirSync(path.dirname(this.file), { recursive: true });
|
|
73
|
+
const tmp = `${this.file}.${process.pid}.tmp`;
|
|
74
|
+
fs.writeFileSync(tmp, JSON.stringify(data, null, 2));
|
|
75
|
+
fs.renameSync(tmp, this.file);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=runtime-terms.store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-terms.store.js","sourceRoot":"","sources":["../../../../../../backend/src/services/runtime-terms/runtime-terms.store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAmC7D,MAAM,QAAQ,GAAkC,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAE3G,oCAAoC;AACpC,MAAM,OAAO,iBAAiB;IAIA;IAH7B;;OAEG;IACH,YAA6B,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAE7C;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,UAAkB;QAC/B,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,8CAA8C;IAC9C,GAAG;QACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,OAAe;QAClB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,MAA0B;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,IAAI;QACX,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAuB,CAAC;YAClF,MAAM,QAAQ,GAAuC,EAAE,CAAC;YACxD,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ;oBAAE,SAAS;gBACpF,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;YACvC,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACrC,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,IAAe;QAC5B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;QAC9C,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;CACD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime Terms consent — the Antigravity CLI profile and the wiring with
|
|
3
|
+
* the real decision cards, PTY sessions and smoke test.
|
|
4
|
+
* specs/2026-10-01-runtime-terms-consent.md
|
|
5
|
+
*
|
|
6
|
+
* @module services/runtime-terms/runtime-terms.wiring
|
|
7
|
+
*/
|
|
8
|
+
import { DecisionService } from '../decisions/decision.service.js';
|
|
9
|
+
import { RuntimeTermsConsentService, type RuntimeTermsProfile, type TermsCardText } from './runtime-terms-consent.service.js';
|
|
10
|
+
/**
|
|
11
|
+
* The card for Antigravity CLI's Terms.
|
|
12
|
+
*
|
|
13
|
+
* @param machine - This machine's name
|
|
14
|
+
* @returns Title, question and body sections (English, Slack mrkdwn)
|
|
15
|
+
*/
|
|
16
|
+
export declare function antigravityTermsCard(machine: string): TermsCardText;
|
|
17
|
+
/** Antigravity CLI's profile. */
|
|
18
|
+
export declare const ANTIGRAVITY_TERMS_PROFILE: RuntimeTermsProfile;
|
|
19
|
+
/**
|
|
20
|
+
* Name of the harness's dedicated session for a runtime.
|
|
21
|
+
*
|
|
22
|
+
* @param runtime - Runtime id
|
|
23
|
+
* @returns Session name
|
|
24
|
+
*/
|
|
25
|
+
export declare function termsSessionName(runtime: string): string;
|
|
26
|
+
/** What the composition root provides. */
|
|
27
|
+
export interface RuntimeTermsWiringInput {
|
|
28
|
+
crewlyHome: string;
|
|
29
|
+
decisions: DecisionService;
|
|
30
|
+
machineName: () => string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Build the service, install it and subscribe it to decision cards.
|
|
34
|
+
*
|
|
35
|
+
* @param input - Composition-root hooks
|
|
36
|
+
* @returns The service
|
|
37
|
+
*/
|
|
38
|
+
export declare function startRuntimeTerms(input: RuntimeTermsWiringInput): RuntimeTermsConsentService;
|
|
39
|
+
//# sourceMappingURL=runtime-terms.wiring.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-terms.wiring.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/runtime-terms/runtime-terms.wiring.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,OAAO,EACN,0BAA0B,EAE1B,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAElB,MAAM,oCAAoC,CAAC;AAK5C;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAYnE;AAED,iCAAiC;AACjC,eAAO,MAAM,yBAAyB,EAAE,mBAoBvC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AA6DD,0CAA0C;AAC1C,MAAM,WAAW,uBAAuB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,WAAW,EAAE,MAAM,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,GAAG,0BAA0B,CAuB5F"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime Terms consent — the Antigravity CLI profile and the wiring with
|
|
3
|
+
* the real decision cards, PTY sessions and smoke test.
|
|
4
|
+
* specs/2026-10-01-runtime-terms-consent.md
|
|
5
|
+
*
|
|
6
|
+
* @module services/runtime-terms/runtime-terms.wiring
|
|
7
|
+
*/
|
|
8
|
+
import * as fs from 'fs';
|
|
9
|
+
import * as path from 'path';
|
|
10
|
+
import { ANTIGRAVITY_CONSTANTS, RUNTIME_TERMS_CONSTANTS, RUNTIME_TYPES } from '../../constants.js';
|
|
11
|
+
import { LoggerService } from '../core/logger.service.js';
|
|
12
|
+
import { DecisionService } from '../decisions/decision.service.js';
|
|
13
|
+
import { driveAntigravityTerms } from './antigravity-terms-driver.js';
|
|
14
|
+
import { parseAntigravityTermsScreen } from './antigravity-terms-screens.js';
|
|
15
|
+
import { RuntimeTermsConsentService, setRuntimeTermsConsentService, } from './runtime-terms-consent.service.js';
|
|
16
|
+
import { RuntimeTermsStore } from './runtime-terms.store.js';
|
|
17
|
+
const A = RUNTIME_TERMS_CONSTANTS.ANTIGRAVITY;
|
|
18
|
+
/**
|
|
19
|
+
* The card for Antigravity CLI's Terms.
|
|
20
|
+
*
|
|
21
|
+
* @param machine - This machine's name
|
|
22
|
+
* @returns Title, question and body sections (English, Slack mrkdwn)
|
|
23
|
+
*/
|
|
24
|
+
export function antigravityTermsCard(machine) {
|
|
25
|
+
return {
|
|
26
|
+
title: `Antigravity CLI · Terms of Service (${machine})`,
|
|
27
|
+
question: `Antigravity CLI on ${machine} needs Google's Terms of Service accepted once before it can run. Do you agree?`,
|
|
28
|
+
body: [
|
|
29
|
+
`*What you'd agree to:* Google's Antigravity CLI Terms of Service and the Google Privacy Policy. The screen also warns: ${A.SECURITY_NOTE}`,
|
|
30
|
+
`*Links:* <${A.TERMS_URL}|Terms of Service> · <${A.PRIVACY_URL}|Privacy Policy>`,
|
|
31
|
+
`*A separate item, pre-checked on the screen:*\n> ${A.DATA_ITEM_FULL}\n` +
|
|
32
|
+
`*${RUNTIME_TERMS_CONSTANTS.OPTIONS.AGREE_NO_DATA}* unchecks it. *${RUNTIME_TERMS_CONSTANTS.OPTIONS.AGREE_SHARE_DATA}* leaves it checked. ` +
|
|
33
|
+
`*${RUNTIME_TERMS_CONSTANTS.OPTIONS.DECLINE}* accepts nothing, and Crewly stops using Antigravity CLI on this machine.`,
|
|
34
|
+
],
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/** Antigravity CLI's profile. */
|
|
38
|
+
export const ANTIGRAVITY_TERMS_PROFILE = {
|
|
39
|
+
runtime: RUNTIME_TYPES.ANTIGRAVITY_CLI,
|
|
40
|
+
label: 'Antigravity CLI',
|
|
41
|
+
info: {
|
|
42
|
+
summary: `Google's Antigravity CLI Terms of Service and the Google Privacy Policy. The screen also warns: ${A.SECURITY_NOTE}`,
|
|
43
|
+
dataItem: A.DATA_ITEM_FULL,
|
|
44
|
+
links: [
|
|
45
|
+
{ label: 'Terms of Service', url: A.TERMS_URL },
|
|
46
|
+
{ label: 'Privacy Policy', url: A.PRIVACY_URL },
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
card: antigravityTermsCard,
|
|
50
|
+
drive: (term, shareData) => driveAntigravityTerms(term, { shareData }),
|
|
51
|
+
classify: (screen) => {
|
|
52
|
+
const kind = parseAntigravityTermsScreen(screen).kind;
|
|
53
|
+
if (kind === 'terms' || kind === 'color_scheme')
|
|
54
|
+
return 'terms';
|
|
55
|
+
if (kind === 'main_prompt' || kind === 'trust')
|
|
56
|
+
return 'ready';
|
|
57
|
+
if (kind === 'login')
|
|
58
|
+
return 'blocked';
|
|
59
|
+
return 'unknown';
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Name of the harness's dedicated session for a runtime.
|
|
64
|
+
*
|
|
65
|
+
* @param runtime - Runtime id
|
|
66
|
+
* @returns Session name
|
|
67
|
+
*/
|
|
68
|
+
export function termsSessionName(runtime) {
|
|
69
|
+
return `${RUNTIME_TERMS_CONSTANTS.SESSION_PREFIX}${runtime}`;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Launch Antigravity CLI in a dedicated PTY session, the way agents' PTYs
|
|
73
|
+
* are run: the session backend, the Gemini API key provider set first
|
|
74
|
+
* (never an account login), the key in the spawn environment.
|
|
75
|
+
*
|
|
76
|
+
* @param crewlyHome - CREWLY_HOME (scratch folder for the session)
|
|
77
|
+
* @returns The session
|
|
78
|
+
*/
|
|
79
|
+
async function launchAntigravity(crewlyHome) {
|
|
80
|
+
const { getSessionBackend, createSessionCommandHelper } = await import('../session/index.js');
|
|
81
|
+
const { AntigravityRuntimeService, resolveAntigravityApiKey } = await import('../agent/antigravity-runtime.service.js');
|
|
82
|
+
const { getHarnessCredentialsStore } = await import('../harness/harness-credentials.store.js');
|
|
83
|
+
const helper = createSessionCommandHelper(await getSessionBackend());
|
|
84
|
+
const name = termsSessionName(RUNTIME_TYPES.ANTIGRAVITY_CLI);
|
|
85
|
+
const workDir = path.join(crewlyHome, 'runtime-terms', RUNTIME_TYPES.ANTIGRAVITY_CLI);
|
|
86
|
+
fs.mkdirSync(workDir, { recursive: true });
|
|
87
|
+
// Same pre-launch guard as an agent: a key, the Gemini provider, the folder trusted.
|
|
88
|
+
await new AntigravityRuntimeService(helper, workDir).prepareLaunch(workDir);
|
|
89
|
+
const key = await resolveAntigravityApiKey();
|
|
90
|
+
const env = {
|
|
91
|
+
...getHarnessCredentialsStore().harnessEnvForAgents(process.env, RUNTIME_TYPES.ANTIGRAVITY_CLI),
|
|
92
|
+
...(key ? { [ANTIGRAVITY_CONSTANTS.API_KEY_ENV]: key } : {}),
|
|
93
|
+
};
|
|
94
|
+
if (helper.sessionExists(name))
|
|
95
|
+
await helper.killSession(name);
|
|
96
|
+
await helper.createSession(name, workDir, {
|
|
97
|
+
command: '/bin/sh',
|
|
98
|
+
args: ['-c', `exec ${ANTIGRAVITY_CONSTANTS.LAUNCH_COMMAND}`],
|
|
99
|
+
env,
|
|
100
|
+
cols: RUNTIME_TERMS_CONSTANTS.COLS,
|
|
101
|
+
rows: RUNTIME_TERMS_CONSTANTS.ROWS,
|
|
102
|
+
});
|
|
103
|
+
return {
|
|
104
|
+
terminal: {
|
|
105
|
+
write: (data) => helper.writeRaw(name, data),
|
|
106
|
+
capture: () => helper.capturePane(name, RUNTIME_TERMS_CONSTANTS.ROWS * 2),
|
|
107
|
+
},
|
|
108
|
+
close: async () => {
|
|
109
|
+
if (!helper.sessionExists(name))
|
|
110
|
+
return;
|
|
111
|
+
// Leave agy (Ctrl+C twice), then kill the session.
|
|
112
|
+
await helper.sendCtrlC(name).catch(() => undefined);
|
|
113
|
+
await helper.sendCtrlC(name).catch(() => undefined);
|
|
114
|
+
await helper.killSession(name).catch(() => undefined);
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Kill a runtime's dedicated session if it is running.
|
|
120
|
+
*
|
|
121
|
+
* @param runtime - Runtime id
|
|
122
|
+
*/
|
|
123
|
+
async function closeTermsSession(runtime) {
|
|
124
|
+
const { getSessionBackend } = await import('../session/index.js');
|
|
125
|
+
const backend = await getSessionBackend();
|
|
126
|
+
const name = termsSessionName(runtime);
|
|
127
|
+
if (backend.sessionExists(name))
|
|
128
|
+
await backend.killSession(name);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Build the service, install it and subscribe it to decision cards.
|
|
132
|
+
*
|
|
133
|
+
* @param input - Composition-root hooks
|
|
134
|
+
* @returns The service
|
|
135
|
+
*/
|
|
136
|
+
export function startRuntimeTerms(input) {
|
|
137
|
+
const service = new RuntimeTermsConsentService({
|
|
138
|
+
store: RuntimeTermsStore.inHome(input.crewlyHome),
|
|
139
|
+
decisions: () => input.decisions,
|
|
140
|
+
profiles: { [ANTIGRAVITY_TERMS_PROFILE.runtime]: ANTIGRAVITY_TERMS_PROFILE },
|
|
141
|
+
launch: async (runtime) => {
|
|
142
|
+
if (runtime !== RUNTIME_TYPES.ANTIGRAVITY_CLI)
|
|
143
|
+
throw new Error(`No Terms flow for ${runtime}`);
|
|
144
|
+
return launchAntigravity(input.crewlyHome);
|
|
145
|
+
},
|
|
146
|
+
closeSession: closeTermsSession,
|
|
147
|
+
runSmokeTest: async (runtime) => {
|
|
148
|
+
const { getRuntimeSmokeTestService } = await import('../../controllers/system/runtime-fallback.controller.js');
|
|
149
|
+
return getRuntimeSmokeTestService().start(runtime).done;
|
|
150
|
+
},
|
|
151
|
+
machineName: input.machineName,
|
|
152
|
+
onChange: () => {
|
|
153
|
+
void import('../runtime-fallback/runtime-fallback.service.js').then((m) => m.getRuntimeFallbackService()?.invalidateAvailability()).catch(() => undefined);
|
|
154
|
+
},
|
|
155
|
+
logger: LoggerService.getInstance().createComponentLogger('RuntimeTerms'),
|
|
156
|
+
});
|
|
157
|
+
DecisionService.registerKindHandler('runtime_terms', service);
|
|
158
|
+
setRuntimeTermsConsentService(service);
|
|
159
|
+
return service;
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=runtime-terms.wiring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-terms.wiring.js","sourceRoot":"","sources":["../../../../../../backend/src/services/runtime-terms/runtime-terms.wiring.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,13 +10,31 @@
|
|
|
10
10
|
* @module types/decision.types
|
|
11
11
|
*/
|
|
12
12
|
/** Sensitive asks are never auto-applied at the deadline. */
|
|
13
|
-
export type DecisionSensitiveKind = 'email' | 'publish' | 'deploy' | 'spend' | 'browser_action';
|
|
13
|
+
export type DecisionSensitiveKind = 'email' | 'publish' | 'deploy' | 'spend' | 'browser_action' | 'runtime_terms';
|
|
14
14
|
/**
|
|
15
|
-
* Decisions Crewly asks
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* Decisions Crewly asks itself (not through ask-owner). The kind's handler
|
|
16
|
+
* (see `DecisionService.registerKindHandler`) acts on the answer and returns
|
|
17
|
+
* the note the asking agent gets (none for harness-owned decisions).
|
|
18
|
+
*
|
|
19
|
+
* - `browser_action`: a held browser action, asked on an agent's behalf
|
|
20
|
+
* - `runtime_terms`: a runtime's Terms of Service, asked by the harness
|
|
21
|
+
* (specs/2026-10-01-runtime-terms-consent.md)
|
|
22
|
+
*/
|
|
23
|
+
export type DecisionKind = 'browser_action' | 'runtime_terms';
|
|
24
|
+
/**
|
|
25
|
+
* A decision the harness itself asks (not an agent): posted from this
|
|
26
|
+
* machine's orc bot in the owner's DM, handled by its kind's handler, never
|
|
27
|
+
* delivered to an agent. specs/2026-10-01-runtime-terms-consent.md
|
|
18
28
|
*/
|
|
19
|
-
export
|
|
29
|
+
export interface DecisionSystemRef {
|
|
30
|
+
/** Subject within the decision's kind (the runtime id) */
|
|
31
|
+
key: string;
|
|
32
|
+
/**
|
|
33
|
+
* The default is the declining option, so it IS applied at the deadline
|
|
34
|
+
* even when the decision is sensitive (declining is always safe).
|
|
35
|
+
*/
|
|
36
|
+
defaultIsDecline?: boolean;
|
|
37
|
+
}
|
|
20
38
|
/** The held browser action a `browser_action` decision is about. */
|
|
21
39
|
export interface BrowserActionSubject {
|
|
22
40
|
/** Agent whose action is held */
|
|
@@ -102,6 +120,12 @@ export interface OwnerDecision {
|
|
|
102
120
|
teamId?: string;
|
|
103
121
|
/** Work item the asker was on when it asked */
|
|
104
122
|
workItemId?: string;
|
|
123
|
+
/** Harness-owned decision (owner DM, no agent); set together with `kind` */
|
|
124
|
+
system?: DecisionSystemRef;
|
|
125
|
+
/** Card header instead of "Decision D-n" (system decisions) */
|
|
126
|
+
title?: string;
|
|
127
|
+
/** Extra mrkdwn sections shown under the question (system decisions) */
|
|
128
|
+
body?: string[];
|
|
105
129
|
status: DecisionStatus;
|
|
106
130
|
card?: DecisionCardRef;
|
|
107
131
|
/** Why the card could not be posted (shown in the dashboard; retried on the next tick) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/decision.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"decision.types.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/decision.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2863,11 +2863,76 @@ export declare const ANTIGRAVITY_CONSTANTS: {
|
|
|
2863
2863
|
readonly NO_API_KEY: "Antigravity CLI runs in Crewly only with a Gemini API key, and none is saved. Add one in Settings → Runtimes → Antigravity CLI (or run `crewly login antigravity`), then start the agent again. Crewly never uses a Google account login for Antigravity.";
|
|
2864
2864
|
readonly KEY_NOT_IN_SESSION: "Antigravity CLI started without GEMINI_API_KEY in its environment, so it refused to run (Crewly never lets it fall back to a Google account). Save the Gemini API key in Settings → Runtimes → Antigravity CLI (or run `crewly login antigravity`) — a key saved there is given to every Antigravity session at start — then start the agent again.";
|
|
2865
2865
|
readonly ACCOUNT_LOGIN: "Antigravity CLI asked for a Google account sign-in. Crewly does not use Antigravity account (OAuth) login — Google does not allow third-party tools to — so the agent was stopped. Check that a Gemini API key is saved in Settings → Runtimes, then start the agent again.";
|
|
2866
|
-
readonly FIRST_RUN: "Antigravity CLI has not been set up on this machine yet: it shows its first-run screens (colour scheme, Google's Terms of Service and data use), which only you can accept.
|
|
2866
|
+
readonly FIRST_RUN: "Antigravity CLI has not been set up on this machine yet: it shows its first-run screens (colour scheme, Google's Terms of Service and data use), which only you can accept. Crewly has sent you a card in Slack (a DM from this machine's Crewly Orc) to agree or not; you can also answer in Settings → Runtimes → Antigravity CLI → Accept terms…. Then start the agent again.";
|
|
2867
2867
|
readonly SETTINGS_UNREADABLE: "Crewly could not switch Antigravity CLI to your Gemini API key because ~/.gemini/antigravity-cli/settings.json is not valid JSON. Fix or remove that file, then start the agent again.";
|
|
2868
2868
|
readonly SETTINGS_WRITE_FAILED: "Crewly could not write ~/.gemini/antigravity-cli/settings.json to switch Antigravity CLI to your Gemini API key, so the agent was not started (it would otherwise fall back to a Google account login). Check that the file and its folder are writable, then start the agent again.";
|
|
2869
2869
|
};
|
|
2870
2870
|
};
|
|
2871
|
+
/**
|
|
2872
|
+
* Owner consent for a runtime's first-run Terms of Service, asked with a
|
|
2873
|
+
* Slack decision card; the harness never accepts third-party terms on its
|
|
2874
|
+
* own. specs/2026-10-01-runtime-terms-consent.md
|
|
2875
|
+
*/
|
|
2876
|
+
export declare const RUNTIME_TERMS_CONSTANTS: {
|
|
2877
|
+
/** Per-machine consent state under CREWLY_HOME */
|
|
2878
|
+
readonly STORE_FILENAME: "runtime-terms-consent.json";
|
|
2879
|
+
/** How long the owner has to answer; then the default (Don't agree) applies */
|
|
2880
|
+
readonly DEADLINE_MS: number;
|
|
2881
|
+
/** Card buttons, in order (the third is the default) */
|
|
2882
|
+
readonly OPTIONS: {
|
|
2883
|
+
readonly AGREE_NO_DATA: "Agree, no data sharing";
|
|
2884
|
+
readonly AGREE_SHARE_DATA: "Agree + share data";
|
|
2885
|
+
readonly DECLINE: "Don't agree";
|
|
2886
|
+
};
|
|
2887
|
+
/** Name prefix of the dedicated PTY session the harness drives */
|
|
2888
|
+
readonly SESSION_PREFIX: "crewly-terms-";
|
|
2889
|
+
/** Size of that session (wide enough that the screens do not wrap) */
|
|
2890
|
+
readonly COLS: 120;
|
|
2891
|
+
readonly ROWS: 40;
|
|
2892
|
+
/** Driving the first-run screens */
|
|
2893
|
+
readonly DRIVE: {
|
|
2894
|
+
/** Screen read cadence */
|
|
2895
|
+
readonly POLL_MS: 300;
|
|
2896
|
+
/** After a key: how long to wait for the screen to change */
|
|
2897
|
+
readonly KEY_SETTLE_MS: 3000;
|
|
2898
|
+
/** Waiting for the first screen after launch */
|
|
2899
|
+
readonly LAUNCH_TIMEOUT_MS: 60000;
|
|
2900
|
+
/** The same unrecognised screen for this long = abort */
|
|
2901
|
+
readonly UNKNOWN_SCREEN_TIMEOUT_MS: 20000;
|
|
2902
|
+
/** After Done: waiting for the main prompt */
|
|
2903
|
+
readonly PROMPT_TIMEOUT_MS: 90000;
|
|
2904
|
+
/** Upper bound on keys sent (a loop that does not converge aborts) */
|
|
2905
|
+
readonly MAX_KEYS: 60;
|
|
2906
|
+
/** Screen lines quoted in the card thread on an abort */
|
|
2907
|
+
readonly SCREEN_LINES_IN_THREAD: 40;
|
|
2908
|
+
};
|
|
2909
|
+
/** Antigravity CLI (agy 1.2.14) first-run screens, matched as text */
|
|
2910
|
+
readonly ANTIGRAVITY: {
|
|
2911
|
+
readonly WELCOME: "Welcome to Antigravity CLI!";
|
|
2912
|
+
readonly COLOR_SCHEME_TITLE: "Choose your color scheme:";
|
|
2913
|
+
/** Schemes in screen order; the first is the default Crewly keeps */
|
|
2914
|
+
readonly COLOR_SCHEMES: readonly string[];
|
|
2915
|
+
readonly DEFAULT_COLOR_SCHEME: "terminal";
|
|
2916
|
+
readonly MIGRATION_TITLE: "Migration options:";
|
|
2917
|
+
readonly IMPORT_ITEM: "Import extensions from Gemini CLI";
|
|
2918
|
+
readonly NEXT_BUTTON: "Next";
|
|
2919
|
+
readonly TERMS_TITLE: "Terms of Service & Data Use";
|
|
2920
|
+
/** Start of the pre-checked data-sharing item */
|
|
2921
|
+
readonly DATA_ITEM: "Yes, I agree to help improve Antigravity CLI";
|
|
2922
|
+
readonly DATA_ITEM_FULL: "Yes, I agree to help improve Antigravity CLI by allowing Google to collect and use my Interactions data, subject to the Google Antigravity CLI Terms of Service and Google Privacy Policy. I understand I can choose to opt out later whenever I want via my settings.";
|
|
2923
|
+
readonly PREVIOUS_BUTTON: "Previous";
|
|
2924
|
+
readonly DONE_BUTTON: "Done";
|
|
2925
|
+
readonly TERMS_URL: "https://antigravity.google/terms";
|
|
2926
|
+
readonly PRIVACY_URL: "https://policies.google.com/privacy";
|
|
2927
|
+
readonly SECURITY_NOTE: "AI coding agents can run code on their own, leak data, follow injected prompts and pull in compromised packages, so their actions should be watched.";
|
|
2928
|
+
};
|
|
2929
|
+
readonly MESSAGES: {
|
|
2930
|
+
readonly DECLINED_BY_OWNER: "You chose Don't agree";
|
|
2931
|
+
readonly DECLINED_BY_DEADLINE: "No answer within 24 h, so the default (Don't agree) applied";
|
|
2932
|
+
readonly PENDING: "Waiting for you to accept its Terms of Service (Slack card, or Settings → Runtimes → Accept terms…)";
|
|
2933
|
+
readonly DECLINED_SUFFIX: "Terms not accepted";
|
|
2934
|
+
};
|
|
2935
|
+
};
|
|
2871
2936
|
/**
|
|
2872
2937
|
* Timing for delivering the registration instruction to a freshly booted
|
|
2873
2938
|
* runtime and re-delivering it once when no registration arrives.
|