@ai-sdk/harness-opencode 0.0.0 → 1.0.0-beta.1
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/CHANGELOG.md +18 -0
- package/LICENSE +13 -0
- package/README.md +6 -0
- package/dist/bridge/host-tool-mcp.mjs +103 -0
- package/dist/bridge/host-tool-mcp.mjs.map +1 -0
- package/dist/bridge/index.mjs +1984 -0
- package/dist/bridge/index.mjs.map +1 -0
- package/dist/bridge/package.json +13 -0
- package/dist/bridge/pnpm-lock.yaml +933 -0
- package/dist/index.d.ts +169 -0
- package/dist/index.js +1051 -0
- package/dist/index.js.map +1 -0
- package/package.json +74 -1
- package/src/bridge/host-tool-mcp.ts +136 -0
- package/src/bridge/index.ts +1846 -0
- package/src/bridge/opencode-events.ts +88 -0
- package/src/bridge/opencode-path.ts +17 -0
- package/src/bridge/opencode-usage.ts +156 -0
- package/src/bridge/package.json +13 -0
- package/src/bridge/pnpm-lock.yaml +933 -0
- package/src/index.ts +11 -0
- package/src/opencode-auth.ts +175 -0
- package/src/opencode-bridge-protocol.ts +29 -0
- package/src/opencode-harness.ts +1103 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
2
|
+
import * as _ai_sdk_harness from '@ai-sdk/harness';
|
|
3
|
+
import { HarnessV1, HarnessV1BuiltinTool } from '@ai-sdk/harness';
|
|
4
|
+
import * as zod from 'zod';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
|
|
7
|
+
type OpenCodeAuthOptions = {
|
|
8
|
+
readonly gateway?: {
|
|
9
|
+
readonly apiKey?: string;
|
|
10
|
+
readonly baseUrl?: string;
|
|
11
|
+
};
|
|
12
|
+
readonly anthropic?: {
|
|
13
|
+
readonly apiKey?: string;
|
|
14
|
+
readonly authToken?: string;
|
|
15
|
+
readonly baseUrl?: string;
|
|
16
|
+
};
|
|
17
|
+
readonly openai?: {
|
|
18
|
+
readonly apiKey?: string;
|
|
19
|
+
readonly baseUrl?: string;
|
|
20
|
+
readonly organization?: string;
|
|
21
|
+
readonly project?: string;
|
|
22
|
+
};
|
|
23
|
+
readonly openaiCompatible?: {
|
|
24
|
+
readonly apiKey?: string;
|
|
25
|
+
readonly baseUrl?: string;
|
|
26
|
+
readonly name?: string;
|
|
27
|
+
readonly queryParams?: Record<string, string>;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
type OpenCodeHarnessSettings = {
|
|
32
|
+
readonly auth?: OpenCodeAuthOptions;
|
|
33
|
+
readonly model?: string;
|
|
34
|
+
readonly provider?: string;
|
|
35
|
+
/**
|
|
36
|
+
* OpenCode reasoning/thinking variant for reasoning-capable models, e.g.
|
|
37
|
+
* `'low'`, `'medium'`, `'high'`, or another model-supported OpenCode
|
|
38
|
+
* variant.
|
|
39
|
+
*/
|
|
40
|
+
readonly reasoningVariant?: string;
|
|
41
|
+
readonly port?: number;
|
|
42
|
+
readonly startupTimeoutMs?: number;
|
|
43
|
+
};
|
|
44
|
+
declare const OPENCODE_BUILTIN_TOOLS: {
|
|
45
|
+
readonly read: HarnessV1BuiltinTool<z.objectOutputType<{
|
|
46
|
+
file_path: z.ZodOptional<z.ZodString>;
|
|
47
|
+
path: z.ZodOptional<z.ZodString>;
|
|
48
|
+
}, z.ZodTypeAny, "passthrough">, unknown>;
|
|
49
|
+
readonly write: HarnessV1BuiltinTool<z.objectOutputType<{
|
|
50
|
+
file_path: z.ZodOptional<z.ZodString>;
|
|
51
|
+
path: z.ZodOptional<z.ZodString>;
|
|
52
|
+
content: z.ZodOptional<z.ZodString>;
|
|
53
|
+
}, z.ZodTypeAny, "passthrough">, unknown>;
|
|
54
|
+
readonly edit: HarnessV1BuiltinTool<z.objectOutputType<{
|
|
55
|
+
file_path: z.ZodOptional<z.ZodString>;
|
|
56
|
+
path: z.ZodOptional<z.ZodString>;
|
|
57
|
+
old_string: z.ZodOptional<z.ZodString>;
|
|
58
|
+
new_string: z.ZodOptional<z.ZodString>;
|
|
59
|
+
}, z.ZodTypeAny, "passthrough">, unknown>;
|
|
60
|
+
readonly bash: HarnessV1BuiltinTool<z.objectOutputType<{
|
|
61
|
+
command: z.ZodOptional<z.ZodString>;
|
|
62
|
+
}, z.ZodTypeAny, "passthrough">, unknown>;
|
|
63
|
+
readonly glob: HarnessV1BuiltinTool<z.objectOutputType<{
|
|
64
|
+
pattern: z.ZodOptional<z.ZodString>;
|
|
65
|
+
path: z.ZodOptional<z.ZodString>;
|
|
66
|
+
}, z.ZodTypeAny, "passthrough">, unknown>;
|
|
67
|
+
readonly grep: HarnessV1BuiltinTool<z.objectOutputType<{
|
|
68
|
+
pattern: z.ZodOptional<z.ZodString>;
|
|
69
|
+
path: z.ZodOptional<z.ZodString>;
|
|
70
|
+
}, z.ZodTypeAny, "passthrough">, unknown>;
|
|
71
|
+
readonly ls: _ai_sdk_provider_utils.Tool<z.objectOutputType<{
|
|
72
|
+
path: z.ZodOptional<z.ZodString>;
|
|
73
|
+
}, z.ZodTypeAny, "passthrough">, any, any>;
|
|
74
|
+
readonly webfetch: _ai_sdk_provider_utils.Tool<z.objectOutputType<{
|
|
75
|
+
url: z.ZodOptional<z.ZodString>;
|
|
76
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
77
|
+
}, z.ZodTypeAny, "passthrough">, any, any>;
|
|
78
|
+
readonly skill: _ai_sdk_provider_utils.Tool<z.objectOutputType<{
|
|
79
|
+
name: z.ZodOptional<z.ZodString>;
|
|
80
|
+
}, z.ZodTypeAny, "passthrough">, any, any>;
|
|
81
|
+
readonly todowrite: _ai_sdk_provider_utils.Tool<z.objectOutputType<{
|
|
82
|
+
todos: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
83
|
+
content: z.ZodOptional<z.ZodString>;
|
|
84
|
+
status: z.ZodOptional<z.ZodString>;
|
|
85
|
+
priority: z.ZodOptional<z.ZodString>;
|
|
86
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
87
|
+
content: z.ZodOptional<z.ZodString>;
|
|
88
|
+
status: z.ZodOptional<z.ZodString>;
|
|
89
|
+
priority: z.ZodOptional<z.ZodString>;
|
|
90
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
91
|
+
content: z.ZodOptional<z.ZodString>;
|
|
92
|
+
status: z.ZodOptional<z.ZodString>;
|
|
93
|
+
priority: z.ZodOptional<z.ZodString>;
|
|
94
|
+
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
95
|
+
}, z.ZodTypeAny, "passthrough">, any, any>;
|
|
96
|
+
readonly agent: _ai_sdk_provider_utils.Tool<z.objectOutputType<{
|
|
97
|
+
agent: z.ZodOptional<z.ZodString>;
|
|
98
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
99
|
+
description: z.ZodOptional<z.ZodString>;
|
|
100
|
+
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
101
|
+
}, z.ZodTypeAny, "passthrough">, any, any>;
|
|
102
|
+
};
|
|
103
|
+
declare function createOpenCode(settings?: OpenCodeHarnessSettings): HarnessV1<typeof OPENCODE_BUILTIN_TOOLS>;
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Default `openCode` harness instance with no overrides. Equivalent to
|
|
107
|
+
* `createOpenCode()`.
|
|
108
|
+
*/
|
|
109
|
+
declare const openCode: _ai_sdk_harness.HarnessV1<{
|
|
110
|
+
readonly read: _ai_sdk_harness.HarnessV1BuiltinTool<zod.objectOutputType<{
|
|
111
|
+
file_path: zod.ZodOptional<zod.ZodString>;
|
|
112
|
+
path: zod.ZodOptional<zod.ZodString>;
|
|
113
|
+
}, zod.ZodTypeAny, "passthrough">, unknown>;
|
|
114
|
+
readonly write: _ai_sdk_harness.HarnessV1BuiltinTool<zod.objectOutputType<{
|
|
115
|
+
file_path: zod.ZodOptional<zod.ZodString>;
|
|
116
|
+
path: zod.ZodOptional<zod.ZodString>;
|
|
117
|
+
content: zod.ZodOptional<zod.ZodString>;
|
|
118
|
+
}, zod.ZodTypeAny, "passthrough">, unknown>;
|
|
119
|
+
readonly edit: _ai_sdk_harness.HarnessV1BuiltinTool<zod.objectOutputType<{
|
|
120
|
+
file_path: zod.ZodOptional<zod.ZodString>;
|
|
121
|
+
path: zod.ZodOptional<zod.ZodString>;
|
|
122
|
+
old_string: zod.ZodOptional<zod.ZodString>;
|
|
123
|
+
new_string: zod.ZodOptional<zod.ZodString>;
|
|
124
|
+
}, zod.ZodTypeAny, "passthrough">, unknown>;
|
|
125
|
+
readonly bash: _ai_sdk_harness.HarnessV1BuiltinTool<zod.objectOutputType<{
|
|
126
|
+
command: zod.ZodOptional<zod.ZodString>;
|
|
127
|
+
}, zod.ZodTypeAny, "passthrough">, unknown>;
|
|
128
|
+
readonly glob: _ai_sdk_harness.HarnessV1BuiltinTool<zod.objectOutputType<{
|
|
129
|
+
pattern: zod.ZodOptional<zod.ZodString>;
|
|
130
|
+
path: zod.ZodOptional<zod.ZodString>;
|
|
131
|
+
}, zod.ZodTypeAny, "passthrough">, unknown>;
|
|
132
|
+
readonly grep: _ai_sdk_harness.HarnessV1BuiltinTool<zod.objectOutputType<{
|
|
133
|
+
pattern: zod.ZodOptional<zod.ZodString>;
|
|
134
|
+
path: zod.ZodOptional<zod.ZodString>;
|
|
135
|
+
}, zod.ZodTypeAny, "passthrough">, unknown>;
|
|
136
|
+
readonly ls: _ai_sdk_provider_utils.Tool<zod.objectOutputType<{
|
|
137
|
+
path: zod.ZodOptional<zod.ZodString>;
|
|
138
|
+
}, zod.ZodTypeAny, "passthrough">, any, any>;
|
|
139
|
+
readonly webfetch: _ai_sdk_provider_utils.Tool<zod.objectOutputType<{
|
|
140
|
+
url: zod.ZodOptional<zod.ZodString>;
|
|
141
|
+
prompt: zod.ZodOptional<zod.ZodString>;
|
|
142
|
+
}, zod.ZodTypeAny, "passthrough">, any, any>;
|
|
143
|
+
readonly skill: _ai_sdk_provider_utils.Tool<zod.objectOutputType<{
|
|
144
|
+
name: zod.ZodOptional<zod.ZodString>;
|
|
145
|
+
}, zod.ZodTypeAny, "passthrough">, any, any>;
|
|
146
|
+
readonly todowrite: _ai_sdk_provider_utils.Tool<zod.objectOutputType<{
|
|
147
|
+
todos: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
148
|
+
content: zod.ZodOptional<zod.ZodString>;
|
|
149
|
+
status: zod.ZodOptional<zod.ZodString>;
|
|
150
|
+
priority: zod.ZodOptional<zod.ZodString>;
|
|
151
|
+
}, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{
|
|
152
|
+
content: zod.ZodOptional<zod.ZodString>;
|
|
153
|
+
status: zod.ZodOptional<zod.ZodString>;
|
|
154
|
+
priority: zod.ZodOptional<zod.ZodString>;
|
|
155
|
+
}, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{
|
|
156
|
+
content: zod.ZodOptional<zod.ZodString>;
|
|
157
|
+
status: zod.ZodOptional<zod.ZodString>;
|
|
158
|
+
priority: zod.ZodOptional<zod.ZodString>;
|
|
159
|
+
}, zod.ZodTypeAny, "passthrough">>, "many">>;
|
|
160
|
+
}, zod.ZodTypeAny, "passthrough">, any, any>;
|
|
161
|
+
readonly agent: _ai_sdk_provider_utils.Tool<zod.objectOutputType<{
|
|
162
|
+
agent: zod.ZodOptional<zod.ZodString>;
|
|
163
|
+
prompt: zod.ZodOptional<zod.ZodString>;
|
|
164
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
165
|
+
metadata: zod.ZodOptional<zod.ZodRecord<zod.ZodString, zod.ZodUnknown>>;
|
|
166
|
+
}, zod.ZodTypeAny, "passthrough">, any, any>;
|
|
167
|
+
}>;
|
|
168
|
+
|
|
169
|
+
export { type OpenCodeAuthOptions, type OpenCodeHarnessSettings, createOpenCode, openCode };
|