oh-my-opencode 5.0.0-beta.82 → 5.0.0-beta.84
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/.agents/skills/hyperplan/SKILL.md +1 -1
- package/.opencode/skills/hyperplan/SKILL.md +1 -1
- package/README.ja.md +2 -2
- package/README.ko.md +2 -2
- package/README.md +4 -4
- package/README.ru.md +2 -2
- package/README.zh-cn.md +2 -2
- package/dist/cli/index.js +707 -146
- package/dist/cli/install-native/index.d.ts +4 -0
- package/dist/cli/install-native/plan.d.ts +11 -0
- package/dist/cli/install-native/run-native-install.d.ts +23 -0
- package/dist/cli/install-native-dev/index.d.ts +4 -0
- package/dist/cli/native-dev-platform-flag.d.ts +5 -0
- package/dist/cli/native-edition-hint.d.ts +10 -0
- package/dist/cli/types.d.ts +3 -2
- package/dist/cli-node/index.js +707 -146
- package/dist/config/schema/hooks.d.ts +1 -0
- package/dist/config-migration/harness-native-rename.d.ts +3 -0
- package/dist/config-migration/subscription-provider-rename.d.ts +4 -0
- package/dist/create-hooks.d.ts +1 -0
- package/dist/features/native-edition-nudge/index.d.ts +2 -0
- package/dist/features/native-edition-nudge/tui.d.ts +33 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/native-edition-nudge/decide.d.ts +4 -0
- package/dist/hooks/native-edition-nudge/hook.d.ts +26 -0
- package/dist/hooks/native-edition-nudge/index.d.ts +5 -0
- package/dist/hooks/native-edition-nudge/state.d.ts +9 -0
- package/dist/hooks/native-edition-nudge/types.d.ts +38 -0
- package/dist/index.js +1041 -387
- package/dist/plugin/hooks/create-core-hooks.d.ts +1 -0
- package/dist/plugin/hooks/create-session-hooks.d.ts +2 -1
- package/dist/skills/browser/ATTRIBUTION.md +25 -0
- package/dist/skills/browser/SKILL.md +89 -0
- package/dist/skills/browser/references/commands.md +90 -0
- package/dist/skills/browser/references/install.md +71 -0
- package/dist/skills/browser/references/owned-engine/README.md +42 -0
- package/dist/skills/browser/references/owned-engine/frames-and-humans.md +39 -0
- package/dist/skills/browser/references/owned-engine/ladder.md +59 -0
- package/dist/skills/browser/references/owned-engine/network.md +42 -0
- package/dist/skills/browser/references/recipes/1password.md +59 -0
- package/dist/skills/browser/references/remote.md +24 -0
- package/dist/skills/browser/scripts/browser-doctor.mjs +41 -0
- package/dist/skills/browser/scripts/browser-env.mjs +41 -0
- package/dist/skills/browser/scripts/browser-install.mjs +51 -0
- package/dist/tui.js +761 -100
- 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 +84 -11
- 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/lcx/skills/lcx-contribute-bug-fix/SKILL.md +1 -1
- package/packages/omo-codex/plugin/components/lcx/skills/lcx-doctor/SKILL.md +3 -3
- package/packages/omo-codex/plugin/components/lcx/skills/lcx-report-bug/SKILL.md +5 -5
- 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/dist/cli.js +24 -10
- package/packages/omo-codex/plugin/components/ulw-loop/dist/spawn-guard.js +8 -6
- package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.d.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/surface.js +21 -4
- 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/components/ulw-loop/src/spawn-guard.ts +10 -5
- package/packages/omo-codex/plugin/components/ulw-loop/src/surface.ts +24 -6
- package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-guard-native-reviewer.test.ts +207 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/spawn-guard.test.ts +6 -4
- package/packages/omo-codex/plugin/components/ulw-loop/test/surface.test.ts +43 -4
- 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/ATTRIBUTION.md +25 -0
- package/packages/omo-codex/plugin/skills/browser/SKILL.md +89 -0
- package/packages/omo-codex/plugin/skills/browser/agents/openai.yaml +2 -0
- package/packages/omo-codex/plugin/skills/browser/references/commands.md +90 -0
- package/packages/omo-codex/plugin/skills/browser/references/install.md +71 -0
- package/packages/omo-codex/plugin/skills/browser/references/owned-engine/README.md +42 -0
- package/packages/omo-codex/plugin/skills/browser/references/owned-engine/frames-and-humans.md +39 -0
- package/packages/omo-codex/plugin/skills/browser/references/owned-engine/ladder.md +59 -0
- package/packages/omo-codex/plugin/skills/browser/references/owned-engine/network.md +42 -0
- package/packages/omo-codex/plugin/skills/browser/references/recipes/1password.md +59 -0
- package/packages/omo-codex/plugin/skills/browser/references/remote.md +24 -0
- package/packages/omo-codex/plugin/skills/browser/scripts/browser-doctor.mjs +41 -0
- package/packages/omo-codex/plugin/skills/browser/scripts/browser-env.mjs +41 -0
- package/packages/omo-codex/plugin/skills/browser/scripts/browser-install.mjs +51 -0
- package/packages/omo-codex/plugin/skills/lcx-contribute-bug-fix/SKILL.md +1 -1
- package/packages/omo-codex/plugin/skills/lcx-doctor/SKILL.md +3 -3
- package/packages/omo-codex/plugin/skills/lcx-report-bug/SKILL.md +5 -5
- package/packages/omo-codex/plugin/test/sync-skills-test-support.mjs +1 -0
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +90 -17
- package/packages/shared-skills/skills/browser/ATTRIBUTION.md +25 -0
- package/packages/shared-skills/skills/browser/SKILL.md +89 -0
- package/packages/shared-skills/skills/browser/references/commands.md +90 -0
- package/packages/shared-skills/skills/browser/references/install.md +71 -0
- package/packages/shared-skills/skills/browser/references/owned-engine/README.md +42 -0
- package/packages/shared-skills/skills/browser/references/owned-engine/frames-and-humans.md +39 -0
- package/packages/shared-skills/skills/browser/references/owned-engine/ladder.md +59 -0
- package/packages/shared-skills/skills/browser/references/owned-engine/network.md +42 -0
- package/packages/shared-skills/skills/browser/references/recipes/1password.md +59 -0
- package/packages/shared-skills/skills/browser/references/remote.md +24 -0
- package/packages/shared-skills/skills/browser/scripts/browser-doctor.mjs +41 -0
- package/packages/shared-skills/skills/browser/scripts/browser-env.mjs +41 -0
- package/packages/shared-skills/skills/browser/scripts/browser-install.mjs +51 -0
- package/postinstall.mjs +3 -3
- package/dist/cli/install-senpi/index.d.ts +0 -1
- package/dist/cli/senpi-edition-hint.d.ts +0 -10
- package/dist/cli/senpi-platform-flag.d.ts +0 -4
|
@@ -28,6 +28,7 @@ export declare const HookNameSchema: z.ZodEnum<{
|
|
|
28
28
|
"legacy-plugin-toast": "legacy-plugin-toast";
|
|
29
29
|
"model-fallback": "model-fallback";
|
|
30
30
|
"monitor-status-injector": "monitor-status-injector";
|
|
31
|
+
"native-edition-nudge": "native-edition-nudge";
|
|
31
32
|
"no-hephaestus-non-gpt": "no-hephaestus-non-gpt";
|
|
32
33
|
"no-sisyphus-gpt": "no-sisyphus-gpt";
|
|
33
34
|
"non-interactive-env": "non-interactive-env";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ConfigMigrationTransformResult } from "./transform-types";
|
|
2
|
+
export declare const SUBSCRIPTION_PROVIDER_RENAME_MIGRATION_ID = "2026-09-subscription-provider-rename";
|
|
3
|
+
export declare function hasLegacySubscriptionProviderIds(document: unknown): boolean;
|
|
4
|
+
export declare function transformSubscriptionProviderRename(document: unknown): ConfigMigrationTransformResult;
|
package/dist/create-hooks.d.ts
CHANGED
|
@@ -55,6 +55,7 @@ export declare function createHooks(args: {
|
|
|
55
55
|
taskResumeInfo: ReturnType<typeof import("./hooks").createTaskResumeInfoHook> | null;
|
|
56
56
|
runtimeFallback: ReturnType<typeof import("./hooks").createRuntimeFallbackHook> | null;
|
|
57
57
|
legacyPluginToast: ReturnType<typeof import("./hooks").createLegacyPluginToastHook> | null;
|
|
58
|
+
nativeEditionNudge: ReturnType<typeof import("./hooks").createNativeEditionNudgeHook> | null;
|
|
58
59
|
commentChecker: ReturnType<typeof import("./hooks").createCommentCheckerHooks> | null;
|
|
59
60
|
toolOutputTruncator: ReturnType<typeof import("./hooks").createToolOutputTruncatorHook> | null;
|
|
60
61
|
directoryAgentsInjector: ReturnType<typeof import("./hooks").createDirectoryAgentsInjectorHook> | null;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type NudgeStateStore } from "../../hooks/native-edition-nudge";
|
|
2
|
+
export type NativeEditionNudgeAction = "install" | "guide" | "later" | "never";
|
|
3
|
+
export declare const NATIVE_NUDGE_DIALOG_TITLE = "OmO Native";
|
|
4
|
+
export declare const NATIVE_NUDGE_OPTIONS: readonly {
|
|
5
|
+
readonly value: NativeEditionNudgeAction;
|
|
6
|
+
readonly title: string;
|
|
7
|
+
}[];
|
|
8
|
+
export type NativeEditionNudgeActionResult = {
|
|
9
|
+
readonly toast: string;
|
|
10
|
+
readonly url?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function applyNativeEditionNudgeAction(action: NativeEditionNudgeAction, options: {
|
|
13
|
+
readonly store: NudgeStateStore;
|
|
14
|
+
readonly now: number;
|
|
15
|
+
readonly bunAvailable: boolean;
|
|
16
|
+
}): NativeEditionNudgeActionResult;
|
|
17
|
+
type TuiApi = {
|
|
18
|
+
readonly command?: {
|
|
19
|
+
readonly register: (factory: () => readonly unknown[]) => (() => void) | undefined;
|
|
20
|
+
};
|
|
21
|
+
readonly ui: {
|
|
22
|
+
readonly dialog: {
|
|
23
|
+
readonly replace: (render: () => unknown) => void;
|
|
24
|
+
readonly clear: () => void;
|
|
25
|
+
};
|
|
26
|
+
readonly DialogSelect: <T>(props: unknown) => unknown;
|
|
27
|
+
readonly toast?: (input: unknown) => void;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export declare function registerNativeEditionNudgeTui(api: TuiApi, deps?: {
|
|
31
|
+
readonly store?: NudgeStateStore;
|
|
32
|
+
}): () => void;
|
|
33
|
+
export {};
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -55,6 +55,7 @@ export { createReadImageResizerHook } from "./read-image-resizer";
|
|
|
55
55
|
export { createTodoDescriptionOverrideHook } from "./todo-description-override";
|
|
56
56
|
export { createWebFetchRedirectGuardHook } from "./webfetch-redirect-guard";
|
|
57
57
|
export { createLegacyPluginToastHook } from "./legacy-plugin-toast";
|
|
58
|
+
export { createNativeEditionNudgeHook } from "./native-edition-nudge";
|
|
58
59
|
export { createFsyncSkipWarningHook } from "./fsync-skip-warning";
|
|
59
60
|
export { createNotepadWriteGuardHook } from "./notepad-write-guard";
|
|
60
61
|
export { createPlanFormatValidatorHook } from "./plan-format-validator";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type NudgeDecision, type NudgeDecisionInput, type NudgeState } from "./types";
|
|
2
|
+
export declare function decideNativeEditionNudge(input: NudgeDecisionInput): NudgeDecision;
|
|
3
|
+
export declare function snoozedState(previous: NudgeState, now: number, version: string, snoozeMs: number): NudgeState;
|
|
4
|
+
export declare function decidedState(previous: NudgeState, now: number, version: string, decision: "never" | "migrated"): NudgeState;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
import { log } from "../../shared/logger";
|
|
3
|
+
import { type NudgeStateStore } from "./state";
|
|
4
|
+
import { type NudgeState } from "./types";
|
|
5
|
+
export declare const NATIVE_NUDGE_TOAST_TITLE = "Try OmO Native: no host app needed";
|
|
6
|
+
export declare const NATIVE_NUDGE_TOAST_MESSAGE = "Same agent, one binary, nothing else to keep updated.\nInstall: bun add -g omo-ai@beta";
|
|
7
|
+
export declare function nativeEditionStateDir(): string;
|
|
8
|
+
export declare function detectNativeEdition(): boolean;
|
|
9
|
+
type NativeEditionNudgeDeps = {
|
|
10
|
+
readonly store?: NudgeStateStore;
|
|
11
|
+
readonly detectNativeEdition?: () => boolean;
|
|
12
|
+
readonly now?: () => number;
|
|
13
|
+
readonly interactive?: () => boolean;
|
|
14
|
+
readonly version?: string;
|
|
15
|
+
readonly log?: typeof log;
|
|
16
|
+
};
|
|
17
|
+
export declare function createNativeEditionNudgeHook(ctx: PluginInput, deps?: NativeEditionNudgeDeps): {
|
|
18
|
+
event: ({ event }: {
|
|
19
|
+
event: {
|
|
20
|
+
type: string;
|
|
21
|
+
properties?: unknown;
|
|
22
|
+
};
|
|
23
|
+
}) => Promise<void>;
|
|
24
|
+
};
|
|
25
|
+
export declare function snoozeNativeEditionNudge(store: NudgeStateStore, state: NudgeState, at: number, version: string): void;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { decideNativeEditionNudge } from "./decide";
|
|
2
|
+
export { createNativeEditionNudgeHook, detectNativeEdition, NATIVE_NUDGE_TOAST_MESSAGE, NATIVE_NUDGE_TOAST_TITLE, nativeEditionStateDir, } from "./hook";
|
|
3
|
+
export { createNudgeStateStore, NUDGE_STATE_FILE, parseNudgeState } from "./state";
|
|
4
|
+
export type { NudgeStateStore } from "./state";
|
|
5
|
+
export type { NudgeDecision, NudgeDecisionInput, NudgeState } from "./types";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type NudgeState, type NudgeStateRead } from "./types";
|
|
2
|
+
export declare const NUDGE_STATE_FILE = "native-nudge.json";
|
|
3
|
+
export type NudgeStateStore = {
|
|
4
|
+
readonly read: () => NudgeStateRead;
|
|
5
|
+
readonly write: (state: NudgeState) => boolean;
|
|
6
|
+
readonly probeWritable: () => boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function parseNudgeState(raw: string): NudgeStateRead;
|
|
9
|
+
export declare function createNudgeStateStore(stateDir: string): NudgeStateStore;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare const NUDGE_STATE_VERSION = 1;
|
|
2
|
+
export declare const NUDGE_INTERVALS_MS: number[];
|
|
3
|
+
export declare const NUDGE_AUTO_SHOW_CAP = 4;
|
|
4
|
+
export declare const NUDGE_SNOOZE_MS: number;
|
|
5
|
+
export declare const NUDGE_CORRUPT_RECOVERY_MS: number;
|
|
6
|
+
export type NudgeDecisionOutcome = "none" | "snoozed" | "never" | "migrated";
|
|
7
|
+
export type NudgeState = {
|
|
8
|
+
readonly schemaVersion: number;
|
|
9
|
+
readonly autoShows: number;
|
|
10
|
+
readonly lastShownAt: number | null;
|
|
11
|
+
readonly nextEligibleAt: number;
|
|
12
|
+
readonly decision: NudgeDecisionOutcome;
|
|
13
|
+
readonly decidedAt: number | null;
|
|
14
|
+
readonly writtenBy: string;
|
|
15
|
+
};
|
|
16
|
+
export type NudgeStateRead = NudgeState | "missing" | "corrupt";
|
|
17
|
+
export type NudgeSuppressionReason = "already-migrated" | "opted-out" | "non-interactive" | "child-session" | "already-shown-this-process" | "not-yet-eligible" | "lifetime-cap-reached" | "state-unwritable" | "toast-unavailable" | "state-corrupt-recovering";
|
|
18
|
+
export type NudgeDecision = {
|
|
19
|
+
readonly show: true;
|
|
20
|
+
readonly reason: "eligible";
|
|
21
|
+
readonly nextState: NudgeState;
|
|
22
|
+
} | {
|
|
23
|
+
readonly show: false;
|
|
24
|
+
readonly reason: NudgeSuppressionReason;
|
|
25
|
+
readonly nextState: NudgeState | null;
|
|
26
|
+
};
|
|
27
|
+
export type NudgeDecisionInput = {
|
|
28
|
+
readonly now: number;
|
|
29
|
+
readonly state: NudgeStateRead;
|
|
30
|
+
readonly nativeEditionInstalled: boolean;
|
|
31
|
+
readonly hookDisabled: boolean;
|
|
32
|
+
readonly interactive: boolean;
|
|
33
|
+
readonly childSession: boolean;
|
|
34
|
+
readonly shownThisProcess: boolean;
|
|
35
|
+
readonly stateWritable: boolean;
|
|
36
|
+
readonly toastAvailable: boolean;
|
|
37
|
+
readonly version: string;
|
|
38
|
+
};
|