@getpaseo/server 0.1.85 → 0.1.87
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-entrypoint.js +1 -0
- package/dist/server/server/agent/agent-metadata-generator.d.ts +9 -0
- package/dist/server/server/agent/agent-metadata-generator.js +11 -2
- package/dist/server/server/agent/agent-response-loop.d.ts +1 -1
- package/dist/server/server/agent/agent-response-loop.js +3 -13
- package/dist/server/server/agent/create-agent/create.d.ts +2 -0
- package/dist/server/server/agent/create-agent/create.js +7 -0
- package/dist/server/server/agent/import-sessions.d.ts +3 -0
- package/dist/server/server/agent/import-sessions.js +11 -0
- package/dist/server/server/agent/providers/claude/agent.d.ts +2 -1
- package/dist/server/server/agent/providers/claude/agent.js +70 -0
- package/dist/server/server/agent/providers/claude/feature-definitions.d.ts +8 -0
- package/dist/server/server/agent/providers/claude/feature-definitions.js +36 -0
- package/dist/server/server/agent/providers/opencode-agent.js +4 -1
- package/dist/server/server/agent/providers/tool-call-detail-primitives.js +6 -3
- package/dist/server/server/agent/providers/tool-call-mapper-utils.d.ts +5 -0
- package/dist/server/server/agent/providers/tool-call-mapper-utils.js +62 -0
- package/dist/server/server/agent/structured-generation-providers.d.ts +29 -0
- package/dist/server/server/agent/structured-generation-providers.js +192 -0
- package/dist/server/server/bootstrap.d.ts +7 -0
- package/dist/server/server/bootstrap.js +3 -0
- package/dist/server/server/config.js +1 -0
- package/dist/server/server/daemon-config-store.js +46 -6
- package/dist/server/server/daemon-worker.js +1 -0
- package/dist/server/server/file-explorer/service.js +4 -4
- package/dist/server/server/persisted-config.d.ts +77 -22
- package/dist/server/server/persisted-config.js +13 -0
- package/dist/server/server/session.d.ts +3 -2
- package/dist/server/server/session.js +76 -24
- package/dist/server/server/speech/providers/local/runtime.js +52 -133
- package/dist/server/server/speech/providers/local/sherpa/model-catalog.d.ts +9 -2
- package/dist/server/server/speech/providers/local/sherpa/model-catalog.js +7 -0
- package/dist/server/server/speech/providers/local/worker-bytes.d.ts +4 -0
- package/dist/server/server/speech/providers/local/worker-bytes.js +9 -0
- package/dist/server/server/speech/providers/local/worker-client.d.ts +80 -0
- package/dist/server/server/speech/providers/local/worker-client.js +438 -0
- package/dist/server/server/speech/providers/local/worker-process.d.ts +2 -0
- package/dist/server/server/speech/providers/local/worker-process.js +270 -0
- package/dist/server/server/speech/providers/local/worker-protocol.d.ts +95 -0
- package/dist/server/server/speech/providers/local/worker-protocol.js +2 -0
- package/dist/server/server/websocket-server.js +2 -0
- package/dist/server/server/worktree-branch-name-generator.d.ts +9 -0
- package/dist/server/server/worktree-branch-name-generator.js +11 -2
- package/dist/src/server/persisted-config.js +13 -0
- package/package.json +5 -5
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { StreamingTranscriptionCommittedEvent, StreamingTranscriptionEvent, TranscriptionResult } from "../../speech-provider.js";
|
|
2
|
+
import type { LocalSpeechWorkerBytes } from "./worker-bytes.js";
|
|
3
|
+
export interface LocalSpeechWorkerConfig {
|
|
4
|
+
modelsDir: string;
|
|
5
|
+
voiceSttModel: string;
|
|
6
|
+
dictationSttModel: string;
|
|
7
|
+
voiceTtsModel: string;
|
|
8
|
+
voiceTtsSpeakerId?: number;
|
|
9
|
+
voiceTtsSpeed?: number;
|
|
10
|
+
}
|
|
11
|
+
export type LocalSpeechSessionKind = "voiceStt" | "dictationStt" | "vad";
|
|
12
|
+
export type LocalSpeechWorkerRequest = {
|
|
13
|
+
type: "tts.synthesize";
|
|
14
|
+
requestId: string;
|
|
15
|
+
config: LocalSpeechWorkerConfig;
|
|
16
|
+
text: string;
|
|
17
|
+
} | {
|
|
18
|
+
type: "stt.transcribe";
|
|
19
|
+
requestId: string;
|
|
20
|
+
config: LocalSpeechWorkerConfig;
|
|
21
|
+
model: "voice" | "dictation";
|
|
22
|
+
audio: LocalSpeechWorkerBytes;
|
|
23
|
+
format: string;
|
|
24
|
+
} | {
|
|
25
|
+
type: "session.create";
|
|
26
|
+
requestId: string;
|
|
27
|
+
config: LocalSpeechWorkerConfig;
|
|
28
|
+
sessionId: string;
|
|
29
|
+
kind: LocalSpeechSessionKind;
|
|
30
|
+
} | {
|
|
31
|
+
type: "session.append";
|
|
32
|
+
requestId: string;
|
|
33
|
+
sessionId: string;
|
|
34
|
+
audio: LocalSpeechWorkerBytes;
|
|
35
|
+
} | {
|
|
36
|
+
type: "session.commit";
|
|
37
|
+
requestId: string;
|
|
38
|
+
sessionId: string;
|
|
39
|
+
} | {
|
|
40
|
+
type: "session.clear";
|
|
41
|
+
requestId: string;
|
|
42
|
+
sessionId: string;
|
|
43
|
+
} | {
|
|
44
|
+
type: "session.flush";
|
|
45
|
+
requestId: string;
|
|
46
|
+
sessionId: string;
|
|
47
|
+
} | {
|
|
48
|
+
type: "session.reset";
|
|
49
|
+
requestId: string;
|
|
50
|
+
sessionId: string;
|
|
51
|
+
} | {
|
|
52
|
+
type: "session.close";
|
|
53
|
+
requestId: string;
|
|
54
|
+
sessionId: string;
|
|
55
|
+
};
|
|
56
|
+
export type LocalSpeechWorkerResponse = {
|
|
57
|
+
type: "response";
|
|
58
|
+
requestId: string;
|
|
59
|
+
ok: true;
|
|
60
|
+
result?: unknown;
|
|
61
|
+
} | {
|
|
62
|
+
type: "response";
|
|
63
|
+
requestId: string;
|
|
64
|
+
ok: false;
|
|
65
|
+
error: string;
|
|
66
|
+
};
|
|
67
|
+
export type LocalSpeechWorkerEvent = {
|
|
68
|
+
type: "session.committed";
|
|
69
|
+
sessionId: string;
|
|
70
|
+
payload: StreamingTranscriptionCommittedEvent;
|
|
71
|
+
} | {
|
|
72
|
+
type: "session.transcript";
|
|
73
|
+
sessionId: string;
|
|
74
|
+
payload: StreamingTranscriptionEvent;
|
|
75
|
+
} | {
|
|
76
|
+
type: "session.speech_started";
|
|
77
|
+
sessionId: string;
|
|
78
|
+
} | {
|
|
79
|
+
type: "session.speech_stopped";
|
|
80
|
+
sessionId: string;
|
|
81
|
+
} | {
|
|
82
|
+
type: "session.error";
|
|
83
|
+
sessionId: string;
|
|
84
|
+
error: string;
|
|
85
|
+
};
|
|
86
|
+
export type LocalSpeechWorkerToParentMessage = LocalSpeechWorkerResponse | LocalSpeechWorkerEvent;
|
|
87
|
+
export interface LocalSpeechCreateSessionResult {
|
|
88
|
+
requiredSampleRate: number;
|
|
89
|
+
}
|
|
90
|
+
export interface LocalSpeechTtsResult {
|
|
91
|
+
audio: LocalSpeechWorkerBytes;
|
|
92
|
+
format: string;
|
|
93
|
+
}
|
|
94
|
+
export type LocalSpeechTranscriptionResult = TranscriptionResult;
|
|
95
|
+
//# sourceMappingURL=worker-protocol.d.ts.map
|
|
@@ -719,6 +719,8 @@ export class VoiceAssistantWebSocketServer {
|
|
|
719
719
|
"terminal-restore-modes": true,
|
|
720
720
|
// COMPAT(rewind): added in v0.1.X, drop the gate when floor >= v0.1.X.
|
|
721
721
|
rewind: true,
|
|
722
|
+
// COMPAT(checkoutRefresh): added in v0.1.86, remove gate after 2026-11-29.
|
|
723
|
+
checkoutRefresh: true,
|
|
722
724
|
},
|
|
723
725
|
};
|
|
724
726
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { FirstAgentContext } from "@getpaseo/protocol/messages";
|
|
2
2
|
import type { AgentManager } from "./agent/agent-manager.js";
|
|
3
3
|
import { generateStructuredAgentResponseWithFallback } from "./agent/agent-response-loop.js";
|
|
4
|
+
import { type StructuredGenerationDaemonConfig } from "./agent/structured-generation-providers.js";
|
|
4
5
|
import type { WorkspaceGitService } from "./workspace-git-service.js";
|
|
6
|
+
import type { ProviderSnapshotManager } from "./agent/provider-snapshot-manager.js";
|
|
5
7
|
interface BranchNameGeneratorLogger {
|
|
6
8
|
info: (obj: object, msg?: string) => void;
|
|
7
9
|
warn: (obj: object, msg?: string) => void;
|
|
@@ -11,6 +13,13 @@ export interface GenerateBranchNameFromFirstAgentContextOptions {
|
|
|
11
13
|
agentManager: AgentManager;
|
|
12
14
|
cwd: string;
|
|
13
15
|
workspaceGitService?: Pick<WorkspaceGitService, "resolveRepoRoot">;
|
|
16
|
+
providerSnapshotManager?: Pick<ProviderSnapshotManager, "listProviders">;
|
|
17
|
+
daemonConfig?: StructuredGenerationDaemonConfig | null;
|
|
18
|
+
currentSelection?: {
|
|
19
|
+
provider?: string | null;
|
|
20
|
+
model?: string | null;
|
|
21
|
+
thinkingOptionId?: string | null;
|
|
22
|
+
};
|
|
14
23
|
firstAgentContext: FirstAgentContext | undefined;
|
|
15
24
|
logger: BranchNameGeneratorLogger;
|
|
16
25
|
deps?: {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
2
|
+
import { StructuredAgentFallbackError, StructuredAgentResponseError, generateStructuredAgentResponseWithFallback, } from "./agent/agent-response-loop.js";
|
|
3
|
+
import { resolveStructuredGenerationProviders, } from "./agent/structured-generation-providers.js";
|
|
3
4
|
import { buildAgentBranchNameSeed } from "./agent/prompt-attachments.js";
|
|
4
5
|
import { buildMetadataPrompt } from "../utils/build-metadata-prompt.js";
|
|
5
6
|
const BranchNameSchema = z.object({
|
|
@@ -27,6 +28,14 @@ export async function generateBranchNameFromFirstAgentContext(options) {
|
|
|
27
28
|
const generator = options.deps?.generateStructuredAgentResponseWithFallback ??
|
|
28
29
|
generateStructuredAgentResponseWithFallback;
|
|
29
30
|
try {
|
|
31
|
+
const providers = options.providerSnapshotManager
|
|
32
|
+
? await resolveStructuredGenerationProviders({
|
|
33
|
+
cwd: options.cwd,
|
|
34
|
+
providerSnapshotManager: options.providerSnapshotManager,
|
|
35
|
+
daemonConfig: options.daemonConfig,
|
|
36
|
+
currentSelection: options.currentSelection,
|
|
37
|
+
})
|
|
38
|
+
: [];
|
|
30
39
|
const result = await generator({
|
|
31
40
|
manager: options.agentManager,
|
|
32
41
|
cwd: options.cwd,
|
|
@@ -37,7 +46,7 @@ export async function generateBranchNameFromFirstAgentContext(options) {
|
|
|
37
46
|
schema: BranchNameSchema,
|
|
38
47
|
schemaName: "BranchName",
|
|
39
48
|
maxRetries: 2,
|
|
40
|
-
providers
|
|
49
|
+
providers,
|
|
41
50
|
persistSession: false,
|
|
42
51
|
logger: options.logger,
|
|
43
52
|
agentConfigOverrides: {
|
|
@@ -112,6 +112,18 @@ const FeatureVoiceModeSchema = z
|
|
|
112
112
|
.optional(),
|
|
113
113
|
})
|
|
114
114
|
.strict();
|
|
115
|
+
const StructuredGenerationProviderConfigSchema = z
|
|
116
|
+
.object({
|
|
117
|
+
provider: z.string().min(1),
|
|
118
|
+
model: z.string().min(1).optional(),
|
|
119
|
+
thinkingOptionId: z.string().min(1).optional(),
|
|
120
|
+
})
|
|
121
|
+
.strict();
|
|
122
|
+
const AgentMetadataGenerationSchema = z
|
|
123
|
+
.object({
|
|
124
|
+
providers: z.array(StructuredGenerationProviderConfigSchema).optional(),
|
|
125
|
+
})
|
|
126
|
+
.strict();
|
|
115
127
|
const BUILTIN_PROVIDER_IDS = ["claude", "codex", "copilot", "opencode", "pi"];
|
|
116
128
|
function isLegacyProviderEntry(value) {
|
|
117
129
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
@@ -203,6 +215,7 @@ export const PersistedConfigSchema = z
|
|
|
203
215
|
agents: z
|
|
204
216
|
.object({
|
|
205
217
|
providers: z.preprocess(normalizeAgentProviders, ProviderOverridesSchema).optional(),
|
|
218
|
+
metadataGeneration: AgentMetadataGenerationSchema.optional(),
|
|
206
219
|
})
|
|
207
220
|
.strict()
|
|
208
221
|
.optional(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getpaseo/server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.87",
|
|
4
4
|
"description": "Paseo backend server",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/server",
|
|
@@ -57,10 +57,10 @@
|
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"@agentclientprotocol/sdk": "^0.17.1",
|
|
59
59
|
"@anthropic-ai/claude-agent-sdk": "^0.2.133",
|
|
60
|
-
"@getpaseo/client": "0.1.
|
|
61
|
-
"@getpaseo/highlight": "0.1.
|
|
62
|
-
"@getpaseo/protocol": "0.1.
|
|
63
|
-
"@getpaseo/relay": "0.1.
|
|
60
|
+
"@getpaseo/client": "0.1.87",
|
|
61
|
+
"@getpaseo/highlight": "0.1.87",
|
|
62
|
+
"@getpaseo/protocol": "0.1.87",
|
|
63
|
+
"@getpaseo/relay": "0.1.87",
|
|
64
64
|
"@isaacs/ttlcache": "^2.1.4",
|
|
65
65
|
"@modelcontextprotocol/sdk": "^1.20.1",
|
|
66
66
|
"@opencode-ai/sdk": "1.14.46",
|