omnara 0.1.4 → 0.1.5

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 (80) hide show
  1. package/dist/cli.js +5945 -50
  2. package/dist/cli.js.map +7 -1
  3. package/dist/orchestrator/agent-orchestrator.d.ts +4 -1
  4. package/dist/orchestrator/orchestrator-prompt.d.ts +8 -2
  5. package/dist/orchestrator/{types.d.ts → orchestrator-types.d.ts} +14 -0
  6. package/dist/orchestrator/session.d.ts +1 -1
  7. package/dist/orchestrator/tools/worker-tools.d.ts +1 -0
  8. package/dist/orchestrator/utils/session-logger.d.ts +1 -1
  9. package/package.json +11 -5
  10. package/scripts/preinstall.js +141 -0
  11. package/scripts/test-preinstall.js +125 -0
  12. package/dist/auth/auth-provider.js +0 -56
  13. package/dist/auth/auth-provider.js.map +0 -1
  14. package/dist/auth/cli-auth-service.js +0 -44
  15. package/dist/auth/cli-auth-service.js.map +0 -1
  16. package/dist/auth/credential-manager.js +0 -71
  17. package/dist/auth/credential-manager.js.map +0 -1
  18. package/dist/auth/credentials-store.js +0 -69
  19. package/dist/auth/credentials-store.js.map +0 -1
  20. package/dist/auth/login-flow.js +0 -196
  21. package/dist/auth/login-flow.js.map +0 -1
  22. package/dist/auth/loopback-listener.js +0 -155
  23. package/dist/auth/loopback-listener.js.map +0 -1
  24. package/dist/auth/pkce.js +0 -15
  25. package/dist/auth/pkce.js.map +0 -1
  26. package/dist/auth/supabase-client.js +0 -10
  27. package/dist/auth/supabase-client.js.map +0 -1
  28. package/dist/auth/supabase-config.js +0 -21
  29. package/dist/auth/supabase-config.js.map +0 -1
  30. package/dist/commands/agent.js +0 -172
  31. package/dist/commands/agent.js.map +0 -1
  32. package/dist/commands/auth.js +0 -84
  33. package/dist/commands/auth.js.map +0 -1
  34. package/dist/commands/index.js +0 -3
  35. package/dist/commands/index.js.map +0 -1
  36. package/dist/http/api-client.js +0 -118
  37. package/dist/http/api-client.js.map +0 -1
  38. package/dist/http/user-sessions.js +0 -9
  39. package/dist/http/user-sessions.js.map +0 -1
  40. package/dist/orchestrator/agent-orchestrator.js +0 -592
  41. package/dist/orchestrator/agent-orchestrator.js.map +0 -1
  42. package/dist/orchestrator/ai-client.js +0 -77
  43. package/dist/orchestrator/ai-client.js.map +0 -1
  44. package/dist/orchestrator/orchestrator-prompt.js +0 -13
  45. package/dist/orchestrator/orchestrator-prompt.js.map +0 -1
  46. package/dist/orchestrator/session.js +0 -295
  47. package/dist/orchestrator/session.js.map +0 -1
  48. package/dist/orchestrator/tools/worker-status-tool.js +0 -41
  49. package/dist/orchestrator/tools/worker-status-tool.js.map +0 -1
  50. package/dist/orchestrator/tools/worker-tools.js +0 -149
  51. package/dist/orchestrator/tools/worker-tools.js.map +0 -1
  52. package/dist/orchestrator/types.js +0 -30
  53. package/dist/orchestrator/types.js.map +0 -1
  54. package/dist/orchestrator/utils/async-queue.js +0 -70
  55. package/dist/orchestrator/utils/async-queue.js.map +0 -1
  56. package/dist/orchestrator/utils/session-logger.js +0 -47
  57. package/dist/orchestrator/utils/session-logger.js.map +0 -1
  58. package/dist/orchestrator/worker-manager.js +0 -418
  59. package/dist/orchestrator/worker-manager.js.map +0 -1
  60. package/dist/relay/relay-bridge.js +0 -601
  61. package/dist/relay/relay-bridge.js.map +0 -1
  62. package/dist/relay/relay-service.js +0 -23
  63. package/dist/relay/relay-service.js.map +0 -1
  64. package/dist/repl/terminal-repl.js +0 -262
  65. package/dist/repl/terminal-repl.js.map +0 -1
  66. package/dist/schemas/generated.d.ts +0 -244
  67. package/dist/schemas/generated.js +0 -5
  68. package/dist/schemas/generated.js.map +0 -1
  69. package/dist/schemas/index.js +0 -2
  70. package/dist/schemas/index.js.map +0 -1
  71. package/dist/scripts/generate-schema-types.d.ts +0 -1
  72. package/dist/scripts/generate-schema-types.js +0 -53
  73. package/dist/scripts/generate-schema-types.js.map +0 -1
  74. package/dist/scripts/sync-schemas.d.ts +0 -1
  75. package/dist/scripts/sync-schemas.js +0 -28
  76. package/dist/scripts/sync-schemas.js.map +0 -1
  77. package/dist/utils/prompt.js +0 -13
  78. package/dist/utils/prompt.js.map +0 -1
  79. package/dist/voice/voice-service.js +0 -25
  80. package/dist/voice/voice-service.js.map +0 -1
@@ -1,262 +0,0 @@
1
- import readline from 'readline';
2
- import { once } from 'events';
3
- import WebSocket from 'ws';
4
- const DEFAULT_URL = 'ws://localhost:3001/ws';
5
- export async function runTerminalRepl(options) {
6
- const url = options?.url ?? DEFAULT_URL;
7
- const wsOptions = options?.headers ? { headers: options.headers } : undefined;
8
- const ws = wsOptions ? new WebSocket(url, wsOptions) : new WebSocket(url);
9
- await Promise.race([
10
- once(ws, 'open').then(() => undefined),
11
- once(ws, 'error').then(([error]) => {
12
- throw error;
13
- }),
14
- ]);
15
- console.log(`Connected to ${url}`);
16
- if (options?.initializeSession && options?.initialSessionId) {
17
- const payload = {
18
- type: 'session_init',
19
- sessionId: options.initialSessionId,
20
- };
21
- if (options.parentSessionId) {
22
- payload.parentSessionId = options.parentSessionId;
23
- }
24
- if (options.initialMetadata) {
25
- payload.metadata = options.initialMetadata;
26
- }
27
- sendMessage(ws, payload);
28
- }
29
- let currentSessionId = options?.initialSessionId;
30
- let awaitingResponse = false;
31
- let lastPrompt = promptForSession(currentSessionId);
32
- let shuttingDown = false;
33
- const rl = readline.createInterface({
34
- input: process.stdin,
35
- output: process.stdout,
36
- prompt: lastPrompt,
37
- });
38
- ws.on('message', (data) => {
39
- handleOutboundMessage(maybeParseOutboundMessage(data), () => rl.prompt(true), (sessionId) => {
40
- currentSessionId = sessionId;
41
- updatePrompt();
42
- }, () => {
43
- awaitingResponse = false;
44
- updatePrompt();
45
- });
46
- });
47
- ws.on('close', (code, reason) => {
48
- console.log(`\nDisconnected from server (code ${code}${reason ? `, reason: ${reason.toString()}` : ''})`);
49
- if (!shuttingDown) {
50
- shuttingDown = true;
51
- rl.close();
52
- }
53
- });
54
- ws.on('error', (error) => {
55
- console.error('\nWebSocket error:', error);
56
- if (!shuttingDown) {
57
- shuttingDown = true;
58
- rl.close();
59
- }
60
- });
61
- rl.on('line', (line) => {
62
- const trimmed = line.trim();
63
- if (trimmed.length === 0) {
64
- updatePrompt();
65
- return;
66
- }
67
- if (trimmed === '/exit' || trimmed === '/quit') {
68
- cleanup();
69
- return;
70
- }
71
- if (trimmed === '/new') {
72
- currentSessionId = undefined;
73
- console.log('\nStarting a new session.');
74
- updatePrompt();
75
- return;
76
- }
77
- if (trimmed.startsWith('/join ')) {
78
- const target = trimmed.slice('/join '.length).trim();
79
- if (target.length === 0) {
80
- console.log('\nUsage: /join <session-id>');
81
- updatePrompt();
82
- return;
83
- }
84
- currentSessionId = target;
85
- sendMessage(ws, { type: 'join', sessionId: target });
86
- updatePrompt();
87
- return;
88
- }
89
- if (trimmed === '/help') {
90
- printHelp();
91
- updatePrompt();
92
- return;
93
- }
94
- awaitingResponse = true;
95
- updatePrompt();
96
- sendMessage(ws, {
97
- type: 'chat',
98
- sessionId: currentSessionId,
99
- text: trimmed,
100
- });
101
- });
102
- rl.on('SIGINT', () => {
103
- cleanup();
104
- });
105
- rl.on('close', () => {
106
- if (ws.readyState === WebSocket.OPEN || ws.readyState === WebSocket.CONNECTING) {
107
- ws.close(1000, 'Client closing');
108
- }
109
- });
110
- rl.prompt();
111
- await new Promise((resolve) => {
112
- rl.once('close', resolve);
113
- });
114
- function updatePrompt() {
115
- lastPrompt = promptForSession(currentSessionId, awaitingResponse);
116
- rl.setPrompt(lastPrompt);
117
- rl.prompt(true);
118
- }
119
- function cleanup() {
120
- if (shuttingDown) {
121
- return;
122
- }
123
- shuttingDown = true;
124
- if (ws.readyState === WebSocket.OPEN || ws.readyState === WebSocket.CONNECTING) {
125
- ws.close(1000, 'Client closing');
126
- }
127
- rl.close();
128
- }
129
- }
130
- function promptForSession(sessionId, awaitingResponse = false) {
131
- const base = sessionId ? `session:${sessionId.slice(0, 6)}` : 'session:new';
132
- return `${awaitingResponse ? '*' : ''}${base}> `;
133
- }
134
- function sendMessage(ws, payload) {
135
- if (ws.readyState !== WebSocket.OPEN) {
136
- console.warn('Cannot send message: socket is not open.');
137
- return;
138
- }
139
- try {
140
- ws.send(JSON.stringify(payload));
141
- }
142
- catch (error) {
143
- console.error('Failed to send message:', error);
144
- }
145
- }
146
- function maybeParseOutboundMessage(data) {
147
- try {
148
- const text = typeof data === 'string' ? data : data.toString('utf8');
149
- return JSON.parse(text);
150
- }
151
- catch (error) {
152
- console.error('Failed to parse server message:', error);
153
- return null;
154
- }
155
- }
156
- function handleOutboundMessage(message, onPrompt, onSessionChange, onTurnComplete) {
157
- if (!message) {
158
- return;
159
- }
160
- switch (message.type) {
161
- case 'session_created':
162
- console.log(`\n${formatSessionPrefix(message.sessionId)} [server] Session created: ${message.sessionId}`);
163
- onSessionChange(message.sessionId);
164
- break;
165
- case 'session_joined':
166
- console.log(`\n${formatSessionPrefix(message.sessionId)} [server] Joined session: ${message.sessionId}`);
167
- onSessionChange(message.sessionId);
168
- break;
169
- case 'session_init':
170
- console.log(`\n${formatSessionPrefix(message.sessionId)} [server] Session init (parent: ${message.parentSessionId ?? 'none'})`);
171
- break;
172
- case 'session_init_ack':
173
- console.log(`\n${formatSessionPrefix(message.sessionId)} [server] Session init acknowledged (parent: ${message.parentSessionId ?? 'none'})`);
174
- break;
175
- case 'user_text':
176
- if (message.origin === 'worker') {
177
- console.log(`\n${formatSessionPrefix(message.sessionId)} worker> ${message.text}`);
178
- }
179
- else {
180
- console.log(`\n${formatSessionPrefix(message.sessionId)} you> ${message.text}`);
181
- }
182
- break;
183
- case 'assistant_text':
184
- process.stdout.write(`\n${formatSessionPrefix(message.sessionId)} claude> ${message.text}`);
185
- break;
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}`);
196
- onTurnComplete();
197
- break;
198
- }
199
- case 'tool_call':
200
- console.log(`\n${formatSessionPrefix(message.sessionId)} [tool] Using ${message.toolName} (${message.toolUseId}):`, safeStringify(message.input));
201
- break;
202
- case 'tool_result':
203
- console.log(`\n${formatSessionPrefix(message.sessionId)} [tool] Result for ${message.toolUseId}${message.isError ? ' (error)' : ''}:`, safeStringify(message.content));
204
- break;
205
- case 'agent_progress':
206
- {
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}`);
216
- }
217
- break;
218
- case 'system':
219
- console.log(`\n${formatSessionPrefix(message.sessionId)} [system] ${message.subtype}`);
220
- if (message.subtype === 'init') {
221
- onTurnComplete();
222
- }
223
- break;
224
- case 'error':
225
- console.error(`\n${formatSessionPrefix(message.sessionId)} [error] ${message.message}`);
226
- onTurnComplete();
227
- break;
228
- case 'pong':
229
- // No-op; keep connection alive.
230
- break;
231
- default:
232
- console.log(`\n${formatSessionPrefix(message.sessionId)} [server]`, safeStringify(message));
233
- break;
234
- }
235
- onPrompt();
236
- }
237
- function safeStringify(value) {
238
- if (typeof value === 'string') {
239
- return value;
240
- }
241
- try {
242
- return JSON.stringify(value, null, 2);
243
- }
244
- catch {
245
- return String(value);
246
- }
247
- }
248
- function formatSessionPrefix(sessionId) {
249
- if (!sessionId) {
250
- return '[session:unknown]';
251
- }
252
- return `[session:${sessionId}]`;
253
- }
254
- function printHelp() {
255
- console.log(`\nCommands:
256
- /new Start a new session
257
- /join <id> Join an existing session
258
- /help Show this help text
259
- /exit Quit the REPL
260
- `);
261
- }
262
- //# sourceMappingURL=terminal-repl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-repl.js","sourceRoot":"","sources":["../../src/repl/terminal-repl.ts"],"names":[],"mappings":"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"}
@@ -1,244 +0,0 @@
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;
@@ -1,5 +0,0 @@
1
- "use strict";
2
- /* eslint-disable */
3
- /* This file is auto-generated by npm run generate-schema-types. Do not edit manually. */
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- //# sourceMappingURL=generated.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated.js","sourceRoot":"","sources":["../../src/schemas/generated.ts"],"names":[],"mappings":";AAAA,oBAAoB;AACpB,yFAAyF"}
@@ -1,2 +0,0 @@
1
- export { validateControlMessage, validateMessageEnvelope, } from '@omnara/shared-js/schemas';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,53 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-schema-types.js","sourceRoot":"","sources":["../../src/scripts/generate-schema-types.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,28 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,13 +0,0 @@
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 });
5
- try {
6
- const answer = await rl.question(question);
7
- return answer.trim();
8
- }
9
- finally {
10
- rl.close();
11
- }
12
- }
13
- //# sourceMappingURL=prompt.js.map
@@ -1 +0,0 @@
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"}