oh-my-opencode 4.2.3 → 4.3.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/README.ja.md +1 -0
- package/README.ko.md +1 -0
- package/README.md +3 -2
- package/README.zh-cn.md +1 -0
- package/dist/agents/atlas/default-prompt-sections.d.ts +1 -1
- package/dist/agents/builtin-agents/available-skills.d.ts +1 -1
- package/dist/agents/builtin-agents/model-resolution.d.ts +1 -1
- package/dist/agents/prometheus/plan-generation.d.ts +1 -1
- package/dist/agents/prometheus/plan-template.d.ts +1 -1
- package/dist/agents/prometheus/spec-driven-mode.d.ts +7 -0
- package/dist/cli/doctor/checks/system-binary.d.ts +1 -1
- package/dist/cli/doctor/checks/tui-plugin-config.d.ts +14 -0
- package/dist/cli/doctor/constants.d.ts +1 -0
- package/dist/cli/index.js +3168 -2353
- package/dist/cli/provider-model-id-transform.d.ts +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/schema/agent-overrides.d.ts +147 -1
- package/dist/config/schema/background-task.d.ts +1 -0
- package/dist/config/schema/default-mode.d.ts +6 -0
- package/dist/config/schema/hooks.d.ts +2 -0
- package/dist/config/schema/i18n.d.ts +5 -0
- package/dist/config/schema/keyword-detector.d.ts +8 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +163 -1
- package/dist/config/schema.d.ts +2 -0
- package/dist/create-hooks.d.ts +2 -0
- package/dist/features/background-agent/fallback-retry-handler.d.ts +3 -0
- package/dist/features/background-agent/manager.d.ts +0 -1
- package/dist/features/background-agent/parent-wake-notifier.d.ts +4 -0
- package/dist/features/background-agent/session-activity.d.ts +12 -0
- package/dist/features/background-agent/session-existence.d.ts +2 -0
- package/dist/features/background-agent/session-stream-activity.d.ts +18 -0
- package/dist/features/background-agent/task-activity-refresh.d.ts +11 -0
- package/dist/features/background-agent/task-poller.d.ts +2 -0
- package/dist/features/boulder-state/constants.d.ts +1 -10
- package/dist/features/boulder-state/format-duration.d.ts +1 -1
- package/dist/features/boulder-state/storage.d.ts +1 -83
- package/dist/features/boulder-state/top-level-task.d.ts +1 -2
- package/dist/features/boulder-state/types.d.ts +1 -100
- package/dist/features/task-toast-manager/manager.d.ts +1 -1
- package/dist/features/team-mode/team-state-store/locks.d.ts +7 -4
- package/dist/features/tmux-subagent/manager.d.ts +2 -0
- package/dist/hooks/atlas/system-reminder-templates.d.ts +1 -1
- package/dist/hooks/claude-code-hooks/config-loader.d.ts +7 -0
- package/dist/hooks/claude-code-hooks/config.d.ts +4 -1
- package/dist/hooks/claude-code-hooks/types.d.ts +17 -1
- package/dist/hooks/comment-checker/cli.d.ts +2 -22
- package/dist/hooks/comment-checker/types.d.ts +1 -31
- package/dist/hooks/directory-agents-injector/finder.d.ts +2 -7
- package/dist/hooks/directory-agents-injector/injector.d.ts +1 -18
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/keyword-detector/analyze/default.d.ts +1 -1
- package/dist/hooks/keyword-detector/constants.d.ts +10 -5
- package/dist/hooks/keyword-detector/detector.d.ts +2 -2
- package/dist/hooks/keyword-detector/hook.d.ts +2 -1
- package/dist/hooks/keyword-detector/hyperplan/default.d.ts +5 -0
- package/dist/hooks/notepad-write-guard/index.d.ts +2 -0
- package/dist/hooks/plan-format-validator/hook.d.ts +21 -0
- package/dist/hooks/plan-format-validator/index.d.ts +1 -0
- package/dist/hooks/prometheus-md-only/constants.d.ts +8 -0
- package/dist/hooks/rules-injector/constants.d.ts +1 -7
- package/dist/hooks/rules-injector/matcher.d.ts +2 -2
- package/dist/hooks/rules-injector/parser.d.ts +2 -2
- package/dist/hooks/rules-injector/project-root-finder.d.ts +1 -1
- package/dist/hooks/rules-injector/rule-distance.d.ts +1 -1
- package/dist/hooks/rules-injector/rule-file-finder.d.ts +2 -2
- package/dist/hooks/rules-injector/rule-file-scanner.d.ts +1 -1
- package/dist/hooks/rules-injector/rule-scan-cache.d.ts +2 -2
- package/dist/hooks/rules-injector/types.d.ts +1 -1
- package/dist/hooks/session-todo-status.d.ts +1 -0
- package/dist/hooks/sisyphus-junior-notepad/constants.d.ts +1 -1
- package/dist/hooks/start-work/context-info-builder.d.ts +1 -0
- package/dist/hooks/start-work/session-plan-affinity.d.ts +7 -0
- package/dist/hooks/todo-continuation-enforcer/types.d.ts +1 -0
- package/dist/index.js +17916 -15893
- package/dist/locales/en.d.ts +18 -0
- package/dist/locales/index.d.ts +6 -0
- package/dist/locales/zh.d.ts +17 -0
- package/dist/mcp/ast-grep.d.ts +2 -0
- package/dist/mcp/cli-suffix.d.ts +1 -0
- package/dist/mcp/index.d.ts +2 -0
- package/dist/mcp/lsp.d.ts +2 -0
- package/dist/mcp/runtime-executable.d.ts +11 -0
- package/dist/oh-my-opencode.schema.json +449 -1
- package/dist/plugin/hooks/create-core-hooks.d.ts +2 -0
- package/dist/plugin/hooks/create-tool-guard-hooks.d.ts +3 -1
- package/dist/plugin/system-transform.d.ts +2 -1
- package/dist/plugin/tool-definition.d.ts +9 -0
- package/dist/plugin-handlers/agent-key-remapper.d.ts +5 -1
- package/dist/plugin-handlers/hook-config-handler.d.ts +7 -0
- package/dist/plugin-handlers/index.d.ts +1 -0
- package/dist/plugin-handlers/plugin-components-loader.d.ts +2 -3
- package/dist/shared/agent-display-names.d.ts +10 -2
- package/dist/shared/command-executor/execute-hook-command.d.ts +2 -0
- package/dist/shared/contains-path.d.ts +1 -2
- package/dist/shared/context-limit-resolver.d.ts +2 -5
- package/dist/shared/deep-merge.d.ts +1 -13
- package/dist/shared/disabled-providers.d.ts +14 -0
- package/dist/shared/extract-semver.d.ts +1 -1
- package/dist/shared/fallback-chain-from-models.d.ts +1 -12
- package/dist/shared/file-utils.d.ts +1 -7
- package/dist/shared/frontmatter.d.ts +1 -7
- package/dist/shared/i18n.d.ts +9 -0
- package/dist/shared/index.d.ts +0 -1
- package/dist/shared/jsonc-parser.d.ts +1 -23
- package/dist/shared/model-availability.d.ts +18 -5
- package/dist/shared/model-capabilities/index.d.ts +6 -3
- package/dist/shared/model-capabilities-cache.d.ts +4 -8
- package/dist/shared/model-error-classifier.d.ts +4 -33
- package/dist/shared/model-format-normalizer.d.ts +1 -7
- package/dist/shared/model-normalization.d.ts +1 -2
- package/dist/shared/model-requirements.d.ts +2 -22
- package/dist/shared/model-resolution-pipeline.d.ts +5 -30
- package/dist/shared/model-resolution-types.d.ts +1 -36
- package/dist/shared/model-resolver.d.ts +8 -35
- package/dist/shared/model-sanitizer.d.ts +1 -3
- package/dist/shared/model-settings-compatibility.d.ts +2 -40
- package/dist/shared/model-string-parser.d.ts +1 -9
- package/dist/shared/model-suggestion-retry.d.ts +3 -7
- package/dist/shared/opencode-config-dir.d.ts +1 -0
- package/dist/shared/port-utils.d.ts +1 -9
- package/dist/shared/prompt-async-gate/pending-tool-turn.d.ts +9 -0
- package/dist/shared/prompt-async-gate/queue.d.ts +8 -0
- package/dist/shared/prompt-async-gate/reservations.d.ts +9 -0
- package/dist/shared/prompt-async-gate/session-idle-dispatch.d.ts +15 -0
- package/dist/shared/prompt-async-gate/timing.d.ts +8 -0
- package/dist/shared/prompt-async-gate/types.d.ts +120 -0
- package/dist/shared/prompt-async-gate.d.ts +3 -90
- package/dist/shared/provider-model-id-transform.d.ts +1 -1
- package/dist/shared/record-type-guard.d.ts +1 -1
- package/dist/shared/replace-tool-args.d.ts +1 -13
- package/dist/shared/session-idle-settle.d.ts +2 -1
- package/dist/shared/shell-env.d.ts +7 -5
- package/dist/shared/snake-case.d.ts +1 -5
- package/dist/shared/tool-name.d.ts +1 -1
- package/dist/testing/create-plugin-module.d.ts +2 -0
- package/dist/tools/delegate-task/constants.d.ts +19 -0
- package/dist/tools/delegate-task/skill-resolver.d.ts +9 -2
- package/dist/tools/delegate-task/types.d.ts +32 -0
- package/dist/tools/glob/constants.d.ts +1 -1
- package/dist/tools/grep/constants.d.ts +1 -1
- package/dist/tools/hashline-edit/autocorrect-replacement-lines.d.ts +1 -6
- package/dist/tools/hashline-edit/constants.d.ts +1 -4
- package/dist/tools/hashline-edit/diff-utils.d.ts +1 -6
- package/dist/tools/hashline-edit/edit-deduplication.d.ts +1 -5
- package/dist/tools/hashline-edit/edit-operation-primitives.d.ts +1 -10
- package/dist/tools/hashline-edit/edit-operations.d.ts +2 -8
- package/dist/tools/hashline-edit/edit-ordering.d.ts +1 -4
- package/dist/tools/hashline-edit/edit-text-normalization.d.ts +1 -7
- package/dist/tools/hashline-edit/file-text-canonicalization.d.ts +2 -7
- package/dist/tools/hashline-edit/hash-computation.d.ts +2 -11
- package/dist/tools/hashline-edit/hashline-chunk-formatter.d.ts +2 -10
- package/dist/tools/hashline-edit/hashline-edit-diff.d.ts +1 -1
- package/dist/tools/hashline-edit/normalize-edits.d.ts +2 -10
- package/dist/tools/hashline-edit/types.d.ts +1 -17
- package/dist/tools/hashline-edit/validation.d.ts +2 -20
- package/dist/tools/look-at/assistant-message-extractor.d.ts +7 -0
- package/dist/tools/look-at/session-poller.d.ts +9 -1
- package/dist/tools/skill/tools.d.ts +1 -1
- package/dist/tools/skill/types.d.ts +2 -0
- package/package.json +31 -16
- package/packages/ast-grep-mcp/dist/cli.js +272 -248
- package/dist/hooks/comment-checker/apply-patch-edits.d.ts +0 -2
- package/dist/shared/known-variants.d.ts +0 -6
- package/dist/shared/model-capabilities/bundled-snapshot.d.ts +0 -2
- package/dist/shared/model-capabilities/get-model-capabilities.d.ts +0 -2
- package/dist/shared/model-capabilities/runtime-model-readers.d.ts +0 -11
- package/dist/shared/model-capabilities/supplemental-entries.d.ts +0 -2
- package/dist/shared/model-capabilities/types.d.ts +0 -94
- package/dist/shared/model-capability-aliases.d.ts +0 -21
- package/dist/shared/model-capability-guardrails.d.ts +0 -38
- package/dist/shared/model-capability-heuristics.d.ts +0 -11
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PromptDispatchClient, PromptSessionName } from "./types";
|
|
2
|
+
export declare function sessionLatestAssistantBlocksInternalPrompt<TInput>(args: {
|
|
3
|
+
readonly client: PromptDispatchClient;
|
|
4
|
+
readonly sessionID: string;
|
|
5
|
+
readonly input: TInput;
|
|
6
|
+
readonly sessionName: PromptSessionName;
|
|
7
|
+
readonly source: string;
|
|
8
|
+
readonly timeoutMs: number;
|
|
9
|
+
}): Promise<boolean>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { InternalPromptDispatchResult, QueuedInternalPrompt } from "./types";
|
|
2
|
+
export declare function schedulePromptQueueDrain(sessionID: string, delayMs: number): void;
|
|
3
|
+
export declare function getQueuedPromptBlocker(sessionID: string): string | undefined;
|
|
4
|
+
export declare function isPromptQueueDraining(sessionID: string): boolean;
|
|
5
|
+
export declare function nextPromptQueueID(): number;
|
|
6
|
+
export declare function releaseInFlightPromptMatchingDedupe(sessionID: string, dedupeKey: string): void;
|
|
7
|
+
export declare function clearPromptQueueStateForTesting(): void;
|
|
8
|
+
export declare function enqueueInternalPrompt(entry: QueuedInternalPrompt): Promise<InternalPromptDispatchResult>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PromptAsyncReservation, PromptAsyncReservationReleaseOptions } from "./types";
|
|
2
|
+
export declare function setExpiredReservationHandler(handler: (sessionID: string) => void): void;
|
|
3
|
+
export declare function getActiveReservation(sessionID: string): PromptAsyncReservation | undefined;
|
|
4
|
+
export declare function getPromptReservation(sessionID: string): PromptAsyncReservation | undefined;
|
|
5
|
+
export declare function setPromptReservation(sessionID: string, reservation: PromptAsyncReservation): void;
|
|
6
|
+
export declare function finishPromptReservation(sessionID: string, reservation: PromptAsyncReservation, dispatchAttempted: boolean, postDispatchHoldMs: number): void;
|
|
7
|
+
export declare function deletePromptReservation(sessionID: string): void;
|
|
8
|
+
export declare function clearPromptReservationsForTesting(): void;
|
|
9
|
+
export declare function reservationSourceMatches(reservationSource: string, expectedSource: string | readonly string[], expectedPrefix?: PromptAsyncReservationReleaseOptions["reservedByPrefix"]): boolean;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { InternalPromptDispatchResult, PromptDispatchClient, PromptSessionName } from "./types";
|
|
2
|
+
export declare function dispatchAfterSessionIdle<TInput>(args: {
|
|
3
|
+
readonly sessionName: PromptSessionName;
|
|
4
|
+
readonly client: PromptDispatchClient;
|
|
5
|
+
readonly sessionID: string;
|
|
6
|
+
readonly input: TInput;
|
|
7
|
+
readonly source: string;
|
|
8
|
+
readonly dedupeKey: string;
|
|
9
|
+
readonly settleMs: number;
|
|
10
|
+
readonly postDispatchHoldMs: number;
|
|
11
|
+
readonly dispatchTimeoutMs: number;
|
|
12
|
+
readonly checkStatus: boolean;
|
|
13
|
+
readonly checkToolState: boolean;
|
|
14
|
+
readonly dispatch: (input: TInput) => Promise<unknown>;
|
|
15
|
+
}): Promise<InternalPromptDispatchResult>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const DEFAULT_PROMPT_ASYNC_POST_DISPATCH_HOLD_MS = 2000;
|
|
2
|
+
export declare const DEFAULT_PROMPT_DISPATCH_TIMEOUT_MS = 30000;
|
|
3
|
+
export declare const DEFAULT_PROMPT_GATE_MESSAGES_FETCH_TIMEOUT_MS = 5000;
|
|
4
|
+
export declare const DEFAULT_PROMPT_QUEUE_RETRY_MS = 250;
|
|
5
|
+
export declare function _setPromptGateMessagesFetchTimeoutMsForTesting(value: number | undefined): void;
|
|
6
|
+
export declare function getPromptGateMessagesFetchTimeoutMs(): number;
|
|
7
|
+
export declare function resetPromptGateTimingForTesting(): void;
|
|
8
|
+
export declare function withDispatchTimeout<T>(operation: Promise<T>, dispatchTimeoutMs: number, operationName: string): Promise<T>;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
export type PromptAsyncInput = {
|
|
2
|
+
readonly path?: {
|
|
3
|
+
readonly id?: string;
|
|
4
|
+
};
|
|
5
|
+
readonly body?: unknown;
|
|
6
|
+
readonly query?: unknown;
|
|
7
|
+
readonly signal?: unknown;
|
|
8
|
+
readonly [key: string]: unknown;
|
|
9
|
+
};
|
|
10
|
+
export type PromptMessagesQuery = {
|
|
11
|
+
readonly directory: string;
|
|
12
|
+
readonly limit?: number;
|
|
13
|
+
};
|
|
14
|
+
export type PromptAsyncClient<TInput> = {
|
|
15
|
+
readonly session?: {
|
|
16
|
+
readonly status?: () => Promise<unknown>;
|
|
17
|
+
readonly messages?: (input: {
|
|
18
|
+
readonly path: {
|
|
19
|
+
readonly id: string;
|
|
20
|
+
};
|
|
21
|
+
readonly query: PromptMessagesQuery;
|
|
22
|
+
}) => Promise<unknown>;
|
|
23
|
+
readonly promptAsync?: (input: TInput) => Promise<unknown>;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export type PromptClient<TInput> = {
|
|
27
|
+
readonly session?: {
|
|
28
|
+
readonly status?: () => Promise<unknown>;
|
|
29
|
+
readonly messages?: (input: {
|
|
30
|
+
readonly path: {
|
|
31
|
+
readonly id: string;
|
|
32
|
+
};
|
|
33
|
+
readonly query: PromptMessagesQuery;
|
|
34
|
+
}) => Promise<unknown>;
|
|
35
|
+
readonly prompt?: (input: TInput) => Promise<unknown>;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export type InternalPromptDispatchMode = "async" | "sync";
|
|
39
|
+
export type InternalPromptQueueBehavior = "enqueue" | "defer";
|
|
40
|
+
export type PromptSessionName = "promptAsync" | "prompt";
|
|
41
|
+
type InternalPromptDispatchCommonArgs<TInput> = {
|
|
42
|
+
readonly sessionID: string;
|
|
43
|
+
readonly input: TInput;
|
|
44
|
+
readonly source: string;
|
|
45
|
+
readonly dedupeKey?: string;
|
|
46
|
+
readonly queueBehavior?: InternalPromptQueueBehavior;
|
|
47
|
+
readonly queue?: boolean;
|
|
48
|
+
readonly queueRetryMs?: number;
|
|
49
|
+
readonly settleMs?: number;
|
|
50
|
+
readonly postDispatchHoldMs?: number;
|
|
51
|
+
readonly dispatchTimeoutMs?: number;
|
|
52
|
+
readonly checkStatus?: boolean;
|
|
53
|
+
readonly checkToolState?: boolean;
|
|
54
|
+
};
|
|
55
|
+
export type InternalPromptDispatchArgs<TInput = PromptAsyncInput> = InternalPromptDispatchCommonArgs<TInput> & ({
|
|
56
|
+
readonly mode: "async";
|
|
57
|
+
readonly client: PromptAsyncClient<TInput>;
|
|
58
|
+
} | {
|
|
59
|
+
readonly mode: "sync";
|
|
60
|
+
readonly client: PromptClient<TInput>;
|
|
61
|
+
});
|
|
62
|
+
export type PromptAsyncReservation = {
|
|
63
|
+
readonly source: string;
|
|
64
|
+
readonly dedupeKey: string;
|
|
65
|
+
readonly reservedAt: number;
|
|
66
|
+
readonly token: symbol;
|
|
67
|
+
readonly expiresAt?: number;
|
|
68
|
+
};
|
|
69
|
+
export type InternalPromptDispatchResult = {
|
|
70
|
+
readonly status: "dispatched";
|
|
71
|
+
readonly response: unknown;
|
|
72
|
+
} | {
|
|
73
|
+
readonly status: "queued";
|
|
74
|
+
readonly queuedBy: string;
|
|
75
|
+
readonly position: number;
|
|
76
|
+
} | {
|
|
77
|
+
readonly status: "active";
|
|
78
|
+
} | {
|
|
79
|
+
readonly status: "reserved";
|
|
80
|
+
readonly reservedBy: string;
|
|
81
|
+
} | {
|
|
82
|
+
readonly status: "unavailable";
|
|
83
|
+
} | {
|
|
84
|
+
readonly status: "failed";
|
|
85
|
+
readonly error: unknown;
|
|
86
|
+
readonly dispatchAttempted: boolean;
|
|
87
|
+
};
|
|
88
|
+
export type PromptAsyncGateResult = InternalPromptDispatchResult;
|
|
89
|
+
export type PromptAsyncReservationReleaseOptions = {
|
|
90
|
+
readonly reservedBy?: string | readonly string[];
|
|
91
|
+
readonly reservedByPrefix?: string | readonly string[];
|
|
92
|
+
};
|
|
93
|
+
export type PromptDispatchClient = {
|
|
94
|
+
readonly session?: {
|
|
95
|
+
readonly status?: () => Promise<unknown>;
|
|
96
|
+
readonly messages?: (input: {
|
|
97
|
+
readonly path: {
|
|
98
|
+
readonly id: string;
|
|
99
|
+
};
|
|
100
|
+
readonly query: PromptMessagesQuery;
|
|
101
|
+
}) => Promise<unknown>;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
export type QueuedInternalPrompt = {
|
|
105
|
+
readonly id: number;
|
|
106
|
+
readonly sessionID: string;
|
|
107
|
+
readonly sessionName: PromptSessionName;
|
|
108
|
+
readonly client: PromptDispatchClient;
|
|
109
|
+
readonly input: unknown;
|
|
110
|
+
readonly source: string;
|
|
111
|
+
readonly dedupeKey: string;
|
|
112
|
+
readonly settleMs: number;
|
|
113
|
+
readonly postDispatchHoldMs: number;
|
|
114
|
+
readonly dispatchTimeoutMs: number;
|
|
115
|
+
readonly queueRetryMs: number;
|
|
116
|
+
readonly checkStatus: boolean;
|
|
117
|
+
readonly checkToolState: boolean;
|
|
118
|
+
readonly dispatch: (input: unknown) => Promise<unknown>;
|
|
119
|
+
};
|
|
120
|
+
export {};
|
|
@@ -1,94 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export declare const DEFAULT_PROMPT_QUEUE_RETRY_MS = 250;
|
|
5
|
-
type PromptAsyncInput = {
|
|
6
|
-
path?: {
|
|
7
|
-
id?: string;
|
|
8
|
-
};
|
|
9
|
-
body?: unknown;
|
|
10
|
-
query?: unknown;
|
|
11
|
-
signal?: unknown;
|
|
12
|
-
[key: string]: unknown;
|
|
13
|
-
};
|
|
14
|
-
type PromptMessagesQuery = {
|
|
15
|
-
directory: string;
|
|
16
|
-
limit?: number;
|
|
17
|
-
};
|
|
18
|
-
type PromptAsyncClient<TInput> = {
|
|
19
|
-
session?: {
|
|
20
|
-
status?: () => Promise<unknown>;
|
|
21
|
-
messages?: (input: {
|
|
22
|
-
path: {
|
|
23
|
-
id: string;
|
|
24
|
-
};
|
|
25
|
-
query: PromptMessagesQuery;
|
|
26
|
-
}) => Promise<unknown>;
|
|
27
|
-
promptAsync?: (input: TInput) => Promise<unknown>;
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
type PromptClient<TInput> = {
|
|
31
|
-
session?: {
|
|
32
|
-
status?: () => Promise<unknown>;
|
|
33
|
-
messages?: (input: {
|
|
34
|
-
path: {
|
|
35
|
-
id: string;
|
|
36
|
-
};
|
|
37
|
-
query: PromptMessagesQuery;
|
|
38
|
-
}) => Promise<unknown>;
|
|
39
|
-
prompt?: (input: TInput) => Promise<unknown>;
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
export type InternalPromptDispatchMode = "async" | "sync";
|
|
43
|
-
export type InternalPromptQueueBehavior = "enqueue" | "defer";
|
|
44
|
-
type InternalPromptDispatchCommonArgs<TInput> = {
|
|
45
|
-
sessionID: string;
|
|
46
|
-
input: TInput;
|
|
47
|
-
source: string;
|
|
48
|
-
dedupeKey?: string;
|
|
49
|
-
queueBehavior?: InternalPromptQueueBehavior;
|
|
50
|
-
queue?: boolean;
|
|
51
|
-
queueRetryMs?: number;
|
|
52
|
-
settleMs?: number;
|
|
53
|
-
postDispatchHoldMs?: number;
|
|
54
|
-
dispatchTimeoutMs?: number;
|
|
55
|
-
checkStatus?: boolean;
|
|
56
|
-
checkToolState?: boolean;
|
|
57
|
-
};
|
|
58
|
-
export type InternalPromptDispatchArgs<TInput = PromptAsyncInput> = InternalPromptDispatchCommonArgs<TInput> & ({
|
|
59
|
-
mode: "async";
|
|
60
|
-
client: PromptAsyncClient<TInput>;
|
|
61
|
-
} | {
|
|
62
|
-
mode: "sync";
|
|
63
|
-
client: PromptClient<TInput>;
|
|
64
|
-
});
|
|
65
|
-
export type InternalPromptDispatchResult = {
|
|
66
|
-
status: "dispatched";
|
|
67
|
-
response: unknown;
|
|
68
|
-
} | {
|
|
69
|
-
status: "queued";
|
|
70
|
-
queuedBy: string;
|
|
71
|
-
position: number;
|
|
72
|
-
} | {
|
|
73
|
-
status: "active";
|
|
74
|
-
} | {
|
|
75
|
-
status: "reserved";
|
|
76
|
-
reservedBy: string;
|
|
77
|
-
} | {
|
|
78
|
-
status: "unavailable";
|
|
79
|
-
} | {
|
|
80
|
-
status: "failed";
|
|
81
|
-
error: unknown;
|
|
82
|
-
dispatchAttempted: boolean;
|
|
83
|
-
};
|
|
84
|
-
export type PromptAsyncGateResult = InternalPromptDispatchResult;
|
|
85
|
-
type PromptAsyncReservationReleaseOptions = {
|
|
86
|
-
reservedBy?: string | readonly string[];
|
|
87
|
-
reservedByPrefix?: string | readonly string[];
|
|
88
|
-
};
|
|
89
|
-
export declare function _setPromptGateMessagesFetchTimeoutMsForTesting(value: number | undefined): void;
|
|
1
|
+
import type { InternalPromptDispatchArgs, InternalPromptDispatchResult, PromptAsyncInput, PromptAsyncReservationReleaseOptions } from "./prompt-async-gate/types";
|
|
2
|
+
export { DEFAULT_PROMPT_ASYNC_POST_DISPATCH_HOLD_MS, DEFAULT_PROMPT_DISPATCH_TIMEOUT_MS, DEFAULT_PROMPT_GATE_MESSAGES_FETCH_TIMEOUT_MS, DEFAULT_PROMPT_QUEUE_RETRY_MS, _setPromptGateMessagesFetchTimeoutMsForTesting, } from "./prompt-async-gate/timing";
|
|
3
|
+
export type { InternalPromptDispatchArgs, InternalPromptDispatchMode, InternalPromptDispatchResult, InternalPromptQueueBehavior, PromptAsyncGateResult, } from "./prompt-async-gate/types";
|
|
90
4
|
export declare function dispatchInternalPrompt<TInput = PromptAsyncInput>(args: InternalPromptDispatchArgs<TInput>): Promise<InternalPromptDispatchResult>;
|
|
91
5
|
export declare function releaseAllPromptAsyncReservationsForTesting(): void;
|
|
92
6
|
export declare function isInternalPromptDispatchAccepted(result: InternalPromptDispatchResult): boolean;
|
|
93
7
|
export declare function releasePromptAsyncReservation(sessionID: string, source: string, options?: PromptAsyncReservationReleaseOptions): boolean;
|
|
94
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { transformModelForProvider } from "@oh-my-opencode/model-core";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { isRecord } from "@oh-my-opencode/utils";
|
|
@@ -1,13 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Safely replace tool arguments without mutating frozen objects.
|
|
3
|
-
*
|
|
4
|
-
* opencode >=1.14 may freeze `output.args` via Immer before plugin hooks run.
|
|
5
|
-
* Direct property assignment (`output.args.key = value`) or `Object.assign(output.args, patch)`
|
|
6
|
-
* throws `TypeError: Attempted to assign to readonly property` on a frozen object.
|
|
7
|
-
*
|
|
8
|
-
* This helper replaces `output.args` with a shallow clone containing the patch,
|
|
9
|
-
* which works regardless of whether the original args object is frozen.
|
|
10
|
-
*/
|
|
11
|
-
export declare function replaceToolArgs(output: {
|
|
12
|
-
args: Record<string, unknown>;
|
|
13
|
-
}, patch: Record<string, unknown>): void;
|
|
1
|
+
export { replaceToolArgs } from "@oh-my-opencode/utils";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const DEFAULT_SESSION_IDLE_SETTLE_MS = 150;
|
|
2
|
+
export declare const DEFAULT_SESSION_STATUS_TIMEOUT_MS = 5000;
|
|
2
3
|
export declare function settleAfterSessionIdle(ms?: number): Promise<void>;
|
|
3
4
|
type SessionStatusClient = {
|
|
4
5
|
session?: {
|
|
@@ -6,6 +7,6 @@ type SessionStatusClient = {
|
|
|
6
7
|
};
|
|
7
8
|
};
|
|
8
9
|
export declare function isActiveSessionStatusType(statusType: string): boolean;
|
|
9
|
-
export declare function isSessionActive(client: SessionStatusClient, sessionID: string): Promise<boolean>;
|
|
10
|
+
export declare function isSessionActive(client: SessionStatusClient, sessionID: string, statusTimeoutMs?: number): Promise<boolean>;
|
|
10
11
|
export declare function shouldPromptAfterSessionIdle(client: SessionStatusClient, sessionID: string, settleMs?: number): Promise<boolean>;
|
|
11
12
|
export {};
|
|
@@ -4,12 +4,14 @@ export type ShellType = "unix" | "powershell" | "cmd" | "csh";
|
|
|
4
4
|
*
|
|
5
5
|
* Detection priority:
|
|
6
6
|
* 1. SHELL env var → Unix shell (explicit user choice takes precedence)
|
|
7
|
-
* 2.
|
|
8
|
-
* 3.
|
|
7
|
+
* 2. Unix shell indicators on Windows → Git Bash, WSL, MSYS2
|
|
8
|
+
* 3. PSModulePath → PowerShell
|
|
9
|
+
* 4. Platform fallback → win32: cmd, others: unix
|
|
9
10
|
*
|
|
10
|
-
* Note:
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* Note: Step 2 is scoped to Windows only because PSModulePath is always set
|
|
12
|
+
* on Windows regardless of the active shell. Indicators are deliberately
|
|
13
|
+
* specific (BASH_VERSION, MSYSTEM, WSL_DISTRO_NAME) — TERM is excluded
|
|
14
|
+
* because some PowerShell users set it manually.
|
|
13
15
|
*/
|
|
14
16
|
export declare function detectShellType(): ShellType;
|
|
15
17
|
/**
|
|
@@ -1,5 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export declare function snakeToCamel(str: string): string;
|
|
3
|
-
export declare function transformObjectKeys(obj: Record<string, unknown>, transformer: (key: string) => string, deep?: boolean): Record<string, unknown>;
|
|
4
|
-
export declare function objectToSnakeCase(obj: Record<string, unknown>, deep?: boolean): Record<string, unknown>;
|
|
5
|
-
export declare function objectToCamelCase(obj: Record<string, unknown>, deep?: boolean): Record<string, unknown>;
|
|
1
|
+
export { camelToSnake, objectToCamelCase, objectToSnakeCase, snakeToCamel, transformObjectKeys } from "@oh-my-opencode/utils";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { transformToolName } from "@oh-my-opencode/utils";
|
|
@@ -11,6 +11,7 @@ import { createModelCacheState } from "../plugin-state";
|
|
|
11
11
|
import { installAgentSortShim, setAgentSortOrder } from "../shared/agent-sort-shim";
|
|
12
12
|
import { detectExternalSkillPlugin, getSkillPluginConflictWarning } from "../shared/external-plugin-detector";
|
|
13
13
|
import { createFirstMessageVariantGate } from "../shared/first-message-variant";
|
|
14
|
+
import { initI18n } from "../shared/i18n";
|
|
14
15
|
import { log } from "../shared/logger";
|
|
15
16
|
import { logLegacyPluginStartupWarning } from "../shared/log-legacy-plugin-startup-warning";
|
|
16
17
|
import { migrateLegacyWorkspaceDirectory } from "../shared/legacy-workspace-migration";
|
|
@@ -27,6 +28,7 @@ export type PluginModuleDeps = {
|
|
|
27
28
|
getSkillPluginConflictWarning: typeof getSkillPluginConflictWarning;
|
|
28
29
|
injectServerAuthIntoClient: typeof injectServerAuthIntoClient;
|
|
29
30
|
loadPluginConfig: typeof loadPluginConfig;
|
|
31
|
+
initI18n: typeof initI18n;
|
|
30
32
|
initializeOpenClaw: typeof initializeOpenClaw;
|
|
31
33
|
isTmuxIntegrationEnabled: typeof isTmuxIntegrationEnabled;
|
|
32
34
|
startTmuxCheck: typeof startTmuxCheck;
|
|
@@ -29,3 +29,22 @@ export declare const PLAN_FAMILY_NAMES: string[];
|
|
|
29
29
|
*/
|
|
30
30
|
export declare function isPlanFamily(category: string): boolean;
|
|
31
31
|
export declare function isPlanFamily(category: string | undefined): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Coordinator/meta agents that own the orchestration loop and must not be used as
|
|
34
|
+
* arbitrary subagent targets via task(). Delegating to these creates duplicate
|
|
35
|
+
* orchestration and conflicting team state (issue #4027).
|
|
36
|
+
*
|
|
37
|
+
* Scoped to AGENT_ELIGIBILITY_REGISTRY hard-reject entries only — sisyphus and atlas
|
|
38
|
+
* are explicitly marked `verdict: "eligible"` for team membership in the registry
|
|
39
|
+
* (src/features/team-mode/types.ts), so they are NOT included here. Adding them would
|
|
40
|
+
* conflict with the team-mode resolver's intentional `allowPrimaryAgentDelegation: true`
|
|
41
|
+
* opt-in.
|
|
42
|
+
*
|
|
43
|
+
* Symmetric guard to the caller-eligibility check added by PR #4065 for team_create.
|
|
44
|
+
*/
|
|
45
|
+
export declare const COORDINATOR_AGENT_NAMES: string[];
|
|
46
|
+
/**
|
|
47
|
+
* Returns true when the given agent name refers to a coordinator/meta agent that
|
|
48
|
+
* should not be reachable as a subagent_type target via task().
|
|
49
|
+
*/
|
|
50
|
+
export declare function isCoordinatorAgent(agentName: string | undefined): boolean;
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import type { GitMasterConfig, BrowserAutomationProvider } from "../../config/schema";
|
|
2
|
-
|
|
2
|
+
import type { NativeSkillEntry } from "../skill/native-skills";
|
|
3
|
+
import type { DelegateTaskToolOptions } from "./types";
|
|
4
|
+
type ResolveSkillContentOptions = {
|
|
3
5
|
gitMasterConfig?: GitMasterConfig;
|
|
4
6
|
browserProvider?: BrowserAutomationProvider;
|
|
5
7
|
disabledSkills?: Set<string>;
|
|
6
8
|
teamModeEnabled?: boolean;
|
|
7
9
|
directory?: string;
|
|
8
|
-
|
|
10
|
+
targetAgent?: string;
|
|
11
|
+
nativeSkills?: DelegateTaskToolOptions["nativeSkills"];
|
|
12
|
+
nativeSkillEntries?: NativeSkillEntry[];
|
|
13
|
+
};
|
|
14
|
+
export declare function resolveSkillContent(skills: string[], options: ResolveSkillContentOptions): Promise<{
|
|
9
15
|
content: string | undefined;
|
|
10
16
|
contents: string[];
|
|
11
17
|
error: string | null;
|
|
12
18
|
}>;
|
|
19
|
+
export {};
|
|
@@ -65,6 +65,32 @@ export interface DelegateTaskToolOptions {
|
|
|
65
65
|
modelFallbackControllerAccessor?: ModelFallbackControllerAccessor;
|
|
66
66
|
onSyncSessionCreated?: (event: SyncSessionCreatedEvent) => Promise<void>;
|
|
67
67
|
syncPollTimeoutMs?: number;
|
|
68
|
+
/** OpenCode native skill accessor for skills registered via config.skills.paths. Same shape as SkillLoadOptions.nativeSkills. */
|
|
69
|
+
nativeSkills?: {
|
|
70
|
+
all(): {
|
|
71
|
+
name: string;
|
|
72
|
+
description: string;
|
|
73
|
+
location: string;
|
|
74
|
+
content: string;
|
|
75
|
+
}[] | Promise<{
|
|
76
|
+
name: string;
|
|
77
|
+
description: string;
|
|
78
|
+
location: string;
|
|
79
|
+
content: string;
|
|
80
|
+
}[]>;
|
|
81
|
+
get(name: string): {
|
|
82
|
+
name: string;
|
|
83
|
+
description: string;
|
|
84
|
+
location: string;
|
|
85
|
+
content: string;
|
|
86
|
+
} | undefined | Promise<{
|
|
87
|
+
name: string;
|
|
88
|
+
description: string;
|
|
89
|
+
location: string;
|
|
90
|
+
content: string;
|
|
91
|
+
} | undefined>;
|
|
92
|
+
dirs(): string[] | Promise<string[]>;
|
|
93
|
+
};
|
|
68
94
|
}
|
|
69
95
|
import type { DelegatedModelConfig } from "../../shared/model-resolution-types";
|
|
70
96
|
export type { DelegatedModelConfig };
|
|
@@ -79,4 +105,10 @@ export interface BuildSystemContentInput {
|
|
|
79
105
|
agentName?: string;
|
|
80
106
|
availableCategories?: AvailableCategory[];
|
|
81
107
|
availableSkills?: AvailableSkill[];
|
|
108
|
+
/** OpenCode native skill list to merge into the <available_skills> block. */
|
|
109
|
+
nativeSkillInfos?: {
|
|
110
|
+
name: string;
|
|
111
|
+
description: string;
|
|
112
|
+
location: string;
|
|
113
|
+
}[];
|
|
82
114
|
}
|
|
@@ -3,4 +3,4 @@ export declare const DEFAULT_TIMEOUT_MS = 60000;
|
|
|
3
3
|
export declare const DEFAULT_LIMIT = 100;
|
|
4
4
|
export declare const DEFAULT_MAX_DEPTH = 20;
|
|
5
5
|
export declare const DEFAULT_MAX_OUTPUT_BYTES: number;
|
|
6
|
-
export declare const RG_FILES_FLAGS: readonly ["--files", "--color=never", "--glob=!.git/*"];
|
|
6
|
+
export declare const RG_FILES_FLAGS: readonly ["--files", "--color=never", "--glob=!.git/*", "--no-messages"];
|
|
@@ -5,5 +5,5 @@ export declare const DEFAULT_MAX_COLUMNS = 1000;
|
|
|
5
5
|
export declare const DEFAULT_CONTEXT = 2;
|
|
6
6
|
export declare const DEFAULT_TIMEOUT_MS = 60000;
|
|
7
7
|
export declare const DEFAULT_MAX_OUTPUT_BYTES: number;
|
|
8
|
-
export declare const RG_SAFETY_FLAGS: readonly ["--no-follow", "--color=never", "--no-heading", "--line-number", "--with-filename"];
|
|
8
|
+
export declare const RG_SAFETY_FLAGS: readonly ["--no-follow", "--color=never", "--no-heading", "--line-number", "--with-filename", "--no-messages"];
|
|
9
9
|
export declare const GREP_SAFETY_FLAGS: readonly ["-n", "-H", "--color=never"];
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export declare function stripMergeOperatorChars(text: string): string;
|
|
3
|
-
export declare function restoreOldWrappedLines(originalLines: string[], replacementLines: string[]): string[];
|
|
4
|
-
export declare function maybeExpandSingleLineMerge(originalLines: string[], replacementLines: string[]): string[];
|
|
5
|
-
export declare function restoreIndentForPairedReplacement(originalLines: string[], replacementLines: string[]): string[];
|
|
6
|
-
export declare function autocorrectReplacementLines(originalLines: string[], replacementLines: string[]): string[];
|
|
1
|
+
export { stripTrailingContinuationTokens, stripMergeOperatorChars, restoreOldWrappedLines, maybeExpandSingleLineMerge, restoreIndentForPairedReplacement, autocorrectReplacementLines, } from "@oh-my-opencode/hashline-core";
|
|
@@ -1,4 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export declare const HASHLINE_DICT: string[];
|
|
3
|
-
export declare const HASHLINE_REF_PATTERN: RegExp;
|
|
4
|
-
export declare const HASHLINE_OUTPUT_PATTERN: RegExp;
|
|
1
|
+
export { NIBBLE_STR, HASHLINE_DICT, HASHLINE_REF_PATTERN, HASHLINE_OUTPUT_PATTERN, } from "@oh-my-opencode/hashline-core";
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export declare function generateUnifiedDiff(oldContent: string, newContent: string, filePath: string): string;
|
|
3
|
-
export declare function countLineDiffs(oldContent: string, newContent: string): {
|
|
4
|
-
additions: number;
|
|
5
|
-
deletions: number;
|
|
6
|
-
};
|
|
1
|
+
export { toHashlineContent, generateUnifiedDiff, countLineDiffs, } from "@oh-my-opencode/hashline-core";
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
|
|
2
|
-
skipValidation?: boolean;
|
|
3
|
-
}
|
|
4
|
-
export declare function applySetLine(lines: string[], anchor: string, newText: string | string[], options?: EditApplyOptions): string[];
|
|
5
|
-
export declare function applyReplaceLines(lines: string[], startAnchor: string, endAnchor: string, newText: string | string[], options?: EditApplyOptions): string[];
|
|
6
|
-
export declare function applyInsertAfter(lines: string[], anchor: string, text: string | string[], options?: EditApplyOptions): string[];
|
|
7
|
-
export declare function applyInsertBefore(lines: string[], anchor: string, text: string | string[], options?: EditApplyOptions): string[];
|
|
8
|
-
export declare function applyAppend(lines: string[], text: string | string[]): string[];
|
|
9
|
-
export declare function applyPrepend(lines: string[], text: string | string[]): string[];
|
|
10
|
-
export {};
|
|
1
|
+
export { applySetLine, applyReplaceLines, applyInsertAfter, applyInsertBefore, applyAppend, applyPrepend, } from "@oh-my-opencode/hashline-core";
|
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
content: string;
|
|
4
|
-
noopEdits: number;
|
|
5
|
-
deduplicatedEdits: number;
|
|
6
|
-
}
|
|
7
|
-
export declare function applyHashlineEditsWithReport(content: string, edits: HashlineEdit[]): HashlineApplyReport;
|
|
8
|
-
export declare function applyHashlineEdits(content: string, edits: HashlineEdit[]): string;
|
|
1
|
+
export { applyHashlineEdits, applyHashlineEditsWithReport, } from "@oh-my-opencode/hashline-core";
|
|
2
|
+
export type { HashlineApplyReport } from "@oh-my-opencode/hashline-core";
|
|
@@ -1,4 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function getEditLineNumber(edit: HashlineEdit): number;
|
|
3
|
-
export declare function collectLineRefs(edits: HashlineEdit[]): string[];
|
|
4
|
-
export declare function detectOverlappingRanges(edits: HashlineEdit[]): string | null;
|
|
1
|
+
export { getEditLineNumber, collectLineRefs, detectOverlappingRanges } from "@oh-my-opencode/hashline-core";
|
|
@@ -1,7 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export declare function toNewLines(input: string | string[]): string[];
|
|
3
|
-
export declare function restoreLeadingIndent(templateLine: string, line: string): string;
|
|
4
|
-
export declare function stripInsertAnchorEcho(anchorLine: string, newLines: string[]): string[];
|
|
5
|
-
export declare function stripInsertBeforeEcho(anchorLine: string, newLines: string[]): string[];
|
|
6
|
-
export declare function stripInsertBoundaryEcho(afterLine: string, beforeLine: string, newLines: string[]): string[];
|
|
7
|
-
export declare function stripRangeBoundaryEcho(lines: string[], startLine: number, endLine: number, newLines: string[]): string[];
|
|
1
|
+
export { stripLinePrefixes, toNewLines, restoreLeadingIndent, stripInsertAnchorEcho, stripInsertBeforeEcho, stripInsertBoundaryEcho, stripRangeBoundaryEcho, } from "@oh-my-opencode/hashline-core";
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
hadBom: boolean;
|
|
4
|
-
lineEnding: "\n" | "\r\n";
|
|
5
|
-
}
|
|
6
|
-
export declare function canonicalizeFileText(content: string): FileTextEnvelope;
|
|
7
|
-
export declare function restoreFileText(content: string, envelope: FileTextEnvelope): string;
|
|
1
|
+
export { canonicalizeFileText, restoreFileText } from "@oh-my-opencode/hashline-core";
|
|
2
|
+
export type { FileTextEnvelope } from "@oh-my-opencode/hashline-core";
|
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export declare function formatHashLine(lineNumber: number, content: string): string;
|
|
4
|
-
export declare function formatHashLines(content: string): string;
|
|
5
|
-
export interface HashlineStreamOptions {
|
|
6
|
-
startLine?: number;
|
|
7
|
-
maxChunkLines?: number;
|
|
8
|
-
maxChunkBytes?: number;
|
|
9
|
-
}
|
|
10
|
-
export declare function streamHashLinesFromUtf8(source: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array>, options?: HashlineStreamOptions): AsyncGenerator<string>;
|
|
11
|
-
export declare function streamHashLinesFromLines(lines: Iterable<string> | AsyncIterable<string>, options?: HashlineStreamOptions): AsyncGenerator<string>;
|
|
1
|
+
export { computeLineHash, computeLegacyLineHash, formatHashLine, formatHashLines, streamHashLinesFromUtf8, streamHashLinesFromLines, } from "@oh-my-opencode/hashline-core";
|
|
2
|
+
export type { HashlineStreamOptions } from "@oh-my-opencode/hashline-core";
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
flush(): string | undefined;
|
|
4
|
-
}
|
|
5
|
-
interface HashlineChunkFormatterOptions {
|
|
6
|
-
maxChunkLines: number;
|
|
7
|
-
maxChunkBytes: number;
|
|
8
|
-
}
|
|
9
|
-
export declare function createHashlineChunkFormatter(options: HashlineChunkFormatterOptions): HashlineChunkFormatter;
|
|
10
|
-
export {};
|
|
1
|
+
export { createHashlineChunkFormatter } from "@oh-my-opencode/hashline-core";
|
|
2
|
+
export type { HashlineChunkFormatter } from "@oh-my-opencode/hashline-core";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { generateHashlineDiff } from "@oh-my-opencode/hashline-core";
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
type
|
|
3
|
-
export interface RawHashlineEdit {
|
|
4
|
-
op?: HashlineToolOp;
|
|
5
|
-
pos?: string;
|
|
6
|
-
end?: string;
|
|
7
|
-
lines?: string | string[] | null;
|
|
8
|
-
}
|
|
9
|
-
export declare function normalizeHashlineEdits(rawEdits: RawHashlineEdit[]): HashlineEdit[];
|
|
10
|
-
export {};
|
|
1
|
+
export { normalizeHashlineEdits } from "@oh-my-opencode/hashline-core";
|
|
2
|
+
export type { RawHashlineEdit } from "@oh-my-opencode/hashline-core";
|
|
@@ -1,17 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
op: "replace";
|
|
3
|
-
pos: string;
|
|
4
|
-
end?: string;
|
|
5
|
-
lines: string | string[];
|
|
6
|
-
}
|
|
7
|
-
export interface AppendEdit {
|
|
8
|
-
op: "append";
|
|
9
|
-
pos?: string;
|
|
10
|
-
lines: string | string[];
|
|
11
|
-
}
|
|
12
|
-
export interface PrependEdit {
|
|
13
|
-
op: "prepend";
|
|
14
|
-
pos?: string;
|
|
15
|
-
lines: string | string[];
|
|
16
|
-
}
|
|
17
|
-
export type HashlineEdit = ReplaceEdit | AppendEdit | PrependEdit;
|
|
1
|
+
export type { ReplaceEdit, AppendEdit, PrependEdit, HashlineEdit } from "@oh-my-opencode/hashline-core";
|