@mondaydotcomorg/atp-protocol 0.17.14

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.
@@ -0,0 +1,63 @@
1
+ /**
2
+ * OAuth and scope checking interfaces for Agent Tool Protocol
3
+ */
4
+ /**
5
+ * Scope checker interface
6
+ * Checks what OAuth scopes a token has for a given provider
7
+ */
8
+ export interface ScopeChecker {
9
+ /** Provider name (e.g., 'github', 'google', 'microsoft') */
10
+ provider: string;
11
+ /**
12
+ * Check what scopes a token has
13
+ * @param token - Access token to check
14
+ * @returns Array of scope strings (e.g., ['repo', 'read:user'])
15
+ */
16
+ check(token: string): Promise<string[]>;
17
+ /**
18
+ * Validate if a token is still valid (optional)
19
+ * @param token - Access token to validate
20
+ * @returns true if valid, false if expired/revoked
21
+ */
22
+ validate?(token: string): Promise<boolean>;
23
+ }
24
+ /**
25
+ * Token information returned by providers
26
+ */
27
+ export interface TokenInfo {
28
+ /** Whether the token is valid */
29
+ valid: boolean;
30
+ /** OAuth scopes the token has */
31
+ scopes: string[];
32
+ /** Token expiration timestamp (milliseconds since epoch) */
33
+ expiresAt?: number;
34
+ /** User identifier from the provider */
35
+ userId?: string;
36
+ /** Additional provider-specific data */
37
+ metadata?: Record<string, unknown>;
38
+ }
39
+ /**
40
+ * Scope filtering configuration
41
+ */
42
+ export interface ScopeFilteringConfig {
43
+ /** Enable scope-based filtering */
44
+ enabled: boolean;
45
+ /**
46
+ * Filtering mode:
47
+ * - 'eager': Filter tools at /api/definitions based on user's scopes
48
+ * - 'lazy': Return all tools, validate scopes only at execution time
49
+ */
50
+ mode: 'eager' | 'lazy';
51
+ /**
52
+ * Cache TTL for scope checks in seconds
53
+ * Default: 3600 (1 hour)
54
+ */
55
+ cacheTTL?: number;
56
+ /**
57
+ * Fail behavior when scope checker not available for a provider
58
+ * - 'allow': Allow all tools (no filtering)
59
+ * - 'deny': Hide all tools requiring scopes
60
+ */
61
+ fallback?: 'allow' | 'deny';
62
+ }
63
+ //# sourceMappingURL=oauth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAExC;;;;OAIG;IACH,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,iCAAiC;IACjC,KAAK,EAAE,OAAO,CAAC;IAEf,iCAAiC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC5B"}
package/dist/oauth.js ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * OAuth and scope checking interfaces for Agent Tool Protocol
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=oauth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Provider interfaces for dependency injection
3
+ * These allow users to inject their own implementations for cache, auth, and audit
4
+ */
5
+ /**
6
+ * Cache provider interface
7
+ * Allows pluggable caching backends (Memory, Redis, FileSystem, etc.)
8
+ */
9
+ export interface CacheProvider {
10
+ /** Provider name for identification */
11
+ name: string;
12
+ /** Get a value from cache */
13
+ get<T>(key: string): Promise<T | null>;
14
+ /** Set a value in cache with optional TTL (in seconds) */
15
+ set(key: string, value: unknown, ttl?: number): Promise<void>;
16
+ /** Delete a value from cache */
17
+ delete(key: string): Promise<void>;
18
+ /** Check if a key exists in cache */
19
+ has(key: string): Promise<boolean>;
20
+ /** Clear cache entries matching a pattern (e.g., 'user:*') */
21
+ clear(pattern?: string): Promise<void>;
22
+ /** Get multiple values at once (optional, for performance) */
23
+ mget?(keys: string[]): Promise<Array<unknown | null>>;
24
+ /** Set multiple values at once (optional, for performance) */
25
+ mset?(entries: Array<[string, unknown, number?]>): Promise<void>;
26
+ /** Disconnect/cleanup (optional) */
27
+ disconnect?(): Promise<void>;
28
+ }
29
+ /**
30
+ * User credential data stored per provider
31
+ */
32
+ export interface UserCredentialData {
33
+ /** Access token */
34
+ token: string;
35
+ /** OAuth scopes granted (if applicable) */
36
+ scopes?: string[];
37
+ /** Token expiration timestamp (milliseconds since epoch) */
38
+ expiresAt?: number;
39
+ /** Refresh token for automatic token refresh */
40
+ refreshToken?: string;
41
+ /** Additional provider-specific metadata */
42
+ metadata?: Record<string, unknown>;
43
+ }
44
+ /**
45
+ * Auth provider interface
46
+ * Allows pluggable credential storage (Env vars, AWS Secrets Manager, Vault, etc.)
47
+ */
48
+ export interface AuthProvider {
49
+ /** Provider name for identification */
50
+ name: string;
51
+ /** Get a credential by key (server-level credentials) */
52
+ getCredential(key: string): Promise<string | null>;
53
+ /** Set a credential (for OAuth tokens, etc.) */
54
+ setCredential(key: string, value: string, ttl?: number): Promise<void>;
55
+ /** Delete a credential */
56
+ deleteCredential(key: string): Promise<void>;
57
+ /** List all credential keys (optional, for admin/debugging) */
58
+ listCredentials?(): Promise<string[]>;
59
+ /**
60
+ * Get user-scoped credential for a specific provider
61
+ * @param userId - User identifier
62
+ * @param provider - Provider name (e.g., 'github', 'google', 'stripe')
63
+ * @returns User credential data or null if not found
64
+ */
65
+ getUserCredential?(userId: string, provider: string): Promise<UserCredentialData | null>;
66
+ /**
67
+ * Set user-scoped credential for a specific provider
68
+ * @param userId - User identifier
69
+ * @param provider - Provider name
70
+ * @param data - Credential data including token, scopes, etc.
71
+ */
72
+ setUserCredential?(userId: string, provider: string, data: UserCredentialData): Promise<void>;
73
+ /**
74
+ * Delete user's credential for a specific provider
75
+ * @param userId - User identifier
76
+ * @param provider - Provider name
77
+ */
78
+ deleteUserCredential?(userId: string, provider: string): Promise<void>;
79
+ /**
80
+ * List all providers a user has connected
81
+ * @param userId - User identifier
82
+ * @returns Array of provider names
83
+ */
84
+ listUserProviders?(userId: string): Promise<string[]>;
85
+ /** Disconnect/cleanup (optional) */
86
+ disconnect?(): Promise<void>;
87
+ }
88
+ /**
89
+ * Audit event structure
90
+ * Comprehensive logging of all operations for security and compliance
91
+ */
92
+ export interface AuditEvent {
93
+ eventId: string;
94
+ timestamp: number;
95
+ clientId: string;
96
+ userId?: string;
97
+ ipAddress?: string;
98
+ userAgent?: string;
99
+ eventType: 'execution' | 'tool_call' | 'llm_call' | 'approval' | 'auth' | 'error' | 'client_init';
100
+ action: string;
101
+ resource?: string;
102
+ resourceId?: string;
103
+ code?: string;
104
+ toolName?: string;
105
+ apiGroup?: string;
106
+ input?: unknown;
107
+ output?: unknown;
108
+ error?: {
109
+ message: string;
110
+ code?: string;
111
+ stack?: string;
112
+ };
113
+ securityEvents?: string[];
114
+ riskScore?: number;
115
+ annotations?: Record<string, unknown>;
116
+ duration?: number;
117
+ memoryUsed?: number;
118
+ llmCallsCount?: number;
119
+ httpCallsCount?: number;
120
+ status: 'success' | 'failed' | 'timeout' | 'cancelled' | 'paused';
121
+ metadata?: Record<string, unknown>;
122
+ }
123
+ /**
124
+ * Audit filter for querying events
125
+ */
126
+ export interface AuditFilter {
127
+ clientId?: string;
128
+ userId?: string;
129
+ eventType?: string | string[];
130
+ from?: number;
131
+ to?: number;
132
+ resource?: string;
133
+ status?: string | string[];
134
+ minRiskScore?: number;
135
+ limit?: number;
136
+ offset?: number;
137
+ }
138
+ /**
139
+ * Audit sink interface
140
+ * Allows pluggable audit destinations (JSONL, PostgreSQL, Elasticsearch, S3, etc.)
141
+ */
142
+ export interface AuditSink {
143
+ /** Sink name for identification */
144
+ name: string;
145
+ /** Write a single audit event */
146
+ write(event: AuditEvent): Promise<void>;
147
+ /** Write multiple audit events (for performance) */
148
+ writeBatch(events: AuditEvent[]): Promise<void>;
149
+ /** Query audit events (optional, for queryable sinks) */
150
+ query?(filter: AuditFilter): Promise<AuditEvent[]>;
151
+ /** Disconnect/cleanup (optional) */
152
+ disconnect?(): Promise<void>;
153
+ }
154
+ /**
155
+ * Multi-sink audit wrapper
156
+ * Allows writing to multiple audit sinks simultaneously
157
+ */
158
+ export declare class MultiAuditSink implements AuditSink {
159
+ name: string;
160
+ private sinks;
161
+ constructor(sinks: AuditSink[]);
162
+ write(event: AuditEvent): Promise<void>;
163
+ writeBatch(events: AuditEvent[]): Promise<void>;
164
+ query(filter: AuditFilter): Promise<AuditEvent[]>;
165
+ disconnect(): Promise<void>;
166
+ }
167
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Provider interfaces for dependency injection
3
+ * These allow users to inject their own implementations for cache, auth, and audit
4
+ */
5
+ /**
6
+ * Multi-sink audit wrapper
7
+ * Allows writing to multiple audit sinks simultaneously
8
+ */
9
+ export class MultiAuditSink {
10
+ name = 'multi';
11
+ sinks;
12
+ constructor(sinks) {
13
+ this.sinks = sinks;
14
+ }
15
+ async write(event) {
16
+ await Promise.all(this.sinks.map((sink) => sink.write(event)));
17
+ }
18
+ async writeBatch(events) {
19
+ await Promise.all(this.sinks.map((sink) => sink.writeBatch(events)));
20
+ }
21
+ async query(filter) {
22
+ for (const sink of this.sinks) {
23
+ if (sink.query) {
24
+ return await sink.query(filter);
25
+ }
26
+ }
27
+ throw new Error('No queryable audit sink available');
28
+ }
29
+ async disconnect() {
30
+ await Promise.all(this.sinks.map((sink) => (sink.disconnect ? sink.disconnect() : Promise.resolve())));
31
+ }
32
+ }
33
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6LH;;;GAGG;AACH,MAAM,OAAO,cAAc;IAC1B,IAAI,GAAG,OAAO,CAAC;IACP,KAAK,CAAc;IAE3B,YAAY,KAAkB;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAiB;QAC5B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAoB;QACpC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAmB;QAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,UAAU;QACf,MAAM,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CACnF,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,6 @@
1
+ import type { JSONSchema } from './types.js';
2
+ export declare const ExecutionConfigSchema: JSONSchema;
3
+ export declare const SearchOptionsSchema: JSONSchema;
4
+ export declare const AgentToolProtocolRequestSchema: JSONSchema;
5
+ export declare const AgentToolProtocolResponseSchema: JSONSchema;
6
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,qBAAqB,EAAE,UAUnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,UAUjC,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,UAS5C,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,UAiB7C,CAAC"}
@@ -0,0 +1,51 @@
1
+ export const ExecutionConfigSchema = {
2
+ type: 'object',
3
+ properties: {
4
+ timeout: { type: 'number', minimum: 1000, maximum: 300000 },
5
+ maxMemory: { type: 'number', minimum: 1048576, maximum: 536870912 },
6
+ maxLLMCalls: { type: 'number', minimum: 0, maximum: 100 },
7
+ allowedAPIs: { type: 'array', items: { type: 'string' } },
8
+ allowLLMCalls: { type: 'boolean' },
9
+ },
10
+ required: ['timeout', 'maxMemory', 'maxLLMCalls', 'allowedAPIs', 'allowLLMCalls'],
11
+ };
12
+ export const SearchOptionsSchema = {
13
+ type: 'object',
14
+ properties: {
15
+ query: { type: 'string', minLength: 1 },
16
+ apiGroups: { type: 'array', items: { type: 'string' } },
17
+ maxResults: { type: 'number', minimum: 1, maximum: 100 },
18
+ useEmbeddings: { type: 'boolean' },
19
+ embeddingModel: { type: 'string' },
20
+ },
21
+ required: ['query'],
22
+ };
23
+ export const AgentToolProtocolRequestSchema = {
24
+ type: 'object',
25
+ properties: {
26
+ jsonrpc: { type: 'string', enum: ['2.0'] },
27
+ id: { type: ['string', 'number'] },
28
+ method: { type: 'string' },
29
+ params: { type: 'object' },
30
+ },
31
+ required: ['jsonrpc', 'id', 'method', 'params'],
32
+ };
33
+ export const AgentToolProtocolResponseSchema = {
34
+ type: 'object',
35
+ properties: {
36
+ jsonrpc: { type: 'string', enum: ['2.0'] },
37
+ id: { type: ['string', 'number'] },
38
+ result: {},
39
+ error: {
40
+ type: 'object',
41
+ properties: {
42
+ code: { type: 'number' },
43
+ message: { type: 'string' },
44
+ data: {},
45
+ },
46
+ required: ['code', 'message'],
47
+ },
48
+ },
49
+ required: ['jsonrpc', 'id'],
50
+ };
51
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAe;IAChD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACX,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;QAC3D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE;QACnE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;QACzD,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACzD,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KAClC;IACD,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,CAAC;CACjF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC9C,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE;QACvC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACvD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE;QACxD,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD,QAAQ,EAAE,CAAC,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAe;IACzD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACX,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;QAC1C,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;QAClC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1B;IACD,QAAQ,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAe;IAC1D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACX,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE;QAC1C,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;QAClC,MAAM,EAAE,EAAE;QACV,KAAK,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACX,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,IAAI,EAAE,EAAE;aACR;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;SAC7B;KACD;IACD,QAAQ,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC;CAC3B,CAAC"}