@getpaseo/server 0.1.70 → 0.1.71
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/server/client/daemon-client.d.ts +24 -4
- package/dist/server/client/daemon-client.d.ts.map +1 -1
- package/dist/server/client/daemon-client.js +41 -2
- package/dist/server/client/daemon-client.js.map +1 -1
- package/dist/server/server/agent/agent-manager.d.ts +17 -4
- package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
- package/dist/server/server/agent/agent-manager.js +177 -21
- package/dist/server/server/agent/agent-manager.js.map +1 -1
- package/dist/server/server/agent/agent-metadata-generator.d.ts +2 -0
- package/dist/server/server/agent/agent-metadata-generator.d.ts.map +1 -1
- package/dist/server/server/agent/agent-metadata-generator.js +16 -7
- package/dist/server/server/agent/agent-metadata-generator.js.map +1 -1
- package/dist/server/server/agent/agent-projections.d.ts +6 -2
- package/dist/server/server/agent/agent-projections.d.ts.map +1 -1
- package/dist/server/server/agent/agent-projections.js +32 -0
- package/dist/server/server/agent/agent-projections.js.map +1 -1
- package/dist/server/server/agent/agent-prompt.d.ts +72 -0
- package/dist/server/server/agent/agent-prompt.d.ts.map +1 -0
- package/dist/server/server/agent/agent-prompt.js +169 -0
- package/dist/server/server/agent/agent-prompt.js.map +1 -0
- package/dist/server/server/agent/agent-sdk-types.d.ts +12 -0
- package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
- package/dist/server/server/agent/create-agent-mode.d.ts +2 -0
- package/dist/server/server/agent/create-agent-mode.d.ts.map +1 -1
- package/dist/server/server/agent/create-agent-mode.js +3 -0
- package/dist/server/server/agent/create-agent-mode.js.map +1 -1
- package/dist/server/server/agent/import-sessions.d.ts +33 -0
- package/dist/server/server/agent/import-sessions.d.ts.map +1 -0
- package/dist/server/server/agent/import-sessions.js +107 -0
- package/dist/server/server/agent/import-sessions.js.map +1 -0
- package/dist/server/server/agent/mcp-server.d.ts +1 -1
- package/dist/server/server/agent/mcp-server.d.ts.map +1 -1
- package/dist/server/server/agent/mcp-server.js +29 -6
- package/dist/server/server/agent/mcp-server.js.map +1 -1
- package/dist/server/server/agent/mcp-shared.d.ts +1 -47
- package/dist/server/server/agent/mcp-shared.d.ts.map +1 -1
- package/dist/server/server/agent/mcp-shared.js +0 -145
- package/dist/server/server/agent/mcp-shared.js.map +1 -1
- package/dist/server/server/agent/provider-registry.d.ts +7 -0
- package/dist/server/server/agent/provider-registry.d.ts.map +1 -1
- package/dist/server/server/agent/provider-registry.js +5 -0
- package/dist/server/server/agent/provider-registry.js.map +1 -1
- package/dist/server/server/agent/providers/claude/agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude/agent.js +15 -0
- package/dist/server/server/agent/providers/claude/agent.js.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +8 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.js +40 -3
- package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
- package/dist/server/server/agent/providers/opencode-agent.d.ts +3 -2
- package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/opencode-agent.js +172 -4
- package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
- package/dist/server/server/chat/chat-mentions.d.ts +24 -8
- package/dist/server/server/chat/chat-mentions.d.ts.map +1 -1
- package/dist/server/server/chat/chat-mentions.js +77 -35
- package/dist/server/server/chat/chat-mentions.js.map +1 -1
- package/dist/server/server/chat/chat-service.d.ts +4 -0
- package/dist/server/server/chat/chat-service.d.ts.map +1 -1
- package/dist/server/server/chat/chat-service.js +9 -0
- package/dist/server/server/chat/chat-service.js.map +1 -1
- package/dist/server/server/daemon-keypair.d.ts.map +1 -1
- package/dist/server/server/daemon-keypair.js +4 -2
- package/dist/server/server/daemon-keypair.js.map +1 -1
- package/dist/server/server/exports.d.ts +1 -0
- package/dist/server/server/exports.d.ts.map +1 -1
- package/dist/server/server/exports.js +1 -0
- package/dist/server/server/exports.js.map +1 -1
- package/dist/server/server/paseo-home.js +2 -2
- package/dist/server/server/paseo-home.js.map +1 -1
- package/dist/server/server/persisted-config.d.ts.map +1 -1
- package/dist/server/server/persisted-config.js +5 -4
- package/dist/server/server/persisted-config.js.map +1 -1
- package/dist/server/server/private-files.d.ts +7 -0
- package/dist/server/server/private-files.d.ts.map +1 -0
- package/dist/server/server/private-files.js +42 -0
- package/dist/server/server/private-files.js.map +1 -0
- package/dist/server/server/push/token-store.d.ts.map +1 -1
- package/dist/server/server/push/token-store.js +4 -6
- package/dist/server/server/push/token-store.js.map +1 -1
- package/dist/server/server/schedule/service.d.ts +1 -1
- package/dist/server/server/schedule/service.d.ts.map +1 -1
- package/dist/server/server/schedule/service.js +14 -11
- package/dist/server/server/schedule/service.js.map +1 -1
- package/dist/server/server/server-id.d.ts.map +1 -1
- package/dist/server/server/server-id.js +8 -3
- package/dist/server/server/server-id.js.map +1 -1
- package/dist/server/server/session.d.ts +2 -0
- package/dist/server/server/session.d.ts.map +1 -1
- package/dist/server/server/session.js +158 -29
- package/dist/server/server/session.js.map +1 -1
- package/dist/server/server/workspace-git-service.d.ts +2 -1
- package/dist/server/server/workspace-git-service.d.ts.map +1 -1
- package/dist/server/server/workspace-git-service.js +1 -1
- package/dist/server/server/workspace-git-service.js.map +1 -1
- package/dist/server/server/worktree-branch-name-generator.d.ts +2 -0
- package/dist/server/server/worktree-branch-name-generator.d.ts.map +1 -1
- package/dist/server/server/worktree-branch-name-generator.js +18 -11
- package/dist/server/server/worktree-branch-name-generator.js.map +1 -1
- package/dist/server/services/github-service.d.ts +13 -0
- package/dist/server/services/github-service.d.ts.map +1 -1
- package/dist/server/services/github-service.js +12 -2
- package/dist/server/services/github-service.js.map +1 -1
- package/dist/server/shared/agent-labels.d.ts +2 -0
- package/dist/server/shared/agent-labels.d.ts.map +1 -0
- package/dist/server/shared/agent-labels.js +2 -0
- package/dist/server/shared/agent-labels.js.map +1 -0
- package/dist/server/shared/importable-providers.d.ts +7 -0
- package/dist/server/shared/importable-providers.d.ts.map +1 -0
- package/dist/server/shared/importable-providers.js +7 -0
- package/dist/server/shared/importable-providers.js.map +1 -0
- package/dist/server/shared/messages.d.ts +7148 -690
- package/dist/server/shared/messages.d.ts.map +1 -1
- package/dist/server/shared/messages.js +56 -4
- package/dist/server/shared/messages.js.map +1 -1
- package/dist/server/utils/build-metadata-prompt.d.ts +14 -0
- package/dist/server/utils/build-metadata-prompt.d.ts.map +1 -0
- package/dist/server/utils/build-metadata-prompt.js +28 -0
- package/dist/server/utils/build-metadata-prompt.js.map +1 -0
- package/dist/server/utils/checkout-git.d.ts +2 -1
- package/dist/server/utils/checkout-git.d.ts.map +1 -1
- package/dist/server/utils/checkout-git.js.map +1 -1
- package/dist/server/utils/paseo-config-schema.d.ts +625 -0
- package/dist/server/utils/paseo-config-schema.d.ts.map +1 -1
- package/dist/server/utils/paseo-config-schema.js +17 -0
- package/dist/server/utils/paseo-config-schema.js.map +1 -1
- package/dist/server/utils/wrap-user-instructions.d.ts +2 -0
- package/dist/server/utils/wrap-user-instructions.d.ts.map +1 -0
- package/dist/server/utils/wrap-user-instructions.js +13 -0
- package/dist/server/utils/wrap-user-instructions.js.map +1 -0
- package/dist/src/server/paseo-home.js +2 -2
- package/dist/src/server/paseo-home.js.map +1 -1
- package/dist/src/server/persisted-config.js +5 -4
- package/dist/src/server/persisted-config.js.map +1 -1
- package/dist/src/server/private-files.js +42 -0
- package/dist/src/server/private-files.js.map +1 -0
- package/dist/src/shared/messages.js +56 -4
- package/dist/src/shared/messages.js.map +1 -1
- package/dist/src/utils/paseo-config-schema.js +17 -0
- package/dist/src/utils/paseo-config-schema.js.map +1 -1
- package/package.json +3 -3
|
@@ -123,12 +123,13 @@ export declare class OpenCodeAgentClient implements AgentClient {
|
|
|
123
123
|
private readonly logger;
|
|
124
124
|
private readonly runtimeSettings?;
|
|
125
125
|
private readonly modelContextWindows;
|
|
126
|
-
|
|
126
|
+
private readonly storageRoot;
|
|
127
|
+
constructor(logger: Logger, runtimeSettings?: ProviderRuntimeSettings, storageRoot?: string);
|
|
127
128
|
createSession(config: AgentSessionConfig, _launchContext?: AgentLaunchContext, options?: AgentCreateSessionOptions): Promise<AgentSession>;
|
|
128
129
|
resumeSession(handle: AgentPersistenceHandle, overrides?: Partial<AgentSessionConfig>, _launchContext?: AgentLaunchContext): Promise<AgentSession>;
|
|
129
130
|
listModels(options: ListModelsOptions): Promise<AgentModelDefinition[]>;
|
|
130
131
|
listModes(options: ListModesOptions): Promise<AgentMode[]>;
|
|
131
|
-
listPersistedAgents(
|
|
132
|
+
listPersistedAgents(options?: ListPersistedAgentsOptions): Promise<PersistedAgentDescriptor[]>;
|
|
132
133
|
isAvailable(): Promise<boolean>;
|
|
133
134
|
getDiagnostic(): Promise<{
|
|
134
135
|
diagnostic: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-agent.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/opencode-agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"opencode-agent.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/opencode-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { readdir, readFile } from "node:fs/promises";
|
|
1
2
|
import { homedir } from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
2
4
|
import { createOpencodeClient, } from "@opencode-ai/sdk/v2/client";
|
|
3
5
|
import net from "node:net";
|
|
4
6
|
import { z } from "zod";
|
|
@@ -22,6 +24,7 @@ const OPENCODE_CAPABILITIES = {
|
|
|
22
24
|
};
|
|
23
25
|
const OPENCODE_BUILD_MODE_ID = "build";
|
|
24
26
|
const OPENCODE_FULL_ACCESS_MODE_ID = "full-access";
|
|
27
|
+
const OPENCODE_STORAGE_SESSION_LIMIT = 200;
|
|
25
28
|
const DEFAULT_MODES = [
|
|
26
29
|
{
|
|
27
30
|
id: OPENCODE_BUILD_MODE_ID,
|
|
@@ -39,6 +42,44 @@ const DEFAULT_MODES = [
|
|
|
39
42
|
description: "Automatically approves all tool permission prompts for the session",
|
|
40
43
|
},
|
|
41
44
|
];
|
|
45
|
+
const OpenCodeStoredSessionSchema = z
|
|
46
|
+
.object({
|
|
47
|
+
id: z.string().min(1),
|
|
48
|
+
directory: z.string().min(1),
|
|
49
|
+
title: z.string().nullable().optional(),
|
|
50
|
+
time: z
|
|
51
|
+
.object({
|
|
52
|
+
created: z.number().optional(),
|
|
53
|
+
updated: z.number().optional(),
|
|
54
|
+
})
|
|
55
|
+
.optional(),
|
|
56
|
+
})
|
|
57
|
+
.passthrough();
|
|
58
|
+
const OpenCodeStoredMessageSchema = z
|
|
59
|
+
.object({
|
|
60
|
+
id: z.string().min(1),
|
|
61
|
+
sessionID: z.string().min(1),
|
|
62
|
+
role: z.string().optional(),
|
|
63
|
+
time: z
|
|
64
|
+
.object({
|
|
65
|
+
created: z.number().optional(),
|
|
66
|
+
completed: z.number().optional(),
|
|
67
|
+
})
|
|
68
|
+
.optional(),
|
|
69
|
+
})
|
|
70
|
+
.passthrough();
|
|
71
|
+
const OpenCodeStoredPartSchema = z
|
|
72
|
+
.object({
|
|
73
|
+
type: z.string().optional(),
|
|
74
|
+
text: z.string().optional(),
|
|
75
|
+
time: z
|
|
76
|
+
.object({
|
|
77
|
+
start: z.number().optional(),
|
|
78
|
+
end: z.number().optional(),
|
|
79
|
+
})
|
|
80
|
+
.optional(),
|
|
81
|
+
})
|
|
82
|
+
.passthrough();
|
|
42
83
|
const MCP_ALREADY_PRESENT_ERROR_TOKENS = ["already", "exists", "connected"];
|
|
43
84
|
const OPENCODE_PROVIDER_LIST_TIMEOUT_MS = 30000;
|
|
44
85
|
const OPENCODE_SERVER_GRACEFUL_SHUTDOWN_TIMEOUT_MS = 5000;
|
|
@@ -485,6 +526,133 @@ function buildOpenCodePromptParts(prompt) {
|
|
|
485
526
|
}
|
|
486
527
|
return output;
|
|
487
528
|
}
|
|
529
|
+
function resolveOpenCodeStorageRoot() {
|
|
530
|
+
const xdgDataHome = process.env.XDG_DATA_HOME;
|
|
531
|
+
const dataHome = typeof xdgDataHome === "string" && xdgDataHome.trim().length > 0
|
|
532
|
+
? xdgDataHome
|
|
533
|
+
: path.join(homedir(), ".local", "share");
|
|
534
|
+
return path.join(dataHome, "opencode", "storage");
|
|
535
|
+
}
|
|
536
|
+
async function collectOpenCodePersistedAgentsFromStorage(storageRoot, options) {
|
|
537
|
+
const sessions = await readOpenCodeStoredSessions(path.join(storageRoot, "session"));
|
|
538
|
+
const limit = options?.limit ?? OPENCODE_STORAGE_SESSION_LIMIT;
|
|
539
|
+
const candidates = sessions
|
|
540
|
+
.filter((session) => !options?.cwd || session.directory === options.cwd)
|
|
541
|
+
.sort((left, right) => getOpenCodeSessionTimestamp(right) - getOpenCodeSessionTimestamp(left))
|
|
542
|
+
.slice(0, limit);
|
|
543
|
+
return await Promise.all(candidates.map((session) => buildOpenCodePersistedAgentDescriptor(storageRoot, session)));
|
|
544
|
+
}
|
|
545
|
+
async function readOpenCodeStoredSessions(sessionRoot) {
|
|
546
|
+
const files = await findJsonFiles(sessionRoot);
|
|
547
|
+
const sessions = [];
|
|
548
|
+
for (const file of files) {
|
|
549
|
+
const parsed = await readJsonFile(file, OpenCodeStoredSessionSchema);
|
|
550
|
+
if (parsed) {
|
|
551
|
+
sessions.push(parsed);
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
return sessions;
|
|
555
|
+
}
|
|
556
|
+
async function buildOpenCodePersistedAgentDescriptor(storageRoot, session) {
|
|
557
|
+
const timeline = await readOpenCodeSessionTimeline(storageRoot, session.id);
|
|
558
|
+
return {
|
|
559
|
+
provider: "opencode",
|
|
560
|
+
sessionId: session.id,
|
|
561
|
+
cwd: session.directory,
|
|
562
|
+
title: normalizeOpenCodeSessionTitle(session.title),
|
|
563
|
+
lastActivityAt: new Date(getOpenCodeSessionTimestamp(session)),
|
|
564
|
+
persistence: {
|
|
565
|
+
provider: "opencode",
|
|
566
|
+
sessionId: session.id,
|
|
567
|
+
nativeHandle: session.id,
|
|
568
|
+
metadata: {
|
|
569
|
+
provider: "opencode",
|
|
570
|
+
cwd: session.directory,
|
|
571
|
+
title: normalizeOpenCodeSessionTitle(session.title),
|
|
572
|
+
},
|
|
573
|
+
},
|
|
574
|
+
timeline,
|
|
575
|
+
};
|
|
576
|
+
}
|
|
577
|
+
async function readOpenCodeSessionTimeline(storageRoot, sessionId) {
|
|
578
|
+
const messageRoot = path.join(storageRoot, "message", sessionId);
|
|
579
|
+
const messageFiles = await findJsonFiles(messageRoot);
|
|
580
|
+
const messages = [];
|
|
581
|
+
for (const file of messageFiles) {
|
|
582
|
+
const parsed = await readJsonFile(file, OpenCodeStoredMessageSchema);
|
|
583
|
+
if (parsed?.sessionID === sessionId) {
|
|
584
|
+
messages.push(parsed);
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
const timeline = [];
|
|
588
|
+
for (const message of messages.sort((left, right) => getOpenCodeMessageTimestamp(left) - getOpenCodeMessageTimestamp(right))) {
|
|
589
|
+
const text = await readOpenCodeMessageText(storageRoot, message.id);
|
|
590
|
+
if (!text) {
|
|
591
|
+
continue;
|
|
592
|
+
}
|
|
593
|
+
if (message.role === "user") {
|
|
594
|
+
timeline.push({ type: "user_message", text, messageId: message.id });
|
|
595
|
+
}
|
|
596
|
+
else if (message.role === "assistant") {
|
|
597
|
+
timeline.push({ type: "assistant_message", text });
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
return timeline;
|
|
601
|
+
}
|
|
602
|
+
async function readOpenCodeMessageText(storageRoot, messageId) {
|
|
603
|
+
const partRoot = path.join(storageRoot, "part", messageId);
|
|
604
|
+
const partFiles = await findJsonFiles(partRoot);
|
|
605
|
+
const parts = [];
|
|
606
|
+
for (const file of partFiles) {
|
|
607
|
+
const parsed = await readJsonFile(file, OpenCodeStoredPartSchema);
|
|
608
|
+
if (parsed?.type === "text" && typeof parsed.text === "string") {
|
|
609
|
+
parts.push(parsed);
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
return parts
|
|
613
|
+
.sort((left, right) => getOpenCodePartTimestamp(left) - getOpenCodePartTimestamp(right))
|
|
614
|
+
.map((part) => part.text?.trim() ?? "")
|
|
615
|
+
.filter(Boolean)
|
|
616
|
+
.join("\n\n");
|
|
617
|
+
}
|
|
618
|
+
async function findJsonFiles(root) {
|
|
619
|
+
let entries;
|
|
620
|
+
try {
|
|
621
|
+
entries = await readdir(root, { withFileTypes: true });
|
|
622
|
+
}
|
|
623
|
+
catch {
|
|
624
|
+
return [];
|
|
625
|
+
}
|
|
626
|
+
const files = await Promise.all(entries.map(async (entry) => {
|
|
627
|
+
const entryPath = path.join(root, entry.name);
|
|
628
|
+
if (entry.isDirectory()) {
|
|
629
|
+
return findJsonFiles(entryPath);
|
|
630
|
+
}
|
|
631
|
+
return entry.isFile() && entry.name.endsWith(".json") ? [entryPath] : [];
|
|
632
|
+
}));
|
|
633
|
+
return files.flat();
|
|
634
|
+
}
|
|
635
|
+
async function readJsonFile(file, schema) {
|
|
636
|
+
try {
|
|
637
|
+
return schema.parse(JSON.parse(await readFile(file, "utf8")));
|
|
638
|
+
}
|
|
639
|
+
catch {
|
|
640
|
+
return null;
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
function normalizeOpenCodeSessionTitle(title) {
|
|
644
|
+
const normalized = title?.trim();
|
|
645
|
+
return normalized ? normalized : null;
|
|
646
|
+
}
|
|
647
|
+
function getOpenCodeSessionTimestamp(session) {
|
|
648
|
+
return session.time?.updated ?? session.time?.created ?? 0;
|
|
649
|
+
}
|
|
650
|
+
function getOpenCodeMessageTimestamp(message) {
|
|
651
|
+
return message.time?.created ?? message.time?.completed ?? 0;
|
|
652
|
+
}
|
|
653
|
+
function getOpenCodePartTimestamp(part) {
|
|
654
|
+
return part.time?.start ?? part.time?.end ?? 0;
|
|
655
|
+
}
|
|
488
656
|
export const __openCodeInternals = {
|
|
489
657
|
buildOpenCodePromptParts,
|
|
490
658
|
buildOpenCodeModelContextWindowLookup,
|
|
@@ -726,12 +894,13 @@ export class OpenCodeServerManager {
|
|
|
726
894
|
OpenCodeServerManager.instance = null;
|
|
727
895
|
OpenCodeServerManager.exitHandlerRegistered = false;
|
|
728
896
|
export class OpenCodeAgentClient {
|
|
729
|
-
constructor(logger, runtimeSettings) {
|
|
897
|
+
constructor(logger, runtimeSettings, storageRoot) {
|
|
730
898
|
this.provider = "opencode";
|
|
731
899
|
this.capabilities = OPENCODE_CAPABILITIES;
|
|
732
900
|
this.modelContextWindows = new Map();
|
|
733
901
|
this.logger = logger.child({ module: "agent", provider: "opencode" });
|
|
734
902
|
this.runtimeSettings = runtimeSettings;
|
|
903
|
+
this.storageRoot = storageRoot ?? resolveOpenCodeStorageRoot();
|
|
735
904
|
this.serverManager = OpenCodeServerManager.getInstance(this.logger, runtimeSettings);
|
|
736
905
|
}
|
|
737
906
|
async createSession(config, _launchContext, options) {
|
|
@@ -854,9 +1023,8 @@ export class OpenCodeAgentClient {
|
|
|
854
1023
|
acquisition.release();
|
|
855
1024
|
}
|
|
856
1025
|
}
|
|
857
|
-
async listPersistedAgents(
|
|
858
|
-
|
|
859
|
-
return [];
|
|
1026
|
+
async listPersistedAgents(options) {
|
|
1027
|
+
return collectOpenCodePersistedAgentsFromStorage(this.storageRoot, options);
|
|
860
1028
|
}
|
|
861
1029
|
async isAvailable() {
|
|
862
1030
|
const command = this.runtimeSettings?.command;
|