omnara 0.1.3 → 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 +13 -15
- package/dist/auth/auth-provider.js.map +1 -1
- package/dist/auth/cli-auth-service.d.ts +1 -1
- package/dist/auth/cli-auth-service.js +3 -6
- 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 +23 -29
- package/dist/auth/login-flow.js.map +1 -1
- package/dist/auth/loopback-listener.js +11 -15
- package/dist/auth/loopback-listener.js.map +1 -1
- package/dist/auth/pkce.js +4 -7
- package/dist/auth/pkce.js.map +1 -1
- 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/utils/base64url.d.ts +0 -1
- package/dist/utils/base64url.js +0 -12
- package/dist/utils/base64url.js.map +0 -1
- package/dist/utils/random.d.ts +0 -1
- package/dist/utils/random.js +0 -9
- package/dist/utils/random.js.map +0 -1
- /package/dist/{test-agent.d.ts → scripts/generate-schema-types.d.ts} +0 -0
package/dist/cli.js
CHANGED
|
@@ -1,32 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const commander_1 = require("commander");
|
|
10
|
-
const package_json_1 = __importDefault(require("../package.json"));
|
|
11
|
-
const commands_1 = require("./commands");
|
|
12
|
-
function createProgram() {
|
|
13
|
-
const program = new commander_1.Command();
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { createRequire } from 'node:module';
|
|
3
|
+
import { Command } from 'commander';
|
|
4
|
+
import { buildAgentCommand, buildAuthCommand, runAgentOrchestrator, } from './commands/index.js';
|
|
5
|
+
const require = createRequire(import.meta.url);
|
|
6
|
+
const packageJson = require('../package.json');
|
|
7
|
+
export function createProgram() {
|
|
8
|
+
const program = new Command();
|
|
14
9
|
program
|
|
15
10
|
.name('omnara')
|
|
16
|
-
.description(
|
|
17
|
-
.version(
|
|
11
|
+
.description(packageJson.description ?? 'Command-line interface for Omnara.')
|
|
12
|
+
.version(packageJson.version ?? '0.0.0')
|
|
18
13
|
.option('--backend-url <url>', 'Override backend API base URL used for login')
|
|
19
14
|
.option('--frontend-url <url>', 'Override frontend URL opened during login')
|
|
20
15
|
.action(async () => {
|
|
21
16
|
const options = program.opts();
|
|
22
|
-
await
|
|
17
|
+
await runAgentOrchestrator(options);
|
|
23
18
|
});
|
|
24
19
|
// Register top-level commands here.
|
|
25
|
-
program.addCommand(
|
|
26
|
-
program.addCommand(
|
|
20
|
+
program.addCommand(buildAgentCommand());
|
|
21
|
+
program.addCommand(buildAuthCommand());
|
|
27
22
|
return program;
|
|
28
23
|
}
|
|
29
|
-
async function run(argv) {
|
|
24
|
+
export async function run(argv) {
|
|
30
25
|
const program = createProgram();
|
|
31
26
|
try {
|
|
32
27
|
await program.parseAsync(argv);
|
|
@@ -36,15 +31,21 @@ async function run(argv) {
|
|
|
36
31
|
program.error(error.message, { exitCode: 1 });
|
|
37
32
|
}
|
|
38
33
|
}
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
// Check if this module is being run directly (ESM equivalent of require.main === module)
|
|
35
|
+
function isMainModule() {
|
|
36
|
+
// In ES modules, check if the current file URL matches the executed script
|
|
37
|
+
if (!import.meta.url || !process.argv[1]) {
|
|
41
38
|
return false;
|
|
42
39
|
}
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
40
|
+
// Convert process.argv[1] to a file URL for comparison
|
|
41
|
+
const executedPath = path.resolve(process.argv[1]);
|
|
42
|
+
const currentPath = import.meta.url.startsWith('file://')
|
|
43
|
+
? decodeURIComponent(import.meta.url.slice(7)) // Remove 'file://' prefix
|
|
44
|
+
: import.meta.url;
|
|
45
|
+
// Normalize paths for comparison
|
|
46
|
+
return path.normalize(currentPath) === path.normalize(executedPath);
|
|
46
47
|
}
|
|
47
|
-
if (
|
|
48
|
+
if (isMainModule()) {
|
|
48
49
|
run(process.argv).catch((error) => {
|
|
49
50
|
console.error(error);
|
|
50
51
|
process.exitCode = 1;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GAErB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAO/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAgB,CAAC;AAE9D,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,WAAW,CAAC,WAAW,IAAI,oCAAoC,CAAC;SAC5E,OAAO,CAAC,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC;SACvC,MAAM,CAAC,qBAAqB,EAAE,8CAA8C,CAAC;SAC7E,MAAM,CAAC,sBAAsB,EAAE,2CAA2C,CAAC;SAC3E,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAuB,CAAC;QACpD,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEL,oCAAoC;IACpC,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEvC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAuB;IAC/C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,IAAgB,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+EAA+E;QAC/E,OAAO,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,SAAS,YAAY;IACnB,2EAA2E;IAC3E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uDAAuD;IACvD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QACvD,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;QACzE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAEpB,iCAAiC;IACjC,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AACtE,CAAC;AAED,IAAI,YAAY,EAAE,EAAE,CAAC;IACnB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/commands/agent.js
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
const auth_provider_1 = require("../auth/auth-provider");
|
|
14
|
-
const login_flow_1 = require("../auth/login-flow");
|
|
15
|
-
function buildAgentCommand() {
|
|
16
|
-
const agent = new commander_1.Command('agent').description('Utilities for interacting with the Omnara Claude agent.');
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { AgentOrchestrator } from '../orchestrator/agent-orchestrator.js';
|
|
3
|
+
import { CredentialsStore } from '../auth/credentials-store.js';
|
|
4
|
+
import { RelayBridge } from '../relay/relay-bridge.js';
|
|
5
|
+
import { runTerminalRepl } from '../repl/terminal-repl.js';
|
|
6
|
+
import { ApiClient } from '../http/api-client.js';
|
|
7
|
+
import { registerRelaySession } from '../relay/relay-service.js';
|
|
8
|
+
import { launchVoiceForSession } from '../voice/voice-service.js';
|
|
9
|
+
import { createAuthProvider } from '../auth/auth-provider.js';
|
|
10
|
+
import { resolveBackendUrl, resolveFrontendUrl } from '../auth/login-flow.js';
|
|
11
|
+
export function buildAgentCommand() {
|
|
12
|
+
const agent = new Command('agent').description('Utilities for interacting with the Omnara Claude agent.');
|
|
17
13
|
agent
|
|
18
14
|
.command('orchestrator')
|
|
19
15
|
.alias('server')
|
|
@@ -27,6 +23,7 @@ function buildAgentCommand() {
|
|
|
27
23
|
.command('repl')
|
|
28
24
|
.description('Start the Omnara agent REPL connected through the backend relay.')
|
|
29
25
|
.requiredOption('--session-id <id>', 'Connect to an existing parent agent session')
|
|
26
|
+
.requiredOption('--user-session-id <id>', 'User session that owns the agent session')
|
|
30
27
|
.option('--backend-url <url>', 'Override backend API base URL used for login')
|
|
31
28
|
.option('--frontend-url <url>', 'Override frontend URL opened during login')
|
|
32
29
|
.action(async (options) => {
|
|
@@ -45,13 +42,13 @@ function buildAgentCommand() {
|
|
|
45
42
|
});
|
|
46
43
|
return agent;
|
|
47
44
|
}
|
|
48
|
-
async function runAgentOrchestrator(options = {}) {
|
|
49
|
-
const orchestrator = new
|
|
45
|
+
export async function runAgentOrchestrator(options = {}) {
|
|
46
|
+
const orchestrator = new AgentOrchestrator();
|
|
50
47
|
await orchestrator.start();
|
|
51
|
-
const backendUrl =
|
|
52
|
-
const frontendUrl =
|
|
53
|
-
const store = new
|
|
54
|
-
const bridge = new
|
|
48
|
+
const backendUrl = resolveBackendUrl(options.backendUrl);
|
|
49
|
+
const frontendUrl = resolveFrontendUrl(options.frontendUrl);
|
|
50
|
+
const store = new CredentialsStore();
|
|
51
|
+
const bridge = new RelayBridge(orchestrator, {
|
|
55
52
|
store,
|
|
56
53
|
logger: console,
|
|
57
54
|
backendUrl,
|
|
@@ -102,43 +99,44 @@ function extractErrorMessage(error) {
|
|
|
102
99
|
return String(error);
|
|
103
100
|
}
|
|
104
101
|
async function runRepl(options) {
|
|
105
|
-
const backendUrl =
|
|
106
|
-
const frontendUrl =
|
|
107
|
-
const store = new
|
|
108
|
-
const authProvider = await
|
|
102
|
+
const backendUrl = resolveBackendUrl(options.backendUrl);
|
|
103
|
+
const frontendUrl = resolveFrontendUrl(options.frontendUrl);
|
|
104
|
+
const store = new CredentialsStore();
|
|
105
|
+
const authProvider = await createAuthProvider({
|
|
109
106
|
store,
|
|
110
107
|
backendUrl,
|
|
111
108
|
frontendUrl,
|
|
112
109
|
logger: console,
|
|
113
110
|
});
|
|
114
|
-
const client = new
|
|
111
|
+
const client = new ApiClient({ baseUrl: backendUrl });
|
|
115
112
|
const accessToken = await authProvider.getAccessToken();
|
|
116
|
-
const registration = await
|
|
117
|
-
|
|
113
|
+
const registration = await registerRelaySession(client, accessToken, {
|
|
114
|
+
userSessionId: options.userSessionId,
|
|
115
|
+
clientKind: 'cli',
|
|
118
116
|
});
|
|
119
117
|
const wsUrl = buildRelayWebsocketUrl(backendUrl, registration.relayWsPath);
|
|
120
|
-
console.log(`Using agent session ${
|
|
121
|
-
await
|
|
118
|
+
console.log(`Using agent session ${options.sessionId} (user session ${registration.userSessionId})`);
|
|
119
|
+
await runTerminalRepl({
|
|
122
120
|
url: wsUrl,
|
|
123
121
|
headers: {
|
|
124
122
|
authorization: `Bearer ${accessToken}`,
|
|
125
123
|
'x-relay-token': registration.relayToken,
|
|
126
124
|
},
|
|
127
|
-
initialSessionId:
|
|
125
|
+
initialSessionId: options.sessionId,
|
|
128
126
|
});
|
|
129
127
|
}
|
|
130
128
|
async function runVoice(options) {
|
|
131
|
-
const backendUrl =
|
|
132
|
-
const frontendUrl =
|
|
133
|
-
const store = new
|
|
134
|
-
const authProvider = await
|
|
129
|
+
const backendUrl = resolveBackendUrl(options.backendUrl);
|
|
130
|
+
const frontendUrl = resolveFrontendUrl(options.frontendUrl);
|
|
131
|
+
const store = new CredentialsStore();
|
|
132
|
+
const authProvider = await createAuthProvider({
|
|
135
133
|
store,
|
|
136
134
|
backendUrl,
|
|
137
135
|
frontendUrl,
|
|
138
136
|
logger: console,
|
|
139
137
|
});
|
|
140
|
-
const client = new
|
|
141
|
-
const launch = await
|
|
138
|
+
const client = new ApiClient({ baseUrl: backendUrl });
|
|
139
|
+
const launch = await launchVoiceForSession(client, await authProvider.getAccessToken(), {
|
|
142
140
|
sessionId: options.sessionId,
|
|
143
141
|
force: options.force ?? false,
|
|
144
142
|
roomName: options.roomName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/auth.js
CHANGED
|
@@ -1,29 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const login_flow_1 = require("../auth/login-flow");
|
|
8
|
-
function buildAuthCommand() {
|
|
9
|
-
const auth = new commander_1.Command('auth').description('Authenticate the Omnara CLI.');
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { CredentialsStore } from '../auth/credentials-store.js';
|
|
3
|
+
import { ApiError } from '../http/api-client.js';
|
|
4
|
+
import { performVerificationLogin, resolveBackendUrl, formatDuration } from '../auth/login-flow.js';
|
|
5
|
+
export function buildAuthCommand() {
|
|
6
|
+
const auth = new Command('auth').description('Authenticate the Omnara CLI.');
|
|
10
7
|
auth
|
|
11
8
|
.command('login')
|
|
12
9
|
.description('Authenticate via the browser-based verification flow.')
|
|
13
10
|
.option('--backend-url <url>', 'Backend base URL')
|
|
14
11
|
.option('--frontend-url <url>', 'Frontend URL to open for verification')
|
|
15
12
|
.action(async (options) => {
|
|
16
|
-
const store = new
|
|
17
|
-
const backendUrl =
|
|
13
|
+
const store = new CredentialsStore();
|
|
14
|
+
const backendUrl = resolveBackendUrl(options.backendUrl);
|
|
18
15
|
try {
|
|
19
|
-
await
|
|
16
|
+
await performVerificationLogin({
|
|
20
17
|
backendUrlOption: backendUrl,
|
|
21
18
|
frontendUrlOption: options.frontendUrl,
|
|
22
19
|
store,
|
|
23
20
|
});
|
|
24
21
|
}
|
|
25
22
|
catch (error) {
|
|
26
|
-
if (error instanceof
|
|
23
|
+
if (error instanceof ApiError) {
|
|
27
24
|
console.error(`\nRequest failed (HTTP ${error.status}): ${error.message}`);
|
|
28
25
|
}
|
|
29
26
|
else {
|
|
@@ -36,7 +33,7 @@ function buildAuthCommand() {
|
|
|
36
33
|
.command('logout')
|
|
37
34
|
.description('Remove stored CLI credentials.')
|
|
38
35
|
.action(async () => {
|
|
39
|
-
const store = new
|
|
36
|
+
const store = new CredentialsStore();
|
|
40
37
|
await store.clear();
|
|
41
38
|
console.log('Credentials cleared.');
|
|
42
39
|
});
|
|
@@ -44,7 +41,7 @@ function buildAuthCommand() {
|
|
|
44
41
|
.command('status')
|
|
45
42
|
.description('Show stored CLI credential details.')
|
|
46
43
|
.action(async () => {
|
|
47
|
-
const store = new
|
|
44
|
+
const store = new CredentialsStore();
|
|
48
45
|
const credentials = await store.load();
|
|
49
46
|
if (!credentials) {
|
|
50
47
|
console.log('No credentials stored.');
|
|
@@ -75,7 +72,7 @@ function describeExpiry(iso) {
|
|
|
75
72
|
}
|
|
76
73
|
const diff = timestamp - Date.now();
|
|
77
74
|
const abs = Math.abs(diff);
|
|
78
|
-
const descriptor =
|
|
75
|
+
const descriptor = formatDuration(abs);
|
|
79
76
|
return diff >= 0 ? `expires in ${descriptor}` : `expired ${descriptor} ago`;
|
|
80
77
|
}
|
|
81
78
|
function extractErrorMessage(error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { buildAgentCommand, runAgentOrchestrator, type OrchestratorOptions } from './agent';
|
|
2
|
-
export { buildAuthCommand } from './auth';
|
|
1
|
+
export { buildAgentCommand, runAgentOrchestrator, type OrchestratorOptions } from './agent.js';
|
|
2
|
+
export { buildAuthCommand } from './auth.js';
|
package/dist/commands/index.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.buildAuthCommand = exports.runAgentOrchestrator = exports.buildAgentCommand = void 0;
|
|
4
|
-
var agent_1 = require("./agent");
|
|
5
|
-
Object.defineProperty(exports, "buildAgentCommand", { enumerable: true, get: function () { return agent_1.buildAgentCommand; } });
|
|
6
|
-
Object.defineProperty(exports, "runAgentOrchestrator", { enumerable: true, get: function () { return agent_1.runAgentOrchestrator; } });
|
|
7
|
-
var auth_1 = require("./auth");
|
|
8
|
-
Object.defineProperty(exports, "buildAuthCommand", { enumerable: true, get: function () { return auth_1.buildAuthCommand; } });
|
|
1
|
+
export { buildAgentCommand, runAgentOrchestrator } from './agent.js';
|
|
2
|
+
export { buildAuthCommand } from './auth.js';
|
|
9
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAA4B,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/http/api-client.js
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.normalizeBaseUrl = normalizeBaseUrl;
|
|
5
|
-
exports.resolveUrl = resolveUrl;
|
|
6
|
-
class ApiError extends Error {
|
|
1
|
+
export class ApiError extends Error {
|
|
2
|
+
status;
|
|
3
|
+
details;
|
|
7
4
|
constructor(status, message, details) {
|
|
8
5
|
super(message);
|
|
9
6
|
this.status = status;
|
|
10
7
|
this.details = details;
|
|
11
8
|
}
|
|
12
9
|
}
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
export class ApiClient {
|
|
11
|
+
baseUrl;
|
|
15
12
|
constructor(options) {
|
|
16
13
|
this.baseUrl = normalizeBaseUrl(options.baseUrl);
|
|
17
14
|
}
|
|
@@ -78,14 +75,13 @@ class ApiClient {
|
|
|
78
75
|
return payload;
|
|
79
76
|
}
|
|
80
77
|
}
|
|
81
|
-
|
|
82
|
-
function normalizeBaseUrl(raw) {
|
|
78
|
+
export function normalizeBaseUrl(raw) {
|
|
83
79
|
if (!raw) {
|
|
84
80
|
throw new Error('Backend URL cannot be empty.');
|
|
85
81
|
}
|
|
86
82
|
return raw.endsWith('/') ? raw : `${raw}/`;
|
|
87
83
|
}
|
|
88
|
-
function resolveUrl(base, path) {
|
|
84
|
+
export function resolveUrl(base, path) {
|
|
89
85
|
const baseUrl = new URL(base);
|
|
90
86
|
if (!path.startsWith('/')) {
|
|
91
87
|
path = `/${path}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/http/api-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/http/api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ApiClient } from './api-client.js';
|
|
2
|
+
export interface UserSessionDescriptor {
|
|
3
|
+
kind: 'user_session';
|
|
4
|
+
session_id: string;
|
|
5
|
+
user_id: string;
|
|
6
|
+
status: string;
|
|
7
|
+
name?: string | null;
|
|
8
|
+
metadata?: Record<string, unknown> | null;
|
|
9
|
+
}
|
|
10
|
+
export declare function createUserSession(client: ApiClient, accessToken: string, options?: {
|
|
11
|
+
name?: string;
|
|
12
|
+
metadata?: Record<string, unknown>;
|
|
13
|
+
}): Promise<UserSessionDescriptor>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ApiClient } from './api-client.js';
|
|
2
|
+
export async function createUserSession(client, accessToken, options = {}) {
|
|
3
|
+
const body = {
|
|
4
|
+
name: options.name ?? null,
|
|
5
|
+
metadata: options.metadata ?? null,
|
|
6
|
+
};
|
|
7
|
+
return await client.postJson('/api/v1/user-sessions', body, { accessToken });
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=user-sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-sessions.js","sourceRoot":"","sources":["../../src/http/user-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAgB5C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAiB,EACjB,WAAmB,EACnB,UAAiE,EAAE;IAEnE,MAAM,IAAI,GAAiC;QACzC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;KACnC,CAAC;IAEF,OAAO,MAAM,MAAM,CAAC,QAAQ,CAC1B,uBAAuB,EACvB,IAAI,EACJ,EAAE,WAAW,EAAE,CAChB,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { type AgentClient } from './ai-client';
|
|
2
|
-
import { Session } from './session';
|
|
3
|
-
import { WorkerManager } from './worker-manager';
|
|
4
|
-
import type { InboundMessage, OutboundMessage } from './types';
|
|
1
|
+
import { type AgentClient } from './ai-client.js';
|
|
2
|
+
import { Session } from './session.js';
|
|
3
|
+
import { WorkerManager } from './worker-manager.js';
|
|
4
|
+
import type { InboundMessage, OutboundMessage } from './types.js';
|
|
5
5
|
interface AgentOrchestratorDependencies {
|
|
6
6
|
createMainClient?: () => AgentClient;
|
|
7
7
|
createWorkerClient?: () => AgentClient;
|
|
@@ -43,12 +43,17 @@ export declare class AgentOrchestrator {
|
|
|
43
43
|
private consumeToolUse;
|
|
44
44
|
private handleSessionEmpty;
|
|
45
45
|
private registerWorkerListeners;
|
|
46
|
-
private
|
|
47
|
-
private
|
|
46
|
+
private broadcastAgentProgress;
|
|
47
|
+
private buildAgentProgress;
|
|
48
48
|
private handleWorkerSessionStart;
|
|
49
49
|
private handleWorkerMessage;
|
|
50
50
|
private handleWorkerCompletion;
|
|
51
51
|
private buildWorkerSummary;
|
|
52
|
+
/**
|
|
53
|
+
* Build a comprehensive worker status message showing ALL workers,
|
|
54
|
+
* with special highlighting for the worker that triggered this generation.
|
|
55
|
+
*/
|
|
56
|
+
private buildWorkerStatusMessage;
|
|
52
57
|
private broadcastToAll;
|
|
53
58
|
private findSessionIdBySdkSession;
|
|
54
59
|
private sendToConnection;
|