@memberjunction/server 5.34.1 → 5.35.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/generated/generated.d.ts +21 -0
- package/dist/generated/generated.d.ts.map +1 -1
- package/dist/generated/generated.js +102 -2
- package/dist/generated/generated.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts +1 -1
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +7 -4
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.d.ts +4 -0
- package/dist/generic/RunViewResolver.d.ts.map +1 -1
- package/dist/generic/RunViewResolver.js +28 -0
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +111 -58
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/artifact-routing.d.ts +39 -0
- package/dist/resolvers/artifact-routing.d.ts.map +1 -0
- package/dist/resolvers/artifact-routing.js +40 -0
- package/dist/resolvers/artifact-routing.js.map +1 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +68 -68
- package/src/generated/generated.ts +75 -2
- package/src/generic/ResolverBase.ts +13 -4
- package/src/generic/RunViewResolver.ts +28 -0
- package/src/resolvers/RunAIAgentResolver.ts +119 -61
- package/src/resolvers/__tests__/artifact-routing.test.ts +88 -0
- package/src/resolvers/artifact-routing.ts +80 -0
- package/src/types.ts +6 -0
|
@@ -10270,7 +10270,7 @@ __decorate([
|
|
|
10270
10270
|
__metadata("design:type", Number)
|
|
10271
10271
|
], MJAIAgentRunStep_.prototype, "StepNumber", void 0);
|
|
10272
10272
|
__decorate([
|
|
10273
|
-
Field({ description: `Type of execution step: Prompt, Actions, Sub-Agent, Decision, Chat, Validation` }),
|
|
10273
|
+
Field({ description: `Type of execution step: Prompt, Actions, Sub-Agent, Decision, Chat, Validation, ForEach, While, Tool` }),
|
|
10274
10274
|
MaxLength(50),
|
|
10275
10275
|
__metadata("design:type", String)
|
|
10276
10276
|
], MJAIAgentRunStep_.prototype, "StepType", void 0);
|
|
@@ -13586,6 +13586,10 @@ __decorate([
|
|
|
13586
13586
|
MaxLength(20),
|
|
13587
13587
|
__metadata("design:type", String)
|
|
13588
13588
|
], MJAIAgent_.prototype, "SearchScopeAccess", void 0);
|
|
13589
|
+
__decorate([
|
|
13590
|
+
Field(() => Boolean, { description: `Per-agent opt-in to a Generic Binary fallback for file uploads whose MIME type does not match any registered Artifact Type. When false (default), unrecognized uploads are rejected at upload time with an actionable error. When true, unrecognized uploads resolve to the Generic Binary artifact type, exposing only get_full and get_metadata tools. Scoped per agent — there is no system-wide global flag.` }),
|
|
13591
|
+
__metadata("design:type", Boolean)
|
|
13592
|
+
], MJAIAgent_.prototype, "AcceptUnregisteredFiles", void 0);
|
|
13589
13593
|
__decorate([
|
|
13590
13594
|
Field({ nullable: true }),
|
|
13591
13595
|
MaxLength(255),
|
|
@@ -13996,6 +14000,10 @@ __decorate([
|
|
|
13996
14000
|
Field({ nullable: true }),
|
|
13997
14001
|
__metadata("design:type", String)
|
|
13998
14002
|
], CreateMJAIAgentInput.prototype, "SearchScopeAccess", void 0);
|
|
14003
|
+
__decorate([
|
|
14004
|
+
Field(() => Boolean, { nullable: true }),
|
|
14005
|
+
__metadata("design:type", Boolean)
|
|
14006
|
+
], CreateMJAIAgentInput.prototype, "AcceptUnregisteredFiles", void 0);
|
|
13999
14007
|
__decorate([
|
|
14000
14008
|
Field(() => RestoreContextInput, { nullable: true }),
|
|
14001
14009
|
__metadata("design:type", RestoreContextInput)
|
|
@@ -14261,6 +14269,10 @@ __decorate([
|
|
|
14261
14269
|
Field({ nullable: true }),
|
|
14262
14270
|
__metadata("design:type", String)
|
|
14263
14271
|
], UpdateMJAIAgentInput.prototype, "SearchScopeAccess", void 0);
|
|
14272
|
+
__decorate([
|
|
14273
|
+
Field(() => Boolean, { nullable: true }),
|
|
14274
|
+
__metadata("design:type", Boolean)
|
|
14275
|
+
], UpdateMJAIAgentInput.prototype, "AcceptUnregisteredFiles", void 0);
|
|
14264
14276
|
__decorate([
|
|
14265
14277
|
Field(() => [KeyValuePairInput], { nullable: true }),
|
|
14266
14278
|
__metadata("design:type", Array)
|
|
@@ -31223,6 +31235,19 @@ __decorate([
|
|
|
31223
31235
|
MaxLength(100),
|
|
31224
31236
|
__metadata("design:type", String)
|
|
31225
31237
|
], MJArtifactType_.prototype, "ToolLibraryClass", void 0);
|
|
31238
|
+
__decorate([
|
|
31239
|
+
Field(() => Int, { description: `Deterministic tiebreaker when multiple Artifact Types match the same MIME pattern. Higher values win. Within a specificity tier (exact > subtype-wildcard), the resolver sorts by Priority desc, then SystemSupplied = false beats SystemSupplied = true, then lowest ID wins.` }),
|
|
31240
|
+
__metadata("design:type", Number)
|
|
31241
|
+
], MJArtifactType_.prototype, "Priority", void 0);
|
|
31242
|
+
__decorate([
|
|
31243
|
+
Field({ description: `How artifacts of this type are delivered to the LLM by default. Inline: emitted as an inline content block (image_url, audio_url, small text, etc.) when the model supports the modality and the size is under the inline cap. ToolsOnly: never inlined; the agent reaches the bytes only through tool calls (get_full, library-specific tools). Per-instance override is one-way via ConversationArtifactVersion.ForceToolsOnly — an instance can opt out of inline but never opt in when the type default is ToolsOnly.` }),
|
|
31244
|
+
MaxLength(20),
|
|
31245
|
+
__metadata("design:type", String)
|
|
31246
|
+
], MJArtifactType_.prototype, "DefaultDeliveryMode", void 0);
|
|
31247
|
+
__decorate([
|
|
31248
|
+
Field(() => Boolean, { description: `True for Artifact Types shipped as part of the MemberJunction default registry (JSON, PDF, Office variants, Image/Audio/Video, Generic Text, Generic Binary). False for user/org-supplied customizations. Used as a tiebreaker in MIME pattern resolution: user customizations win over shipped defaults at equal Priority.` }),
|
|
31249
|
+
__metadata("design:type", Boolean)
|
|
31250
|
+
], MJArtifactType_.prototype, "SystemSupplied", void 0);
|
|
31226
31251
|
__decorate([
|
|
31227
31252
|
Field({ nullable: true }),
|
|
31228
31253
|
MaxLength(100),
|
|
@@ -31306,6 +31331,18 @@ __decorate([
|
|
|
31306
31331
|
Field({ nullable: true }),
|
|
31307
31332
|
__metadata("design:type", String)
|
|
31308
31333
|
], CreateMJArtifactTypeInput.prototype, "ToolLibraryClass", void 0);
|
|
31334
|
+
__decorate([
|
|
31335
|
+
Field(() => Int, { nullable: true }),
|
|
31336
|
+
__metadata("design:type", Number)
|
|
31337
|
+
], CreateMJArtifactTypeInput.prototype, "Priority", void 0);
|
|
31338
|
+
__decorate([
|
|
31339
|
+
Field({ nullable: true }),
|
|
31340
|
+
__metadata("design:type", String)
|
|
31341
|
+
], CreateMJArtifactTypeInput.prototype, "DefaultDeliveryMode", void 0);
|
|
31342
|
+
__decorate([
|
|
31343
|
+
Field(() => Boolean, { nullable: true }),
|
|
31344
|
+
__metadata("design:type", Boolean)
|
|
31345
|
+
], CreateMJArtifactTypeInput.prototype, "SystemSupplied", void 0);
|
|
31309
31346
|
__decorate([
|
|
31310
31347
|
Field(() => RestoreContextInput, { nullable: true }),
|
|
31311
31348
|
__metadata("design:type", RestoreContextInput)
|
|
@@ -31363,6 +31400,18 @@ __decorate([
|
|
|
31363
31400
|
Field({ nullable: true }),
|
|
31364
31401
|
__metadata("design:type", String)
|
|
31365
31402
|
], UpdateMJArtifactTypeInput.prototype, "ToolLibraryClass", void 0);
|
|
31403
|
+
__decorate([
|
|
31404
|
+
Field(() => Int, { nullable: true }),
|
|
31405
|
+
__metadata("design:type", Number)
|
|
31406
|
+
], UpdateMJArtifactTypeInput.prototype, "Priority", void 0);
|
|
31407
|
+
__decorate([
|
|
31408
|
+
Field({ nullable: true }),
|
|
31409
|
+
__metadata("design:type", String)
|
|
31410
|
+
], UpdateMJArtifactTypeInput.prototype, "DefaultDeliveryMode", void 0);
|
|
31411
|
+
__decorate([
|
|
31412
|
+
Field(() => Boolean, { nullable: true }),
|
|
31413
|
+
__metadata("design:type", Boolean)
|
|
31414
|
+
], UpdateMJArtifactTypeInput.prototype, "SystemSupplied", void 0);
|
|
31366
31415
|
__decorate([
|
|
31367
31416
|
Field(() => [KeyValuePairInput], { nullable: true }),
|
|
31368
31417
|
__metadata("design:type", Array)
|
|
@@ -32215,6 +32264,10 @@ __decorate([
|
|
|
32215
32264
|
Field(() => Int, { nullable: true, description: `Size of the stored file in bytes. Denormalized for display without loading the file. Only populated when ContentMode is 'File'.` }),
|
|
32216
32265
|
__metadata("design:type", Number)
|
|
32217
32266
|
], MJArtifactVersion_.prototype, "ContentSizeBytes", void 0);
|
|
32267
|
+
__decorate([
|
|
32268
|
+
Field(() => Boolean, { description: `One-way override that forces this artifact version to be delivered via tools regardless of the Artifact Type's DefaultDeliveryMode. When true, the resolver never emits an inline content block for this version. There is no inverse override — an instance cannot be widened from ToolsOnly to Inline. Default false.` }),
|
|
32269
|
+
__metadata("design:type", Boolean)
|
|
32270
|
+
], MJArtifactVersion_.prototype, "ForceToolsOnly", void 0);
|
|
32218
32271
|
__decorate([
|
|
32219
32272
|
Field(),
|
|
32220
32273
|
MaxLength(255),
|
|
@@ -32246,6 +32299,10 @@ __decorate([
|
|
|
32246
32299
|
Field(() => [MJConversationDetailArtifact_]),
|
|
32247
32300
|
__metadata("design:type", Array)
|
|
32248
32301
|
], MJArtifactVersion_.prototype, "MJConversationDetailArtifacts_ArtifactVersionIDArray", void 0);
|
|
32302
|
+
__decorate([
|
|
32303
|
+
Field(() => [MJConversationDetailAttachment_]),
|
|
32304
|
+
__metadata("design:type", Array)
|
|
32305
|
+
], MJArtifactVersion_.prototype, "MJConversationDetailAttachments_ArtifactVersionIDArray", void 0);
|
|
32249
32306
|
MJArtifactVersion_ = __decorate([
|
|
32250
32307
|
ObjectType({ description: `Version history for artifacts, tracking all changes over time` })
|
|
32251
32308
|
], MJArtifactVersion_);
|
|
@@ -32315,6 +32372,10 @@ __decorate([
|
|
|
32315
32372
|
Field(() => Int, { nullable: true }),
|
|
32316
32373
|
__metadata("design:type", Number)
|
|
32317
32374
|
], CreateMJArtifactVersionInput.prototype, "ContentSizeBytes", void 0);
|
|
32375
|
+
__decorate([
|
|
32376
|
+
Field(() => Boolean, { nullable: true }),
|
|
32377
|
+
__metadata("design:type", Boolean)
|
|
32378
|
+
], CreateMJArtifactVersionInput.prototype, "ForceToolsOnly", void 0);
|
|
32318
32379
|
__decorate([
|
|
32319
32380
|
Field(() => RestoreContextInput, { nullable: true }),
|
|
32320
32381
|
__metadata("design:type", RestoreContextInput)
|
|
@@ -32388,6 +32449,10 @@ __decorate([
|
|
|
32388
32449
|
Field(() => Int, { nullable: true }),
|
|
32389
32450
|
__metadata("design:type", Number)
|
|
32390
32451
|
], UpdateMJArtifactVersionInput.prototype, "ContentSizeBytes", void 0);
|
|
32452
|
+
__decorate([
|
|
32453
|
+
Field(() => Boolean, { nullable: true }),
|
|
32454
|
+
__metadata("design:type", Boolean)
|
|
32455
|
+
], UpdateMJArtifactVersionInput.prototype, "ForceToolsOnly", void 0);
|
|
32391
32456
|
__decorate([
|
|
32392
32457
|
Field(() => [KeyValuePairInput], { nullable: true }),
|
|
32393
32458
|
__metadata("design:type", Array)
|
|
@@ -32491,6 +32556,14 @@ let MJArtifactVersionResolver = class MJArtifactVersionResolver extends Resolver
|
|
|
32491
32556
|
const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Conversation Detail Artifacts', rows, this.GetUserFromPayload(userPayload));
|
|
32492
32557
|
return result;
|
|
32493
32558
|
}
|
|
32559
|
+
async MJConversationDetailAttachments_ArtifactVersionIDArray(mjartifactversion_, { userPayload, providers }, pubSub) {
|
|
32560
|
+
this.CheckUserReadPermissions('MJ: Conversation Detail Attachments', userPayload);
|
|
32561
|
+
const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
|
|
32562
|
+
const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwConversationDetailAttachments')} WHERE ${provider.QuoteIdentifier('ArtifactVersionID')}='${mjartifactversion_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Conversation Detail Attachments', userPayload, EntityPermissionType.Read, 'AND');
|
|
32563
|
+
const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
|
|
32564
|
+
const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Conversation Detail Attachments', rows, this.GetUserFromPayload(userPayload));
|
|
32565
|
+
return result;
|
|
32566
|
+
}
|
|
32494
32567
|
async CreateMJArtifactVersion(input, { providers, userPayload }, pubSub) {
|
|
32495
32568
|
const provider = GetReadWriteProvider(providers);
|
|
32496
32569
|
return this.CreateRecord('MJ: Artifact Versions', input, provider, userPayload, pubSub);
|
|
@@ -32577,6 +32650,15 @@ __decorate([
|
|
|
32577
32650
|
__metadata("design:paramtypes", [MJArtifactVersion_, Object, PubSubEngine]),
|
|
32578
32651
|
__metadata("design:returntype", Promise)
|
|
32579
32652
|
], MJArtifactVersionResolver.prototype, "MJConversationDetailArtifacts_ArtifactVersionIDArray", null);
|
|
32653
|
+
__decorate([
|
|
32654
|
+
FieldResolver(() => [MJConversationDetailAttachment_]),
|
|
32655
|
+
__param(0, Root()),
|
|
32656
|
+
__param(1, Ctx()),
|
|
32657
|
+
__param(2, PubSub()),
|
|
32658
|
+
__metadata("design:type", Function),
|
|
32659
|
+
__metadata("design:paramtypes", [MJArtifactVersion_, Object, PubSubEngine]),
|
|
32660
|
+
__metadata("design:returntype", Promise)
|
|
32661
|
+
], MJArtifactVersionResolver.prototype, "MJConversationDetailAttachments_ArtifactVersionIDArray", null);
|
|
32580
32662
|
__decorate([
|
|
32581
32663
|
Mutation(() => MJArtifactVersion_),
|
|
32582
32664
|
__param(0, Arg('input', () => CreateMJArtifactVersionInput)),
|
|
@@ -47694,6 +47776,11 @@ __decorate([
|
|
|
47694
47776
|
Field({ nullable: true, description: `Description of the attachment providing context about its content and purpose.` }),
|
|
47695
47777
|
__metadata("design:type", String)
|
|
47696
47778
|
], MJConversationDetailAttachment_.prototype, "Description", void 0);
|
|
47779
|
+
__decorate([
|
|
47780
|
+
Field({ nullable: true, description: `Foreign key to the ArtifactVersion created alongside this attachment by the storage-unification path. When set, the agent resolver routes via the artifact path (manifest + tool dispatch) and skips inline embedding of the attachment to avoid double-processing. NULL for pre-v5.35 attachment rows authored before storage unification.` }),
|
|
47781
|
+
MaxLength(36),
|
|
47782
|
+
__metadata("design:type", String)
|
|
47783
|
+
], MJConversationDetailAttachment_.prototype, "ArtifactVersionID", void 0);
|
|
47697
47784
|
__decorate([
|
|
47698
47785
|
Field(),
|
|
47699
47786
|
__metadata("design:type", String)
|
|
@@ -47708,6 +47795,11 @@ __decorate([
|
|
|
47708
47795
|
MaxLength(500),
|
|
47709
47796
|
__metadata("design:type", String)
|
|
47710
47797
|
], MJConversationDetailAttachment_.prototype, "File", void 0);
|
|
47798
|
+
__decorate([
|
|
47799
|
+
Field({ nullable: true }),
|
|
47800
|
+
MaxLength(255),
|
|
47801
|
+
__metadata("design:type", String)
|
|
47802
|
+
], MJConversationDetailAttachment_.prototype, "ArtifactVersion", void 0);
|
|
47711
47803
|
MJConversationDetailAttachment_ = __decorate([
|
|
47712
47804
|
ObjectType({ description: `Stores attachments (images, videos, audio, documents) for conversation messages. Supports both inline base64 storage for small files and reference to MJStorage for large files.` })
|
|
47713
47805
|
], MJConversationDetailAttachment_);
|
|
@@ -47773,6 +47865,10 @@ __decorate([
|
|
|
47773
47865
|
Field({ nullable: true }),
|
|
47774
47866
|
__metadata("design:type", String)
|
|
47775
47867
|
], CreateMJConversationDetailAttachmentInput.prototype, "Description", void 0);
|
|
47868
|
+
__decorate([
|
|
47869
|
+
Field({ nullable: true }),
|
|
47870
|
+
__metadata("design:type", String)
|
|
47871
|
+
], CreateMJConversationDetailAttachmentInput.prototype, "ArtifactVersionID", void 0);
|
|
47776
47872
|
__decorate([
|
|
47777
47873
|
Field(() => RestoreContextInput, { nullable: true }),
|
|
47778
47874
|
__metadata("design:type", RestoreContextInput)
|
|
@@ -47842,6 +47938,10 @@ __decorate([
|
|
|
47842
47938
|
Field({ nullable: true }),
|
|
47843
47939
|
__metadata("design:type", String)
|
|
47844
47940
|
], UpdateMJConversationDetailAttachmentInput.prototype, "Description", void 0);
|
|
47941
|
+
__decorate([
|
|
47942
|
+
Field({ nullable: true }),
|
|
47943
|
+
__metadata("design:type", String)
|
|
47944
|
+
], UpdateMJConversationDetailAttachmentInput.prototype, "ArtifactVersionID", void 0);
|
|
47845
47945
|
__decorate([
|
|
47846
47946
|
Field(() => [KeyValuePairInput], { nullable: true }),
|
|
47847
47947
|
__metadata("design:type", Array)
|
|
@@ -88654,7 +88754,7 @@ __decorate([
|
|
|
88654
88754
|
__metadata("design:type", Date)
|
|
88655
88755
|
], MJRecordGeoCode_.prototype, "GeocodedAt", void 0);
|
|
88656
88756
|
__decorate([
|
|
88657
|
-
Field({ nullable: true, description: `
|
|
88757
|
+
Field({ nullable: true, description: `Source that produced this geocode. One of: google, geocodio, here, reference_data, manual, ip_geolocation, native, reverse.` }),
|
|
88658
88758
|
MaxLength(30),
|
|
88659
88759
|
__metadata("design:type", String)
|
|
88660
88760
|
], MJRecordGeoCode_.prototype, "GeocodingSource", void 0);
|