@blackms/aistack 1.0.12 → 1.1.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 +16 -0
- package/dist/cli/commands/index.d.ts +1 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/web.d.ts +6 -0
- package/dist/cli/commands/web.d.ts.map +1 -0
- package/dist/cli/commands/web.js +79 -0
- package/dist/cli/commands/web.js.map +1 -0
- package/dist/cli/index.js +2 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/cli-providers.d.ts.map +1 -1
- package/dist/providers/cli-providers.js +17 -2
- package/dist/providers/cli-providers.js.map +1 -1
- package/dist/web/index.d.ts +8 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +8 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/middleware/auth.d.ts +21 -0
- package/dist/web/middleware/auth.d.ts.map +1 -0
- package/dist/web/middleware/auth.js +31 -0
- package/dist/web/middleware/auth.js.map +1 -0
- package/dist/web/middleware/cors.d.ts +7 -0
- package/dist/web/middleware/cors.d.ts.map +1 -0
- package/dist/web/middleware/cors.js +28 -0
- package/dist/web/middleware/cors.js.map +1 -0
- package/dist/web/middleware/error.d.ts +16 -0
- package/dist/web/middleware/error.d.ts.map +1 -0
- package/dist/web/middleware/error.js +51 -0
- package/dist/web/middleware/error.js.map +1 -0
- package/dist/web/middleware/index.d.ts +7 -0
- package/dist/web/middleware/index.d.ts.map +1 -0
- package/dist/web/middleware/index.js +7 -0
- package/dist/web/middleware/index.js.map +1 -0
- package/dist/web/router.d.ts +40 -0
- package/dist/web/router.d.ts.map +1 -0
- package/dist/web/router.js +162 -0
- package/dist/web/router.js.map +1 -0
- package/dist/web/routes/agents.d.ts +7 -0
- package/dist/web/routes/agents.d.ts.map +1 -0
- package/dist/web/routes/agents.js +182 -0
- package/dist/web/routes/agents.js.map +1 -0
- package/dist/web/routes/index.d.ts +10 -0
- package/dist/web/routes/index.d.ts.map +1 -0
- package/dist/web/routes/index.js +10 -0
- package/dist/web/routes/index.js.map +1 -0
- package/dist/web/routes/memory.d.ts +7 -0
- package/dist/web/routes/memory.d.ts.map +1 -0
- package/dist/web/routes/memory.js +146 -0
- package/dist/web/routes/memory.js.map +1 -0
- package/dist/web/routes/sessions.d.ts +7 -0
- package/dist/web/routes/sessions.d.ts.map +1 -0
- package/dist/web/routes/sessions.js +75 -0
- package/dist/web/routes/sessions.js.map +1 -0
- package/dist/web/routes/system.d.ts +7 -0
- package/dist/web/routes/system.d.ts.map +1 -0
- package/dist/web/routes/system.js +147 -0
- package/dist/web/routes/system.js.map +1 -0
- package/dist/web/routes/tasks.d.ts +7 -0
- package/dist/web/routes/tasks.d.ts.map +1 -0
- package/dist/web/routes/tasks.js +188 -0
- package/dist/web/routes/tasks.js.map +1 -0
- package/dist/web/routes/workflows.d.ts +7 -0
- package/dist/web/routes/workflows.d.ts.map +1 -0
- package/dist/web/routes/workflows.js +132 -0
- package/dist/web/routes/workflows.js.map +1 -0
- package/dist/web/server.d.ts +49 -0
- package/dist/web/server.d.ts.map +1 -0
- package/dist/web/server.js +230 -0
- package/dist/web/server.js.map +1 -0
- package/dist/web/types.d.ts +127 -0
- package/dist/web/types.d.ts.map +1 -0
- package/dist/web/types.js +5 -0
- package/dist/web/types.js.map +1 -0
- package/dist/web/websocket/event-bridge.d.ts +78 -0
- package/dist/web/websocket/event-bridge.d.ts.map +1 -0
- package/dist/web/websocket/event-bridge.js +131 -0
- package/dist/web/websocket/event-bridge.js.map +1 -0
- package/dist/web/websocket/handler.d.ts +23 -0
- package/dist/web/websocket/handler.d.ts.map +1 -0
- package/dist/web/websocket/handler.js +282 -0
- package/dist/web/websocket/handler.js.map +1 -0
- package/dist/web/websocket/index.d.ts +6 -0
- package/dist/web/websocket/index.d.ts.map +1 -0
- package/dist/web/websocket/index.js +6 -0
- package/dist/web/websocket/index.js.map +1 -0
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -367,23 +367,39 @@ export default {
|
|
|
367
367
|
| `agent list` | List active agents |
|
|
368
368
|
| `agent stop -n <name>` | Stop agent |
|
|
369
369
|
| `agent types` | Show available types |
|
|
370
|
+
| `agent status -n <name>` | Get agent status |
|
|
371
|
+
| `agent run -t <type> -p <prompt>` | Spawn and execute task |
|
|
372
|
+
| `agent exec -n <name> -p <prompt>` | Execute task with existing agent |
|
|
370
373
|
| `memory store -k <key> -c <content>` | Store entry |
|
|
371
374
|
| `memory search -q <query>` | Search memory |
|
|
372
375
|
| `memory list` | List entries |
|
|
376
|
+
| `memory delete -k <key>` | Delete entry |
|
|
373
377
|
| `mcp start` | Start MCP server |
|
|
378
|
+
| `mcp tools` | List MCP tools |
|
|
374
379
|
| `workflow run <name>` | Run workflow |
|
|
380
|
+
| `workflow list` | List workflows |
|
|
375
381
|
| `status` | System status |
|
|
376
382
|
|
|
377
383
|
---
|
|
378
384
|
|
|
379
385
|
## LLM Providers
|
|
380
386
|
|
|
387
|
+
### API Providers
|
|
381
388
|
| Provider | Default Model | Embeddings |
|
|
382
389
|
|----------|---------------|------------|
|
|
383
390
|
| **Anthropic** | claude-sonnet-4-20250514 | - |
|
|
384
391
|
| **OpenAI** | gpt-4o | text-embedding-3-small |
|
|
385
392
|
| **Ollama** | llama3.2 | nomic-embed-text |
|
|
386
393
|
|
|
394
|
+
### CLI Providers
|
|
395
|
+
| Provider | CLI Tool | Default Model |
|
|
396
|
+
|----------|----------|---------------|
|
|
397
|
+
| **Claude Code** | `claude` | sonnet |
|
|
398
|
+
| **Gemini CLI** | `gemini` | gemini-2.0-flash |
|
|
399
|
+
| **Codex** | `codex` | - |
|
|
400
|
+
|
|
401
|
+
CLI providers enable agent execution through external CLI tools, useful for interactive workflows.
|
|
402
|
+
|
|
387
403
|
---
|
|
388
404
|
|
|
389
405
|
## Project Structure
|
|
@@ -8,4 +8,5 @@ export { createMcpCommand } from './mcp.js';
|
|
|
8
8
|
export { createPluginCommand } from './plugin.js';
|
|
9
9
|
export { createStatusCommand } from './status.js';
|
|
10
10
|
export { createWorkflowCommand } from './workflow.js';
|
|
11
|
+
export { createWebCommand } from './web.js';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -8,4 +8,5 @@ export { createMcpCommand } from './mcp.js';
|
|
|
8
8
|
export { createPluginCommand } from './plugin.js';
|
|
9
9
|
export { createStatusCommand } from './status.js';
|
|
10
10
|
export { createWorkflowCommand } from './workflow.js';
|
|
11
|
+
export { createWebCommand } from './web.js';
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/web.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,gBAAgB,IAAI,OAAO,CA8E1C"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web command - Start the web server
|
|
3
|
+
*/
|
|
4
|
+
import { Command } from 'commander';
|
|
5
|
+
import { loadConfig } from '../../utils/config.js';
|
|
6
|
+
import { startWebServer, stopWebServer } from '../../web/index.js';
|
|
7
|
+
import { logger } from '../../utils/logger.js';
|
|
8
|
+
const log = logger.child('cli:web');
|
|
9
|
+
export function createWebCommand() {
|
|
10
|
+
const command = new Command('web')
|
|
11
|
+
.description('Start the web interface server');
|
|
12
|
+
// Start web server
|
|
13
|
+
command
|
|
14
|
+
.command('start')
|
|
15
|
+
.description('Start the web server')
|
|
16
|
+
.option('-p, --port <port>', 'Port to listen on', '3001')
|
|
17
|
+
.option('-h, --host <host>', 'Host to bind to', 'localhost')
|
|
18
|
+
.option('--cors <origins>', 'Comma-separated list of allowed CORS origins', 'http://localhost:5173,http://localhost:3000')
|
|
19
|
+
.option('--no-static', 'Disable serving static files')
|
|
20
|
+
.action(async (options) => {
|
|
21
|
+
try {
|
|
22
|
+
const config = await loadConfig();
|
|
23
|
+
const webConfig = {
|
|
24
|
+
port: parseInt(options.port, 10),
|
|
25
|
+
host: options.host,
|
|
26
|
+
cors: {
|
|
27
|
+
origins: options.cors.split(',').map((o) => o.trim()),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
console.log('Starting AgentStack Web Server...');
|
|
31
|
+
console.log(` Host: ${webConfig.host}`);
|
|
32
|
+
console.log(` Port: ${webConfig.port}`);
|
|
33
|
+
console.log(` CORS Origins: ${webConfig.cors?.origins?.join(', ')}`);
|
|
34
|
+
console.log('');
|
|
35
|
+
const server = await startWebServer(config, webConfig);
|
|
36
|
+
const status = server.getStatus();
|
|
37
|
+
console.log(`Web server running at http://${status.host}:${status.port}`);
|
|
38
|
+
console.log(`WebSocket endpoint: ws://${status.host}:${status.port}/ws`);
|
|
39
|
+
console.log('');
|
|
40
|
+
console.log('API Endpoints:');
|
|
41
|
+
console.log(' GET /api/v1 - API info');
|
|
42
|
+
console.log(' GET /api/v1/agents - List agents');
|
|
43
|
+
console.log(' POST /api/v1/agents - Spawn agent');
|
|
44
|
+
console.log(' GET /api/v1/memory - List memory entries');
|
|
45
|
+
console.log(' GET /api/v1/tasks - List tasks');
|
|
46
|
+
console.log(' GET /api/v1/sessions/active - Get active session');
|
|
47
|
+
console.log(' GET /api/v1/workflows - List workflows');
|
|
48
|
+
console.log(' GET /api/v1/system/status - System status');
|
|
49
|
+
console.log(' GET /api/v1/system/health - Health check');
|
|
50
|
+
console.log('');
|
|
51
|
+
console.log('Press Ctrl+C to stop the server');
|
|
52
|
+
// Handle shutdown
|
|
53
|
+
const shutdown = async () => {
|
|
54
|
+
console.log('\nShutting down...');
|
|
55
|
+
await stopWebServer();
|
|
56
|
+
process.exit(0);
|
|
57
|
+
};
|
|
58
|
+
process.on('SIGINT', shutdown);
|
|
59
|
+
process.on('SIGTERM', shutdown);
|
|
60
|
+
// Keep the process running
|
|
61
|
+
await new Promise(() => { });
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
log.error('Failed to start web server', {
|
|
65
|
+
error: error instanceof Error ? error.message : String(error),
|
|
66
|
+
});
|
|
67
|
+
console.error('Error:', error instanceof Error ? error.message : String(error));
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
// Alias for start (default behavior)
|
|
72
|
+
command
|
|
73
|
+
.action(async () => {
|
|
74
|
+
// If no subcommand, run start
|
|
75
|
+
await command.commands.find(c => c.name() === 'start')?.parseAsync([]);
|
|
76
|
+
});
|
|
77
|
+
return command;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../../src/cli/commands/web.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAkB,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAEpC,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;SAC/B,WAAW,CAAC,gCAAgC,CAAC,CAAC;IAEjD,mBAAmB;IACnB,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,CAAC;SACxD,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,CAAC;SAC3D,MAAM,CAAC,kBAAkB,EAAE,8CAA8C,EAAE,6CAA6C,CAAC;SACzH,MAAM,CAAC,aAAa,EAAE,8BAA8B,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;YAElC,MAAM,SAAS,GAAuB;gBACpC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE;oBACJ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBAC9D;aACF,CAAC;YAEF,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,mBAAmB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAElC,OAAO,CAAC,GAAG,CAAC,gCAAgC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAE/C,kBAAkB;YAClB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAClC,MAAM,aAAa,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC;YAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAEhC,2BAA2B;YAC3B,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE;gBACtC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,qCAAqC;IACrC,OAAO;SACJ,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,8BAA8B;QAC9B,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/cli/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Command } from 'commander';
|
|
6
6
|
import { logger } from '../utils/logger.js';
|
|
7
|
-
import { createInitCommand, createAgentCommand, createMemoryCommand, createMcpCommand, createPluginCommand, createStatusCommand, createWorkflowCommand, } from './commands/index.js';
|
|
7
|
+
import { createInitCommand, createAgentCommand, createMemoryCommand, createMcpCommand, createPluginCommand, createStatusCommand, createWorkflowCommand, createWebCommand, } from './commands/index.js';
|
|
8
8
|
// Read version from package.json would be ideal, but for now hardcode
|
|
9
9
|
const VERSION = '1.0.0';
|
|
10
10
|
async function main() {
|
|
@@ -32,6 +32,7 @@ async function main() {
|
|
|
32
32
|
program.addCommand(createPluginCommand());
|
|
33
33
|
program.addCommand(createStatusCommand());
|
|
34
34
|
program.addCommand(createWorkflowCommand());
|
|
35
|
+
program.addCommand(createWebCommand());
|
|
35
36
|
// Parse arguments
|
|
36
37
|
await program.parseAsync(process.argv);
|
|
37
38
|
}
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,sEAAsE;AACtE,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,YAAY,CAAC;SAClB,WAAW,CAAC,2CAA2C,CAAC;SACxD,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;SACjD,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC;SACxC,IAAI,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAA4C,CAAC;QAE1E,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,eAAe;IACf,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEvC,kBAAkB;IAClB,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,4 +14,5 @@ export { loadPlugin, discoverPlugins, getPlugin, listPlugins, unloadPlugin, getP
|
|
|
14
14
|
export { executeHooks, registerHook, unregisterHooks, clearCustomHooks, getHookCount, workflowHook, registerWorkflowTrigger, unregisterWorkflowTrigger, getWorkflowTriggers, clearWorkflowTriggers, registerDefaultTriggers, type WorkflowTrigger, } from './hooks/index.js';
|
|
15
15
|
export { GitHubClient, createGitHubClient, } from './github/index.js';
|
|
16
16
|
export { type WorkflowPhase, type Severity, type Verdict, type WorkflowAgent, type Finding, type PhaseResult, type WorkflowConfig, type WorkflowContext, type DocumentInfo, type DocumentType, type SyncResult, type DocumentChange, type DiagramUpdate, type WorkflowReport, type PhaseExecutor, type WorkflowEvents, WorkflowRunner, getWorkflowRunner, resetWorkflowRunner, docSyncConfig, registerDocSyncWorkflow, runDocSync, } from './workflows/index.js';
|
|
17
|
+
export { WebServer, startWebServer, stopWebServer, getWebServer, defaultWebConfig, agentEvents, getEventBridge, type WebConfig, } from './web/index.js';
|
|
17
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,MAAM,EACN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,EACb,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EAEjB,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,oBAAoB,EAEpB,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,SAAS,EACT,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,UAAU,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,EAEnB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EAEnB,aAAa,EACb,uBAAuB,EACvB,UAAU,GACX,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,MAAM,EACN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,aAAa,EACb,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEL,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EAEjB,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,oBAAoB,EAEpB,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,SAAS,EACT,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,UAAU,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,EAEnB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EAEnB,aAAa,EACb,uBAAuB,EACvB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,SAAS,EACT,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,KAAK,SAAS,GACf,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -35,4 +35,6 @@ export {
|
|
|
35
35
|
WorkflowRunner, getWorkflowRunner, resetWorkflowRunner,
|
|
36
36
|
// Doc Sync
|
|
37
37
|
docSyncConfig, registerDocSyncWorkflow, runDocSync, } from './workflows/index.js';
|
|
38
|
+
// Web Server
|
|
39
|
+
export { WebServer, startWebServer, stopWebServer, getWebServer, defaultWebConfig, agentEvents, getEventBridge, } from './web/index.js';
|
|
38
40
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,QAAQ;AACR,OAAO,EACL,MAAM,EACN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,SAAS;AACT,OAAO,EACL,aAAa,EACb,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,SAAS;AACT,OAAO;AACL,WAAW;AACX,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,iBAAiB;AACjB,UAAU;AACV,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,oBAAoB;AACpB,cAAc;AACd,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,MAAM;AACN,OAAO,EACL,SAAS,EACT,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,eAAe;AACf,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,UAAU;AACV,OAAO,EACL,UAAU,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,QAAQ;AACR,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GAExB,MAAM,kBAAkB,CAAC;AAE1B,SAAS;AACT,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACZ,OAAO;AAkBL,SAAS;AACT,cAAc,EACd,iBAAiB,EACjB,mBAAmB;AACnB,WAAW;AACX,aAAa,EACb,uBAAuB,EACvB,UAAU,GACX,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,QAAQ;AACR,OAAO,EACL,MAAM,EACN,YAAY,EACZ,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,SAAS;AACT,OAAO,EACL,aAAa,EACb,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,SAAS;AACT,OAAO;AACL,WAAW;AACX,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,iBAAiB;AACjB,UAAU;AACV,UAAU,EACV,QAAQ,EACR,cAAc,EACd,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,oBAAoB;AACpB,cAAc;AACd,UAAU,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,MAAM;AACN,OAAO,EACL,SAAS,EACT,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,eAAe;AACf,OAAO,EACL,SAAS,EACT,UAAU,EACV,aAAa,EACb,eAAe,EACf,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,UAAU;AACV,OAAO,EACL,UAAU,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,QAAQ;AACR,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,GAExB,MAAM,kBAAkB,CAAC;AAE1B,SAAS;AACT,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,YAAY;AACZ,OAAO;AAkBL,SAAS;AACT,cAAc,EACd,iBAAiB,EACjB,mBAAmB;AACnB,WAAW;AACX,aAAa,EACb,uBAAuB,EACvB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,aAAa;AACb,OAAO,EACL,SAAS,EACT,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,cAAc,GAEf,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-providers.d.ts","sourceRoot":"","sources":["../../src/providers/cli-providers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiCvF;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,WAAW;IACpD,IAAI,SAAiB;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAMtE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA8BjF;;OAEG;IACH,WAAW,IAAI,OAAO;IAatB;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;CAY5B;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,IAAI,SAAgB;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAMtE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA8BjF;;OAEG;IACH,WAAW,IAAI,OAAO;IAatB;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;CAY5B;AAED;;;;GAIG;AACH,qBAAa,aAAc,YAAW,WAAW;IAC/C,IAAI,SAAW;IACf,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAKtD,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-providers.d.ts","sourceRoot":"","sources":["../../src/providers/cli-providers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiCvF;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,WAAW;IACpD,IAAI,SAAiB;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAMtE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA8BjF;;OAEG;IACH,WAAW,IAAI,OAAO;IAatB;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;CAY5B;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,IAAI,SAAgB;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAMtE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA8BjF;;OAEG;IACH,WAAW,IAAI,OAAO;IAatB;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;CAY5B;AAED;;;;GAIG;AACH,qBAAa,aAAc,YAAW,WAAW;IAC/C,IAAI,SAAW;IACf,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAKtD,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA2ClF;;OAEG;IACH,WAAW,IAAI,OAAO;IAatB;;OAEG;IACH,UAAU,IAAI,MAAM,GAAG,IAAI;CAY5B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB,CAMA"}
|
|
@@ -198,7 +198,10 @@ export class CodexProvider {
|
|
|
198
198
|
const prompt = formatMessages(messages);
|
|
199
199
|
log.debug('Executing Codex CLI', { promptLength: prompt.length });
|
|
200
200
|
try {
|
|
201
|
-
|
|
201
|
+
// Use codex exec for non-interactive execution with --json for structured output
|
|
202
|
+
// and -o to capture the last message
|
|
203
|
+
const tempFile = `/tmp/codex-output-${Date.now()}.txt`;
|
|
204
|
+
const command = `${this.command} exec -o ${tempFile} '${escapeShell(prompt)}'`;
|
|
202
205
|
const { stdout, stderr } = await execAsync(command, {
|
|
203
206
|
timeout: this.timeout,
|
|
204
207
|
maxBuffer: 10 * 1024 * 1024,
|
|
@@ -206,8 +209,20 @@ export class CodexProvider {
|
|
|
206
209
|
if (stderr) {
|
|
207
210
|
log.warn('Codex CLI stderr', { stderr });
|
|
208
211
|
}
|
|
212
|
+
// Try to read the output file, fall back to stdout
|
|
213
|
+
let content = stdout.trim();
|
|
214
|
+
try {
|
|
215
|
+
const fs = await import('node:fs');
|
|
216
|
+
if (fs.existsSync(tempFile)) {
|
|
217
|
+
content = fs.readFileSync(tempFile, 'utf-8').trim();
|
|
218
|
+
fs.unlinkSync(tempFile);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
catch {
|
|
222
|
+
// Ignore file read errors, use stdout
|
|
223
|
+
}
|
|
209
224
|
return {
|
|
210
|
-
content
|
|
225
|
+
content,
|
|
211
226
|
model: 'codex-cli',
|
|
212
227
|
};
|
|
213
228
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-providers.js","sourceRoot":"","sources":["../../src/providers/cli-providers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli-providers.js","sourceRoot":"","sources":["../../src/providers/cli-providers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAClC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAE1C;;GAEG;AACH,SAAS,cAAc,CAAC,QAAuB;IAC7C,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,QAAQ;gBACX,OAAO,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;YAChC,KAAK,MAAM;gBACT,OAAO,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9B,KAAK,WAAW;gBACd,OAAO,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC;YACnC;gBACE,OAAO,CAAC,CAAC,OAAO,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAC7B,IAAI,GAAG,aAAa,CAAC;IACb,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,OAAO,CAAS;IAExB,YAAY,OAAgE;QAC1E,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,QAAQ,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,QAAQ,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,oBAAoB;IACjE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAuB,EAAE,OAAqB;QACvD,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QAE3C,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/E,IAAI,CAAC;YACH,8CAA8C;YAC9C,MAAM,OAAO,GAAG,SAAS,WAAW,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,oBAAoB,KAAK,EAAE,CAAC;YAE3F,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,cAAc;aAC5C,CAAC,CAAC;YAEH,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACjD,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;gBACtB,KAAK,EAAE,eAAe,KAAK,EAAE;aAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC;YACH,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE;gBACpC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE;gBACnD,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,iBAAiB;IAC5B,IAAI,GAAG,YAAY,CAAC;IACZ,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,OAAO,CAAS;IAExB,YAAY,OAAgE;QAC1E,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,QAAQ,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,kBAAkB,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,oBAAoB;IACjE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAuB,EAAE,OAAqB;QACvD,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QAE3C,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAE1E,IAAI,CAAC;YACH,0DAA0D;YAC1D,MAAM,OAAO,GAAG,SAAS,WAAW,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,YAAY,KAAK,EAAE,CAAC;YAEnF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;aAC5B,CAAC,CAAC;YAEH,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5C,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;gBACtB,KAAK,EAAE,cAAc,KAAK,EAAE;aAC7B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC;YACH,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE;gBACpC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE;gBACnD,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,aAAa;IACxB,IAAI,GAAG,OAAO,CAAC;IACP,OAAO,CAAS;IAChB,OAAO,CAAS;IAExB,YAAY,OAAgD;QAC1D,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,oBAAoB;IACjE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAuB,EAAE,QAAsB;QACxD,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAExC,GAAG,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,iFAAiF;YACjF,qCAAqC;YACrC,MAAM,QAAQ,GAAG,qBAAqB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;YACvD,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,YAAY,QAAQ,KAAK,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC;YAE/E,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBAClD,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;aAC5B,CAAC,CAAC;YAEH,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3C,CAAC;YAED,mDAAmD;YACnD,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;oBACpD,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,sCAAsC;YACxC,CAAC;YAED,OAAO;gBACL,OAAO;gBACP,KAAK,EAAE,WAAW;aACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC;YACH,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE;gBACpC,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE;gBACnD,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAK/B,OAAO;QACL,WAAW,EAAE,IAAI,kBAAkB,EAAE,CAAC,WAAW,EAAE;QACnD,UAAU,EAAE,IAAI,iBAAiB,EAAE,CAAC,WAAW,EAAE;QACjD,KAAK,EAAE,IAAI,aAAa,EAAE,CAAC,WAAW,EAAE;KACzC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web module - HTTP + WebSocket server for AgentStack
|
|
3
|
+
*/
|
|
4
|
+
export { WebServer, startWebServer, stopWebServer, getWebServer, defaultWebConfig, } from './server.js';
|
|
5
|
+
export { Router, sendJson, sendError, sendPaginated } from './router.js';
|
|
6
|
+
export { agentEvents, getEventBridge, resetEventBridge, handleWebSocketUpgrade, getClientCount, broadcastMessage, closeAllConnections, } from './websocket/index.js';
|
|
7
|
+
export * from './types.js';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,SAAS,EACT,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzE,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web module - HTTP + WebSocket server for AgentStack
|
|
3
|
+
*/
|
|
4
|
+
export { WebServer, startWebServer, stopWebServer, getWebServer, defaultWebConfig, } from './server.js';
|
|
5
|
+
export { Router, sendJson, sendError, sendPaginated } from './router.js';
|
|
6
|
+
export { agentEvents, getEventBridge, resetEventBridge, handleWebSocketUpgrade, getClientCount, broadcastMessage, closeAllConnections, } from './websocket/index.js';
|
|
7
|
+
export * from './types.js';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/web/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,SAAS,EACT,cAAc,EACd,aAAa,EACb,YAAY,EACZ,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzE,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication middleware (placeholder for future implementation)
|
|
3
|
+
*/
|
|
4
|
+
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
5
|
+
export interface AuthContext {
|
|
6
|
+
authenticated: boolean;
|
|
7
|
+
userId?: string;
|
|
8
|
+
permissions?: string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Create authentication middleware
|
|
12
|
+
* Currently a no-op that allows all requests
|
|
13
|
+
*/
|
|
14
|
+
export declare function createAuthMiddleware(_options?: {
|
|
15
|
+
required?: boolean;
|
|
16
|
+
}): (_req: IncomingMessage, _res: ServerResponse) => AuthContext;
|
|
17
|
+
/**
|
|
18
|
+
* Extract API key from request headers
|
|
19
|
+
*/
|
|
20
|
+
export declare function getApiKey(req: IncomingMessage): string | null;
|
|
21
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/web/middleware/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,IAEtE,MAAM,eAAe,EACrB,MAAM,cAAc,KACnB,WAAW,CAOf;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAY7D"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication middleware (placeholder for future implementation)
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Create authentication middleware
|
|
6
|
+
* Currently a no-op that allows all requests
|
|
7
|
+
*/
|
|
8
|
+
export function createAuthMiddleware(_options = {}) {
|
|
9
|
+
return function authMiddleware(_req, _res) {
|
|
10
|
+
// For now, all requests are authenticated
|
|
11
|
+
// In the future, this could check API keys, JWT tokens, etc.
|
|
12
|
+
return {
|
|
13
|
+
authenticated: true,
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Extract API key from request headers
|
|
19
|
+
*/
|
|
20
|
+
export function getApiKey(req) {
|
|
21
|
+
const authHeader = req.headers.authorization;
|
|
22
|
+
if (authHeader?.startsWith('Bearer ')) {
|
|
23
|
+
return authHeader.slice(7);
|
|
24
|
+
}
|
|
25
|
+
const apiKeyHeader = req.headers['x-api-key'];
|
|
26
|
+
if (typeof apiKeyHeader === 'string') {
|
|
27
|
+
return apiKeyHeader;
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/web/middleware/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAAmC,EAAE;IACxE,OAAO,SAAS,cAAc,CAC5B,IAAqB,EACrB,IAAoB;QAEpB,0CAA0C;QAC1C,6DAA6D;QAC7D,OAAO;YACL,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,GAAoB;IAC5C,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;IAC7C,IAAI,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CORS middleware
|
|
3
|
+
*/
|
|
4
|
+
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
5
|
+
import type { WebConfig } from '../types.js';
|
|
6
|
+
export declare function createCorsMiddleware(config: WebConfig): (req: IncomingMessage, res: ServerResponse) => boolean;
|
|
7
|
+
//# sourceMappingURL=cors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../../src/web/middleware/cors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,IAGrB,KAAK,eAAe,EAAE,KAAK,cAAc,KAAG,OAAO,CAwBnF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CORS middleware
|
|
3
|
+
*/
|
|
4
|
+
export function createCorsMiddleware(config) {
|
|
5
|
+
const allowedOrigins = config.cors.origins;
|
|
6
|
+
return function corsMiddleware(req, res) {
|
|
7
|
+
const origin = req.headers.origin;
|
|
8
|
+
// Check if origin is allowed
|
|
9
|
+
if (origin && (allowedOrigins.includes('*') || allowedOrigins.includes(origin))) {
|
|
10
|
+
res.setHeader('Access-Control-Allow-Origin', origin);
|
|
11
|
+
}
|
|
12
|
+
else if (allowedOrigins.includes('*')) {
|
|
13
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
14
|
+
}
|
|
15
|
+
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS');
|
|
16
|
+
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With');
|
|
17
|
+
res.setHeader('Access-Control-Allow-Credentials', 'true');
|
|
18
|
+
res.setHeader('Access-Control-Max-Age', '86400');
|
|
19
|
+
// Handle preflight
|
|
20
|
+
if (req.method === 'OPTIONS') {
|
|
21
|
+
res.writeHead(204);
|
|
22
|
+
res.end();
|
|
23
|
+
return true; // Request handled
|
|
24
|
+
}
|
|
25
|
+
return false; // Continue to next handler
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=cors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cors.js","sourceRoot":"","sources":["../../../src/web/middleware/cors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IAE3C,OAAO,SAAS,cAAc,CAAC,GAAoB,EAAE,GAAmB;QACtE,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAElC,6BAA6B;QAC7B,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QACpD,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,wCAAwC,CAAC,CAAC;QACxF,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,+CAA+C,CAAC,CAAC;QAC/F,GAAG,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;QAC1D,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QAEjD,mBAAmB;QACnB,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,CAAC,kBAAkB;QACjC,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,2BAA2B;IAC3C,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error handling middleware
|
|
3
|
+
*/
|
|
4
|
+
import type { ServerResponse } from 'node:http';
|
|
5
|
+
export declare class ApiError extends Error {
|
|
6
|
+
statusCode: number;
|
|
7
|
+
constructor(statusCode: number, message: string);
|
|
8
|
+
}
|
|
9
|
+
export declare function handleError(res: ServerResponse, error: unknown): void;
|
|
10
|
+
export declare function notFound(resource: string): ApiError;
|
|
11
|
+
export declare function badRequest(message: string): ApiError;
|
|
12
|
+
export declare function unauthorized(message?: string): ApiError;
|
|
13
|
+
export declare function forbidden(message?: string): ApiError;
|
|
14
|
+
export declare function conflict(message: string): ApiError;
|
|
15
|
+
export declare function serverError(message?: string): ApiError;
|
|
16
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/web/middleware/error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,qBAAa,QAAS,SAAQ,KAAK;IACjC,UAAU,EAAE,MAAM,CAAC;gBAEP,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAKhD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAkBrE;AAGD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAEnD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAEpD;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,MAAuB,GAAG,QAAQ,CAEvE;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,MAAoB,GAAG,QAAQ,CAEjE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAElD;AAED,wBAAgB,WAAW,CAAC,OAAO,GAAE,MAAgC,GAAG,QAAQ,CAE/E"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error handling middleware
|
|
3
|
+
*/
|
|
4
|
+
import { logger } from '../../utils/logger.js';
|
|
5
|
+
const log = logger.child('web:error');
|
|
6
|
+
export class ApiError extends Error {
|
|
7
|
+
statusCode;
|
|
8
|
+
constructor(statusCode, message) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.statusCode = statusCode;
|
|
11
|
+
this.name = 'ApiError';
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export function handleError(res, error) {
|
|
15
|
+
const statusCode = error instanceof ApiError ? error.statusCode : 500;
|
|
16
|
+
const message = error instanceof Error ? error.message : 'Internal server error';
|
|
17
|
+
if (statusCode >= 500) {
|
|
18
|
+
log.error('Server error', { error: message, stack: error instanceof Error ? error.stack : undefined });
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
log.warn('Client error', { statusCode, message });
|
|
22
|
+
}
|
|
23
|
+
if (!res.headersSent) {
|
|
24
|
+
res.writeHead(statusCode, { 'Content-Type': 'application/json' });
|
|
25
|
+
res.end(JSON.stringify({
|
|
26
|
+
success: false,
|
|
27
|
+
error: message,
|
|
28
|
+
timestamp: new Date().toISOString(),
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// Common error factory functions
|
|
33
|
+
export function notFound(resource) {
|
|
34
|
+
return new ApiError(404, `${resource} not found`);
|
|
35
|
+
}
|
|
36
|
+
export function badRequest(message) {
|
|
37
|
+
return new ApiError(400, message);
|
|
38
|
+
}
|
|
39
|
+
export function unauthorized(message = 'Unauthorized') {
|
|
40
|
+
return new ApiError(401, message);
|
|
41
|
+
}
|
|
42
|
+
export function forbidden(message = 'Forbidden') {
|
|
43
|
+
return new ApiError(403, message);
|
|
44
|
+
}
|
|
45
|
+
export function conflict(message) {
|
|
46
|
+
return new ApiError(409, message);
|
|
47
|
+
}
|
|
48
|
+
export function serverError(message = 'Internal server error') {
|
|
49
|
+
return new ApiError(500, message);
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/web/middleware/error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAEtC,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,UAAU,CAAS;IAEnB,YAAY,UAAkB,EAAE,OAAe;QAC7C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED,MAAM,UAAU,WAAW,CAAC,GAAmB,EAAE,KAAc;IAC7D,MAAM,UAAU,GAAG,KAAK,YAAY,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;IACtE,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAEjF,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IACzG,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACrB,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAClE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YACrB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC,CAAC;IACN,CAAC;AACH,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,QAAQ,CAAC,QAAgB;IACvC,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,QAAQ,YAAY,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,UAAkB,cAAc;IAC3D,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,UAAkB,WAAW;IACrD,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAe;IACtC,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,UAAkB,uBAAuB;IACnE,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Middleware exports
|
|
3
|
+
*/
|
|
4
|
+
export { createCorsMiddleware } from './cors.js';
|
|
5
|
+
export { createAuthMiddleware, getApiKey, type AuthContext } from './auth.js';
|
|
6
|
+
export { ApiError, handleError, notFound, badRequest, unauthorized, forbidden, conflict, serverError, } from './error.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/web/middleware/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Middleware exports
|
|
3
|
+
*/
|
|
4
|
+
export { createCorsMiddleware } from './cors.js';
|
|
5
|
+
export { createAuthMiddleware, getApiKey } from './auth.js';
|
|
6
|
+
export { ApiError, handleError, notFound, badRequest, unauthorized, forbidden, conflict, serverError, } from './error.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/web/middleware/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAoB,MAAM,WAAW,CAAC;AAC9E,OAAO,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP Router for the web server
|
|
3
|
+
*/
|
|
4
|
+
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
5
|
+
import type { RouteHandler, RouteParams } from './types.js';
|
|
6
|
+
export declare class Router {
|
|
7
|
+
private routes;
|
|
8
|
+
/**
|
|
9
|
+
* Register a route
|
|
10
|
+
*/
|
|
11
|
+
private addRoute;
|
|
12
|
+
get(path: string, handler: RouteHandler): void;
|
|
13
|
+
post(path: string, handler: RouteHandler): void;
|
|
14
|
+
put(path: string, handler: RouteHandler): void;
|
|
15
|
+
delete(path: string, handler: RouteHandler): void;
|
|
16
|
+
patch(path: string, handler: RouteHandler): void;
|
|
17
|
+
/**
|
|
18
|
+
* Match a request to a route
|
|
19
|
+
*/
|
|
20
|
+
match(method: string, url: string): {
|
|
21
|
+
handler: RouteHandler;
|
|
22
|
+
params: RouteParams;
|
|
23
|
+
} | null;
|
|
24
|
+
/**
|
|
25
|
+
* Handle an incoming request
|
|
26
|
+
*/
|
|
27
|
+
handle(req: IncomingMessage, res: ServerResponse): Promise<boolean>;
|
|
28
|
+
/**
|
|
29
|
+
* Parse request body as JSON
|
|
30
|
+
*/
|
|
31
|
+
private parseBody;
|
|
32
|
+
}
|
|
33
|
+
export declare function sendJson<T>(res: ServerResponse, data: T, statusCode?: number): void;
|
|
34
|
+
export declare function sendError(res: ServerResponse, statusCode: number, message: string): void;
|
|
35
|
+
export declare function sendPaginated<T>(res: ServerResponse, data: T[], pagination: {
|
|
36
|
+
limit: number;
|
|
37
|
+
offset: number;
|
|
38
|
+
total: number;
|
|
39
|
+
}, statusCode?: number): void;
|
|
40
|
+
//# sourceMappingURL=router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/web/router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAS,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEnE,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAE7B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAoBhB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAI9C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAI/C,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAI9C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAIjD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAIhD;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI;IAiCzF;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA6BzE;;OAEG;IACH,OAAO,CAAC,SAAS;CAyBlB;AAGD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,GAAE,MAAY,GAAG,IAAI,CAWxF;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAWxF;AAED,wBAAgB,aAAa,CAAC,CAAC,EAC7B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,CAAC,EAAE,EACT,UAAU,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAC5D,UAAU,GAAE,MAAY,GACvB,IAAI,CAYN"}
|