airlock-bot 0.2.35 → 0.2.36

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 (61) hide show
  1. package/README.md +21 -0
  2. package/dist/audit/api.d.ts +2 -0
  3. package/dist/audit/api.d.ts.map +1 -1
  4. package/dist/audit/api.js +3 -13
  5. package/dist/audit/api.js.map +1 -1
  6. package/dist/config/loader.d.ts.map +1 -1
  7. package/dist/config/loader.js +40 -0
  8. package/dist/config/loader.js.map +1 -1
  9. package/dist/config/schema.d.ts +91 -0
  10. package/dist/config/schema.d.ts.map +1 -1
  11. package/dist/config/schema.js +7 -0
  12. package/dist/config/schema.js.map +1 -1
  13. package/dist/configure-web/cli.d.ts +29 -2
  14. package/dist/configure-web/cli.d.ts.map +1 -1
  15. package/dist/configure-web/cli.js +957 -28
  16. package/dist/configure-web/cli.js.map +1 -1
  17. package/dist/gateway.d.ts +7 -1
  18. package/dist/gateway.d.ts.map +1 -1
  19. package/dist/gateway.js +81 -26
  20. package/dist/gateway.js.map +1 -1
  21. package/dist/hitl/api.d.ts +2 -0
  22. package/dist/hitl/api.d.ts.map +1 -1
  23. package/dist/hitl/api.js +3 -13
  24. package/dist/hitl/api.js.map +1 -1
  25. package/dist/hitl/approval-dashboard.d.ts +19 -0
  26. package/dist/hitl/approval-dashboard.d.ts.map +1 -0
  27. package/dist/hitl/approval-dashboard.js +148 -0
  28. package/dist/hitl/approval-dashboard.js.map +1 -0
  29. package/dist/hitl/provider-factory.js +1 -1
  30. package/dist/hitl/provider-factory.js.map +1 -1
  31. package/dist/hitl/providers/dashboard.d.ts +4 -5
  32. package/dist/hitl/providers/dashboard.d.ts.map +1 -1
  33. package/dist/hitl/providers/dashboard.js +29 -469
  34. package/dist/hitl/providers/dashboard.js.map +1 -1
  35. package/dist/hook/api.d.ts +2 -0
  36. package/dist/hook/api.d.ts.map +1 -1
  37. package/dist/hook/api.js +3 -13
  38. package/dist/hook/api.js.map +1 -1
  39. package/dist/index.js +29 -4
  40. package/dist/index.js.map +1 -1
  41. package/dist/security/request.d.ts +14 -0
  42. package/dist/security/request.d.ts.map +1 -0
  43. package/dist/security/request.js +47 -0
  44. package/dist/security/request.js.map +1 -0
  45. package/dist/tools/api.d.ts +2 -0
  46. package/dist/tools/api.d.ts.map +1 -1
  47. package/dist/tools/api.js +3 -13
  48. package/dist/tools/api.js.map +1 -1
  49. package/dist/transport/http-server.d.ts +2 -0
  50. package/dist/transport/http-server.d.ts.map +1 -1
  51. package/dist/transport/http-server.js +9 -22
  52. package/dist/transport/http-server.js.map +1 -1
  53. package/dist/transport/sse-server.d.ts +2 -0
  54. package/dist/transport/sse-server.d.ts.map +1 -1
  55. package/dist/transport/sse-server.js +9 -26
  56. package/dist/transport/sse-server.js.map +1 -1
  57. package/examples/docker-compose.yaml +63 -0
  58. package/examples/docker-gateway.yaml +61 -0
  59. package/examples/gateway.yaml +7 -0
  60. package/package.json +1 -1
  61. package/schema.json +35 -0
@@ -1,5 +1,6 @@
1
- import Fastify from 'fastify';
1
+ import Fastify, { type FastifyInstance } from 'fastify';
2
2
  import type { Tool } from '@modelcontextprotocol/sdk/types.js';
3
+ import { type AuditEntry, type HitlQueueEntry } from '../audit/db.js';
3
4
  import { type ConfigDiagnostic } from '../config/loader.js';
4
5
  type PermissionKind = 'agent' | 'profile';
5
6
  type RecommendedDecision = 'allow' | 'ask' | 'deny';
@@ -77,21 +78,47 @@ interface ProviderStatusEntry {
77
78
  }
78
79
  interface CommandCenterStatus {
79
80
  generatedAt: string;
81
+ auditDbPath: string;
80
82
  providers: ProviderStatusEntry[];
81
83
  summary: {
82
84
  ok: number;
83
85
  down: number;
84
86
  disabled: number;
85
87
  tools: number;
88
+ pendingApprovals: number;
86
89
  };
87
90
  }
91
+ interface AuditLogQuery {
92
+ agent?: string;
93
+ tool?: string;
94
+ since?: string;
95
+ limit?: number;
96
+ }
97
+ interface AuditLogResult {
98
+ dbPath: string;
99
+ entries: AuditEntry[];
100
+ pending: HitlQueueEntry[];
101
+ error?: string;
102
+ }
103
+ export interface ConfigureWebOptions {
104
+ approvals?: {
105
+ registerRoutes(app: FastifyInstance, configPath?: string): void;
106
+ };
107
+ remoteGateway?: RemoteGatewayOptions;
108
+ }
109
+ export interface RemoteGatewayOptions {
110
+ url: string;
111
+ secret?: string;
112
+ }
88
113
  export declare function runCommandCenter(argv: string[]): Promise<void>;
114
+ export declare function runDashboard(argv: string[]): Promise<void>;
89
115
  export declare function runConfigureWeb(argv: string[], entrypoint?: 'configure-web' | 'run'): Promise<void>;
90
- export declare function createConfigureWebApp(configPath: string): Fastify.FastifyInstance<import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, Fastify.FastifyBaseLogger, Fastify.FastifyTypeProviderDefault> & PromiseLike<Fastify.FastifyInstance<import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, Fastify.FastifyBaseLogger, Fastify.FastifyTypeProviderDefault>> & {
116
+ export declare function createConfigureWebApp(configPath: string, options?: ConfigureWebOptions): Fastify.FastifyInstance<import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, Fastify.FastifyBaseLogger, Fastify.FastifyTypeProviderDefault> & PromiseLike<Fastify.FastifyInstance<import("http").Server<typeof import("http").IncomingMessage, typeof import("http").ServerResponse>, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, Fastify.FastifyBaseLogger, Fastify.FastifyTypeProviderDefault>> & {
91
117
  __linterBrands: "SafePromiseLike";
92
118
  };
93
119
  export declare function readState(configPath: string): WebState;
94
120
  export declare function readCommandCenterStatus(configPath: string): Promise<CommandCenterStatus>;
121
+ export declare function readAuditLogs(configPath: string, query?: AuditLogQuery): AuditLogResult;
95
122
  export declare function saveRules(configPath: string, body: SaveRulesBody): WebState;
96
123
  export declare function toolFingerprint(toolNames: string[]): string;
97
124
  export declare function createEntity(configPath: string, body: EntityBody): WebState;
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/configure-web/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/configure-web/cli.ts"],"names":[],"mappings":"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"}