@memberjunction/server 3.4.0 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +689 -513
- package/dist/agents/skip-agent.d.ts +65 -0
- package/dist/agents/skip-agent.d.ts.map +1 -1
- package/dist/agents/skip-agent.js +63 -5
- package/dist/agents/skip-agent.js.map +1 -1
- package/dist/agents/skip-sdk.d.ts +163 -0
- package/dist/agents/skip-sdk.d.ts.map +1 -1
- package/dist/agents/skip-sdk.js +143 -12
- package/dist/agents/skip-sdk.js.map +1 -1
- package/dist/apolloServer/index.d.ts +0 -1
- package/dist/apolloServer/index.d.ts.map +1 -1
- package/dist/auth/APIKeyScopeAuth.d.ts +82 -0
- package/dist/auth/APIKeyScopeAuth.d.ts.map +1 -1
- package/dist/auth/APIKeyScopeAuth.js +78 -0
- package/dist/auth/APIKeyScopeAuth.js.map +1 -1
- package/dist/auth/AuthProviderFactory.d.ts +35 -0
- package/dist/auth/AuthProviderFactory.d.ts.map +1 -1
- package/dist/auth/AuthProviderFactory.js +51 -4
- package/dist/auth/AuthProviderFactory.js.map +1 -1
- package/dist/auth/BaseAuthProvider.d.ts +21 -0
- package/dist/auth/BaseAuthProvider.d.ts.map +1 -1
- package/dist/auth/BaseAuthProvider.js +24 -9
- package/dist/auth/BaseAuthProvider.js.map +1 -1
- package/dist/auth/IAuthProvider.d.ts +32 -0
- package/dist/auth/IAuthProvider.d.ts.map +1 -1
- package/dist/auth/exampleNewUserSubClass.d.ts +5 -1
- package/dist/auth/exampleNewUserSubClass.d.ts.map +1 -1
- package/dist/auth/exampleNewUserSubClass.js +21 -6
- package/dist/auth/exampleNewUserSubClass.js.map +1 -1
- package/dist/auth/index.d.ts +14 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +35 -22
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/initializeProviders.d.ts +3 -0
- package/dist/auth/initializeProviders.d.ts.map +1 -1
- package/dist/auth/initializeProviders.js +6 -0
- package/dist/auth/initializeProviders.js.map +1 -1
- package/dist/auth/newUsers.d.ts.map +1 -1
- package/dist/auth/newUsers.js +14 -3
- package/dist/auth/newUsers.js.map +1 -1
- package/dist/auth/providers/Auth0Provider.d.ts +9 -0
- package/dist/auth/providers/Auth0Provider.d.ts.map +1 -1
- package/dist/auth/providers/Auth0Provider.js +10 -0
- package/dist/auth/providers/Auth0Provider.js.map +1 -1
- package/dist/auth/providers/CognitoProvider.d.ts +9 -0
- package/dist/auth/providers/CognitoProvider.d.ts.map +1 -1
- package/dist/auth/providers/CognitoProvider.js +10 -0
- package/dist/auth/providers/CognitoProvider.js.map +1 -1
- package/dist/auth/providers/GoogleProvider.d.ts +9 -0
- package/dist/auth/providers/GoogleProvider.d.ts.map +1 -1
- package/dist/auth/providers/GoogleProvider.js +11 -1
- package/dist/auth/providers/GoogleProvider.js.map +1 -1
- package/dist/auth/providers/MSALProvider.d.ts +9 -0
- package/dist/auth/providers/MSALProvider.d.ts.map +1 -1
- package/dist/auth/providers/MSALProvider.js +10 -0
- package/dist/auth/providers/MSALProvider.js.map +1 -1
- package/dist/auth/providers/OktaProvider.d.ts +9 -0
- package/dist/auth/providers/OktaProvider.d.ts.map +1 -1
- package/dist/auth/providers/OktaProvider.js +10 -0
- package/dist/auth/providers/OktaProvider.js.map +1 -1
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +42 -8
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +8 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +26 -4
- package/dist/context.js.map +1 -1
- package/dist/directives/Public.js +2 -0
- package/dist/directives/Public.js.map +1 -1
- package/dist/entitySubclasses/entityPermissions.server.d.ts +7 -2
- package/dist/entitySubclasses/entityPermissions.server.d.ts.map +1 -1
- package/dist/entitySubclasses/entityPermissions.server.js +26 -8
- package/dist/entitySubclasses/entityPermissions.server.js.map +1 -1
- package/dist/generated/generated.d.ts +539 -2
- package/dist/generated/generated.d.ts.map +1 -1
- package/dist/generated/generated.js +9985 -14951
- package/dist/generated/generated.js.map +1 -1
- package/dist/generic/DeleteOptionsInput.d.ts +3 -0
- package/dist/generic/DeleteOptionsInput.d.ts.map +1 -1
- package/dist/generic/DeleteOptionsInput.js +3 -2
- package/dist/generic/DeleteOptionsInput.js.map +1 -1
- package/dist/generic/KeyInputOutputTypes.js +0 -6
- package/dist/generic/KeyInputOutputTypes.js.map +1 -1
- package/dist/generic/KeyValuePairInput.d.ts +4 -0
- package/dist/generic/KeyValuePairInput.d.ts.map +1 -1
- package/dist/generic/KeyValuePairInput.js +4 -2
- package/dist/generic/KeyValuePairInput.js.map +1 -1
- package/dist/generic/PushStatusResolver.js +0 -3
- package/dist/generic/PushStatusResolver.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +58 -0
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +203 -18
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.d.ts +22 -0
- package/dist/generic/RunViewResolver.d.ts.map +1 -1
- package/dist/generic/RunViewResolver.js +42 -108
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +94 -37
- package/dist/index.js.map +1 -1
- package/dist/orm.d.ts.map +1 -1
- package/dist/orm.js +2 -1
- package/dist/orm.js.map +1 -1
- package/dist/resolvers/APIKeyResolver.d.ts +74 -0
- package/dist/resolvers/APIKeyResolver.d.ts.map +1 -1
- package/dist/resolvers/APIKeyResolver.js +49 -10
- package/dist/resolvers/APIKeyResolver.js.map +1 -1
- package/dist/resolvers/ActionResolver.d.ts +189 -0
- package/dist/resolvers/ActionResolver.d.ts.map +1 -1
- package/dist/resolvers/ActionResolver.js +152 -21
- package/dist/resolvers/ActionResolver.js.map +1 -1
- package/dist/resolvers/ColorResolver.js +0 -5
- package/dist/resolvers/ColorResolver.js.map +1 -1
- package/dist/resolvers/ComponentRegistryResolver.d.ts +65 -0
- package/dist/resolvers/ComponentRegistryResolver.d.ts.map +1 -1
- package/dist/resolvers/ComponentRegistryResolver.js +118 -40
- package/dist/resolvers/ComponentRegistryResolver.js.map +1 -1
- package/dist/resolvers/CreateQueryResolver.d.ts +47 -0
- package/dist/resolvers/CreateQueryResolver.d.ts.map +1 -1
- package/dist/resolvers/CreateQueryResolver.js +92 -116
- package/dist/resolvers/CreateQueryResolver.js.map +1 -1
- package/dist/resolvers/DatasetResolver.js +2 -14
- package/dist/resolvers/DatasetResolver.js.map +1 -1
- package/dist/resolvers/EntityCommunicationsResolver.d.ts +40 -0
- package/dist/resolvers/EntityCommunicationsResolver.d.ts.map +1 -1
- package/dist/resolvers/EntityCommunicationsResolver.js +2 -36
- package/dist/resolvers/EntityCommunicationsResolver.js.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.js +0 -7
- package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
- package/dist/resolvers/FileCategoryResolver.d.ts +1 -1
- package/dist/resolvers/FileCategoryResolver.d.ts.map +1 -1
- package/dist/resolvers/FileCategoryResolver.js +15 -3
- package/dist/resolvers/FileCategoryResolver.js.map +1 -1
- package/dist/resolvers/FileResolver.d.ts +16 -0
- package/dist/resolvers/FileResolver.d.ts.map +1 -1
- package/dist/resolvers/FileResolver.js +59 -74
- package/dist/resolvers/FileResolver.js.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.d.ts +18 -1
- package/dist/resolvers/GetDataContextDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataContextDataResolver.js +17 -9
- package/dist/resolvers/GetDataContextDataResolver.js.map +1 -1
- package/dist/resolvers/GetDataResolver.d.ts +19 -0
- package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataResolver.js +35 -35
- package/dist/resolvers/GetDataResolver.js.map +1 -1
- package/dist/resolvers/InfoResolver.d.ts +2 -2
- package/dist/resolvers/InfoResolver.d.ts.map +1 -1
- package/dist/resolvers/InfoResolver.js +17 -20
- package/dist/resolvers/InfoResolver.js.map +1 -1
- package/dist/resolvers/MCPResolver.d.ts +325 -1
- package/dist/resolvers/MCPResolver.d.ts.map +1 -1
- package/dist/resolvers/MCPResolver.js +931 -24
- package/dist/resolvers/MCPResolver.js.map +1 -1
- package/dist/resolvers/MergeRecordsResolver.js +3 -29
- package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
- package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts.map +1 -1
- package/dist/resolvers/PotentialDuplicateRecordResolver.js +0 -3
- package/dist/resolvers/PotentialDuplicateRecordResolver.js.map +1 -1
- package/dist/resolvers/QueryResolver.d.ts +20 -0
- package/dist/resolvers/QueryResolver.d.ts.map +1 -1
- package/dist/resolvers/QueryResolver.js +44 -36
- package/dist/resolvers/QueryResolver.js.map +1 -1
- package/dist/resolvers/ReportResolver.d.ts +3 -0
- package/dist/resolvers/ReportResolver.d.ts.map +1 -1
- package/dist/resolvers/ReportResolver.js +9 -10
- package/dist/resolvers/ReportResolver.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts +54 -0
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +116 -40
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/RunAIPromptResolver.d.ts +42 -0
- package/dist/resolvers/RunAIPromptResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIPromptResolver.js +95 -22
- package/dist/resolvers/RunAIPromptResolver.js.map +1 -1
- package/dist/resolvers/RunTemplateResolver.js +9 -6
- package/dist/resolvers/RunTemplateResolver.js.map +1 -1
- package/dist/resolvers/RunTestResolver.d.ts +12 -0
- package/dist/resolvers/RunTestResolver.d.ts.map +1 -1
- package/dist/resolvers/RunTestResolver.js +35 -21
- package/dist/resolvers/RunTestResolver.js.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.d.ts +312 -0
- package/dist/resolvers/SqlLoggingConfigResolver.d.ts.map +1 -1
- package/dist/resolvers/SqlLoggingConfigResolver.js +295 -45
- package/dist/resolvers/SqlLoggingConfigResolver.js.map +1 -1
- package/dist/resolvers/SyncDataResolver.d.ts +21 -0
- package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncDataResolver.js +36 -22
- package/dist/resolvers/SyncDataResolver.js.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.d.ts +14 -0
- package/dist/resolvers/SyncRolesUsersResolver.d.ts.map +1 -1
- package/dist/resolvers/SyncRolesUsersResolver.js +54 -21
- package/dist/resolvers/SyncRolesUsersResolver.js.map +1 -1
- package/dist/resolvers/TaskResolver.d.ts +13 -0
- package/dist/resolvers/TaskResolver.d.ts.map +1 -1
- package/dist/resolvers/TaskResolver.js +22 -7
- package/dist/resolvers/TaskResolver.js.map +1 -1
- package/dist/resolvers/TelemetryResolver.d.ts +22 -0
- package/dist/resolvers/TelemetryResolver.d.ts.map +1 -1
- package/dist/resolvers/TelemetryResolver.js +45 -79
- package/dist/resolvers/TelemetryResolver.js.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.js +11 -13
- package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
- package/dist/resolvers/UserFavoriteResolver.js +3 -12
- package/dist/resolvers/UserFavoriteResolver.js.map +1 -1
- package/dist/resolvers/UserResolver.js +10 -0
- package/dist/resolvers/UserResolver.js.map +1 -1
- package/dist/resolvers/UserViewResolver.js +4 -0
- package/dist/resolvers/UserViewResolver.js.map +1 -1
- package/dist/resolvers/VersionHistoryResolver.d.ts +39 -0
- package/dist/resolvers/VersionHistoryResolver.d.ts.map +1 -0
- package/dist/resolvers/VersionHistoryResolver.js +208 -0
- package/dist/resolvers/VersionHistoryResolver.js.map +1 -0
- package/dist/rest/EntityCRUDHandler.d.ts +19 -0
- package/dist/rest/EntityCRUDHandler.d.ts.map +1 -1
- package/dist/rest/EntityCRUDHandler.js +55 -0
- package/dist/rest/EntityCRUDHandler.js.map +1 -1
- package/dist/rest/OAuthCallbackHandler.d.ts +143 -0
- package/dist/rest/OAuthCallbackHandler.d.ts.map +1 -0
- package/dist/rest/OAuthCallbackHandler.js +634 -0
- package/dist/rest/OAuthCallbackHandler.js.map +1 -0
- package/dist/rest/RESTEndpointHandler.d.ts +120 -0
- package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
- package/dist/rest/RESTEndpointHandler.js +213 -24
- package/dist/rest/RESTEndpointHandler.js.map +1 -1
- package/dist/rest/ViewOperationsHandler.d.ts +19 -0
- package/dist/rest/ViewOperationsHandler.d.ts.map +1 -1
- package/dist/rest/ViewOperationsHandler.js +39 -0
- package/dist/rest/ViewOperationsHandler.js.map +1 -1
- package/dist/rest/index.d.ts +1 -0
- package/dist/rest/index.d.ts.map +1 -1
- package/dist/rest/index.js +1 -0
- package/dist/rest/index.js.map +1 -1
- package/dist/rest/setupRESTEndpoints.d.ts +35 -0
- package/dist/rest/setupRESTEndpoints.d.ts.map +1 -1
- package/dist/rest/setupRESTEndpoints.js +15 -1
- package/dist/rest/setupRESTEndpoints.js.map +1 -1
- package/dist/services/ScheduledJobsService.d.ts +31 -0
- package/dist/services/ScheduledJobsService.d.ts.map +1 -1
- package/dist/services/ScheduledJobsService.js +38 -4
- package/dist/services/ScheduledJobsService.js.map +1 -1
- package/dist/services/TaskOrchestrator.d.ts +73 -0
- package/dist/services/TaskOrchestrator.d.ts.map +1 -1
- package/dist/services/TaskOrchestrator.js +137 -15
- package/dist/services/TaskOrchestrator.js.map +1 -1
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -13
- package/dist/types.js.map +1 -1
- package/dist/util.d.ts +37 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +55 -8
- package/dist/util.js.map +1 -1
- package/package.json +83 -78
- package/src/auth/exampleNewUserSubClass.ts +1 -5
- package/src/auth/newUsers.ts +4 -2
- package/src/entitySubclasses/entityPermissions.server.ts +1 -3
- package/src/generated/generated.ts +4707 -2664
- package/src/index.ts +73 -62
- package/src/resolvers/FileCategoryResolver.ts +1 -1
- package/src/resolvers/InfoResolver.ts +10 -6
- package/src/resolvers/MCPResolver.ts +910 -10
- package/src/resolvers/PotentialDuplicateRecordResolver.ts +0 -4
- package/src/resolvers/VersionHistoryResolver.ts +177 -0
- package/src/rest/OAuthCallbackHandler.ts +766 -0
- package/src/rest/RESTEndpointHandler.ts +58 -35
- package/src/rest/index.ts +2 -1
- package/src/rest/setupRESTEndpoints.ts +13 -12
package/dist/agents/skip-sdk.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skip TypeScript SDK
|
|
3
|
+
*
|
|
4
|
+
* A general-purpose SDK for calling the Skip SaaS API.
|
|
5
|
+
* This module provides a clean, reusable interface for integrating with Skip
|
|
6
|
+
* that can eventually be extracted into a standalone npm package.
|
|
7
|
+
*/
|
|
1
8
|
import { SkipResponsePhase } from '@memberjunction/skip-types';
|
|
2
9
|
import { LogStatus, LogError, Metadata, RunQuery } from '@memberjunction/core';
|
|
3
10
|
import { sendPostRequest } from '../util.js';
|
|
@@ -9,11 +16,16 @@ import mssql from 'mssql';
|
|
|
9
16
|
import { registerAccessToken } from '../resolvers/GetDataResolver.js';
|
|
10
17
|
import { BehaviorSubject } from 'rxjs';
|
|
11
18
|
import { take } from 'rxjs/operators';
|
|
19
|
+
/**
|
|
20
|
+
* Skip TypeScript SDK
|
|
21
|
+
* Provides a clean interface for calling the Skip SaaS API
|
|
22
|
+
*/
|
|
12
23
|
export class SkipSDK {
|
|
13
|
-
|
|
14
|
-
static __skipEntitiesCache$ = new BehaviorSubject(null);
|
|
15
|
-
static __lastRefreshTime = 0;
|
|
24
|
+
// Static cache for Skip entities (shared across all instances)
|
|
25
|
+
static { this.__skipEntitiesCache$ = new BehaviorSubject(null); }
|
|
26
|
+
static { this.__lastRefreshTime = 0; }
|
|
16
27
|
constructor(config) {
|
|
28
|
+
// Use provided config or fall back to MJ server config
|
|
17
29
|
this.config = {
|
|
18
30
|
apiUrl: config?.apiUrl || configInfo.askSkip?.chatURL,
|
|
19
31
|
apiKey: config?.apiKey || configInfo.askSkip?.apiKey,
|
|
@@ -21,11 +33,20 @@ export class SkipSDK {
|
|
|
21
33
|
organizationInfo: config?.organizationInfo || configInfo.askSkip?.organizationInfo
|
|
22
34
|
};
|
|
23
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Call the Skip chat API
|
|
38
|
+
*/
|
|
24
39
|
async chat(options) {
|
|
25
40
|
LogStatus(`[SkipSDK] Sending request to Skip API: ${this.config.apiUrl}`);
|
|
26
41
|
try {
|
|
42
|
+
// Build the Skip API request
|
|
27
43
|
const skipRequest = await this.buildSkipRequest(options);
|
|
28
|
-
|
|
44
|
+
// Call Skip API with streaming support
|
|
45
|
+
const responses = await sendPostRequest(this.config.apiUrl, skipRequest, true, // useCompression
|
|
46
|
+
this.buildHeaders(), (streamMessage) => {
|
|
47
|
+
// Handle streaming status updates
|
|
48
|
+
// Queue messages come as flat objects: {responsePhase: 'queued'|'error', message: '...', error: '...'}
|
|
49
|
+
// Skip API messages come wrapped: {type: 'status_update', value: {responsePhase: '...', messages: [...]}}
|
|
29
50
|
if (streamMessage.type === 'status_update' && options.onStatusUpdate) {
|
|
30
51
|
const statusContent = streamMessage.value?.messages?.[0]?.content;
|
|
31
52
|
const responsePhase = streamMessage.value?.responsePhase;
|
|
@@ -34,6 +55,7 @@ export class SkipSDK {
|
|
|
34
55
|
}
|
|
35
56
|
}
|
|
36
57
|
else if (streamMessage.responsePhase === SkipResponsePhase.queued && options.onStatusUpdate) {
|
|
58
|
+
// Handle queue progress messages
|
|
37
59
|
const statusContent = streamMessage.message;
|
|
38
60
|
const responsePhase = streamMessage.responsePhase;
|
|
39
61
|
if (statusContent) {
|
|
@@ -41,12 +63,15 @@ export class SkipSDK {
|
|
|
41
63
|
}
|
|
42
64
|
}
|
|
43
65
|
else if (streamMessage.responsePhase === 'error') {
|
|
66
|
+
// Queue error messages - log but don't throw (final response will handle error)
|
|
67
|
+
// Note: 'error' is not in SkipResponsePhase enum - it's a queue-specific error state
|
|
44
68
|
LogError(`[SkipSDK] Queue error: ${streamMessage.error || 'Unknown error'}`);
|
|
45
69
|
if (options.onStatusUpdate) {
|
|
46
70
|
options.onStatusUpdate(`Error: ${streamMessage.error || 'Request failed'}`, 'error');
|
|
47
71
|
}
|
|
48
72
|
}
|
|
49
73
|
});
|
|
74
|
+
// The last response is the final one
|
|
50
75
|
if (responses && responses.length > 0) {
|
|
51
76
|
const finalResponse = responses[responses.length - 1].value;
|
|
52
77
|
return {
|
|
@@ -65,6 +90,7 @@ export class SkipSDK {
|
|
|
65
90
|
}
|
|
66
91
|
catch (error) {
|
|
67
92
|
LogError(`[SkipSDK] Error calling Skip API: ${error}`);
|
|
93
|
+
// Provide user-friendly error messages for common failures
|
|
68
94
|
let userFriendlyError = String(error);
|
|
69
95
|
const errorStr = String(error).toLowerCase();
|
|
70
96
|
if (errorStr.includes('stream error') || errorStr.includes('aborted') || errorStr.includes('econnreset')) {
|
|
@@ -82,18 +108,25 @@ export class SkipSDK {
|
|
|
82
108
|
};
|
|
83
109
|
}
|
|
84
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Build the Skip API request object
|
|
113
|
+
*/
|
|
85
114
|
async buildSkipRequest(options) {
|
|
86
115
|
const { messages, conversationId, dataContext, requestPhase = 'initial_request', contextUser, dataSource, includeEntities = true, includeQueries = true, includeNotes = true, includeRequests = false, forceEntityRefresh = false, includeCallbackAuth = true, payload } = options;
|
|
116
|
+
// Build base request with metadata
|
|
87
117
|
const baseRequest = await this.buildBaseRequest(contextUser, dataSource, includeEntities, includeQueries, includeNotes, includeRequests, forceEntityRefresh, includeCallbackAuth, { conversationId, requestPhase });
|
|
118
|
+
// Build artifacts for this conversation
|
|
88
119
|
const artifacts = await this.buildArtifacts(contextUser, dataSource, conversationId);
|
|
120
|
+
// Process messages: filter delegation messages and enrich with metadata
|
|
89
121
|
const processedMessages = this.processMessages(messages);
|
|
122
|
+
// Construct the full Skip API request
|
|
90
123
|
const request = {
|
|
91
124
|
messages: processedMessages,
|
|
92
125
|
conversationID: conversationId,
|
|
93
126
|
dataContext: dataContext ? CopyScalarsAndArrays(dataContext) : undefined,
|
|
94
127
|
requestPhase,
|
|
95
128
|
artifacts,
|
|
96
|
-
payload,
|
|
129
|
+
payload, // Pass through payload for incremental artifact building (e.g., PRD in progress)
|
|
97
130
|
entities: baseRequest.entities || [],
|
|
98
131
|
queries: baseRequest.queries || [],
|
|
99
132
|
notes: baseRequest.notes,
|
|
@@ -108,10 +141,15 @@ export class SkipSDK {
|
|
|
108
141
|
};
|
|
109
142
|
return request;
|
|
110
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Build base request with metadata, API keys, and callback auth
|
|
146
|
+
*/
|
|
111
147
|
async buildBaseRequest(contextUser, dataSource, includeEntities, includeQueries, includeNotes, includeRequests, forceEntityRefresh, includeCallbackAuth, additionalTokenInfo = {}) {
|
|
112
148
|
const entities = includeEntities ? await this.buildEntities(dataSource, forceEntityRefresh) : [];
|
|
113
149
|
const queries = includeQueries ? this.buildQueries() : [];
|
|
114
150
|
const { notes, noteTypes } = includeNotes ? await this.buildAgentNotes(contextUser) : { notes: [], noteTypes: [] };
|
|
151
|
+
// Note: requests would be built here if includeRequests is true
|
|
152
|
+
// Setup access token for Skip callbacks if needed
|
|
115
153
|
let accessToken;
|
|
116
154
|
if (includeCallbackAuth) {
|
|
117
155
|
const tokenInfo = {
|
|
@@ -121,7 +159,8 @@ export class SkipSDK {
|
|
|
121
159
|
userID: contextUser.ID,
|
|
122
160
|
...additionalTokenInfo
|
|
123
161
|
};
|
|
124
|
-
accessToken = registerAccessToken(undefined, 1000 * 60 * 10,
|
|
162
|
+
accessToken = registerAccessToken(undefined, 1000 * 60 * 10, // 10 minutes
|
|
163
|
+
tokenInfo);
|
|
125
164
|
}
|
|
126
165
|
return {
|
|
127
166
|
entities,
|
|
@@ -137,10 +176,15 @@ export class SkipSDK {
|
|
|
137
176
|
callingServerAccessToken: accessToken ? accessToken.Token : undefined
|
|
138
177
|
};
|
|
139
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Build entity metadata for Skip
|
|
181
|
+
* Copied from AskSkipResolver.BuildSkipEntities - uses cached metadata with refresh logic
|
|
182
|
+
*/
|
|
140
183
|
async buildEntities(dataSource, forceRefresh, refreshIntervalMinutes = 15) {
|
|
141
184
|
try {
|
|
142
185
|
const now = Date.now();
|
|
143
186
|
const cacheExpired = (now - SkipSDK.__lastRefreshTime) > (refreshIntervalMinutes * 60 * 1000);
|
|
187
|
+
// If force refresh is requested OR cache expired OR cache is empty, refresh
|
|
144
188
|
if (forceRefresh || cacheExpired || SkipSDK.__skipEntitiesCache$.value === null) {
|
|
145
189
|
LogStatus(`[SkipSDK] Refreshing Skip entities cache (force: ${forceRefresh}, expired: ${cacheExpired})`);
|
|
146
190
|
const newData = this.refreshSkipEntities(dataSource);
|
|
@@ -153,6 +197,9 @@ export class SkipSDK {
|
|
|
153
197
|
return [];
|
|
154
198
|
}
|
|
155
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Build saved queries for Skip
|
|
202
|
+
*/
|
|
156
203
|
buildQueries(status = 'Approved') {
|
|
157
204
|
const md = new Metadata();
|
|
158
205
|
const approvedQueries = md.Queries.filter((q) => q.Status === status);
|
|
@@ -208,6 +255,9 @@ export class SkipSDK {
|
|
|
208
255
|
CacheValidationSQL: q.CacheValidationSQL
|
|
209
256
|
}));
|
|
210
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* Recursively build category path for a query
|
|
260
|
+
*/
|
|
211
261
|
buildQueryCategoryPath(md, categoryID) {
|
|
212
262
|
const cat = md.QueryCategories.find((c) => c.ID === categoryID);
|
|
213
263
|
if (!cat)
|
|
@@ -217,33 +267,53 @@ export class SkipSDK {
|
|
|
217
267
|
const parentPath = this.buildQueryCategoryPath(md, cat.ParentID);
|
|
218
268
|
return parentPath ? `${parentPath}/${cat.Name}` : cat.Name;
|
|
219
269
|
}
|
|
270
|
+
/**
|
|
271
|
+
* Build agent notes for Skip
|
|
272
|
+
*/
|
|
220
273
|
async buildAgentNotes(contextUser) {
|
|
274
|
+
// TODO: Implement agent notes building
|
|
275
|
+
// This would query AIAgentNote entities and convert to SkipAPIAgentNote format
|
|
276
|
+
// For now, returning empty arrays
|
|
221
277
|
return { notes: [], noteTypes: [] };
|
|
222
278
|
}
|
|
279
|
+
/**
|
|
280
|
+
* Build artifacts for a conversation using optimized query
|
|
281
|
+
* Uses GetConversationArtifactsForAgent query which joins through ConversationDetailArtifact
|
|
282
|
+
* to get artifacts that were outputs from Skip agent's conversation details
|
|
283
|
+
*/
|
|
223
284
|
async buildArtifacts(contextUser, dataSource, conversationId) {
|
|
224
285
|
try {
|
|
225
286
|
const rq = new RunQuery();
|
|
287
|
+
// Ensure AIEngine is configured and get Skip agent ID
|
|
226
288
|
await AIEngine.Instance.Config(false, contextUser);
|
|
227
289
|
const skipAgent = AIEngine.Instance.GetAgentByName('Skip');
|
|
228
290
|
const skipAgentId = skipAgent?.ID;
|
|
229
291
|
if (!skipAgentId) {
|
|
230
292
|
LogError('[SkipSDK] Skip agent not found in AIEngine');
|
|
231
293
|
}
|
|
294
|
+
// Use optimized query that replaces 4 RunView calls with 1 query
|
|
295
|
+
// This query includes Configuration field needed for component spec extraction
|
|
296
|
+
// Filter by Skip agent ID to only get artifacts created by Skip (not delegation agents)
|
|
232
297
|
const result = await rq.RunQuery({
|
|
233
298
|
QueryName: 'GetConversationArtifactsForAgent',
|
|
234
299
|
CategoryPath: 'MJ/Conversations',
|
|
235
300
|
Parameters: {
|
|
236
301
|
ConversationID: conversationId,
|
|
237
|
-
AgentID: skipAgentId
|
|
302
|
+
AgentID: skipAgentId // Filter to only artifacts created by Skip agent
|
|
238
303
|
}
|
|
239
304
|
}, contextUser);
|
|
240
305
|
if (!result.Success || !result.Results || result.Results.length === 0) {
|
|
241
306
|
return [];
|
|
242
307
|
}
|
|
308
|
+
// Query returns flat result set: one row per artifact version
|
|
309
|
+
// Group by ArtifactID to build SkipAPIArtifact objects with their versions
|
|
243
310
|
const artifactMap = new Map();
|
|
311
|
+
// Process each row (represents one version)
|
|
244
312
|
for (const row of result.Results) {
|
|
245
313
|
const artifactId = row.ArtifactID;
|
|
314
|
+
// Initialize artifact entry if not exists
|
|
246
315
|
if (!artifactMap.has(artifactId)) {
|
|
316
|
+
// Map database sharingScope values to SkipAPIArtifact expected values
|
|
247
317
|
let sharingScope = 'None';
|
|
248
318
|
const dbSharingScope = (row.SharingScope || '').toLowerCase();
|
|
249
319
|
if (dbSharingScope === 'always' || dbSharingScope === 'everyone') {
|
|
@@ -278,11 +348,12 @@ export class SkipSDK {
|
|
|
278
348
|
versions: []
|
|
279
349
|
});
|
|
280
350
|
}
|
|
351
|
+
// Add this version to the artifact
|
|
281
352
|
const entry = artifactMap.get(artifactId);
|
|
282
353
|
entry.versions.push({
|
|
283
354
|
id: row.VersionID,
|
|
284
355
|
artifactId: artifactId,
|
|
285
|
-
conversationDetailID: row.ConversationDetailID,
|
|
356
|
+
conversationDetailID: row.ConversationDetailID, // Direct from join table!
|
|
286
357
|
version: row.Version,
|
|
287
358
|
configuration: row.Configuration || '',
|
|
288
359
|
content: row.Content || '',
|
|
@@ -291,6 +362,7 @@ export class SkipSDK {
|
|
|
291
362
|
updatedAt: new Date(row.VersionUpdatedAt)
|
|
292
363
|
});
|
|
293
364
|
}
|
|
365
|
+
// Convert map to SkipAPIArtifact array
|
|
294
366
|
const artifacts = Array.from(artifactMap.values()).map(entry => ({
|
|
295
367
|
...entry.artifact,
|
|
296
368
|
artifactType: entry.artifactType,
|
|
@@ -303,6 +375,9 @@ export class SkipSDK {
|
|
|
303
375
|
return [];
|
|
304
376
|
}
|
|
305
377
|
}
|
|
378
|
+
/**
|
|
379
|
+
* Build API keys for AI services
|
|
380
|
+
*/
|
|
306
381
|
buildAPIKeys() {
|
|
307
382
|
return [
|
|
308
383
|
{
|
|
@@ -331,20 +406,30 @@ export class SkipSDK {
|
|
|
331
406
|
}
|
|
332
407
|
];
|
|
333
408
|
}
|
|
409
|
+
/**
|
|
410
|
+
* Build HTTP headers for Skip API requests
|
|
411
|
+
*/
|
|
334
412
|
buildHeaders() {
|
|
335
413
|
return {
|
|
336
414
|
'x-api-key': this.config.apiKey || '',
|
|
337
415
|
'Content-Type': 'application/json'
|
|
338
416
|
};
|
|
339
417
|
}
|
|
418
|
+
/**
|
|
419
|
+
* Refreshes the Skip entities cache
|
|
420
|
+
* Rebuilds the entity information that is provided to Skip
|
|
421
|
+
* Copied from AskSkipResolver.refreshSkipEntities
|
|
422
|
+
*/
|
|
340
423
|
async refreshSkipEntities(dataSource) {
|
|
341
424
|
try {
|
|
342
425
|
const md = new Metadata();
|
|
426
|
+
// Diagnostic logging
|
|
343
427
|
LogStatus(`[SkipSDK.refreshSkipEntities] Total entities in metadata: ${md.Entities.length}`);
|
|
344
428
|
LogStatus(`[SkipSDK.refreshSkipEntities] Config excludeSchemas: ${JSON.stringify(configInfo.askSkip?.entitiesToSend?.excludeSchemas)}`);
|
|
345
429
|
LogStatus(`[SkipSDK.refreshSkipEntities] Config includeEntitiesFromExcludedSchemas: ${JSON.stringify(configInfo.askSkip?.entitiesToSend?.includeEntitiesFromExcludedSchemas)}`);
|
|
346
430
|
const skipSpecialIncludeEntities = (configInfo.askSkip?.entitiesToSend?.includeEntitiesFromExcludedSchemas ?? [])
|
|
347
431
|
.map((e) => e.trim().toLowerCase());
|
|
432
|
+
// Get the list of entities
|
|
348
433
|
const entities = md.Entities.filter((e) => {
|
|
349
434
|
if (!(configInfo.askSkip?.entitiesToSend?.excludeSchemas ?? []).includes(e.SchemaName) ||
|
|
350
435
|
skipSpecialIncludeEntities.includes(e.Name.trim().toLowerCase())) {
|
|
@@ -354,7 +439,7 @@ export class SkipSDK {
|
|
|
354
439
|
return !scopes || scopes.length === 0 || scopes.includes('all') || scopes.includes('ai') || skipSpecialIncludeEntities.includes(e.Name.trim().toLowerCase());
|
|
355
440
|
}
|
|
356
441
|
else {
|
|
357
|
-
return true;
|
|
442
|
+
return true; // no scope, so include it
|
|
358
443
|
}
|
|
359
444
|
}
|
|
360
445
|
return false;
|
|
@@ -363,9 +448,10 @@ export class SkipSDK {
|
|
|
363
448
|
if (entities.length === 0) {
|
|
364
449
|
LogError(`[SkipSDK.refreshSkipEntities] WARNING: No entities passed filtering! This will result in empty Skip entities list.`);
|
|
365
450
|
}
|
|
451
|
+
// Now we have our list of entities, pack em up
|
|
366
452
|
const result = await Promise.all(entities.map((e) => this.packSingleSkipEntityInfo(e, dataSource)));
|
|
367
453
|
LogStatus(`[SkipSDK.refreshSkipEntities] Successfully packed ${result.length} entities for Skip`);
|
|
368
|
-
SkipSDK.__lastRefreshTime = Date.now();
|
|
454
|
+
SkipSDK.__lastRefreshTime = Date.now(); // Update last refresh time
|
|
369
455
|
return result;
|
|
370
456
|
}
|
|
371
457
|
catch (e) {
|
|
@@ -373,6 +459,11 @@ export class SkipSDK {
|
|
|
373
459
|
return [];
|
|
374
460
|
}
|
|
375
461
|
}
|
|
462
|
+
/**
|
|
463
|
+
* Packs information about a single entity for Skip
|
|
464
|
+
* Includes fields, relationships, and sample data
|
|
465
|
+
* Copied from AskSkipResolver.PackSingleSkipEntityInfo
|
|
466
|
+
*/
|
|
376
467
|
async packSingleSkipEntityInfo(e, dataSource) {
|
|
377
468
|
try {
|
|
378
469
|
const ret = {
|
|
@@ -382,6 +473,7 @@ export class SkipSDK {
|
|
|
382
473
|
baseView: e.BaseView,
|
|
383
474
|
description: e.Description,
|
|
384
475
|
fields: await Promise.all(e.Fields.filter(f => {
|
|
476
|
+
// we want to check the scopes for the field level and make sure it is either All or AI or has both
|
|
385
477
|
const scopes = f.ScopeDefault?.split(',').map((s) => s.trim().toLowerCase());
|
|
386
478
|
return !scopes || scopes.length === 0 || scopes.includes('all') || scopes.includes('ai');
|
|
387
479
|
}).map(f => {
|
|
@@ -398,6 +490,11 @@ export class SkipSDK {
|
|
|
398
490
|
return null;
|
|
399
491
|
}
|
|
400
492
|
}
|
|
493
|
+
/**
|
|
494
|
+
* Packs information about a single entity relationship
|
|
495
|
+
* These relationships help Skip understand the data model
|
|
496
|
+
* Copied from AskSkipResolver.PackSingleSkipEntityRelationship
|
|
497
|
+
*/
|
|
401
498
|
packSingleSkipEntityRelationship(r) {
|
|
402
499
|
try {
|
|
403
500
|
return {
|
|
@@ -420,6 +517,11 @@ export class SkipSDK {
|
|
|
420
517
|
return null;
|
|
421
518
|
}
|
|
422
519
|
}
|
|
520
|
+
/**
|
|
521
|
+
* Packs information about a single entity field
|
|
522
|
+
* Includes metadata and possible values
|
|
523
|
+
* Copied from AskSkipResolver.PackSingleSkipEntityField
|
|
524
|
+
*/
|
|
423
525
|
async packSingleSkipEntityField(f, dataSource) {
|
|
424
526
|
try {
|
|
425
527
|
return {
|
|
@@ -458,23 +560,34 @@ export class SkipSDK {
|
|
|
458
560
|
return null;
|
|
459
561
|
}
|
|
460
562
|
}
|
|
563
|
+
/**
|
|
564
|
+
* Packs possible values for an entity field
|
|
565
|
+
* These values help Skip understand the domain and valid values for fields
|
|
566
|
+
* Copied from AskSkipResolver.PackFieldPossibleValues
|
|
567
|
+
*/
|
|
461
568
|
async packFieldPossibleValues(f, dataSource) {
|
|
462
569
|
try {
|
|
463
570
|
if (f.ValuesToPackWithSchema === 'None') {
|
|
464
|
-
return [];
|
|
571
|
+
return []; // don't pack anything
|
|
465
572
|
}
|
|
466
573
|
else if (f.ValuesToPackWithSchema === 'All') {
|
|
574
|
+
// wants ALL of the distinct values
|
|
467
575
|
return await this.getFieldDistinctValues(f, dataSource);
|
|
468
576
|
}
|
|
469
577
|
else if (f.ValuesToPackWithSchema === 'Auto') {
|
|
578
|
+
// default setting - pack based on the ValueListType
|
|
470
579
|
if (f.ValueListTypeEnum === 'List') {
|
|
580
|
+
// simple list of values in the Entity Field Values table
|
|
471
581
|
return f.EntityFieldValues.map((v) => {
|
|
472
582
|
return { value: v.Value, displayValue: v.Value };
|
|
473
583
|
});
|
|
474
584
|
}
|
|
475
585
|
else if (f.ValueListTypeEnum === 'ListOrUserEntry') {
|
|
586
|
+
// could be a user provided value, OR the values in the list of possible values.
|
|
587
|
+
// get the distinct list of values from the DB and concat that with the f.EntityFieldValues array - deduped and return
|
|
476
588
|
const values = await this.getFieldDistinctValues(f, dataSource);
|
|
477
589
|
if (!values || values.length === 0) {
|
|
590
|
+
// no result, just return the EntityFieldValues
|
|
478
591
|
return f.EntityFieldValues.map((v) => {
|
|
479
592
|
return { value: v.Value, displayValue: v.Value };
|
|
480
593
|
});
|
|
@@ -486,13 +599,18 @@ export class SkipSDK {
|
|
|
486
599
|
}
|
|
487
600
|
}
|
|
488
601
|
}
|
|
489
|
-
return [];
|
|
602
|
+
return []; // if we get here, nothing to pack
|
|
490
603
|
}
|
|
491
604
|
catch (e) {
|
|
492
605
|
LogError(`[SkipSDK] packFieldPossibleValues error: ${e}`);
|
|
493
606
|
return [];
|
|
494
607
|
}
|
|
495
608
|
}
|
|
609
|
+
/**
|
|
610
|
+
* Gets distinct values for a field from the database
|
|
611
|
+
* Used to provide Skip with information about the possible values
|
|
612
|
+
* Copied from AskSkipResolver.GetFieldDistinctValues
|
|
613
|
+
*/
|
|
496
614
|
async getFieldDistinctValues(f, dataSource) {
|
|
497
615
|
try {
|
|
498
616
|
const sql = `SELECT DISTINCT ${f.Name} FROM ${f.SchemaName}.${f.BaseView}`;
|
|
@@ -515,10 +633,18 @@ export class SkipSDK {
|
|
|
515
633
|
return [];
|
|
516
634
|
}
|
|
517
635
|
}
|
|
636
|
+
/**
|
|
637
|
+
* Process messages: filter delegation messages and add metadata fields
|
|
638
|
+
* Messages coming in should already have conversationDetailID if they exist in the database
|
|
639
|
+
*/
|
|
518
640
|
processMessages(messages) {
|
|
641
|
+
// Filter out delegation messages (administrative messages that shouldn't go to Skip)
|
|
519
642
|
const filteredMessages = messages.filter(msg => !this.isDelegationMessage(msg.content));
|
|
643
|
+
// Enrich messages with default metadata if not already present
|
|
520
644
|
return filteredMessages.map(msg => ({
|
|
521
645
|
...msg,
|
|
646
|
+
// Add default metadata fields if not already present
|
|
647
|
+
// Messages from DB already have conversationDetailID, temp messages get temp-X
|
|
522
648
|
hiddenToUser: msg.hiddenToUser ?? false,
|
|
523
649
|
userRating: msg.userRating ?? null,
|
|
524
650
|
userFeedback: msg.userFeedback ?? null,
|
|
@@ -526,10 +652,15 @@ export class SkipSDK {
|
|
|
526
652
|
summaryOfEarlierConveration: msg.summaryOfEarlierConveration ?? null
|
|
527
653
|
}));
|
|
528
654
|
}
|
|
655
|
+
/**
|
|
656
|
+
* Check if a message is a delegation message that should be filtered out
|
|
657
|
+
* Uses flexible pattern matching to detect variations of delegation messages
|
|
658
|
+
*/
|
|
529
659
|
isDelegationMessage(content) {
|
|
530
660
|
if (!content)
|
|
531
661
|
return false;
|
|
532
662
|
const lowerContent = content.toLowerCase();
|
|
663
|
+
// Check for both "delegating" or "delegate" AND "skip" in any order
|
|
533
664
|
const hasDelegatingOrDelegate = lowerContent.includes('delegating') || lowerContent.includes('delegate');
|
|
534
665
|
const hasSkip = lowerContent.includes('skip');
|
|
535
666
|
return hasDelegatingOrDelegate && hasSkip;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip-sdk.js","sourceRoot":"","sources":["../../src/agents/skip-sdk.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skip-sdk.js","sourceRoot":"","sources":["../../src/agents/skip-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/apolloServer/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/apolloServer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,QAAA,MAAM,iBAAiB,GACrB,gBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAC/C,+BAA+B;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,UAAU,CAAA;CAAE,6BAmB9E,CAAC;AAEL,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,18 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Key Scope Authorization Utilities
|
|
3
|
+
* Provides utilities for checking API key scopes in resolvers
|
|
4
|
+
* @module @memberjunction/server
|
|
5
|
+
*/
|
|
1
6
|
import { AuthorizationResult } from '@memberjunction/api-keys';
|
|
2
7
|
import { UserInfo } from '@memberjunction/core';
|
|
8
|
+
/**
|
|
9
|
+
* Application names used by the API Key authorization system
|
|
10
|
+
*/
|
|
3
11
|
export type ApplicationName = 'MJAPI' | 'MCPServer' | 'A2AServer' | string;
|
|
12
|
+
/**
|
|
13
|
+
* Options for scope authorization
|
|
14
|
+
*/
|
|
4
15
|
export interface ScopeAuthOptions {
|
|
16
|
+
/** The application making the request (default: 'MJAPI') */
|
|
5
17
|
applicationName?: ApplicationName;
|
|
18
|
+
/** Resource being accessed (e.g., entity name, action name) */
|
|
6
19
|
resource?: string;
|
|
20
|
+
/** Whether to throw an error on denied access (default: true) */
|
|
7
21
|
throwOnDenied?: boolean;
|
|
8
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Result of scope authorization check
|
|
25
|
+
*/
|
|
9
26
|
export interface ScopeAuthResult {
|
|
27
|
+
/** Whether access is allowed */
|
|
10
28
|
Allowed: boolean;
|
|
29
|
+
/** Human-readable reason for the decision */
|
|
11
30
|
Reason?: string;
|
|
31
|
+
/** Whether scope checking was performed (false if no API key or enforcement disabled) */
|
|
12
32
|
Checked: boolean;
|
|
33
|
+
/** All rules evaluated during the check */
|
|
13
34
|
EvaluatedRules?: AuthorizationResult['EvaluatedRules'];
|
|
14
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Check if an API key has the required scope for an operation.
|
|
38
|
+
*
|
|
39
|
+
* This function implements the three-tier permission model:
|
|
40
|
+
* 1. User Permissions - What the user can do (already checked by authentication)
|
|
41
|
+
* 2. Application Ceiling - Maximum scope the application allows
|
|
42
|
+
* 3. API Key Scopes - Specific scopes granted to this key
|
|
43
|
+
*
|
|
44
|
+
* @param apiKeyId - The API key ID from context.userPayload.apiKeyId
|
|
45
|
+
* @param scopePath - The scope path required (e.g., 'view:run', 'agent:execute')
|
|
46
|
+
* @param contextUser - The authenticated user from context.userPayload.userRecord
|
|
47
|
+
* @param options - Additional options for scope checking
|
|
48
|
+
* @returns ScopeAuthResult with authorization details
|
|
49
|
+
* @throws AuthorizationError if access is denied and throwOnDenied is true
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* // In a resolver
|
|
54
|
+
* async runView(@Ctx() ctx: AppContext): Promise<ViewResult> {
|
|
55
|
+
* await CheckAPIKeyScope(
|
|
56
|
+
* ctx.userPayload.apiKeyId,
|
|
57
|
+
* 'view:run',
|
|
58
|
+
* ctx.userPayload.userRecord,
|
|
59
|
+
* { resource: 'User' }
|
|
60
|
+
* );
|
|
61
|
+
* // ... proceed with operation
|
|
62
|
+
* }
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
15
65
|
export declare function CheckAPIKeyScope(apiKeyId: string | undefined, scopePath: string, contextUser: UserInfo, options?: ScopeAuthOptions): Promise<ScopeAuthResult>;
|
|
66
|
+
/**
|
|
67
|
+
* Check if an API key has the required scope and log usage.
|
|
68
|
+
*
|
|
69
|
+
* Same as CheckAPIKeyScope but also logs the authorization attempt.
|
|
70
|
+
* Use this for operations where you want detailed audit trails.
|
|
71
|
+
*
|
|
72
|
+
* @param apiKeyId - The API key ID from context.userPayload.apiKeyId
|
|
73
|
+
* @param scopePath - The scope path required
|
|
74
|
+
* @param contextUser - The authenticated user
|
|
75
|
+
* @param usageDetails - Details about the request for logging
|
|
76
|
+
* @param options - Additional options for scope checking
|
|
77
|
+
* @returns ScopeAuthResult with authorization details and optional log ID
|
|
78
|
+
*/
|
|
16
79
|
export declare function CheckAPIKeyScopeAndLog(apiKeyId: string | undefined, scopePath: string, contextUser: UserInfo, usageDetails: {
|
|
17
80
|
endpoint: string;
|
|
18
81
|
method: string;
|
|
@@ -24,6 +87,25 @@ export declare function CheckAPIKeyScopeAndLog(apiKeyId: string | undefined, sco
|
|
|
24
87
|
}, options?: ScopeAuthOptions): Promise<ScopeAuthResult & {
|
|
25
88
|
LogId?: string;
|
|
26
89
|
}>;
|
|
90
|
+
/**
|
|
91
|
+
* Decorator-style function for common scope checks.
|
|
92
|
+
* Returns a function that can be used in resolvers.
|
|
93
|
+
*
|
|
94
|
+
* @param scopePath - The scope path required
|
|
95
|
+
* @param options - Additional options
|
|
96
|
+
* @returns A function that performs the scope check
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const requireViewRun = RequireScope('view:run');
|
|
101
|
+
*
|
|
102
|
+
* // In resolver
|
|
103
|
+
* async runView(@Ctx() ctx: AppContext): Promise<ViewResult> {
|
|
104
|
+
* await requireViewRun(ctx);
|
|
105
|
+
* // ... proceed
|
|
106
|
+
* }
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
27
109
|
export declare function RequireScope(scopePath: string, options?: Omit<ScopeAuthOptions, 'resource'>): (ctx: {
|
|
28
110
|
userPayload: {
|
|
29
111
|
apiKeyId?: string;
|