opalserve 0.1.2 → 2.0.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 (223) hide show
  1. package/README.md +112 -116
  2. package/assets/logo.svg +54 -0
  3. package/dist/cli/commands/health.d.ts +4 -0
  4. package/dist/cli/commands/health.d.ts.map +1 -0
  5. package/dist/cli/commands/health.js +36 -0
  6. package/dist/cli/commands/health.js.map +1 -0
  7. package/dist/cli/commands/init.d.ts +2 -0
  8. package/dist/cli/commands/init.d.ts.map +1 -0
  9. package/dist/cli/commands/init.js +81 -0
  10. package/dist/cli/commands/init.js.map +1 -0
  11. package/dist/cli/commands/server.d.ts +10 -0
  12. package/dist/cli/commands/server.d.ts.map +1 -0
  13. package/dist/cli/commands/server.js +108 -0
  14. package/dist/cli/commands/server.js.map +1 -0
  15. package/dist/cli/commands/start.d.ts +6 -0
  16. package/dist/cli/commands/start.d.ts.map +1 -0
  17. package/dist/cli/commands/start.js +63 -0
  18. package/dist/cli/commands/start.js.map +1 -0
  19. package/dist/cli/commands/status.d.ts +2 -0
  20. package/dist/cli/commands/status.d.ts.map +1 -0
  21. package/dist/cli/commands/status.js +21 -0
  22. package/dist/cli/commands/status.js.map +1 -0
  23. package/dist/cli/commands/tools.d.ts +8 -0
  24. package/dist/cli/commands/tools.d.ts.map +1 -0
  25. package/dist/cli/commands/tools.js +28 -0
  26. package/dist/cli/commands/tools.js.map +1 -0
  27. package/dist/cli/index.d.ts +1 -1
  28. package/dist/cli/index.d.ts.map +1 -1
  29. package/dist/cli/index.js +82 -30
  30. package/dist/cli/index.js.map +1 -1
  31. package/dist/cli/ui/banner.d.ts +8 -0
  32. package/dist/cli/ui/banner.d.ts.map +1 -0
  33. package/dist/cli/ui/banner.js +54 -0
  34. package/dist/cli/ui/banner.js.map +1 -0
  35. package/dist/cli/ui/prompts.d.ts +11 -0
  36. package/dist/cli/ui/prompts.d.ts.map +1 -0
  37. package/dist/cli/ui/prompts.js +74 -0
  38. package/dist/cli/ui/prompts.js.map +1 -0
  39. package/dist/cli/ui/table.d.ts +5 -0
  40. package/dist/cli/ui/table.d.ts.map +1 -0
  41. package/dist/cli/ui/table.js +103 -0
  42. package/dist/cli/ui/table.js.map +1 -0
  43. package/dist/config/defaults.d.ts +5 -0
  44. package/dist/config/defaults.d.ts.map +1 -0
  45. package/dist/config/defaults.js +18 -0
  46. package/dist/config/defaults.js.map +1 -0
  47. package/dist/config/loader.d.ts +4 -0
  48. package/dist/config/loader.d.ts.map +1 -0
  49. package/dist/config/loader.js +57 -0
  50. package/dist/config/loader.js.map +1 -0
  51. package/dist/config/schema.d.ts +2 -0
  52. package/dist/config/schema.d.ts.map +1 -0
  53. package/dist/config/schema.js +2 -0
  54. package/dist/config/schema.js.map +1 -0
  55. package/dist/core/discovery.d.ts +17 -0
  56. package/dist/core/discovery.d.ts.map +1 -0
  57. package/dist/core/discovery.js +31 -0
  58. package/dist/core/discovery.js.map +1 -0
  59. package/dist/core/proxy.d.ts +14 -0
  60. package/dist/core/proxy.d.ts.map +1 -0
  61. package/dist/core/proxy.js +36 -0
  62. package/dist/core/proxy.js.map +1 -0
  63. package/dist/core/registry.d.ts +28 -31
  64. package/dist/core/registry.d.ts.map +1 -1
  65. package/dist/core/registry.js +90 -234
  66. package/dist/core/registry.js.map +1 -1
  67. package/dist/core/server-manager.d.ts +18 -0
  68. package/dist/core/server-manager.d.ts.map +1 -0
  69. package/dist/core/server-manager.js +120 -0
  70. package/dist/core/server-manager.js.map +1 -0
  71. package/dist/index.d.ts +11 -12
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +14 -9
  74. package/dist/index.js.map +1 -1
  75. package/dist/server/app.d.ts +8 -0
  76. package/dist/server/app.d.ts.map +1 -0
  77. package/dist/server/app.js +35 -0
  78. package/dist/server/app.js.map +1 -0
  79. package/dist/server/mcp-gateway.d.ts +12 -0
  80. package/dist/server/mcp-gateway.d.ts.map +1 -0
  81. package/dist/server/mcp-gateway.js +91 -0
  82. package/dist/server/mcp-gateway.js.map +1 -0
  83. package/dist/server/routes/health.d.ts +4 -0
  84. package/dist/server/routes/health.d.ts.map +1 -0
  85. package/dist/server/routes/health.js +22 -0
  86. package/dist/server/routes/health.js.map +1 -0
  87. package/dist/server/routes/servers.d.ts +4 -0
  88. package/dist/server/routes/servers.d.ts.map +1 -0
  89. package/dist/server/routes/servers.js +47 -0
  90. package/dist/server/routes/servers.js.map +1 -0
  91. package/dist/server/routes/tools.d.ts +4 -0
  92. package/dist/server/routes/tools.d.ts.map +1 -0
  93. package/dist/server/routes/tools.js +44 -0
  94. package/dist/server/routes/tools.js.map +1 -0
  95. package/dist/storage/database.d.ts +41 -0
  96. package/dist/storage/database.d.ts.map +1 -0
  97. package/dist/storage/database.js +195 -0
  98. package/dist/storage/database.js.map +1 -0
  99. package/dist/storage/repositories/server-repo.d.ts +2 -0
  100. package/dist/storage/repositories/server-repo.d.ts.map +1 -0
  101. package/dist/storage/repositories/server-repo.js +3 -0
  102. package/dist/storage/repositories/server-repo.js.map +1 -0
  103. package/dist/storage/repositories/tool-repo.d.ts +2 -0
  104. package/dist/storage/repositories/tool-repo.d.ts.map +1 -0
  105. package/dist/storage/repositories/tool-repo.js +3 -0
  106. package/dist/storage/repositories/tool-repo.js.map +1 -0
  107. package/dist/types/index.d.ts +384 -591
  108. package/dist/types/index.d.ts.map +1 -1
  109. package/dist/types/index.js +44 -69
  110. package/dist/types/index.js.map +1 -1
  111. package/dist/utils/logger.d.ts +7 -0
  112. package/dist/utils/logger.d.ts.map +1 -0
  113. package/dist/utils/logger.js +23 -0
  114. package/dist/utils/logger.js.map +1 -0
  115. package/package.json +65 -56
  116. package/.env.example +0 -19
  117. package/config/servers.example.yaml +0 -67
  118. package/config/servers.yaml +0 -2
  119. package/dist/cli/discover.d.ts +0 -3
  120. package/dist/cli/discover.d.ts.map +0 -1
  121. package/dist/cli/discover.js +0 -160
  122. package/dist/cli/discover.js.map +0 -1
  123. package/dist/connectors/base.d.ts +0 -49
  124. package/dist/connectors/base.d.ts.map +0 -1
  125. package/dist/connectors/base.js +0 -45
  126. package/dist/connectors/base.js.map +0 -1
  127. package/dist/connectors/custom.d.ts +0 -19
  128. package/dist/connectors/custom.d.ts.map +0 -1
  129. package/dist/connectors/custom.js +0 -129
  130. package/dist/connectors/custom.js.map +0 -1
  131. package/dist/connectors/github.d.ts +0 -18
  132. package/dist/connectors/github.d.ts.map +0 -1
  133. package/dist/connectors/github.js +0 -188
  134. package/dist/connectors/github.js.map +0 -1
  135. package/dist/connectors/google-drive.d.ts +0 -18
  136. package/dist/connectors/google-drive.d.ts.map +0 -1
  137. package/dist/connectors/google-drive.js +0 -209
  138. package/dist/connectors/google-drive.js.map +0 -1
  139. package/dist/connectors/index.d.ts +0 -11
  140. package/dist/connectors/index.d.ts.map +0 -1
  141. package/dist/connectors/index.js +0 -76
  142. package/dist/connectors/index.js.map +0 -1
  143. package/dist/connectors/postgres.d.ts +0 -18
  144. package/dist/connectors/postgres.d.ts.map +0 -1
  145. package/dist/connectors/postgres.js +0 -140
  146. package/dist/connectors/postgres.js.map +0 -1
  147. package/dist/connectors/slack.d.ts +0 -18
  148. package/dist/connectors/slack.d.ts.map +0 -1
  149. package/dist/connectors/slack.js +0 -181
  150. package/dist/connectors/slack.js.map +0 -1
  151. package/dist/core/auth.d.ts +0 -26
  152. package/dist/core/auth.d.ts.map +0 -1
  153. package/dist/core/auth.js +0 -81
  154. package/dist/core/auth.js.map +0 -1
  155. package/dist/core/tokenizer.d.ts +0 -16
  156. package/dist/core/tokenizer.d.ts.map +0 -1
  157. package/dist/core/tokenizer.js +0 -29
  158. package/dist/core/tokenizer.js.map +0 -1
  159. package/dist/governance/audit.d.ts +0 -27
  160. package/dist/governance/audit.d.ts.map +0 -1
  161. package/dist/governance/audit.js +0 -149
  162. package/dist/governance/audit.js.map +0 -1
  163. package/dist/governance/index.d.ts +0 -5
  164. package/dist/governance/index.d.ts.map +0 -1
  165. package/dist/governance/index.js +0 -5
  166. package/dist/governance/index.js.map +0 -1
  167. package/dist/governance/policy.d.ts +0 -20
  168. package/dist/governance/policy.d.ts.map +0 -1
  169. package/dist/governance/policy.js +0 -162
  170. package/dist/governance/policy.js.map +0 -1
  171. package/dist/governance/rate-limiter.d.ts +0 -20
  172. package/dist/governance/rate-limiter.d.ts.map +0 -1
  173. package/dist/governance/rate-limiter.js +0 -73
  174. package/dist/governance/rate-limiter.js.map +0 -1
  175. package/dist/governance/types.d.ts +0 -246
  176. package/dist/governance/types.d.ts.map +0 -1
  177. package/dist/governance/types.js +0 -72
  178. package/dist/governance/types.js.map +0 -1
  179. package/dist/identity/access-control.d.ts +0 -15
  180. package/dist/identity/access-control.d.ts.map +0 -1
  181. package/dist/identity/access-control.js +0 -81
  182. package/dist/identity/access-control.js.map +0 -1
  183. package/dist/identity/index.d.ts +0 -4
  184. package/dist/identity/index.d.ts.map +0 -1
  185. package/dist/identity/index.js +0 -4
  186. package/dist/identity/index.js.map +0 -1
  187. package/dist/identity/manager.d.ts +0 -29
  188. package/dist/identity/manager.d.ts.map +0 -1
  189. package/dist/identity/manager.js +0 -167
  190. package/dist/identity/manager.js.map +0 -1
  191. package/dist/identity/types.d.ts +0 -237
  192. package/dist/identity/types.d.ts.map +0 -1
  193. package/dist/identity/types.js +0 -80
  194. package/dist/identity/types.js.map +0 -1
  195. package/dist/registry/server.d.ts +0 -14
  196. package/dist/registry/server.d.ts.map +0 -1
  197. package/dist/registry/server.js +0 -177
  198. package/dist/registry/server.js.map +0 -1
  199. package/dist/utils/config.d.ts +0 -29
  200. package/dist/utils/config.d.ts.map +0 -1
  201. package/dist/utils/config.js +0 -47
  202. package/dist/utils/config.js.map +0 -1
  203. package/dist/utils/index.d.ts +0 -7
  204. package/dist/utils/index.d.ts.map +0 -1
  205. package/dist/utils/index.js +0 -44
  206. package/dist/utils/index.js.map +0 -1
  207. package/dist/workflow/engine.d.ts +0 -18
  208. package/dist/workflow/engine.d.ts.map +0 -1
  209. package/dist/workflow/engine.js +0 -155
  210. package/dist/workflow/engine.js.map +0 -1
  211. package/dist/workflow/index.d.ts +0 -4
  212. package/dist/workflow/index.d.ts.map +0 -1
  213. package/dist/workflow/index.js +0 -4
  214. package/dist/workflow/index.js.map +0 -1
  215. package/dist/workflow/templates.d.ts +0 -4
  216. package/dist/workflow/templates.d.ts.map +0 -1
  217. package/dist/workflow/templates.js +0 -218
  218. package/dist/workflow/templates.js.map +0 -1
  219. package/dist/workflow/types.d.ts +0 -255
  220. package/dist/workflow/types.d.ts.map +0 -1
  221. package/dist/workflow/types.js +0 -48
  222. package/dist/workflow/types.js.map +0 -1
  223. package/eslint.config.js +0 -25
@@ -1,181 +0,0 @@
1
- import { BaseConnector } from './base.js';
2
- const SLACK_TOOL_DEFS = [
3
- {
4
- name: 'slack_post_message',
5
- description: 'Post a message to a Slack channel',
6
- inputSchema: {
7
- type: 'object',
8
- properties: {
9
- channel: { type: 'string', description: 'Channel ID or name' },
10
- text: { type: 'string', description: 'Message text' },
11
- blocks: { type: 'array', description: 'Slack Block Kit blocks' },
12
- thread_ts: { type: 'string', description: 'Parent message timestamp for threads' },
13
- },
14
- required: ['channel', 'text'],
15
- },
16
- tags: ['messaging', 'slack', 'post'],
17
- capabilities: ['write', 'messaging'],
18
- authRequirements: { required: ['slack_bot_token'] },
19
- contextRequirements: { minTokens: 30, maxTokens: 200 },
20
- },
21
- {
22
- name: 'slack_list_channels',
23
- description: 'List all channels in the workspace',
24
- inputSchema: {
25
- type: 'object',
26
- properties: {
27
- types: { type: 'array', items: { type: 'string' }, description: 'Channel types: public_channel, private_channel, im, mpim' },
28
- exclude_archived: { type: 'boolean', default: true },
29
- limit: { type: 'number', default: 100 },
30
- },
31
- },
32
- tags: ['channels', 'slack', 'list'],
33
- capabilities: ['read', 'list'],
34
- authRequirements: { required: ['slack_bot_token'] },
35
- contextRequirements: { minTokens: 30, maxTokens: 300 },
36
- },
37
- {
38
- name: 'slack_get_messages',
39
- description: 'Retrieve messages from a Slack channel',
40
- inputSchema: {
41
- type: 'object',
42
- properties: {
43
- channel: { type: 'string', description: 'Channel ID' },
44
- latest: { type: 'string', description: 'Most recent message timestamp' },
45
- oldest: { type: 'string', description: 'Oldest message timestamp' },
46
- limit: { type: 'number', default: 100 },
47
- inclusive: { type: 'boolean', default: false },
48
- },
49
- required: ['channel'],
50
- },
51
- tags: ['messages', 'slack', 'read'],
52
- capabilities: ['read', 'messaging'],
53
- authRequirements: { required: ['slack_bot_token'] },
54
- contextRequirements: { minTokens: 30, maxTokens: 500 },
55
- },
56
- {
57
- name: 'slack_create_channel',
58
- description: 'Create a new Slack channel',
59
- inputSchema: {
60
- type: 'object',
61
- properties: {
62
- name: { type: 'string', description: 'Channel name' },
63
- is_private: { type: 'boolean', default: false },
64
- team_id: { type: 'string', description: 'Team to create channel in' },
65
- },
66
- required: ['name'],
67
- },
68
- tags: ['channels', 'slack', 'create'],
69
- capabilities: ['write', 'create'],
70
- authRequirements: { required: ['slack_bot_token'] },
71
- contextRequirements: { minTokens: 30, maxTokens: 100 },
72
- },
73
- {
74
- name: 'slack_invite_users',
75
- description: 'Invite users to a Slack channel',
76
- inputSchema: {
77
- type: 'object',
78
- properties: {
79
- channel: { type: 'string', description: 'Channel ID' },
80
- users: { type: 'array', items: { type: 'string' }, description: 'User IDs to invite' },
81
- },
82
- required: ['channel', 'users'],
83
- },
84
- tags: ['users', 'slack', 'invite'],
85
- capabilities: ['write', 'admin'],
86
- authRequirements: { required: ['slack_bot_token'] },
87
- contextRequirements: { minTokens: 30, maxTokens: 100 },
88
- },
89
- {
90
- name: 'slack_search_messages',
91
- description: 'Search for messages across Slack',
92
- inputSchema: {
93
- type: 'object',
94
- properties: {
95
- query: { type: 'string', description: 'Search query' },
96
- count: { type: 'number', default: 20 },
97
- highlight: { type: 'boolean', default: true },
98
- },
99
- required: ['query'],
100
- },
101
- tags: ['search', 'slack', 'messages'],
102
- capabilities: ['read', 'search'],
103
- authRequirements: { required: ['slack_bot_token'] },
104
- contextRequirements: { minTokens: 30, maxTokens: 400 },
105
- },
106
- {
107
- name: 'slack_upload_file',
108
- description: 'Upload a file to Slack',
109
- inputSchema: {
110
- type: 'object',
111
- properties: {
112
- channels: { type: 'array', items: { type: 'string' }, description: 'Channel IDs' },
113
- file: { type: 'string', description: 'File content or URL' },
114
- filename: { type: 'string', description: 'File name' },
115
- title: { type: 'string', description: 'File title' },
116
- initial_comment: { type: 'string', description: 'Initial comment' },
117
- },
118
- required: ['channels', 'file', 'filename'],
119
- },
120
- tags: ['files', 'slack', 'upload'],
121
- capabilities: ['write', 'upload'],
122
- authRequirements: { required: ['slack_bot_token'] },
123
- contextRequirements: { minTokens: 30, maxTokens: 200 },
124
- },
125
- {
126
- name: 'slack_get_user_info',
127
- description: 'Get information about a Slack user',
128
- inputSchema: {
129
- type: 'object',
130
- properties: {
131
- user: { type: 'string', description: 'User ID' },
132
- },
133
- required: ['user'],
134
- },
135
- tags: ['users', 'slack', 'info'],
136
- capabilities: ['read', 'users'],
137
- authRequirements: { required: ['slack_bot_token'] },
138
- contextRequirements: { minTokens: 30, maxTokens: 200 },
139
- },
140
- ];
141
- export class SlackConnector extends BaseConnector {
142
- id = 'slack';
143
- name = 'Slack';
144
- type = 'slack';
145
- token;
146
- constructor(config) {
147
- super(config);
148
- this.token = config.auth?.credentials?.token;
149
- this.tools = this.buildTools();
150
- }
151
- async connect() {
152
- if (!this.token) {
153
- console.warn('Slack bot token not configured');
154
- this.connected = true;
155
- return;
156
- }
157
- this.connected = true;
158
- }
159
- async disconnect() {
160
- this.connected = false;
161
- }
162
- async healthCheck() {
163
- const { result, latencyMs } = await this.measureLatency(async () => {
164
- if (!this.token)
165
- return false;
166
- const response = await fetch('https://slack.com/api/auth.test', {
167
- headers: { Authorization: `Bearer ${this.token}` },
168
- });
169
- const data = await response.json();
170
- return data.ok === true;
171
- });
172
- return { healthy: result, latencyMs };
173
- }
174
- async refreshTools() {
175
- return this.tools;
176
- }
177
- buildTools() {
178
- return SLACK_TOOL_DEFS.map(def => this.createTool(def));
179
- }
180
- }
181
- //# sourceMappingURL=slack.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slack.js","sourceRoot":"","sources":["../../src/connectors/slack.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import type { Request, Response, NextFunction } from 'express';
2
- export interface AuthContext {
3
- agentId: string;
4
- permissions: string[];
5
- context: Record<string, unknown>;
6
- }
7
- export interface JWTPayload {
8
- agentId: string;
9
- permissions: string[];
10
- context: Record<string, unknown>;
11
- iat: number;
12
- exp: number;
13
- }
14
- export declare class AuthService {
15
- private secret;
16
- private apiKey?;
17
- constructor(secret: string, apiKey?: string);
18
- generateToken(context: AuthContext): string;
19
- verifyToken(token: string): AuthContext | null;
20
- verifyApiKey(key: string): boolean;
21
- extractAuth(req: Request): AuthContext | null;
22
- middleware(): (req: Request, res: Response, next: NextFunction) => void;
23
- optionalAuth(): (req: Request, _res: Response, next: NextFunction) => void;
24
- checkPermission(permission: string): (req: Request, res: Response, next: NextFunction) => void;
25
- }
26
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAK3C,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM;IAY3C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAa9C,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKlC,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI;IAoB7C,UAAU,KACA,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY;IAWzD,YAAY,KACF,KAAK,OAAO,EAAE,MAAM,QAAQ,EAAE,MAAM,YAAY;IAS1D,eAAe,CAAC,UAAU,EAAE,MAAM,IACxB,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY;CAS1D"}
package/dist/core/auth.js DELETED
@@ -1,81 +0,0 @@
1
- import jwt from 'jsonwebtoken';
2
- export class AuthService {
3
- secret;
4
- apiKey;
5
- constructor(secret, apiKey) {
6
- this.secret = secret;
7
- this.apiKey = apiKey;
8
- }
9
- generateToken(context) {
10
- return jwt.sign({
11
- agentId: context.agentId,
12
- permissions: context.permissions,
13
- context: context.context,
14
- }, this.secret, { expiresIn: '24h' });
15
- }
16
- verifyToken(token) {
17
- try {
18
- const payload = jwt.verify(token, this.secret);
19
- return {
20
- agentId: payload.agentId,
21
- permissions: payload.permissions,
22
- context: payload.context,
23
- };
24
- }
25
- catch {
26
- return null;
27
- }
28
- }
29
- verifyApiKey(key) {
30
- if (!this.apiKey)
31
- return false;
32
- return key === this.apiKey;
33
- }
34
- extractAuth(req) {
35
- const authHeader = req.headers.authorization;
36
- if (authHeader?.startsWith('Bearer ')) {
37
- const token = authHeader.slice(7);
38
- return this.verifyToken(token);
39
- }
40
- const apiKey = req.headers['x-api-key'];
41
- if (apiKey && this.verifyApiKey(apiKey)) {
42
- return {
43
- agentId: 'api-key-user',
44
- permissions: ['read', 'discover'],
45
- context: {},
46
- };
47
- }
48
- return null;
49
- }
50
- middleware() {
51
- return (req, res, next) => {
52
- const auth = this.extractAuth(req);
53
- if (!auth) {
54
- res.status(401).json({ error: 'Unauthorized' });
55
- return;
56
- }
57
- req.auth = auth;
58
- next();
59
- };
60
- }
61
- optionalAuth() {
62
- return (req, _res, next) => {
63
- const auth = this.extractAuth(req);
64
- if (auth) {
65
- req.auth = auth;
66
- }
67
- next();
68
- };
69
- }
70
- checkPermission(permission) {
71
- return (req, res, next) => {
72
- const auth = req.auth;
73
- if (!auth || !auth.permissions.includes(permission)) {
74
- res.status(403).json({ error: 'Forbidden', required: permission });
75
- return;
76
- }
77
- next();
78
- };
79
- }
80
- }
81
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAC;AAiB/B,MAAM,OAAO,WAAW;IACd,MAAM,CAAS;IACf,MAAM,CAAU;IAExB,YAAY,MAAc,EAAE,MAAe;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,OAAoB;QAChC,OAAO,GAAG,CAAC,IAAI,CACb;YACE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,EACD,IAAI,CAAC,MAAM,EACX,EAAE,SAAS,EAAE,KAAK,EAAE,CACrB,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAe,CAAC;YAC7D,OAAO;gBACL,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,YAAY,CAAC,GAAW;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC/B,OAAO,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,WAAW,CAAC,GAAY;QACtB,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAE7C,IAAI,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAW,CAAC;QAClD,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,OAAO;gBACL,OAAO,EAAE,cAAc;gBACvB,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;gBACjC,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;QACR,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YACA,GAAuC,CAAC,IAAI,GAAG,IAAI,CAAC;YACrD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB,EAAE,EAAE;YAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,IAAI,EAAE,CAAC;gBACR,GAAuC,CAAC,IAAI,GAAG,IAAI,CAAC;YACvD,CAAC;YACD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,UAAkB;QAChC,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACzD,MAAM,IAAI,GAAI,GAAuC,CAAC,IAAI,CAAC;YAC3D,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;gBACnE,OAAO;YACT,CAAC;YACD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;CACF"}
@@ -1,16 +0,0 @@
1
- export declare class TokenCounter {
2
- private contextBudget;
3
- constructor(contextBudget?: number);
4
- count(text: string): number;
5
- estimateToolTokens(tool: {
6
- name: string;
7
- description: string;
8
- inputSchema?: Record<string, unknown>;
9
- tags?: string[];
10
- capabilities?: string[];
11
- }): number;
12
- canFit(tokens: number, currentUsage?: number): boolean;
13
- remaining(currentUsage?: number): number;
14
- setBudget(budget: number): void;
15
- }
16
- //# sourceMappingURL=tokenizer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../src/core/tokenizer.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,OAAO,CAAC,aAAa,CAAS;gBAElB,aAAa,GAAE,MAAe;IAI1C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI3B,kBAAkB,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,GAAG,MAAM;IAWV,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,GAAE,MAAU,GAAG,OAAO;IAIzD,SAAS,CAAC,YAAY,GAAE,MAAU,GAAG,MAAM;IAI3C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGhC"}
@@ -1,29 +0,0 @@
1
- export class TokenCounter {
2
- contextBudget;
3
- constructor(contextBudget = 128000) {
4
- this.contextBudget = contextBudget;
5
- }
6
- count(text) {
7
- return Math.ceil(text.length / 4);
8
- }
9
- estimateToolTokens(tool) {
10
- const parts = [
11
- tool.name,
12
- tool.description,
13
- JSON.stringify(tool.inputSchema || {}),
14
- (tool.tags || []).join(' '),
15
- (tool.capabilities || []).join(' '),
16
- ];
17
- return this.count(parts.join(' ')) + 20;
18
- }
19
- canFit(tokens, currentUsage = 0) {
20
- return (currentUsage + tokens) <= this.contextBudget;
21
- }
22
- remaining(currentUsage = 0) {
23
- return Math.max(0, this.contextBudget - currentUsage);
24
- }
25
- setBudget(budget) {
26
- this.contextBudget = budget;
27
- }
28
- }
29
- //# sourceMappingURL=tokenizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../src/core/tokenizer.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAY;IACf,aAAa,CAAS;IAE9B,YAAY,gBAAwB,MAAM;QACxC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,kBAAkB,CAAC,IAMlB;QACC,MAAM,KAAK,GAAG;YACZ,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YACtC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3B,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SACpC,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,eAAuB,CAAC;QAC7C,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC;IACvD,CAAC;IAED,SAAS,CAAC,eAAuB,CAAC;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;IAC9B,CAAC;CACF"}
@@ -1,27 +0,0 @@
1
- import type { AuditEvent, AuditEventType, ComplianceReport } from './types.js';
2
- export declare class AuditLogger {
3
- private events;
4
- private maxEvents;
5
- constructor(maxEvents?: number);
6
- log(event: Omit<AuditEvent, 'id' | 'timestamp'>): AuditEvent;
7
- logToolAccess(agentId: string, agentName: string, toolId: string, result: 'success' | 'denied' | 'error', requestId: string, reason?: string): void;
8
- logAuthentication(agentId: string, agentName: string, success: boolean, requestId: string, ipAddress?: string): void;
9
- logToolExecution(agentId: string, agentName: string, toolId: string, success: boolean, requestId: string, durationMs?: number, error?: string): void;
10
- logPermissionCheck(agentId: string, permission: string, allowed: boolean, requestId: string, reason?: string): void;
11
- getEvents(options?: {
12
- type?: AuditEventType;
13
- agentId?: string;
14
- resourceType?: string;
15
- resourceId?: string;
16
- result?: 'success' | 'denied' | 'error';
17
- since?: string;
18
- until?: string;
19
- limit?: number;
20
- offset?: number;
21
- }): AuditEvent[];
22
- generateComplianceReport(periodStart: string, periodEnd: string): ComplianceReport;
23
- clear(): void;
24
- export(): AuditEvent[];
25
- import(events: AuditEvent[]): void;
26
- }
27
- //# sourceMappingURL=audit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/governance/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE/E,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,GAAE,MAAc;IAIrC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,UAAU;IAkB5D,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBnJ,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAcpH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBpJ,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAanH,SAAS,CAAC,OAAO,CAAC,EAAE;QAClB,IAAI,CAAC,EAAE,cAAc,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,UAAU,EAAE;IAgChB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAyClF,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,UAAU,EAAE;IAItB,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;CAGnC"}
@@ -1,149 +0,0 @@
1
- export class AuditLogger {
2
- events = [];
3
- maxEvents;
4
- constructor(maxEvents = 10000) {
5
- this.maxEvents = maxEvents;
6
- }
7
- log(event) {
8
- const fullEvent = {
9
- id: `audit-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
10
- timestamp: new Date().toISOString(),
11
- ...event,
12
- metadata: event.metadata || {},
13
- context: event.context || {},
14
- };
15
- this.events.push(fullEvent);
16
- if (this.events.length > this.maxEvents) {
17
- this.events = this.events.slice(-this.maxEvents);
18
- }
19
- return fullEvent;
20
- }
21
- logToolAccess(agentId, agentName, toolId, result, requestId, reason) {
22
- this.log({
23
- type: result === 'denied' ? 'tool.denied' : result === 'error' ? 'tool.error' : 'tool.accessed',
24
- agentId,
25
- agentName,
26
- requestId,
27
- resourceType: 'tool',
28
- resourceId: toolId,
29
- action: 'access',
30
- result,
31
- reason,
32
- metadata: {},
33
- context: {},
34
- });
35
- }
36
- logAuthentication(agentId, agentName, success, requestId, ipAddress) {
37
- this.log({
38
- type: success ? 'identity.authenticated' : 'identity.auth_failed',
39
- agentId: success ? agentId : undefined,
40
- agentName: success ? agentName : undefined,
41
- requestId,
42
- ipAddress,
43
- action: 'authenticate',
44
- result: success ? 'success' : 'denied',
45
- metadata: { ipAddress },
46
- context: {},
47
- });
48
- }
49
- logToolExecution(agentId, agentName, toolId, success, requestId, durationMs, error) {
50
- this.log({
51
- type: success ? 'tool.executed' : 'tool.error',
52
- agentId,
53
- agentName,
54
- requestId,
55
- resourceType: 'tool',
56
- resourceId: toolId,
57
- action: 'execute',
58
- result: success ? 'success' : 'error',
59
- reason: error,
60
- metadata: { durationMs },
61
- context: {},
62
- });
63
- }
64
- logPermissionCheck(agentId, permission, allowed, requestId, reason) {
65
- this.log({
66
- type: allowed ? 'permission.checked' : 'permission.denied',
67
- agentId,
68
- requestId,
69
- action: `check:${permission}`,
70
- result: allowed ? 'success' : 'denied',
71
- reason,
72
- metadata: {},
73
- context: {},
74
- });
75
- }
76
- getEvents(options) {
77
- let filtered = [...this.events];
78
- if (options?.type) {
79
- filtered = filtered.filter(e => e.type === options.type);
80
- }
81
- if (options?.agentId) {
82
- filtered = filtered.filter(e => e.agentId === options.agentId);
83
- }
84
- if (options?.resourceType) {
85
- filtered = filtered.filter(e => e.resourceType === options.resourceType);
86
- }
87
- if (options?.resourceId) {
88
- filtered = filtered.filter(e => e.resourceId === options.resourceId);
89
- }
90
- if (options?.result) {
91
- filtered = filtered.filter(e => e.result === options.result);
92
- }
93
- if (options?.since) {
94
- filtered = filtered.filter(e => e.timestamp >= options.since);
95
- }
96
- if (options?.until) {
97
- filtered = filtered.filter(e => e.timestamp <= options.until);
98
- }
99
- filtered.sort((a, b) => b.timestamp.localeCompare(a.timestamp));
100
- const offset = options?.offset || 0;
101
- const limit = options?.limit || 100;
102
- return filtered.slice(offset, offset + limit);
103
- }
104
- generateComplianceReport(periodStart, periodEnd) {
105
- const events = this.getEvents({ since: periodStart, until: periodEnd });
106
- const byType = {};
107
- const byAgent = {};
108
- for (const event of events) {
109
- byType[event.type] = (byType[event.type] || 0) + 1;
110
- if (event.agentId) {
111
- byAgent[event.agentId] = (byAgent[event.agentId] || 0) + 1;
112
- }
113
- }
114
- const deniedAccess = events.filter(e => e.result === 'denied').length;
115
- const rateLimitExceeded = events.filter(e => e.type === 'rate_limit.exceeded').length;
116
- const policyViolations = events.filter(e => e.type === 'permission.denied' || e.type === 'tool.denied').length;
117
- const recommendations = [];
118
- if (deniedAccess > events.length * 0.1) {
119
- recommendations.push('High rate of denied access - review permission configurations');
120
- }
121
- if (rateLimitExceeded > 100) {
122
- recommendations.push('Frequent rate limit violations - consider increasing limits or optimizing usage');
123
- }
124
- if (Object.keys(byAgent).length < 5) {
125
- recommendations.push('Limited user diversity - ensure proper access distribution');
126
- }
127
- return {
128
- generatedAt: new Date().toISOString(),
129
- period: { start: periodStart, end: periodEnd },
130
- totalEvents: events.length,
131
- byType,
132
- byAgent,
133
- deniedAccess,
134
- rateLimitExceeded,
135
- policyViolations,
136
- recommendations,
137
- };
138
- }
139
- clear() {
140
- this.events = [];
141
- }
142
- export() {
143
- return [...this.events];
144
- }
145
- import(events) {
146
- this.events = [...this.events, ...events].slice(-this.maxEvents);
147
- }
148
- }
149
- //# sourceMappingURL=audit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/governance/audit.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export { AuditLogger } from './audit.js';
2
- export { PolicyEngine } from './policy.js';
3
- export { RateLimiter, type RateLimitConfig } from './rate-limiter.js';
4
- export * from './types.js';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,cAAc,YAAY,CAAC"}
@@ -1,5 +0,0 @@
1
- export { AuditLogger } from './audit.js';
2
- export { PolicyEngine } from './policy.js';
3
- export { RateLimiter } from './rate-limiter.js';
4
- export * from './types.js';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/governance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAwB,MAAM,mBAAmB,CAAC;AACtE,cAAc,YAAY,CAAC"}
@@ -1,20 +0,0 @@
1
- import type { GovernancePolicy, PolicyRule, AuditEvent } from './types.js';
2
- export declare class PolicyEngine {
3
- private policies;
4
- private auditCallback?;
5
- setAuditCallback(callback: (event: Omit<AuditEvent, 'id' | 'timestamp'>) => void): void;
6
- registerPolicy(policy: GovernancePolicy): void;
7
- getPolicy(id: string): GovernancePolicy | undefined;
8
- getAllPolicies(): GovernancePolicy[];
9
- deletePolicy(id: string): boolean;
10
- evaluate(context: Record<string, unknown>): {
11
- allowed: boolean;
12
- matchedRules: PolicyRule[];
13
- auditEvents: Omit<AuditEvent, 'id' | 'timestamp'>[];
14
- };
15
- private evaluateConditions;
16
- private getNestedValue;
17
- private evaluateOperator;
18
- createDefaultPolicies(): void;
19
- }
20
- //# sourceMappingURL=policy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/governance/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE3E,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,aAAa,CAAC,CAAwD;IAE9E,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,WAAW,CAAC,KAAK,IAAI,GAAG,IAAI;IAIvF,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAK9C,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAInD,cAAc,IAAI,gBAAgB,EAAE;IAIpC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAC1C,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,UAAU,EAAE,CAAC;QAC3B,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC;KACrD;IAkDD,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,gBAAgB;IAuBxB,qBAAqB,IAAI,IAAI;CA6D9B"}