@memberjunction/server 5.33.0 → 5.34.1

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.
Files changed (56) hide show
  1. package/README.md +2 -1
  2. package/dist/agents/skip-agent.d.ts +3 -1
  3. package/dist/agents/skip-agent.d.ts.map +1 -1
  4. package/dist/agents/skip-agent.js +15 -3
  5. package/dist/agents/skip-agent.js.map +1 -1
  6. package/dist/generated/generated.d.ts +922 -376
  7. package/dist/generated/generated.d.ts.map +1 -1
  8. package/dist/generated/generated.js +5669 -2512
  9. package/dist/generated/generated.js.map +1 -1
  10. package/dist/generic/ResolverBase.d.ts +1 -1
  11. package/dist/generic/ResolverBase.d.ts.map +1 -1
  12. package/dist/generic/ResolverBase.js +9 -2
  13. package/dist/generic/ResolverBase.js.map +1 -1
  14. package/dist/generic/RunViewResolver.d.ts +5 -1
  15. package/dist/generic/RunViewResolver.d.ts.map +1 -1
  16. package/dist/generic/RunViewResolver.js +33 -2
  17. package/dist/generic/RunViewResolver.js.map +1 -1
  18. package/dist/index.d.ts +2 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +17 -2
  21. package/dist/index.js.map +1 -1
  22. package/dist/resolvers/AvailableSearchProvidersResolver.d.ts +26 -0
  23. package/dist/resolvers/AvailableSearchProvidersResolver.d.ts.map +1 -0
  24. package/dist/resolvers/AvailableSearchProvidersResolver.js +65 -0
  25. package/dist/resolvers/AvailableSearchProvidersResolver.js.map +1 -0
  26. package/dist/resolvers/ComponentRegistryResolver.d.ts +11 -25
  27. package/dist/resolvers/ComponentRegistryResolver.d.ts.map +1 -1
  28. package/dist/resolvers/ComponentRegistryResolver.js +51 -93
  29. package/dist/resolvers/ComponentRegistryResolver.js.map +1 -1
  30. package/dist/resolvers/QuerySystemUserResolver.d.ts +18 -0
  31. package/dist/resolvers/QuerySystemUserResolver.d.ts.map +1 -1
  32. package/dist/resolvers/QuerySystemUserResolver.js +68 -6
  33. package/dist/resolvers/QuerySystemUserResolver.js.map +1 -1
  34. package/dist/resolvers/SearchKnowledgeResolver.d.ts +44 -1
  35. package/dist/resolvers/SearchKnowledgeResolver.d.ts.map +1 -1
  36. package/dist/resolvers/SearchKnowledgeResolver.js +217 -7
  37. package/dist/resolvers/SearchKnowledgeResolver.js.map +1 -1
  38. package/dist/resolvers/SearchKnowledgeStreamResolver.d.ts +79 -0
  39. package/dist/resolvers/SearchKnowledgeStreamResolver.d.ts.map +1 -0
  40. package/dist/resolvers/SearchKnowledgeStreamResolver.js +342 -0
  41. package/dist/resolvers/SearchKnowledgeStreamResolver.js.map +1 -0
  42. package/dist/types.d.ts +6 -1
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/types.js.map +1 -1
  45. package/package.json +68 -68
  46. package/src/agents/skip-agent.ts +18 -4
  47. package/src/generated/generated.ts +4376 -2227
  48. package/src/generic/ResolverBase.ts +11 -2
  49. package/src/generic/RunViewResolver.ts +29 -2
  50. package/src/index.ts +17 -2
  51. package/src/resolvers/AvailableSearchProvidersResolver.ts +43 -0
  52. package/src/resolvers/ComponentRegistryResolver.ts +71 -123
  53. package/src/resolvers/QuerySystemUserResolver.ts +68 -6
  54. package/src/resolvers/SearchKnowledgeResolver.ts +205 -4
  55. package/src/resolvers/SearchKnowledgeStreamResolver.ts +338 -0
  56. package/src/types.ts +6 -1
@@ -10,10 +10,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
- import { Resolver, Mutation, Arg, Ctx, ObjectType, Field, Float, InputType } from 'type-graphql';
14
- import { LogError } from '@memberjunction/core';
13
+ import { Resolver, Mutation, Query, Arg, Ctx, ObjectType, Field, Float, InputType, ID } from 'type-graphql';
14
+ import { GraphQLJSON } from 'graphql-type-json';
15
+ import { LogError, LogStatus, Metadata } from '@memberjunction/core';
15
16
  import { ResolverBase } from '../generic/ResolverBase.js';
16
- import { SearchEngine } from '@memberjunction/search-engine';
17
+ import { SearchEngine, SearchScopePermissionResolver } from '@memberjunction/search-engine';
18
+ import { SearchEngineBase } from '@memberjunction/core-entities';
19
+ import { UUIDsEqual } from '@memberjunction/global';
17
20
  /* ───── GraphQL types ───── */
18
21
  let SearchScoreBreakdown = class SearchScoreBreakdown {
19
22
  };
@@ -215,24 +218,110 @@ SearchFiltersInput = __decorate([
215
218
  InputType()
216
219
  ], SearchFiltersInput);
217
220
  export { SearchFiltersInput };
221
+ /** Runtime multi-tenant context passed through to `SearchEngine.Search()`. */
222
+ let SearchContextInput = class SearchContextInput {
223
+ };
224
+ __decorate([
225
+ Field({ nullable: true }),
226
+ __metadata("design:type", String)
227
+ ], SearchContextInput.prototype, "PrimaryScopeEntityID", void 0);
228
+ __decorate([
229
+ Field({ nullable: true }),
230
+ __metadata("design:type", String)
231
+ ], SearchContextInput.prototype, "PrimaryScopeRecordID", void 0);
232
+ __decorate([
233
+ Field(() => GraphQLJSON, { nullable: true }),
234
+ __metadata("design:type", Object)
235
+ ], SearchContextInput.prototype, "SecondaryScopes", void 0);
236
+ SearchContextInput = __decorate([
237
+ InputType()
238
+ ], SearchContextInput);
239
+ export { SearchContextInput };
240
+ /** Lightweight metadata shape for the scope selector UI. */
241
+ let SearchScopeInfo = class SearchScopeInfo {
242
+ };
243
+ __decorate([
244
+ Field(() => ID),
245
+ __metadata("design:type", String)
246
+ ], SearchScopeInfo.prototype, "ID", void 0);
247
+ __decorate([
248
+ Field(),
249
+ __metadata("design:type", String)
250
+ ], SearchScopeInfo.prototype, "Name", void 0);
251
+ __decorate([
252
+ Field({ nullable: true }),
253
+ __metadata("design:type", String)
254
+ ], SearchScopeInfo.prototype, "Description", void 0);
255
+ __decorate([
256
+ Field({ nullable: true }),
257
+ __metadata("design:type", String)
258
+ ], SearchScopeInfo.prototype, "Icon", void 0);
259
+ __decorate([
260
+ Field(),
261
+ __metadata("design:type", Boolean)
262
+ ], SearchScopeInfo.prototype, "IsGlobal", void 0);
263
+ __decorate([
264
+ Field(),
265
+ __metadata("design:type", Boolean)
266
+ ], SearchScopeInfo.prototype, "IsDefault", void 0);
267
+ __decorate([
268
+ Field(),
269
+ __metadata("design:type", Boolean)
270
+ ], SearchScopeInfo.prototype, "IsPersonal", void 0);
271
+ SearchScopeInfo = __decorate([
272
+ ObjectType()
273
+ ], SearchScopeInfo);
274
+ export { SearchScopeInfo };
218
275
  /* ───── Resolver (thin wrapper around SearchEngine) ───── */
219
276
  let SearchKnowledgeResolver = class SearchKnowledgeResolver extends ResolverBase {
220
- async SearchKnowledge(query, maxResults, filters, minScore, { userPayload } = {}) {
277
+ async SearchKnowledge(query, maxResults, filters, minScore, scopeIDs, searchContext, agentID, { userPayload } = {}) {
221
278
  const startTime = Date.now();
222
279
  try {
223
280
  const currentUser = this.GetUserFromPayload(userPayload);
224
281
  if (!currentUser) {
225
282
  return this.errorResult('Unable to determine current user', startTime);
226
283
  }
284
+ // Phase 2A enforcement: every scope the caller wants to use must
285
+ // resolve to an Allowed permission for this user (and optionally
286
+ // this agent). Reject the whole call on the first denial — we
287
+ // don't silently drop forbidden scopes because that masks bugs
288
+ // in scope authoring and surprises agents.
289
+ if (scopeIDs && scopeIDs.length) {
290
+ const denied = await this.rejectForbiddenScopes(scopeIDs, currentUser, agentID);
291
+ if (denied) {
292
+ // Emit a Status='Forbidden' SearchExecutionLog row so the
293
+ // analytics dashboard surfaces denied attempts. Best-effort
294
+ // — failures are swallowed by the helper.
295
+ await SearchEngine.Instance.LogForbiddenSearch({
296
+ Query: query,
297
+ ScopeIDs: scopeIDs,
298
+ FailureReason: denied,
299
+ StartTime: startTime,
300
+ ContextUser: currentUser,
301
+ AIAgentID: agentID ?? null,
302
+ });
303
+ return this.errorResult(denied, startTime);
304
+ }
305
+ }
306
+ const mappedContext = searchContext
307
+ ? {
308
+ PrimaryScopeEntityID: searchContext.PrimaryScopeEntityID,
309
+ PrimaryScopeRecordID: searchContext.PrimaryScopeRecordID,
310
+ SecondaryScopes: searchContext.SecondaryScopes
311
+ }
312
+ : undefined;
227
313
  const result = await SearchEngine.Instance.Search({
228
314
  Query: query,
229
315
  MaxResults: maxResults,
230
316
  MinScore: minScore,
317
+ ScopeIDs: scopeIDs && scopeIDs.length ? scopeIDs : undefined,
318
+ SearchContext: mappedContext,
231
319
  Filters: filters ? {
232
320
  EntityNames: filters.EntityNames,
233
321
  SourceTypes: filters.SourceTypes,
234
322
  Tags: filters.Tags
235
- } : undefined
323
+ } : undefined,
324
+ AIAgentID: agentID ?? null,
236
325
  }, currentUser);
237
326
  return this.mapSearchResult(result);
238
327
  }
@@ -242,6 +331,116 @@ let SearchKnowledgeResolver = class SearchKnowledgeResolver extends ResolverBase
242
331
  return this.errorResult(msg, startTime);
243
332
  }
244
333
  }
334
+ /**
335
+ * Returns a rejection message if any of the requested scopes are not
336
+ * accessible to (user, agent), or undefined if all are permitted.
337
+ * Resolution goes through SearchScopePermissionResolver — see its docs
338
+ * for the rule order.
339
+ */
340
+ async rejectForbiddenScopes(scopeIDs, user, agentID) {
341
+ const agent = await this.loadAgent(agentID, user);
342
+ const resolver = new SearchScopePermissionResolver();
343
+ for (const scopeID of scopeIDs) {
344
+ const verdict = await resolver.ResolveEffectivePermission({
345
+ User: user,
346
+ SearchScopeID: scopeID,
347
+ Agent: agent,
348
+ ContextUser: user,
349
+ });
350
+ if (!verdict.Allowed) {
351
+ LogStatus(`SearchKnowledge denied: ${verdict.Reason} (scope=${scopeID}, source=${verdict.Source})`);
352
+ return `Forbidden: ${verdict.Reason}`;
353
+ }
354
+ // Read level grants metadata visibility but not the right to run a
355
+ // search. The SearchScopes query (scope-listing) accepts Read; the
356
+ // SearchKnowledge mutation (actual search) does not.
357
+ if (verdict.Level === 'Read') {
358
+ const reason = `User '${user.Name}' has Read-level access on this scope, which permits metadata visibility but not search execution. Search or Manage is required to run a query.`;
359
+ LogStatus(`SearchKnowledge denied: ${reason} (scope=${scopeID}, source=${verdict.Source})`);
360
+ return `Forbidden: ${reason}`;
361
+ }
362
+ }
363
+ return undefined;
364
+ }
365
+ /**
366
+ * Loads the AIAgent record by ID for the agent-fallback path. Returns
367
+ * null if no agentID was supplied, or if the lookup fails (which we
368
+ * treat as "no agent context" rather than as an error so a malformed
369
+ * input can't escalate privilege).
370
+ */
371
+ async loadAgent(agentID, contextUser) {
372
+ if (!agentID)
373
+ return null;
374
+ try {
375
+ const md = new Metadata(); // global-provider-ok: ResolverBase has no bound IMetadataProvider; contextUser is the per-request scope
376
+ const agent = await md.GetEntityObject('MJ: AI Agents', contextUser);
377
+ const loaded = await agent.Load(agentID);
378
+ return loaded ? agent : null;
379
+ }
380
+ catch (err) {
381
+ LogError(`SearchKnowledge: failed to load agent ${agentID}: ${err instanceof Error ? err.message : String(err)}`);
382
+ return null;
383
+ }
384
+ }
385
+ /**
386
+ * Returns the list of search scopes the current user can see and use.
387
+ *
388
+ * Phase 2A: filters the active scope list through
389
+ * SearchScopePermissionResolver — only scopes that resolve to Allowed
390
+ * (Read or higher) for the caller appear in the response. Personal
391
+ * scopes owned by the caller bypass the resolver because ownership is
392
+ * itself an implicit Manage grant.
393
+ */
394
+ async SearchScopes(agentID, { userPayload } = {}) {
395
+ try {
396
+ const currentUser = this.GetUserFromPayload(userPayload);
397
+ if (!currentUser)
398
+ return [];
399
+ await SearchEngineBase.Instance.Config(false, currentUser);
400
+ const scopes = SearchEngineBase.Instance.ActiveScopes;
401
+ const userID = currentUser.ID;
402
+ const ownedOrUnowned = scopes.filter(s => !s.OwnerUserID || UUIDsEqual(s.OwnerUserID, userID));
403
+ const agent = await this.loadAgent(agentID, currentUser);
404
+ const resolver = new SearchScopePermissionResolver();
405
+ const visible = [];
406
+ for (const s of ownedOrUnowned) {
407
+ // Personal scopes owned by the caller are implicitly visible.
408
+ if (s.OwnerUserID && UUIDsEqual(s.OwnerUserID, userID)) {
409
+ visible.push(this.toScopeInfo(s));
410
+ continue;
411
+ }
412
+ // Otherwise, defer to the permission resolver. A scope with
413
+ // no permission rows AND no agent fallback is invisible to
414
+ // non-owners — this is the intended Phase 2A default.
415
+ const verdict = await resolver.ResolveEffectivePermission({
416
+ User: currentUser,
417
+ SearchScopeID: s.ID,
418
+ Agent: agent,
419
+ ContextUser: currentUser,
420
+ });
421
+ if (verdict.Allowed) {
422
+ visible.push(this.toScopeInfo(s));
423
+ }
424
+ }
425
+ return visible;
426
+ }
427
+ catch (error) {
428
+ const msg = error instanceof Error ? error.message : String(error);
429
+ LogError(`SearchScopes query failed: ${msg}`);
430
+ return [];
431
+ }
432
+ }
433
+ toScopeInfo(s) {
434
+ return {
435
+ ID: s.ID,
436
+ Name: s.Name,
437
+ Description: s.Description ?? undefined,
438
+ Icon: s.Icon ?? undefined,
439
+ IsGlobal: !!s.IsGlobal,
440
+ IsDefault: !!s.IsDefault,
441
+ IsPersonal: !!s.OwnerUserID,
442
+ };
443
+ }
245
444
  async PreviewSearch(query, maxResults, { userPayload } = {}) {
246
445
  const startTime = Date.now();
247
446
  try {
@@ -317,11 +516,22 @@ __decorate([
317
516
  __param(1, Arg('maxResults', () => Float, { nullable: true })),
318
517
  __param(2, Arg('filters', () => SearchFiltersInput, { nullable: true })),
319
518
  __param(3, Arg('minScore', () => Float, { nullable: true })),
320
- __param(4, Ctx()),
519
+ __param(4, Arg('scopeIDs', () => [ID], { nullable: true })),
520
+ __param(5, Arg('searchContext', () => SearchContextInput, { nullable: true })),
521
+ __param(6, Arg('agentID', () => ID, { nullable: true })),
522
+ __param(7, Ctx()),
321
523
  __metadata("design:type", Function),
322
- __metadata("design:paramtypes", [String, Number, SearchFiltersInput, Number, Object]),
524
+ __metadata("design:paramtypes", [String, Number, SearchFiltersInput, Number, Array, SearchContextInput, String, Object]),
323
525
  __metadata("design:returntype", Promise)
324
526
  ], SearchKnowledgeResolver.prototype, "SearchKnowledge", null);
527
+ __decorate([
528
+ Query(() => [SearchScopeInfo]),
529
+ __param(0, Arg('agentID', () => ID, { nullable: true })),
530
+ __param(1, Ctx()),
531
+ __metadata("design:type", Function),
532
+ __metadata("design:paramtypes", [String, Object]),
533
+ __metadata("design:returntype", Promise)
534
+ ], SearchKnowledgeResolver.prototype, "SearchScopes", null);
325
535
  __decorate([
326
536
  Mutation(() => SearchKnowledgeResult),
327
537
  __param(0, Arg('query')),
@@ -1 +1 @@
1
- {"version":3,"file":"SearchKnowledgeResolver.js","sourceRoot":"","sources":["../../src/resolvers/SearchKnowledgeResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchKnowledgeResolver.js","sourceRoot":"","sources":["../../src/resolvers/SearchKnowledgeResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAqB,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAqH,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC/M,OAAO,EAAE,gBAAgB,EAAmB,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,+BAA+B;AAGxB,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAYhC,CAAA;AAVG;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACvB;AAGhB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDACrB;AAGlB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACvB;AAGhB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qDACtB;AAXR,oBAAoB;IADhC,UAAU,EAAE;GACA,oBAAoB,CAYhC;;AAGM,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CAwDrC,CAAA;AAtDG;IADC,KAAK,EAAE;;qDACG;AAGX;IADC,KAAK,EAAE;;6DACW;AAGnB;IADC,KAAK,EAAE;;2DACS;AAGjB;IADC,KAAK,EAAE;;6DACW;AAGnB;IADC,KAAK,EAAE;;wDACM;AAGd;IADC,KAAK,EAAE;;0DACQ;AAGhB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;;wDACL;AAGd;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC;8BAClB,oBAAoB;iEAAC;AAGrC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;;uDACP;AAGf;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACN;AAGpB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACN;AAGpB;IADC,KAAK,EAAE;8BACG,IAAI;4DAAC;AAIhB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACL;AAIrB;IADC,KAAK,EAAE;;6DACW;AAInB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6DACN;AAIpB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEACH;AAIvB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+DACJ;AAvDb,yBAAyB;IADrC,UAAU,EAAE;GACA,yBAAyB,CAwDrC;;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAY9B,CAAA;AAVG;IADC,KAAK,EAAE;;kDACO;AAGf;IADC,KAAK,EAAE;;oDACS;AAGjB;IADC,KAAK,EAAE;;kDACO;AAGf;IADC,KAAK,EAAE;;mDACQ;AAXP,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAY9B;;AAGM,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CAkBlC,CAAA;AAhBG;IADC,KAAK,EAAE;;kDACG;AAGX;IADC,KAAK,EAAE;;oDACK;AAGb;IADC,KAAK,EAAE;;2DACY;AAGpB;IADC,KAAK,EAAE;;oDACK;AAGb;IADC,KAAK,EAAE;;0DACW;AAGnB;IADC,KAAK,EAAE;;wDACS;AAjBR,sBAAsB;IADlC,UAAU,EAAE;GACA,sBAAsB,CAkBlC;;AAGM,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAqBjC,CAAA;AAnBG;IADC,KAAK,EAAE;;sDACS;AAGjB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,yBAAyB,CAAC,CAAC;;sDACJ;AAGrC;IADC,KAAK,EAAE;;yDACW;AAGnB;IADC,KAAK,EAAE;;wDACU;AAGlB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC;8BAClB,kBAAkB;2DAAC;AAGjC;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC;;wDACF;AAGpC;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACJ;AApBb,qBAAqB;IADjC,UAAU,EAAE;GACA,qBAAqB,CAqBjC;;AAGM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAS9B,CAAA;AAPG;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACnB;AAGvB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACnB;AAGvB;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDAC1B;AARP,kBAAkB;IAD9B,SAAS,EAAE;GACC,kBAAkB,CAS9B;;AAED,8EAA8E;AAEvE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;CAU9B,CAAA;AARG;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEACI;AAG9B;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEACI;AAI9B;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2DACnB;AATjB,kBAAkB;IAD9B,SAAS,EAAE;GACC,kBAAkB,CAU9B;;AAED,4DAA4D;AAErD,IAAM,eAAe,GAArB,MAAM,eAAe;CAsB3B,CAAA;AApBG;IADC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;;2CACL;AAGX;IADC,KAAK,EAAE;;6CACK;AAGb;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACL;AAGrB;IADC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6CACZ;AAGd;IADC,KAAK,EAAE;;iDACU;AAGlB;IADC,KAAK,EAAE;;kDACW;AAInB;IADC,KAAK,EAAE;;mDACY;AArBX,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAsB3B;;AAED,6DAA6D;AAGtD,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,YAAY;IAG/C,AAAN,KAAK,CAAC,eAAe,CACH,KAAa,EACyB,UAA8B,EACpB,OAAuC,EACnD,QAA4B,EAC7B,QAA8B,EACX,aAA6C,EACnE,OAA2B,EAClE,EAAE,WAAW,KAAiB,EAAgB;QAErD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,WAAW,CAAC,kCAAkC,EAAE,SAAS,CAAC,CAAC;YAC3E,CAAC;YAED,iEAAiE;YACjE,iEAAiE;YACjE,8DAA8D;YAC9D,+DAA+D;YAC/D,2CAA2C;YAC3C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;gBAChF,IAAI,MAAM,EAAE,CAAC;oBACT,0DAA0D;oBAC1D,4DAA4D;oBAC5D,0CAA0C;oBAC1C,MAAM,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC;wBAC3C,KAAK,EAAE,KAAK;wBACZ,QAAQ,EAAE,QAAQ;wBAClB,aAAa,EAAE,MAAM;wBACrB,SAAS,EAAE,SAAS;wBACpB,WAAW,EAAE,WAAW;wBACxB,SAAS,EAAE,OAAO,IAAI,IAAI;qBAC7B,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC/C,CAAC;YACL,CAAC;YAED,MAAM,aAAa,GAA8B,aAAa;gBAC1D,CAAC,CAAC;oBACE,oBAAoB,EAAE,aAAa,CAAC,oBAAoB;oBACxD,oBAAoB,EAAE,aAAa,CAAC,oBAAoB;oBACxD,eAAe,EAAE,aAAa,CAAC,eAAmD;iBACrF;gBACD,CAAC,CAAC,SAAS,CAAC;YAEhB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC9C,KAAK,EAAE,KAAK;gBACZ,UAAU,EAAE,UAAU;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAC5D,aAAa,EAAE,aAAa;gBAC5B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBACf,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,IAAI,EAAE,OAAO,CAAC,IAAI;iBACrB,CAAC,CAAC,CAAC,SAAS;gBACb,SAAS,EAAE,OAAO,IAAI,IAAI;aAC7B,EAAE,WAAW,CAAC,CAAC;YAEhB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,qBAAqB,CAC/B,QAAkB,EAClB,IAAc,EACd,OAA2B;QAE3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,6BAA6B,EAAE,CAAC;QACrD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,0BAA0B,CAAC;gBACtD,IAAI,EAAE,IAAI;gBACV,aAAa,EAAE,OAAO;gBACtB,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,IAAI;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACnB,SAAS,CAAC,2BAA2B,OAAO,CAAC,MAAM,WAAW,OAAO,YAAY,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBACpG,OAAO,cAAc,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1C,CAAC;YACD,mEAAmE;YACnE,mEAAmE;YACnE,qDAAqD;YACrD,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,SAAS,IAAI,CAAC,IAAI,iJAAiJ,CAAC;gBACnL,SAAS,CAAC,2BAA2B,MAAM,WAAW,OAAO,YAAY,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC5F,OAAO,cAAc,MAAM,EAAE,CAAC;YAClC,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,SAAS,CAAC,OAA2B,EAAE,WAAqB;QACtE,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC,wGAAwG;YACnI,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,eAAe,CAAkB,eAAe,EAAE,WAAW,CAAC,CAAC;YACtF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,QAAQ,CAAC,yCAAyC,OAAO,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClH,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IAEG,AAAN,KAAK,CAAC,YAAY,CACgC,OAA2B,EAClE,EAAE,WAAW,KAAiB,EAAgB;QAErD,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW;gBAAE,OAAO,EAAE,CAAC;YAE5B,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC;YACtD,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;YAE9B,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,6BAA6B,EAAE,CAAC;YAErD,MAAM,OAAO,GAAsB,EAAE,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC7B,8DAA8D;gBAC9D,IAAI,CAAC,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;oBACrD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClC,SAAS;gBACb,CAAC;gBACD,4DAA4D;gBAC5D,2DAA2D;gBAC3D,sDAAsD;gBACtD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,0BAA0B,CAAC;oBACtD,IAAI,EAAE,WAAW;oBACjB,aAAa,EAAE,CAAC,CAAC,EAAE;oBACnB,KAAK,EAAE,KAAK;oBACZ,WAAW,EAAE,WAAW;iBAC3B,CAAC,CAAC;gBACH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,CAAC;YACL,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;YAC9C,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,CAAwJ;QACxK,OAAO;YACH,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,SAAS;YACvC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;YACzB,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ;YACtB,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YACxB,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW;SAC9B,CAAC;IACN,CAAC;IAGK,AAAN,KAAK,CAAC,aAAa,CACD,KAAa,EAC0C,UAAkB,EAChF,EAAE,WAAW,KAAiB,EAAgB;QAErD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,WAAW,CAAC,kCAAkC,EAAE,SAAS,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAEzF,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,QAAQ,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,MAA0B;QAC9C,OAAO;YACH,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAyB,EAAE,EAAE,CAAC,CAAC;gBACxD,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,cAAc,EAAE,CAAC,CAAC,cAAsC;gBACxD,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;gBAClB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,aAAa,EAAE,CAAC,CAAC,aAAa;gBAC9B,YAAY,EAAE,CAAC,CAAC,YAAY;aAC/B,CAAC,CAAC;YACH,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,YAAY,EAAE;gBACV,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;gBAClC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ;gBACtC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM;gBAClC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO;aACvC;YACD,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC;gBAChE,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACvB,CAAC,CAAC;YACH,YAAY,EAAE,MAAM,CAAC,YAAY;SACpC,CAAC;IACN,CAAC;IAEO,WAAW,CAAC,OAAe,EAAE,SAAiB;QAClD,OAAO;YACH,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACjC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;YAC/D,SAAS,EAAE,EAAE;YACb,YAAY,EAAE,OAAO;SACxB,CAAC;IACN,CAAC;CACJ,CAAA;AA3QS;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC;IAEjC,WAAA,GAAG,CAAC,OAAO,CAAC,CAAA;IACZ,WAAA,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAClD,WAAA,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5D,WAAA,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAChD,WAAA,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,WAAA,GAAG,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAClE,WAAA,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5C,WAAA,GAAG,EAAE,CAAA;;qDALiE,kBAAkB,iBAGN,kBAAkB;;8DA8DxG;AAmEK;IADL,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;IAE1B,WAAA,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5C,WAAA,GAAG,EAAE,CAAA;;;;2DAwCT;AAeK;IADL,QAAQ,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC;IAEjC,WAAA,GAAG,CAAC,OAAO,CAAC,CAAA;IACZ,WAAA,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAA;IACnE,WAAA,GAAG,EAAE,CAAA;;;;4DAiBT;AAvNQ,uBAAuB;IADnC,QAAQ,EAAE;GACE,uBAAuB,CA8QnC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Streaming variant of the SearchKnowledge mutation. Uses GraphQL
3
+ * subscriptions over the existing Apollo subscription transport (see
4
+ * `plans/search-scopes-rag-plus/streaming-mechanism-decision.md` for the
5
+ * decision rationale).
6
+ *
7
+ * Two-step protocol:
8
+ *
9
+ * 1. Caller invokes the `StreamScopedSearch` mutation with the same
10
+ * arguments as `SearchKnowledge`. The mutation returns a streamID
11
+ * (uuid) immediately and starts the search in the background.
12
+ * 2. Caller subscribes to `SearchStreamEvents(streamID: $id)`. The
13
+ * server publishes events from `SearchEngine.streamSearch()` to the
14
+ * pubsub topic; the subscription's filter narrows to the requested
15
+ * streamID. The final event has `Phase = 'final'` (or 'error');
16
+ * consumers should unsubscribe after receiving it.
17
+ *
18
+ * Permission enforcement is identical to SearchKnowledge: each requested
19
+ * scopeID is run through SearchScopePermissionResolver before the engine
20
+ * is invoked. A denial publishes a single 'error' event and ends.
21
+ */
22
+ import { PubSubEngine } from 'type-graphql';
23
+ import { AppContext } from '../types.js';
24
+ import { ResolverBase } from '../generic/ResolverBase.js';
25
+ import { SearchKnowledgeResultItem, SearchSourceCounts } from './SearchKnowledgeResolver.js';
26
+ /**
27
+ * Wire format for search stream events. We do not use a discriminated
28
+ * union at the GraphQL level (type-graphql doesn't have first-class
29
+ * support for union outputs in a clean way) — instead we use a Phase
30
+ * discriminator and make the data fields nullable per phase.
31
+ */
32
+ export declare class SearchStreamNotification {
33
+ StreamID: string;
34
+ Phase: string;
35
+ /** Set on `provider` events. */
36
+ ProviderName?: string;
37
+ /** Set on `provider` events. */
38
+ DurationMs?: number;
39
+ /** Set on `provider`, `fused`, `reranked`, `final` events. */
40
+ Results?: SearchKnowledgeResultItem[];
41
+ /** Set on `final` events. */
42
+ SourceCounts?: SearchSourceCounts;
43
+ /** Set on `final` events. */
44
+ ElapsedMs?: number;
45
+ /** Set on `error` events. */
46
+ ErrorMessage?: string;
47
+ }
48
+ export declare class SearchStreamStartResult {
49
+ Success: boolean;
50
+ StreamID: string;
51
+ ErrorMessage?: string;
52
+ }
53
+ export declare class SearchKnowledgeStreamResolver extends ResolverBase {
54
+ /**
55
+ * Subscribe to events from a running streamScopedSearch. Filter by
56
+ * streamID so multiple in-flight streams don't interleave on the same
57
+ * client.
58
+ */
59
+ SearchStreamEvents(notification: SearchStreamNotification, _streamID: string): SearchStreamNotification;
60
+ /**
61
+ * Start a streaming search. Returns a streamID that the caller passes
62
+ * to the SearchStreamEvents subscription. Permission checks are
63
+ * performed before the stream begins; on rejection a single 'error'
64
+ * event is published and the stream ends.
65
+ */
66
+ StreamScopedSearch(query: string, maxResults: number | undefined, minScore: number | undefined, scopeIDs: string[] | undefined, searchContext: unknown, agentID: string | undefined, pubSub: PubSubEngine, { userPayload }?: AppContext): Promise<SearchStreamStartResult>;
67
+ /**
68
+ * Runs the stream and publishes events. Always publishes a terminal
69
+ * 'final' or 'error' so clients can confidently unsubscribe.
70
+ */
71
+ private runStream;
72
+ private toNotification;
73
+ /** Mirrors the helper in SearchKnowledgeResolver — kept private to
74
+ * avoid an inter-resolver coupling. If a third resolver ever needs
75
+ * this, lift it into a shared util in `packages/SearchEngine`. */
76
+ private rejectForbiddenScopes;
77
+ private loadAgent;
78
+ }
79
+ //# sourceMappingURL=SearchKnowledgeStreamResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchKnowledgeStreamResolver.d.ts","sourceRoot":"","sources":["../../src/resolvers/SearchKnowledgeStreamResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAA0F,YAAY,EAAE,MAAM,cAAc,CAAC;AAGpI,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAS1D,OAAO,EAAE,yBAAyB,EAAwB,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAInH;;;;;GAKG;AACH,qBACa,wBAAwB;IAEjC,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IAEd,gCAAgC;IAEhC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gCAAgC;IAEhC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,8DAA8D;IAE9D,OAAO,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAEtC,6BAA6B;IAE7B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAElC,6BAA6B;IAE7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6BAA6B;IAE7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBACa,uBAAuB;IAEhC,OAAO,EAAE,OAAO,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBACa,6BAA8B,SAAQ,YAAY;IAC3D;;;;OAIG;IAMH,kBAAkB,CACN,YAAY,EAAE,wBAAwB,EACnB,SAAS,EAAE,MAAM,GAC7C,wBAAwB;IAI3B;;;;;OAKG;IAEG,kBAAkB,CACN,KAAK,EAAE,MAAM,EACyB,UAAU,EAAE,MAAM,GAAG,SAAS,EAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAClB,aAAa,EAAE,OAAO,EACrC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC/D,MAAM,EAAE,YAAY,EACvB,EAAE,WAAW,EAAE,GAAE,UAA6B,GACtD,OAAO,CAAC,uBAAuB,CAAC;IA6DnC;;;OAGG;YACW,SAAS;IAwCvB,OAAO,CAAC,cAAc;IA8DtB;;sEAEkE;YACpD,qBAAqB;YA8BrB,SAAS;CAY1B"}