@getpaseo/server 0.9.2 → 0.10.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/dist/scripts/supervisor.js +51 -21
- package/dist/server/server/agent/agent-manager.js +22 -2
- package/dist/server/server/agent/agent-prompt.js +12 -0
- package/dist/server/server/agent/agent-sdk-types.d.ts +3 -0
- package/dist/server/server/agent/mcp-shared.d.ts +5 -1
- package/dist/server/server/agent/mcp-shared.js +2 -1
- package/dist/server/server/agent/provider-launch-config.d.ts +2 -2
- package/dist/server/server/agent/provider-launch-config.js +1 -1
- package/dist/server/server/agent/provider-registry.js +2 -2
- package/dist/server/server/agent/providers/acp-agent.js +20 -11
- package/dist/server/server/agent/providers/claude/agent.d.ts +1 -2
- package/dist/server/server/agent/providers/claude/agent.js +10 -9
- package/dist/server/server/agent/providers/claude/models.d.ts +1 -1
- package/dist/server/server/agent/providers/claude/models.js +1 -5
- package/dist/server/server/agent/providers/claude/project-dir.d.ts +1 -0
- package/dist/server/server/agent/providers/claude/project-dir.js +5 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +6 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.js +10 -1
- package/dist/server/server/agent/providers/generic-acp-agent.js +3 -1
- package/dist/server/server/agent/providers/omp/agent.js +23 -6
- package/dist/server/server/agent/providers/omp/rpc-types.d.ts +1 -0
- package/dist/server/server/agent/providers/omp/rpc-types.js +1 -0
- package/dist/server/server/agent/providers/opencode/bridge.d.ts +5 -1
- package/dist/server/server/agent/providers/opencode/bridge.js +56 -5
- package/dist/server/server/agent/providers/opencode/http-error.d.ts +8 -0
- package/dist/server/server/agent/providers/opencode/http-error.js +13 -0
- package/dist/server/server/agent/providers/opencode/runtime-client.d.ts +38 -0
- package/dist/server/server/agent/providers/opencode/runtime-client.js +131 -0
- package/dist/server/server/agent/providers/opencode/runtime-notice.d.ts +3 -0
- package/dist/server/server/agent/providers/opencode/runtime-notice.js +47 -0
- package/dist/server/server/agent/providers/opencode/server-manager.js +19 -8
- package/dist/server/server/agent/providers/opencode/v2/agent.d.ts +36 -0
- package/dist/server/server/agent/providers/opencode/v2/agent.js +211 -0
- package/dist/server/server/agent/providers/opencode/v2/api.d.ts +18 -0
- package/dist/server/server/agent/providers/opencode/v2/api.js +2 -0
- package/dist/server/server/agent/providers/opencode/v2/bridge-plugin.bundle.mjs +6693 -0
- package/dist/server/server/agent/providers/opencode/v2/capabilities.d.ts +3 -0
- package/dist/server/server/agent/providers/opencode/v2/capabilities.js +13 -0
- package/dist/server/server/agent/providers/opencode/v2/children.d.ts +20 -0
- package/dist/server/server/agent/providers/opencode/v2/children.js +75 -0
- package/dist/server/server/agent/providers/opencode/v2/commands.d.ts +4 -0
- package/dist/server/server/agent/providers/opencode/v2/commands.js +36 -0
- package/dist/server/server/agent/providers/opencode/v2/configuration.d.ts +8 -0
- package/dist/server/server/agent/providers/opencode/v2/configuration.js +64 -0
- package/dist/server/server/agent/providers/opencode/v2/history.d.ts +4 -0
- package/dist/server/server/agent/providers/opencode/v2/history.js +15 -0
- package/dist/server/server/agent/providers/opencode/v2/mapping.d.ts +7 -0
- package/dist/server/server/agent/providers/opencode/v2/mapping.js +42 -0
- package/dist/server/server/agent/providers/opencode/v2/permissions.d.ts +18 -0
- package/dist/server/server/agent/providers/opencode/v2/permissions.js +157 -0
- package/dist/server/server/agent/providers/opencode/v2/readiness.d.ts +18 -0
- package/dist/server/server/agent/providers/opencode/v2/readiness.js +51 -0
- package/dist/server/server/agent/providers/opencode/v2/runtime.d.ts +36 -0
- package/dist/server/server/agent/providers/opencode/v2/runtime.js +230 -0
- package/dist/server/server/agent/providers/opencode/v2/session.d.ts +84 -0
- package/dist/server/server/agent/providers/opencode/v2/session.js +468 -0
- package/dist/server/server/agent/providers/opencode/v2/structured-output.d.ts +8 -0
- package/dist/server/server/agent/providers/opencode/v2/structured-output.js +32 -0
- package/dist/server/server/agent/providers/opencode/v2/timeline.d.ts +28 -0
- package/dist/server/server/agent/providers/opencode/v2/timeline.js +154 -0
- package/dist/server/server/agent/providers/opencode/v2/turns.d.ts +40 -0
- package/dist/server/server/agent/providers/opencode/v2/turns.js +226 -0
- package/dist/server/server/agent/providers/opencode-agent.d.ts +26 -7
- package/dist/server/server/agent/providers/opencode-agent.js +100 -40
- package/dist/server/server/agent/providers/pi/agent.d.ts +6 -6
- package/dist/server/server/agent/providers/pi/agent.js +114 -165
- package/dist/server/server/agent/providers/pi/extensions/child-session.d.ts +4 -0
- package/dist/server/server/agent/providers/pi/extensions/child-session.js +59 -0
- package/dist/server/server/agent/providers/pi/extensions/contract.d.ts +68 -0
- package/dist/server/server/agent/providers/pi/extensions/contract.js +2 -0
- package/dist/server/server/agent/providers/pi/extensions/gotgenes-pi-subagents/index.d.ts +3 -0
- package/dist/server/server/agent/providers/pi/extensions/gotgenes-pi-subagents/index.js +159 -0
- package/dist/server/server/agent/providers/pi/extensions/host.d.ts +28 -0
- package/dist/server/server/agent/providers/pi/extensions/host.js +94 -0
- package/dist/server/server/agent/providers/pi/extensions/index.d.ts +7 -0
- package/dist/server/server/agent/providers/pi/extensions/index.js +6 -0
- package/dist/server/server/agent/providers/pi/extensions/pi-ask-user/index.d.ts +3 -0
- package/dist/server/server/agent/providers/pi/extensions/pi-ask-user/index.js +138 -0
- package/dist/server/server/agent/providers/pi/extensions/pi-example-todo/index.d.ts +3 -0
- package/dist/server/server/agent/providers/pi/extensions/pi-example-todo/index.js +38 -0
- package/dist/server/server/agent/providers/pi/extensions/pi-goal-x/index.d.ts +3 -0
- package/dist/server/server/agent/providers/pi/extensions/pi-goal-x/index.js +63 -0
- package/dist/server/server/agent/providers/pi/extensions/pi-mcp-adapter/index.d.ts +3 -0
- package/dist/server/server/agent/providers/pi/extensions/pi-mcp-adapter/index.js +48 -0
- package/dist/server/server/agent/providers/pi/extensions/pi-subagents/index.d.ts +3 -0
- package/dist/server/server/agent/providers/pi/extensions/pi-subagents/index.js +131 -0
- package/dist/server/server/agent/providers/pi/extensions/registry.d.ts +2 -0
- package/dist/server/server/agent/providers/pi/extensions/registry.js +21 -0
- package/dist/server/server/agent/providers/pi/extensions/rpiv-ask-user-question/index.d.ts +3 -0
- package/dist/server/server/agent/providers/pi/extensions/rpiv-ask-user-question/index.js +180 -0
- package/dist/server/server/agent/providers/pi/extensions/rpiv-todo/index.d.ts +3 -0
- package/dist/server/server/agent/providers/pi/extensions/rpiv-todo/index.js +51 -0
- package/dist/server/server/agent/providers/pi/extensions/subagent-fixture-test.d.ts +22 -0
- package/dist/server/server/agent/providers/pi/extensions/subagent-fixture-test.js +66 -0
- package/dist/server/server/agent/providers/pi/extensions/task-fixture-test.d.ts +4 -0
- package/dist/server/server/agent/providers/pi/extensions/task-fixture-test.js +79 -0
- package/dist/server/server/agent/providers/pi/extensions/tintinweb-pi-subagents/index.d.ts +3 -0
- package/dist/server/server/agent/providers/pi/extensions/tintinweb-pi-subagents/index.js +149 -0
- package/dist/server/server/agent/providers/pi/history-mapper.d.ts +7 -2
- package/dist/server/server/agent/providers/pi/history-mapper.js +78 -35
- package/dist/server/server/agent/providers/pi/rpc-types.d.ts +3 -0
- package/dist/server/server/agent/providers/pi/test-utils/fake-pi.d.ts +170 -0
- package/dist/server/server/agent/providers/pi/test-utils/fake-pi.js +355 -0
- package/dist/server/server/agent/providers/pi/tool-call-mapper.d.ts +1 -6
- package/dist/server/server/agent/providers/pi/tool-call-mapper.js +1 -97
- package/dist/server/server/agent/tools/paseo-tools.js +22 -15
- package/dist/server/server/auth.d.ts +1 -2
- package/dist/server/server/auth.js +8 -14
- package/dist/server/server/bootstrap.js +10 -2
- package/dist/server/server/daemon-instance.d.ts +1 -0
- package/dist/server/server/daemon-instance.js +1 -0
- package/dist/server/server/exports.d.ts +1 -1
- package/dist/server/server/exports.js +1 -1
- package/dist/server/server/local-credential.d.ts +6 -0
- package/dist/server/server/local-credential.js +82 -0
- package/dist/server/server/session-admission-auth.d.ts +16 -0
- package/dist/server/server/session-admission-auth.js +26 -0
- package/dist/server/server/websocket-server.d.ts +6 -1
- package/dist/server/server/websocket-server.js +132 -55
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-bridge-f41bce08c3c4ac2de0652d20234d19e9.js → desktop-attachment-bridge-9da07adb97f5e0eb726f7762afee43f5.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-bridge-f41bce08c3c4ac2de0652d20234d19e9.js.br → desktop-attachment-bridge-9da07adb97f5e0eb726f7762afee43f5.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-9da07adb97f5e0eb726f7762afee43f5.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-store-9e271e161480b0d1dd35e58616a37341.js → desktop-attachment-store-d5d3402a752965d3037191484127123b.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-store-9e271e161480b0d1dd35e58616a37341.js.br → desktop-attachment-store-d5d3402a752965d3037191484127123b.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-d5d3402a752965d3037191484127123b.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{index-8868523fc6d311c5da524c067d1cd426.js → index-136fa41d4adb7ec5c6392839cc354136.js} +1580 -1576
- package/dist/server/web-ui/_expo/static/js/web/index-136fa41d4adb7ec5c6392839cc354136.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-136fa41d4adb7ec5c6392839cc354136.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{indexeddb-attachment-store-369cdb67f5856fd2c72d640df0b7b79e.js → indexeddb-attachment-store-3afc19e43c8152bd3c6d71b3ea8776dc.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{indexeddb-attachment-store-369cdb67f5856fd2c72d640df0b7b79e.js.br → indexeddb-attachment-store-3afc19e43c8152bd3c6d71b3ea8776dc.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-3afc19e43c8152bd3c6d71b3ea8776dc.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{native-file-attachment-store-bcd89f6ce714279a8f4fa0e024f3a610.js → native-file-attachment-store-187a9d5c32188f357dbbf037a0f89073.js} +3 -3
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-187a9d5c32188f357dbbf037a0f89073.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-187a9d5c32188f357dbbf037a0f89073.js.gz +0 -0
- package/dist/server/web-ui/index.html +1 -1
- package/dist/server/web-ui/index.html.br +0 -0
- package/dist/server/web-ui/index.html.gz +0 -0
- package/dist/src/server/agent/provider-launch-config.js +1 -1
- package/dist/src/server/daemon-instance.js +1 -0
- package/dist/src/server/local-credential.js +82 -0
- package/package.json +8 -7
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-f41bce08c3c4ac2de0652d20234d19e9.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-9e271e161480b0d1dd35e58616a37341.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-8868523fc6d311c5da524c067d1cd426.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-8868523fc6d311c5da524c067d1cd426.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-369cdb67f5856fd2c72d640df0b7b79e.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-bcd89f6ce714279a8f4fa0e024f3a610.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-bcd89f6ce714279a8f4fa0e024f3a610.js.gz +0 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { OpenCodeV2Session } from "./session.js";
|
|
2
|
+
import { V2_CAPABILITIES } from "./capabilities.js";
|
|
3
|
+
import { features, permissionRules, applyResumeOverrides, requiresDedicatedV2Server, } from "./configuration.js";
|
|
4
|
+
import { commands } from "./commands.js";
|
|
5
|
+
import { waitForLocationReady, awaitPaseoPlugin } from "./readiness.js";
|
|
6
|
+
import { createProviderEnv, } from "../../../provider-launch-config.js";
|
|
7
|
+
import { importSessionFromPersistence } from "../../../provider-session-import.js";
|
|
8
|
+
import { resolveOpenCodeHomeDir } from "../paths.js";
|
|
9
|
+
import { V2Runtime } from "./runtime.js";
|
|
10
|
+
import { modelRef, modesFromV2, modelsFromV2 } from "./mapping.js";
|
|
11
|
+
export class OpenCodeV2AgentClient {
|
|
12
|
+
constructor(options) {
|
|
13
|
+
this.options = options;
|
|
14
|
+
this.provider = "opencode";
|
|
15
|
+
this.connections = new Map();
|
|
16
|
+
this.capabilities = { ...V2_CAPABILITIES, supportsNativePaseoTools: Boolean(options.bridge) };
|
|
17
|
+
this.runtime =
|
|
18
|
+
options.runtime ??
|
|
19
|
+
new V2Runtime({
|
|
20
|
+
...options,
|
|
21
|
+
decorateEnv: options.bridge ? (env) => options.bridge.decorateV2ServerEnv(env) : undefined,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async isAvailable() {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
async shutdown() {
|
|
28
|
+
await this.runtime.shutdown();
|
|
29
|
+
}
|
|
30
|
+
async fetchCatalog(options, context) {
|
|
31
|
+
const connection = await this.runtime.acquire({
|
|
32
|
+
fresh: options.force,
|
|
33
|
+
signal: context?.signal,
|
|
34
|
+
});
|
|
35
|
+
const location = {
|
|
36
|
+
directory: options.scope === "workspace" ? options.cwd : resolveOpenCodeHomeDir(),
|
|
37
|
+
};
|
|
38
|
+
const request = { signal: context?.signal };
|
|
39
|
+
const activity = (name, operation) => context ? context.runActivity(name, operation) : operation();
|
|
40
|
+
try {
|
|
41
|
+
await activity("plugin.list", () => waitForLocationReady({ client: connection.client, location, signal: request.signal }));
|
|
42
|
+
const [models, agents, providers] = await Promise.all([
|
|
43
|
+
activity("model.list", () => connection.client.model.list({ location }, request)),
|
|
44
|
+
activity("agent.list", () => connection.client.agent.list({ location }, request)),
|
|
45
|
+
activity("provider.list", () => connection.client.provider.list({ location }, request)),
|
|
46
|
+
]);
|
|
47
|
+
if (!providers.data.length)
|
|
48
|
+
throw new Error("OpenCode has no connected providers. Authenticate using opencode auth login.");
|
|
49
|
+
return { models: modelsFromV2(models.data), modes: modesFromV2(agents.data) };
|
|
50
|
+
}
|
|
51
|
+
finally {
|
|
52
|
+
await connection.release();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async createSession(config, launch, options) {
|
|
56
|
+
const connection = await this.runtime.acquire(requiresDedicatedV2Server(config, launch) ? { env: launch?.env, dedicated: true } : {});
|
|
57
|
+
try {
|
|
58
|
+
const info = await connection.client.session.create({
|
|
59
|
+
location: { directory: config.cwd },
|
|
60
|
+
title: config.title,
|
|
61
|
+
agent: config.modeId ?? "build",
|
|
62
|
+
model: config.model ? modelRef(config.model, config.thinkingOptionId) : undefined,
|
|
63
|
+
permissions: permissionRules(config),
|
|
64
|
+
});
|
|
65
|
+
return await this.attach(connection, info, config, launch, options?.persistSession !== false);
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
await connection.release();
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async resumeSession(handle, overrides, launch) {
|
|
73
|
+
const cwd = overrides?.cwd ?? handle.metadata?.cwd;
|
|
74
|
+
if (typeof cwd !== "string")
|
|
75
|
+
throw new Error("OpenCode resume requires the original working directory");
|
|
76
|
+
const config = {
|
|
77
|
+
...handle.metadata,
|
|
78
|
+
...overrides,
|
|
79
|
+
provider: "opencode",
|
|
80
|
+
cwd,
|
|
81
|
+
};
|
|
82
|
+
const connection = this.connections.get(handle.nativeHandle ?? handle.sessionId)?.retain() ??
|
|
83
|
+
(await this.runtime.acquire(requiresDedicatedV2Server(config, launch) ? { env: launch?.env, dedicated: true } : {}));
|
|
84
|
+
try {
|
|
85
|
+
const info = await connection.client.session.get({
|
|
86
|
+
sessionID: handle.nativeHandle ?? handle.sessionId,
|
|
87
|
+
});
|
|
88
|
+
await applyResumeOverrides(connection.client, info, overrides);
|
|
89
|
+
return await this.attach(connection, info, config, launch, true);
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
await connection.release();
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
async attach(connection, info, config, launch, persist) {
|
|
97
|
+
const acquire = () => this.runtime.acquire(requiresDedicatedV2Server(config, launch) ? { env: launch?.env, dedicated: true } : {});
|
|
98
|
+
let ownedConnection = connection;
|
|
99
|
+
const unbind = this.options.bridge?.bindSession({
|
|
100
|
+
sessionId: info.id,
|
|
101
|
+
env: launch?.env ?? {},
|
|
102
|
+
tools: launch?.paseoTools,
|
|
103
|
+
});
|
|
104
|
+
const bound = new Map();
|
|
105
|
+
const bindChild = (childId) => {
|
|
106
|
+
this.connections.set(childId, ownedConnection);
|
|
107
|
+
if (bound.has(childId))
|
|
108
|
+
return;
|
|
109
|
+
const childUnbind = this.options.bridge?.bindSession({
|
|
110
|
+
sessionId: childId,
|
|
111
|
+
env: launch?.env ?? {},
|
|
112
|
+
tools: launch?.paseoTools,
|
|
113
|
+
});
|
|
114
|
+
if (childUnbind)
|
|
115
|
+
bound.set(childId, childUnbind);
|
|
116
|
+
};
|
|
117
|
+
this.connections.set(info.id, connection);
|
|
118
|
+
const releaseBindings = () => {
|
|
119
|
+
unbind?.();
|
|
120
|
+
for (const cleanup of bound.values())
|
|
121
|
+
cleanup();
|
|
122
|
+
for (const [id, owner] of this.connections)
|
|
123
|
+
if (owner === ownedConnection)
|
|
124
|
+
this.connections.delete(id);
|
|
125
|
+
};
|
|
126
|
+
const moved = (next) => {
|
|
127
|
+
for (const [id, owner] of this.connections)
|
|
128
|
+
if (owner === ownedConnection)
|
|
129
|
+
this.connections.set(id, next);
|
|
130
|
+
ownedConnection = next;
|
|
131
|
+
};
|
|
132
|
+
const session = new OpenCodeV2Session(connection, info, config, this.options.logger, persist, Boolean(this.options.bridge), releaseBindings, bindChild, acquire, moved);
|
|
133
|
+
try {
|
|
134
|
+
if (this.options.bridge) {
|
|
135
|
+
const location = { directory: config.cwd };
|
|
136
|
+
await awaitPaseoPlugin({ client: connection.client, location });
|
|
137
|
+
}
|
|
138
|
+
await session.initialize(launch?.env
|
|
139
|
+
? createProviderEnv({ runtimeSettings: this.options.settings, overlays: [launch.env] })
|
|
140
|
+
: undefined);
|
|
141
|
+
return session;
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
await session.close();
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
async listFeatures(config) {
|
|
149
|
+
return features(config);
|
|
150
|
+
}
|
|
151
|
+
async listCommands(config) {
|
|
152
|
+
const connection = await this.runtime.acquire();
|
|
153
|
+
try {
|
|
154
|
+
return await commands(connection.client, config.cwd);
|
|
155
|
+
}
|
|
156
|
+
finally {
|
|
157
|
+
await connection.release();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
async listImportableSessions(options = {}) {
|
|
161
|
+
const connection = await this.runtime.acquire();
|
|
162
|
+
try {
|
|
163
|
+
const sessions = [];
|
|
164
|
+
let cursor;
|
|
165
|
+
const scanLimit = Math.min(options.scanLimit ?? 100, 500);
|
|
166
|
+
do {
|
|
167
|
+
const page = await connection.client.session.list({
|
|
168
|
+
...(cursor ? { cursor } : { directory: options.cwd, search: options.query }),
|
|
169
|
+
limit: Math.min(50, scanLimit - sessions.length),
|
|
170
|
+
});
|
|
171
|
+
sessions.push(...page.data);
|
|
172
|
+
cursor = page.cursor.next ?? undefined;
|
|
173
|
+
} while (cursor && sessions.length < scanLimit);
|
|
174
|
+
return sessions
|
|
175
|
+
.filter((info) => !info.parentID && !info.time.archived)
|
|
176
|
+
.slice(0, options.limit ?? 50)
|
|
177
|
+
.map((info) => ({
|
|
178
|
+
providerHandleId: info.id,
|
|
179
|
+
cwd: info.location.directory,
|
|
180
|
+
title: info.title ?? null,
|
|
181
|
+
firstPromptPreview: null,
|
|
182
|
+
lastPromptPreview: null,
|
|
183
|
+
lastActivityAt: new Date(info.time.updated),
|
|
184
|
+
}));
|
|
185
|
+
}
|
|
186
|
+
finally {
|
|
187
|
+
await connection.release();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
async importSession(input, context) {
|
|
191
|
+
const connection = await this.runtime.acquire();
|
|
192
|
+
try {
|
|
193
|
+
const info = await connection.client.session.get({ sessionID: input.providerHandleId });
|
|
194
|
+
return await importSessionFromPersistence({
|
|
195
|
+
provider: "opencode",
|
|
196
|
+
request: input,
|
|
197
|
+
context,
|
|
198
|
+
resumeSession: this.resumeSession.bind(this),
|
|
199
|
+
config: {
|
|
200
|
+
title: info.title,
|
|
201
|
+
modeId: info.agent,
|
|
202
|
+
model: info.model ? `${info.model.providerID}/${info.model.id}` : undefined,
|
|
203
|
+
},
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
finally {
|
|
207
|
+
await connection.release();
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { OpenCodeClient } from "@opencode/client";
|
|
2
|
+
export interface V2Api {
|
|
3
|
+
server: OpenCodeClient["server"];
|
|
4
|
+
session: Pick<OpenCodeClient["session"], "create" | "get" | "list" | "active" | "remove" | "switchAgent" | "switchModel" | "environment" | "instructions" | "prompt" | "command" | "compact" | "wait" | "interrupt" | "revert" | "log"> & {
|
|
5
|
+
form: Pick<OpenCodeClient["session"]["form"], "list" | "reply" | "cancel">;
|
|
6
|
+
};
|
|
7
|
+
plugin: Pick<OpenCodeClient["plugin"], "list">;
|
|
8
|
+
model: OpenCodeClient["model"];
|
|
9
|
+
provider: Pick<OpenCodeClient["provider"], "list">;
|
|
10
|
+
agent: Pick<OpenCodeClient["agent"], "list">;
|
|
11
|
+
command: OpenCodeClient["command"];
|
|
12
|
+
skill: OpenCodeClient["skill"];
|
|
13
|
+
message: OpenCodeClient["message"];
|
|
14
|
+
mcp: Pick<OpenCodeClient["mcp"], "add" | "list">;
|
|
15
|
+
permission: Pick<OpenCodeClient["permission"], "list" | "reply">;
|
|
16
|
+
event: OpenCodeClient["event"];
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=api.d.ts.map
|