@devflow-tools/retrieval-engine 0.18.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.
Files changed (55) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +24 -0
  3. package/dist/__tests__/retrieval-coordinator.test.d.ts +2 -0
  4. package/dist/__tests__/retrieval-coordinator.test.d.ts.map +1 -0
  5. package/dist/__tests__/retrieval-coordinator.test.js +391 -0
  6. package/dist/__tests__/retrieval-coordinator.test.js.map +1 -0
  7. package/dist/__tests__/retrieval-session.test.d.ts +2 -0
  8. package/dist/__tests__/retrieval-session.test.d.ts.map +1 -0
  9. package/dist/__tests__/retrieval-session.test.js +52 -0
  10. package/dist/__tests__/retrieval-session.test.js.map +1 -0
  11. package/dist/__tests__/rrf.test.d.ts +2 -0
  12. package/dist/__tests__/rrf.test.d.ts.map +1 -0
  13. package/dist/__tests__/rrf.test.js +37 -0
  14. package/dist/__tests__/rrf.test.js.map +1 -0
  15. package/dist/__tests__/support.d.ts +13 -0
  16. package/dist/__tests__/support.d.ts.map +1 -0
  17. package/dist/__tests__/support.js +106 -0
  18. package/dist/__tests__/support.js.map +1 -0
  19. package/dist/__tests__/task-kernel-adapter.test.d.ts +2 -0
  20. package/dist/__tests__/task-kernel-adapter.test.d.ts.map +1 -0
  21. package/dist/__tests__/task-kernel-adapter.test.js +56 -0
  22. package/dist/__tests__/task-kernel-adapter.test.js.map +1 -0
  23. package/dist/index.d.ts +8 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +8 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/packing.d.ts +20 -0
  28. package/dist/packing.d.ts.map +1 -0
  29. package/dist/packing.js +48 -0
  30. package/dist/packing.js.map +1 -0
  31. package/dist/ports.d.ts +2 -0
  32. package/dist/ports.d.ts.map +1 -0
  33. package/dist/ports.js +2 -0
  34. package/dist/ports.js.map +1 -0
  35. package/dist/retrieval-coordinator.d.ts +33 -0
  36. package/dist/retrieval-coordinator.d.ts.map +1 -0
  37. package/dist/retrieval-coordinator.js +778 -0
  38. package/dist/retrieval-coordinator.js.map +1 -0
  39. package/dist/retrieval-session.d.ts +18 -0
  40. package/dist/retrieval-session.d.ts.map +1 -0
  41. package/dist/retrieval-session.js +46 -0
  42. package/dist/retrieval-session.js.map +1 -0
  43. package/dist/rrf.d.ts +8 -0
  44. package/dist/rrf.d.ts.map +1 -0
  45. package/dist/rrf.js +34 -0
  46. package/dist/rrf.js.map +1 -0
  47. package/dist/sufficiency.d.ts +8 -0
  48. package/dist/sufficiency.d.ts.map +1 -0
  49. package/dist/sufficiency.js +19 -0
  50. package/dist/sufficiency.js.map +1 -0
  51. package/dist/task-kernel-adapter.d.ts +12 -0
  52. package/dist/task-kernel-adapter.d.ts.map +1 -0
  53. package/dist/task-kernel-adapter.js +92 -0
  54. package/dist/task-kernel-adapter.js.map +1 -0
  55. package/package.json +38 -0
@@ -0,0 +1,106 @@
1
+ import { createSemanticFacts, stableRuntimeHash, } from '@devflow-tools/sdk';
2
+ export function executionContext() {
3
+ const identity = {
4
+ projectRoot: '/project', projectId: 'project:1', hostId: 'test', sessionId: 'session:1',
5
+ turnId: 'turn:1', requestId: 'request:1', executionId: 'execution:1',
6
+ };
7
+ const sourceHash = 'a'.repeat(64);
8
+ const facts = createSemanticFacts({
9
+ sourceHash, intents: ['understand'], actions: ['analyze'], entities: [], targets: [],
10
+ constraints: [], prohibitions: [], conditions: [], memoryDirective: 'none', knowledgeNeeds: [],
11
+ confidence: { overall: 1 }, evidence: [], conflicts: [],
12
+ });
13
+ const original = (query) => ({
14
+ kind: 'original', query, queryHash: stableRuntimeHash({ query, sourceHash }), sourceHash,
15
+ producerId: 'task-source-query', producerVersion: '1', sourceClaimIds: [],
16
+ });
17
+ const dispositions = [
18
+ { channel: 'code', requirement: 'required', reasonCode: 'test', evidenceIds: [] },
19
+ { channel: 'memory', requirement: 'optional', reasonCode: 'test', evidenceIds: [] },
20
+ { channel: 'knowledge', requirement: 'optional', reasonCode: 'test', evidenceIds: [] },
21
+ ];
22
+ const authorityBody = {
23
+ mutation: 'not_requested', targetAnchors: [], conditionEvidenceIds: [],
24
+ authorityEvidenceIds: [], reasonCode: 'mutation_not_requested',
25
+ };
26
+ return {
27
+ schemaVersion: 'semantic-execution-context', identity, facts, dispositions,
28
+ actionAuthority: { ...authorityBody, authorityHash: stableRuntimeHash(authorityBody) },
29
+ plan: {
30
+ identity, sourceFactsHash: facts.factsHash,
31
+ code: {
32
+ ...dispositions[0], original: original('code'), additions: [],
33
+ typedQuery: { query: 'code', targetAnchors: [], symbols: [], relationKinds: ['dependency'], maxDepth: 1 },
34
+ },
35
+ memory: {
36
+ ...dispositions[1], original: original('code'), additions: [],
37
+ typedQuery: { query: 'code', scopes: ['project', 'session'], entities: [], facets: [], requireVerifiedEvidence: true },
38
+ },
39
+ knowledge: {
40
+ ...dispositions[2], original: original('code'), additions: [],
41
+ typedQuery: { query: 'code', kind: 'overview' },
42
+ },
43
+ queryProposalIds: [], generatedBy: 'deterministic', planHash: 'plan:1', createdAt: 1,
44
+ },
45
+ taskDefinitionHash: 'definition:1', activationSnapshotHash: 'activation:1',
46
+ embeddingProfiles: { code_retrieval: 'profile:code' },
47
+ scopeBindings: {
48
+ project: { kind: 'project', id: 'project:1' },
49
+ session: { kind: 'session', id: 'session:1' },
50
+ },
51
+ mode: 'authoritative', contextHash: 'context:1', createdAt: 1,
52
+ };
53
+ }
54
+ export function candidate(ref, overrides = {}) {
55
+ return {
56
+ stableRef: ref, channel: 'code', strength: 'supporting', rank: 1,
57
+ evidence: { ref, sourceId: ref, producer: 'test', producerVersion: '1', parentRefs: [] },
58
+ payload: {}, contributingLegs: [{ leg: 'code:bm25', rank: 1 }],
59
+ eligibility: {
60
+ scope: { kind: 'project', id: 'project:1' }, permission: 'allowed', sourceReady: true,
61
+ }, estimatedTokens: 1, ...overrides,
62
+ };
63
+ }
64
+ export function producerResult(input) {
65
+ const context = input.context ?? executionContext();
66
+ const availability = input.availability ?? 'available';
67
+ const channel = input.channel ?? 'code';
68
+ const gaps = input.gaps ?? [];
69
+ const rawCandidateCount = input.rawCandidateCount ?? input.candidates?.length ?? 0;
70
+ const successfulStatus = rawCandidateCount > 0 ? 'ready' : 'empty_valid';
71
+ const failedStatus = availability === 'unavailable' ? 'unavailable' : successfulStatus;
72
+ const vectorRequired = Boolean(input.request.filters.embeddingProfileHash);
73
+ const producerLegs = [
74
+ {
75
+ schemaVersion: 'evidence-producer-leg-receipt.v1',
76
+ legId: `${input.request.signatureHash}:lexical`, parentReceiptIds: [input.request.receiptId],
77
+ kind: 'lexical', required: true,
78
+ status: failedStatus, candidateCount: rawCandidateCount,
79
+ ...(availability === 'unavailable' ? { reasonCode: gaps[0]?.reason ?? 'unavailable' } : {}),
80
+ },
81
+ {
82
+ schemaVersion: 'evidence-producer-leg-receipt.v1',
83
+ legId: `${input.request.signatureHash}:vector`, parentReceiptIds: [input.request.receiptId],
84
+ kind: 'vector', required: vectorRequired,
85
+ status: vectorRequired ? failedStatus : 'unavailable',
86
+ candidateCount: 0,
87
+ ...(!vectorRequired || availability === 'unavailable'
88
+ ? { reasonCode: availability === 'unavailable' ? gaps[0]?.reason ?? 'unavailable' : 'profile_not_bound' }
89
+ : {}),
90
+ },
91
+ ];
92
+ const body = {
93
+ schemaVersion: 'evidence-receipt.v1',
94
+ receiptId: `${channel}:receipt`, taskContextHash: context.contextHash, channel, availability,
95
+ parentReceiptIds: [input.request.receiptId],
96
+ factsHash: context.facts.factsHash, planHash: context.plan.planHash,
97
+ activationSnapshotHash: context.activationSnapshotHash,
98
+ selectedRefs: [], rejectedRefs: [], gaps, legId: input.request.signatureHash,
99
+ producerLegs, createdAt: 2,
100
+ };
101
+ return {
102
+ availability, candidates: input.candidates ?? [], gaps,
103
+ receipt: { ...body, receiptHash: stableRuntimeHash(body) },
104
+ };
105
+ }
106
+ //# sourceMappingURL=support.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/__tests__/support.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=task-kernel-adapter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-kernel-adapter.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/task-kernel-adapter.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+ import { RetrievalTaskKernelAdapter } from '../task-kernel-adapter.js';
3
+ const identity = {
4
+ projectRoot: '/project', projectId: 'project:1', hostId: 'test', sessionId: 'session:1',
5
+ turnId: 'turn:1', requestId: 'request:1', executionId: 'execution:1',
6
+ };
7
+ const definition = {
8
+ schemaVersion: 'task-definition.v1', identity, revision: 1, semanticContextHash: 'context:1',
9
+ policyHash: 'policy:1', requirements: {
10
+ code: 'required', memory: 'optional', knowledge: 'prohibited',
11
+ action: 'not_required', verification: 'not_required',
12
+ }, artifactIdentityIds: [], budgets: {
13
+ hookDeadlineMs: 1, contextTokens: 1, responseReserveTokens: 1, perChannelMs: {},
14
+ }, sourceEvidenceIds: [], definitionHash: 'definition:1',
15
+ };
16
+ describe('RetrievalTaskKernelAdapter', () => {
17
+ it('attaches cycle and terminal per-channel sufficiency receipts idempotently', () => {
18
+ const dispatch = vi.fn();
19
+ const adapter = new RetrievalTaskKernelAdapter({ dispatch }, definition);
20
+ const cycle = {
21
+ schemaVersion: 'retrieval-cycle-receipt.v1', sessionId: 'retrieval:1', cycle: 1,
22
+ requestSignatures: [], legs: [], selectedRefs: ['code:1'], rejectedRefs: [], gaps: [], tokenCost: 1,
23
+ stableRefGain: 1, noGainCount: 0, sufficiency: 'sufficient', evidenceHash: 'evidence:1',
24
+ executionStatus: 'executed',
25
+ compositeReceipt: {
26
+ schemaVersion: 'evidence-receipt.v1', parentReceiptIds: [],
27
+ receiptId: 'receipt:1', receiptHash: 'hash:1', taskContextHash: 'context:1',
28
+ channel: 'composite', availability: 'available', selectedRefs: ['code:1'], rejectedRefs: [],
29
+ gaps: [], createdAt: 1, channelAvailability: { code: 'available', memory: 'empty_valid' },
30
+ selectedRefsByChannel: { code: ['code:1'], memory: [], knowledge: [] },
31
+ selectedEvidence: [{
32
+ stableRef: 'code:1', channel: 'code', strength: 'strong', rank: 1,
33
+ evidence: { ref: 'code:1', sourceId: 'code:1', producer: 'test', producerVersion: '1', parentRefs: [] },
34
+ payload: {}, contributingLegs: [{ leg: 'code:target', rank: 1 }],
35
+ eligibility: { scope: { kind: 'project', id: 'project:1' }, permission: 'allowed', sourceReady: true },
36
+ }],
37
+ },
38
+ createdAt: 1, receiptHash: 'cycle:hash',
39
+ };
40
+ adapter.cycleCompleted({ identity, taskRevision: 1, cycle, terminal: true });
41
+ expect(dispatch).toHaveBeenCalledTimes(2);
42
+ expect(dispatch.mock.calls[0][0]).toMatchObject({
43
+ kind: 'retrieval_cycle_completed', idempotencyKey: 'retrieval-cycle:retrieval:1:1',
44
+ });
45
+ expect(dispatch.mock.calls[1][0]).toMatchObject({
46
+ kind: 'retrieval_sufficiency_decided',
47
+ idempotencyKey: 'retrieval-sufficiency:retrieval:1:1',
48
+ payload: { channels: {
49
+ code: { status: 'satisfied', receiptId: 'receipt:1' },
50
+ memory: { status: 'empty_valid', receiptId: 'receipt:1', reasonCode: 'channel_empty_valid' },
51
+ knowledge: { status: 'empty_valid', receiptId: 'receipt:1', reasonCode: 'channel_empty_valid' },
52
+ } },
53
+ });
54
+ });
55
+ });
56
+ //# sourceMappingURL=task-kernel-adapter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-kernel-adapter.test.js","sourceRoot":"","sources":["../../src/__tests__/task-kernel-adapter.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export * from './ports.js';
2
+ export * from './rrf.js';
3
+ export * from './retrieval-session.js';
4
+ export * from './sufficiency.js';
5
+ export * from './packing.js';
6
+ export * from './retrieval-coordinator.js';
7
+ export * from './task-kernel-adapter.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ export * from './ports.js';
2
+ export * from './rrf.js';
3
+ export * from './retrieval-session.js';
4
+ export * from './sufficiency.js';
5
+ export * from './packing.js';
6
+ export * from './retrieval-coordinator.js';
7
+ export * from './task-kernel-adapter.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type EvidenceCandidateV1, type EvidenceReceiptV1, type SemanticExecutionContext } from '@devflow-tools/sdk';
2
+ import type { FusedEvidenceCandidate } from './rrf.js';
3
+ export declare function packEvidence(input: {
4
+ context: SemanticExecutionContext;
5
+ fused: FusedEvidenceCandidate[];
6
+ rejected: Array<{
7
+ ref: string;
8
+ reason: string;
9
+ }>;
10
+ gaps: EvidenceReceiptV1['gaps'];
11
+ tokenBudget: number;
12
+ coordinatorVersion: string;
13
+ parentReceiptIds: string[];
14
+ createdAt: number;
15
+ }): {
16
+ selected: EvidenceCandidateV1[];
17
+ tokenCost: number;
18
+ receipt: EvidenceReceiptV1;
19
+ };
20
+ //# sourceMappingURL=packing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packing.d.ts","sourceRoot":"","sources":["../src/packing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACxI,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,OAAO,EAAE,wBAAwB,CAAC;IAClC,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,QAAQ,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG;IAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CA4CrF"}
@@ -0,0 +1,48 @@
1
+ import { stableRuntimeHash } from '@devflow-tools/sdk';
2
+ export function packEvidence(input) {
3
+ const selected = [];
4
+ let tokenCost = 0;
5
+ for (const item of input.fused) {
6
+ const cost = Math.max(1, item.candidate.estimatedTokens ?? 128);
7
+ if (tokenCost + cost > input.tokenBudget) {
8
+ input.rejected.push({ ref: item.candidate.stableRef, reason: 'token_budget_exceeded' });
9
+ continue;
10
+ }
11
+ selected.push(item.candidate);
12
+ tokenCost += cost;
13
+ }
14
+ const legs = {};
15
+ for (const candidate of selected)
16
+ for (const leg of candidate.contributingLegs) {
17
+ (legs[leg.leg] ??= []).push({
18
+ ref: candidate.stableRef,
19
+ rank: leg.rank,
20
+ ...(leg.score !== undefined ? { score: leg.score } : {}),
21
+ });
22
+ }
23
+ const parentReceiptIds = [...new Set(input.parentReceiptIds)].sort();
24
+ const body = {
25
+ schemaVersion: 'evidence-receipt.v1',
26
+ receiptId: `evidence:${stableRuntimeHash({ context: input.context.contextHash, refs: selected.map(item => item.stableRef), parentReceiptIds, createdAt: input.createdAt }).slice(0, 32)}`,
27
+ parentReceiptIds,
28
+ taskContextHash: input.context.contextHash,
29
+ channel: 'composite',
30
+ availability: input.gaps.some(gap => gap.kind === 'unavailable_channel') ? 'unavailable' : 'available',
31
+ selectedRefs: selected.map(item => item.stableRef),
32
+ selectedEvidence: selected,
33
+ selectedRefsByChannel: Object.fromEntries(['code', 'memory', 'knowledge'].map(channel => [
34
+ channel,
35
+ selected.filter(item => item.channel === channel).map(item => item.stableRef),
36
+ ])),
37
+ rejectedRefs: input.rejected,
38
+ gaps: input.gaps,
39
+ contributingLegs: legs,
40
+ factsHash: input.context.facts.factsHash,
41
+ planHash: input.context.plan.planHash,
42
+ activationSnapshotHash: input.context.activationSnapshotHash,
43
+ coordinatorVersion: input.coordinatorVersion,
44
+ createdAt: input.createdAt,
45
+ };
46
+ return { selected, tokenCost, receipt: { ...body, receiptHash: stableRuntimeHash(body) } };
47
+ }
48
+ //# sourceMappingURL=packing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packing.js","sourceRoot":"","sources":["../src/packing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export type { CodeEvidenceProducerPort, EvidenceProducerResult, EvidenceRerankerPort, KnowledgeEvidenceProducerPort, MemoryEvidenceProducerPort, RetrievalTaskRuntimePort, } from '@devflow-tools/sdk';
2
+ //# sourceMappingURL=ports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,oBAAoB,CAAC"}
package/dist/ports.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports.js","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { type CodeEvidenceProducerPort, type EvidenceRerankerPort, type KnowledgeEvidenceProducerPort, type MemoryEvidenceProducerPort, type RetrievalCoordinatorResultV1, type RetrievalTaskRuntimePort, type SemanticExecutionContext } from '@devflow-tools/sdk';
2
+ import { RetrievalSessionRepository } from './retrieval-session.js';
3
+ export interface RetrievalCoordinatorOptions {
4
+ code: CodeEvidenceProducerPort;
5
+ memory: MemoryEvidenceProducerPort;
6
+ knowledge: KnowledgeEvidenceProducerPort;
7
+ sessions: RetrievalSessionRepository;
8
+ reranker?: EvidenceRerankerPort;
9
+ observer?: RetrievalCoordinatorObserver;
10
+ taskRuntime: RetrievalTaskRuntimePort;
11
+ coordinatorVersion?: string;
12
+ }
13
+ export interface RetrievalCoordinatorObserver {
14
+ record(event: {
15
+ name: 'retrieval.session.opened' | 'retrieval.fusion.completed' | 'retrieval.candidate.rejected' | 'retrieval.selection.completed' | 'retrieval.cycle.completed' | 'retrieval.cycle.stopped' | 'provider.execution.completed' | 'provider.execution.rejected';
16
+ identity: SemanticExecutionContext['identity'];
17
+ data: Record<string, unknown>;
18
+ timestamp: number;
19
+ }): void;
20
+ }
21
+ export declare class RetrievalCoordinator {
22
+ private readonly options;
23
+ private readonly version;
24
+ constructor(options: RetrievalCoordinatorOptions);
25
+ retrieve(input: {
26
+ context: SemanticExecutionContext;
27
+ taskRevision: number;
28
+ tokenBudget?: number;
29
+ now?: number;
30
+ }): Promise<RetrievalCoordinatorResultV1>;
31
+ private observe;
32
+ }
33
+ //# sourceMappingURL=retrieval-coordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieval-coordinator.d.ts","sourceRoot":"","sources":["../src/retrieval-coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAI7B,KAAK,oBAAoB,EAIzB,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAE/B,KAAK,4BAA4B,EAKjC,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC9B,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAiC,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAInG,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,wBAAwB,CAAC;IAC/B,MAAM,EAAE,0BAA0B,CAAC;IACnC,SAAS,EAAE,6BAA6B,CAAC;IACzC,QAAQ,EAAE,0BAA0B,CAAC;IACrC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,QAAQ,CAAC,EAAE,4BAA4B,CAAC;IACxC,WAAW,EAAE,wBAAwB,CAAC;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,CAAC,KAAK,EAAE;QACZ,IAAI,EAAE,0BAA0B,GAAG,4BAA4B,GAC3D,8BAA8B,GAAG,+BAA+B,GAChE,2BAA2B,GAAG,yBAAyB,GACvD,8BAA8B,GAAG,6BAA6B,CAAC;QACnE,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI,CAAC;CACV;AAED,qBAAa,oBAAoB;IAEnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBACJ,OAAO,EAAE,2BAA2B;IAI3D,QAAQ,CAAC,KAAK,EAAE;QACpB,OAAO,EAAE,wBAAwB,CAAC;QAClC,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAgZzC,OAAO,CAAC,OAAO;CAQhB"}