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.
- package/README.md +112 -116
- package/assets/logo.svg +54 -0
- package/dist/cli/commands/health.d.ts +4 -0
- package/dist/cli/commands/health.d.ts.map +1 -0
- package/dist/cli/commands/health.js +36 -0
- package/dist/cli/commands/health.js.map +1 -0
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +81 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/server.d.ts +10 -0
- package/dist/cli/commands/server.d.ts.map +1 -0
- package/dist/cli/commands/server.js +108 -0
- package/dist/cli/commands/server.js.map +1 -0
- package/dist/cli/commands/start.d.ts +6 -0
- package/dist/cli/commands/start.d.ts.map +1 -0
- package/dist/cli/commands/start.js +63 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/status.d.ts +2 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +21 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/tools.d.ts +8 -0
- package/dist/cli/commands/tools.d.ts.map +1 -0
- package/dist/cli/commands/tools.js +28 -0
- package/dist/cli/commands/tools.js.map +1 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +82 -30
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/ui/banner.d.ts +8 -0
- package/dist/cli/ui/banner.d.ts.map +1 -0
- package/dist/cli/ui/banner.js +54 -0
- package/dist/cli/ui/banner.js.map +1 -0
- package/dist/cli/ui/prompts.d.ts +11 -0
- package/dist/cli/ui/prompts.d.ts.map +1 -0
- package/dist/cli/ui/prompts.js +74 -0
- package/dist/cli/ui/prompts.js.map +1 -0
- package/dist/cli/ui/table.d.ts +5 -0
- package/dist/cli/ui/table.d.ts.map +1 -0
- package/dist/cli/ui/table.js +103 -0
- package/dist/cli/ui/table.js.map +1 -0
- package/dist/config/defaults.d.ts +5 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +18 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/loader.d.ts +4 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +57 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schema.d.ts +2 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +2 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/core/discovery.d.ts +17 -0
- package/dist/core/discovery.d.ts.map +1 -0
- package/dist/core/discovery.js +31 -0
- package/dist/core/discovery.js.map +1 -0
- package/dist/core/proxy.d.ts +14 -0
- package/dist/core/proxy.d.ts.map +1 -0
- package/dist/core/proxy.js +36 -0
- package/dist/core/proxy.js.map +1 -0
- package/dist/core/registry.d.ts +28 -31
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js +90 -234
- package/dist/core/registry.js.map +1 -1
- package/dist/core/server-manager.d.ts +18 -0
- package/dist/core/server-manager.d.ts.map +1 -0
- package/dist/core/server-manager.js +120 -0
- package/dist/core/server-manager.js.map +1 -0
- package/dist/index.d.ts +11 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -9
- package/dist/index.js.map +1 -1
- package/dist/server/app.d.ts +8 -0
- package/dist/server/app.d.ts.map +1 -0
- package/dist/server/app.js +35 -0
- package/dist/server/app.js.map +1 -0
- package/dist/server/mcp-gateway.d.ts +12 -0
- package/dist/server/mcp-gateway.d.ts.map +1 -0
- package/dist/server/mcp-gateway.js +91 -0
- package/dist/server/mcp-gateway.js.map +1 -0
- package/dist/server/routes/health.d.ts +4 -0
- package/dist/server/routes/health.d.ts.map +1 -0
- package/dist/server/routes/health.js +22 -0
- package/dist/server/routes/health.js.map +1 -0
- package/dist/server/routes/servers.d.ts +4 -0
- package/dist/server/routes/servers.d.ts.map +1 -0
- package/dist/server/routes/servers.js +47 -0
- package/dist/server/routes/servers.js.map +1 -0
- package/dist/server/routes/tools.d.ts +4 -0
- package/dist/server/routes/tools.d.ts.map +1 -0
- package/dist/server/routes/tools.js +44 -0
- package/dist/server/routes/tools.js.map +1 -0
- package/dist/storage/database.d.ts +41 -0
- package/dist/storage/database.d.ts.map +1 -0
- package/dist/storage/database.js +195 -0
- package/dist/storage/database.js.map +1 -0
- package/dist/storage/repositories/server-repo.d.ts +2 -0
- package/dist/storage/repositories/server-repo.d.ts.map +1 -0
- package/dist/storage/repositories/server-repo.js +3 -0
- package/dist/storage/repositories/server-repo.js.map +1 -0
- package/dist/storage/repositories/tool-repo.d.ts +2 -0
- package/dist/storage/repositories/tool-repo.d.ts.map +1 -0
- package/dist/storage/repositories/tool-repo.js +3 -0
- package/dist/storage/repositories/tool-repo.js.map +1 -0
- package/dist/types/index.d.ts +384 -591
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +44 -69
- package/dist/types/index.js.map +1 -1
- package/dist/utils/logger.d.ts +7 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +23 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +65 -56
- package/.env.example +0 -19
- package/config/servers.example.yaml +0 -67
- package/config/servers.yaml +0 -2
- package/dist/cli/discover.d.ts +0 -3
- package/dist/cli/discover.d.ts.map +0 -1
- package/dist/cli/discover.js +0 -160
- package/dist/cli/discover.js.map +0 -1
- package/dist/connectors/base.d.ts +0 -49
- package/dist/connectors/base.d.ts.map +0 -1
- package/dist/connectors/base.js +0 -45
- package/dist/connectors/base.js.map +0 -1
- package/dist/connectors/custom.d.ts +0 -19
- package/dist/connectors/custom.d.ts.map +0 -1
- package/dist/connectors/custom.js +0 -129
- package/dist/connectors/custom.js.map +0 -1
- package/dist/connectors/github.d.ts +0 -18
- package/dist/connectors/github.d.ts.map +0 -1
- package/dist/connectors/github.js +0 -188
- package/dist/connectors/github.js.map +0 -1
- package/dist/connectors/google-drive.d.ts +0 -18
- package/dist/connectors/google-drive.d.ts.map +0 -1
- package/dist/connectors/google-drive.js +0 -209
- package/dist/connectors/google-drive.js.map +0 -1
- package/dist/connectors/index.d.ts +0 -11
- package/dist/connectors/index.d.ts.map +0 -1
- package/dist/connectors/index.js +0 -76
- package/dist/connectors/index.js.map +0 -1
- package/dist/connectors/postgres.d.ts +0 -18
- package/dist/connectors/postgres.d.ts.map +0 -1
- package/dist/connectors/postgres.js +0 -140
- package/dist/connectors/postgres.js.map +0 -1
- package/dist/connectors/slack.d.ts +0 -18
- package/dist/connectors/slack.d.ts.map +0 -1
- package/dist/connectors/slack.js +0 -181
- package/dist/connectors/slack.js.map +0 -1
- package/dist/core/auth.d.ts +0 -26
- package/dist/core/auth.d.ts.map +0 -1
- package/dist/core/auth.js +0 -81
- package/dist/core/auth.js.map +0 -1
- package/dist/core/tokenizer.d.ts +0 -16
- package/dist/core/tokenizer.d.ts.map +0 -1
- package/dist/core/tokenizer.js +0 -29
- package/dist/core/tokenizer.js.map +0 -1
- package/dist/governance/audit.d.ts +0 -27
- package/dist/governance/audit.d.ts.map +0 -1
- package/dist/governance/audit.js +0 -149
- package/dist/governance/audit.js.map +0 -1
- package/dist/governance/index.d.ts +0 -5
- package/dist/governance/index.d.ts.map +0 -1
- package/dist/governance/index.js +0 -5
- package/dist/governance/index.js.map +0 -1
- package/dist/governance/policy.d.ts +0 -20
- package/dist/governance/policy.d.ts.map +0 -1
- package/dist/governance/policy.js +0 -162
- package/dist/governance/policy.js.map +0 -1
- package/dist/governance/rate-limiter.d.ts +0 -20
- package/dist/governance/rate-limiter.d.ts.map +0 -1
- package/dist/governance/rate-limiter.js +0 -73
- package/dist/governance/rate-limiter.js.map +0 -1
- package/dist/governance/types.d.ts +0 -246
- package/dist/governance/types.d.ts.map +0 -1
- package/dist/governance/types.js +0 -72
- package/dist/governance/types.js.map +0 -1
- package/dist/identity/access-control.d.ts +0 -15
- package/dist/identity/access-control.d.ts.map +0 -1
- package/dist/identity/access-control.js +0 -81
- package/dist/identity/access-control.js.map +0 -1
- package/dist/identity/index.d.ts +0 -4
- package/dist/identity/index.d.ts.map +0 -1
- package/dist/identity/index.js +0 -4
- package/dist/identity/index.js.map +0 -1
- package/dist/identity/manager.d.ts +0 -29
- package/dist/identity/manager.d.ts.map +0 -1
- package/dist/identity/manager.js +0 -167
- package/dist/identity/manager.js.map +0 -1
- package/dist/identity/types.d.ts +0 -237
- package/dist/identity/types.d.ts.map +0 -1
- package/dist/identity/types.js +0 -80
- package/dist/identity/types.js.map +0 -1
- package/dist/registry/server.d.ts +0 -14
- package/dist/registry/server.d.ts.map +0 -1
- package/dist/registry/server.js +0 -177
- package/dist/registry/server.js.map +0 -1
- package/dist/utils/config.d.ts +0 -29
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -47
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/index.d.ts +0 -7
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -44
- package/dist/utils/index.js.map +0 -1
- package/dist/workflow/engine.d.ts +0 -18
- package/dist/workflow/engine.d.ts.map +0 -1
- package/dist/workflow/engine.js +0 -155
- package/dist/workflow/engine.js.map +0 -1
- package/dist/workflow/index.d.ts +0 -4
- package/dist/workflow/index.d.ts.map +0 -1
- package/dist/workflow/index.js +0 -4
- package/dist/workflow/index.js.map +0 -1
- package/dist/workflow/templates.d.ts +0 -4
- package/dist/workflow/templates.d.ts.map +0 -1
- package/dist/workflow/templates.js +0 -218
- package/dist/workflow/templates.js.map +0 -1
- package/dist/workflow/types.d.ts +0 -255
- package/dist/workflow/types.d.ts.map +0 -1
- package/dist/workflow/types.js +0 -48
- package/dist/workflow/types.js.map +0 -1
- package/eslint.config.js +0 -25
package/dist/connectors/slack.js
DELETED
|
@@ -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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"}
|
package/dist/core/auth.d.ts
DELETED
|
@@ -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
|
package/dist/core/auth.d.ts.map
DELETED
|
@@ -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
|
package/dist/core/auth.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tokenizer.d.ts
DELETED
|
@@ -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"}
|
package/dist/core/tokenizer.js
DELETED
|
@@ -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"}
|
package/dist/governance/audit.js
DELETED
|
@@ -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 +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"}
|
package/dist/governance/index.js
DELETED
|
@@ -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"}
|