ocmm 0.5.3 → 0.6.0
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/.codex/agents/dw-builder.toml +3 -3
- package/.codex/agents/dw-clarifier.toml +2 -2
- package/.codex/agents/dw-code-search.toml +2 -2
- package/.codex/agents/dw-coding.toml +2 -2
- package/.codex/agents/dw-complex.toml +2 -2
- package/.codex/agents/dw-creative.toml +2 -2
- package/.codex/agents/dw-deep.toml +3 -3
- package/.codex/agents/dw-doc-search.toml +2 -2
- package/.codex/agents/dw-documenting.toml +2 -2
- package/.codex/agents/dw-explore.toml +2 -2
- package/.codex/agents/dw-frontend.toml +2 -2
- package/.codex/agents/dw-hard-reasoning.toml +2 -2
- package/.codex/agents/dw-media-reader.toml +2 -2
- package/.codex/agents/dw-normal-task.toml +2 -2
- package/.codex/agents/dw-oracle-2nd.toml +8 -0
- package/.codex/agents/dw-oracle.toml +3 -3
- package/.codex/agents/dw-orchestrator.toml +2 -2
- package/.codex/agents/dw-plan-critic.toml +2 -2
- package/.codex/agents/dw-planner.toml +3 -3
- package/.codex/agents/dw-quick.toml +2 -2
- package/.codex/agents/dw-research.toml +2 -2
- package/.codex/agents/dw-reviewer.toml +2 -2
- package/README.md +193 -46
- package/dist/cli/shim.d.ts +4 -2
- package/dist/cli/shim.js +26 -11
- package/dist/cli/shim.js.map +1 -1
- package/dist/codex/plugin-generator.js +121 -96
- package/dist/codex/plugin-generator.js.map +1 -1
- package/dist/config/load.d.ts +32 -23
- package/dist/config/load.js +384 -90
- package/dist/config/load.js.map +1 -1
- package/dist/config/merge.d.ts +18 -0
- package/dist/config/merge.js +46 -0
- package/dist/config/merge.js.map +1 -0
- package/dist/config/normalize.d.ts +1 -0
- package/dist/config/normalize.js +22 -16
- package/dist/config/normalize.js.map +1 -1
- package/dist/config/profile-aliases.d.ts +12 -0
- package/dist/config/profile-aliases.js +127 -0
- package/dist/config/profile-aliases.js.map +1 -0
- package/dist/config/profile-types.d.ts +13 -0
- package/dist/config/profile-types.js +2 -0
- package/dist/config/profile-types.js.map +1 -0
- package/dist/config/review-agent-migration.d.ts +89 -0
- package/dist/config/review-agent-migration.js +237 -0
- package/dist/config/review-agent-migration.js.map +1 -0
- package/dist/config/schema.d.ts +1364 -219
- package/dist/config/schema.js +169 -36
- package/dist/config/schema.js.map +1 -1
- package/dist/config/tolerant-parse.d.ts +41 -0
- package/dist/config/tolerant-parse.js +164 -0
- package/dist/config/tolerant-parse.js.map +1 -0
- package/dist/data/agents.d.ts +2 -1
- package/dist/data/agents.js +25 -10
- package/dist/data/agents.js.map +1 -1
- package/dist/data/categories.js +2 -1
- package/dist/data/categories.js.map +1 -1
- package/dist/hooks/chat-params.d.ts +2 -0
- package/dist/hooks/chat-params.js +182 -16
- package/dist/hooks/chat-params.js.map +1 -1
- package/dist/hooks/config.d.ts +14 -2
- package/dist/hooks/config.js +538 -60
- package/dist/hooks/config.js.map +1 -1
- package/dist/hooks/event.d.ts +3 -11
- package/dist/hooks/event.js +5 -9
- package/dist/hooks/event.js.map +1 -1
- package/dist/index.js +21 -14
- package/dist/index.js.map +1 -1
- package/dist/intent/model-family.d.ts +2 -0
- package/dist/intent/model-family.js +11 -0
- package/dist/intent/model-family.js.map +1 -1
- package/dist/intent/prompt-loader.d.ts +3 -3
- package/dist/intent/prompt-loader.js +3 -3
- package/dist/permissions/index.d.ts +3 -0
- package/dist/permissions/index.js +43 -28
- package/dist/permissions/index.js.map +1 -1
- package/dist/review-agents/expand.d.ts +36 -0
- package/dist/review-agents/expand.js +157 -0
- package/dist/review-agents/expand.js.map +1 -0
- package/dist/review-agents/names.d.ts +16 -0
- package/dist/review-agents/names.js +55 -0
- package/dist/review-agents/names.js.map +1 -0
- package/dist/routing/effective-route.d.ts +19 -0
- package/dist/routing/effective-route.js +133 -0
- package/dist/routing/effective-route.js.map +1 -0
- package/dist/routing/model-upgrades.d.ts +5 -0
- package/dist/routing/model-upgrades.js +59 -11
- package/dist/routing/model-upgrades.js.map +1 -1
- package/dist/routing/resolver.d.ts +8 -1
- package/dist/routing/resolver.js +29 -9
- package/dist/routing/resolver.js.map +1 -1
- package/dist/routing/route-registry.d.ts +13 -0
- package/dist/routing/route-registry.js +84 -0
- package/dist/routing/route-registry.js.map +1 -0
- package/dist/routing/variant-translator.js +7 -4
- package/dist/routing/variant-translator.js.map +1 -1
- package/dist/runtime-fallback/dispatcher.d.ts +1 -0
- package/dist/runtime-fallback/dispatcher.js +7 -5
- package/dist/runtime-fallback/dispatcher.js.map +1 -1
- package/dist/runtime-fallback/error-classifier.d.ts +3 -1
- package/dist/runtime-fallback/error-classifier.js +135 -1
- package/dist/runtime-fallback/error-classifier.js.map +1 -1
- package/dist/runtime-fallback/event-handler-generic-fallback.d.ts +26 -0
- package/dist/runtime-fallback/event-handler-generic-fallback.js +54 -0
- package/dist/runtime-fallback/event-handler-generic-fallback.js.map +1 -0
- package/dist/runtime-fallback/event-handler-idle-continuation.d.ts +9 -0
- package/dist/runtime-fallback/event-handler-idle-continuation.js +48 -0
- package/dist/runtime-fallback/event-handler-idle-continuation.js.map +1 -0
- package/dist/runtime-fallback/event-handler-support.d.ts +39 -0
- package/dist/runtime-fallback/event-handler-support.js +194 -0
- package/dist/runtime-fallback/event-handler-support.js.map +1 -0
- package/dist/runtime-fallback/event-handler-test-fixtures.d.ts +874 -0
- package/dist/runtime-fallback/event-handler-test-fixtures.js +150 -0
- package/dist/runtime-fallback/event-handler-test-fixtures.js.map +1 -0
- package/dist/runtime-fallback/event-handler.d.ts +13 -1
- package/dist/runtime-fallback/event-handler.js +334 -192
- package/dist/runtime-fallback/event-handler.js.map +1 -1
- package/dist/runtime-fallback/fallback-state.d.ts +8 -5
- package/dist/runtime-fallback/fallback-state.js +9 -6
- package/dist/runtime-fallback/fallback-state.js.map +1 -1
- package/dist/runtime-fallback/index.d.ts +21 -1
- package/dist/runtime-fallback/index.js +7 -1
- package/dist/runtime-fallback/index.js.map +1 -1
- package/dist/runtime-fallback/interruption-output-adapter.d.ts +7 -0
- package/dist/runtime-fallback/interruption-output-adapter.js +91 -0
- package/dist/runtime-fallback/interruption-output-adapter.js.map +1 -0
- package/dist/runtime-fallback/subagent-429-controller-fixture.d.ts +105 -0
- package/dist/runtime-fallback/subagent-429-controller-fixture.js +116 -0
- package/dist/runtime-fallback/subagent-429-controller-fixture.js.map +1 -0
- package/dist/runtime-fallback/subagent-429-controller.d.ts +167 -0
- package/dist/runtime-fallback/subagent-429-controller.js +334 -0
- package/dist/runtime-fallback/subagent-429-controller.js.map +1 -0
- package/dist/runtime-fallback/subagent-429-policy.d.ts +13 -0
- package/dist/runtime-fallback/subagent-429-policy.js +37 -0
- package/dist/runtime-fallback/subagent-429-policy.js.map +1 -0
- package/dist/runtime-fallback/subagent-429-session.d.ts +48 -0
- package/dist/runtime-fallback/subagent-429-session.js +316 -0
- package/dist/runtime-fallback/subagent-429-session.js.map +1 -0
- package/dist/shared/opencode-events.d.ts +22 -0
- package/dist/shared/opencode-events.js +75 -0
- package/dist/shared/opencode-events.js.map +1 -0
- package/dist/shared/types.d.ts +12 -1
- package/package.json +1 -1
- package/plugins/deepwork/.codex-plugin/plugin.json +1 -1
- package/plugins/deepwork/README.md +3 -2
- package/plugins/deepwork/agents/dw-builder.toml +3 -3
- package/plugins/deepwork/agents/dw-clarifier.toml +2 -2
- package/plugins/deepwork/agents/dw-code-search.toml +2 -2
- package/plugins/deepwork/agents/dw-coding.toml +2 -2
- package/plugins/deepwork/agents/dw-complex.toml +2 -2
- package/plugins/deepwork/agents/dw-creative.toml +2 -2
- package/plugins/deepwork/agents/dw-deep.toml +3 -3
- package/plugins/deepwork/agents/dw-doc-search.toml +2 -2
- package/plugins/deepwork/agents/dw-documenting.toml +2 -2
- package/plugins/deepwork/agents/dw-explore.toml +2 -2
- package/plugins/deepwork/agents/dw-frontend.toml +2 -2
- package/plugins/deepwork/agents/dw-hard-reasoning.toml +2 -2
- package/plugins/deepwork/agents/dw-media-reader.toml +2 -2
- package/plugins/deepwork/agents/dw-normal-task.toml +2 -2
- package/plugins/deepwork/agents/dw-oracle-2nd.toml +8 -0
- package/plugins/deepwork/agents/dw-oracle.toml +3 -3
- package/plugins/deepwork/agents/dw-orchestrator.toml +2 -2
- package/plugins/deepwork/agents/dw-plan-critic.toml +2 -2
- package/plugins/deepwork/agents/dw-planner.toml +3 -3
- package/plugins/deepwork/agents/dw-quick.toml +2 -2
- package/plugins/deepwork/agents/dw-research.toml +2 -2
- package/plugins/deepwork/agents/dw-reviewer.toml +2 -2
- package/plugins/deepwork/dist/cli/shim.d.ts +4 -2
- package/plugins/deepwork/dist/cli/shim.js +26 -11
- package/plugins/deepwork/dist/cli/shim.js.map +1 -1
- package/plugins/deepwork/dist/shared/opencode-events.d.ts +22 -0
- package/plugins/deepwork/dist/shared/opencode-events.js +75 -0
- package/plugins/deepwork/dist/shared/opencode-events.js.map +1 -0
- package/plugins/deepwork/dist/shared/types.d.ts +12 -1
- package/plugins/deepwork/package.json +1 -1
- package/plugins/deepwork/skills/deepwork/SKILL.md +74 -58
- package/plugins/deepwork/skills/deepwork-requesting-code-review/SKILL.md +53 -27
- package/plugins/deepwork/skills/deepwork-requesting-code-review/code-reviewer.md +11 -7
- package/plugins/deepwork/skills/deepwork-subagent-driven-development/SKILL.md +34 -21
- package/plugins/deepwork/skills/deepwork-subagent-driven-development/implementer-prompt.md +10 -3
- package/prompts/codex/agents/clarifier.md +4 -0
- package/prompts/codex/agents/orchestrator.md +12 -2
- package/prompts/codex/agents/plan-critic.md +4 -0
- package/prompts/codex/agents/planner.md +15 -10
- package/prompts/codex/agents/reviewer.md +8 -2
- package/prompts/codex/deepwork/gpt-5.6.md +20 -37
- package/prompts/omo/agents/clarifier.md +4 -0
- package/prompts/omo/agents/orchestrator.md +11 -0
- package/prompts/omo/agents/plan-critic.md +4 -0
- package/prompts/omo/agents/planner.md +15 -3
- package/prompts/omo/agents/reviewer.md +8 -2
- package/prompts/omo/deepwork/gpt-5.6.md +20 -37
- package/prompts/v1/agents/clarifier.md +4 -0
- package/prompts/v1/agents/orchestrator.md +12 -2
- package/prompts/v1/agents/plan-critic.md +4 -0
- package/prompts/v1/agents/planner.md +15 -10
- package/prompts/v1/agents/reviewer.md +8 -2
- package/prompts/v1/deepwork/gpt-5.6.md +20 -37
- package/skills/v1/requesting-code-review/SKILL.md +53 -27
- package/skills/v1/requesting-code-review/code-reviewer.md +11 -7
- package/skills/v1/subagent-driven-development/SKILL.md +34 -21
- package/skills/v1/subagent-driven-development/implementer-prompt.md +10 -3
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import { OcmmConfigSchema } from "../config/schema.js";
|
|
3
|
+
export function makeMockClient() {
|
|
4
|
+
const calls = [];
|
|
5
|
+
const messagesResp = {
|
|
6
|
+
messages: [
|
|
7
|
+
{ role: "user", parts: [{ type: "text", text: "hello" }] },
|
|
8
|
+
{ role: "assistant", parts: [{ type: "text", text: "hi" }] },
|
|
9
|
+
],
|
|
10
|
+
};
|
|
11
|
+
const client = {
|
|
12
|
+
session: {
|
|
13
|
+
async abort() {
|
|
14
|
+
return undefined;
|
|
15
|
+
},
|
|
16
|
+
async messages() {
|
|
17
|
+
return messagesResp;
|
|
18
|
+
},
|
|
19
|
+
async prompt(args) {
|
|
20
|
+
calls.push({
|
|
21
|
+
sessionID: args.path.id,
|
|
22
|
+
body: args.body,
|
|
23
|
+
...(args.query?.directory !== undefined ? { directory: args.query.directory } : {}),
|
|
24
|
+
});
|
|
25
|
+
return undefined;
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
return { client, calls, messagesResp };
|
|
30
|
+
}
|
|
31
|
+
export function makeConfig(overrides = {}) {
|
|
32
|
+
return OcmmConfigSchema.parse({
|
|
33
|
+
agents: {
|
|
34
|
+
orchestrator: {
|
|
35
|
+
model: "hoo/primary-model",
|
|
36
|
+
fallbackModels: ["hoo/fallback-a", "hoo/fallback-b"],
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
runtimeFallback: overrides,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
export function makeErrorEvent(sessionID, error, extras = {}) {
|
|
43
|
+
return {
|
|
44
|
+
event: {
|
|
45
|
+
type: "session.error",
|
|
46
|
+
properties: { sessionID, error, ...extras },
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function makeIdleEvent(sessionID) {
|
|
51
|
+
return { event: { type: "session.idle", properties: { sessionID } } };
|
|
52
|
+
}
|
|
53
|
+
export class FakeHandlerScheduler {
|
|
54
|
+
tasks = [];
|
|
55
|
+
schedule(delayMs, run) {
|
|
56
|
+
const task = { delayMs, run, cancelled: false };
|
|
57
|
+
this.tasks.push(task);
|
|
58
|
+
return () => { task.cancelled = true; };
|
|
59
|
+
}
|
|
60
|
+
async run(index) {
|
|
61
|
+
const task = this.tasks[index];
|
|
62
|
+
assert.ok(task, `missing scheduled task ${index}`);
|
|
63
|
+
if (!task.cancelled)
|
|
64
|
+
await task.run();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export function deferred() {
|
|
68
|
+
let resolve;
|
|
69
|
+
let reject;
|
|
70
|
+
const promise = new Promise((resolvePromise, rejectPromise) => {
|
|
71
|
+
resolve = resolvePromise;
|
|
72
|
+
reject = rejectPromise;
|
|
73
|
+
});
|
|
74
|
+
return { promise, resolve, reject };
|
|
75
|
+
}
|
|
76
|
+
export async function flushHandler() {
|
|
77
|
+
await new Promise((resolve) => setImmediate(resolve));
|
|
78
|
+
await Promise.resolve();
|
|
79
|
+
}
|
|
80
|
+
export function makeHandlerConfig(chain, runtimeFallback = {}, requirementOptions = {}) {
|
|
81
|
+
return OcmmConfigSchema.parse({
|
|
82
|
+
agents: { worker: { requirement: { fallbackChain: chain, ...requirementOptions } } },
|
|
83
|
+
runtimeFallback,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
export function standardHandlerChain() {
|
|
87
|
+
return [
|
|
88
|
+
{ providers: ["provider-a"], model: "primary", variant: "high" },
|
|
89
|
+
{ providers: ["provider-b"], model: "fallback-a", variant: "medium" },
|
|
90
|
+
{ providers: ["provider-c"], model: "fallback-b", variant: "low" },
|
|
91
|
+
];
|
|
92
|
+
}
|
|
93
|
+
export function publishWorkerRouteSnapshot(registry, chain = standardHandlerChain()) {
|
|
94
|
+
const generation = registry.beginBuild();
|
|
95
|
+
const routes = new Map([
|
|
96
|
+
["worker", {
|
|
97
|
+
model: "provider-a/primary",
|
|
98
|
+
requirement: { fallbackChain: chain },
|
|
99
|
+
requirementSource: "user-config",
|
|
100
|
+
primarySource: "user-requirement",
|
|
101
|
+
}],
|
|
102
|
+
]);
|
|
103
|
+
assert.equal(registry.publish(generation, routes), true);
|
|
104
|
+
return registry.snapshot().snapshotId;
|
|
105
|
+
}
|
|
106
|
+
export function makeControlledClient(promptResults = [], phases = {}) {
|
|
107
|
+
const calls = [];
|
|
108
|
+
let aborts = 0;
|
|
109
|
+
let messages = 0;
|
|
110
|
+
let messagesResp = {
|
|
111
|
+
messages: [{ role: "user", parts: [{ type: "text", text: "retry this" }] }],
|
|
112
|
+
};
|
|
113
|
+
const client = {
|
|
114
|
+
session: {
|
|
115
|
+
async abort() {
|
|
116
|
+
aborts++;
|
|
117
|
+
return phases.abortResults?.shift() ?? undefined;
|
|
118
|
+
},
|
|
119
|
+
async messages() {
|
|
120
|
+
messages++;
|
|
121
|
+
const response = await (phases.messagesResults?.shift() ?? Promise.resolve(messagesResp));
|
|
122
|
+
phases.onMessagesResolved?.();
|
|
123
|
+
return response;
|
|
124
|
+
},
|
|
125
|
+
async prompt(args) {
|
|
126
|
+
calls.push({ sessionID: args.path.id, body: args.body });
|
|
127
|
+
return promptResults.shift() ?? Promise.resolve();
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
return {
|
|
132
|
+
client,
|
|
133
|
+
calls,
|
|
134
|
+
get aborts() { return aborts; },
|
|
135
|
+
get messages() { return messages; },
|
|
136
|
+
setMessages(response) { messagesResp = response; },
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
export function makeCreatedEvent(sessionID, parent = {}) {
|
|
140
|
+
return { event: { type: "session.created", properties: { sessionID, ...parent } } };
|
|
141
|
+
}
|
|
142
|
+
export function modelFor(modelID, providerID = "provider-a") {
|
|
143
|
+
return { providerID, modelID };
|
|
144
|
+
}
|
|
145
|
+
export function dispatchedModels(calls) {
|
|
146
|
+
return calls
|
|
147
|
+
.filter((call) => typeof call.body.modelID === "string")
|
|
148
|
+
.map((call) => `${call.body.providerID}/${call.body.modelID}`);
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=event-handler-test-fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-handler-test-fixtures.js","sourceRoot":"","sources":["../../src/runtime-fallback/event-handler-test-fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
import { type OcmmClient } from "./dispatcher.ts";
|
|
2
|
+
import { type EffectiveRouteRegistry } from "../routing/route-registry.ts";
|
|
2
3
|
import type { OcmmConfig } from "../config/schema.ts";
|
|
3
4
|
import { type IdleContinuationState } from "./idle-state.ts";
|
|
5
|
+
import { type Subagent429Scheduler } from "./subagent-429-controller.ts";
|
|
4
6
|
export type RuntimeFallbackDeps = {
|
|
5
7
|
getConfig: () => OcmmConfig;
|
|
6
8
|
client?: OcmmClient;
|
|
7
9
|
directory?: string;
|
|
8
10
|
idleState?: IdleContinuationState;
|
|
9
11
|
clearSessionIntent?: (sessionID: string) => void;
|
|
10
|
-
|
|
12
|
+
routeRegistry?: EffectiveRouteRegistry;
|
|
13
|
+
scheduler?: Subagent429Scheduler;
|
|
14
|
+
clock?: () => number;
|
|
15
|
+
random?: () => number;
|
|
11
16
|
};
|
|
17
|
+
export type RuntimeFallbackRuntime = {
|
|
18
|
+
event: (input: unknown) => Promise<void>;
|
|
19
|
+
afterTask: (input: unknown, output: unknown) => Promise<void>;
|
|
20
|
+
};
|
|
21
|
+
export declare const SUPPRESSION_TOMBSTONE_GRACE_MS: number;
|
|
22
|
+
export declare const MAX_SUPPRESSION_TOMBSTONES = 256;
|
|
23
|
+
export declare function createRuntimeFallbackRuntime(deps: RuntimeFallbackDeps): RuntimeFallbackRuntime;
|
|
12
24
|
export declare function createRuntimeFallbackEventHandler(deps: RuntimeFallbackDeps): (input: unknown) => Promise<void>;
|