oh-my-opencode 5.1.41 → 5.1.42
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/README.de.md +118 -0
- package/README.es.md +118 -0
- package/README.fr.md +118 -0
- package/README.it.md +118 -0
- package/README.ja.md +2 -1
- package/README.ko.md +2 -1
- package/README.md +3 -2
- package/README.pt-br.md +118 -0
- package/README.ru.md +2 -1
- package/README.zh-cn.md +2 -1
- package/dist/cli/index.js +92 -27
- package/dist/cli/service-auth/index.d.ts +3 -0
- package/dist/cli-node/index.js +92 -27
- package/dist/index.js +90 -31
- package/dist/skills/browser/runtime/omowright/manifest.json +1 -1
- package/dist/tui.js +86 -26
- package/package.json +14 -14
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +68 -9
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/package-lock.json +12 -12
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/skills/browser/runtime/omowright/manifest.json +1 -1
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +70 -11
- package/packages/shared-skills/skills/browser/runtime/omowright/manifest.json +1 -1
package/dist/cli-node/index.js
CHANGED
|
@@ -2133,7 +2133,7 @@ var package_default;
|
|
|
2133
2133
|
var init_package = __esm(() => {
|
|
2134
2134
|
package_default = {
|
|
2135
2135
|
name: "oh-my-opencode",
|
|
2136
|
-
version: "5.1.
|
|
2136
|
+
version: "5.1.42",
|
|
2137
2137
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
2138
2138
|
main: "./dist/index.js",
|
|
2139
2139
|
types: "dist/index.d.ts",
|
|
@@ -2310,7 +2310,7 @@ var init_package = __esm(() => {
|
|
|
2310
2310
|
},
|
|
2311
2311
|
devDependencies: {
|
|
2312
2312
|
"@clack/prompts": "^1.8.1",
|
|
2313
|
-
"@code-yeongyu/senpi": "2026.10.21-
|
|
2313
|
+
"@code-yeongyu/senpi": "2026.10.21-2",
|
|
2314
2314
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
2315
2315
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
2316
2316
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
@@ -2371,18 +2371,18 @@ var init_package = __esm(() => {
|
|
|
2371
2371
|
typescript: "^7.0.2"
|
|
2372
2372
|
},
|
|
2373
2373
|
optionalDependencies: {
|
|
2374
|
-
"oh-my-opencode-darwin-arm64": "5.1.
|
|
2375
|
-
"oh-my-opencode-darwin-x64": "5.1.
|
|
2376
|
-
"oh-my-opencode-darwin-x64-baseline": "5.1.
|
|
2377
|
-
"oh-my-opencode-linux-arm64": "5.1.
|
|
2378
|
-
"oh-my-opencode-linux-arm64-musl": "5.1.
|
|
2379
|
-
"oh-my-opencode-linux-x64": "5.1.
|
|
2380
|
-
"oh-my-opencode-linux-x64-baseline": "5.1.
|
|
2381
|
-
"oh-my-opencode-linux-x64-musl": "5.1.
|
|
2382
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.1.
|
|
2383
|
-
"oh-my-opencode-windows-arm64": "5.1.
|
|
2384
|
-
"oh-my-opencode-windows-x64": "5.1.
|
|
2385
|
-
"oh-my-opencode-windows-x64-baseline": "5.1.
|
|
2374
|
+
"oh-my-opencode-darwin-arm64": "5.1.42",
|
|
2375
|
+
"oh-my-opencode-darwin-x64": "5.1.42",
|
|
2376
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.42",
|
|
2377
|
+
"oh-my-opencode-linux-arm64": "5.1.42",
|
|
2378
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.42",
|
|
2379
|
+
"oh-my-opencode-linux-x64": "5.1.42",
|
|
2380
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.42",
|
|
2381
|
+
"oh-my-opencode-linux-x64-musl": "5.1.42",
|
|
2382
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.42",
|
|
2383
|
+
"oh-my-opencode-windows-arm64": "5.1.42",
|
|
2384
|
+
"oh-my-opencode-windows-x64": "5.1.42",
|
|
2385
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.42"
|
|
2386
2386
|
},
|
|
2387
2387
|
overrides: {
|
|
2388
2388
|
hono: "^4.13.8",
|
|
@@ -76909,7 +76909,7 @@ var init_memory_agreements = __esm(() => {
|
|
|
76909
76909
|
});
|
|
76910
76910
|
|
|
76911
76911
|
// packages/omo-config-core/src/schema/memory.ts
|
|
76912
|
-
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallEventCapsSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallEventCapsLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryProjectionSchema, OmoMemoryProjectionLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
76912
|
+
var OmoMemoryReflectionTriggerSchema, OmoMemoryReflectionSchema, OmoMemorySyncSchema, OmoMemorySearchSchema, OmoMemoryRecallEventCapsSchema, OmoMemoryRecallSchema, OmoMemoryNudgeSchema, OmoMemoryFactsSchema, OmoMemoryDreamSchema, OmoMemoryPeopleSchema, OmoMemorySoulSchema, OmoMemoryWriteNoticeSchema, OmoMemoryReflectionTriggerLayerSchema, OmoMemoryReflectionLayerSchema, OmoMemorySyncLayerSchema, OmoMemorySearchLayerSchema, OmoMemoryRecallEventCapsLayerSchema, OmoMemoryRecallLayerSchema, OmoMemoryNudgeLayerSchema, OmoMemoryFactsLayerSchema, OmoMemoryDreamLayerSchema, OmoMemoryPeopleLayerSchema, OmoMemorySoulLayerSchema, OmoMemoryWriteNoticeLayerSchema, OmoMemoryProjectionSchema, OmoMemoryProjectionLayerSchema, OmoMemoryAgentOverridesSchema, OmoMemoryAutoIdentitySchema, OmoMemorySettingsSchema, OmoMemorySettingsLayerSchema;
|
|
76913
76913
|
var init_memory = __esm(() => {
|
|
76914
76914
|
init_zod();
|
|
76915
76915
|
init_memory_agreements();
|
|
@@ -77065,9 +77065,11 @@ var init_memory = __esm(() => {
|
|
|
77065
77065
|
projection: OmoMemoryProjectionLayerSchema.optional(),
|
|
77066
77066
|
compile_warn_tokens: number2().int().positive().optional()
|
|
77067
77067
|
}).strict();
|
|
77068
|
+
OmoMemoryAutoIdentitySchema = _enum(["path", "git"]);
|
|
77068
77069
|
OmoMemorySettingsSchema = object({
|
|
77069
77070
|
enabled: boolean2().default(true),
|
|
77070
77071
|
agent: string2().min(1).default("auto"),
|
|
77072
|
+
auto_identity: OmoMemoryAutoIdentitySchema.default("path"),
|
|
77071
77073
|
reflection: OmoMemoryReflectionSchema.default({
|
|
77072
77074
|
enabled: true,
|
|
77073
77075
|
trigger: { step_count: 25, on_compaction: true },
|
|
@@ -77109,6 +77111,7 @@ var init_memory = __esm(() => {
|
|
|
77109
77111
|
OmoMemorySettingsLayerSchema = object({
|
|
77110
77112
|
enabled: boolean2().optional(),
|
|
77111
77113
|
agent: string2().min(1).optional(),
|
|
77114
|
+
auto_identity: OmoMemoryAutoIdentitySchema.optional(),
|
|
77112
77115
|
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
77113
77116
|
nudge: OmoMemoryNudgeLayerSchema.optional(),
|
|
77114
77117
|
facts: OmoMemoryFactsLayerSchema.optional(),
|
|
@@ -77158,6 +77161,7 @@ var init_model_profile = __esm(() => {
|
|
|
77158
77161
|
init_fallback_models();
|
|
77159
77162
|
OmoModelProfileInputSchema = object({
|
|
77160
77163
|
display_name: string2().optional(),
|
|
77164
|
+
caution: string2().optional(),
|
|
77161
77165
|
family: _enum(["daily", "geeky"]).optional(),
|
|
77162
77166
|
tier: _enum(["normal", "heavy"]).optional(),
|
|
77163
77167
|
models: array(union([string2(), OmoFallbackModelObjectSchema])).optional()
|
|
@@ -77451,7 +77455,7 @@ var init_gateway = __esm(() => {
|
|
|
77451
77455
|
});
|
|
77452
77456
|
|
|
77453
77457
|
// packages/omo-config-core/src/schema/config.ts
|
|
77454
|
-
var OmoOpenCodeHarnessConfigSchema, OmoDisabledSkillsSchema, OmoTypedHarnessConfigSchema, OmoConfigProfileSchema, OmoConfigSchema, OmoConfigLayerSchema;
|
|
77458
|
+
var OmoOpenCodeHarnessConfigSchema, OmoDisabledSkillsSchema, OmoExcludedModelsSchema, OmoTypedHarnessConfigSchema, OmoConfigProfileSchema, OmoConfigSchema, OmoConfigLayerSchema;
|
|
77455
77459
|
var init_config = __esm(() => {
|
|
77456
77460
|
init_zod();
|
|
77457
77461
|
init_agent();
|
|
@@ -77469,6 +77473,7 @@ var init_config = __esm(() => {
|
|
|
77469
77473
|
init_gateway();
|
|
77470
77474
|
OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
|
|
77471
77475
|
OmoDisabledSkillsSchema = array(string2());
|
|
77476
|
+
OmoExcludedModelsSchema = array(string2());
|
|
77472
77477
|
OmoTypedHarnessConfigSchema = object({
|
|
77473
77478
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
77474
77479
|
gateway: OmoGatewaySectionSchema.optional(),
|
|
@@ -77484,7 +77489,8 @@ var init_config = __esm(() => {
|
|
|
77484
77489
|
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
77485
77490
|
side_panel: OmoSidePanelSettingsLayerSchema.optional(),
|
|
77486
77491
|
computer: OmoComputerSettingsLayerSchema.optional(),
|
|
77487
|
-
disabled_skills: OmoDisabledSkillsSchema.optional()
|
|
77492
|
+
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
77493
|
+
exclude_models: OmoExcludedModelsSchema.optional()
|
|
77488
77494
|
}).strict();
|
|
77489
77495
|
OmoConfigProfileSchema = object({
|
|
77490
77496
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
@@ -77501,6 +77507,7 @@ var init_config = __esm(() => {
|
|
|
77501
77507
|
side_panel: OmoSidePanelSettingsLayerSchema.optional(),
|
|
77502
77508
|
computer: OmoComputerSettingsLayerSchema.optional(),
|
|
77503
77509
|
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
77510
|
+
exclude_models: OmoExcludedModelsSchema.optional(),
|
|
77504
77511
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
77505
77512
|
"[native]": OmoTypedHarnessConfigSchema.optional(),
|
|
77506
77513
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -77523,6 +77530,7 @@ var init_config = __esm(() => {
|
|
|
77523
77530
|
side_panel: OmoSidePanelSettingsSchema.optional(),
|
|
77524
77531
|
computer: OmoComputerSettingsSchema.optional(),
|
|
77525
77532
|
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
77533
|
+
exclude_models: OmoExcludedModelsSchema.optional(),
|
|
77526
77534
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
77527
77535
|
"[native]": OmoTypedHarnessConfigSchema.optional(),
|
|
77528
77536
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -77548,6 +77556,7 @@ var init_config = __esm(() => {
|
|
|
77548
77556
|
side_panel: OmoSidePanelSettingsLayerSchema.optional(),
|
|
77549
77557
|
computer: OmoComputerSettingsLayerSchema.optional(),
|
|
77550
77558
|
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
77559
|
+
exclude_models: OmoExcludedModelsSchema.optional(),
|
|
77551
77560
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
77552
77561
|
"[native]": OmoTypedHarnessConfigSchema.optional(),
|
|
77553
77562
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -77756,7 +77765,51 @@ var init_diagnostic_lines = __esm(() => {
|
|
|
77756
77765
|
});
|
|
77757
77766
|
|
|
77758
77767
|
// packages/omo-config-core/src/loader/disabled-skills.ts
|
|
77759
|
-
|
|
77768
|
+
function toRecord(value) {
|
|
77769
|
+
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
77770
|
+
return;
|
|
77771
|
+
return value;
|
|
77772
|
+
}
|
|
77773
|
+
function namesAt(record, key) {
|
|
77774
|
+
const value = record?.[key];
|
|
77775
|
+
if (!Array.isArray(value))
|
|
77776
|
+
return [];
|
|
77777
|
+
return value.filter((entry) => typeof entry === "string" && entry.trim() !== "");
|
|
77778
|
+
}
|
|
77779
|
+
function harnessBlockKeys(harness) {
|
|
77780
|
+
const canonical = canonicalHarnessName(harness);
|
|
77781
|
+
const legacy = Object.entries(OMO_CONFIG_LEGACY_HARNESS_ALIASES).filter(([, target]) => target === canonical).map(([name]) => harnessBlockKey(name));
|
|
77782
|
+
return [harnessBlockKey(canonical), ...legacy];
|
|
77783
|
+
}
|
|
77784
|
+
function scopesOf(config, harness) {
|
|
77785
|
+
if (harness === undefined)
|
|
77786
|
+
return [config];
|
|
77787
|
+
return [config, ...harnessBlockKeys(harness).map((key) => toRecord(config[key]))];
|
|
77788
|
+
}
|
|
77789
|
+
function collectExcludedModels(options) {
|
|
77790
|
+
return collectUnionedList("exclude_models", options);
|
|
77791
|
+
}
|
|
77792
|
+
function collectUnionedList(key, options) {
|
|
77793
|
+
const names = new Set;
|
|
77794
|
+
for (const layer of options.layers) {
|
|
77795
|
+
const config = toRecord(layer.config);
|
|
77796
|
+
if (config === undefined)
|
|
77797
|
+
continue;
|
|
77798
|
+
const profile = options.profile === undefined ? undefined : toRecord(toRecord(config["profiles"])?.[options.profile]);
|
|
77799
|
+
const scopes = [
|
|
77800
|
+
...scopesOf(config, options.harness),
|
|
77801
|
+
...profile === undefined ? [] : scopesOf(profile, options.harness)
|
|
77802
|
+
];
|
|
77803
|
+
for (const scope of scopes) {
|
|
77804
|
+
for (const name of namesAt(scope, key))
|
|
77805
|
+
names.add(name.trim());
|
|
77806
|
+
}
|
|
77807
|
+
}
|
|
77808
|
+
return [...names];
|
|
77809
|
+
}
|
|
77810
|
+
var init_disabled_skills = __esm(() => {
|
|
77811
|
+
init_schema();
|
|
77812
|
+
});
|
|
77760
77813
|
|
|
77761
77814
|
// packages/omo-config-core/src/loader/merge.ts
|
|
77762
77815
|
function isUnsafeObjectKey2(key) {
|
|
@@ -77992,7 +78045,7 @@ function stripUnrecognizedKeys(record, issues) {
|
|
|
77992
78045
|
}
|
|
77993
78046
|
return { issuePaths, stripped };
|
|
77994
78047
|
}
|
|
77995
|
-
function
|
|
78048
|
+
function toRecord2(value) {
|
|
77996
78049
|
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
77997
78050
|
return null;
|
|
77998
78051
|
const record = {};
|
|
@@ -78003,7 +78056,7 @@ function toRecord(value) {
|
|
|
78003
78056
|
}
|
|
78004
78057
|
function validateConfigLayer(path, data) {
|
|
78005
78058
|
const sanitized = sanitizeUnsafeKeys(data);
|
|
78006
|
-
const record =
|
|
78059
|
+
const record = toRecord2(sanitized.value);
|
|
78007
78060
|
const unsafeIssuePaths = sanitized.issues.flatMap((issue) => issue.keys.map((key) => [...issue.path, key].join(".")));
|
|
78008
78061
|
const unsafeDiagnostics = unsafeIssuePaths.length === 0 ? [] : [{ kind: "unknown-keys", message: `Ignored unknown keys in ${path}: ${unsafeIssuePaths.join(", ")}`, path, issuePaths: unsafeIssuePaths }];
|
|
78009
78062
|
const validation = OmoConfigLayerSchema.safeParse(sanitized.value);
|
|
@@ -78156,7 +78209,7 @@ function resolveOmoProfileName(options = {}) {
|
|
|
78156
78209
|
const env = options.env ?? process.env;
|
|
78157
78210
|
return profileName(options.profile) ?? profileName(env["OMO_PROFILE"]) ?? profileName(env["OCX_PROFILE"]) ?? profileNameFromOpenCodeConfigDir(env["OPENCODE_CONFIG_DIR"]);
|
|
78158
78211
|
}
|
|
78159
|
-
function
|
|
78212
|
+
function toRecord3(value) {
|
|
78160
78213
|
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
78161
78214
|
return;
|
|
78162
78215
|
return Object.fromEntries(Object.entries(value));
|
|
@@ -78177,13 +78230,13 @@ function harnessLayer(config, harness) {
|
|
|
78177
78230
|
const legacyKeys = Object.entries(OMO_CONFIG_LEGACY_HARNESS_ALIASES).filter(([, target]) => target === canonical).map(([legacy]) => harnessBlockKey(legacy));
|
|
78178
78231
|
let layer = {};
|
|
78179
78232
|
for (const key of [...legacyKeys, harnessBlockKey(canonical)]) {
|
|
78180
|
-
layer = mergeOmoConfigRecords(layer,
|
|
78233
|
+
layer = mergeOmoConfigRecords(layer, toRecord3(config[key]) ?? {});
|
|
78181
78234
|
}
|
|
78182
78235
|
return layer;
|
|
78183
78236
|
}
|
|
78184
78237
|
function resolveOmoConfigView(options) {
|
|
78185
|
-
const profiles =
|
|
78186
|
-
const profile = options.profile === undefined ? undefined :
|
|
78238
|
+
const profiles = toRecord3(options.config["profiles"]);
|
|
78239
|
+
const profile = options.profile === undefined ? undefined : toRecord3(profiles?.[options.profile]);
|
|
78187
78240
|
const diagnostics = profile === undefined && options.profile !== undefined ? [{
|
|
78188
78241
|
kind: "profile",
|
|
78189
78242
|
message: `Activated omo profile "${options.profile}" does not exist; using the base configuration`,
|
|
@@ -78324,9 +78377,15 @@ function loadOmoConfig(options = {}) {
|
|
|
78324
78377
|
});
|
|
78325
78378
|
const finalInput = mergeOmoConfigRecords(DEFAULT_RAW_CONFIG, resolved.config);
|
|
78326
78379
|
const finalConfig = OmoConfigSchema.safeParse(finalInput);
|
|
78380
|
+
const excludeModels = collectExcludedModels({
|
|
78381
|
+
layers,
|
|
78382
|
+
...options.harness === undefined ? {} : { harness: options.harness },
|
|
78383
|
+
...resolved.profile === undefined ? {} : { profile: resolved.profile }
|
|
78384
|
+
});
|
|
78385
|
+
const withExcludedModels = (config) => excludeModels.length === 0 ? config : { ...config, exclude_models: [...excludeModels] };
|
|
78327
78386
|
if (finalConfig.success) {
|
|
78328
78387
|
return {
|
|
78329
|
-
config: stripResolutionControlKeys(finalConfig.data),
|
|
78388
|
+
config: withExcludedModels(stripResolutionControlKeys(finalConfig.data)),
|
|
78330
78389
|
diagnostics: [...diagnostics, ...resolved.diagnostics],
|
|
78331
78390
|
layers,
|
|
78332
78391
|
...resolved.profile === undefined ? {} : { profile: resolved.profile },
|
|
@@ -78339,7 +78398,7 @@ function loadOmoConfig(options = {}) {
|
|
|
78339
78398
|
});
|
|
78340
78399
|
if (pruned.ok) {
|
|
78341
78400
|
return {
|
|
78342
|
-
config: stripResolutionControlKeys(OmoConfigSchema.parse(pruned.config)),
|
|
78401
|
+
config: withExcludedModels(stripResolutionControlKeys(OmoConfigSchema.parse(pruned.config))),
|
|
78343
78402
|
diagnostics: [...diagnostics, ...resolved.diagnostics, ...invalidValueDiagnostics(MERGED_OMO_CONFIG_PATH, pruned.dropped)],
|
|
78344
78403
|
layers,
|
|
78345
78404
|
...resolved.profile === undefined ? {} : { profile: resolved.profile },
|
|
@@ -78358,6 +78417,7 @@ var DEFAULT_RAW_CONFIG;
|
|
|
78358
78417
|
var init_loader2 = __esm(() => {
|
|
78359
78418
|
init_main();
|
|
78360
78419
|
init_schema();
|
|
78420
|
+
init_disabled_skills();
|
|
78361
78421
|
init_layer_validation();
|
|
78362
78422
|
init_merge();
|
|
78363
78423
|
init_paths();
|
|
@@ -92220,7 +92280,7 @@ var package_default2;
|
|
|
92220
92280
|
var init_package2 = __esm(() => {
|
|
92221
92281
|
package_default2 = {
|
|
92222
92282
|
name: "@oh-my-opencode/omo-codex",
|
|
92223
|
-
version: "5.1.
|
|
92283
|
+
version: "5.1.42",
|
|
92224
92284
|
type: "module",
|
|
92225
92285
|
private: true,
|
|
92226
92286
|
description: "Codex harness adapter for oh-my-openagent. Vendored Codex plugin namespace (omo) + TypeScript installer + telemetry.",
|
|
@@ -99527,6 +99587,7 @@ var REQUIRED_PLUGIN_ARTIFACTS = [
|
|
|
99527
99587
|
join63("extensions", "CaseFolding.txt"),
|
|
99528
99588
|
join63("extensions", "omo-thread-client.js"),
|
|
99529
99589
|
join63("extensions", "omo-feedback.js"),
|
|
99590
|
+
join63("extensions", "omo-claim-receipt.js"),
|
|
99530
99591
|
join63("extensions", "assets.generated.json"),
|
|
99531
99592
|
join63("extensions", "omo-member.js"),
|
|
99532
99593
|
join63("extensions", "memory-run-supervisor.mjs"),
|
|
@@ -108569,6 +108630,10 @@ var package_default3 = {
|
|
|
108569
108630
|
types: "./src/config-migration/index.ts",
|
|
108570
108631
|
import: "./src/config-migration/index.ts"
|
|
108571
108632
|
},
|
|
108633
|
+
"./service-auth": {
|
|
108634
|
+
types: "./src/cli/service-auth/index.ts",
|
|
108635
|
+
import: "./src/cli/service-auth/index.ts"
|
|
108636
|
+
},
|
|
108572
108637
|
"./binary-downloader": {
|
|
108573
108638
|
types: "./src/shared/binary-downloader.ts",
|
|
108574
108639
|
import: "./src/shared/binary-downloader.ts"
|
package/dist/index.js
CHANGED
|
@@ -85148,9 +85148,11 @@ var OmoMemoryAgentOverridesSchema = z9.object({
|
|
|
85148
85148
|
projection: OmoMemoryProjectionLayerSchema.optional(),
|
|
85149
85149
|
compile_warn_tokens: z9.number().int().positive().optional()
|
|
85150
85150
|
}).strict();
|
|
85151
|
+
var OmoMemoryAutoIdentitySchema = z9.enum(["path", "git"]);
|
|
85151
85152
|
var OmoMemorySettingsSchema = z9.object({
|
|
85152
85153
|
enabled: z9.boolean().default(true),
|
|
85153
85154
|
agent: z9.string().min(1).default("auto"),
|
|
85155
|
+
auto_identity: OmoMemoryAutoIdentitySchema.default("path"),
|
|
85154
85156
|
reflection: OmoMemoryReflectionSchema.default({
|
|
85155
85157
|
enabled: true,
|
|
85156
85158
|
trigger: { step_count: 25, on_compaction: true },
|
|
@@ -85192,6 +85194,7 @@ var OmoMemorySettingsSchema = z9.object({
|
|
|
85192
85194
|
var OmoMemorySettingsLayerSchema = z9.object({
|
|
85193
85195
|
enabled: z9.boolean().optional(),
|
|
85194
85196
|
agent: z9.string().min(1).optional(),
|
|
85197
|
+
auto_identity: OmoMemoryAutoIdentitySchema.optional(),
|
|
85195
85198
|
reflection: OmoMemoryReflectionLayerSchema.optional(),
|
|
85196
85199
|
nudge: OmoMemoryNudgeLayerSchema.optional(),
|
|
85197
85200
|
facts: OmoMemoryFactsLayerSchema.optional(),
|
|
@@ -85232,6 +85235,7 @@ function isRecord9(value) {
|
|
|
85232
85235
|
}
|
|
85233
85236
|
var OmoModelProfileInputSchema = z11.object({
|
|
85234
85237
|
display_name: z11.string().optional(),
|
|
85238
|
+
caution: z11.string().optional(),
|
|
85235
85239
|
family: z11.enum(["daily", "geeky"]).optional(),
|
|
85236
85240
|
tier: z11.enum(["normal", "heavy"]).optional(),
|
|
85237
85241
|
models: z11.array(z11.union([z11.string(), OmoFallbackModelObjectSchema])).optional()
|
|
@@ -85509,6 +85513,7 @@ var OmoGatewaySectionSchema = z17.record(z17.string(), z17.unknown()).describe("
|
|
|
85509
85513
|
// packages/omo-config-core/src/schema/config.ts
|
|
85510
85514
|
var OmoOpenCodeHarnessConfigSchema = z18.record(z18.string(), z18.unknown());
|
|
85511
85515
|
var OmoDisabledSkillsSchema = z18.array(z18.string());
|
|
85516
|
+
var OmoExcludedModelsSchema = z18.array(z18.string());
|
|
85512
85517
|
var OmoTypedHarnessConfigSchema = z18.object({
|
|
85513
85518
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
85514
85519
|
gateway: OmoGatewaySectionSchema.optional(),
|
|
@@ -85524,7 +85529,8 @@ var OmoTypedHarnessConfigSchema = z18.object({
|
|
|
85524
85529
|
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
85525
85530
|
side_panel: OmoSidePanelSettingsLayerSchema.optional(),
|
|
85526
85531
|
computer: OmoComputerSettingsLayerSchema.optional(),
|
|
85527
|
-
disabled_skills: OmoDisabledSkillsSchema.optional()
|
|
85532
|
+
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
85533
|
+
exclude_models: OmoExcludedModelsSchema.optional()
|
|
85528
85534
|
}).strict();
|
|
85529
85535
|
var OmoConfigProfileSchema = z18.object({
|
|
85530
85536
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
@@ -85541,6 +85547,7 @@ var OmoConfigProfileSchema = z18.object({
|
|
|
85541
85547
|
side_panel: OmoSidePanelSettingsLayerSchema.optional(),
|
|
85542
85548
|
computer: OmoComputerSettingsLayerSchema.optional(),
|
|
85543
85549
|
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
85550
|
+
exclude_models: OmoExcludedModelsSchema.optional(),
|
|
85544
85551
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
85545
85552
|
"[native]": OmoTypedHarnessConfigSchema.optional(),
|
|
85546
85553
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -85563,6 +85570,7 @@ var OmoConfigSchema = z18.object({
|
|
|
85563
85570
|
side_panel: OmoSidePanelSettingsSchema.optional(),
|
|
85564
85571
|
computer: OmoComputerSettingsSchema.optional(),
|
|
85565
85572
|
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
85573
|
+
exclude_models: OmoExcludedModelsSchema.optional(),
|
|
85566
85574
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
85567
85575
|
"[native]": OmoTypedHarnessConfigSchema.optional(),
|
|
85568
85576
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -85588,6 +85596,7 @@ var OmoConfigLayerSchema = z18.object({
|
|
|
85588
85596
|
side_panel: OmoSidePanelSettingsLayerSchema.optional(),
|
|
85589
85597
|
computer: OmoComputerSettingsLayerSchema.optional(),
|
|
85590
85598
|
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
85599
|
+
exclude_models: OmoExcludedModelsSchema.optional(),
|
|
85591
85600
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
85592
85601
|
"[native]": OmoTypedHarnessConfigSchema.optional(),
|
|
85593
85602
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -85760,6 +85769,50 @@ function omoConfigDiagnosticLines(diagnostics, options = {}) {
|
|
|
85760
85769
|
});
|
|
85761
85770
|
}
|
|
85762
85771
|
|
|
85772
|
+
// packages/omo-config-core/src/loader/disabled-skills.ts
|
|
85773
|
+
function toRecord(value) {
|
|
85774
|
+
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
85775
|
+
return;
|
|
85776
|
+
return value;
|
|
85777
|
+
}
|
|
85778
|
+
function namesAt(record, key) {
|
|
85779
|
+
const value = record?.[key];
|
|
85780
|
+
if (!Array.isArray(value))
|
|
85781
|
+
return [];
|
|
85782
|
+
return value.filter((entry) => typeof entry === "string" && entry.trim() !== "");
|
|
85783
|
+
}
|
|
85784
|
+
function harnessBlockKeys(harness) {
|
|
85785
|
+
const canonical = canonicalHarnessName(harness);
|
|
85786
|
+
const legacy = Object.entries(OMO_CONFIG_LEGACY_HARNESS_ALIASES).filter(([, target]) => target === canonical).map(([name]) => harnessBlockKey(name));
|
|
85787
|
+
return [harnessBlockKey(canonical), ...legacy];
|
|
85788
|
+
}
|
|
85789
|
+
function scopesOf(config, harness) {
|
|
85790
|
+
if (harness === undefined)
|
|
85791
|
+
return [config];
|
|
85792
|
+
return [config, ...harnessBlockKeys(harness).map((key) => toRecord(config[key]))];
|
|
85793
|
+
}
|
|
85794
|
+
function collectExcludedModels(options) {
|
|
85795
|
+
return collectUnionedList("exclude_models", options);
|
|
85796
|
+
}
|
|
85797
|
+
function collectUnionedList(key, options) {
|
|
85798
|
+
const names = new Set;
|
|
85799
|
+
for (const layer of options.layers) {
|
|
85800
|
+
const config = toRecord(layer.config);
|
|
85801
|
+
if (config === undefined)
|
|
85802
|
+
continue;
|
|
85803
|
+
const profile = options.profile === undefined ? undefined : toRecord(toRecord(config["profiles"])?.[options.profile]);
|
|
85804
|
+
const scopes = [
|
|
85805
|
+
...scopesOf(config, options.harness),
|
|
85806
|
+
...profile === undefined ? [] : scopesOf(profile, options.harness)
|
|
85807
|
+
];
|
|
85808
|
+
for (const scope of scopes) {
|
|
85809
|
+
for (const name of namesAt(scope, key))
|
|
85810
|
+
names.add(name.trim());
|
|
85811
|
+
}
|
|
85812
|
+
}
|
|
85813
|
+
return [...names];
|
|
85814
|
+
}
|
|
85815
|
+
|
|
85763
85816
|
// packages/omo-config-core/src/loader/loader.ts
|
|
85764
85817
|
init_main();
|
|
85765
85818
|
|
|
@@ -85994,7 +86047,7 @@ function stripUnrecognizedKeys(record, issues) {
|
|
|
85994
86047
|
}
|
|
85995
86048
|
return { issuePaths, stripped };
|
|
85996
86049
|
}
|
|
85997
|
-
function
|
|
86050
|
+
function toRecord2(value) {
|
|
85998
86051
|
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
85999
86052
|
return null;
|
|
86000
86053
|
const record = {};
|
|
@@ -86009,7 +86062,7 @@ var validateLayerRecord = (record) => {
|
|
|
86009
86062
|
};
|
|
86010
86063
|
function validateConfigLayer(path, data) {
|
|
86011
86064
|
const sanitized = sanitizeUnsafeKeys(data);
|
|
86012
|
-
const record =
|
|
86065
|
+
const record = toRecord2(sanitized.value);
|
|
86013
86066
|
const unsafeIssuePaths = sanitized.issues.flatMap((issue) => issue.keys.map((key) => [...issue.path, key].join(".")));
|
|
86014
86067
|
const unsafeDiagnostics = unsafeIssuePaths.length === 0 ? [] : [{ kind: "unknown-keys", message: `Ignored unknown keys in ${path}: ${unsafeIssuePaths.join(", ")}`, path, issuePaths: unsafeIssuePaths }];
|
|
86015
86068
|
const validation = OmoConfigLayerSchema.safeParse(sanitized.value);
|
|
@@ -86152,7 +86205,7 @@ function resolveOmoProfileName(options = {}) {
|
|
|
86152
86205
|
const env = options.env ?? process.env;
|
|
86153
86206
|
return profileName(options.profile) ?? profileName(env["OMO_PROFILE"]) ?? profileName(env["OCX_PROFILE"]) ?? profileNameFromOpenCodeConfigDir(env["OPENCODE_CONFIG_DIR"]);
|
|
86154
86207
|
}
|
|
86155
|
-
function
|
|
86208
|
+
function toRecord3(value) {
|
|
86156
86209
|
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
86157
86210
|
return;
|
|
86158
86211
|
return Object.fromEntries(Object.entries(value));
|
|
@@ -86173,13 +86226,13 @@ function harnessLayer(config, harness) {
|
|
|
86173
86226
|
const legacyKeys = Object.entries(OMO_CONFIG_LEGACY_HARNESS_ALIASES).filter(([, target]) => target === canonical).map(([legacy]) => harnessBlockKey(legacy));
|
|
86174
86227
|
let layer = {};
|
|
86175
86228
|
for (const key of [...legacyKeys, harnessBlockKey(canonical)]) {
|
|
86176
|
-
layer = mergeOmoConfigRecords(layer,
|
|
86229
|
+
layer = mergeOmoConfigRecords(layer, toRecord3(config[key]) ?? {});
|
|
86177
86230
|
}
|
|
86178
86231
|
return layer;
|
|
86179
86232
|
}
|
|
86180
86233
|
function resolveOmoConfigView(options) {
|
|
86181
|
-
const profiles =
|
|
86182
|
-
const profile = options.profile === undefined ? undefined :
|
|
86234
|
+
const profiles = toRecord3(options.config["profiles"]);
|
|
86235
|
+
const profile = options.profile === undefined ? undefined : toRecord3(profiles?.[options.profile]);
|
|
86183
86236
|
const diagnostics = profile === undefined && options.profile !== undefined ? [{
|
|
86184
86237
|
kind: "profile",
|
|
86185
86238
|
message: `Activated omo profile "${options.profile}" does not exist; using the base configuration`,
|
|
@@ -86320,9 +86373,15 @@ function loadOmoConfig(options = {}) {
|
|
|
86320
86373
|
});
|
|
86321
86374
|
const finalInput = mergeOmoConfigRecords(DEFAULT_RAW_CONFIG, resolved.config);
|
|
86322
86375
|
const finalConfig = OmoConfigSchema.safeParse(finalInput);
|
|
86376
|
+
const excludeModels = collectExcludedModels({
|
|
86377
|
+
layers,
|
|
86378
|
+
...options.harness === undefined ? {} : { harness: options.harness },
|
|
86379
|
+
...resolved.profile === undefined ? {} : { profile: resolved.profile }
|
|
86380
|
+
});
|
|
86381
|
+
const withExcludedModels = (config) => excludeModels.length === 0 ? config : { ...config, exclude_models: [...excludeModels] };
|
|
86323
86382
|
if (finalConfig.success) {
|
|
86324
86383
|
return {
|
|
86325
|
-
config: stripResolutionControlKeys(finalConfig.data),
|
|
86384
|
+
config: withExcludedModels(stripResolutionControlKeys(finalConfig.data)),
|
|
86326
86385
|
diagnostics: [...diagnostics, ...resolved.diagnostics],
|
|
86327
86386
|
layers,
|
|
86328
86387
|
...resolved.profile === undefined ? {} : { profile: resolved.profile },
|
|
@@ -86335,7 +86394,7 @@ function loadOmoConfig(options = {}) {
|
|
|
86335
86394
|
});
|
|
86336
86395
|
if (pruned.ok) {
|
|
86337
86396
|
return {
|
|
86338
|
-
config: stripResolutionControlKeys(OmoConfigSchema.parse(pruned.config)),
|
|
86397
|
+
config: withExcludedModels(stripResolutionControlKeys(OmoConfigSchema.parse(pruned.config))),
|
|
86339
86398
|
diagnostics: [...diagnostics, ...resolved.diagnostics, ...invalidValueDiagnostics(MERGED_OMO_CONFIG_PATH, pruned.dropped)],
|
|
86340
86399
|
layers,
|
|
86341
86400
|
...resolved.profile === undefined ? {} : { profile: resolved.profile },
|
|
@@ -87822,7 +87881,7 @@ init_src();
|
|
|
87822
87881
|
// package.json
|
|
87823
87882
|
var package_default = {
|
|
87824
87883
|
name: "oh-my-opencode",
|
|
87825
|
-
version: "5.1.
|
|
87884
|
+
version: "5.1.42",
|
|
87826
87885
|
description: "The Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools",
|
|
87827
87886
|
main: "./dist/index.js",
|
|
87828
87887
|
types: "dist/index.d.ts",
|
|
@@ -87999,7 +88058,7 @@ var package_default = {
|
|
|
87999
88058
|
},
|
|
88000
88059
|
devDependencies: {
|
|
88001
88060
|
"@clack/prompts": "^1.8.1",
|
|
88002
|
-
"@code-yeongyu/senpi": "2026.10.21-
|
|
88061
|
+
"@code-yeongyu/senpi": "2026.10.21-2",
|
|
88003
88062
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
88004
88063
|
"@oh-my-opencode/agents-md-core": "workspace:*",
|
|
88005
88064
|
"@oh-my-opencode/ast-grep-mcp": "workspace:*",
|
|
@@ -88060,18 +88119,18 @@ var package_default = {
|
|
|
88060
88119
|
typescript: "^7.0.2"
|
|
88061
88120
|
},
|
|
88062
88121
|
optionalDependencies: {
|
|
88063
|
-
"oh-my-opencode-darwin-arm64": "5.1.
|
|
88064
|
-
"oh-my-opencode-darwin-x64": "5.1.
|
|
88065
|
-
"oh-my-opencode-darwin-x64-baseline": "5.1.
|
|
88066
|
-
"oh-my-opencode-linux-arm64": "5.1.
|
|
88067
|
-
"oh-my-opencode-linux-arm64-musl": "5.1.
|
|
88068
|
-
"oh-my-opencode-linux-x64": "5.1.
|
|
88069
|
-
"oh-my-opencode-linux-x64-baseline": "5.1.
|
|
88070
|
-
"oh-my-opencode-linux-x64-musl": "5.1.
|
|
88071
|
-
"oh-my-opencode-linux-x64-musl-baseline": "5.1.
|
|
88072
|
-
"oh-my-opencode-windows-arm64": "5.1.
|
|
88073
|
-
"oh-my-opencode-windows-x64": "5.1.
|
|
88074
|
-
"oh-my-opencode-windows-x64-baseline": "5.1.
|
|
88122
|
+
"oh-my-opencode-darwin-arm64": "5.1.42",
|
|
88123
|
+
"oh-my-opencode-darwin-x64": "5.1.42",
|
|
88124
|
+
"oh-my-opencode-darwin-x64-baseline": "5.1.42",
|
|
88125
|
+
"oh-my-opencode-linux-arm64": "5.1.42",
|
|
88126
|
+
"oh-my-opencode-linux-arm64-musl": "5.1.42",
|
|
88127
|
+
"oh-my-opencode-linux-x64": "5.1.42",
|
|
88128
|
+
"oh-my-opencode-linux-x64-baseline": "5.1.42",
|
|
88129
|
+
"oh-my-opencode-linux-x64-musl": "5.1.42",
|
|
88130
|
+
"oh-my-opencode-linux-x64-musl-baseline": "5.1.42",
|
|
88131
|
+
"oh-my-opencode-windows-arm64": "5.1.42",
|
|
88132
|
+
"oh-my-opencode-windows-x64": "5.1.42",
|
|
88133
|
+
"oh-my-opencode-windows-x64-baseline": "5.1.42"
|
|
88075
88134
|
},
|
|
88076
88135
|
overrides: {
|
|
88077
88136
|
hono: "^4.13.8",
|
|
@@ -107856,11 +107915,11 @@ init_logger2();
|
|
|
107856
107915
|
init_src();
|
|
107857
107916
|
var TERMINAL_TOOL_STATUSES = new Set(["completed", "error"]);
|
|
107858
107917
|
var UNKNOWN_TOOL_STATUS = "unknown";
|
|
107859
|
-
function
|
|
107918
|
+
function toRecord4(value) {
|
|
107860
107919
|
return isRecord(value) ? value : null;
|
|
107861
107920
|
}
|
|
107862
107921
|
function getToolCallID(part) {
|
|
107863
|
-
const record =
|
|
107922
|
+
const record = toRecord4(part);
|
|
107864
107923
|
if (!record || record["type"] !== "tool") {
|
|
107865
107924
|
return null;
|
|
107866
107925
|
}
|
|
@@ -107868,7 +107927,7 @@ function getToolCallID(part) {
|
|
|
107868
107927
|
return typeof callID === "string" && callID.length > 0 ? callID : null;
|
|
107869
107928
|
}
|
|
107870
107929
|
function getToolStatus(part) {
|
|
107871
|
-
const state =
|
|
107930
|
+
const state = toRecord4(toRecord4(part)?.["state"]);
|
|
107872
107931
|
if (!state) {
|
|
107873
107932
|
return UNKNOWN_TOOL_STATUS;
|
|
107874
107933
|
}
|
|
@@ -107899,24 +107958,24 @@ function findUnpairedToolParts(parts) {
|
|
|
107899
107958
|
// packages/omo-opencode/src/hooks/tool-pair-validator/tool-result-repair.ts
|
|
107900
107959
|
var INTERRUPTED_TOOL_ERROR = "[Tool execution was interrupted before it produced output]";
|
|
107901
107960
|
function getMessageID(message) {
|
|
107902
|
-
const messageID =
|
|
107961
|
+
const messageID = toRecord4(message)?.["id"];
|
|
107903
107962
|
return typeof messageID === "string" ? messageID : undefined;
|
|
107904
107963
|
}
|
|
107905
107964
|
function getMessageSessionID(message) {
|
|
107906
|
-
const sessionID =
|
|
107965
|
+
const sessionID = toRecord4(message)?.["sessionID"];
|
|
107907
107966
|
return typeof sessionID === "string" ? sessionID : undefined;
|
|
107908
107967
|
}
|
|
107909
107968
|
function readStartTime(state) {
|
|
107910
|
-
const time =
|
|
107969
|
+
const time = toRecord4(state["time"]);
|
|
107911
107970
|
const start = time?.["start"];
|
|
107912
107971
|
return typeof start === "number" ? start : Date.now();
|
|
107913
107972
|
}
|
|
107914
107973
|
function settleToolPart(part) {
|
|
107915
|
-
const state =
|
|
107974
|
+
const state = toRecord4(toRecord4(part)?.["state"]);
|
|
107916
107975
|
if (!state) {
|
|
107917
107976
|
return false;
|
|
107918
107977
|
}
|
|
107919
|
-
const input =
|
|
107978
|
+
const input = toRecord4(state["input"]);
|
|
107920
107979
|
const start = readStartTime(state);
|
|
107921
107980
|
state["status"] = "error";
|
|
107922
107981
|
state["error"] = INTERRUPTED_TOOL_ERROR;
|