yaaw-se 0.3.0 → 0.3.1
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/commands/config.js +140 -60
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/main.js +10 -1
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/npm-runtime.d.ts +21 -0
- package/dist/cli/npm-runtime.js +38 -0
- package/dist/cli/npm-runtime.js.map +1 -0
- package/dist/cli/update-gate.d.ts +25 -0
- package/dist/cli/update-gate.js +106 -0
- package/dist/cli/update-gate.js.map +1 -0
- package/dist/integrations/codex-catalog.d.ts +2 -1
- package/dist/integrations/codex-catalog.js +11 -3
- package/dist/integrations/codex-catalog.js.map +1 -1
- package/dist/payload/payload-files.json +1 -1
- package/dist/payload/payload.json +1 -1
- package/dist/tui/configure-codex.js +337 -127
- package/dist/tui/configure-codex.js.map +1 -1
- package/dist/tui/confirm-configuration.d.ts +2 -1
- package/dist/tui/confirm-configuration.js +12 -2
- package/dist/tui/confirm-configuration.js.map +1 -1
- package/dist/tui/navigation.d.ts +11 -0
- package/dist/tui/navigation.js +10 -0
- package/dist/tui/navigation.js.map +1 -0
- package/package.json +1 -1
|
@@ -28,68 +28,136 @@ export async function configureProjectIntegration(input) {
|
|
|
28
28
|
const currentProfile = record.configuration?.profile ?? null;
|
|
29
29
|
const state = configurationStateFor(manifest, input.integrationId);
|
|
30
30
|
const pendingChanges = capability.changes.filter(change => change.revision > (record.configuration?.appliedRevision ?? 0));
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if (input.interactive) {
|
|
34
|
-
if (input.showIntro !== false)
|
|
35
|
-
p.intro(`YAAW-SE — ${adapter.displayName} configuration`);
|
|
36
|
-
if (state?.updateAvailable) {
|
|
37
|
-
p.note([`Project: ${input.projectRoot}`, `Current configuration revision: ${state.appliedRevision}`, `Latest supported revision: ${state.availableRevision}`, "", "New since your current configuration:", ...pendingChanges.map(change => ` ${change.title}`)].join("\n"), `${adapter.displayName} configuration`);
|
|
38
|
-
}
|
|
39
|
-
const selection = await configureIntegration(input.integrationId, currentSettings, { reason: input.reason, availableRevision: capability.revision, pendingChanges, currentProfile });
|
|
40
|
-
if (selection.cancelled)
|
|
41
|
-
return { cancelled: true };
|
|
42
|
-
settings = selection.settings;
|
|
43
|
-
profile = selection.profile;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
if (!input.configPath)
|
|
47
|
-
throw new Error("Headless configuration requires --config <path>.");
|
|
48
|
-
const parsed = JSON.parse(await readFile(resolve(input.configPath), "utf8"));
|
|
49
|
-
settings = capability.parseHeadless ? capability.parseHeadless(parsed) : capability.normalize(parsed);
|
|
50
|
-
profile = { id: "custom", revision: capability.revision };
|
|
31
|
+
if (input.interactive && input.showIntro !== false) {
|
|
32
|
+
p.intro(`YAAW-SE — ${adapter.displayName} configuration`);
|
|
51
33
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
34
|
+
if (input.interactive && state?.updateAvailable) {
|
|
35
|
+
p.note([
|
|
36
|
+
`Project: ${input.projectRoot}`,
|
|
37
|
+
`Current configuration revision: ${state.appliedRevision}`,
|
|
38
|
+
`Latest supported revision: ${state.availableRevision}`,
|
|
39
|
+
"",
|
|
40
|
+
"New since your current configuration:",
|
|
41
|
+
...pendingChanges.map(change => ` ${change.title}`)
|
|
42
|
+
].join("\n"), `${adapter.displayName} configuration`);
|
|
56
43
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
44
|
+
let draftSettings = currentSettings;
|
|
45
|
+
let draftProfile = currentProfile;
|
|
46
|
+
let sessionConflictPolicy = input.conflictPolicy ?? "fail";
|
|
47
|
+
let headlessLoaded = false;
|
|
48
|
+
while (true) {
|
|
49
|
+
if (input.interactive) {
|
|
50
|
+
const selection = await configureIntegration(input.integrationId, draftSettings, {
|
|
51
|
+
reason: input.reason,
|
|
52
|
+
availableRevision: capability.revision,
|
|
53
|
+
pendingChanges,
|
|
54
|
+
currentProfile: draftProfile
|
|
55
|
+
});
|
|
56
|
+
if (selection.cancelled)
|
|
57
|
+
return { cancelled: true };
|
|
58
|
+
draftSettings = selection.settings;
|
|
59
|
+
draftProfile = selection.profile;
|
|
60
|
+
}
|
|
61
|
+
else if (!headlessLoaded) {
|
|
62
|
+
if (!input.configPath)
|
|
63
|
+
throw new Error("Headless configuration requires --config <path>.");
|
|
64
|
+
const parsed = JSON.parse(await readFile(resolve(input.configPath), "utf8"));
|
|
65
|
+
draftSettings = capability.parseHeadless ? capability.parseHeadless(parsed) : capability.normalize(parsed);
|
|
66
|
+
draftProfile = { id: "custom", revision: capability.revision };
|
|
67
|
+
headlessLoaded = true;
|
|
68
|
+
}
|
|
69
|
+
let conflictPolicy = input.conflictPolicy ?? sessionConflictPolicy;
|
|
70
|
+
let built;
|
|
71
|
+
try {
|
|
72
|
+
built = await buildConfigurationPlan({
|
|
73
|
+
projectRoot: input.projectRoot,
|
|
74
|
+
payloadRoot: getPayloadRoot(),
|
|
75
|
+
integrationId: input.integrationId,
|
|
76
|
+
settings: draftSettings,
|
|
77
|
+
profile: draftProfile,
|
|
78
|
+
conflictPolicy,
|
|
79
|
+
manifest
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
if (!(error instanceof ManagedConflictError) || !input.interactive || input.conflictPolicy)
|
|
84
|
+
throw error;
|
|
85
|
+
p.note(error.conflicts.join("\n"), `Modified YAAW-managed ${adapter.displayName} configuration found`);
|
|
86
|
+
const selected = await p.select({
|
|
87
|
+
message: "How should this change be handled?",
|
|
88
|
+
initialValue: sessionConflictPolicy === "fail" ? "keep" : sessionConflictPolicy,
|
|
89
|
+
options: [
|
|
90
|
+
{ value: "keep", label: "Keep local value" },
|
|
91
|
+
{ value: "replace", label: "Replace with selected YAAW configuration" },
|
|
92
|
+
{ value: "backup-replace", label: "Backup local configuration and replace" },
|
|
93
|
+
{ value: "fail", label: "Cancel" }
|
|
94
|
+
]
|
|
95
|
+
});
|
|
96
|
+
if (p.isCancel(selected) || selected === "fail")
|
|
97
|
+
return { cancelled: true };
|
|
98
|
+
conflictPolicy = selected;
|
|
99
|
+
sessionConflictPolicy = conflictPolicy;
|
|
100
|
+
built = await buildConfigurationPlan({
|
|
101
|
+
projectRoot: input.projectRoot,
|
|
102
|
+
payloadRoot: getPayloadRoot(),
|
|
103
|
+
integrationId: input.integrationId,
|
|
104
|
+
settings: draftSettings,
|
|
105
|
+
profile: draftProfile,
|
|
106
|
+
conflictPolicy,
|
|
107
|
+
manifest
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
await preflightPlan(built.plan);
|
|
111
|
+
if (input.interactive) {
|
|
112
|
+
const confirmation = await confirmConfiguration({
|
|
113
|
+
projectRoot: input.projectRoot,
|
|
114
|
+
integrationId: input.integrationId,
|
|
115
|
+
currentSettings,
|
|
116
|
+
newSettings: draftSettings,
|
|
117
|
+
currentProfile,
|
|
118
|
+
newProfile: draftProfile
|
|
119
|
+
});
|
|
120
|
+
if (confirmation === "cancel")
|
|
121
|
+
return { cancelled: true };
|
|
122
|
+
if (confirmation === "back")
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
const manifestPath = join(input.projectRoot, MANIFEST_RELATIVE_PATH);
|
|
126
|
+
const changed = await executePlan(built.plan, {
|
|
127
|
+
manifestPath,
|
|
128
|
+
manifestContent: serializeManifest(built.manifest),
|
|
129
|
+
beforeManifest: async () => {
|
|
130
|
+
const verification = await capability.verify?.({
|
|
131
|
+
projectRoot: input.projectRoot,
|
|
132
|
+
payloadRoot: getPayloadRoot(),
|
|
133
|
+
settings: draftSettings
|
|
134
|
+
});
|
|
135
|
+
if (verification && !verification.healthy) {
|
|
136
|
+
throw new Error(`${adapter.displayName} configuration verification failed: ${verification.issues.join("; ")}`);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
70
139
|
});
|
|
71
|
-
if (
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
beforeManifest: async () => {
|
|
84
|
-
const verification = await capability.verify?.({ projectRoot: input.projectRoot, payloadRoot: getPayloadRoot(), settings });
|
|
85
|
-
if (verification && !verification.healthy)
|
|
86
|
-
throw new Error(`${adapter.displayName} configuration verification failed: ${verification.issues.join("; ")}`);
|
|
140
|
+
if (input.interactive) {
|
|
141
|
+
p.note([
|
|
142
|
+
`Project: ${input.projectRoot}`,
|
|
143
|
+
`Profile: ${draftProfile?.id ?? "custom"}`,
|
|
144
|
+
`Configuration revision: ${capability.revision}`,
|
|
145
|
+
"",
|
|
146
|
+
"Preserved:",
|
|
147
|
+
" user-owned provider settings",
|
|
148
|
+
" unrelated integrations",
|
|
149
|
+
" durable project memory",
|
|
150
|
+
...(input.integrationId === "codex" ? ["", "Start a new Codex session/task for project settings to reload."] : [])
|
|
151
|
+
].join("\n"), `${adapter.displayName} configuration updated`);
|
|
87
152
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
153
|
+
return {
|
|
154
|
+
ok: true,
|
|
155
|
+
integrationId: input.integrationId,
|
|
156
|
+
changed,
|
|
157
|
+
revision: capability.revision,
|
|
158
|
+
profile: draftProfile
|
|
159
|
+
};
|
|
91
160
|
}
|
|
92
|
-
return { ok: true, integrationId: input.integrationId, changed, revision: capability.revision, profile };
|
|
93
161
|
}
|
|
94
162
|
export async function runConfig(integration, options = {}) {
|
|
95
163
|
const allowedConflictPolicies = new Set(["fail", "keep", "replace", "backup-replace"]);
|
|
@@ -121,15 +189,27 @@ export async function runConfig(integration, options = {}) {
|
|
|
121
189
|
if (!interactive)
|
|
122
190
|
throw new Error("Headless yaaw config requires an integration argument.");
|
|
123
191
|
p.intro("YAAW-SE — Project configuration");
|
|
124
|
-
const selected = await p.select({
|
|
192
|
+
const selected = await p.select({
|
|
193
|
+
message: "Which integration would you like to configure?",
|
|
194
|
+
options: configurable.map(adapter => ({ value: adapter.id, label: adapter.displayName }))
|
|
195
|
+
});
|
|
125
196
|
if (p.isCancel(selected))
|
|
126
197
|
return;
|
|
127
198
|
integrationId = selected;
|
|
128
199
|
}
|
|
129
200
|
}
|
|
130
|
-
if (!manifest.integrations[integrationId])
|
|
201
|
+
if (!manifest.integrations[integrationId]) {
|
|
131
202
|
throw new Error(`${getIntegration(integrationId).displayName} is not installed in this project. Use yaaw install to modify integrations.`);
|
|
132
|
-
|
|
203
|
+
}
|
|
204
|
+
const result = await configureProjectIntegration({
|
|
205
|
+
projectRoot,
|
|
206
|
+
integrationId,
|
|
207
|
+
reason: "manual",
|
|
208
|
+
interactive,
|
|
209
|
+
configPath: options.config,
|
|
210
|
+
conflictPolicy: options.conflictPolicy,
|
|
211
|
+
showIntro: true
|
|
212
|
+
});
|
|
133
213
|
if (options.json)
|
|
134
214
|
console.log(JSON.stringify(result, null, 2));
|
|
135
215
|
else if (interactive && result && !("cancelled" in result))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGhH,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAI1E,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAQjD;IACC,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAClH,MAAM,QAAQ,GAAG,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,WAAW,oCAAoC,CAAC,CAAC;IACrH,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IACzC,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,CAAC,WAAW,2DAA2D,CAAC,CAAC;IAEpH,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa,EAAE,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;IACzG,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,EAAE,OAAO,IAAI,IAAI,CAAC;IAC7D,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3H,IAAI,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/main.js
CHANGED
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from "commander";
|
|
3
3
|
import { packageVersion } from "../installer/context.js";
|
|
4
|
+
import { runAutoUpdateGate } from "./update-gate.js";
|
|
4
5
|
import { runInstall } from "./commands/install.js";
|
|
5
6
|
import { runStatus } from "./commands/status.js";
|
|
6
7
|
import { runDoctor } from "./commands/doctor.js";
|
|
7
8
|
import { runConfig } from "./commands/config.js";
|
|
9
|
+
const currentVersion = await packageVersion();
|
|
10
|
+
const update = await runAutoUpdateGate({
|
|
11
|
+
currentVersion,
|
|
12
|
+
args: process.argv.slice(2)
|
|
13
|
+
});
|
|
14
|
+
if (update.handled) {
|
|
15
|
+
process.exit(update.exitCode ?? 1);
|
|
16
|
+
}
|
|
8
17
|
const program = new Command();
|
|
9
18
|
program
|
|
10
19
|
.name("yaaw")
|
|
11
20
|
.description("Install and maintain project-local YAAW-SE workflows.")
|
|
12
|
-
.version(
|
|
21
|
+
.version(currentVersion);
|
|
13
22
|
program.command("install")
|
|
14
23
|
.description("Install, update, modify, repair, or safely uninstall YAAW-SE.")
|
|
15
24
|
.option("--directory <path>", "target project directory")
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,uDAAuD,CAAC;KACpE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface NpmInvocationOptions {
|
|
2
|
+
capture?: boolean;
|
|
3
|
+
timeoutMs?: number;
|
|
4
|
+
env?: NodeJS.ProcessEnv;
|
|
5
|
+
}
|
|
6
|
+
export declare function findNpmCli(env?: NodeJS.ProcessEnv): string | null;
|
|
7
|
+
export declare function invokeNpm(args: string[], options?: NpmInvocationOptions): {
|
|
8
|
+
npmCli: null;
|
|
9
|
+
status: null;
|
|
10
|
+
stdout: string;
|
|
11
|
+
stderr: string;
|
|
12
|
+
error: Error;
|
|
13
|
+
signal?: undefined;
|
|
14
|
+
} | {
|
|
15
|
+
npmCli: string;
|
|
16
|
+
status: any;
|
|
17
|
+
signal: any;
|
|
18
|
+
stdout: any;
|
|
19
|
+
stderr: any;
|
|
20
|
+
error: any;
|
|
21
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { spawnSync } from "node:child_process";
|
|
4
|
+
export function findNpmCli(env = process.env) {
|
|
5
|
+
const candidates = [
|
|
6
|
+
env.npm_execpath,
|
|
7
|
+
join(dirname(process.execPath), "node_modules", "npm", "bin", "npm-cli.js"),
|
|
8
|
+
join(dirname(process.execPath), "..", "lib", "node_modules", "npm", "bin", "npm-cli.js")
|
|
9
|
+
].filter((candidate) => Boolean(candidate));
|
|
10
|
+
return candidates.find(candidate => existsSync(candidate)) ?? null;
|
|
11
|
+
}
|
|
12
|
+
export function invokeNpm(args, options = {}) {
|
|
13
|
+
const npmCli = findNpmCli(options.env);
|
|
14
|
+
if (!npmCli) {
|
|
15
|
+
return {
|
|
16
|
+
npmCli: null,
|
|
17
|
+
status: null,
|
|
18
|
+
stdout: "",
|
|
19
|
+
stderr: "",
|
|
20
|
+
error: new Error(`Could not locate npm CLI beside Node: ${process.execPath}`)
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const result = spawnSync(process.execPath, [npmCli, ...args], {
|
|
24
|
+
encoding: "utf8",
|
|
25
|
+
stdio: options.capture === false ? "inherit" : "pipe",
|
|
26
|
+
timeout: options.timeoutMs,
|
|
27
|
+
env: options.env ?? process.env
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
npmCli,
|
|
31
|
+
status: result.status,
|
|
32
|
+
signal: result.signal,
|
|
33
|
+
stdout: result.stdout ?? "",
|
|
34
|
+
stderr: result.stderr ?? "",
|
|
35
|
+
error: result.error
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=npm-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-runtime.js","sourceRoot":"","sources":["../../src/cli/npm-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAQ/C,MAAM,UAAU,UAAU,CAAC,GAAG,GAAsB,OAAO,CAAC,GAAG;IAC7D,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,YAAY;QAChB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC;QAC3E,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC;KACzF,CAAC,MAAM,CAAC,CAAC,SAAS,EAAuB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAEjE,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAc,EAAE,OAAO,GAAyB,EAAE;IAC1E,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,IAAI,KAAK,CAAC,yCAAyC,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC9E,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE;QAC5D,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;QACrD,OAAO,EAAE,OAAO,CAAC,SAAS;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG;KAChC,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;QACN,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type UpdateChannel = "latest" | "next";
|
|
2
|
+
export interface UpdateGateResult {
|
|
3
|
+
handled: boolean;
|
|
4
|
+
currentVersion: string;
|
|
5
|
+
channel: UpdateChannel;
|
|
6
|
+
availableVersion?: string;
|
|
7
|
+
targetVersion?: string;
|
|
8
|
+
exitCode?: number;
|
|
9
|
+
reason: "disabled" | "handoff-child" | "invalid-current-version" | "lookup-failed" | "already-current" | "invalid-registry-version" | "handoff-failed" | "handed-off";
|
|
10
|
+
}
|
|
11
|
+
export interface UpdateGateDependencies {
|
|
12
|
+
lookupVersion?: (channel: UpdateChannel) => Promise<string | null>;
|
|
13
|
+
handoff?: (version: string, args: string[]) => Promise<number | null>;
|
|
14
|
+
}
|
|
15
|
+
export declare function updateChannelForVersion(version: string): UpdateChannel;
|
|
16
|
+
export declare function shouldHandoff(currentVersion: string, availableVersion: string): boolean;
|
|
17
|
+
export declare function lookupRegistryVersion(channel: UpdateChannel, env?: NodeJS.ProcessEnv, timeoutMs?: number): Promise<string | null>;
|
|
18
|
+
export declare function handoffToVersion(version: string, args: string[], env?: NodeJS.ProcessEnv): Promise<number | null>;
|
|
19
|
+
export declare function runAutoUpdateGate(input: {
|
|
20
|
+
currentVersion: string;
|
|
21
|
+
args?: string[];
|
|
22
|
+
env?: NodeJS.ProcessEnv;
|
|
23
|
+
timeoutMs?: number;
|
|
24
|
+
dependencies?: UpdateGateDependencies;
|
|
25
|
+
}): Promise<UpdateGateResult>;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import semver from "semver";
|
|
2
|
+
import { invokeNpm } from "./npm-runtime.js";
|
|
3
|
+
export function updateChannelForVersion(version) {
|
|
4
|
+
const parsed = semver.parse(version);
|
|
5
|
+
return parsed?.prerelease.length ? "next" : "latest";
|
|
6
|
+
}
|
|
7
|
+
export function shouldHandoff(currentVersion, availableVersion) {
|
|
8
|
+
return Boolean(semver.valid(currentVersion) && semver.valid(availableVersion) && semver.gt(availableVersion, currentVersion));
|
|
9
|
+
}
|
|
10
|
+
function debug(message, env) {
|
|
11
|
+
if (env.YAAW_UPDATE_DEBUG === "1")
|
|
12
|
+
console.error(`[yaaw update] ${message}`);
|
|
13
|
+
}
|
|
14
|
+
export async function lookupRegistryVersion(channel, env = process.env, timeoutMs = 5_000) {
|
|
15
|
+
const result = invokeNpm(["view", `yaaw-se@${channel}`, "version", "--json", "--prefer-online"], { capture: true, timeoutMs, env });
|
|
16
|
+
if (result.error || result.status !== 0 || !result.stdout.trim())
|
|
17
|
+
return null;
|
|
18
|
+
try {
|
|
19
|
+
const parsed = JSON.parse(result.stdout);
|
|
20
|
+
const value = Array.isArray(parsed) ? parsed.at(-1) : parsed;
|
|
21
|
+
return typeof value === "string" && value.trim() ? value.trim() : null;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
const value = result.stdout.trim().replace(/^"|"$/g, "");
|
|
25
|
+
return value || null;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export async function handoffToVersion(version, args, env = process.env) {
|
|
29
|
+
const result = invokeNpm(["exec", "--yes", "--loglevel=error", `--package=yaaw-se@${version}`, "--", "yaaw-se", ...args], {
|
|
30
|
+
capture: false,
|
|
31
|
+
env: { ...env, YAAW_UPDATE_HANDOFF: version }
|
|
32
|
+
});
|
|
33
|
+
if (result.error || result.status === null)
|
|
34
|
+
return null;
|
|
35
|
+
return result.status;
|
|
36
|
+
}
|
|
37
|
+
export async function runAutoUpdateGate(input) {
|
|
38
|
+
const env = input.env ?? process.env;
|
|
39
|
+
const args = input.args ?? process.argv.slice(2);
|
|
40
|
+
const channel = updateChannelForVersion(input.currentVersion);
|
|
41
|
+
if (env.YAAW_DISABLE_AUTO_UPDATE === "1") {
|
|
42
|
+
return { handled: false, currentVersion: input.currentVersion, channel, reason: "disabled" };
|
|
43
|
+
}
|
|
44
|
+
if (env.YAAW_UPDATE_HANDOFF) {
|
|
45
|
+
return { handled: false, currentVersion: input.currentVersion, channel, reason: "handoff-child" };
|
|
46
|
+
}
|
|
47
|
+
if (!semver.valid(input.currentVersion)) {
|
|
48
|
+
return { handled: false, currentVersion: input.currentVersion, channel, reason: "invalid-current-version" };
|
|
49
|
+
}
|
|
50
|
+
const lookup = input.dependencies?.lookupVersion
|
|
51
|
+
?? ((selected) => lookupRegistryVersion(selected, env, input.timeoutMs ?? 5_000));
|
|
52
|
+
const handoff = input.dependencies?.handoff
|
|
53
|
+
?? ((version, forwardedArgs) => handoffToVersion(version, forwardedArgs, env));
|
|
54
|
+
let availableVersion;
|
|
55
|
+
try {
|
|
56
|
+
availableVersion = await lookup(channel);
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
debug(`lookup failed: ${error instanceof Error ? error.message : String(error)}`, env);
|
|
60
|
+
return { handled: false, currentVersion: input.currentVersion, channel, reason: "lookup-failed" };
|
|
61
|
+
}
|
|
62
|
+
if (!availableVersion) {
|
|
63
|
+
return { handled: false, currentVersion: input.currentVersion, channel, reason: "lookup-failed" };
|
|
64
|
+
}
|
|
65
|
+
if (!semver.valid(availableVersion)) {
|
|
66
|
+
debug(`registry returned invalid version: ${availableVersion}`, env);
|
|
67
|
+
return {
|
|
68
|
+
handled: false,
|
|
69
|
+
currentVersion: input.currentVersion,
|
|
70
|
+
channel,
|
|
71
|
+
availableVersion,
|
|
72
|
+
reason: "invalid-registry-version"
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
if (!shouldHandoff(input.currentVersion, availableVersion)) {
|
|
76
|
+
return {
|
|
77
|
+
handled: false,
|
|
78
|
+
currentVersion: input.currentVersion,
|
|
79
|
+
channel,
|
|
80
|
+
availableVersion,
|
|
81
|
+
reason: "already-current"
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
const exitCode = await handoff(availableVersion, args);
|
|
85
|
+
if (exitCode === null) {
|
|
86
|
+
debug(`failed to hand off to yaaw-se@${availableVersion}; continuing current package`, env);
|
|
87
|
+
return {
|
|
88
|
+
handled: false,
|
|
89
|
+
currentVersion: input.currentVersion,
|
|
90
|
+
channel,
|
|
91
|
+
availableVersion,
|
|
92
|
+
targetVersion: availableVersion,
|
|
93
|
+
reason: "handoff-failed"
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
handled: true,
|
|
98
|
+
currentVersion: input.currentVersion,
|
|
99
|
+
channel,
|
|
100
|
+
availableVersion,
|
|
101
|
+
targetVersion: availableVersion,
|
|
102
|
+
exitCode,
|
|
103
|
+
reason: "handed-off"
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=update-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-gate.js","sourceRoot":"","sources":["../../src/cli/update-gate.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA2B7C,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,cAAsB,EAAE,gBAAwB;IAC5E,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAC;AAChI,CAAC;AAED,SAAS,KAAK,CAAC,OAAe,EAAE,GAAsB;IACpD,IAAI,GAAG,CAAC,iBAAiB,KAAK,GAAG;QAAE,OAAO,CAAC,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAsB,EACtB,GAAG,GAAsB,OAAO,CAAC,GAAG,EACpC,SAAS,GAAG,KAAK;IAEjB,MAAM,MAAM,GAAG,SAAS,CACtB,CAAC,MAAM,EAAE,WAAW,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EACtE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAClC,CAAC;IACF,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAE9E,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,KAAK,IAAI,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAe,EACf,IAAc,EACd,GAAG,GAAsB,OAAO,CAAC,GAAG;IAEpC,MAAM,MAAM,GAAG,SAAS,CACtB,CAAC,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,EAC/F;QACE,OAAO,EAAE,KAAK;QACd,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE;KAC9C,CACF,CAAC;IACF,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACxD,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAMvC;IACC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE9D,IAAI,GAAG,CAAC,wBAAwB,KAAK,GAAG,EAAE,CAAC;QACzC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC/F,CAAC;IACD,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACpG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;IAC9G,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,aAAa;WAC3C,CAAC,CAAC,QAAuB,EAAE,EAAE,CAAC,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC;IACnG,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,EAAE,OAAO;WACtC,CAAC,CAAC,OAAe,EAAE,aAAuB,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC;IAEnG,IAAI,gBAA+B,CAAC;IACpC,IAAI,CAAC;QACH,gBAAgB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACvF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACpG,CAAC;IAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACpG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,sCAAsC,gBAAgB,EAAE,EAAE,GAAG,CAAC,CAAC;QACrE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,OAAO;YACP,gBAAgB;YAChB,MAAM,EAAE,0BAA0B;SACnC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAAE,CAAC;QAC3D,OAAO;YACL,OAAO,EAAE,KAAK;YACd,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,OAAO;YACP,gBAAgB;YAChB,MAAM,EAAE,iBAAiB;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,KAAK,CAAC,iCAAiC,gBAAgB,8BAA8B,EAAE,GAAG,CAAC,CAAC;QAC5F,OAAO;YACL,OAAO,EAAE,KAAK;YACd,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,OAAO;YACP,gBAAgB;YAChB,aAAa,EAAE,gBAAgB;YAC/B,MAAM,EAAE,gBAAgB;SACzB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,OAAO;QACP,gBAAgB;QAChB,aAAa,EAAE,gBAAgB;QAC/B,QAAQ;QACR,MAAM,EAAE,YAAY;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -15,7 +15,8 @@ export interface CodexProfile {
|
|
|
15
15
|
description: string;
|
|
16
16
|
settings: CodexRuntimeSettings;
|
|
17
17
|
}
|
|
18
|
-
export declare const CODEX_CONFIGURATION_REVISION =
|
|
18
|
+
export declare const CODEX_CONFIGURATION_REVISION = 3;
|
|
19
|
+
export declare const codexReasoningEfforts: readonly ["low", "medium", "high", "xhigh", "max"];
|
|
19
20
|
export declare const codexConfigurationChanges: IntegrationConfigChange[];
|
|
20
21
|
export declare const codexModels: CodexModelCapability[];
|
|
21
22
|
export declare const codexProfiles: CodexProfile[];
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { defaultCodexRuntimeSettings, normalizeCodexRuntimeSettings } from "./codex-runtime.js";
|
|
2
|
-
export const CODEX_CONFIGURATION_REVISION =
|
|
2
|
+
export const CODEX_CONFIGURATION_REVISION = 3;
|
|
3
|
+
export const codexReasoningEfforts = ["low", "medium", "high", "xhigh", "max"];
|
|
3
4
|
export const codexConfigurationChanges = [
|
|
5
|
+
{
|
|
6
|
+
revision: 3,
|
|
7
|
+
id: "codex-max-reasoning",
|
|
8
|
+
type: "model-support",
|
|
9
|
+
title: "Expanded GPT-6 reasoning effort support",
|
|
10
|
+
summary: "YAAW now exposes low, medium, high, xhigh, and max reasoning effort for GPT-6 Sol and GPT-6 Luna."
|
|
11
|
+
},
|
|
4
12
|
{
|
|
5
13
|
revision: 2,
|
|
6
14
|
id: "codex-gpt6-support",
|
|
@@ -22,7 +30,7 @@ export const codexModels = [
|
|
|
22
30
|
label: "GPT-6 Sol",
|
|
23
31
|
status: "recommended",
|
|
24
32
|
introducedRevision: 2,
|
|
25
|
-
reasoningEfforts: [
|
|
33
|
+
reasoningEfforts: [...codexReasoningEfforts],
|
|
26
34
|
description: "Recommended for complex software engineering."
|
|
27
35
|
},
|
|
28
36
|
{
|
|
@@ -30,7 +38,7 @@ export const codexModels = [
|
|
|
30
38
|
label: "GPT-6 Luna",
|
|
31
39
|
status: "supported",
|
|
32
40
|
introducedRevision: 2,
|
|
33
|
-
reasoningEfforts: [
|
|
41
|
+
reasoningEfforts: [...codexReasoningEfforts],
|
|
34
42
|
description: "Faster/lower-cost option for bounded work."
|
|
35
43
|
}
|
|
36
44
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-catalog.js","sourceRoot":"","sources":["../../src/integrations/codex-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAA6B,MAAM,oBAAoB,CAAC;AAoB3H,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAE9C,MAAM,CAAC,MAAM,yBAAyB,GAA8B;IAClE;QACE,QAAQ,EAAE,CAAC;QACX,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,qBAAqB;QAC5B,OAAO,EAAE,4DAA4D;KACtE;IACD;QACE,QAAQ,EAAE,CAAC;QACX,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,gCAAgC;QACvC,OAAO,EAAE,+DAA+D;KACzE;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,WAAW;QAClB,MAAM,EAAE,aAAa;QACrB,kBAAkB,EAAE,CAAC;QACrB,gBAAgB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"codex-catalog.js","sourceRoot":"","sources":["../../src/integrations/codex-catalog.ts"],"names":[],"mappings":"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"}
|