@squidcode/novadev 1.1.0 → 1.3.0
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/README.md +101 -36
- package/dist/cli.js +1 -1
- package/dist/commands/__tests__/gateway.test.js +108 -33
- package/dist/commands/__tests__/gateway.test.js.map +1 -1
- package/dist/commands/gateway.d.ts +16 -1
- package/dist/commands/gateway.d.ts.map +1 -1
- package/dist/commands/gateway.js +161 -10
- package/dist/commands/gateway.js.map +1 -1
- package/dist/lib/__tests__/api.test.js +25 -0
- package/dist/lib/__tests__/api.test.js.map +1 -1
- package/dist/lib/api.d.ts +9 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +8 -0
- package/dist/lib/api.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
# NovaDev
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**A senior engineer AI agent that plugs into [Nova](https://withnova.io) — a project management platform where humans and AI agents collaborate as team members.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Nova manages organizations, teams, and tasks. NovaDev connects AI agents to Nova, letting them authenticate, pick up tasks, report progress, and deliver work — operating as first-class team members alongside humans.
|
|
6
|
+
|
|
7
|
+
### Operating Modes
|
|
8
|
+
|
|
9
|
+
| Mode | Command | Description |
|
|
10
|
+
| ----------- | ----------------- | ----------------------------------------------------------------------- |
|
|
11
|
+
| **CLI** | `novadev <cmd>` | Interactive commands for auth, status reporting, and task management |
|
|
12
|
+
| **MCP** | `novadev mcp` | Stdio MCP server exposing all capabilities as tools for AI agents |
|
|
13
|
+
| **Gateway** | `novadev gateway` | Persistent polling loop that auto-claims and solves tasks via an AI CLI |
|
|
6
14
|
|
|
7
15
|
## Concepts
|
|
8
16
|
|
|
@@ -47,10 +55,19 @@ novadev whoami
|
|
|
47
55
|
# List available tasks for your teams
|
|
48
56
|
novadev tasks
|
|
49
57
|
|
|
58
|
+
# Filter tasks by team
|
|
59
|
+
novadev tasks --team <teamId>
|
|
60
|
+
|
|
61
|
+
# Claim a task
|
|
62
|
+
novadev tasks claim <taskId>
|
|
63
|
+
|
|
50
64
|
# Report status
|
|
51
65
|
novadev status start "Implementing auth flow for #42"
|
|
52
66
|
novadev status done "Completed auth flow for #42"
|
|
53
67
|
novadev status blocked "Waiting on API spec for payments"
|
|
68
|
+
|
|
69
|
+
# Report status linked to a task
|
|
70
|
+
novadev status start "Working on login" -t <taskId>
|
|
54
71
|
```
|
|
55
72
|
|
|
56
73
|
### Gateway Mode
|
|
@@ -68,11 +85,18 @@ novadev gateway --provider codex
|
|
|
68
85
|
novadev gateway --interval 60 --concurrency 3
|
|
69
86
|
```
|
|
70
87
|
|
|
71
|
-
| Option | Default | Description
|
|
72
|
-
| ----------------------- | -------- |
|
|
73
|
-
| `-i, --interval <s>` | `300` | Polling interval in seconds
|
|
74
|
-
| `-c, --concurrency <n>` | `1` | Max parallel tasks
|
|
75
|
-
| `-p, --provider <name>` | `claude` | AI CLI: `claude`, `codex`, `gemini`
|
|
88
|
+
| Option | Default | Description |
|
|
89
|
+
| ----------------------- | -------- | ------------------------------------- |
|
|
90
|
+
| `-i, --interval <s>` | `300` | Polling interval in seconds |
|
|
91
|
+
| `-c, --concurrency <n>` | `1` | Max parallel tasks |
|
|
92
|
+
| `-p, --provider <name>` | `claude` | AI CLI: `claude`, `codex`, `gemini` |
|
|
93
|
+
| `--no-logging` | enabled | Disable session log streaming to Nova |
|
|
94
|
+
|
|
95
|
+
**Claude streaming:** When using the `claude` provider, the gateway uses Claude Code's streaming JSON output for real-time visibility — no output size limits, session logs streamed to Nova, and full project context via repo cloning.
|
|
96
|
+
|
|
97
|
+
**Heartbeats:** Every poll cycle sends a heartbeat to Nova so the platform knows the agent is alive.
|
|
98
|
+
|
|
99
|
+
**Repo cloning:** If a task description includes `Repository: org/repo`, the gateway clones the repo before running the AI CLI, giving it full project context.
|
|
76
100
|
|
|
77
101
|
The gateway reports the provider name with each status update so Nova knows which AI system processed the task. Press Ctrl+C to shut down gracefully (waits for active tasks to finish).
|
|
78
102
|
|
|
@@ -85,15 +109,16 @@ NovaDev also runs as an MCP server (stdio transport), exposing the same capabili
|
|
|
85
109
|
novadev mcp
|
|
86
110
|
```
|
|
87
111
|
|
|
88
|
-
| Tool | Description
|
|
89
|
-
| ------------------ |
|
|
90
|
-
| `nova_auth` | Authenticate with an org using an invite token
|
|
91
|
-
| `nova_whoami` | Check agent identity and team memberships
|
|
92
|
-
| `nova_status` | Report work status (start/done/blocked)
|
|
93
|
-
| `nova_tasks` | List available tasks for your teams
|
|
94
|
-
| `nova_tasks_claim` | Claim an available task
|
|
112
|
+
| Tool | Description |
|
|
113
|
+
| ------------------ | ------------------------------------------------------ |
|
|
114
|
+
| `nova_auth` | Authenticate with an org using an invite token |
|
|
115
|
+
| `nova_whoami` | Check agent identity and team memberships |
|
|
116
|
+
| `nova_status` | Report work status (start/done/blocked) |
|
|
117
|
+
| `nova_tasks` | List available tasks for your teams |
|
|
118
|
+
| `nova_tasks_claim` | Claim an available task |
|
|
119
|
+
| `nova_announce` | Announce agent role, provider, model, and capabilities |
|
|
95
120
|
|
|
96
|
-
Add to your Claude Code MCP config (`~/.claude/
|
|
121
|
+
Add to your Claude Code MCP config (`~/.claude/settings.json` or project-level `.claude/settings.json`):
|
|
97
122
|
|
|
98
123
|
```json
|
|
99
124
|
{
|
|
@@ -106,6 +131,18 @@ Add to your Claude Code MCP config (`~/.claude/claude_desktop_config.json`):
|
|
|
106
131
|
}
|
|
107
132
|
```
|
|
108
133
|
|
|
134
|
+
## External Tool Assumptions
|
|
135
|
+
|
|
136
|
+
NovaDev assumes the following CLI tools are installed and authenticated by the user. It does not manage their credentials — it inherits whatever scope and permissions the user has configured:
|
|
137
|
+
|
|
138
|
+
| Tool | Purpose |
|
|
139
|
+
| -------- | ------------------------------------------------- |
|
|
140
|
+
| `gh` | GitHub CLI — used for PR creation, issue queries |
|
|
141
|
+
| `claude` | Claude Code CLI — primary AI provider for gateway |
|
|
142
|
+
| `codex` | OpenAI Codex CLI — alternative AI provider |
|
|
143
|
+
| `gemini` | Google Gemini CLI — alternative AI provider |
|
|
144
|
+
| `git` | Version control — repo cloning, branch management |
|
|
145
|
+
|
|
109
146
|
## Architecture
|
|
110
147
|
|
|
111
148
|
```
|
|
@@ -131,18 +168,16 @@ Add to your Claude Code MCP config (`~/.claude/claude_desktop_config.json`):
|
|
|
131
168
|
└─────────────────────────────────────┘
|
|
132
169
|
```
|
|
133
170
|
|
|
134
|
-
## API Endpoints
|
|
171
|
+
## API Endpoints
|
|
135
172
|
|
|
136
173
|
### Auth
|
|
137
174
|
|
|
138
|
-
- `POST /api/agents/invite` — Admin creates agent invite → returns invite token
|
|
139
175
|
- `POST /api/agents/auth` — Agent exchanges invite token for auth credential
|
|
140
176
|
- `GET /api/agents/me` — Get agent identity, org, and teams
|
|
141
177
|
|
|
142
178
|
### Status Reporting
|
|
143
179
|
|
|
144
180
|
- `POST /api/agents/status` — Report work status (start/done/blocked)
|
|
145
|
-
- `GET /api/agents/status/:agentId` — Get agent's current status
|
|
146
181
|
|
|
147
182
|
### Tasks
|
|
148
183
|
|
|
@@ -150,21 +185,39 @@ Add to your Claude Code MCP config (`~/.claude/claude_desktop_config.json`):
|
|
|
150
185
|
- `GET /api/agents/me/tasks` — List tasks across all agent's teams
|
|
151
186
|
- `POST /api/tasks/:taskId/claim` — Agent claims a task
|
|
152
187
|
|
|
153
|
-
###
|
|
188
|
+
### Announcements
|
|
189
|
+
|
|
190
|
+
- `POST /api/agents/announce` — Announce agent role, provider, model, and capabilities
|
|
154
191
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
- `
|
|
192
|
+
### Heartbeat & Session Logging
|
|
193
|
+
|
|
194
|
+
- `POST /api/agents/heartbeat` — Update agent last-seen timestamp
|
|
195
|
+
- `POST /api/agents/sessions/log` — Stream session log lines to Nova
|
|
158
196
|
|
|
159
197
|
## Credential Storage
|
|
160
198
|
|
|
161
199
|
```
|
|
162
200
|
~/.novadev/
|
|
163
|
-
credentials.json
|
|
201
|
+
credentials.json
|
|
164
202
|
```
|
|
165
203
|
|
|
166
|
-
|
|
167
|
-
|
|
204
|
+
```json
|
|
205
|
+
{
|
|
206
|
+
"orgs": {
|
|
207
|
+
"<orgId>": {
|
|
208
|
+
"agentId": "...",
|
|
209
|
+
"token": "...",
|
|
210
|
+
"name": "...",
|
|
211
|
+
"orgName": "...",
|
|
212
|
+
"authenticatedAt": "..."
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
"defaultOrg": "<orgId>"
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
- Supports multiple orgs, with a default active org
|
|
220
|
+
- Agent authenticates once per org, credential persists
|
|
168
221
|
- Token used for all subsequent API calls
|
|
169
222
|
|
|
170
223
|
## Tech Stack
|
|
@@ -180,29 +233,41 @@ Add to your Claude Code MCP config (`~/.claude/claude_desktop_config.json`):
|
|
|
180
233
|
|
|
181
234
|
### Phase 1: Auth & Identity
|
|
182
235
|
|
|
183
|
-
- [
|
|
184
|
-
- [
|
|
185
|
-
- [
|
|
186
|
-
- [
|
|
187
|
-
- [ ] `novadev whoami` command
|
|
236
|
+
- [x] Token exchange endpoint
|
|
237
|
+
- [x] `novadev auth` command
|
|
238
|
+
- [x] Local credential storage
|
|
239
|
+
- [x] `novadev whoami` command
|
|
188
240
|
|
|
189
241
|
### Phase 2: Status Reporting
|
|
190
242
|
|
|
191
|
-
- [
|
|
192
|
-
- [
|
|
193
|
-
- [ ] Nova receives and displays agent activity
|
|
243
|
+
- [x] `novadev status` command
|
|
244
|
+
- [x] Nova receives and displays agent activity
|
|
194
245
|
|
|
195
246
|
### Phase 3: Task Management
|
|
196
247
|
|
|
197
|
-
- [
|
|
198
|
-
- [
|
|
199
|
-
- [ ] Task claiming flow
|
|
248
|
+
- [x] `novadev tasks` command
|
|
249
|
+
- [x] Task claiming flow
|
|
200
250
|
|
|
201
251
|
### Phase 4: MCP Integration
|
|
202
252
|
|
|
203
253
|
- [x] MCP server mode (`novadev mcp`)
|
|
204
254
|
- [x] All CLI commands as MCP tools
|
|
205
255
|
|
|
256
|
+
### Phase 5: Gateway Mode
|
|
257
|
+
|
|
258
|
+
- [x] Persistent polling loop
|
|
259
|
+
- [x] Multi-provider support (claude, codex, gemini)
|
|
260
|
+
- [x] Configurable concurrency and polling interval
|
|
261
|
+
- [x] Agent capability announcement
|
|
262
|
+
|
|
263
|
+
### Phase 6: Streaming & Observability
|
|
264
|
+
|
|
265
|
+
- [x] Claude streaming output via `spawn` + NDJSON parsing
|
|
266
|
+
- [x] Heartbeats on every poll cycle
|
|
267
|
+
- [x] Session log streaming to Nova
|
|
268
|
+
- [x] Repo cloning from structured task descriptions
|
|
269
|
+
- [x] Structured task instructions (repo, ticket, PR reminder)
|
|
270
|
+
|
|
206
271
|
## License
|
|
207
272
|
|
|
208
273
|
MIT
|
package/dist/cli.js
CHANGED
|
@@ -11,7 +11,7 @@ const mcp_js_1 = require("./mcp.js");
|
|
|
11
11
|
const program = new commander_1.Command()
|
|
12
12
|
.name('novadev')
|
|
13
13
|
.description('Connect AI agents to your teams in the Nova system')
|
|
14
|
-
.version('1.
|
|
14
|
+
.version('1.2.0');
|
|
15
15
|
program.addCommand(auth_js_1.authCommand);
|
|
16
16
|
program.addCommand(whoami_js_1.whoamiCommand);
|
|
17
17
|
program.addCommand(status_js_1.statusCommand);
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const vitest_1 = require("vitest");
|
|
4
4
|
const node_child_process_1 = require("node:child_process");
|
|
5
|
+
const node_stream_1 = require("node:stream");
|
|
5
6
|
vitest_1.vi.mock('node:child_process', () => ({
|
|
6
7
|
execFile: vitest_1.vi.fn(),
|
|
8
|
+
spawn: vitest_1.vi.fn(),
|
|
7
9
|
}));
|
|
8
10
|
vitest_1.vi.mock('../../lib/api.js', () => ({
|
|
9
11
|
api: {
|
|
@@ -11,6 +13,8 @@ vitest_1.vi.mock('../../lib/api.js', () => ({
|
|
|
11
13
|
reportStatus: vitest_1.vi.fn().mockResolvedValue({}),
|
|
12
14
|
tasks: vitest_1.vi.fn().mockResolvedValue([]),
|
|
13
15
|
announce: vitest_1.vi.fn().mockResolvedValue({}),
|
|
16
|
+
heartbeat: vitest_1.vi.fn().mockResolvedValue({}),
|
|
17
|
+
logSession: vitest_1.vi.fn().mockResolvedValue({}),
|
|
14
18
|
},
|
|
15
19
|
}));
|
|
16
20
|
vitest_1.vi.mock('../../lib/credentials.js', () => ({
|
|
@@ -24,6 +28,7 @@ vitest_1.vi.mock('../../config.js', () => ({
|
|
|
24
28
|
const api_js_1 = require("../../lib/api.js");
|
|
25
29
|
const gateway_js_1 = require("../gateway.js");
|
|
26
30
|
const mockExecFile = vitest_1.vi.mocked(node_child_process_1.execFile);
|
|
31
|
+
const mockSpawn = vitest_1.vi.mocked(node_child_process_1.spawn);
|
|
27
32
|
const mockApi = vitest_1.vi.mocked(api_js_1.api);
|
|
28
33
|
const fakeTask = {
|
|
29
34
|
id: 'task-1',
|
|
@@ -36,10 +41,35 @@ const fakeTask = {
|
|
|
36
41
|
priority: 'high',
|
|
37
42
|
createdAt: '2025-01-01',
|
|
38
43
|
};
|
|
44
|
+
function createMockProc() {
|
|
45
|
+
const proc = new node_stream_1.EventEmitter();
|
|
46
|
+
const stdout = new node_stream_1.Readable({ read() { } });
|
|
47
|
+
const stderr = new node_stream_1.Readable({ read() { } });
|
|
48
|
+
proc.stdout = stdout;
|
|
49
|
+
proc.stderr = stderr;
|
|
50
|
+
proc.stdin = null;
|
|
51
|
+
proc.stdio = [null, stdout, stderr];
|
|
52
|
+
proc.pid = 12345;
|
|
53
|
+
proc.connected = false;
|
|
54
|
+
proc.exitCode = null;
|
|
55
|
+
proc.signalCode = null;
|
|
56
|
+
proc.spawnargs = [];
|
|
57
|
+
proc.spawnfile = '';
|
|
58
|
+
proc.killed = false;
|
|
59
|
+
proc.kill = vitest_1.vi.fn();
|
|
60
|
+
proc.send = vitest_1.vi.fn();
|
|
61
|
+
proc.disconnect = vitest_1.vi.fn();
|
|
62
|
+
proc.unref = vitest_1.vi.fn();
|
|
63
|
+
proc.ref = vitest_1.vi.fn();
|
|
64
|
+
proc[Symbol.dispose] = vitest_1.vi.fn();
|
|
65
|
+
return { proc, stdout, stderr };
|
|
66
|
+
}
|
|
39
67
|
(0, vitest_1.beforeEach)(() => {
|
|
40
68
|
vitest_1.vi.clearAllMocks();
|
|
41
69
|
mockApi.claimTask.mockResolvedValue({});
|
|
42
70
|
mockApi.reportStatus.mockResolvedValue(undefined);
|
|
71
|
+
mockApi.heartbeat.mockResolvedValue({ ok: true });
|
|
72
|
+
mockApi.logSession.mockResolvedValue({ ok: true });
|
|
43
73
|
});
|
|
44
74
|
(0, vitest_1.describe)('provider validation', () => {
|
|
45
75
|
(0, vitest_1.it)('rejects unknown provider via PROVIDERS lookup', () => {
|
|
@@ -62,46 +92,108 @@ const fakeTask = {
|
|
|
62
92
|
});
|
|
63
93
|
await (0, vitest_1.expect)((0, gateway_js_1.verifyProvider)('claude')).rejects.toThrow('not installed or not in PATH');
|
|
64
94
|
});
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
95
|
+
});
|
|
96
|
+
(0, vitest_1.describe)('parseRepo', () => {
|
|
97
|
+
(0, vitest_1.it)('extracts repo from description', () => {
|
|
98
|
+
(0, vitest_1.expect)((0, gateway_js_1.parseRepo)('Repository: squidcode/nova\n\nDo stuff')).toBe('squidcode/nova');
|
|
99
|
+
});
|
|
100
|
+
(0, vitest_1.it)('returns null when no repo line', () => {
|
|
101
|
+
(0, vitest_1.expect)((0, gateway_js_1.parseRepo)('Just a description')).toBeNull();
|
|
102
|
+
});
|
|
103
|
+
(0, vitest_1.it)('handles repo with ticket below', () => {
|
|
104
|
+
(0, vitest_1.expect)((0, gateway_js_1.parseRepo)('Repository: org/repo\nTicket: #42\n\nDesc')).toBe('org/repo');
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
(0, vitest_1.describe)('processTask with claude (streaming)', () => {
|
|
108
|
+
(0, vitest_1.it)('claims task, spawns claude, reports done', async () => {
|
|
109
|
+
const { proc, stdout } = createMockProc();
|
|
110
|
+
mockSpawn.mockReturnValue(proc);
|
|
111
|
+
const promise = (0, gateway_js_1.processTask)(fakeTask, 'claude', { logging: true });
|
|
112
|
+
// Simulate stream-json output
|
|
113
|
+
const resultEvent = JSON.stringify({
|
|
114
|
+
type: 'result',
|
|
115
|
+
result: 'Task completed successfully',
|
|
69
116
|
});
|
|
70
|
-
|
|
117
|
+
stdout.push(resultEvent + '\n');
|
|
118
|
+
stdout.push(null);
|
|
119
|
+
// Process closes
|
|
120
|
+
setTimeout(() => proc.emit('close', 0), 10);
|
|
121
|
+
await promise;
|
|
122
|
+
(0, vitest_1.expect)(mockApi.claimTask).toHaveBeenCalledWith('task-1');
|
|
123
|
+
(0, vitest_1.expect)(mockApi.reportStatus).toHaveBeenCalledWith('start', '[claude] Fix bug', 'task-1');
|
|
124
|
+
(0, vitest_1.expect)(mockApi.reportStatus).toHaveBeenCalledWith('done', vitest_1.expect.stringContaining('[claude]'), 'task-1');
|
|
125
|
+
});
|
|
126
|
+
(0, vitest_1.it)('reports blocked on spawn error', async () => {
|
|
127
|
+
const { proc } = createMockProc();
|
|
128
|
+
mockSpawn.mockReturnValue(proc);
|
|
129
|
+
const promise = (0, gateway_js_1.processTask)(fakeTask, 'claude', { logging: true });
|
|
130
|
+
setTimeout(() => proc.emit('error', new Error('spawn ENOENT')), 10);
|
|
131
|
+
await promise;
|
|
132
|
+
(0, vitest_1.expect)(mockApi.reportStatus).toHaveBeenCalledWith('blocked', '[claude] spawn ENOENT', 'task-1');
|
|
133
|
+
});
|
|
134
|
+
(0, vitest_1.it)('sends session logs when logging is enabled', async () => {
|
|
135
|
+
const { proc, stdout } = createMockProc();
|
|
136
|
+
mockSpawn.mockReturnValue(proc);
|
|
137
|
+
const promise = (0, gateway_js_1.processTask)(fakeTask, 'claude', { logging: true });
|
|
138
|
+
// Send assistant message event
|
|
139
|
+
const event = JSON.stringify({
|
|
140
|
+
type: 'assistant',
|
|
141
|
+
message: { content: [{ type: 'text', text: 'Working on it' }] },
|
|
142
|
+
});
|
|
143
|
+
stdout.push(event + '\n');
|
|
144
|
+
stdout.push(null);
|
|
145
|
+
setTimeout(() => proc.emit('close', 0), 10);
|
|
146
|
+
await promise;
|
|
147
|
+
// logSession should have been called at least once (the final flush with done: true)
|
|
148
|
+
(0, vitest_1.expect)(mockApi.logSession).toHaveBeenCalled();
|
|
149
|
+
const finalCall = mockApi.logSession.mock.calls.find((c) => c[2] === true);
|
|
150
|
+
(0, vitest_1.expect)(finalCall).toBeDefined();
|
|
151
|
+
});
|
|
152
|
+
(0, vitest_1.it)('skips session logs when logging is disabled', async () => {
|
|
153
|
+
const { proc, stdout } = createMockProc();
|
|
154
|
+
mockSpawn.mockReturnValue(proc);
|
|
155
|
+
const promise = (0, gateway_js_1.processTask)(fakeTask, 'claude', { logging: false });
|
|
156
|
+
const event = JSON.stringify({
|
|
157
|
+
type: 'assistant',
|
|
158
|
+
message: { content: [{ type: 'text', text: 'Working on it' }] },
|
|
159
|
+
});
|
|
160
|
+
stdout.push(event + '\n');
|
|
161
|
+
stdout.push(null);
|
|
162
|
+
setTimeout(() => proc.emit('close', 0), 10);
|
|
163
|
+
await promise;
|
|
164
|
+
(0, vitest_1.expect)(mockApi.logSession).not.toHaveBeenCalled();
|
|
71
165
|
});
|
|
72
166
|
});
|
|
73
|
-
(0, vitest_1.describe)('processTask', () => {
|
|
74
|
-
(0, vitest_1.it)('
|
|
167
|
+
(0, vitest_1.describe)('processTask with non-claude provider', () => {
|
|
168
|
+
(0, vitest_1.it)('uses execFile for codex provider', async () => {
|
|
75
169
|
mockExecFile.mockImplementation((_cmd, _args, _opts, cb) => {
|
|
76
170
|
cb(null, 'Task completed');
|
|
77
171
|
return undefined;
|
|
78
172
|
});
|
|
79
|
-
await (0, gateway_js_1.processTask)(fakeTask, '
|
|
173
|
+
await (0, gateway_js_1.processTask)(fakeTask, 'codex');
|
|
80
174
|
(0, vitest_1.expect)(mockApi.claimTask).toHaveBeenCalledWith('task-1');
|
|
81
|
-
(0, vitest_1.expect)(mockApi.reportStatus).toHaveBeenCalledWith('
|
|
82
|
-
(0, vitest_1.expect)(mockApi.reportStatus).toHaveBeenCalledWith('done', '[claude] Task completed', 'task-1');
|
|
175
|
+
(0, vitest_1.expect)(mockApi.reportStatus).toHaveBeenCalledWith('done', '[codex] Task completed', 'task-1');
|
|
83
176
|
});
|
|
84
177
|
(0, vitest_1.it)('reports blocked status on CLI failure', async () => {
|
|
85
178
|
mockExecFile.mockImplementation((_cmd, _args, _opts, cb) => {
|
|
86
179
|
cb(new Error('CLI crashed'), '');
|
|
87
180
|
return undefined;
|
|
88
181
|
});
|
|
89
|
-
await (0, gateway_js_1.processTask)(fakeTask, '
|
|
90
|
-
(0, vitest_1.expect)(mockApi.reportStatus).toHaveBeenCalledWith('blocked', '[
|
|
182
|
+
await (0, gateway_js_1.processTask)(fakeTask, 'codex');
|
|
183
|
+
(0, vitest_1.expect)(mockApi.reportStatus).toHaveBeenCalledWith('blocked', '[codex] CLI crashed', 'task-1');
|
|
91
184
|
});
|
|
92
185
|
});
|
|
93
|
-
(0, vitest_1.describe)('output truncation', () => {
|
|
186
|
+
(0, vitest_1.describe)('output truncation (non-claude providers)', () => {
|
|
94
187
|
(0, vitest_1.it)('truncates stdout over MAX_OUTPUT_BYTES', async () => {
|
|
95
188
|
const longOutput = 'x'.repeat(gateway_js_1.MAX_OUTPUT_BYTES + 1000);
|
|
96
189
|
mockExecFile.mockImplementation((_cmd, _args, _opts, cb) => {
|
|
97
190
|
cb(null, longOutput);
|
|
98
191
|
return undefined;
|
|
99
192
|
});
|
|
100
|
-
await (0, gateway_js_1.processTask)(fakeTask, '
|
|
193
|
+
await (0, gateway_js_1.processTask)(fakeTask, 'codex');
|
|
101
194
|
const doneCall = mockApi.reportStatus.mock.calls.find((c) => c[0] === 'done');
|
|
102
195
|
(0, vitest_1.expect)(doneCall).toBeDefined();
|
|
103
|
-
|
|
104
|
-
const reportedOutput = doneCall[1].replace('[claude] ', '');
|
|
196
|
+
const reportedOutput = doneCall[1].replace('[codex] ', '');
|
|
105
197
|
(0, vitest_1.expect)(reportedOutput.length).toBe(gateway_js_1.MAX_OUTPUT_BYTES);
|
|
106
198
|
});
|
|
107
199
|
});
|
|
@@ -113,21 +205,4 @@ const fakeTask = {
|
|
|
113
205
|
}
|
|
114
206
|
});
|
|
115
207
|
});
|
|
116
|
-
(0, vitest_1.describe)('announcement at startup', () => {
|
|
117
|
-
(0, vitest_1.it)('api.announce is callable with expected payload shape', () => {
|
|
118
|
-
const payload = {
|
|
119
|
-
role: 'Senior full-stack engineer',
|
|
120
|
-
provider: 'claude',
|
|
121
|
-
model: 'claude-code 1.2.3',
|
|
122
|
-
capabilities: gateway_js_1.AGENT_CAPABILITIES,
|
|
123
|
-
};
|
|
124
|
-
mockApi.announce(payload);
|
|
125
|
-
(0, vitest_1.expect)(mockApi.announce).toHaveBeenCalledWith(vitest_1.expect.objectContaining({
|
|
126
|
-
role: 'Senior full-stack engineer',
|
|
127
|
-
provider: 'claude',
|
|
128
|
-
model: 'claude-code 1.2.3',
|
|
129
|
-
capabilities: vitest_1.expect.arrayContaining(['Full-stack web development']),
|
|
130
|
-
}));
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
208
|
//# sourceMappingURL=gateway.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/gateway.test.ts"],"names":[],"mappings":";;AAAA,mCAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"gateway.test.js","sourceRoot":"","sources":["../../../src/commands/__tests__/gateway.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,21 @@ export declare const PROVIDERS: Record<string, {
|
|
|
8
8
|
export declare const AGENT_CAPABILITIES: string[];
|
|
9
9
|
export declare function verifyProvider(provider: string): Promise<string>;
|
|
10
10
|
export declare function runProvider(provider: string, prompt: string): Promise<string>;
|
|
11
|
-
|
|
11
|
+
/** Parse "Repository: org/repo" from task description */
|
|
12
|
+
export declare function parseRepo(description: string): string | null;
|
|
13
|
+
/** Clone a repo and return the directory path. Throws on failure. */
|
|
14
|
+
export declare function cloneRepo(repo: string, cwd: string): Promise<string>;
|
|
15
|
+
export interface SessionLogOptions {
|
|
16
|
+
logging: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Run Claude via spawn with stream-json output, accumulating full output
|
|
20
|
+
* and streaming session logs to Nova.
|
|
21
|
+
*/
|
|
22
|
+
export declare function runClaudeStreaming(prompt: string, taskId: string, opts: {
|
|
23
|
+
cwd?: string;
|
|
24
|
+
logging: boolean;
|
|
25
|
+
}): Promise<string>;
|
|
26
|
+
export declare function processTask(task: Task, provider: string, opts?: SessionLogOptions): Promise<void>;
|
|
12
27
|
export declare const gatewayCommand: Command;
|
|
13
28
|
//# sourceMappingURL=gateway.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/commands/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/commands/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAwB,IAAI,EAAE,MAAM,eAAe,CAAC;AAG3D,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,eAAO,MAAM,SAAS,EAAE,MAAM,CAC5B,MAAM,EACN;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,EAAE,CAAA;CAAE,CAK7D,CAAC;AAUF,eAAO,MAAM,kBAAkB,UAS9B,CAAC;AAEF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWhE;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAY7E;AAED,yDAAyD;AACzD,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG5D;AAED,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUpE;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACvC,OAAO,CAAC,MAAM,CAAC,CAyFjB;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,iBAAqC,GAC1C,OAAO,CAAC,IAAI,CAAC,CA2Df;AAMD,eAAO,MAAM,cAAc,SAsGxB,CAAC"}
|
package/dist/commands/gateway.js
CHANGED
|
@@ -3,9 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.gatewayCommand = exports.AGENT_CAPABILITIES = exports.PROVIDERS = exports.MAX_OUTPUT_BYTES = void 0;
|
|
4
4
|
exports.verifyProvider = verifyProvider;
|
|
5
5
|
exports.runProvider = runProvider;
|
|
6
|
+
exports.parseRepo = parseRepo;
|
|
7
|
+
exports.cloneRepo = cloneRepo;
|
|
8
|
+
exports.runClaudeStreaming = runClaudeStreaming;
|
|
6
9
|
exports.processTask = processTask;
|
|
7
10
|
const commander_1 = require("commander");
|
|
8
11
|
const node_child_process_1 = require("node:child_process");
|
|
12
|
+
const node_readline_1 = require("node:readline");
|
|
9
13
|
const api_js_1 = require("../lib/api.js");
|
|
10
14
|
const credentials_js_1 = require("../lib/credentials.js");
|
|
11
15
|
exports.MAX_OUTPUT_BYTES = 4096;
|
|
@@ -57,20 +61,162 @@ function runProvider(provider, prompt) {
|
|
|
57
61
|
});
|
|
58
62
|
});
|
|
59
63
|
}
|
|
60
|
-
|
|
64
|
+
/** Parse "Repository: org/repo" from task description */
|
|
65
|
+
function parseRepo(description) {
|
|
66
|
+
const match = description.match(/^Repository:\s*(\S+)/m);
|
|
67
|
+
return match ? match[1] : null;
|
|
68
|
+
}
|
|
69
|
+
/** Clone a repo and return the directory path. Throws on failure. */
|
|
70
|
+
function cloneRepo(repo, cwd) {
|
|
71
|
+
const url = `https://github.com/${repo}.git`;
|
|
72
|
+
const repoName = repo.split('/').pop();
|
|
73
|
+
const dir = `${cwd}/${repoName}`;
|
|
74
|
+
return new Promise((resolve, reject) => {
|
|
75
|
+
(0, node_child_process_1.execFile)('git', ['clone', '--depth', '1', url, dir], (err) => {
|
|
76
|
+
if (err)
|
|
77
|
+
reject(new Error(`Failed to clone ${repo}: ${err.message}`));
|
|
78
|
+
else
|
|
79
|
+
resolve(dir);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Run Claude via spawn with stream-json output, accumulating full output
|
|
85
|
+
* and streaming session logs to Nova.
|
|
86
|
+
*/
|
|
87
|
+
function runClaudeStreaming(prompt, taskId, opts) {
|
|
88
|
+
return new Promise((resolve, reject) => {
|
|
89
|
+
const args = [
|
|
90
|
+
'-p',
|
|
91
|
+
prompt,
|
|
92
|
+
'--output-format',
|
|
93
|
+
'stream-json',
|
|
94
|
+
'--verbose',
|
|
95
|
+
'--max-turns',
|
|
96
|
+
'30',
|
|
97
|
+
'--permission-mode',
|
|
98
|
+
'bypassPermissions',
|
|
99
|
+
'--allowedTools',
|
|
100
|
+
'Bash,Read,Edit,Write,Glob,Grep',
|
|
101
|
+
'--no-session-persistence',
|
|
102
|
+
];
|
|
103
|
+
const proc = (0, node_child_process_1.spawn)('claude', args, {
|
|
104
|
+
cwd: opts.cwd,
|
|
105
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
106
|
+
});
|
|
107
|
+
let fullOutput = '';
|
|
108
|
+
const lineBuffer = [];
|
|
109
|
+
let lastFlush = Date.now();
|
|
110
|
+
const FLUSH_LINES = 20;
|
|
111
|
+
const FLUSH_INTERVAL_MS = 5000;
|
|
112
|
+
function flushLines(done = false) {
|
|
113
|
+
if (!opts.logging)
|
|
114
|
+
return;
|
|
115
|
+
if (lineBuffer.length === 0 && !done)
|
|
116
|
+
return;
|
|
117
|
+
const toSend = lineBuffer.splice(0);
|
|
118
|
+
api_js_1.api.logSession(taskId, toSend, done).catch(() => { });
|
|
119
|
+
}
|
|
120
|
+
const rl = (0, node_readline_1.createInterface)({ input: proc.stdout });
|
|
121
|
+
rl.on('line', (line) => {
|
|
122
|
+
try {
|
|
123
|
+
const event = JSON.parse(line);
|
|
124
|
+
// Extract text content from stream events
|
|
125
|
+
if (event.type === 'assistant' && event.message?.content) {
|
|
126
|
+
for (const block of event.message.content) {
|
|
127
|
+
if (block.type === 'text') {
|
|
128
|
+
fullOutput += block.text;
|
|
129
|
+
lineBuffer.push({ t: Date.now(), text: block.text });
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else if (event.type === 'content_block_delta' && event.delta?.text) {
|
|
134
|
+
fullOutput += event.delta.text;
|
|
135
|
+
lineBuffer.push({ t: Date.now(), text: event.delta.text });
|
|
136
|
+
}
|
|
137
|
+
else if (event.type === 'result' && event.result) {
|
|
138
|
+
// Final result message — capture if we haven't yet
|
|
139
|
+
if (typeof event.result === 'string' && !fullOutput) {
|
|
140
|
+
fullOutput = event.result;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// Periodic flush
|
|
144
|
+
const now = Date.now();
|
|
145
|
+
if (lineBuffer.length >= FLUSH_LINES || now - lastFlush >= FLUSH_INTERVAL_MS) {
|
|
146
|
+
flushLines();
|
|
147
|
+
lastFlush = now;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
// Not JSON or unknown format — skip
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
let stderrOutput = '';
|
|
155
|
+
proc.stderr?.on('data', (chunk) => {
|
|
156
|
+
stderrOutput += chunk.toString();
|
|
157
|
+
});
|
|
158
|
+
proc.on('close', (code) => {
|
|
159
|
+
flushLines(true);
|
|
160
|
+
if (code === 0) {
|
|
161
|
+
resolve(fullOutput);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
reject(new Error(stderrOutput || `claude exited with code ${code}`));
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
proc.on('error', (err) => {
|
|
168
|
+
flushLines(true);
|
|
169
|
+
reject(err);
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
async function processTask(task, provider, opts = { logging: true }) {
|
|
61
174
|
const label = `[${task.id}]`;
|
|
62
175
|
try {
|
|
63
176
|
await api_js_1.api.claimTask(task.id);
|
|
64
177
|
log(`Claiming: "${task.title}" (${task.id})`);
|
|
65
178
|
await api_js_1.api.reportStatus('start', `[${provider}] ${task.title}`, task.id);
|
|
66
179
|
const prompt = `Task: ${task.title}\n\n${task.description}`;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
180
|
+
if (provider === 'claude') {
|
|
181
|
+
// Streaming path for Claude
|
|
182
|
+
let cwd;
|
|
183
|
+
// Check if task description contains a repo to clone
|
|
184
|
+
const repo = parseRepo(task.description);
|
|
185
|
+
if (repo) {
|
|
186
|
+
const tmpDir = `/tmp/novadev-${task.id}`;
|
|
187
|
+
try {
|
|
188
|
+
const { mkdirSync } = await import('node:fs');
|
|
189
|
+
mkdirSync(tmpDir, { recursive: true });
|
|
190
|
+
cwd = await cloneRepo(repo, tmpDir);
|
|
191
|
+
log(`${label} Cloned ${repo} → ${cwd}`);
|
|
192
|
+
}
|
|
193
|
+
catch (err) {
|
|
194
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
195
|
+
log(`${label} Clone failed: ${msg}`);
|
|
196
|
+
// Continue without repo — Claude can still work
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
log(`${label} Running: claude (streaming)`);
|
|
200
|
+
const startTime = Date.now();
|
|
201
|
+
const output = await runClaudeStreaming(prompt, task.id, {
|
|
202
|
+
cwd,
|
|
203
|
+
logging: opts.logging,
|
|
204
|
+
});
|
|
205
|
+
const elapsed = Math.round((Date.now() - startTime) / 1000);
|
|
206
|
+
const summary = output.slice(0, 4096);
|
|
207
|
+
await api_js_1.api.reportStatus('done', `[${provider}] ${summary}`, task.id);
|
|
208
|
+
log(`${label} Done (${elapsed}s)`);
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
// Legacy execFile path for other providers
|
|
212
|
+
const { command, buildArgs } = exports.PROVIDERS[provider];
|
|
213
|
+
log(`${label} Running: ${command} ${buildArgs('...').join(' ')}`);
|
|
214
|
+
const startTime = Date.now();
|
|
215
|
+
const output = await runProvider(provider, prompt);
|
|
216
|
+
const elapsed = Math.round((Date.now() - startTime) / 1000);
|
|
217
|
+
await api_js_1.api.reportStatus('done', `[${provider}] ${output}`, task.id);
|
|
218
|
+
log(`${label} Done (${elapsed}s)`);
|
|
219
|
+
}
|
|
74
220
|
}
|
|
75
221
|
catch (err) {
|
|
76
222
|
const message = err instanceof Error ? err.message : String(err);
|
|
@@ -86,6 +232,7 @@ exports.gatewayCommand = new commander_1.Command('gateway')
|
|
|
86
232
|
.option('-i, --interval <seconds>', 'Polling interval in seconds', '300')
|
|
87
233
|
.option('-c, --concurrency <n>', 'Max parallel tasks', '1')
|
|
88
234
|
.option('-p, --provider <name>', `AI CLI to use: ${Object.keys(exports.PROVIDERS).join(', ')}`, 'claude')
|
|
235
|
+
.option('--no-logging', 'Disable session log streaming')
|
|
89
236
|
.action(async (opts) => {
|
|
90
237
|
if (!(0, credentials_js_1.getActiveCredential)()) {
|
|
91
238
|
console.error('Not authenticated. Run: novadev auth <token>');
|
|
@@ -120,7 +267,7 @@ exports.gatewayCommand = new commander_1.Command('gateway')
|
|
|
120
267
|
const message = err instanceof Error ? err.message : String(err);
|
|
121
268
|
log(`Announce failed (non-fatal): ${message}`);
|
|
122
269
|
}
|
|
123
|
-
log(`Gateway started. Provider: ${provider}. Polling every ${opts.interval}s. Concurrency: ${concurrency}. Ctrl+C to stop.`);
|
|
270
|
+
log(`Gateway started. Provider: ${provider}. Polling every ${opts.interval}s. Concurrency: ${concurrency}. Logging: ${opts.logging}. Ctrl+C to stop.`);
|
|
124
271
|
let shutdownRequested = false;
|
|
125
272
|
let activeTasks = 0;
|
|
126
273
|
process.on('SIGINT', () => {
|
|
@@ -130,6 +277,10 @@ exports.gatewayCommand = new commander_1.Command('gateway')
|
|
|
130
277
|
log(`Shutting down... waiting for ${activeTasks} active task(s)`);
|
|
131
278
|
});
|
|
132
279
|
while (!shutdownRequested) {
|
|
280
|
+
// Heartbeat — fire-and-forget
|
|
281
|
+
api_js_1.api.heartbeat().catch((err) => {
|
|
282
|
+
log(`Heartbeat failed (non-fatal): ${err instanceof Error ? err.message : String(err)}`);
|
|
283
|
+
});
|
|
133
284
|
log('Polling for tasks...');
|
|
134
285
|
try {
|
|
135
286
|
const tasks = await api_js_1.api.tasks();
|
|
@@ -143,7 +294,7 @@ exports.gatewayCommand = new commander_1.Command('gateway')
|
|
|
143
294
|
const batch = available.slice(0, slots);
|
|
144
295
|
for (const task of batch) {
|
|
145
296
|
activeTasks++;
|
|
146
|
-
processTask(task, provider).finally(() => {
|
|
297
|
+
processTask(task, provider, { logging: opts.logging }).finally(() => {
|
|
147
298
|
activeTasks--;
|
|
148
299
|
});
|
|
149
300
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/commands/gateway.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/commands/gateway.ts"],"names":[],"mappings":";;;AAoCA,wCAWC;AAED,kCAYC;AAGD,8BAGC;AAGD,8BAUC;AAUD,gDA6FC;AAED,kCA+DC;AAxPD,yCAAoC;AACpC,2DAAqD;AACrD,iDAAgD;AAChD,0CAA2D;AAC3D,0DAA4D;AAE/C,QAAA,gBAAgB,GAAG,IAAI,CAAC;AAExB,QAAA,SAAS,GAGlB;IACF,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;IAC1D,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;IACxD,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;CAC3D,CAAC;AAEF,SAAS,SAAS;IAChB,OAAO,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,GAAG,CAAC,GAAW;IACtB,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;AACzC,CAAC;AAEY,QAAA,kBAAkB,GAAG;IAChC,yCAAyC;IACzC,4BAA4B;IAC5B,+BAA+B;IAC/B,wCAAwC;IACxC,6BAA6B;IAC7B,8BAA8B;IAC9B,6BAA6B;IAC7B,wCAAwC;CACzC,CAAC;AAEF,SAAgB,cAAc,CAAC,QAAgB;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAS,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,6BAAQ,EAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC/C,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,mCAAmC,CAAC,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,WAAW,CAAC,QAAgB,EAAE,MAAc;IAC1D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,iBAAS,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,6BAAQ,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,wBAAgB,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC3E,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAgB,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,yDAAyD;AACzD,SAAgB,SAAS,CAAC,WAAmB;IAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,qEAAqE;AACrE,SAAgB,SAAS,CAAC,IAAY,EAAE,GAAW;IACjD,MAAM,GAAG,GAAG,sBAAsB,IAAI,MAAM,CAAC;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC;IACxC,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAC;IACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,6BAAQ,EAAC,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;YAC3D,IAAI,GAAG;gBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;;gBACjE,OAAO,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAMD;;;GAGG;AACH,SAAgB,kBAAkB,CAChC,MAAc,EACd,MAAc,EACd,IAAwC;IAExC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG;YACX,IAAI;YACJ,MAAM;YACN,iBAAiB;YACjB,aAAa;YACb,WAAW;YACX,aAAa;YACb,IAAI;YACJ,mBAAmB;YACnB,mBAAmB;YACnB,gBAAgB;YAChB,gCAAgC;YAChC,0BAA0B;SAC3B,CAAC;QAEF,MAAM,IAAI,GAAG,IAAA,0BAAK,EAAC,QAAQ,EAAE,IAAI,EAAE;YACjC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,UAAU,GAAuC,EAAE,CAAC;QAC1D,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC;QAE/B,SAAS,UAAU,CAAC,IAAI,GAAG,KAAK;YAC9B,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpC,YAAG,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,EAAE,GAAG,IAAA,+BAAe,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAO,EAAE,CAAC,CAAC;QAEpD,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE/B,0CAA0C;gBAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;oBACzD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;wBAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BAC1B,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;4BACzB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;wBACvD,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;oBACrE,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;oBAC/B,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7D,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACnD,mDAAmD;oBACnD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpD,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBAED,iBAAiB;gBACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,UAAU,CAAC,MAAM,IAAI,WAAW,IAAI,GAAG,GAAG,SAAS,IAAI,iBAAiB,EAAE,CAAC;oBAC7E,UAAU,EAAE,CAAC;oBACb,SAAS,GAAG,GAAG,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,YAAY,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,IAAI,2BAA2B,IAAI,EAAE,CAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACvB,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,IAAU,EACV,QAAgB,EAChB,OAA0B,EAAE,OAAO,EAAE,IAAI,EAAE;IAE3C,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,YAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,GAAG,CAAC,cAAc,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAE9C,MAAM,YAAG,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,QAAQ,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAExE,MAAM,MAAM,GAAG,SAAS,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAE5D,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,4BAA4B;YAC5B,IAAI,GAAuB,CAAC;YAE5B,qDAAqD;YACrD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,MAAM,GAAG,gBAAgB,IAAI,CAAC,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC9C,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvC,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACpC,GAAG,CAAC,GAAG,KAAK,WAAW,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;gBAC1C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC7D,GAAG,CAAC,GAAG,KAAK,kBAAkB,GAAG,EAAE,CAAC,CAAC;oBACrC,gDAAgD;gBAClD,CAAC;YACH,CAAC;YAED,GAAG,CAAC,GAAG,KAAK,8BAA8B,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;gBACvD,GAAG;gBACH,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;YAE5D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACtC,MAAM,YAAG,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,QAAQ,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACpE,GAAG,CAAC,GAAG,KAAK,UAAU,OAAO,IAAI,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,iBAAS,CAAC,QAAQ,CAAC,CAAC;YACnD,GAAG,CAAC,GAAG,KAAK,aAAa,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAElE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;YAE5D,MAAM,YAAG,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,QAAQ,KAAK,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACnE,GAAG,CAAC,GAAG,KAAK,UAAU,OAAO,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,YAAG,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,QAAQ,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvF,GAAG,CAAC,GAAG,KAAK,WAAW,OAAO,EAAE,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAEY,QAAA,cAAc,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,0EAA0E,CAAC;KACvF,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,EAAE,KAAK,CAAC;KACxE,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,GAAG,CAAC;KAC1D,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC;KAChG,MAAM,CAAC,cAAc,EAAE,+BAA+B,CAAC;KACvD,MAAM,CACL,KAAK,EAAE,IAAmF,EAAE,EAAE;IAC5F,IAAI,CAAC,IAAA,oCAAmB,GAAE,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,CAAC,iBAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CACX,qBAAqB,QAAQ,iBAAiB,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACpD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAEnD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAoB;QAC/B,IAAI,EAAE,4BAA4B;QAClC,QAAQ;QACR,KAAK;QACL,YAAY,EAAE,0BAAkB;KACjC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,YAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5B,GAAG,CAAC,+BAA+B,QAAQ,UAAU,KAAK,IAAI,WAAW,EAAE,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,GAAG,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,GAAG,CACD,8BAA8B,QAAQ,mBAAmB,IAAI,CAAC,QAAQ,mBAAmB,WAAW,cAAc,IAAI,CAAC,OAAO,mBAAmB,CAClJ,CAAC;IAEF,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,IAAI,iBAAiB;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,iBAAiB,GAAG,IAAI,CAAC;QACzB,GAAG,CAAC,gCAAgC,WAAW,iBAAiB,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC1B,8BAA8B;QAC9B,YAAG,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,GAAG,CAAC,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,YAAG,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAErD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,GAAG,CAAC,gCAAgC,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,UAAU,CAAC,CAAC;gBAEzC,MAAM,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC;gBACxC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,WAAW,EAAE,CAAC;oBACd,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;wBAClE,WAAW,EAAE,CAAC;oBAChB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,GAAG,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,kCAAkC;IAClC,OAAO,WAAW,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAC1B,CAAC,CACF,CAAC"}
|
|
@@ -123,4 +123,29 @@ function mockFetch(body, ok = true, status = 200) {
|
|
|
123
123
|
}));
|
|
124
124
|
});
|
|
125
125
|
});
|
|
126
|
+
(0, vitest_1.describe)('api.heartbeat', () => {
|
|
127
|
+
(0, vitest_1.it)('POSTs to /api/agents/heartbeat', async () => {
|
|
128
|
+
const fetchSpy = mockFetch({ ok: true });
|
|
129
|
+
await api_js_1.api.heartbeat();
|
|
130
|
+
(0, vitest_1.expect)(fetchSpy).toHaveBeenCalledWith('https://test.api/api/agents/heartbeat', vitest_1.expect.objectContaining({ method: 'POST' }));
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
(0, vitest_1.describe)('api.logSession', () => {
|
|
134
|
+
(0, vitest_1.it)('POSTs to /api/agents/sessions/log with lines and done', async () => {
|
|
135
|
+
const fetchSpy = mockFetch({ ok: true });
|
|
136
|
+
const lines = [{ t: 1000, text: 'hello' }];
|
|
137
|
+
await api_js_1.api.logSession('task-1', lines, true);
|
|
138
|
+
(0, vitest_1.expect)(fetchSpy).toHaveBeenCalledWith('https://test.api/api/agents/sessions/log', vitest_1.expect.objectContaining({
|
|
139
|
+
method: 'POST',
|
|
140
|
+
body: JSON.stringify({ taskId: 'task-1', lines, done: true }),
|
|
141
|
+
}));
|
|
142
|
+
});
|
|
143
|
+
(0, vitest_1.it)('sends undefined taskId when not provided', async () => {
|
|
144
|
+
const fetchSpy = mockFetch({ ok: true });
|
|
145
|
+
await api_js_1.api.logSession(undefined, [{ t: 1000, text: 'x' }]);
|
|
146
|
+
(0, vitest_1.expect)(fetchSpy).toHaveBeenCalledWith('https://test.api/api/agents/sessions/log', vitest_1.expect.objectContaining({
|
|
147
|
+
method: 'POST',
|
|
148
|
+
}));
|
|
149
|
+
});
|
|
150
|
+
});
|
|
126
151
|
//# sourceMappingURL=api.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/api.test.ts"],"names":[],"mappings":";;AAAA,mCAA8D;AAE9D,WAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IAClC,mBAAmB,EAAE,WAAE,CAAC,EAAE,EAAE;CAC7B,CAAC,CAAC,CAAC;AAEJ,WAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,SAAS,EAAE,GAAG,EAAE,CAAC,kBAAkB;CACpC,CAAC,CAAC,CAAC;AAEJ,sCAA8C;AAC9C,sDAAwD;AAExD,MAAM,cAAc,GAAG,WAAE,CAAC,MAAM,CAAC,oCAAmB,CAAC,CAAC;AAEtD,SAAS,SAAS,CAAC,IAAa,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,GAAG,GAAG;IACvD,MAAM,EAAE,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;QACnC,EAAE;QACF,MAAM;QACN,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;KACpF,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;IAClB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,IAAA,mBAAU,EAAC,GAAG,EAAE;IACd,WAAE,CAAC,eAAe,EAAE,CAAC;IACrB,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAA,WAAE,EAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,cAAc,CAAC,eAAe,CAAC;YAC7B,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI;YACX,eAAe,EAAE,EAAE;SACpB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9C,MAAM,YAAG,CAAC,EAAE,EAAE,CAAC;QAEf,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAClD,IAAA,eAAM,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9C,MAAM,YAAG,CAAC,EAAE,EAAE,CAAC;QAEf,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAClD,IAAA,eAAM,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAA,WAAE,EAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,SAAS,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAEnC,MAAM,IAAA,eAAM,EAAC,YAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAY,CAAC,CAAC;QACrD,MAAM,IAAA,eAAM,EAAC,YAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,UAAU,EAAE,GAAG,EAAE;IACxB,IAAA,WAAE,EAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC;YACzB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,GAAG;YACV,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,EAAE;SACV,CAAC,CAAC;QAEH,MAAM,YAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE7B,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,kCAAkC,EAClC,eAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;SACpD,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,IAAA,WAAE,EAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9C,MAAM,YAAG,CAAC,EAAE,EAAE,CAAC;QAEf,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,gCAAgC,EAChC,eAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAC3C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAA,WAAE,EAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QAE/B,MAAM,YAAG,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAErD,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,oCAAoC,EACpC,eAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;SAC9E,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAA,WAAE,EAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QAE/B,MAAM,YAAG,CAAC,KAAK,EAAE,CAAC;QAElB,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,sCAAsC,EACtC,eAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAC3C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QAE/B,MAAM,YAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE1B,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,yCAAyC,EACzC,eAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAC3C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,WAAE,EAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QAE/B,MAAM,YAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE/B,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,0CAA0C,EAC1C,eAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAC5C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAA,WAAE,EAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,4BAA4B;YAClC,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,mBAAmB;YAC1B,YAAY,EAAE,CAAC,4BAA4B,CAAC;SAC7C,CAAC;QAEF,MAAM,YAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE5B,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,sCAAsC,EACtC,eAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"api.test.js","sourceRoot":"","sources":["../../../src/lib/__tests__/api.test.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api.d.ts
CHANGED
|
@@ -48,5 +48,14 @@ export declare const api: {
|
|
|
48
48
|
tasks(teamId?: string): Promise<Task[]>;
|
|
49
49
|
claimTask(taskId: string): Promise<unknown>;
|
|
50
50
|
announce(payload: AnnouncePayload): Promise<unknown>;
|
|
51
|
+
heartbeat(): Promise<{
|
|
52
|
+
ok: boolean;
|
|
53
|
+
}>;
|
|
54
|
+
logSession(taskId: string | undefined, lines: Array<{
|
|
55
|
+
t: number;
|
|
56
|
+
text: string;
|
|
57
|
+
}>, done?: boolean): Promise<{
|
|
58
|
+
ok: boolean;
|
|
59
|
+
}>;
|
|
51
60
|
};
|
|
52
61
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/lib/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAGA,qBAAa,YAAa,SAAQ,KAAK;IAE5B,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKlB;AA+BD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,GAAG;sBACI,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;UAM1C,OAAO,CAAC,SAAS,CAAC;uBAIL,OAAO,GAAG,MAAM,GAAG,SAAS,WAAW,MAAM,WAAW,MAAM;mBAMlE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;sBAKrB,MAAM;sBAIN,eAAe;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAGA,qBAAa,YAAa,SAAQ,KAAK;IAE5B,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKlB;AA+BD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,GAAG;sBACI,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;UAM1C,OAAO,CAAC,SAAS,CAAC;uBAIL,OAAO,GAAG,MAAM,GAAG,SAAS,WAAW,MAAM,WAAW,MAAM;mBAMlE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;sBAKrB,MAAM;sBAIN,eAAe;iBAIpB,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;uBAK3B,MAAM,GAAG,SAAS,SACnB,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,SAClC,OAAO,GACb,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;CAK5B,CAAC"}
|
package/dist/lib/api.js
CHANGED
|
@@ -56,5 +56,13 @@ exports.api = {
|
|
|
56
56
|
announce(payload) {
|
|
57
57
|
return request('POST', '/api/agents/announce', { body: payload });
|
|
58
58
|
},
|
|
59
|
+
heartbeat() {
|
|
60
|
+
return request('POST', '/api/agents/heartbeat');
|
|
61
|
+
},
|
|
62
|
+
logSession(taskId, lines, done) {
|
|
63
|
+
return request('POST', '/api/agents/sessions/log', {
|
|
64
|
+
body: { taskId, lines, done },
|
|
65
|
+
});
|
|
66
|
+
},
|
|
59
67
|
};
|
|
60
68
|
//# sourceMappingURL=api.js.map
|
package/dist/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,qDAAuD;AAEvD,MAAa,YAAa,SAAQ,KAAK;IAE5B;IADT,YACS,MAAc,EACrB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,WAAM,GAAN,MAAM,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AARD,oCAQC;AAED,KAAK,UAAU,OAAO,CACpB,MAAc,EACd,IAAY,EACZ,OAA4C;IAE5C,MAAM,GAAG,GAAG,GAAG,IAAA,qBAAS,GAAE,GAAG,IAAI,EAAE,CAAC;IACpC,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAA,oCAAmB,GAAE,EAAE,KAAK,CAAC;IAC7D,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,MAAM;QACN,OAAO;QACP,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC/D,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;AAClC,CAAC;AAuCY,QAAA,GAAG,GAAG;IACjB,IAAI,CAAC,WAAmB;QACtB,OAAO,OAAO,CAAe,MAAM,EAAE,kBAAkB,EAAE;YACvD,IAAI,EAAE,EAAE,WAAW,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED,EAAE;QACA,OAAO,OAAO,CAAY,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED,YAAY,CAAC,IAAkC,EAAE,OAAe,EAAE,MAAe;QAC/E,OAAO,OAAO,CAAC,MAAM,EAAE,oBAAoB,EAAE;YAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;SAChC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAe;QACnB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC;QAC5E,OAAO,OAAO,CAAS,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,OAAO,OAAO,CAAC,MAAM,EAAE,cAAc,MAAM,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,QAAQ,CAAC,OAAwB;QAC/B,OAAO,OAAO,CAAC,MAAM,EAAE,sBAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,qDAAuD;AAEvD,MAAa,YAAa,SAAQ,KAAK;IAE5B;IADT,YACS,MAAc,EACrB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,WAAM,GAAN,MAAM,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AARD,oCAQC;AAED,KAAK,UAAU,OAAO,CACpB,MAAc,EACd,IAAY,EACZ,OAA4C;IAE5C,MAAM,GAAG,GAAG,GAAG,IAAA,qBAAS,GAAE,GAAG,IAAI,EAAE,CAAC;IACpC,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAA,oCAAmB,GAAE,EAAE,KAAK,CAAC;IAC7D,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,MAAM;QACN,OAAO;QACP,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC/D,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;AAClC,CAAC;AAuCY,QAAA,GAAG,GAAG;IACjB,IAAI,CAAC,WAAmB;QACtB,OAAO,OAAO,CAAe,MAAM,EAAE,kBAAkB,EAAE;YACvD,IAAI,EAAE,EAAE,WAAW,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED,EAAE;QACA,OAAO,OAAO,CAAY,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED,YAAY,CAAC,IAAkC,EAAE,OAAe,EAAE,MAAe;QAC/E,OAAO,OAAO,CAAC,MAAM,EAAE,oBAAoB,EAAE;YAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;SAChC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAe;QACnB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC;QAC5E,OAAO,OAAO,CAAS,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,OAAO,OAAO,CAAC,MAAM,EAAE,cAAc,MAAM,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,QAAQ,CAAC,OAAwB;QAC/B,OAAO,OAAO,CAAC,MAAM,EAAE,sBAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,SAAS;QACP,OAAO,OAAO,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IAClD,CAAC;IAED,UAAU,CACR,MAA0B,EAC1B,KAAyC,EACzC,IAAc;QAEd,OAAO,OAAO,CAAC,MAAM,EAAE,0BAA0B,EAAE;YACjD,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|