@memberjunction/core-actions 2.105.0 → 2.107.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/dist/config.d.ts +112 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -2
- package/dist/config.js.map +1 -1
- package/dist/custom/ai/summarize-content.action.d.ts +72 -0
- package/dist/custom/ai/summarize-content.action.d.ts.map +1 -0
- package/dist/custom/ai/summarize-content.action.js +388 -0
- package/dist/custom/ai/summarize-content.action.js.map +1 -0
- package/dist/custom/data/execute-research-query.action.d.ts +96 -0
- package/dist/custom/data/execute-research-query.action.d.ts.map +1 -0
- package/dist/custom/data/execute-research-query.action.js +413 -0
- package/dist/custom/data/execute-research-query.action.js.map +1 -0
- package/dist/custom/data/explore-database-schema.action.d.ts +91 -0
- package/dist/custom/data/explore-database-schema.action.d.ts.map +1 -0
- package/dist/custom/data/explore-database-schema.action.js +406 -0
- package/dist/custom/data/explore-database-schema.action.js.map +1 -0
- package/dist/custom/files/index.d.ts +2 -0
- package/dist/custom/files/index.d.ts.map +1 -1
- package/dist/custom/files/index.js +5 -1
- package/dist/custom/files/index.js.map +1 -1
- package/dist/custom/files/list-storage-providers.action.d.ts +52 -0
- package/dist/custom/files/list-storage-providers.action.d.ts.map +1 -0
- package/dist/custom/files/list-storage-providers.action.js +175 -0
- package/dist/custom/files/list-storage-providers.action.js.map +1 -0
- package/dist/custom/files/search-storage-files.action.d.ts +61 -0
- package/dist/custom/files/search-storage-files.action.d.ts.map +1 -0
- package/dist/custom/files/search-storage-files.action.js +183 -0
- package/dist/custom/files/search-storage-files.action.js.map +1 -0
- package/dist/custom/web/google-custom-search.action.d.ts +55 -0
- package/dist/custom/web/google-custom-search.action.d.ts.map +1 -0
- package/dist/custom/web/google-custom-search.action.js +310 -0
- package/dist/custom/web/google-custom-search.action.js.map +1 -0
- package/dist/generated/action_subclasses.d.ts +51 -3
- package/dist/generated/action_subclasses.d.ts.map +1 -1
- package/dist/generated/action_subclasses.js +174 -90
- package/dist/generated/action_subclasses.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -1
- package/package.json +13 -11
|
@@ -0,0 +1,406 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.LoadExploreDatabaseSchemaAction = exports.ExploreDatabaseSchemaAction = void 0;
|
|
10
|
+
const global_1 = require("@memberjunction/global");
|
|
11
|
+
const actions_1 = require("@memberjunction/actions");
|
|
12
|
+
const global_2 = require("@memberjunction/global");
|
|
13
|
+
const core_1 = require("@memberjunction/core");
|
|
14
|
+
/**
|
|
15
|
+
* Action that retrieves comprehensive database schema information using MemberJunction's
|
|
16
|
+
* rich metadata layer instead of raw INFORMATION_SCHEMA queries.
|
|
17
|
+
*
|
|
18
|
+
* This action provides research agents with deep understanding of the data model including:
|
|
19
|
+
* - Business context (descriptions, display names)
|
|
20
|
+
* - Field metadata (types, defaults, value lists, related entities)
|
|
21
|
+
* - Semantic relationships (not just foreign keys)
|
|
22
|
+
* - Virtual entities (logical, not physical)
|
|
23
|
+
* - API permissions and settings
|
|
24
|
+
* - Audit configuration
|
|
25
|
+
* - UI display preferences
|
|
26
|
+
*
|
|
27
|
+
* Features:
|
|
28
|
+
* - Entity name pattern filtering with wildcards
|
|
29
|
+
* - Schema filtering (focus on specific schemas)
|
|
30
|
+
* - Optional field details with rich metadata
|
|
31
|
+
* - Optional relationship information with semantic meaning
|
|
32
|
+
* - Optional permission information
|
|
33
|
+
* - Virtual entity support
|
|
34
|
+
* - Scope-based filtering
|
|
35
|
+
* - Configurable output size limits
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* // Get all customer-related entities with full metadata
|
|
40
|
+
* await runAction({
|
|
41
|
+
* ActionName: 'Explore Database Schema',
|
|
42
|
+
* Params: [{
|
|
43
|
+
* Name: 'EntityPattern',
|
|
44
|
+
* Value: '%Customer%'
|
|
45
|
+
* }, {
|
|
46
|
+
* Name: 'IncludeFields',
|
|
47
|
+
* Value: true
|
|
48
|
+
* }, {
|
|
49
|
+
* Name: 'IncludeRelationships',
|
|
50
|
+
* Value: true
|
|
51
|
+
* }]
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
let ExploreDatabaseSchemaAction = class ExploreDatabaseSchemaAction extends actions_1.BaseAction {
|
|
56
|
+
async InternalRunAction(params) {
|
|
57
|
+
try {
|
|
58
|
+
// Extract parameters
|
|
59
|
+
const entityPattern = this.getStringParam(params, "entitypattern");
|
|
60
|
+
const schemaFilter = this.getStringParam(params, "schemafilter");
|
|
61
|
+
const includeFields = this.getBooleanParam(params, "includefields", true);
|
|
62
|
+
const includeRelationships = this.getBooleanParam(params, "includerelationships", true);
|
|
63
|
+
const includePermissions = this.getBooleanParam(params, "includepermissions", false);
|
|
64
|
+
const includeVirtualEntities = this.getBooleanParam(params, "includevirtualentities", true);
|
|
65
|
+
const maxEntities = this.getNumericParam(params, "maxentities", 100);
|
|
66
|
+
const scopeFilter = this.getStringParam(params, "scopefilter");
|
|
67
|
+
const startTime = Date.now();
|
|
68
|
+
// Get MJ metadata
|
|
69
|
+
const md = new core_1.Metadata();
|
|
70
|
+
let entities = md.Entities;
|
|
71
|
+
// Apply filters
|
|
72
|
+
entities = this.filterEntities(entities, {
|
|
73
|
+
entityPattern,
|
|
74
|
+
schemaFilter,
|
|
75
|
+
includeVirtualEntities,
|
|
76
|
+
scopeFilter,
|
|
77
|
+
maxEntities
|
|
78
|
+
});
|
|
79
|
+
if (entities.length === 0) {
|
|
80
|
+
return {
|
|
81
|
+
Success: false,
|
|
82
|
+
ResultCode: "NO_ENTITIES_FOUND",
|
|
83
|
+
Message: "No entities match the specified filter criteria"
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
// Build result objects
|
|
87
|
+
const formattedEntities = entities.map(entity => this.formatEntityInfo(entity, {
|
|
88
|
+
includeFields,
|
|
89
|
+
includeRelationships,
|
|
90
|
+
includePermissions
|
|
91
|
+
}));
|
|
92
|
+
// Group by schema
|
|
93
|
+
const schemas = this.groupBySchema(formattedEntities);
|
|
94
|
+
// Calculate summary
|
|
95
|
+
const summary = this.calculateSummary(formattedEntities);
|
|
96
|
+
const executionTimeMs = Date.now() - startTime;
|
|
97
|
+
// Build result message
|
|
98
|
+
let message = `Found ${formattedEntities.length} entity(ies) across ${schemas.length} schema(s)`;
|
|
99
|
+
if (includeFields) {
|
|
100
|
+
message += `, ${summary.TotalFields} total fields`;
|
|
101
|
+
}
|
|
102
|
+
if (includeRelationships) {
|
|
103
|
+
message += `, ${summary.TotalRelationships} relationships`;
|
|
104
|
+
}
|
|
105
|
+
return {
|
|
106
|
+
Success: true,
|
|
107
|
+
ResultCode: "SUCCESS",
|
|
108
|
+
Message: message,
|
|
109
|
+
Entities: formattedEntities,
|
|
110
|
+
Schemas: schemas,
|
|
111
|
+
EntitySummary: summary,
|
|
112
|
+
ExecutionTimeMs: executionTimeMs
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
117
|
+
return {
|
|
118
|
+
Success: false,
|
|
119
|
+
ResultCode: "EXPLORATION_FAILED",
|
|
120
|
+
Message: `Schema exploration failed: ${errorMessage}`
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Filter entities based on parameters
|
|
126
|
+
*/
|
|
127
|
+
filterEntities(entities, filters) {
|
|
128
|
+
return entities.filter(entity => {
|
|
129
|
+
// Entity name pattern filter (supports wildcards % and *)
|
|
130
|
+
if (filters.entityPattern) {
|
|
131
|
+
if (!this.matchesPattern(entity.Name, filters.entityPattern)) {
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Schema filter (comma-separated list)
|
|
136
|
+
if (filters.schemaFilter) {
|
|
137
|
+
const schemas = filters.schemaFilter.split(',').map(s => s.trim().toLowerCase());
|
|
138
|
+
if (!schemas.includes(entity.SchemaName.toLowerCase())) {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Virtual entity filter
|
|
143
|
+
if (!filters.includeVirtualEntities && entity.VirtualEntity) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
// Scope filter
|
|
147
|
+
if (filters.scopeFilter && entity.ScopeDefault) {
|
|
148
|
+
const scopes = entity.ScopeDefault.split(',').map(s => s.trim().toLowerCase());
|
|
149
|
+
if (!scopes.includes(filters.scopeFilter.toLowerCase()) && !scopes.includes('all')) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return true;
|
|
154
|
+
}).slice(0, filters.maxEntities);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Check if entity name matches pattern (supports % and * wildcards)
|
|
158
|
+
*/
|
|
159
|
+
matchesPattern(name, pattern) {
|
|
160
|
+
// Convert SQL-style % wildcards to regex-style .*
|
|
161
|
+
// Also support * as wildcard
|
|
162
|
+
const regexPattern = pattern
|
|
163
|
+
.replace(/[.+?^${}()|[\]\\]/g, '\\$&') // Escape special regex chars
|
|
164
|
+
.replace(/%/g, '.*') // Convert % to .*
|
|
165
|
+
.replace(/\*/g, '.*'); // Convert * to .*
|
|
166
|
+
const regex = new RegExp(`^${regexPattern}$`, 'i');
|
|
167
|
+
return regex.test(name);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Format EntityInfo into research-friendly structure
|
|
171
|
+
*/
|
|
172
|
+
formatEntityInfo(entity, options) {
|
|
173
|
+
const result = {
|
|
174
|
+
ID: entity.ID,
|
|
175
|
+
Name: entity.Name,
|
|
176
|
+
DisplayName: entity.DisplayName || entity.Name,
|
|
177
|
+
Description: entity.Description,
|
|
178
|
+
SchemaName: entity.SchemaName,
|
|
179
|
+
BaseTable: entity.BaseTable,
|
|
180
|
+
BaseView: entity.BaseView,
|
|
181
|
+
IsVirtual: entity.VirtualEntity,
|
|
182
|
+
Icon: entity.Icon,
|
|
183
|
+
// API Settings
|
|
184
|
+
APISettings: {
|
|
185
|
+
IncludeInAPI: entity.IncludeInAPI,
|
|
186
|
+
AllowCreateAPI: entity.AllowCreateAPI,
|
|
187
|
+
AllowUpdateAPI: entity.AllowUpdateAPI,
|
|
188
|
+
AllowDeleteAPI: entity.AllowDeleteAPI,
|
|
189
|
+
AllowUserSearchAPI: entity.AllowUserSearchAPI,
|
|
190
|
+
AllowAllRowsAPI: entity.AllowAllRowsAPI,
|
|
191
|
+
CustomResolverAPI: entity.CustomResolverAPI
|
|
192
|
+
},
|
|
193
|
+
// Audit Settings
|
|
194
|
+
AuditSettings: {
|
|
195
|
+
TrackRecordChanges: entity.TrackRecordChanges,
|
|
196
|
+
AuditRecordAccess: entity.AuditRecordAccess,
|
|
197
|
+
AuditViewRuns: entity.AuditViewRuns
|
|
198
|
+
},
|
|
199
|
+
// Search Settings
|
|
200
|
+
SearchSettings: {
|
|
201
|
+
FullTextSearchEnabled: entity.FullTextSearchEnabled,
|
|
202
|
+
FullTextCatalog: entity.FullTextCatalog,
|
|
203
|
+
FullTextIndex: entity.FullTextIndex
|
|
204
|
+
},
|
|
205
|
+
// Other Settings
|
|
206
|
+
AllowRecordMerge: entity.AllowRecordMerge,
|
|
207
|
+
CascadeDeletes: entity.CascadeDeletes,
|
|
208
|
+
DeleteType: entity.DeleteType,
|
|
209
|
+
UserViewMaxRows: entity.UserViewMaxRows,
|
|
210
|
+
ScopeDefault: entity.ScopeDefault
|
|
211
|
+
};
|
|
212
|
+
// Include fields if requested
|
|
213
|
+
if (options.includeFields && entity.Fields) {
|
|
214
|
+
result.Fields = entity.Fields.map(field => this.formatFieldInfo(field));
|
|
215
|
+
result.FieldCount = result.Fields.length;
|
|
216
|
+
}
|
|
217
|
+
// Include relationships if requested
|
|
218
|
+
if (options.includeRelationships && entity.RelatedEntities) {
|
|
219
|
+
result.Relationships = entity.RelatedEntities.map(rel => this.formatRelationshipInfo(rel));
|
|
220
|
+
result.RelationshipCount = result.Relationships.length;
|
|
221
|
+
}
|
|
222
|
+
// Include permissions if requested
|
|
223
|
+
if (options.includePermissions && entity.Permissions) {
|
|
224
|
+
result.Permissions = entity.Permissions.map(perm => ({
|
|
225
|
+
Role: perm.Role,
|
|
226
|
+
RoleSQLName: perm.RoleSQLName,
|
|
227
|
+
CanCreate: perm.CanCreate,
|
|
228
|
+
CanRead: perm.CanRead,
|
|
229
|
+
CanUpdate: perm.CanUpdate,
|
|
230
|
+
CanDelete: perm.CanDelete
|
|
231
|
+
}));
|
|
232
|
+
result.PermissionCount = result.Permissions.length;
|
|
233
|
+
}
|
|
234
|
+
return result;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Format EntityFieldInfo into research-friendly structure
|
|
238
|
+
*/
|
|
239
|
+
formatFieldInfo(field) {
|
|
240
|
+
const fieldInfo = {
|
|
241
|
+
Name: field.Name,
|
|
242
|
+
DisplayName: field.DisplayName || field.Name,
|
|
243
|
+
Description: field.Description,
|
|
244
|
+
Type: field.Type,
|
|
245
|
+
Length: field.Length,
|
|
246
|
+
Precision: field.Precision,
|
|
247
|
+
Scale: field.Scale,
|
|
248
|
+
AllowsNull: field.AllowsNull,
|
|
249
|
+
DefaultValue: field.DefaultValue,
|
|
250
|
+
IsPrimaryKey: field.IsPrimaryKey,
|
|
251
|
+
IsUnique: field.IsUnique,
|
|
252
|
+
IsNameField: field.IsNameField,
|
|
253
|
+
IsVirtual: field.IsVirtual,
|
|
254
|
+
AutoIncrement: field.AutoIncrement,
|
|
255
|
+
Category: field.Category,
|
|
256
|
+
// Related entity info (for foreign keys)
|
|
257
|
+
RelatedEntity: field.RelatedEntity,
|
|
258
|
+
RelatedEntityFieldName: field.RelatedEntityFieldName,
|
|
259
|
+
RelatedEntityDisplayType: field.RelatedEntityDisplayType,
|
|
260
|
+
// Value list (for dropdowns/validation)
|
|
261
|
+
ValueListType: field.ValueListType,
|
|
262
|
+
// API settings
|
|
263
|
+
AllowUpdateAPI: field.AllowUpdateAPI,
|
|
264
|
+
AllowUpdateInView: field.AllowUpdateInView,
|
|
265
|
+
IncludeInUserSearchAPI: field.IncludeInUserSearchAPI,
|
|
266
|
+
FullTextSearchEnabled: field.FullTextSearchEnabled,
|
|
267
|
+
// UI settings
|
|
268
|
+
DefaultInView: field.DefaultInView,
|
|
269
|
+
IncludeInGeneratedForm: field.IncludeInGeneratedForm,
|
|
270
|
+
GeneratedFormSection: field.GeneratedFormSection,
|
|
271
|
+
DefaultColumnWidth: field.DefaultColumnWidth,
|
|
272
|
+
// Scope
|
|
273
|
+
ScopeDefault: field.ScopeDefault,
|
|
274
|
+
Status: field.Status
|
|
275
|
+
};
|
|
276
|
+
// Include value list values if available
|
|
277
|
+
if (field.EntityFieldValues && field.EntityFieldValues.length > 0) {
|
|
278
|
+
fieldInfo.EntityFieldValues = field.EntityFieldValues.map(v => ({
|
|
279
|
+
Value: v.Value,
|
|
280
|
+
Code: v.Code,
|
|
281
|
+
Description: v.Description,
|
|
282
|
+
Sequence: v.Sequence
|
|
283
|
+
}));
|
|
284
|
+
}
|
|
285
|
+
return fieldInfo;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Format EntityRelationshipInfo into research-friendly structure
|
|
289
|
+
*/
|
|
290
|
+
formatRelationshipInfo(rel) {
|
|
291
|
+
return {
|
|
292
|
+
ID: rel.ID,
|
|
293
|
+
Type: rel.Type,
|
|
294
|
+
RelatedEntity: rel.RelatedEntity,
|
|
295
|
+
RelatedEntityClassName: rel.RelatedEntityClassName,
|
|
296
|
+
EntityKeyField: rel.EntityKeyField,
|
|
297
|
+
RelatedEntityJoinField: rel.RelatedEntityJoinField,
|
|
298
|
+
DisplayName: rel.DisplayName,
|
|
299
|
+
DisplayInForm: rel.DisplayInForm,
|
|
300
|
+
DisplayLocation: rel.DisplayLocation,
|
|
301
|
+
BundleInAPI: rel.BundleInAPI,
|
|
302
|
+
IncludeInParentAllQuery: rel.IncludeInParentAllQuery,
|
|
303
|
+
Sequence: rel.Sequence
|
|
304
|
+
};
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Group entities by schema name
|
|
308
|
+
*/
|
|
309
|
+
groupBySchema(entities) {
|
|
310
|
+
const schemaMap = {};
|
|
311
|
+
for (const entity of entities) {
|
|
312
|
+
const schemaName = entity.SchemaName;
|
|
313
|
+
if (!schemaMap[schemaName]) {
|
|
314
|
+
schemaMap[schemaName] = {
|
|
315
|
+
SchemaName: schemaName,
|
|
316
|
+
Entities: [],
|
|
317
|
+
EntityCount: 0,
|
|
318
|
+
VirtualEntityCount: 0,
|
|
319
|
+
PhysicalEntityCount: 0
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
schemaMap[schemaName].Entities.push(entity);
|
|
323
|
+
schemaMap[schemaName].EntityCount++;
|
|
324
|
+
if (entity.IsVirtual) {
|
|
325
|
+
schemaMap[schemaName].VirtualEntityCount++;
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
schemaMap[schemaName].PhysicalEntityCount++;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
return Object.values(schemaMap).sort((a, b) => a.SchemaName.localeCompare(b.SchemaName));
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Calculate summary statistics
|
|
335
|
+
*/
|
|
336
|
+
calculateSummary(formattedEntities) {
|
|
337
|
+
const summary = {
|
|
338
|
+
TotalEntities: formattedEntities.length,
|
|
339
|
+
PhysicalEntities: formattedEntities.filter(e => !e.IsVirtual).length,
|
|
340
|
+
VirtualEntities: formattedEntities.filter(e => e.IsVirtual).length,
|
|
341
|
+
TotalFields: 0,
|
|
342
|
+
TotalRelationships: 0,
|
|
343
|
+
SchemaList: [...new Set(formattedEntities.map(e => e.SchemaName))].sort(),
|
|
344
|
+
EntitiesWithAPI: formattedEntities.filter(e => e.APISettings.IncludeInAPI).length,
|
|
345
|
+
EntitiesWithFullTextSearch: formattedEntities.filter(e => e.SearchSettings.FullTextSearchEnabled).length,
|
|
346
|
+
EntitiesWithAudit: formattedEntities.filter(e => e.AuditSettings.TrackRecordChanges).length
|
|
347
|
+
};
|
|
348
|
+
// Count fields and relationships if included
|
|
349
|
+
for (const entity of formattedEntities) {
|
|
350
|
+
if (entity.FieldCount != null) {
|
|
351
|
+
summary.TotalFields += entity.FieldCount;
|
|
352
|
+
}
|
|
353
|
+
if (entity.RelationshipCount != null) {
|
|
354
|
+
summary.TotalRelationships += entity.RelationshipCount;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
return summary;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Helper to get string parameter value
|
|
361
|
+
*/
|
|
362
|
+
getStringParam(params, paramName) {
|
|
363
|
+
const param = params.Params.find(p => p.Name.toLowerCase() === paramName.toLowerCase() &&
|
|
364
|
+
p.Type === 'Input');
|
|
365
|
+
return param?.Value ? String(param.Value) : undefined;
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Helper to get numeric parameter value
|
|
369
|
+
*/
|
|
370
|
+
getNumericParam(params, paramName, defaultValue) {
|
|
371
|
+
const param = params.Params.find(p => p.Name.toLowerCase() === paramName.toLowerCase() &&
|
|
372
|
+
p.Type === 'Input');
|
|
373
|
+
if (param?.Value != null) {
|
|
374
|
+
const num = Number(param.Value);
|
|
375
|
+
return isNaN(num) ? defaultValue : num;
|
|
376
|
+
}
|
|
377
|
+
return defaultValue;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Helper to get boolean parameter value
|
|
381
|
+
*/
|
|
382
|
+
getBooleanParam(params, paramName, defaultValue) {
|
|
383
|
+
const param = params.Params.find(p => p.Name.toLowerCase() === paramName.toLowerCase() &&
|
|
384
|
+
p.Type === 'Input');
|
|
385
|
+
if (param?.Value != null) {
|
|
386
|
+
const val = String(param.Value).toLowerCase();
|
|
387
|
+
if (val === 'true' || val === '1' || val === 'yes')
|
|
388
|
+
return true;
|
|
389
|
+
if (val === 'false' || val === '0' || val === 'no')
|
|
390
|
+
return false;
|
|
391
|
+
}
|
|
392
|
+
return defaultValue;
|
|
393
|
+
}
|
|
394
|
+
};
|
|
395
|
+
exports.ExploreDatabaseSchemaAction = ExploreDatabaseSchemaAction;
|
|
396
|
+
exports.ExploreDatabaseSchemaAction = ExploreDatabaseSchemaAction = __decorate([
|
|
397
|
+
(0, global_1.RegisterClass)(actions_1.BaseAction, "Explore Database Schema")
|
|
398
|
+
], ExploreDatabaseSchemaAction);
|
|
399
|
+
/**
|
|
400
|
+
* Load function to ensure the class is registered and not tree-shaken
|
|
401
|
+
*/
|
|
402
|
+
function LoadExploreDatabaseSchemaAction() {
|
|
403
|
+
global_2.MJGlobal.Instance.ClassFactory.GetRegistration(actions_1.BaseAction, "Explore Database Schema");
|
|
404
|
+
}
|
|
405
|
+
exports.LoadExploreDatabaseSchemaAction = LoadExploreDatabaseSchemaAction;
|
|
406
|
+
//# sourceMappingURL=explore-database-schema.action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explore-database-schema.action.js","sourceRoot":"","sources":["../../../src/custom/data/explore-database-schema.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,4 +20,6 @@ export { MoveObjectAction } from './move-object.action';
|
|
|
20
20
|
export { DeleteObjectAction } from './delete-object.action';
|
|
21
21
|
export { CreateDirectoryAction } from './create-directory.action';
|
|
22
22
|
export { DeleteDirectoryAction } from './delete-directory.action';
|
|
23
|
+
export { SearchStorageFilesAction } from './search-storage-files.action';
|
|
24
|
+
export { ListStorageProvidersAction } from './list-storage-providers.action';
|
|
23
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/files/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/custom/files/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* All actions extend BaseFileStorageAction for shared functionality.
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.DeleteDirectoryAction = exports.CreateDirectoryAction = exports.DeleteObjectAction = exports.MoveObjectAction = exports.CopyObjectAction = exports.DirectoryExistsAction = exports.ObjectExistsAction = exports.GetUploadUrlAction = exports.GetDownloadUrlAction = exports.GetObjectAction = exports.GetMetadataAction = exports.ListObjectsAction = exports.BaseFileStorageAction = void 0;
|
|
12
|
+
exports.ListStorageProvidersAction = exports.SearchStorageFilesAction = exports.DeleteDirectoryAction = exports.CreateDirectoryAction = exports.DeleteObjectAction = exports.MoveObjectAction = exports.CopyObjectAction = exports.DirectoryExistsAction = exports.ObjectExistsAction = exports.GetUploadUrlAction = exports.GetDownloadUrlAction = exports.GetObjectAction = exports.GetMetadataAction = exports.ListObjectsAction = exports.BaseFileStorageAction = void 0;
|
|
13
13
|
var base_file_storage_action_1 = require("./base-file-storage.action");
|
|
14
14
|
Object.defineProperty(exports, "BaseFileStorageAction", { enumerable: true, get: function () { return base_file_storage_action_1.BaseFileStorageAction; } });
|
|
15
15
|
var list_objects_action_1 = require("./list-objects.action");
|
|
@@ -36,4 +36,8 @@ var create_directory_action_1 = require("./create-directory.action");
|
|
|
36
36
|
Object.defineProperty(exports, "CreateDirectoryAction", { enumerable: true, get: function () { return create_directory_action_1.CreateDirectoryAction; } });
|
|
37
37
|
var delete_directory_action_1 = require("./delete-directory.action");
|
|
38
38
|
Object.defineProperty(exports, "DeleteDirectoryAction", { enumerable: true, get: function () { return delete_directory_action_1.DeleteDirectoryAction; } });
|
|
39
|
+
var search_storage_files_action_1 = require("./search-storage-files.action");
|
|
40
|
+
Object.defineProperty(exports, "SearchStorageFilesAction", { enumerable: true, get: function () { return search_storage_files_action_1.SearchStorageFilesAction; } });
|
|
41
|
+
var list_storage_providers_action_1 = require("./list-storage-providers.action");
|
|
42
|
+
Object.defineProperty(exports, "ListStorageProvidersAction", { enumerable: true, get: function () { return list_storage_providers_action_1.ListStorageProvidersAction; } });
|
|
39
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/custom/files/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,uEAAmE;AAA1D,iIAAA,qBAAqB,OAAA;AAC9B,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,yDAAsD;AAA7C,oHAAA,eAAe,OAAA;AACxB,qEAAiE;AAAxD,+HAAA,oBAAoB,OAAA;AAC7B,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAC9B,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAC9B,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/custom/files/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,uEAAmE;AAA1D,iIAAA,qBAAqB,OAAA;AAC9B,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAC1B,yDAAsD;AAA7C,oHAAA,eAAe,OAAA;AACxB,qEAAiE;AAAxD,+HAAA,oBAAoB,OAAA;AAC7B,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAC9B,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,2DAAwD;AAA/C,sHAAA,gBAAgB,OAAA;AACzB,+DAA4D;AAAnD,0HAAA,kBAAkB,OAAA;AAC3B,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAC9B,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA;AAC9B,6EAAyE;AAAhE,uIAAA,wBAAwB,OAAA;AACjC,iFAA6E;AAApE,2IAAA,0BAA0B,OAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
|
|
2
|
+
import { BaseFileStorageAction } from "./base-file-storage.action";
|
|
3
|
+
/**
|
|
4
|
+
* Action that retrieves a list of active and available file storage providers.
|
|
5
|
+
*
|
|
6
|
+
* This action returns storage providers that are:
|
|
7
|
+
* 1. Marked as IsActive=true in the database
|
|
8
|
+
* 2. Actually available/configured in the running environment
|
|
9
|
+
*
|
|
10
|
+
* This is useful for AI agents (particularly Research Agent) to discover
|
|
11
|
+
* what storage providers are available before attempting to search or access files.
|
|
12
|
+
*
|
|
13
|
+
* Providers are configured in the File Storage Providers entity and can include:
|
|
14
|
+
* - Google Drive
|
|
15
|
+
* - SharePoint
|
|
16
|
+
* - Dropbox
|
|
17
|
+
* - Box
|
|
18
|
+
* - AWS S3
|
|
19
|
+
* - Azure Blob Storage
|
|
20
|
+
* - Google Cloud Storage
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* // Get all available storage providers
|
|
25
|
+
* await runAction({
|
|
26
|
+
* ActionName: 'List Storage Providers',
|
|
27
|
+
* Params: []
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* // Get only providers that support search
|
|
31
|
+
* await runAction({
|
|
32
|
+
* ActionName: 'List Storage Providers',
|
|
33
|
+
* Params: [{
|
|
34
|
+
* Name: 'SearchSupportedOnly',
|
|
35
|
+
* Value: true
|
|
36
|
+
* }]
|
|
37
|
+
* });
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare class ListStorageProvidersAction extends BaseFileStorageAction {
|
|
41
|
+
/**
|
|
42
|
+
* List of storage provider driver keys that support native file search.
|
|
43
|
+
* Used to populate the SupportsSearch field in results.
|
|
44
|
+
*/
|
|
45
|
+
private readonly SEARCH_SUPPORTED_PROVIDERS;
|
|
46
|
+
protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Load function to ensure the class is registered and not tree-shaken
|
|
50
|
+
*/
|
|
51
|
+
export declare function LoadListStorageProvidersAction(): void;
|
|
52
|
+
//# sourceMappingURL=list-storage-providers.action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-storage-providers.action.d.ts","sourceRoot":"","sources":["../../../src/custom/files/list-storage-providers.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAMnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBACa,0BAA2B,SAAQ,qBAAqB;IAEjE;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAKzC;cAEc,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA0H1F;AAED;;GAEG;AACH,wBAAgB,8BAA8B,SAG7C"}
|