omnara 0.1.2 → 0.1.4
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/bin/omnara.js +8 -3
- package/dist/auth/auth-provider.d.ts +2 -2
- package/dist/auth/auth-provider.js +14 -16
- package/dist/auth/auth-provider.js.map +1 -1
- package/dist/auth/cli-auth-service.d.ts +12 -3
- package/dist/auth/cli-auth-service.js +23 -9
- package/dist/auth/cli-auth-service.js.map +1 -1
- package/dist/auth/credential-manager.d.ts +1 -1
- package/dist/auth/credential-manager.js +7 -9
- package/dist/auth/credential-manager.js.map +1 -1
- package/dist/auth/credentials-store.js +14 -20
- package/dist/auth/credentials-store.js.map +1 -1
- package/dist/auth/login-flow.d.ts +2 -2
- package/dist/auth/login-flow.js +128 -39
- package/dist/auth/login-flow.js.map +1 -1
- package/dist/auth/loopback-listener.d.ts +20 -0
- package/dist/auth/loopback-listener.js +155 -0
- package/dist/auth/loopback-listener.js.map +1 -0
- package/dist/auth/pkce.d.ts +6 -0
- package/dist/auth/pkce.js +15 -0
- package/dist/auth/pkce.js.map +1 -0
- package/dist/auth/supabase-client.d.ts +1 -1
- package/dist/auth/supabase-client.js +3 -6
- package/dist/auth/supabase-client.js.map +1 -1
- package/dist/auth/supabase-config.js +3 -6
- package/dist/auth/supabase-config.js.map +1 -1
- package/dist/cli.js +26 -25
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent.js +36 -38
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/auth.js +13 -16
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/index.d.ts +2 -2
- package/dist/commands/index.js +2 -8
- package/dist/commands/index.js.map +1 -1
- package/dist/http/api-client.js +7 -11
- package/dist/http/api-client.js.map +1 -1
- package/dist/http/user-sessions.d.ts +13 -0
- package/dist/http/user-sessions.js +9 -0
- package/dist/http/user-sessions.js.map +1 -0
- package/dist/orchestrator/agent-orchestrator.d.ts +11 -6
- package/dist/orchestrator/agent-orchestrator.js +226 -57
- package/dist/orchestrator/agent-orchestrator.js.map +1 -1
- package/dist/orchestrator/ai-client.d.ts +5 -4
- package/dist/orchestrator/ai-client.js +17 -14
- package/dist/orchestrator/ai-client.js.map +1 -1
- package/dist/orchestrator/orchestrator-prompt.d.ts +2 -7
- package/dist/orchestrator/orchestrator-prompt.js +7 -154
- package/dist/orchestrator/orchestrator-prompt.js.map +1 -1
- package/dist/orchestrator/orchestrator-prompt.md +405 -0
- package/dist/orchestrator/session.d.ts +7 -3
- package/dist/orchestrator/session.js +56 -34
- package/dist/orchestrator/session.js.map +1 -1
- package/dist/orchestrator/tools/worker-status-tool.d.ts +7 -0
- package/dist/orchestrator/tools/worker-status-tool.js +41 -0
- package/dist/orchestrator/tools/worker-status-tool.js.map +1 -0
- package/dist/orchestrator/tools/worker-tools.d.ts +1 -1
- package/dist/orchestrator/tools/worker-tools.js +73 -89
- package/dist/orchestrator/tools/worker-tools.js.map +1 -1
- package/dist/orchestrator/types.d.ts +19 -29
- package/dist/orchestrator/types.js +22 -25
- package/dist/orchestrator/types.js.map +1 -1
- package/dist/orchestrator/utils/async-queue.d.ts +26 -0
- package/dist/orchestrator/utils/async-queue.js +70 -0
- package/dist/orchestrator/utils/async-queue.js.map +1 -0
- package/dist/orchestrator/utils/session-logger.d.ts +1 -1
- package/dist/orchestrator/utils/session-logger.js +8 -14
- package/dist/orchestrator/utils/session-logger.js.map +1 -1
- package/dist/orchestrator/worker-manager.d.ts +31 -15
- package/dist/orchestrator/worker-manager.js +186 -18
- package/dist/orchestrator/worker-manager.js.map +1 -1
- package/dist/relay/relay-bridge.d.ts +24 -3
- package/dist/relay/relay-bridge.js +382 -90
- package/dist/relay/relay-bridge.js.map +1 -1
- package/dist/relay/relay-service.d.ts +4 -7
- package/dist/relay/relay-service.js +5 -11
- package/dist/relay/relay-service.js.map +1 -1
- package/dist/repl/terminal-repl.js +34 -30
- package/dist/repl/terminal-repl.js.map +1 -1
- package/dist/schemas/generated.d.ts +244 -0
- package/dist/schemas/generated.js +5 -0
- package/dist/schemas/generated.js.map +1 -0
- package/dist/schemas/index.d.ts +2 -0
- package/dist/schemas/index.js +2 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/scripts/generate-schema-types.js +53 -0
- package/dist/scripts/generate-schema-types.js.map +1 -0
- package/dist/scripts/sync-schemas.d.ts +1 -0
- package/dist/scripts/sync-schemas.js +28 -0
- package/dist/scripts/sync-schemas.js.map +1 -0
- package/dist/utils/prompt.js +4 -10
- package/dist/utils/prompt.js.map +1 -1
- package/dist/voice/voice-service.d.ts +1 -1
- package/dist/voice/voice-service.js +2 -4
- package/dist/voice/voice-service.js.map +1 -1
- package/package.json +6 -2
- package/dist/commands/hello.d.ts +0 -2
- package/dist/commands/hello.js +0 -12
- package/dist/commands/hello.js.map +0 -1
- package/dist/generated/relay.d.ts +0 -240
- package/dist/generated/relay.js +0 -2376
- package/dist/generated/relay.js.map +0 -1
- package/dist/messaging/proto-codec.d.ts +0 -5
- package/dist/messaging/proto-codec.js +0 -387
- package/dist/messaging/proto-codec.js.map +0 -1
- package/dist/server/agent-server.d.ts +0 -46
- package/dist/server/agent-server.js +0 -429
- package/dist/server/agent-server.js.map +0 -1
- package/dist/server/ai-client.d.ts +0 -16
- package/dist/server/ai-client.js +0 -74
- package/dist/server/ai-client.js.map +0 -1
- package/dist/server/session.d.ts +0 -35
- package/dist/server/session.js +0 -272
- package/dist/server/session.js.map +0 -1
- package/dist/server/subagents.d.ts +0 -19
- package/dist/server/subagents.js +0 -42
- package/dist/server/subagents.js.map +0 -1
- package/dist/server/tools/worker-tools.d.ts +0 -2
- package/dist/server/tools/worker-tools.js +0 -37
- package/dist/server/tools/worker-tools.js.map +0 -1
- package/dist/server/types.d.ts +0 -120
- package/dist/server/types.js +0 -29
- package/dist/server/types.js.map +0 -1
- package/dist/server/utils/session-logger.d.ts +0 -7
- package/dist/server/utils/session-logger.js +0 -53
- package/dist/server/utils/session-logger.js.map +0 -1
- package/dist/server/worker-manager.d.ts +0 -67
- package/dist/server/worker-manager.js +0 -207
- package/dist/server/worker-manager.js.map +0 -1
- package/dist/test-agent.js +0 -63
- package/dist/test-agent.js.map +0 -1
- /package/dist/{test-agent.d.ts → scripts/generate-schema-types.d.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ApiClient } from '../http/api-client';
|
|
1
|
+
import { ApiClient } from '../http/api-client.js';
|
|
2
2
|
export type RelayClientKind = 'cli' | 'web' | 'mobile' | 'voice';
|
|
3
3
|
export interface RelayRegistration {
|
|
4
|
-
|
|
4
|
+
userSessionId: string;
|
|
5
5
|
relayToken: string;
|
|
6
6
|
relayTokenExpiresIn: number;
|
|
7
7
|
relayWsPath: string;
|
|
@@ -12,11 +12,8 @@ export interface RelayTokenRefresh {
|
|
|
12
12
|
relayTokenExpiresIn: number;
|
|
13
13
|
}
|
|
14
14
|
export interface RegisterRelayOptions {
|
|
15
|
-
|
|
16
|
-
parentSessionId?: string;
|
|
17
|
-
name?: string;
|
|
18
|
-
metadata?: Record<string, unknown>;
|
|
15
|
+
userSessionId: string;
|
|
19
16
|
clientKind?: RelayClientKind;
|
|
20
17
|
}
|
|
21
|
-
export declare function registerRelaySession(client: ApiClient, accessToken: string, options
|
|
18
|
+
export declare function registerRelaySession(client: ApiClient, accessToken: string, options: RegisterRelayOptions): Promise<RelayRegistration>;
|
|
22
19
|
export declare function refreshRelayToken(client: ApiClient, accessToken: string, relayToken: string): Promise<RelayTokenRefresh>;
|
|
@@ -1,25 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.registerRelaySession = registerRelaySession;
|
|
4
|
-
exports.refreshRelayToken = refreshRelayToken;
|
|
5
|
-
async function registerRelaySession(client, accessToken, options = {}) {
|
|
1
|
+
import { ApiClient } from '../http/api-client.js';
|
|
2
|
+
export async function registerRelaySession(client, accessToken, options) {
|
|
6
3
|
const body = {
|
|
7
|
-
|
|
8
|
-
parent_session_id: options.parentSessionId ?? null,
|
|
9
|
-
name: options.name ?? null,
|
|
10
|
-
metadata: options.metadata ?? null,
|
|
4
|
+
user_session_id: options.userSessionId,
|
|
11
5
|
client_kind: options.clientKind ?? 'cli',
|
|
12
6
|
};
|
|
13
7
|
const response = await client.postJson('/api/v1/relay/register', body, { accessToken });
|
|
14
8
|
return {
|
|
15
|
-
|
|
9
|
+
userSessionId: response.user_session_id,
|
|
16
10
|
relayToken: response.relay_token,
|
|
17
11
|
relayTokenExpiresIn: response.relay_token_expires_in,
|
|
18
12
|
relayWsPath: response.relay_ws_path,
|
|
19
13
|
relayHeartbeatIntervalSec: response.relay_heartbeat_interval_sec,
|
|
20
14
|
};
|
|
21
15
|
}
|
|
22
|
-
async function refreshRelayToken(client, accessToken, relayToken) {
|
|
16
|
+
export async function refreshRelayToken(client, accessToken, relayToken) {
|
|
23
17
|
const response = await client.postJson('/api/v1/relay/refresh', { relay_token: relayToken }, { accessToken });
|
|
24
18
|
return {
|
|
25
19
|
relayToken: response.relay_token,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay-service.js","sourceRoot":"","sources":["../../src/relay/relay-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relay-service.js","sourceRoot":"","sources":["../../src/relay/relay-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AA4ClD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAiB,EACjB,WAAmB,EACnB,OAA6B;IAE7B,MAAM,IAAI,GAA6B;QACrC,eAAe,EAAE,OAAO,CAAC,aAAa;QACtC,WAAW,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;KACzC,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CACpC,wBAAwB,EACxB,IAAI,EACJ,EAAE,WAAW,EAAE,CAChB,CAAC;IAEF,OAAO;QACL,aAAa,EAAE,QAAQ,CAAC,eAAe;QACvC,UAAU,EAAE,QAAQ,CAAC,WAAW;QAChC,mBAAmB,EAAE,QAAQ,CAAC,sBAAsB;QACpD,WAAW,EAAE,QAAQ,CAAC,aAAa;QACnC,yBAAyB,EAAE,QAAQ,CAAC,4BAA4B;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAiB,EACjB,WAAmB,EACnB,UAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CACpC,uBAAuB,EACvB,EAAE,WAAW,EAAE,UAAU,EAAE,EAC3B,EAAE,WAAW,EAAE,CAChB,CAAC;IAEF,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,WAAW;QAChC,mBAAmB,EAAE,QAAQ,CAAC,sBAAsB;KACrD,CAAC;AACJ,CAAC"}
|
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.runTerminalRepl = runTerminalRepl;
|
|
7
|
-
const readline_1 = __importDefault(require("readline"));
|
|
8
|
-
const events_1 = require("events");
|
|
9
|
-
const ws_1 = __importDefault(require("ws"));
|
|
1
|
+
import readline from 'readline';
|
|
2
|
+
import { once } from 'events';
|
|
3
|
+
import WebSocket from 'ws';
|
|
10
4
|
const DEFAULT_URL = 'ws://localhost:3001/ws';
|
|
11
|
-
async function runTerminalRepl(options) {
|
|
5
|
+
export async function runTerminalRepl(options) {
|
|
12
6
|
const url = options?.url ?? DEFAULT_URL;
|
|
13
7
|
const wsOptions = options?.headers ? { headers: options.headers } : undefined;
|
|
14
|
-
const ws = wsOptions ? new
|
|
8
|
+
const ws = wsOptions ? new WebSocket(url, wsOptions) : new WebSocket(url);
|
|
15
9
|
await Promise.race([
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
once(ws, 'open').then(() => undefined),
|
|
11
|
+
once(ws, 'error').then(([error]) => {
|
|
18
12
|
throw error;
|
|
19
13
|
}),
|
|
20
14
|
]);
|
|
@@ -36,7 +30,7 @@ async function runTerminalRepl(options) {
|
|
|
36
30
|
let awaitingResponse = false;
|
|
37
31
|
let lastPrompt = promptForSession(currentSessionId);
|
|
38
32
|
let shuttingDown = false;
|
|
39
|
-
const rl =
|
|
33
|
+
const rl = readline.createInterface({
|
|
40
34
|
input: process.stdin,
|
|
41
35
|
output: process.stdout,
|
|
42
36
|
prompt: lastPrompt,
|
|
@@ -109,7 +103,7 @@ async function runTerminalRepl(options) {
|
|
|
109
103
|
cleanup();
|
|
110
104
|
});
|
|
111
105
|
rl.on('close', () => {
|
|
112
|
-
if (ws.readyState ===
|
|
106
|
+
if (ws.readyState === WebSocket.OPEN || ws.readyState === WebSocket.CONNECTING) {
|
|
113
107
|
ws.close(1000, 'Client closing');
|
|
114
108
|
}
|
|
115
109
|
});
|
|
@@ -127,7 +121,7 @@ async function runTerminalRepl(options) {
|
|
|
127
121
|
return;
|
|
128
122
|
}
|
|
129
123
|
shuttingDown = true;
|
|
130
|
-
if (ws.readyState ===
|
|
124
|
+
if (ws.readyState === WebSocket.OPEN || ws.readyState === WebSocket.CONNECTING) {
|
|
131
125
|
ws.close(1000, 'Client closing');
|
|
132
126
|
}
|
|
133
127
|
rl.close();
|
|
@@ -138,7 +132,7 @@ function promptForSession(sessionId, awaitingResponse = false) {
|
|
|
138
132
|
return `${awaitingResponse ? '*' : ''}${base}> `;
|
|
139
133
|
}
|
|
140
134
|
function sendMessage(ws, payload) {
|
|
141
|
-
if (ws.readyState !==
|
|
135
|
+
if (ws.readyState !== WebSocket.OPEN) {
|
|
142
136
|
console.warn('Cannot send message: socket is not open.');
|
|
143
137
|
return;
|
|
144
138
|
}
|
|
@@ -175,8 +169,8 @@ function handleOutboundMessage(message, onPrompt, onSessionChange, onTurnComplet
|
|
|
175
169
|
case 'session_init':
|
|
176
170
|
console.log(`\n${formatSessionPrefix(message.sessionId)} [server] Session init (parent: ${message.parentSessionId ?? 'none'})`);
|
|
177
171
|
break;
|
|
178
|
-
case '
|
|
179
|
-
console.log(`\n${formatSessionPrefix(message.sessionId)} [server] Session
|
|
172
|
+
case 'session_init_ack':
|
|
173
|
+
console.log(`\n${formatSessionPrefix(message.sessionId)} [server] Session init acknowledged (parent: ${message.parentSessionId ?? 'none'})`);
|
|
180
174
|
break;
|
|
181
175
|
case 'user_text':
|
|
182
176
|
if (message.origin === 'worker') {
|
|
@@ -189,26 +183,36 @@ function handleOutboundMessage(message, onPrompt, onSessionChange, onTurnComplet
|
|
|
189
183
|
case 'assistant_text':
|
|
190
184
|
process.stdout.write(`\n${formatSessionPrefix(message.sessionId)} claude> ${message.text}`);
|
|
191
185
|
break;
|
|
192
|
-
case '
|
|
186
|
+
case 'agent_complete': {
|
|
187
|
+
const status = message.success ? 'Success' : 'Failure';
|
|
188
|
+
const duration = message.durationMs != null ? ` (${message.durationMs}ms)` : '';
|
|
189
|
+
const cost = message.costUsd != null ? ` cost: $${message.costUsd.toFixed(4)}` : '';
|
|
190
|
+
const summary = message.message ? ` - ${message.message}` : '';
|
|
191
|
+
const metadata = message.metadata ?? {};
|
|
192
|
+
const agentId = typeof metadata.agent_session_id === 'string' ? metadata.agent_session_id : undefined;
|
|
193
|
+
const taskLabel = typeof metadata.task === 'string' ? ` (${metadata.task})` : '';
|
|
194
|
+
const agentLabel = agentId ? ` [agent:${agentId}]` : '';
|
|
195
|
+
console.log(`\n${formatSessionPrefix(message.sessionId)} [complete${agentLabel}${taskLabel}] ${status}${duration}${cost}${summary}`);
|
|
193
196
|
onTurnComplete();
|
|
194
|
-
process.stdout.write('\n');
|
|
195
197
|
break;
|
|
198
|
+
}
|
|
196
199
|
case 'tool_call':
|
|
197
200
|
console.log(`\n${formatSessionPrefix(message.sessionId)} [tool] Using ${message.toolName} (${message.toolUseId}):`, safeStringify(message.input));
|
|
198
201
|
break;
|
|
199
202
|
case 'tool_result':
|
|
200
203
|
console.log(`\n${formatSessionPrefix(message.sessionId)} [tool] Result for ${message.toolUseId}${message.isError ? ' (error)' : ''}:`, safeStringify(message.content));
|
|
201
204
|
break;
|
|
202
|
-
case '
|
|
203
|
-
console.log(`\n${formatSessionPrefix(message.sessionId)} [result] ${message.success ? 'Success' : 'Failure'}${message.durationMs != null ? ` (${message.durationMs}ms)` : ''}${message.costUsd != null ? ` cost: $${message.costUsd.toFixed(4)}` : ''}${message.message ? ` - ${message.message}` : ''}`);
|
|
204
|
-
onTurnComplete();
|
|
205
|
-
break;
|
|
206
|
-
case 'worker_update':
|
|
205
|
+
case 'agent_progress':
|
|
207
206
|
{
|
|
208
|
-
const status = (message.
|
|
209
|
-
const
|
|
210
|
-
const
|
|
211
|
-
|
|
207
|
+
const status = (message.status ?? 'update').toUpperCase();
|
|
208
|
+
const detail = message.detail ? ` - ${message.detail}` : '';
|
|
209
|
+
const metadata = message.metadata ?? {};
|
|
210
|
+
const agentId = typeof metadata.agent_session_id === 'string' ? metadata.agent_session_id : undefined;
|
|
211
|
+
const relatedSessionId = message.sessionId ||
|
|
212
|
+
(typeof metadata.origin_session_id === 'string' ? metadata.origin_session_id : undefined) ||
|
|
213
|
+
agentId;
|
|
214
|
+
const agentLabel = agentId ? ` [agent:${agentId}]` : '';
|
|
215
|
+
console.log(`\n${formatSessionPrefix(relatedSessionId)}${agentLabel} ${status}${detail}`);
|
|
212
216
|
}
|
|
213
217
|
break;
|
|
214
218
|
case 'system':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-repl.js","sourceRoot":"","sources":["../../src/repl/terminal-repl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"terminal-repl.js","sourceRoot":"","sources":["../../src/repl/terminal-repl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
export declare namespace ControlMessageSchema {
|
|
2
|
+
type ControlMessage = SessionInit | SessionBootstrap | SessionAnnounce | SessionInitAck | SessionClosed | Heartbeat;
|
|
3
|
+
type Type = 'session_init';
|
|
4
|
+
type SessionId = string;
|
|
5
|
+
type UserSessionId = string;
|
|
6
|
+
type AgentSessionType = 'CODE' | 'VOICE';
|
|
7
|
+
type ParentSessionId = string | null;
|
|
8
|
+
type Metadata = {
|
|
9
|
+
[k: string]: unknown;
|
|
10
|
+
} | null;
|
|
11
|
+
type Type1 = 'session_bootstrap';
|
|
12
|
+
type Kind = 'user_session';
|
|
13
|
+
type SessionId1 = string;
|
|
14
|
+
type UserId = string;
|
|
15
|
+
type UserSessionStatus = 'ACTIVE' | 'COMPLETED' | 'DELETED';
|
|
16
|
+
type Name = string | null;
|
|
17
|
+
type Metadata1 = {
|
|
18
|
+
[k: string]: unknown;
|
|
19
|
+
} | null;
|
|
20
|
+
type Kind1 = 'agent_session';
|
|
21
|
+
type SessionId2 = string;
|
|
22
|
+
type UserSessionId1 = string | null;
|
|
23
|
+
type ParentSessionId1 = string | null;
|
|
24
|
+
type AgentConnectionStatus = 'CONNECTED' | 'DISCONNECTED';
|
|
25
|
+
type AgentWorkStatus = 'IDLE' | 'WORKING' | 'COMPLETED';
|
|
26
|
+
type Metadata2 = {
|
|
27
|
+
[k: string]: unknown;
|
|
28
|
+
} | null;
|
|
29
|
+
type AgentSessions = AgentSessionDescriptor[];
|
|
30
|
+
type Type2 = 'session_announce';
|
|
31
|
+
type Session = UserSessionDescriptor | AgentSessionDescriptor;
|
|
32
|
+
type Origin = 'backend' | 'client';
|
|
33
|
+
type Type3 = 'session_init_ack';
|
|
34
|
+
type SessionId3 = string;
|
|
35
|
+
type UserSessionId2 = string;
|
|
36
|
+
type ParentSessionId2 = string | null;
|
|
37
|
+
type Metadata3 = {
|
|
38
|
+
[k: string]: unknown;
|
|
39
|
+
} | null;
|
|
40
|
+
type Type4 = 'session_closed';
|
|
41
|
+
type SessionId4 = string;
|
|
42
|
+
type Metadata4 = {
|
|
43
|
+
[k: string]: unknown;
|
|
44
|
+
} | null;
|
|
45
|
+
type Type5 = 'heartbeat';
|
|
46
|
+
type Mode = 'ping' | 'pong';
|
|
47
|
+
type SentAt = string | null;
|
|
48
|
+
/**
|
|
49
|
+
* Client request to register or refresh an agent session.
|
|
50
|
+
*/
|
|
51
|
+
interface SessionInit {
|
|
52
|
+
type?: Type;
|
|
53
|
+
session_id: SessionId;
|
|
54
|
+
user_session_id: UserSessionId;
|
|
55
|
+
session_type: AgentSessionType;
|
|
56
|
+
parent_session_id?: ParentSessionId;
|
|
57
|
+
metadata?: Metadata;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Initial snapshot of the session tree for this connection.
|
|
61
|
+
*/
|
|
62
|
+
interface SessionBootstrap {
|
|
63
|
+
type?: Type1;
|
|
64
|
+
root: UserSessionDescriptor;
|
|
65
|
+
agent_sessions?: AgentSessions;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Representation of a user-owned conversation container.
|
|
69
|
+
*/
|
|
70
|
+
interface UserSessionDescriptor {
|
|
71
|
+
kind?: Kind;
|
|
72
|
+
session_id: SessionId1;
|
|
73
|
+
user_id: UserId;
|
|
74
|
+
status: UserSessionStatus;
|
|
75
|
+
name?: Name;
|
|
76
|
+
metadata?: Metadata1;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Representation of an agent-scoped session.
|
|
80
|
+
*/
|
|
81
|
+
interface AgentSessionDescriptor {
|
|
82
|
+
kind?: Kind1;
|
|
83
|
+
session_id: SessionId2;
|
|
84
|
+
user_session_id?: UserSessionId1;
|
|
85
|
+
parent_session_id?: ParentSessionId1;
|
|
86
|
+
session_type: AgentSessionType;
|
|
87
|
+
connection_status: AgentConnectionStatus;
|
|
88
|
+
work_status: AgentWorkStatus;
|
|
89
|
+
metadata?: Metadata2;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Notification that a session was created or updated.
|
|
93
|
+
*/
|
|
94
|
+
interface SessionAnnounce {
|
|
95
|
+
type?: Type2;
|
|
96
|
+
session: Session;
|
|
97
|
+
origin: Origin;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Acknowledgement that a session_init was processed.
|
|
101
|
+
*/
|
|
102
|
+
interface SessionInitAck {
|
|
103
|
+
type?: Type3;
|
|
104
|
+
session_id: SessionId3;
|
|
105
|
+
user_session_id: UserSessionId2;
|
|
106
|
+
parent_session_id?: ParentSessionId2;
|
|
107
|
+
metadata?: Metadata3;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Indicates a session has been completed or shut down.
|
|
111
|
+
*/
|
|
112
|
+
interface SessionClosed {
|
|
113
|
+
type?: Type4;
|
|
114
|
+
session_id: SessionId4;
|
|
115
|
+
status: UserSessionStatus;
|
|
116
|
+
metadata?: Metadata4;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Ping/pong heartbeat frames.
|
|
120
|
+
*/
|
|
121
|
+
interface Heartbeat {
|
|
122
|
+
type?: Type5;
|
|
123
|
+
mode?: Mode;
|
|
124
|
+
sent_at?: SentAt;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
export declare namespace MessageEnvelopeSchema {
|
|
128
|
+
type MessageId = string;
|
|
129
|
+
type SessionId = string;
|
|
130
|
+
type Kind = 'user' | 'agent_session';
|
|
131
|
+
type Id = string;
|
|
132
|
+
type Version = number;
|
|
133
|
+
type Content = TextContent | ToolCallContent | ToolResultContent | AgentProgressContent | AgentCompleteContent;
|
|
134
|
+
type Type = 'text';
|
|
135
|
+
type Text = string;
|
|
136
|
+
type Annotations = string[];
|
|
137
|
+
type Type1 = 'tool_call';
|
|
138
|
+
type Name = string;
|
|
139
|
+
type ToolUseId = string;
|
|
140
|
+
type Type2 = 'tool_result';
|
|
141
|
+
type ToolUseId1 = string;
|
|
142
|
+
type IsError = boolean;
|
|
143
|
+
type Type3 = 'agent_progress';
|
|
144
|
+
type Status = string;
|
|
145
|
+
type Detail = string | null;
|
|
146
|
+
type Metadata = {
|
|
147
|
+
[k: string]: unknown;
|
|
148
|
+
} | null;
|
|
149
|
+
type Type4 = 'agent_complete';
|
|
150
|
+
type Success = boolean;
|
|
151
|
+
type DurationMs = number | null;
|
|
152
|
+
type CostUsd = number | null;
|
|
153
|
+
type Message = string | null;
|
|
154
|
+
type Metadata1 = {
|
|
155
|
+
[k: string]: unknown;
|
|
156
|
+
} | null;
|
|
157
|
+
type Metadata2 = {
|
|
158
|
+
[k: string]: unknown;
|
|
159
|
+
} | null;
|
|
160
|
+
type Metadata3 = {
|
|
161
|
+
[k: string]: unknown;
|
|
162
|
+
} | null;
|
|
163
|
+
type CreatedAt = string;
|
|
164
|
+
/**
|
|
165
|
+
* Complete message frame exchanged over transports.
|
|
166
|
+
*/
|
|
167
|
+
interface MessageEnvelope {
|
|
168
|
+
message_id: MessageId;
|
|
169
|
+
session_id: SessionId;
|
|
170
|
+
sender: SenderRef;
|
|
171
|
+
payload: MessagePayload;
|
|
172
|
+
metadata?: Metadata3;
|
|
173
|
+
created_at: CreatedAt;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Reference to the author of a message.
|
|
177
|
+
*/
|
|
178
|
+
interface SenderRef {
|
|
179
|
+
kind: Kind;
|
|
180
|
+
id: Id;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Application-level message data stored in the database and relayed to clients.
|
|
184
|
+
*/
|
|
185
|
+
interface MessagePayload {
|
|
186
|
+
version?: Version;
|
|
187
|
+
content: Content;
|
|
188
|
+
metadata?: Metadata2;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Plain text content shared with the agent.
|
|
192
|
+
*/
|
|
193
|
+
interface TextContent {
|
|
194
|
+
type?: Type;
|
|
195
|
+
text: Text;
|
|
196
|
+
annotations?: Annotations;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Tool invocation authored by the assistant.
|
|
200
|
+
*/
|
|
201
|
+
interface ToolCallContent {
|
|
202
|
+
type?: Type1;
|
|
203
|
+
name: Name;
|
|
204
|
+
tool_use_id: ToolUseId;
|
|
205
|
+
arguments: Arguments;
|
|
206
|
+
}
|
|
207
|
+
interface Arguments {
|
|
208
|
+
[k: string]: unknown;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Result produced by a previously invoked tool.
|
|
212
|
+
*/
|
|
213
|
+
interface ToolResultContent {
|
|
214
|
+
type?: Type2;
|
|
215
|
+
tool_use_id: ToolUseId1;
|
|
216
|
+
output: Output;
|
|
217
|
+
is_error?: IsError;
|
|
218
|
+
}
|
|
219
|
+
interface Output {
|
|
220
|
+
[k: string]: unknown;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Incremental progress emitted by an agent session.
|
|
224
|
+
*/
|
|
225
|
+
interface AgentProgressContent {
|
|
226
|
+
type?: Type3;
|
|
227
|
+
status: Status;
|
|
228
|
+
detail?: Detail;
|
|
229
|
+
metadata?: Metadata;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Completion marker for an agent session turn.
|
|
233
|
+
*/
|
|
234
|
+
interface AgentCompleteContent {
|
|
235
|
+
type?: Type4;
|
|
236
|
+
success: Success;
|
|
237
|
+
duration_ms?: DurationMs;
|
|
238
|
+
cost_usd?: CostUsd;
|
|
239
|
+
message?: Message;
|
|
240
|
+
metadata?: Metadata1;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
export type ControlMessage = ControlMessageSchema.ControlMessage;
|
|
244
|
+
export type MessageEnvelope = MessageEnvelopeSchema.MessageEnvelope;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated.js","sourceRoot":"","sources":["../../src/schemas/generated.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,yFAAyF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const promises_1 = require("node:fs/promises");
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const json_schema_to_typescript_1 = require("json-schema-to-typescript");
|
|
9
|
+
function wrapInNamespace(namespace, code) {
|
|
10
|
+
const trimmed = code.trim();
|
|
11
|
+
const lines = trimmed.split('\n');
|
|
12
|
+
const indented = lines.map((line) => (line.length > 0 ? ` ${line}` : line)).join('\n');
|
|
13
|
+
return `export namespace ${namespace} {\n${indented}\n}\n`;
|
|
14
|
+
}
|
|
15
|
+
async function compileSchema(schemaPath, typeName) {
|
|
16
|
+
const compiled = await (0, json_schema_to_typescript_1.compileFromFile)(schemaPath, {
|
|
17
|
+
bannerComment: '',
|
|
18
|
+
style: {
|
|
19
|
+
semi: true,
|
|
20
|
+
singleQuote: true,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
if (!compiled.includes(`export type ${typeName}`) && !compiled.includes(`export interface ${typeName}`)) {
|
|
24
|
+
throw new Error(`Generated schema for ${typeName} is missing an export.`);
|
|
25
|
+
}
|
|
26
|
+
return compiled;
|
|
27
|
+
}
|
|
28
|
+
async function main() {
|
|
29
|
+
const repoRoot = node_path_1.default.resolve(__dirname, '../../..');
|
|
30
|
+
const schemaDir = node_path_1.default.resolve(__dirname, '..', '..', 'schemas');
|
|
31
|
+
const controlSchemaPath = node_path_1.default.resolve(schemaDir, 'control_message.schema.json');
|
|
32
|
+
const envelopeSchemaPath = node_path_1.default.resolve(schemaDir, 'message_envelope.schema.json');
|
|
33
|
+
await Promise.all([controlSchemaPath, envelopeSchemaPath].map((file) => (0, promises_1.readFile)(file, 'utf8')));
|
|
34
|
+
const [controlTypes, envelopeTypes] = await Promise.all([
|
|
35
|
+
compileSchema(controlSchemaPath, 'ControlMessage'),
|
|
36
|
+
compileSchema(envelopeSchemaPath, 'MessageEnvelope'),
|
|
37
|
+
]);
|
|
38
|
+
const controlModule = wrapInNamespace('ControlMessageSchema', controlTypes);
|
|
39
|
+
const envelopeModule = wrapInNamespace('MessageEnvelopeSchema', envelopeTypes);
|
|
40
|
+
const outputDir = node_path_1.default.resolve(__dirname, '..', 'schemas');
|
|
41
|
+
await (0, promises_1.mkdir)(outputDir, { recursive: true });
|
|
42
|
+
const outputPath = node_path_1.default.resolve(outputDir, 'generated.ts');
|
|
43
|
+
const header = `/* eslint-disable */\n/* This file is auto-generated by npm run generate-schema-types. Do not edit manually. */\n\n`;
|
|
44
|
+
const footer = `export type ControlMessage = ControlMessageSchema.ControlMessage;\nexport type MessageEnvelope = MessageEnvelopeSchema.MessageEnvelope;\n`;
|
|
45
|
+
const contents = `${header}${controlModule}\n${envelopeModule}\n${footer}`;
|
|
46
|
+
await (0, promises_1.writeFile)(outputPath, contents, 'utf8');
|
|
47
|
+
console.log(`Wrote ${node_path_1.default.relative(repoRoot, outputPath)}`);
|
|
48
|
+
}
|
|
49
|
+
main().catch((error) => {
|
|
50
|
+
console.error('Failed to generate schema types:', error);
|
|
51
|
+
process.exitCode = 1;
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=generate-schema-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-schema-types.js","sourceRoot":"","sources":["../../src/scripts/generate-schema-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const promises_1 = require("node:fs/promises");
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
async function copySchema(filename) {
|
|
9
|
+
const repoRoot = node_path_1.default.resolve(__dirname, '../../..');
|
|
10
|
+
const source = node_path_1.default.resolve(repoRoot, 'shared', 'schemas', filename);
|
|
11
|
+
const destinationDir = node_path_1.default.resolve(__dirname, '..', '..', 'schemas');
|
|
12
|
+
const destination = node_path_1.default.resolve(destinationDir, filename);
|
|
13
|
+
await (0, promises_1.mkdir)(destinationDir, { recursive: true });
|
|
14
|
+
const contents = await (0, promises_1.readFile)(source, 'utf8');
|
|
15
|
+
await (0, promises_1.writeFile)(destination, contents, 'utf8');
|
|
16
|
+
console.log(`Copied ${filename} -> ${node_path_1.default.relative(repoRoot, destination)}`);
|
|
17
|
+
}
|
|
18
|
+
async function main() {
|
|
19
|
+
await Promise.all([
|
|
20
|
+
copySchema('control_message.schema.json'),
|
|
21
|
+
copySchema('message_envelope.schema.json'),
|
|
22
|
+
]);
|
|
23
|
+
}
|
|
24
|
+
main().catch((error) => {
|
|
25
|
+
console.error('Failed to synchronise schemas:', error);
|
|
26
|
+
process.exitCode = 1;
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=sync-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-schemas.js","sourceRoot":"","sources":["../../src/scripts/sync-schemas.ts"],"names":[],"mappings":";;;;;AAAA,+CAA8D;AAC9D,0DAA6B;AAE7B,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,MAAM,QAAQ,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,mBAAI,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAE3D,MAAM,IAAA,gBAAK,EAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAQ,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,IAAA,oBAAS,EAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,UAAU,QAAQ,OAAO,mBAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,UAAU,CAAC,6BAA6B,CAAC;QACzC,UAAU,CAAC,8BAA8B,CAAC;KAC3C,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;IACvD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC"}
|
package/dist/utils/prompt.js
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.prompt = prompt;
|
|
7
|
-
const promises_1 = __importDefault(require("readline/promises"));
|
|
8
|
-
const process_1 = require("process");
|
|
9
|
-
async function prompt(question) {
|
|
10
|
-
const rl = promises_1.default.createInterface({ input: process_1.stdin, output: process_1.stdout });
|
|
1
|
+
import readline from 'readline/promises';
|
|
2
|
+
import { stdin as input, stdout as output } from 'process';
|
|
3
|
+
export async function prompt(question) {
|
|
4
|
+
const rl = readline.createInterface({ input, output });
|
|
11
5
|
try {
|
|
12
6
|
const answer = await rl.question(question);
|
|
13
7
|
return answer.trim();
|
package/dist/utils/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/utils/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,SAAS,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAgB;IAC3C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.launchVoiceForSession = launchVoiceForSession;
|
|
4
|
-
async function launchVoiceForSession(client, accessToken, options) {
|
|
1
|
+
import { ApiClient } from '../http/api-client.js';
|
|
2
|
+
export async function launchVoiceForSession(client, accessToken, options) {
|
|
5
3
|
const path = `/api/v1/voice/sessions/${options.sessionId}/launch`;
|
|
6
4
|
const requestBody = {};
|
|
7
5
|
if (options.force) {
|