@open-agent-toolkit/cli 0.1.45 → 0.1.48
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/assets/agents/oat-phase-implementer.md +202 -191
- package/assets/agents/oat-reviewer.md +12 -2
- package/assets/config/dispatch-matrix-recommendation.json +120 -13
- package/assets/docs/cli-utilities/config-and-local-state.md +7 -0
- package/assets/docs/cli-utilities/configuration.md +183 -84
- package/assets/docs/cli-utilities/workflow-gates.md +161 -27
- package/assets/docs/contributing/skills.md +14 -8
- package/assets/docs/provider-sync/config.md +5 -1
- package/assets/docs/provider-sync/manifest-and-drift.md +6 -1
- package/assets/docs/provider-sync/providers.md +42 -5
- package/assets/docs/provider-sync/scope-and-surface.md +3 -2
- package/assets/docs/reference/cli-reference.md +3 -1
- package/assets/docs/reference/oat-directory-structure.md +27 -26
- package/assets/docs/workflows/projects/artifacts.md +31 -1
- package/assets/docs/workflows/projects/dispatch-ceiling.md +235 -174
- package/assets/docs/workflows/projects/implementation-execution.md +283 -253
- package/assets/docs/workflows/projects/lifecycle.md +26 -5
- package/assets/docs/workflows/projects/reviews.md +27 -2
- package/assets/migration/pjm-restructure.md +1 -1
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-project-implement/SKILL.md +347 -178
- package/assets/skills/oat-project-import-plan/SKILL.md +173 -16
- package/assets/skills/oat-project-next/SKILL.md +2 -2
- package/assets/skills/oat-project-plan/SKILL.md +122 -92
- package/assets/skills/oat-project-plan-writing/SKILL.md +246 -15
- package/assets/skills/oat-project-quick-start/SKILL.md +156 -94
- package/assets/skills/oat-project-review-provide/SKILL.md +94 -22
- package/dist/commands/config/index.d.ts +2 -2
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +129 -53
- package/dist/commands/doctor/index.d.ts +2 -2
- package/dist/commands/doctor/index.d.ts.map +1 -1
- package/dist/commands/doctor/index.js +102 -31
- package/dist/commands/gate/index.d.ts +7 -1
- package/dist/commands/gate/index.d.ts.map +1 -1
- package/dist/commands/gate/index.js +544 -67
- package/dist/commands/gate/review-verdict.d.ts +16 -0
- package/dist/commands/gate/review-verdict.d.ts.map +1 -1
- package/dist/commands/gate/review-verdict.js +72 -9
- package/dist/commands/project/dispatch-ceiling/index.d.ts.map +1 -1
- package/dist/commands/project/dispatch-ceiling/index.js +586 -23
- package/dist/commands/providers/codex/index.d.ts +4 -0
- package/dist/commands/providers/codex/index.d.ts.map +1 -0
- package/dist/commands/providers/codex/index.js +7 -0
- package/dist/commands/providers/codex/materialize.d.ts +5 -0
- package/dist/commands/providers/codex/materialize.d.ts.map +1 -0
- package/dist/commands/providers/codex/materialize.js +157 -0
- package/dist/commands/providers/index.d.ts +2 -2
- package/dist/commands/providers/index.d.ts.map +1 -1
- package/dist/commands/providers/index.js +4 -2
- package/dist/commands/providers/providers.types.d.ts +23 -0
- package/dist/commands/providers/providers.types.d.ts.map +1 -1
- package/dist/commands/shared/codex-strays.d.ts.map +1 -1
- package/dist/commands/shared/codex-strays.js +11 -1
- package/dist/commands/shared/frontmatter.d.ts +4 -0
- package/dist/commands/shared/frontmatter.d.ts.map +1 -1
- package/dist/commands/shared/frontmatter.js +23 -0
- package/dist/commands/status/index.d.ts +5 -1
- package/dist/commands/status/index.d.ts.map +1 -1
- package/dist/commands/status/index.js +10 -4
- package/dist/commands/sync/index.d.ts.map +1 -1
- package/dist/commands/sync/index.js +10 -3
- package/dist/commands/sync/sync.types.d.ts +5 -1
- package/dist/commands/sync/sync.types.d.ts.map +1 -1
- package/dist/config/dispatch-ceiling-preset.d.ts +4 -0
- package/dist/config/dispatch-ceiling-preset.d.ts.map +1 -1
- package/dist/config/dispatch-ceiling-preset.js +3 -0
- package/dist/config/dispatch-policy-options.d.ts +20 -0
- package/dist/config/dispatch-policy-options.d.ts.map +1 -0
- package/dist/config/dispatch-policy-options.js +96 -0
- package/dist/config/oat-config.d.ts +25 -2
- package/dist/config/oat-config.d.ts.map +1 -1
- package/dist/config/oat-config.js +154 -24
- package/dist/config/resolve.d.ts +8 -0
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +66 -2
- package/dist/engine/index.d.ts +1 -1
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +1 -1
- package/dist/engine/scanner.d.ts +1 -0
- package/dist/engine/scanner.d.ts.map +1 -1
- package/dist/engine/scanner.js +17 -1
- package/dist/fs/paths.d.ts +4 -0
- package/dist/fs/paths.d.ts.map +1 -1
- package/dist/fs/paths.js +18 -1
- package/dist/providers/ceiling/registry.d.ts +8 -5
- package/dist/providers/ceiling/registry.d.ts.map +1 -1
- package/dist/providers/ceiling/registry.js +25 -7
- package/dist/providers/codex/codec/catalog.d.ts +14 -0
- package/dist/providers/codex/codec/catalog.d.ts.map +1 -0
- package/dist/providers/codex/codec/catalog.js +21 -0
- package/dist/providers/codex/codec/config-merge.d.ts +6 -0
- package/dist/providers/codex/codec/config-merge.d.ts.map +1 -1
- package/dist/providers/codex/codec/config-merge.js +7 -0
- package/dist/providers/codex/codec/materialize.d.ts +16 -0
- package/dist/providers/codex/codec/materialize.d.ts.map +1 -0
- package/dist/providers/codex/codec/materialize.js +58 -0
- package/dist/providers/codex/codec/shared.d.ts +20 -0
- package/dist/providers/codex/codec/shared.d.ts.map +1 -1
- package/dist/providers/codex/codec/shared.js +107 -6
- package/dist/providers/codex/codec/sync-extension.d.ts +7 -1
- package/dist/providers/codex/codec/sync-extension.d.ts.map +1 -1
- package/dist/providers/codex/codec/sync-extension.js +299 -52
- package/dist/providers/identity/availability.d.ts +24 -1
- package/dist/providers/identity/availability.d.ts.map +1 -1
- package/dist/providers/identity/availability.js +253 -19
- package/dist/providers/identity/stamp.d.ts.map +1 -1
- package/dist/providers/identity/stamp.js +4 -0
- package/dist/shared/types.d.ts +1 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +4 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/providers/codex/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,2BAA2B,CACzC,SAAS,GAAE,0BAA+B,GACzC,OAAO,CAIT"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { createCodexMaterializeCommand } from './materialize.js';
|
|
3
|
+
export function createProvidersCodexCommand(overrides = {}) {
|
|
4
|
+
return new Command('codex')
|
|
5
|
+
.description('Codex provider utilities')
|
|
6
|
+
.addCommand(createCodexMaterializeCommand(overrides.materialize));
|
|
7
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CodexMaterializeResult, ProvidersCodexMaterializeDependencies } from '../../providers/providers.types.js';
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
export declare function formatCodexMaterializeResult(result: CodexMaterializeResult): string;
|
|
4
|
+
export declare function createCodexMaterializeCommand(overrides?: Partial<ProvidersCodexMaterializeDependencies>): Command;
|
|
5
|
+
//# sourceMappingURL=materialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"materialize.d.ts","sourceRoot":"","sources":["../../../../src/commands/providers/codex/materialize.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,sBAAsB,EACtB,qCAAqC,EACtC,MAAM,qCAAqC,CAAC;AAU7C,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAsD5C,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,sBAAsB,GAC7B,MAAM,CAaR;AA+GD,wBAAgB,6BAA6B,CAC3C,SAAS,GAAE,OAAO,CAAC,qCAAqC,CAAM,GAC7D,OAAO,CAoCT"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
3
|
+
import { parseCanonicalAgentFile } from '../../../agents/canonical/index.js';
|
|
4
|
+
import { buildCommandContext } from '../../../app/command-context.js';
|
|
5
|
+
import { readGlobalOptions } from '../../shared/shared.utils.js';
|
|
6
|
+
import { CliError } from '../../../errors/index.js';
|
|
7
|
+
import { ensureDir, fileExists } from '../../../fs/io.js';
|
|
8
|
+
import { resolveProjectRoot, resolveScopeRoot } from '../../../fs/paths.js';
|
|
9
|
+
import { mergeCodexConfigForRole } from '../../../providers/codex/codec/config-merge.js';
|
|
10
|
+
import { materializeCodexRole } from '../../../providers/codex/codec/materialize.js';
|
|
11
|
+
import { withOatManagedCodexRoleOwner } from '../../../providers/codex/codec/shared.js';
|
|
12
|
+
import { Command, Option } from 'commander';
|
|
13
|
+
function createDependencies() {
|
|
14
|
+
return {
|
|
15
|
+
buildCommandContext,
|
|
16
|
+
async resolveScopeRoot(scope, context) {
|
|
17
|
+
if (scope === 'project') {
|
|
18
|
+
return resolveProjectRoot(context.cwd);
|
|
19
|
+
}
|
|
20
|
+
return resolveScopeRoot(scope, context.cwd, context.home);
|
|
21
|
+
},
|
|
22
|
+
parseCanonicalAgentFile,
|
|
23
|
+
materializeCodexRole,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function requireOption(value, optionName) {
|
|
27
|
+
const normalized = value?.trim() ?? '';
|
|
28
|
+
if (!normalized) {
|
|
29
|
+
throw new CliError(`Missing required ${optionName}. Pass ${optionName} <value>.`);
|
|
30
|
+
}
|
|
31
|
+
return normalized;
|
|
32
|
+
}
|
|
33
|
+
function resolveAgentPath(agentName, options, scopeRoot) {
|
|
34
|
+
if (options.agentPath) {
|
|
35
|
+
return isAbsolute(options.agentPath)
|
|
36
|
+
? options.agentPath
|
|
37
|
+
: resolve(scopeRoot, options.agentPath);
|
|
38
|
+
}
|
|
39
|
+
const fileName = agentName.endsWith('.md') ? agentName : `${agentName}.md`;
|
|
40
|
+
return join(scopeRoot, '.agents', 'agents', fileName);
|
|
41
|
+
}
|
|
42
|
+
export function formatCodexMaterializeResult(result) {
|
|
43
|
+
return [
|
|
44
|
+
result.dryRun
|
|
45
|
+
? 'Codex materialization preview'
|
|
46
|
+
: 'Codex materialization complete',
|
|
47
|
+
`Scope: ${result.scope}`,
|
|
48
|
+
`Agent: ${result.agentPath}`,
|
|
49
|
+
`Role: ${result.roleName}`,
|
|
50
|
+
`Role file: ${result.rolePath}`,
|
|
51
|
+
`Config file: ${result.configPath}`,
|
|
52
|
+
'TOML preview:',
|
|
53
|
+
result.tomlPreview.trimEnd(),
|
|
54
|
+
].join('\n');
|
|
55
|
+
}
|
|
56
|
+
async function buildCodexMaterializePlan(agentName, options, context, dependencies) {
|
|
57
|
+
const model = requireOption(options.model, '--model');
|
|
58
|
+
const effort = requireOption(options.effort, '--effort');
|
|
59
|
+
const scope = options.scope;
|
|
60
|
+
const scopeRoot = await dependencies.resolveScopeRoot(scope, context);
|
|
61
|
+
const agentPath = resolveAgentPath(agentName, options, scopeRoot);
|
|
62
|
+
const agent = await dependencies.parseCanonicalAgentFile(agentPath);
|
|
63
|
+
const materializedRole = dependencies.materializeCodexRole({
|
|
64
|
+
agent,
|
|
65
|
+
model,
|
|
66
|
+
effort,
|
|
67
|
+
roleName: options.roleName,
|
|
68
|
+
});
|
|
69
|
+
const role = {
|
|
70
|
+
...materializedRole,
|
|
71
|
+
content: withOatManagedCodexRoleOwner(materializedRole.content, scope === 'user' ? 'user-config' : 'project-config'),
|
|
72
|
+
};
|
|
73
|
+
const rolePath = join(scopeRoot, '.codex', role.configFile);
|
|
74
|
+
const configPath = join(scopeRoot, '.codex', 'config.toml');
|
|
75
|
+
return {
|
|
76
|
+
role,
|
|
77
|
+
result: {
|
|
78
|
+
status: context.dryRun ? 'preview' : 'written',
|
|
79
|
+
dryRun: context.dryRun,
|
|
80
|
+
scope,
|
|
81
|
+
agentPath,
|
|
82
|
+
roleName: role.roleName,
|
|
83
|
+
rolePath,
|
|
84
|
+
configPath,
|
|
85
|
+
configFile: role.configFile,
|
|
86
|
+
tomlPreview: role.content,
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
async function readOptionalFile(filePath) {
|
|
91
|
+
if (!(await fileExists(filePath))) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
return readFile(filePath, 'utf8');
|
|
95
|
+
}
|
|
96
|
+
async function applyCodexMaterializePlan({ result, role, }) {
|
|
97
|
+
await ensureDir(dirname(result.rolePath));
|
|
98
|
+
await writeFile(result.rolePath, role.content, 'utf8');
|
|
99
|
+
const existingConfig = await readOptionalFile(result.configPath);
|
|
100
|
+
const mergedConfig = mergeCodexConfigForRole({
|
|
101
|
+
existingContent: existingConfig,
|
|
102
|
+
role: {
|
|
103
|
+
roleName: role.roleName,
|
|
104
|
+
description: role.description,
|
|
105
|
+
configFile: role.configFile,
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
await ensureDir(dirname(result.configPath));
|
|
109
|
+
await writeFile(result.configPath, mergedConfig.mergedContent, 'utf8');
|
|
110
|
+
}
|
|
111
|
+
async function runCodexMaterializeCommand(agentName, options, context, dependencies) {
|
|
112
|
+
try {
|
|
113
|
+
const plan = await buildCodexMaterializePlan(agentName, options, context, dependencies);
|
|
114
|
+
if (!context.dryRun) {
|
|
115
|
+
await applyCodexMaterializePlan(plan);
|
|
116
|
+
}
|
|
117
|
+
const { result } = plan;
|
|
118
|
+
if (context.json) {
|
|
119
|
+
context.logger.json(result);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
context.logger.info(formatCodexMaterializeResult(result));
|
|
123
|
+
}
|
|
124
|
+
process.exitCode = 0;
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
128
|
+
if (context.json) {
|
|
129
|
+
context.logger.json({ status: 'error', message });
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
context.logger.error(message);
|
|
133
|
+
}
|
|
134
|
+
process.exitCode = error instanceof CliError ? error.exitCode : 1;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
export function createCodexMaterializeCommand(overrides = {}) {
|
|
138
|
+
const dependencies = {
|
|
139
|
+
...createDependencies(),
|
|
140
|
+
...overrides,
|
|
141
|
+
};
|
|
142
|
+
return new Command('materialize')
|
|
143
|
+
.description('Materialize a canonical agent as a Codex role')
|
|
144
|
+
.argument('<agent-name>', 'Canonical agent name')
|
|
145
|
+
.addOption(new Option('--scope <scope>', 'Materialization scope')
|
|
146
|
+
.choices(['project', 'user'])
|
|
147
|
+
.default('project'))
|
|
148
|
+
.option('--model <model>', 'Codex model ID')
|
|
149
|
+
.option('--effort <effort>', 'Codex reasoning effort')
|
|
150
|
+
.option('--role-name <role>', 'Override generated Codex role name')
|
|
151
|
+
.option('--agent-path <path>', 'Path to canonical agent markdown')
|
|
152
|
+
.option('--dry-run', 'Preview files without writing')
|
|
153
|
+
.action(async (agentName, options, command) => {
|
|
154
|
+
const context = dependencies.buildCommandContext(readGlobalOptions(command));
|
|
155
|
+
await runCodexMaterializeCommand(agentName, options, context, dependencies);
|
|
156
|
+
});
|
|
157
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
-
import type { ProvidersInspectDependencies, ProvidersListDependencies, ProvidersSetDependencies } from './providers.types.js';
|
|
3
|
-
export declare function createProvidersCommand(listOverrides?: Partial<ProvidersListDependencies>, inspectOverrides?: Partial<ProvidersInspectDependencies>, setOverrides?: Partial<ProvidersSetDependencies
|
|
2
|
+
import type { ProvidersCodexDependencies, ProvidersInspectDependencies, ProvidersListDependencies, ProvidersSetDependencies } from './providers.types.js';
|
|
3
|
+
export declare function createProvidersCommand(listOverrides?: Partial<ProvidersListDependencies>, inspectOverrides?: Partial<ProvidersInspectDependencies>, setOverrides?: Partial<ProvidersSetDependencies>, codexOverrides?: ProvidersCodexDependencies): Command;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAG3B,wBAAgB,sBAAsB,CACpC,aAAa,GAAE,OAAO,CAAC,yBAAyB,CAAM,EACtD,gBAAgB,GAAE,OAAO,CAAC,4BAA4B,CAAM,EAC5D,YAAY,GAAE,OAAO,CAAC,wBAAwB,CAAM,EACpD,cAAc,GAAE,0BAA+B,GAC9C,OAAO,CAOT"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import { createProvidersCodexCommand } from './codex/index.js';
|
|
2
3
|
import { createProvidersInspectCommand } from './inspect/inspect.js';
|
|
3
4
|
import { createProvidersListCommand } from './list/list.js';
|
|
4
5
|
import { createProvidersSetCommand } from './set/index.js';
|
|
5
|
-
export function createProvidersCommand(listOverrides = {}, inspectOverrides = {}, setOverrides = {}) {
|
|
6
|
+
export function createProvidersCommand(listOverrides = {}, inspectOverrides = {}, setOverrides = {}, codexOverrides = {}) {
|
|
6
7
|
return new Command('providers')
|
|
7
8
|
.description('Inspect provider capabilities and paths')
|
|
8
9
|
.addCommand(createProvidersListCommand(listOverrides))
|
|
9
10
|
.addCommand(createProvidersInspectCommand(inspectOverrides))
|
|
10
|
-
.addCommand(createProvidersSetCommand(setOverrides))
|
|
11
|
+
.addCommand(createProvidersSetCommand(setOverrides))
|
|
12
|
+
.addCommand(createProvidersCodexCommand(codexOverrides));
|
|
11
13
|
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import type { parseCanonicalAgentFile } from '../../agents/canonical/index.js';
|
|
1
2
|
import type { CommandContext, GlobalOptions } from '../../app/command-context.js';
|
|
2
3
|
import type { SyncConfig } from '../../config/index.js';
|
|
3
4
|
import type { CopyTransform, DriftReport } from '../../drift/index.js';
|
|
4
5
|
import type { Manifest } from '../../manifest/index.js';
|
|
6
|
+
import type { CodexRoleExport } from '../../providers/codex/codec/export-to-codex.js';
|
|
7
|
+
import type { CodexMaterializeRoleOptions } from '../../providers/codex/codec/materialize.js';
|
|
5
8
|
import type { PathMapping, ProviderAdapter } from '../../providers/shared/index.js';
|
|
6
9
|
import type { ConcreteScope, ContentType, Scope, SyncStrategy } from '../../shared/types.js';
|
|
7
10
|
export interface ProviderListSummary {
|
|
@@ -60,4 +63,24 @@ export interface ProvidersSetDependencies {
|
|
|
60
63
|
loadSyncConfig: (configPath: string) => Promise<SyncConfig>;
|
|
61
64
|
saveSyncConfig: (configPath: string, config: SyncConfig) => Promise<SyncConfig>;
|
|
62
65
|
}
|
|
66
|
+
export interface CodexMaterializeResult {
|
|
67
|
+
status: 'preview' | 'written';
|
|
68
|
+
dryRun: boolean;
|
|
69
|
+
scope: ConcreteScope;
|
|
70
|
+
agentPath: string;
|
|
71
|
+
roleName: string;
|
|
72
|
+
rolePath: string;
|
|
73
|
+
configPath: string;
|
|
74
|
+
configFile: string;
|
|
75
|
+
tomlPreview: string;
|
|
76
|
+
}
|
|
77
|
+
export interface ProvidersCodexMaterializeDependencies {
|
|
78
|
+
buildCommandContext: (options: GlobalOptions) => CommandContext;
|
|
79
|
+
resolveScopeRoot: (scope: ConcreteScope, context: CommandContext) => Promise<string>;
|
|
80
|
+
parseCanonicalAgentFile: typeof parseCanonicalAgentFile;
|
|
81
|
+
materializeCodexRole: (options: CodexMaterializeRoleOptions) => CodexRoleExport;
|
|
82
|
+
}
|
|
83
|
+
export interface ProvidersCodexDependencies {
|
|
84
|
+
materialize?: Partial<ProvidersCodexMaterializeDependencies>;
|
|
85
|
+
}
|
|
63
86
|
//# sourceMappingURL=providers.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.types.d.ts","sourceRoot":"","sources":["../../../src/commands/providers/providers.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"providers.types.d.ts","sourceRoot":"","sources":["../../../src/commands/providers/providers.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-strays.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/codex-strays.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"codex-strays.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/codex-strays.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/C,oBAAoB,EAAE,CACpB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,cAAc,EAAE,KAC/B,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjC,kBAAkB,EAAE,CAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,kBAAkB,KACrB,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAgJD,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,cAAc,EAAE,EAClC,gBAAgB,GAAE,GAAG,CAAC,MAAM,CAAa,GACxC,OAAO,CAAC,cAAc,EAAE,CAAC,CAuB3B;AAED,wBAAsB,4BAA4B,CAAC,EACjD,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,kBAAkB,GACnB,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { readdir, readFile, stat } from 'node:fs/promises';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import TOML from '@iarna/toml';
|
|
4
|
+
import { isOatManagedCodexRoleFile } from '../../providers/codex/codec/shared.js';
|
|
4
5
|
function canonicalRoleNames(canonicalEntries) {
|
|
5
6
|
return new Set(canonicalEntries
|
|
6
7
|
.filter((entry) => entry.type === 'agent' && entry.isFile)
|
|
@@ -60,6 +61,10 @@ async function detectFromConfig(scopeRoot, existingCanonicalRoles, managedRoleNa
|
|
|
60
61
|
if (!(await fileExists(absoluteRolePath))) {
|
|
61
62
|
continue;
|
|
62
63
|
}
|
|
64
|
+
const roleContent = await readFile(absoluteRolePath, 'utf8');
|
|
65
|
+
if (isOatManagedCodexRoleFile(roleContent, roleName)) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
63
68
|
strays.push({
|
|
64
69
|
roleName,
|
|
65
70
|
providerPath,
|
|
@@ -92,9 +97,14 @@ async function detectFromAgentsDirectory(scopeRoot, existingCanonicalRoles, mana
|
|
|
92
97
|
managedRoleNames.has(roleName)) {
|
|
93
98
|
continue;
|
|
94
99
|
}
|
|
100
|
+
const providerPath = `.codex/agents/${entry.name}`;
|
|
101
|
+
const roleContent = await readFile(join(scopeRoot, providerPath), 'utf8');
|
|
102
|
+
if (isOatManagedCodexRoleFile(roleContent, roleName)) {
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
95
105
|
strays.push({
|
|
96
106
|
roleName,
|
|
97
|
-
providerPath
|
|
107
|
+
providerPath,
|
|
98
108
|
});
|
|
99
109
|
}
|
|
100
110
|
return strays;
|
|
@@ -9,6 +9,10 @@ export declare function isProjectStatePhase(value: string): value is ProjectStat
|
|
|
9
9
|
export declare function isProjectStateFrontmatterField(value: string): value is ProjectStateFrontmatterField;
|
|
10
10
|
export declare function getFrontmatterBlock(content: string): string | null;
|
|
11
11
|
export declare function getFrontmatterField(frontmatter: string, field: string): string | null;
|
|
12
|
+
export declare function parseFrontmatterScalarFields(frontmatter: string, fields: readonly string[]): {
|
|
13
|
+
valid: boolean;
|
|
14
|
+
values: Record<string, string>;
|
|
15
|
+
};
|
|
12
16
|
/**
|
|
13
17
|
* Parse an `oat_generated_at` value into a comparable epoch millisecond time.
|
|
14
18
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/frontmatter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/frontmatter.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,6CAA8C,CAAC;AAE/E,eAAO,MAAM,oBAAoB,gFAOvB,CAAC;AAEX,eAAO,MAAM,gCAAgC,sgBA2BnC,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACtE,MAAM,MAAM,4BAA4B,GACtC,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,gBAAgB,CAE3E;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAE7E;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,GACZ,KAAK,IAAI,4BAA4B,CAIvC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGlE;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,IAAI,CAKf;AAED,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CA4BpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQxB;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { readFile } from 'node:fs/promises';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
+
import YAML, { isMap, isScalar } from 'yaml';
|
|
3
4
|
export const PROJECT_STATE_KINDS = ['implementation', 'coordination'];
|
|
4
5
|
export const PROJECT_STATE_PHASES = [
|
|
5
6
|
'discovery',
|
|
@@ -57,6 +58,28 @@ export function getFrontmatterField(frontmatter, field) {
|
|
|
57
58
|
return null;
|
|
58
59
|
return match[1].replace(/\s*#.*$/, '').trim();
|
|
59
60
|
}
|
|
61
|
+
export function parseFrontmatterScalarFields(frontmatter, fields) {
|
|
62
|
+
const document = YAML.parseDocument(frontmatter, { uniqueKeys: true });
|
|
63
|
+
const values = {};
|
|
64
|
+
if (isMap(document.contents)) {
|
|
65
|
+
for (const field of fields) {
|
|
66
|
+
const matches = document.contents.items.filter((pair) => isScalar(pair.key) && pair.key.value === field);
|
|
67
|
+
if (matches.length !== 1) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
const valueNode = matches[0]?.value;
|
|
71
|
+
if (!isScalar(valueNode) ||
|
|
72
|
+
valueNode.anchor !== undefined ||
|
|
73
|
+
valueNode.tag !== undefined ||
|
|
74
|
+
typeof valueNode.value !== 'string' ||
|
|
75
|
+
!valueNode.value.trim()) {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
values[field] = valueNode.value.trim();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return { valid: document.errors.length === 0, values };
|
|
82
|
+
}
|
|
60
83
|
/**
|
|
61
84
|
* Parse an `oat_generated_at` value into a comparable epoch millisecond time.
|
|
62
85
|
*
|
|
@@ -18,13 +18,17 @@ interface StatusDependencies {
|
|
|
18
18
|
readUserConfig: (userConfigDir: string) => Promise<UserConfig>;
|
|
19
19
|
saveManifest: (manifestPath: string, manifest: Manifest) => Promise<void>;
|
|
20
20
|
scanCanonical: (scopeRoot: string, scope: ConcreteScope) => Promise<CanonicalEntry[]>;
|
|
21
|
+
scanBundledManagedCodexAgents: () => Promise<CanonicalEntry[]>;
|
|
21
22
|
getAdapters: () => ProviderAdapter[];
|
|
22
23
|
getActiveAdapters: (adapters: ProviderAdapter[], scopeRoot: string) => Promise<ProviderAdapter[]>;
|
|
23
24
|
getSyncMappings: (adapter: ProviderAdapter, scope: Scope) => PathMapping[];
|
|
24
25
|
detectDrift: (entry: Manifest['entries'][number], scopeRoot: string, copyTransform?: CopyTransform) => Promise<DriftReport>;
|
|
25
26
|
detectStrays: (provider: string, providerDir: string, manifest: Manifest, canonicalEntries: CanonicalEntry[], mapping?: Pick<PathMapping, 'contentType' | 'providerExtension'>) => Promise<DriftReport[]>;
|
|
26
27
|
detectCodexRoleStrays: (scopeRoot: string, canonicalEntries: CanonicalEntry[], managedRoleNames?: Set<string>) => Promise<CodexRoleStray[]>;
|
|
27
|
-
computeCodexProjectExtensionPlan: (scopeRoot: string, canonicalEntries: CanonicalEntry[]
|
|
28
|
+
computeCodexProjectExtensionPlan: (scopeRoot: string, canonicalEntries: CanonicalEntry[], allowedCanonicalPaths?: string[], options?: {
|
|
29
|
+
userConfigDir?: string;
|
|
30
|
+
env?: NodeJS.ProcessEnv;
|
|
31
|
+
}) => Promise<CodexExtensionPlan>;
|
|
28
32
|
applyCodexProjectExtensionPlan: (scopeRoot: string, plan: CodexExtensionPlan) => Promise<unknown>;
|
|
29
33
|
selectManyWithAbort: <T extends string>(message: string, choices: MultiSelectChoice<T>[], ctx: PromptContext) => Promise<T[] | null>;
|
|
30
34
|
confirmAction: (message: string, ctx: PromptContext) => Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/status/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAEnB,MAAM,iCAAiC,CAAC;AAKzC,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAIjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/status/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { readGlobalOptions, resolveConcreteScopes, } from '../shared/shared.util
|
|
|
8
8
|
import { DEFAULT_SYNC_CONFIG, loadSyncConfig, } from '../../config/index.js';
|
|
9
9
|
import { readUserConfig } from '../../config/oat-config.js';
|
|
10
10
|
import { detectDrift, detectStrays, filterKnownStrays, } from '../../drift/index.js';
|
|
11
|
-
import { HOOK_DRIFT_WARNING, HOOK_STRAY_INFO, scanCanonical, } from '../../engine/index.js';
|
|
11
|
+
import { HOOK_DRIFT_WARNING, HOOK_STRAY_INFO, scanBundledManagedCodexAgents, scanCanonical, } from '../../engine/index.js';
|
|
12
12
|
import { normalizeToPosixPath, resolveProjectRoot, resolveScopeRoot, } from '../../fs/paths.js';
|
|
13
13
|
import { loadManifest, saveManifest } from '../../manifest/manager.js';
|
|
14
14
|
import { claudeAdapter } from '../../providers/claude/index.js';
|
|
@@ -37,6 +37,7 @@ const DEFAULT_DEPENDENCIES = {
|
|
|
37
37
|
readUserConfig,
|
|
38
38
|
saveManifest,
|
|
39
39
|
scanCanonical,
|
|
40
|
+
scanBundledManagedCodexAgents,
|
|
40
41
|
getAdapters() {
|
|
41
42
|
return [
|
|
42
43
|
claudeAdapter,
|
|
@@ -192,9 +193,14 @@ async function collectScopeReports(scope, context, dependencies) {
|
|
|
192
193
|
}
|
|
193
194
|
}
|
|
194
195
|
}
|
|
195
|
-
if (
|
|
196
|
-
|
|
197
|
-
|
|
196
|
+
if (activeAdapters.some((adapter) => adapter.name === 'codex')) {
|
|
197
|
+
const codexCanonicalEntries = scope === 'user'
|
|
198
|
+
? [
|
|
199
|
+
...canonicalEntries,
|
|
200
|
+
...(await dependencies.scanBundledManagedCodexAgents()),
|
|
201
|
+
]
|
|
202
|
+
: canonicalEntries;
|
|
203
|
+
const codexExtensionPlan = await dependencies.computeCodexProjectExtensionPlan(scopeRoot, codexCanonicalEntries, undefined, { userConfigDir: join(context.home, '.oat') });
|
|
198
204
|
for (const operation of codexExtensionPlan.operations) {
|
|
199
205
|
if (operation.action === 'skip') {
|
|
200
206
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/index.ts"],"names":[],"mappings":"AA4CA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAI5C,OAAO,KAAK,EAEV,uBAAuB,EAExB,MAAM,cAAc,CAAC;AA6TtB,wBAAgB,iBAAiB,CAC/B,SAAS,GAAE,OAAO,CAAC,uBAAuB,CAAM,GAC/C,OAAO,CA6BT"}
|
|
@@ -5,7 +5,7 @@ import { withScopeOption } from '../shared/scope-option.js';
|
|
|
5
5
|
import { selectManyWithAbort, } from '../shared/shared.prompts.js';
|
|
6
6
|
import { readGlobalOptions, resolveConcreteScopes, } from '../shared/shared.utils.js';
|
|
7
7
|
import { DEFAULT_SYNC_CONFIG, loadSyncConfig, saveSyncConfig, } from '../../config/index.js';
|
|
8
|
-
import { computeSyncPlan, executeSyncPlan, scanCanonical } from '../../engine/index.js';
|
|
8
|
+
import { computeSyncPlan, executeSyncPlan, scanBundledManagedCodexAgents, scanCanonical, } from '../../engine/index.js';
|
|
9
9
|
import { CliError } from '../../errors/index.js';
|
|
10
10
|
import { resolveProjectRoot, resolveScopeRoot } from '../../fs/paths.js';
|
|
11
11
|
import { loadManifest } from '../../manifest/index.js';
|
|
@@ -36,6 +36,7 @@ function defaultDependencies() {
|
|
|
36
36
|
},
|
|
37
37
|
saveSyncConfig,
|
|
38
38
|
scanCanonical,
|
|
39
|
+
scanBundledManagedCodexAgents,
|
|
39
40
|
getAdapters() {
|
|
40
41
|
return [
|
|
41
42
|
claudeAdapter,
|
|
@@ -168,8 +169,14 @@ async function computePlans(context, dependencies, allowedCanonicalPaths) {
|
|
|
168
169
|
let codexExtensionPlan;
|
|
169
170
|
let codexExtension;
|
|
170
171
|
const activeAdapterNames = resolved.activeAdapters.map((adapter) => adapter.name);
|
|
171
|
-
if (
|
|
172
|
-
|
|
172
|
+
if (activeAdapterNames.includes('codex')) {
|
|
173
|
+
const codexCanonical = scope === 'user'
|
|
174
|
+
? [
|
|
175
|
+
...canonical,
|
|
176
|
+
...(await dependencies.scanBundledManagedCodexAgents()),
|
|
177
|
+
]
|
|
178
|
+
: canonical;
|
|
179
|
+
codexExtensionPlan = await dependencies.computeCodexProjectExtensionPlan(scopeRoot, codexCanonical, allowedCanonicalPaths, { userConfigDir: join(context.home, '.oat') });
|
|
173
180
|
codexExtension = {
|
|
174
181
|
operations: dependencies.toCodexExtensionOperations(codexExtensionPlan),
|
|
175
182
|
managedRoles: codexExtensionPlan.managedRoles,
|
|
@@ -60,6 +60,7 @@ export interface SyncCommandDependencies {
|
|
|
60
60
|
loadSyncConfig: (configPath: string) => Promise<SyncConfig>;
|
|
61
61
|
saveSyncConfig: (configPath: string, config: SyncConfig) => Promise<SyncConfig>;
|
|
62
62
|
scanCanonical: (scopeRoot: string, scope: ConcreteScope) => Promise<CanonicalEntry[]>;
|
|
63
|
+
scanBundledManagedCodexAgents: () => Promise<CanonicalEntry[]>;
|
|
63
64
|
getAdapters: () => ProviderAdapter[];
|
|
64
65
|
getConfigAwareAdapters: (adapters: ProviderAdapter[], scopeRoot: string, config: SyncConfig) => Promise<ConfigAwareAdaptersResult>;
|
|
65
66
|
selectProvidersWithAbort: <T extends string>(message: string, choices: MultiSelectChoice<T>[], ctx: PromptContext) => Promise<T[] | null>;
|
|
@@ -73,7 +74,10 @@ export interface SyncCommandDependencies {
|
|
|
73
74
|
allowedCanonicalPaths?: string[];
|
|
74
75
|
}) => Promise<SyncPlan>;
|
|
75
76
|
executeSyncPlan: (plan: SyncPlan, manifest: Manifest, manifestPath: string) => Promise<SyncResult>;
|
|
76
|
-
computeCodexProjectExtensionPlan: (scopeRoot: string, canonicalEntries: CanonicalEntry[], allowedCanonicalPaths?: string[]
|
|
77
|
+
computeCodexProjectExtensionPlan: (scopeRoot: string, canonicalEntries: CanonicalEntry[], allowedCanonicalPaths?: string[], options?: {
|
|
78
|
+
userConfigDir?: string;
|
|
79
|
+
env?: NodeJS.ProcessEnv;
|
|
80
|
+
}) => Promise<CodexExtensionPlan>;
|
|
77
81
|
toCodexExtensionOperations: (plan: CodexExtensionPlan) => CodexExtensionOperation[];
|
|
78
82
|
applyCodexProjectExtensionPlan: (scopeRoot: string, plan: CodexExtensionPlan) => Promise<CodexExtensionApplyResult>;
|
|
79
83
|
formatSyncPlan: (plan: SyncPlan, applied: boolean) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.types.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/sync.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sync.types.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/sync.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,6 +82,10 @@ export declare function compileDispatchCeilingPreset(preset: WorkflowDispatchCei
|
|
|
82
82
|
* Advanced selections do not set a preset so the persisted shape omits it.
|
|
83
83
|
*/
|
|
84
84
|
export declare function compileAdvancedDispatchCeiling(providers: WorkflowDispatchCeiling['providers'] & object): AdvancedCompileResult;
|
|
85
|
+
export declare function dispatchPolicyProviderTargets(policy: CappedManagedDispatchPolicy): {
|
|
86
|
+
codex: WorkflowCodexDispatchCeiling;
|
|
87
|
+
claude: DispatchPolicyClaudeValue;
|
|
88
|
+
};
|
|
85
89
|
/**
|
|
86
90
|
* Compile the managed dispatch-policy ladder into concrete provider caps.
|
|
87
91
|
* `uncapped` is intentionally explicit but has no provider caps.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch-ceiling-preset.d.ts","sourceRoot":"","sources":["../../src/config/dispatch-ceiling-preset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,cAAc,CAAC;AAEtB;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;CAOpC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,6BAA6B,GAAG,OAAO,CAAC;AAChF,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAC/C,6BAA6B,EAC7B,UAAU,CACX,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;CAQnC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,6BAA6B,CAAC;IACtC,SAAS,EAAE;QACT,KAAK,EAAE,4BAA4B,CAAC;QACpC,MAAM,EAAE,6BAA6B,CAAC;KACvC,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;CAC1D;AAED,MAAM,MAAM,2BAA2B,GACnC;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,2BAA2B,CAAC;IACpC,SAAS,EAAE;QACT,KAAK,EAAE,4BAA4B,CAAC;QACpC,MAAM,EAAE,yBAAyB,CAAC;KACnC,CAAC;CACH,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEN;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,6BAA6B,GACpC,mBAAmB,CAKrB;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,GAAG,MAAM,GACvD,qBAAqB,CAEvB;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,6BAA6B,GACpC,2BAA2B,CAU7B"}
|
|
1
|
+
{"version":3,"file":"dispatch-ceiling-preset.d.ts","sourceRoot":"","sources":["../../src/config/dispatch-ceiling-preset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,cAAc,CAAC;AAEtB;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;CAOpC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,6BAA6B,GAAG,OAAO,CAAC;AAChF,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAC/C,6BAA6B,EAC7B,UAAU,CACX,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;CAQnC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,6BAA6B,CAAC;IACtC,SAAS,EAAE;QACT,KAAK,EAAE,4BAA4B,CAAC;QACpC,MAAM,EAAE,6BAA6B,CAAC;KACvC,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;CAC1D;AAED,MAAM,MAAM,2BAA2B,GACnC;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,2BAA2B,CAAC;IACpC,SAAS,EAAE;QACT,KAAK,EAAE,4BAA4B,CAAC;QACpC,MAAM,EAAE,yBAAyB,CAAC;KACnC,CAAC;CACH,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEN;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,6BAA6B,GACpC,mBAAmB,CAKrB;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,GAAG,MAAM,GACvD,qBAAqB,CAEvB;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,2BAA2B,GAClC;IACD,KAAK,EAAE,4BAA4B,CAAC;IACpC,MAAM,EAAE,yBAAyB,CAAC;CACnC,CAEA;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,6BAA6B,GACpC,2BAA2B,CAU7B"}
|
|
@@ -36,6 +36,9 @@ export function compileDispatchCeilingPreset(preset) {
|
|
|
36
36
|
export function compileAdvancedDispatchCeiling(providers) {
|
|
37
37
|
return { providers };
|
|
38
38
|
}
|
|
39
|
+
export function dispatchPolicyProviderTargets(policy) {
|
|
40
|
+
return { ...DISPATCH_POLICY_PRESETS[policy] };
|
|
41
|
+
}
|
|
39
42
|
/**
|
|
40
43
|
* Compile the managed dispatch-policy ladder into concrete provider caps.
|
|
41
44
|
* `uncapped` is intentionally explicit but has no provider caps.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type WorkflowManagedDispatchPolicy } from './oat-config.js';
|
|
2
|
+
export type DispatchPolicyChoiceKind = 'managed-capped' | 'managed-uncapped' | 'inherit' | 'unresolved';
|
|
3
|
+
export interface DispatchPolicyChoice {
|
|
4
|
+
value: string;
|
|
5
|
+
label: string;
|
|
6
|
+
kind: DispatchPolicyChoiceKind;
|
|
7
|
+
runtimePolicy: boolean;
|
|
8
|
+
description: string;
|
|
9
|
+
policy?: WorkflowManagedDispatchPolicy;
|
|
10
|
+
providers?: {
|
|
11
|
+
codex: string;
|
|
12
|
+
claude: string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare function getDispatchPolicyChoices(): DispatchPolicyChoice[];
|
|
16
|
+
export declare function managedDispatchPolicyValueList(separator?: string): string;
|
|
17
|
+
export declare function dispatchPolicyModeDescription(): string;
|
|
18
|
+
export declare function dispatchPolicyPolicyDescription(): string;
|
|
19
|
+
export declare function renderDispatchPolicyChoicesMarkdown(choices?: DispatchPolicyChoice[]): string;
|
|
20
|
+
//# sourceMappingURL=dispatch-policy-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-policy-options.d.ts","sourceRoot":"","sources":["../../src/config/dispatch-policy-options.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,wBAAwB,GAChC,gBAAgB,GAChB,kBAAkB,GAClB,SAAS,GACT,YAAY,CAAC;AAEjB,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,wBAAwB,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,6BAA6B,CAAC;IACvC,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAqDD,wBAAgB,wBAAwB,IAAI,oBAAoB,EAAE,CAoBjE;AAED,wBAAgB,8BAA8B,CAAC,SAAS,SAAQ,GAAG,MAAM,CAExE;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAOtD;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CASxD;AAYD,wBAAgB,mCAAmC,CACjD,OAAO,yBAA6B,GACnC,MAAM,CASR"}
|