@getpaseo/server 0.1.99 → 0.1.101

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.
Files changed (83) hide show
  1. package/dist/server/executable-resolution/windows.js +3 -0
  2. package/dist/server/server/agent/agent-manager.d.ts +10 -0
  3. package/dist/server/server/agent/agent-manager.js +65 -27
  4. package/dist/server/server/agent/agent-sdk-types.d.ts +8 -0
  5. package/dist/server/server/agent/mcp-server.d.ts +2 -45
  6. package/dist/server/server/agent/mcp-server.js +45 -1985
  7. package/dist/server/server/agent/prompt-attachments.js +6 -2
  8. package/dist/server/server/agent/provider-registry.js +1 -0
  9. package/dist/server/server/agent/provider-snapshot-manager.d.ts +4 -0
  10. package/dist/server/server/agent/provider-snapshot-manager.js +58 -13
  11. package/dist/server/server/agent/providers/acp-agent.d.ts +39 -2
  12. package/dist/server/server/agent/providers/acp-agent.js +281 -20
  13. package/dist/server/server/agent/providers/claude/agent.js +96 -62
  14. package/dist/server/server/agent/providers/codex-app-server-agent.js +6 -57
  15. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts +2 -1
  16. package/dist/server/server/agent/providers/copilot-acp-agent.js +10 -0
  17. package/dist/server/server/agent/providers/diagnostic-utils.d.ts +1 -0
  18. package/dist/server/server/agent/providers/diagnostic-utils.js +1 -1
  19. package/dist/server/server/agent/providers/generic-acp-agent.d.ts +3 -0
  20. package/dist/server/server/agent/providers/generic-acp-agent.js +41 -23
  21. package/dist/server/server/agent/providers/mock-load-test-agent.js +4 -2
  22. package/dist/server/server/agent/providers/opencode/server-manager.d.ts +14 -11
  23. package/dist/server/server/agent/providers/opencode/server-manager.js +149 -91
  24. package/dist/server/server/agent/providers/opencode/test-server-manager.d.ts +6 -5
  25. package/dist/server/server/agent/providers/opencode/test-server-manager.js +13 -3
  26. package/dist/server/server/agent/providers/opencode/test-utils/{test-opencode-runtime.d.ts → test-opencode-harness.d.ts} +11 -11
  27. package/dist/server/server/agent/providers/opencode/test-utils/{test-opencode-runtime.js → test-opencode-harness.js} +23 -10
  28. package/dist/server/server/agent/providers/opencode-agent.d.ts +9 -3
  29. package/dist/server/server/agent/providers/opencode-agent.js +26 -38
  30. package/dist/server/server/agent/providers/pi/agent.d.ts +4 -2
  31. package/dist/server/server/agent/providers/pi/agent.js +8 -3
  32. package/dist/server/server/agent/providers/pi/cli-runtime.d.ts +3 -0
  33. package/dist/server/server/agent/providers/pi/cli-runtime.js +6 -3
  34. package/dist/server/server/agent/providers/pi/rpc-types.d.ts +2 -1
  35. package/dist/server/server/agent/providers/provider-image-output.d.ts +5 -0
  36. package/dist/server/server/agent/providers/provider-image-output.js +55 -0
  37. package/dist/server/server/agent/tools/paseo-tools.d.ts +48 -0
  38. package/dist/server/server/agent/tools/paseo-tools.js +2121 -0
  39. package/dist/server/server/agent/tools/types.d.ts +36 -0
  40. package/dist/server/server/agent/tools/types.js +2 -0
  41. package/dist/server/server/bootstrap.js +71 -62
  42. package/dist/server/server/persisted-config.d.ts +5 -0
  43. package/dist/server/server/persisted-config.js +10 -2
  44. package/dist/server/server/session/agent-updates/agent-updates-service.d.ts +59 -0
  45. package/dist/server/server/session/agent-updates/agent-updates-service.js +220 -0
  46. package/dist/server/server/session/checkout/checkout-session.d.ts +13 -15
  47. package/dist/server/server/session/checkout/checkout-session.js +18 -16
  48. package/dist/server/server/session/checkout/git-metadata-generator.d.ts +53 -0
  49. package/dist/server/server/session/checkout/git-metadata-generator.js +159 -0
  50. package/dist/server/server/session/daemon/daemon-session.d.ts +14 -0
  51. package/dist/server/server/session/daemon/daemon-session.js +38 -0
  52. package/dist/server/server/session/daemon/diagnostics.d.ts +41 -0
  53. package/dist/server/server/session/daemon/diagnostics.js +421 -0
  54. package/dist/server/server/session/git-mutation/git-mutation-service.d.ts +34 -0
  55. package/dist/server/server/session/git-mutation/git-mutation-service.js +71 -0
  56. package/dist/server/server/session/workspace-git-observer/workspace-git-observer-service.d.ts +36 -0
  57. package/dist/server/server/session/workspace-git-observer/workspace-git-observer-service.js +134 -0
  58. package/dist/server/server/session/workspace-provisioning/workspace-provisioning-service.d.ts +34 -0
  59. package/dist/server/server/session/workspace-provisioning/workspace-provisioning-service.js +190 -0
  60. package/dist/server/server/session/workspace-scripts/workspace-scripts-service.d.ts +41 -0
  61. package/dist/server/server/session/workspace-scripts/workspace-scripts-service.js +100 -0
  62. package/dist/server/server/session.d.ts +7 -51
  63. package/dist/server/server/session.js +113 -938
  64. package/dist/server/server/speech/providers/openai/config.d.ts +1 -2
  65. package/dist/server/server/speech/providers/openai/config.js +13 -9
  66. package/dist/server/server/speech/providers/openai/runtime.js +2 -16
  67. package/dist/server/server/speech/providers/openai/stt.d.ts +1 -0
  68. package/dist/server/server/speech/providers/openai/stt.js +4 -2
  69. package/dist/server/server/speech/providers/openai/tts.d.ts +1 -0
  70. package/dist/server/server/speech/providers/openai/tts.js +1 -0
  71. package/dist/server/server/websocket/runtime-metrics.d.ts +20 -0
  72. package/dist/server/server/websocket-server.d.ts +1 -2
  73. package/dist/server/server/websocket-server.js +26 -21
  74. package/dist/server/server/worktree-bootstrap.d.ts +1 -1
  75. package/dist/server/server/worktree-branch-name-generator.js +3 -1
  76. package/dist/server/utils/checkout-git.js +51 -26
  77. package/dist/src/executable-resolution/windows.js +3 -0
  78. package/dist/src/server/persisted-config.js +10 -2
  79. package/package.json +5 -5
  80. package/dist/server/server/agent/providers/opencode/runtime.d.ts +0 -28
  81. package/dist/server/server/agent/providers/opencode/runtime.js +0 -5
  82. package/dist/server/server/speech/providers/openai/realtime-transcription-session.d.ts +0 -42
  83. package/dist/server/server/speech/providers/openai/realtime-transcription-session.js +0 -168
@@ -1,168 +0,0 @@
1
- import { WebSocket } from "ws";
2
- import { EventEmitter } from "node:events";
3
- export class OpenAIRealtimeTranscriptionSession extends EventEmitter {
4
- constructor(params) {
5
- super();
6
- this.requiredSampleRate = 24000;
7
- this.ws = null;
8
- this.ready = null;
9
- this.closing = false;
10
- this.partialByItemId = new Map();
11
- this.apiKey = params.apiKey;
12
- this.logger = params.logger.child({ provider: "openai", component: "realtime-transcription" });
13
- this.transcriptionModel = params.transcriptionModel;
14
- this.language = params.language;
15
- this.prompt = params.prompt;
16
- this.turnDetection = params.turnDetection ?? null;
17
- }
18
- async connect() {
19
- if (this.ready) {
20
- return this.ready;
21
- }
22
- this.closing = false;
23
- this.ready = new Promise((resolve, reject) => {
24
- const url = process.env.OPENAI_REALTIME_URL ?? "wss://api.openai.com/v1/realtime?intent=transcription";
25
- const ws = new WebSocket(url, {
26
- headers: {
27
- Authorization: `Bearer ${this.apiKey}`,
28
- },
29
- });
30
- this.ws = ws;
31
- let resolved = false;
32
- const fail = (error) => {
33
- if (resolved) {
34
- this.emit("error", error);
35
- return;
36
- }
37
- resolved = true;
38
- reject(error);
39
- };
40
- ws.on("open", () => {
41
- this.logger.debug("OpenAI realtime transcription websocket connected");
42
- const update = {
43
- type: "session.update",
44
- session: {
45
- type: "transcription",
46
- audio: {
47
- input: {
48
- format: { type: "audio/pcm", rate: 24000 },
49
- transcription: {
50
- model: this.transcriptionModel,
51
- ...(this.language ? { language: this.language } : {}),
52
- ...(this.prompt ? { prompt: this.prompt } : {}),
53
- },
54
- turn_detection: this.turnDetection,
55
- },
56
- },
57
- },
58
- };
59
- ws.send(JSON.stringify(update));
60
- });
61
- ws.on("message", (data) => {
62
- const text = typeof data === "string" ? data : data.toString("utf-8");
63
- let parsed;
64
- try {
65
- parsed = JSON.parse(text);
66
- }
67
- catch {
68
- return;
69
- }
70
- const event = parsed;
71
- if (event.type === "session.created" || event.type === "session.updated") {
72
- if (!resolved) {
73
- resolved = true;
74
- resolve();
75
- }
76
- return;
77
- }
78
- if (event.type === "input_audio_buffer.committed") {
79
- this.emit("committed", {
80
- segmentId: event.item_id,
81
- previousSegmentId: event.previous_item_id,
82
- });
83
- return;
84
- }
85
- if (event.type === "input_audio_buffer.speech_started") {
86
- this.emit("speech_started");
87
- return;
88
- }
89
- if (event.type === "input_audio_buffer.speech_stopped") {
90
- this.emit("speech_stopped");
91
- return;
92
- }
93
- if (event.type === "conversation.item.input_audio_transcription.delta") {
94
- const replaceDelta = this.transcriptionModel === "whisper-1";
95
- const prev = this.partialByItemId.get(event.item_id) ?? "";
96
- const next = replaceDelta ? event.delta : prev + event.delta;
97
- this.partialByItemId.set(event.item_id, next);
98
- this.emit("transcript", { segmentId: event.item_id, transcript: next, isFinal: false });
99
- return;
100
- }
101
- if (event.type === "conversation.item.input_audio_transcription.completed") {
102
- this.partialByItemId.set(event.item_id, event.transcript);
103
- this.emit("transcript", {
104
- segmentId: event.item_id,
105
- transcript: event.transcript,
106
- isFinal: true,
107
- });
108
- return;
109
- }
110
- if (event.type === "error") {
111
- const message = event.error?.message ?? "OpenAI realtime error";
112
- fail(new Error(message));
113
- }
114
- });
115
- ws.on("error", (err) => {
116
- fail(err instanceof Error ? err : new Error(String(err)));
117
- });
118
- ws.on("close", () => {
119
- this.logger.debug("OpenAI realtime websocket closed");
120
- if (this.closing) {
121
- return;
122
- }
123
- if (!resolved) {
124
- fail(new Error("OpenAI realtime websocket closed before ready"));
125
- return;
126
- }
127
- fail(new Error("OpenAI realtime websocket closed"));
128
- });
129
- });
130
- return this.ready;
131
- }
132
- appendPcm16(pcm16le) {
133
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
134
- throw new Error("OpenAI realtime websocket not connected");
135
- }
136
- const base64Audio = pcm16le.toString("base64");
137
- const event = { type: "input_audio_buffer.append", audio: base64Audio };
138
- this.ws.send(JSON.stringify(event));
139
- }
140
- commit() {
141
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
142
- throw new Error("OpenAI realtime websocket not connected");
143
- }
144
- const event = { type: "input_audio_buffer.commit" };
145
- this.ws.send(JSON.stringify(event));
146
- }
147
- clear() {
148
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
149
- return;
150
- }
151
- const event = { type: "input_audio_buffer.clear" };
152
- this.ws.send(JSON.stringify(event));
153
- }
154
- close() {
155
- try {
156
- this.closing = true;
157
- this.ws?.close();
158
- }
159
- catch {
160
- // no-op
161
- }
162
- finally {
163
- this.ws = null;
164
- this.ready = null;
165
- }
166
- }
167
- }
168
- //# sourceMappingURL=realtime-transcription-session.js.map