@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.
Files changed (91) hide show
  1. package/README.md +16 -0
  2. package/dist/cli/commands/index.d.ts +1 -0
  3. package/dist/cli/commands/index.d.ts.map +1 -1
  4. package/dist/cli/commands/index.js +1 -0
  5. package/dist/cli/commands/index.js.map +1 -1
  6. package/dist/cli/commands/web.d.ts +6 -0
  7. package/dist/cli/commands/web.d.ts.map +1 -0
  8. package/dist/cli/commands/web.js +79 -0
  9. package/dist/cli/commands/web.js.map +1 -0
  10. package/dist/cli/index.js +2 -1
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +2 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/providers/cli-providers.d.ts.map +1 -1
  17. package/dist/providers/cli-providers.js +17 -2
  18. package/dist/providers/cli-providers.js.map +1 -1
  19. package/dist/web/index.d.ts +8 -0
  20. package/dist/web/index.d.ts.map +1 -0
  21. package/dist/web/index.js +8 -0
  22. package/dist/web/index.js.map +1 -0
  23. package/dist/web/middleware/auth.d.ts +21 -0
  24. package/dist/web/middleware/auth.d.ts.map +1 -0
  25. package/dist/web/middleware/auth.js +31 -0
  26. package/dist/web/middleware/auth.js.map +1 -0
  27. package/dist/web/middleware/cors.d.ts +7 -0
  28. package/dist/web/middleware/cors.d.ts.map +1 -0
  29. package/dist/web/middleware/cors.js +28 -0
  30. package/dist/web/middleware/cors.js.map +1 -0
  31. package/dist/web/middleware/error.d.ts +16 -0
  32. package/dist/web/middleware/error.d.ts.map +1 -0
  33. package/dist/web/middleware/error.js +51 -0
  34. package/dist/web/middleware/error.js.map +1 -0
  35. package/dist/web/middleware/index.d.ts +7 -0
  36. package/dist/web/middleware/index.d.ts.map +1 -0
  37. package/dist/web/middleware/index.js +7 -0
  38. package/dist/web/middleware/index.js.map +1 -0
  39. package/dist/web/router.d.ts +40 -0
  40. package/dist/web/router.d.ts.map +1 -0
  41. package/dist/web/router.js +162 -0
  42. package/dist/web/router.js.map +1 -0
  43. package/dist/web/routes/agents.d.ts +7 -0
  44. package/dist/web/routes/agents.d.ts.map +1 -0
  45. package/dist/web/routes/agents.js +182 -0
  46. package/dist/web/routes/agents.js.map +1 -0
  47. package/dist/web/routes/index.d.ts +10 -0
  48. package/dist/web/routes/index.d.ts.map +1 -0
  49. package/dist/web/routes/index.js +10 -0
  50. package/dist/web/routes/index.js.map +1 -0
  51. package/dist/web/routes/memory.d.ts +7 -0
  52. package/dist/web/routes/memory.d.ts.map +1 -0
  53. package/dist/web/routes/memory.js +146 -0
  54. package/dist/web/routes/memory.js.map +1 -0
  55. package/dist/web/routes/sessions.d.ts +7 -0
  56. package/dist/web/routes/sessions.d.ts.map +1 -0
  57. package/dist/web/routes/sessions.js +75 -0
  58. package/dist/web/routes/sessions.js.map +1 -0
  59. package/dist/web/routes/system.d.ts +7 -0
  60. package/dist/web/routes/system.d.ts.map +1 -0
  61. package/dist/web/routes/system.js +147 -0
  62. package/dist/web/routes/system.js.map +1 -0
  63. package/dist/web/routes/tasks.d.ts +7 -0
  64. package/dist/web/routes/tasks.d.ts.map +1 -0
  65. package/dist/web/routes/tasks.js +188 -0
  66. package/dist/web/routes/tasks.js.map +1 -0
  67. package/dist/web/routes/workflows.d.ts +7 -0
  68. package/dist/web/routes/workflows.d.ts.map +1 -0
  69. package/dist/web/routes/workflows.js +132 -0
  70. package/dist/web/routes/workflows.js.map +1 -0
  71. package/dist/web/server.d.ts +49 -0
  72. package/dist/web/server.d.ts.map +1 -0
  73. package/dist/web/server.js +230 -0
  74. package/dist/web/server.js.map +1 -0
  75. package/dist/web/types.d.ts +127 -0
  76. package/dist/web/types.d.ts.map +1 -0
  77. package/dist/web/types.js +5 -0
  78. package/dist/web/types.js.map +1 -0
  79. package/dist/web/websocket/event-bridge.d.ts +78 -0
  80. package/dist/web/websocket/event-bridge.d.ts.map +1 -0
  81. package/dist/web/websocket/event-bridge.js +131 -0
  82. package/dist/web/websocket/event-bridge.js.map +1 -0
  83. package/dist/web/websocket/handler.d.ts +23 -0
  84. package/dist/web/websocket/handler.d.ts.map +1 -0
  85. package/dist/web/websocket/handler.js +282 -0
  86. package/dist/web/websocket/handler.js.map +1 -0
  87. package/dist/web/websocket/index.d.ts +6 -0
  88. package/dist/web/websocket/index.d.ts.map +1 -0
  89. package/dist/web/websocket/index.js +6 -0
  90. package/dist/web/websocket/index.js.map +1 -0
  91. 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,6 @@
1
+ /**
2
+ * Web command - Start the web server
3
+ */
4
+ import { Command } from 'commander';
5
+ export declare function createWebCommand(): Command;
6
+ //# sourceMappingURL=web.d.ts.map
@@ -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":"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"}
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
  }
@@ -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,GACtB,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;IAE5C,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"}
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
@@ -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;IA4BlF;;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"}
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
- const command = `echo '${escapeShell(prompt)}' | ${this.command}`;
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: stdout.trim(),
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":"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"}
@@ -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"}