instar 1.3.202 → 1.3.203
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/cli.js +4 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/init.d.ts +2 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +2 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/route.d.ts.map +1 -1
- package/dist/commands/route.js +2 -0
- package/dist/commands/route.js.map +1 -1
- package/dist/commands/setup.d.ts +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +47 -12
- package/dist/commands/setup.js.map +1 -1
- package/dist/core/Config.d.ts +12 -2
- package/dist/core/Config.d.ts.map +1 -1
- package/dist/core/Config.js +36 -10
- package/dist/core/Config.js.map +1 -1
- package/dist/core/FrameworkSessionStore.d.ts +2 -9
- package/dist/core/FrameworkSessionStore.d.ts.map +1 -1
- package/dist/core/FrameworkSessionStore.js +16 -0
- package/dist/core/FrameworkSessionStore.js.map +1 -1
- package/dist/core/GeminiCliIntelligenceProvider.d.ts +44 -0
- package/dist/core/GeminiCliIntelligenceProvider.d.ts.map +1 -0
- package/dist/core/GeminiCliIntelligenceProvider.js +65 -0
- package/dist/core/GeminiCliIntelligenceProvider.js.map +1 -0
- package/dist/core/IdentityRenderer.d.ts.map +1 -1
- package/dist/core/IdentityRenderer.js +6 -3
- package/dist/core/IdentityRenderer.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +7 -1
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/PreCompactionFlush.d.ts +3 -1
- package/dist/core/PreCompactionFlush.d.ts.map +1 -1
- package/dist/core/PreCompactionFlush.js +3 -1
- package/dist/core/PreCompactionFlush.js.map +1 -1
- package/dist/core/ResumeValidator.d.ts +1 -1
- package/dist/core/ResumeValidator.d.ts.map +1 -1
- package/dist/core/TopicFrameworksStore.d.ts.map +1 -1
- package/dist/core/TopicFrameworksStore.js +1 -0
- package/dist/core/TopicFrameworksStore.js.map +1 -1
- package/dist/core/TopicResumeMap.d.ts.map +1 -1
- package/dist/core/TopicResumeMap.js +13 -0
- package/dist/core/TopicResumeMap.js.map +1 -1
- package/dist/core/frameworkSessionLaunch.d.ts.map +1 -1
- package/dist/core/frameworkSessionLaunch.js +73 -0
- package/dist/core/frameworkSessionLaunch.js.map +1 -1
- package/dist/core/intelligenceProviderFactory.d.ts +8 -1
- package/dist/core/intelligenceProviderFactory.d.ts.map +1 -1
- package/dist/core/intelligenceProviderFactory.js +13 -1
- package/dist/core/intelligenceProviderFactory.js.map +1 -1
- package/dist/core/types.d.ts +6 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/messaging/shared/telegramRelayPrompt.d.ts +1 -1
- package/dist/messaging/shared/telegramRelayPrompt.d.ts.map +1 -1
- package/dist/messaging/shared/telegramRelayPrompt.js.map +1 -1
- package/dist/monitoring/CompactionSentinel.d.ts +2 -0
- package/dist/monitoring/CompactionSentinel.d.ts.map +1 -1
- package/dist/monitoring/CompactionSentinel.js +10 -0
- package/dist/monitoring/CompactionSentinel.js.map +1 -1
- package/dist/monitoring/RateLimitSentinel.d.ts +2 -0
- package/dist/monitoring/RateLimitSentinel.d.ts.map +1 -1
- package/dist/monitoring/RateLimitSentinel.js +15 -1
- package/dist/monitoring/RateLimitSentinel.js.map +1 -1
- package/dist/monitoring/SessionReaper.d.ts +1 -1
- package/dist/monitoring/SessionReaper.d.ts.map +1 -1
- package/dist/monitoring/SessionReaper.js +7 -0
- package/dist/monitoring/SessionReaper.js.map +1 -1
- package/dist/monitoring/frameworkActivitySignals.d.ts.map +1 -1
- package/dist/monitoring/frameworkActivitySignals.js +17 -0
- package/dist/monitoring/frameworkActivitySignals.js.map +1 -1
- package/dist/monitoring/frameworkProcessSignals.d.ts.map +1 -1
- package/dist/monitoring/frameworkProcessSignals.js +15 -0
- package/dist/monitoring/frameworkProcessSignals.js.map +1 -1
- package/dist/providers/adapters/gemini-cli/capabilities.d.ts +28 -0
- package/dist/providers/adapters/gemini-cli/capabilities.d.ts.map +1 -0
- package/dist/providers/adapters/gemini-cli/capabilities.js +38 -0
- package/dist/providers/adapters/gemini-cli/capabilities.js.map +1 -0
- package/dist/providers/adapters/gemini-cli/config.d.ts +50 -0
- package/dist/providers/adapters/gemini-cli/config.d.ts.map +1 -0
- package/dist/providers/adapters/gemini-cli/config.js +36 -0
- package/dist/providers/adapters/gemini-cli/config.js.map +1 -0
- package/dist/providers/adapters/gemini-cli/control/geminiHardKill.d.ts +19 -0
- package/dist/providers/adapters/gemini-cli/control/geminiHardKill.d.ts.map +1 -0
- package/dist/providers/adapters/gemini-cli/control/geminiHardKill.js +67 -0
- package/dist/providers/adapters/gemini-cli/control/geminiHardKill.js.map +1 -0
- package/dist/providers/adapters/gemini-cli/credentials.d.ts +40 -0
- package/dist/providers/adapters/gemini-cli/credentials.d.ts.map +1 -0
- package/dist/providers/adapters/gemini-cli/credentials.js +41 -0
- package/dist/providers/adapters/gemini-cli/credentials.js.map +1 -0
- package/dist/providers/adapters/gemini-cli/errors.d.ts +23 -0
- package/dist/providers/adapters/gemini-cli/errors.d.ts.map +1 -0
- package/dist/providers/adapters/gemini-cli/errors.js +41 -0
- package/dist/providers/adapters/gemini-cli/errors.js.map +1 -0
- package/dist/providers/adapters/gemini-cli/index.d.ts +38 -0
- package/dist/providers/adapters/gemini-cli/index.d.ts.map +1 -0
- package/dist/providers/adapters/gemini-cli/index.js +66 -0
- package/dist/providers/adapters/gemini-cli/index.js.map +1 -0
- package/dist/providers/adapters/gemini-cli/models.d.ts +29 -0
- package/dist/providers/adapters/gemini-cli/models.d.ts.map +1 -0
- package/dist/providers/adapters/gemini-cli/models.js +43 -0
- package/dist/providers/adapters/gemini-cli/models.js.map +1 -0
- package/dist/providers/adapters/gemini-cli/observability/sessionId.d.ts +26 -0
- package/dist/providers/adapters/gemini-cli/observability/sessionId.d.ts.map +1 -0
- package/dist/providers/adapters/gemini-cli/observability/sessionId.js +52 -0
- package/dist/providers/adapters/gemini-cli/observability/sessionId.js.map +1 -0
- package/dist/providers/adapters/gemini-cli/observability/sessionPaths.d.ts +72 -0
- package/dist/providers/adapters/gemini-cli/observability/sessionPaths.d.ts.map +1 -0
- package/dist/providers/adapters/gemini-cli/observability/sessionPaths.js +202 -0
- package/dist/providers/adapters/gemini-cli/observability/sessionPaths.js.map +1 -0
- package/dist/providers/adapters/gemini-cli/transport/geminiSpawn.d.ts +79 -0
- package/dist/providers/adapters/gemini-cli/transport/geminiSpawn.d.ts.map +1 -0
- package/dist/providers/adapters/gemini-cli/transport/geminiSpawn.js +221 -0
- package/dist/providers/adapters/gemini-cli/transport/geminiSpawn.js.map +1 -0
- package/dist/providers/adapters/gemini-cli/transport/oneShotCompletion.d.ts +21 -0
- package/dist/providers/adapters/gemini-cli/transport/oneShotCompletion.d.ts.map +1 -0
- package/dist/providers/adapters/gemini-cli/transport/oneShotCompletion.js +80 -0
- package/dist/providers/adapters/gemini-cli/transport/oneShotCompletion.js.map +1 -0
- package/dist/providers/parity/rules/skillParityRule.d.ts.map +1 -1
- package/dist/providers/parity/rules/skillParityRule.js +8 -0
- package/dist/providers/parity/rules/skillParityRule.js.map +1 -1
- package/dist/threadline/ThreadResumeMap.d.ts.map +1 -1
- package/dist/threadline/ThreadResumeMap.js +14 -0
- package/dist/threadline/ThreadResumeMap.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +47 -47
- package/upgrades/1.3.203.md +30 -0
- package/upgrades/side-effects/APPRENTICESHIP-STEP2-GEMINI-RUNTIME-ADAPTER-SPEC.md +78 -0
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
import * as fs from 'node:fs';
|
|
21
21
|
import * as os from 'node:os';
|
|
22
22
|
import * as path from 'node:path';
|
|
23
|
+
import { findGeminiSessionFileSync } from '../providers/adapters/gemini-cli/observability/sessionPaths.js';
|
|
23
24
|
/**
|
|
24
25
|
* Claude Code: deterministic path
|
|
25
26
|
* `<home>/.claude/projects/<cwd with [/.] → ->/<sessionId>.jsonl`.
|
|
@@ -76,12 +77,27 @@ function safeReaddir(dir) {
|
|
|
76
77
|
* as "nothing to flush/validate", so the failure mode is a safe no-op,
|
|
77
78
|
* identical to the pre-Gap-3 Claude behavior.
|
|
78
79
|
*/
|
|
80
|
+
/**
|
|
81
|
+
* Gemini CLI: `<home>/.gemini/tmp/<projectHash>/chats/session-*-<short8>.json[l]`.
|
|
82
|
+
* Resolved by session UUID through the gemini adapter's sessionPaths helper
|
|
83
|
+
* (the single source of gemini-layout truth — apprenticeship Step 2 §4.0.1).
|
|
84
|
+
* Returns the matched file path, or '' when not found / not a gemini tree.
|
|
85
|
+
*/
|
|
86
|
+
function geminiTranscriptPath(opts) {
|
|
87
|
+
const home = opts.homeDir ?? os.homedir();
|
|
88
|
+
// rootOverride, when given, replaces `<home>/.gemini`; findGeminiSessionFileSync
|
|
89
|
+
// takes the geminiHome (the `.gemini` dir) directly.
|
|
90
|
+
const geminiHome = opts.rootOverride ?? path.join(home, '.gemini');
|
|
91
|
+
return findGeminiSessionFileSync(opts.sessionId, geminiHome) ?? '';
|
|
92
|
+
}
|
|
79
93
|
export function resolveFrameworkTranscriptPath(opts) {
|
|
80
94
|
if (!opts.sessionId)
|
|
81
95
|
return '';
|
|
82
96
|
switch (opts.framework) {
|
|
83
97
|
case 'codex-cli':
|
|
84
98
|
return codexTranscriptPath(opts);
|
|
99
|
+
case 'gemini-cli':
|
|
100
|
+
return geminiTranscriptPath(opts);
|
|
85
101
|
case 'claude-code':
|
|
86
102
|
default:
|
|
87
103
|
return claudeTranscriptPath(opts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrameworkSessionStore.js","sourceRoot":"","sources":["../../src/core/FrameworkSessionStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"FrameworkSessionStore.js","sourceRoot":"","sources":["../../src/core/FrameworkSessionStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GeminiCliIntelligenceProvider — IntelligenceProvider using the Gemini CLI.
|
|
3
|
+
*
|
|
4
|
+
* Sibling of ClaudeCliIntelligenceProvider + CodexCliIntelligenceProvider.
|
|
5
|
+
* Routes judgment calls through the Gemini CLI's verified one-shot
|
|
6
|
+
* (`gemini -m <model> --approval-mode default -p <prompt>`) for gemini-cli
|
|
7
|
+
* installs. Same fast/balanced/capable tier mapping the Gemini adapter uses;
|
|
8
|
+
* same timeout semantics; same fail-loudly behavior so callers can fall back.
|
|
9
|
+
*
|
|
10
|
+
* Apprenticeship Step 2 (keystone Face 1): this is the THIRD IntelligenceProvider
|
|
11
|
+
* implementation and the ALIVE path for the gemini body. `server.ts` registers
|
|
12
|
+
* no provider-registry adapters, so the registry adapter
|
|
13
|
+
* (src/providers/adapters/gemini-cli/) is the parity-harness surface; THIS
|
|
14
|
+
* class — constructed by `buildIntelligenceProvider({ framework: 'gemini-cli' })`
|
|
15
|
+
* — is what reviewers, sentinels, reflect, and route actually call.
|
|
16
|
+
*
|
|
17
|
+
* It carries a thin parallel spawn (mirroring CodexCliIntelligenceProvider's
|
|
18
|
+
* structure) but factors the security-critical pieces through the registry
|
|
19
|
+
* adapter's single source of transport truth — the canonical argv builder
|
|
20
|
+
* and the env allowlist + billing-var hard-delete live in
|
|
21
|
+
* providers/adapters/gemini-cli/transport/geminiSpawn.ts, imported here so
|
|
22
|
+
* the alive path and the registry adapter can never diverge on safety.
|
|
23
|
+
*/
|
|
24
|
+
import type { IntelligenceProvider, IntelligenceOptions } from './types.js';
|
|
25
|
+
export interface GeminiCliIntelligenceProviderOptions {
|
|
26
|
+
/** Absolute path to the `gemini` CLI binary. */
|
|
27
|
+
geminiPath: string;
|
|
28
|
+
/**
|
|
29
|
+
* Retained for API compatibility with the other providers' factories.
|
|
30
|
+
* Gemini one-shot judgment calls don't depend on cwd content (the prompt
|
|
31
|
+
* carries the full context), so this is currently unused — but the factory
|
|
32
|
+
* forwards it, so it is accepted.
|
|
33
|
+
*/
|
|
34
|
+
workingDirectory?: string;
|
|
35
|
+
/** Optional override for the captured-output byte cap (per stream). */
|
|
36
|
+
maxOutputBytes?: number;
|
|
37
|
+
}
|
|
38
|
+
export declare class GeminiCliIntelligenceProvider implements IntelligenceProvider {
|
|
39
|
+
private readonly geminiPath;
|
|
40
|
+
private readonly maxOutputBytes;
|
|
41
|
+
constructor(options: GeminiCliIntelligenceProviderOptions);
|
|
42
|
+
evaluate(prompt: string, options?: IntelligenceOptions): Promise<string>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=GeminiCliIntelligenceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeminiCliIntelligenceProvider.d.ts","sourceRoot":"","sources":["../../src/core/GeminiCliIntelligenceProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAU5E,MAAM,WAAW,oCAAoC;IACnD,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,6BAA8B,YAAW,oBAAoB;IACxE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;gBAExC,OAAO,EAAE,oCAAoC;IAOnD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;CAqC/E"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GeminiCliIntelligenceProvider — IntelligenceProvider using the Gemini CLI.
|
|
3
|
+
*
|
|
4
|
+
* Sibling of ClaudeCliIntelligenceProvider + CodexCliIntelligenceProvider.
|
|
5
|
+
* Routes judgment calls through the Gemini CLI's verified one-shot
|
|
6
|
+
* (`gemini -m <model> --approval-mode default -p <prompt>`) for gemini-cli
|
|
7
|
+
* installs. Same fast/balanced/capable tier mapping the Gemini adapter uses;
|
|
8
|
+
* same timeout semantics; same fail-loudly behavior so callers can fall back.
|
|
9
|
+
*
|
|
10
|
+
* Apprenticeship Step 2 (keystone Face 1): this is the THIRD IntelligenceProvider
|
|
11
|
+
* implementation and the ALIVE path for the gemini body. `server.ts` registers
|
|
12
|
+
* no provider-registry adapters, so the registry adapter
|
|
13
|
+
* (src/providers/adapters/gemini-cli/) is the parity-harness surface; THIS
|
|
14
|
+
* class — constructed by `buildIntelligenceProvider({ framework: 'gemini-cli' })`
|
|
15
|
+
* — is what reviewers, sentinels, reflect, and route actually call.
|
|
16
|
+
*
|
|
17
|
+
* It carries a thin parallel spawn (mirroring CodexCliIntelligenceProvider's
|
|
18
|
+
* structure) but factors the security-critical pieces through the registry
|
|
19
|
+
* adapter's single source of transport truth — the canonical argv builder
|
|
20
|
+
* and the env allowlist + billing-var hard-delete live in
|
|
21
|
+
* providers/adapters/gemini-cli/transport/geminiSpawn.ts, imported here so
|
|
22
|
+
* the alive path and the registry adapter can never diverge on safety.
|
|
23
|
+
*/
|
|
24
|
+
import { resolveCliModelFlag } from '../providers/adapters/gemini-cli/models.js';
|
|
25
|
+
import { buildGeminiChildEnv, buildGeminiOneShotArgv, spawnGeminiAndWait, } from '../providers/adapters/gemini-cli/transport/geminiSpawn.js';
|
|
26
|
+
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
27
|
+
export class GeminiCliIntelligenceProvider {
|
|
28
|
+
geminiPath;
|
|
29
|
+
maxOutputBytes;
|
|
30
|
+
constructor(options) {
|
|
31
|
+
this.geminiPath = options.geminiPath;
|
|
32
|
+
this.maxOutputBytes = options.maxOutputBytes;
|
|
33
|
+
// options.workingDirectory is intentionally not stored — one-shot judgment
|
|
34
|
+
// calls carry their full context in the prompt and don't read cwd content.
|
|
35
|
+
}
|
|
36
|
+
async evaluate(prompt, options) {
|
|
37
|
+
const model = resolveCliModelFlag(options?.model);
|
|
38
|
+
// CANONICAL argv — the only form this provider emits:
|
|
39
|
+
// gemini -m <model> --approval-mode default -p <prompt>
|
|
40
|
+
// --approval-mode default is pinned (yolo/auto_edit never reachable here);
|
|
41
|
+
// the prompt is exactly one argv element (the value of -p).
|
|
42
|
+
const args = buildGeminiOneShotArgv(model, prompt);
|
|
43
|
+
// Rule-1a analog: env allowlist + UNCONDITIONAL hard-delete of the
|
|
44
|
+
// Google/Gemini billing vars (never inherit process.env wholesale).
|
|
45
|
+
const childEnv = buildGeminiChildEnv();
|
|
46
|
+
const result = await spawnGeminiAndWait(this.geminiPath, args, {
|
|
47
|
+
timeoutMs: options?.timeoutMs ?? DEFAULT_TIMEOUT_MS,
|
|
48
|
+
env: childEnv,
|
|
49
|
+
...(this.maxOutputBytes !== undefined ? { maxOutputBytes: this.maxOutputBytes } : {}),
|
|
50
|
+
}).catch((err) => {
|
|
51
|
+
// Generous stderr slice so the circuit breaker's rate-limit classifier
|
|
52
|
+
// can see usage/limit language. Fail loudly so callers can fall back.
|
|
53
|
+
const stderr = typeof err.stderr === 'string' ? err.stderr : '';
|
|
54
|
+
throw new Error(`Gemini CLI error: ${err.message}` + (stderr ? ` — ${stderr.slice(0, 600)}` : ''));
|
|
55
|
+
});
|
|
56
|
+
if (result.exitCode !== 0) {
|
|
57
|
+
// The benign `Loaded cached credentials` stderr line only appears on a
|
|
58
|
+
// SUCCESSFUL (exit 0) call; a non-zero exit means a real failure.
|
|
59
|
+
throw new Error(`Gemini CLI exited ${result.exitCode}` +
|
|
60
|
+
(result.stderr ? ` — ${result.stderr.slice(0, 600)}` : ''));
|
|
61
|
+
}
|
|
62
|
+
return result.stdout.trim();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=GeminiCliIntelligenceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeminiCliIntelligenceProvider.js","sourceRoot":"","sources":["../../src/core/GeminiCliIntelligenceProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,2DAA2D,CAAC;AAEnE,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAgBlC,MAAM,OAAO,6BAA6B;IACvB,UAAU,CAAS;IACnB,cAAc,CAAqB;IAEpD,YAAY,OAA6C;QACvD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,2EAA2E;QAC3E,2EAA2E;IAC7E,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAA6B;QAC1D,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAElD,sDAAsD;QACtD,0DAA0D;QAC1D,2EAA2E;QAC3E,4DAA4D;QAC5D,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEnD,mEAAmE;QACnE,oEAAoE;QACpE,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE;YAC7D,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,kBAAkB;YACnD,GAAG,EAAE,QAAQ;YACb,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtF,CAAC,CAAC,KAAK,CAAC,CAAC,GAAgC,EAAE,EAAE;YAC5C,uEAAuE;YACvE,sEAAsE;YACtE,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CACb,qBAAqB,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAClF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,uEAAuE;YACvE,kEAAkE;YAClE,MAAM,IAAI,KAAK,CACb,qBAAqB,MAAM,CAAC,QAAQ,EAAE;gBACpC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC7D,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentityRenderer.d.ts","sourceRoot":"","sources":["../../src/core/IdentityRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AASH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIzD,CAAC;AAwBF,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,2EAA2E;IAC3E,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAiCnF;
|
|
1
|
+
{"version":3,"file":"IdentityRenderer.d.ts","sourceRoot":"","sources":["../../src/core/IdentityRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AASH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIzD,CAAC;AAwBF,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,2EAA2E;IAC3E,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAiCnF;AA8DD;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKhF;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAO,GACtE,MAAM,GAAG,IAAI,CA4Cf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAO,GACtE,aAAa,CAAC,MAAM,CAAC,CAqBvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAClC,MAAM,GAAG,IAAI,CAkBf"}
|
|
@@ -112,7 +112,10 @@ export function renderIdentity(options) {
|
|
|
112
112
|
* relay convention across every turn.
|
|
113
113
|
*/
|
|
114
114
|
function buildPersistentRelayAppendix(framework) {
|
|
115
|
-
|
|
115
|
+
// Codex AND Gemini have no SessionStart hook system, so the shadow file
|
|
116
|
+
// (AGENTS.md / GEMINI.md) is the ONLY persistent carrier of the relay
|
|
117
|
+
// convention across every turn — they get the "every turn" wording.
|
|
118
|
+
const isHooklessFramework = framework === 'codex-cli' || framework === 'gemini-cli';
|
|
116
119
|
return [
|
|
117
120
|
`## Telegram Relay (MANDATORY)`,
|
|
118
121
|
``,
|
|
@@ -130,8 +133,8 @@ function buildPersistentRelayAppendix(framework) {
|
|
|
130
133
|
`- Strip the \`[telegram:N]\` prefix before interpreting the message.`,
|
|
131
134
|
`- Relay ONLY conversational text — not tool output, raw logs, or internal reasoning.`,
|
|
132
135
|
`- Send a short ACK first ("Got it, looking into this…"), then do the work, then send the full reply.`,
|
|
133
|
-
|
|
134
|
-
? `- Codex CLI specifically: this convention applies to EVERY turn in a Telegram-spawned session, not just the first one. There's no
|
|
136
|
+
isHooklessFramework
|
|
137
|
+
? `- ${framework === 'gemini-cli' ? 'Gemini CLI' : 'Codex CLI'} specifically: this convention applies to EVERY turn in a Telegram-spawned session, not just the first one. There's no SessionStart hook reminder beyond this shadow-file section.`
|
|
135
138
|
: `- Claude Code specifically: the SessionStart hook reinforces this on session start; this section is the durable backup.`,
|
|
136
139
|
].join('\n');
|
|
137
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdentityRenderer.js","sourceRoot":"","sources":["../../src/core/IdentityRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA2B;IAC5D,aAAa,EAAE,WAAW;IAC1B,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,WAAW;CAC1B,CAAC;AAEF,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAE9E,SAAS,SAAS,CAAC,SAAiB,EAAE,aAAqB;IACzD,OAAO;QACL,MAAM;QACN,gDAAgD;QAChD,sBAAsB,aAAa,EAAE;QACrC,gBAAgB,SAAS,EAAE;QAC3B,EAAE;QACF,qEAAqE;QACrE,kDAAkD;QAClD,KAAK;QACL,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AA0CD,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,qBAAqB,CAC7B,+CAA+C;cAC7C,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM;cAC7D,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CACjD,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAEtF,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,OAAO,CAAC,wBAAwB;YACpD,CAAC,CAAC,MAAM,GAAG,4BAA4B,CAAC,SAAS,CAAC;YAClD,CAAC,CAAC,EAAE,CAAC;QACP,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,EAAE,OAAO,CAAC,CAAC;QACpE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,4BAA4B,CAAC,SAAiB;IACrD,MAAM,
|
|
1
|
+
{"version":3,"file":"IdentityRenderer.js","sourceRoot":"","sources":["../../src/core/IdentityRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAsCH,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAIjC,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kCAAkC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAiB;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAAiC;gBAEvC,MAAM,EAAE,cAAc;IAIlC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"PostUpdateMigrator.d.ts","sourceRoot":"","sources":["../../src/core/PostUpdateMigrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAsCH,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AAIjC,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kCAAkC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAiB;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,CAAiC;gBAEvC,MAAM,EAAE,cAAc;IAIlC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,oBAAoB;IA0B5B;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAItC;;;;;;OAMG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,qBAAqB,CAAC;IAIjC,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,kBAAkB;IAO1B;;;;OAIG;IACH,OAAO,CAAC,YAAY;IASpB;;;OAGG;IACH,OAAO,IAAI,eAAe;IA+C1B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,0BAA0B;IAmFlC,OAAO,CAAC,0BAA0B;IAmDlC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kCAAkC;IAwH1C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,kCAAkC;IA8C1C,OAAO,CAAC,uBAAuB;IAwE/B,OAAO,CAAC,4CAA4C;IA+CpD;;;;;;;OAOG;IACH,OAAO,CAAC,iCAAiC;IA0BzC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,oCAAoC;IAmB5C,OAAO,CAAC,yBAAyB;IA6FjC;;;;;;;;;;OAUG;IACG,YAAY,IAAI,OAAO,CAAC,eAAe,CAAC;YA4BhC,uBAAuB;IAkGrC,OAAO,CAAC,0BAA0B;IAkGlC,OAAO,CAAC,0BAA0B;IAkElC,OAAO,CAAC,oBAAoB;IA4G5B,OAAO,CAAC,8BAA8B;IA2EtC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,4BAA4B;IAwBpC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,sBAAsB;IAwB9B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,mCAAmC;IAwD3C;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,OAAO,CAAC,yBAAyB;IA4HjC;6EACyE;IACzE,OAAO,CAAC,wBAAwB;IAShC;sDACkD;IAClD,OAAO,CAAC,wBAAwB;IAQhC;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAoOpB;;;;;;;;OAQG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IA6CvE;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAiEzB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAkChC;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB;IAoEhC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAiE5B;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IA8BnC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAiHhC;;;;;;OAMG;IACH,OAAO,CAAC,8BAA8B;IAwDtC,OAAO,CAAC,0BAA0B;IA8DlC;;;OAGG;IACH,OAAO,CAAC,eAAe;IA4vCvB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,kCAAkC;IAoG1C;;;OAGG;IACH,OAAO,CAAC,cAAc;IA6JtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,OAAO,CAAC,yCAAyC;IAyDjD;;;OAGG;IACH,OAAO,CAAC,eAAe;IA0SvB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAqFrB;;;OAGG;IACH;;;OAGG;IACH;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,wBAAwB;IAmEhC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,6BAA6B;IAwDrC;;;;;;;;;OASG;IACH,OAAO,CAAC,yBAAyB;IAsDjC,OAAO,CAAC,wBAAwB;IAqChC,OAAO,CAAC,gBAAgB;IAiBxB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,qBAAqB;IAkE7B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,0BAA0B;IAgDlC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAkC5B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IA2C1B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,oBAAoB;IAgC5B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAyBrB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqC9B;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,qBAAqB,GAAG,yBAAyB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,8BAA8B,GAAG,2BAA2B,GAAG,4BAA4B,GAAG,iBAAiB,GAAG,0BAA0B,GAAG,wBAAwB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,0BAA0B,GAAG,uBAAuB,GAAG,iBAAiB,GAAG,MAAM;IAsBpc,oFAAoF;IACpF,iCAAiC,IAAI,MAAM;IAI3C,6EAA6E;IAC7E,yBAAyB,IAAI,MAAM;IAInC,OAAO,CAAC,mBAAmB;IA4a3B,OAAO,CAAC,wBAAwB;IAqIhC,OAAO,CAAC,2BAA2B;IAoEnC,OAAO,CAAC,yBAAyB;IA8IjC,OAAO,CAAC,2BAA2B;IA0JnC,OAAO,CAAC,qBAAqB;IA4P7B,OAAO,CAAC,uBAAuB;IAqJ/B,OAAO,CAAC,qBAAqB;IA8H7B,OAAO,CAAC,2BAA2B;IAoHnC,OAAO,CAAC,iCAAiC;IA6DzC,OAAO,CAAC,4BAA4B;IA0MpC;;;;;;;;;;OAUG;IACH;;;;;;;;;;;OAWG;IAEH,gBAAuB,iCAAiC,EAAE,WAAW,CAAC,MAAM,CAAC,CA4B1E;IAEH;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,8BAA8B;IAiHtC,OAAO,CAAC,uBAAuB;IAwC/B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,sBAAsB;IAwC9B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,8BAA8B;IA6HtC,OAAO,CAAC,+BAA+B;IAuKvC,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,qBAAqB;IAqO7B,OAAO,CAAC,qBAAqB;IAwI7B,OAAO,CAAC,qBAAqB;IAyN7B,OAAO,CAAC,6BAA6B;IAkLrC,OAAO,CAAC,0BAA0B;IAgClC,OAAO,CAAC,gBAAgB;IAmJxB,OAAO,CAAC,6BAA6B;CAoCtC"}
|
|
@@ -81,7 +81,13 @@ export class PostUpdateMigrator {
|
|
|
81
81
|
const config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
82
82
|
const enabled = config.enabledFrameworks;
|
|
83
83
|
if (Array.isArray(enabled) && enabled.length > 0) {
|
|
84
|
-
|
|
84
|
+
// Apprenticeship Step 2 (§4.3): include 'gemini-cli' in the predicate.
|
|
85
|
+
// The prior filter silently DROPPED gemini-cli, so any migration gated
|
|
86
|
+
// on "gemini enabled" would never fire for an existing gemini-bound
|
|
87
|
+
// agent — a correctness bug for existing agents, the Migration-Parity
|
|
88
|
+
// heart of this spec (the structural twin of the codex getEnabledFrameworks
|
|
89
|
+
// gating).
|
|
90
|
+
const filtered = enabled.filter((f) => f === 'claude-code' || f === 'codex-cli' || f === 'gemini-cli');
|
|
85
91
|
if (filtered.length > 0)
|
|
86
92
|
return filtered;
|
|
87
93
|
}
|