@exellix/ai-tasks 7.8.1 → 7.8.2

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 (53) hide show
  1. package/dist/compile/compileTaskConfiguration.d.ts +3 -1
  2. package/dist/compile/compileTaskConfiguration.d.ts.map +1 -1
  3. package/dist/compile/compileTaskConfiguration.js +41 -5
  4. package/dist/compile/compileTaskConfiguration.js.map +1 -1
  5. package/dist/narrix/bundleToNarrixPack.d.ts +8 -0
  6. package/dist/narrix/bundleToNarrixPack.d.ts.map +1 -0
  7. package/dist/narrix/bundleToNarrixPack.js +60 -0
  8. package/dist/narrix/bundleToNarrixPack.js.map +1 -0
  9. package/dist/narrix/createNarrixRunnerFromBundle.d.ts +8 -0
  10. package/dist/narrix/createNarrixRunnerFromBundle.d.ts.map +1 -0
  11. package/dist/narrix/createNarrixRunnerFromBundle.js +17 -0
  12. package/dist/narrix/createNarrixRunnerFromBundle.js.map +1 -0
  13. package/dist/narrix/index.d.ts +1 -1
  14. package/dist/narrix/index.d.ts.map +1 -1
  15. package/dist/narrix/index.js +1 -1
  16. package/dist/narrix/index.js.map +1 -1
  17. package/dist/narrix/loadNarrixBundleFromCatalox.d.ts +8 -0
  18. package/dist/narrix/loadNarrixBundleFromCatalox.d.ts.map +1 -0
  19. package/dist/narrix/loadNarrixBundleFromCatalox.js +73 -0
  20. package/dist/narrix/loadNarrixBundleFromCatalox.js.map +1 -0
  21. package/dist/narrix/narrixCatalogBundleLoader.d.ts +15 -0
  22. package/dist/narrix/narrixCatalogBundleLoader.d.ts.map +1 -0
  23. package/dist/narrix/narrixCatalogBundleLoader.js +67 -0
  24. package/dist/narrix/narrixCatalogBundleLoader.js.map +1 -0
  25. package/dist/narrix/narrixCatalogCredentials.d.ts +8 -0
  26. package/dist/narrix/narrixCatalogCredentials.d.ts.map +1 -0
  27. package/dist/narrix/narrixCatalogCredentials.js +20 -0
  28. package/dist/narrix/narrixCatalogCredentials.js.map +1 -0
  29. package/dist/narrix/narrixClient.d.ts.map +1 -1
  30. package/dist/narrix/narrixClient.js +4 -3
  31. package/dist/narrix/narrixClient.js.map +1 -1
  32. package/dist/narrix/runNarrixForChat.d.ts.map +1 -1
  33. package/dist/narrix/runNarrixForChat.js +3 -1
  34. package/dist/narrix/runNarrixForChat.js.map +1 -1
  35. package/dist/narrix/runNarrixForDocs.d.ts.map +1 -1
  36. package/dist/narrix/runNarrixForDocs.js +3 -1
  37. package/dist/narrix/runNarrixForDocs.js.map +1 -1
  38. package/dist/narrix/runNarrixForRecord.d.ts.map +1 -1
  39. package/dist/narrix/runNarrixForRecord.js +3 -1
  40. package/dist/narrix/runNarrixForRecord.js.map +1 -1
  41. package/dist/narrix/runNarrixForText.d.ts.map +1 -1
  42. package/dist/narrix/runNarrixForText.js +3 -1
  43. package/dist/narrix/runNarrixForText.js.map +1 -1
  44. package/dist/narrix/runnerDispatch.d.ts.map +1 -1
  45. package/dist/narrix/runnerDispatch.js +2 -1
  46. package/dist/narrix/runnerDispatch.js.map +1 -1
  47. package/dist/narrix/seedBundleRouting.d.ts +13 -3
  48. package/dist/narrix/seedBundleRouting.d.ts.map +1 -1
  49. package/dist/narrix/seedBundleRouting.js +61 -11
  50. package/dist/narrix/seedBundleRouting.js.map +1 -1
  51. package/dist/types/task-configuration.d.ts +6 -0
  52. package/dist/types/task-configuration.d.ts.map +1 -1
  53. package/package.json +2 -1
@@ -2,11 +2,13 @@ import { type CompileTaskConfigurationResult } from "../types/task-configuration
2
2
  import type { RunTaskRequest } from "../types/task-types.js";
3
3
  /**
4
4
  * Compile graph `taskConfiguration` on a {@link RunTaskRequest} into `executionPipeline`,
5
- * `includeContextInPrompt`, and related PRE synthesis fields.
5
+ * `includeContextInPrompt`, related PRE synthesis fields, and lifted `narrix` config.
6
6
  *
7
7
  * - **`aiTaskStrategies.pre: "synthesis"`** (or array containing `"synthesis"`) → PRE step.
8
8
  * - **`aiTaskProfile.inputSynthesis.enabled: true`** → PRE step (same as graph-engine compile table).
9
9
  * - **`preInputStrategy`** / pre-core keys on `pre` → `SynthesisConfig.synthesisInputStrategy`.
10
+ * - **`taskConfiguration.narrix`** → merged into `request.narrix` (request fields win).
11
+ * - **`aiTaskProfile.webScoping`** → `request.narrix.webScoping` when unset (requires narrix config).
10
12
  *
11
13
  * Removes `taskConfiguration` from the returned request (compile-only blob).
12
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"compileTaskConfiguration.d.ts","sourceRoot":"","sources":["../../src/compile/compileTaskConfiguration.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,8BAA8B,EAGpC,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAEV,cAAc,EAGf,MAAM,wBAAwB,CAAC;AA2JhC;;;;;;;;;GASG;AACH,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,cAAc,GACtB,8BAA8B,CAkFhC;AAED,YAAY,EAAE,8BAA8B,EAAE,CAAC"}
1
+ {"version":3,"file":"compileTaskConfiguration.d.ts","sourceRoot":"","sources":["../../src/compile/compileTaskConfiguration.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,8BAA8B,EAGpC,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAGV,cAAc,EAGf,MAAM,wBAAwB,CAAC;AAoMhC;;;;;;;;;;;GAWG;AACH,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,cAAc,GACtB,8BAA8B,CAsFhC;AAED,YAAY,EAAE,8BAA8B,EAAE,CAAC"}
@@ -120,13 +120,47 @@ function mergeExecutionPipeline(requestPipeline, configPipeline) {
120
120
  return configPipeline;
121
121
  return undefined;
122
122
  }
123
+ function hasNonEmptyScopingRecord(v) {
124
+ return isRecord(v) && Object.keys(v).length > 0;
125
+ }
126
+ /**
127
+ * Lift `taskConfiguration.narrix` and `aiTaskProfile.webScoping` onto `request.narrix`.
128
+ * Existing `request.narrix` fields win over `taskConfiguration.narrix`; `narrix.webScoping`
129
+ * wins over `aiTaskProfile.webScoping`.
130
+ */
131
+ function liftNarrixFromAuthoring(request, taskConfiguration, profile, warnings) {
132
+ const configNarrix = isRecord(taskConfiguration.narrix) ? taskConfiguration.narrix : undefined;
133
+ const requestNarrix = request.narrix;
134
+ let merged;
135
+ if (configNarrix && requestNarrix) {
136
+ merged = { ...configNarrix, ...requestNarrix };
137
+ }
138
+ else if (requestNarrix) {
139
+ merged = { ...requestNarrix };
140
+ }
141
+ else if (configNarrix) {
142
+ merged = { ...configNarrix };
143
+ }
144
+ const profileScoping = profile?.webScoping;
145
+ if (merged && hasNonEmptyScopingRecord(profileScoping)) {
146
+ if (!hasNonEmptyScopingRecord(merged.webScoping)) {
147
+ merged = { ...merged, webScoping: profileScoping };
148
+ }
149
+ }
150
+ else if (!merged && hasNonEmptyScopingRecord(profileScoping)) {
151
+ warnings.push("taskConfiguration.aiTaskProfile.webScoping is set but no narrix config is present; webScoping is ignored until request.narrix or taskConfiguration.narrix defines a NARRIX preprocessor.");
152
+ }
153
+ return merged;
154
+ }
123
155
  /**
124
156
  * Compile graph `taskConfiguration` on a {@link RunTaskRequest} into `executionPipeline`,
125
- * `includeContextInPrompt`, and related PRE synthesis fields.
157
+ * `includeContextInPrompt`, related PRE synthesis fields, and lifted `narrix` config.
126
158
  *
127
159
  * - **`aiTaskStrategies.pre: "synthesis"`** (or array containing `"synthesis"`) → PRE step.
128
160
  * - **`aiTaskProfile.inputSynthesis.enabled: true`** → PRE step (same as graph-engine compile table).
129
161
  * - **`preInputStrategy`** / pre-core keys on `pre` → `SynthesisConfig.synthesisInputStrategy`.
162
+ * - **`taskConfiguration.narrix`** → merged into `request.narrix` (request fields win).
163
+ * - **`aiTaskProfile.webScoping`** → `request.narrix.webScoping` when unset (requires narrix config).
130
164
  *
131
165
  * Removes `taskConfiguration` from the returned request (compile-only blob).
132
166
  */
@@ -144,8 +178,10 @@ export function compileTaskConfigurationOnRunTaskRequest(request) {
144
178
  const strategies = taskConfiguration.aiTaskStrategies;
145
179
  const profile = taskConfiguration.aiTaskProfile;
146
180
  const inputSynthesis = profile?.inputSynthesis;
181
+ const liftedNarrix = liftNarrixFromAuthoring(request, taskConfiguration, profile, warnings);
182
+ const requestWithNarrix = liftedNarrix !== undefined ? { ...request, narrix: liftedNarrix } : request;
147
183
  const wantsPre = preSynthesisRequested(strategies, inputSynthesis);
148
- const mergedPipeline = mergeExecutionPipeline(request.executionPipeline, taskConfiguration.executionPipeline);
184
+ const mergedPipeline = mergeExecutionPipeline(requestWithNarrix.executionPipeline, taskConfiguration.executionPipeline);
149
185
  const alreadyHasSynthPre = pipelineHasSynthPre(mergedPipeline);
150
186
  if (inputSynthesis?.enabled === true &&
151
187
  taskConfiguration.executionPipeline?.length &&
@@ -153,10 +189,10 @@ export function compileTaskConfigurationOnRunTaskRequest(request) {
153
189
  throw new TaskConfigurationCompileError("INPUT_SYNTHESIS_PIPELINE_CONFLICT", 'taskConfiguration defines both aiTaskProfile.inputSynthesis.enabled and an explicit PRE "synthesized-context" executionPipeline. Use one source of truth.', { skillKey, details: { inputSynthesisEnabled: true, hasExplicitPre: true } });
154
190
  }
155
191
  let executionPipeline = mergedPipeline;
156
- let includeContextInPrompt = request.includeContextInPrompt;
192
+ let includeContextInPrompt = requestWithNarrix.includeContextInPrompt;
157
193
  let preSynthesisEnabled = alreadyHasSynthPre;
158
194
  if (wantsPre && !alreadyHasSynthPre) {
159
- const synthesisConfig = buildSynthesisConfigFromAuthoring(taskConfiguration, request, strategies, inputSynthesis);
195
+ const synthesisConfig = buildSynthesisConfigFromAuthoring(taskConfiguration, requestWithNarrix, strategies, inputSynthesis);
160
196
  executionPipeline = insertSynthPreStep(executionPipeline, synthesisConfig);
161
197
  includeContextInPrompt = true;
162
198
  preSynthesisEnabled = true;
@@ -168,7 +204,7 @@ export function compileTaskConfigurationOnRunTaskRequest(request) {
168
204
  includeContextInPrompt = true;
169
205
  }
170
206
  }
171
- const { taskConfiguration: _removed, ...rest } = request;
207
+ const { taskConfiguration: _removed, ...rest } = requestWithNarrix;
172
208
  const compiled = {
173
209
  ...rest,
174
210
  ...(executionPipeline !== undefined ? { executionPipeline } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"compileTaskConfiguration.js","sourceRoot":"","sources":["../../src/compile/compileTaskConfiguration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compileTaskConfiguration.js","sourceRoot":"","sources":["../../src/compile/compileTaskConfiguration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { CataloxSeedBundle } from "@exellix/narrix-catalox";
2
+ import type { NarrixPack } from "@exellix/narrix-engine";
3
+ /**
4
+ * Convert a CataloxSeedBundle into the in-memory NarrixPack shape expected by narrix-engine.
5
+ * Mirrors `@exellix/narrix-runner/dist/catalog/bundle-to-pack.js` (not exported from the package).
6
+ */
7
+ export declare function bundleToNarrixPack(bundle: CataloxSeedBundle): NarrixPack;
8
+ //# sourceMappingURL=bundleToNarrixPack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundleToNarrixPack.d.ts","sourceRoot":"","sources":["../../src/narrix/bundleToNarrixPack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,UAAU,CA2DxE"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Convert a CataloxSeedBundle into the in-memory NarrixPack shape expected by narrix-engine.
3
+ * Mirrors `@exellix/narrix-runner/dist/catalog/bundle-to-pack.js` (not exported from the package).
4
+ */
5
+ export function bundleToNarrixPack(bundle) {
6
+ const cat = bundle.catalogs.categories[0];
7
+ const signalEntries = {};
8
+ for (const s of bundle.catalogs.signals) {
9
+ signalEntries[s.code] = {
10
+ title: s.title,
11
+ severityDefault: s.severityDefault,
12
+ description: s.description,
13
+ entityTypes: s.entityTypes,
14
+ expectedInputs: s.expectedInputs,
15
+ };
16
+ }
17
+ const signalsCatalog = { schema: "signals.catalog.v1", signals: signalEntries };
18
+ const mappings = {};
19
+ for (const m of bundle.catalogs.narratorMappings) {
20
+ mappings[m.mappingId] = {
21
+ schema: m.schema,
22
+ version: m.version,
23
+ subject: m.subject,
24
+ facts: m.facts,
25
+ };
26
+ }
27
+ const rulePacks = {};
28
+ for (const rp of bundle.catalogs.rulePacks) {
29
+ rulePacks[rp.processorId] ??= {};
30
+ rulePacks[rp.processorId][rp.passType] ??= [];
31
+ rulePacks[rp.processorId][rp.passType].push({
32
+ schema: rp.schema,
33
+ version: rp.version,
34
+ rules: rp.rules,
35
+ });
36
+ }
37
+ const processors = bundle.catalogs.processors.map((p) => ({
38
+ id: p.id,
39
+ entityKind: p.entityKind,
40
+ mappingKey: p.mappingKey,
41
+ route: p.route,
42
+ passes: p.passes,
43
+ entityIdentity: p.entityIdentity,
44
+ }));
45
+ const pipelineItem = bundle.catalogs.pipelines[0];
46
+ const pipeline = {
47
+ passes: pipelineItem.passes,
48
+ metaAttachPath: pipelineItem.metaAttachPath,
49
+ };
50
+ return {
51
+ id: cat?.packId ?? bundle.categoryId,
52
+ version: cat?.version ?? "0.0.0",
53
+ signalsCatalog,
54
+ mappings,
55
+ rulePacks,
56
+ processors,
57
+ pipeline,
58
+ };
59
+ }
60
+ //# sourceMappingURL=bundleToNarrixPack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundleToNarrixPack.js","sourceRoot":"","sources":["../../src/narrix/bundleToNarrixPack.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAyB;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,aAAa,GAA4C,EAAE,CAAC;IAClE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;YACtB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,cAAc,EAAE,CAAC,CAAC,cAAc;SACjC,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAEhF,MAAM,QAAQ,GAA4C,EAAE,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QACjD,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG;YACtB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAA8C,EAAE,CAAC;IAChE,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC3C,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACjC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC9C,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;YAC1C,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,KAAK,EAAE,EAAE,CAAC,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,cAAc,EAAE,CAAC,CAAC,cAAc;KACjC,CAAC,CAA6B,CAAC;IAEhC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,YAAY,CAAC,MAAM;QAC3B,cAAc,EAAE,YAAY,CAAC,cAAc;KAClB,CAAC;IAE5B,OAAO;QACL,EAAE,EAAE,GAAG,EAAE,MAAM,IAAI,MAAM,CAAC,UAAU;QACpC,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,OAAO;QAChC,cAAc;QACd,QAAQ;QACR,SAAS;QACT,UAAU;QACV,QAAQ;KACK,CAAC;AAClB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { CataloxSeedBundle } from "@exellix/narrix-catalox";
2
+ import type { CreateRunnerOptions, NarrixRunner } from "@exellix/narrix-runner";
3
+ /**
4
+ * Build a {@link NarrixRunner} from an already-resolved catalog bundle (archive or Catalox).
5
+ * Avoids `@exellix/narrix-runner` `createRunner()` which always reads `.archive/packages` on disk.
6
+ */
7
+ export declare function createNarrixRunnerFromBundle(bundle: CataloxSeedBundle, options?: CreateRunnerOptions): Promise<NarrixRunner>;
8
+ //# sourceMappingURL=createNarrixRunnerFromBundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNarrixRunnerFromBundle.d.ts","sourceRoot":"","sources":["../../src/narrix/createNarrixRunnerFromBundle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAIhF;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,YAAY,CAAC,CASvB"}
@@ -0,0 +1,17 @@
1
+ import { bundleToNarrixPack } from "./bundleToNarrixPack.js";
2
+ import { getNarrixRunnerModule } from "./narrixRunnerModule.js";
3
+ /**
4
+ * Build a {@link NarrixRunner} from an already-resolved catalog bundle (archive or Catalox).
5
+ * Avoids `@exellix/narrix-runner` `createRunner()` which always reads `.archive/packages` on disk.
6
+ */
7
+ export async function createNarrixRunnerFromBundle(bundle, options = {}) {
8
+ const { NarrixRunner } = await getNarrixRunnerModule();
9
+ const { createNarrixEngine } = await import("@exellix/narrix-engine");
10
+ const pack = bundleToNarrixPack(bundle);
11
+ const engine = await createNarrixEngine({
12
+ pack,
13
+ featureRegistry: options.featureRegistry,
14
+ });
15
+ return new NarrixRunner(bundle, pack, engine, options);
16
+ }
17
+ //# sourceMappingURL=createNarrixRunnerFromBundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createNarrixRunnerFromBundle.js","sourceRoot":"","sources":["../../src/narrix/createNarrixRunnerFromBundle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,MAAyB,EACzB,UAA+B,EAAE;IAEjC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACvD,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;QACtC,IAAI;QACJ,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC,CAAC;IACH,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC"}
@@ -5,7 +5,7 @@ export { runNarrixForChat } from "./runNarrixForChat.js";
5
5
  export { getNarrixClient } from "./narrixClient.js";
6
6
  export { narrixFlags } from "./flags.js";
7
7
  export { NARRIX_RUN_SKILL_KEY } from "./task.js";
8
- export { getNarrixCatalogBundle, pickQuestionIdForDataset, resolveDatasetIngestHints } from "./seedBundleRouting.js";
8
+ export { ensureNarrixCatalogBundle, getNarrixCatalogBundle, listRunnableNarrixDatasetIds, pickQuestionIdForDataset, pickRunnableNarrixDataset, resolveDatasetIngestHints, isNarrixCatalogSourceAvailable, narrixArchivePresent, resetNarrixCatalogBundleCache, } from "./seedBundleRouting.js";
9
9
  export type { DatasetIngestHints } from "./seedBundleRouting.js";
10
10
  export type { NarrixMedium, NarrixRunRouting, NarrixRunInput, NarrixRunInputRecord, NarrixRunInputText, NarrixRunInputDocs, NarrixRunInputChat, NarrixRunOutput, NarrixRunOutputSuccess, NarrixRunOutputFailure, } from "./types.js";
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/narrix/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACrH,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/narrix/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC"}
@@ -10,5 +10,5 @@ export { runNarrixForChat } from "./runNarrixForChat.js";
10
10
  export { getNarrixClient } from "./narrixClient.js";
11
11
  export { narrixFlags } from "./flags.js";
12
12
  export { NARRIX_RUN_SKILL_KEY } from "./task.js";
13
- export { getNarrixCatalogBundle, pickQuestionIdForDataset, resolveDatasetIngestHints } from "./seedBundleRouting.js";
13
+ export { ensureNarrixCatalogBundle, getNarrixCatalogBundle, listRunnableNarrixDatasetIds, pickQuestionIdForDataset, pickRunnableNarrixDataset, resolveDatasetIngestHints, isNarrixCatalogSourceAvailable, narrixArchivePresent, resetNarrixCatalogBundleCache, } from "./seedBundleRouting.js";
14
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/narrix/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEnE,mFAAmF;AACnF,iBAAiB,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;AAE1D,yCAAyC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/narrix/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEnE,mFAAmF;AACnF,iBAAiB,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;AAE1D,yCAAyC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { CataloxSeedBundle } from "@exellix/narrix-catalox";
2
+ import type { Catalox } from "@x12i/catalox";
3
+ /**
4
+ * Rebuild a {@link CataloxSeedBundle} from Narrix native catalogs in Catalox/Firestore
5
+ * (same rows written by `@exellix/narrix-catalox` `runCataloxSeed`).
6
+ */
7
+ export declare function loadNarrixBundleFromCatalox(catalox: Catalox): Promise<CataloxSeedBundle>;
8
+ //# sourceMappingURL=loadNarrixBundleFromCatalox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadNarrixBundleFromCatalox.d.ts","sourceRoot":"","sources":["../../src/narrix/loadNarrixBundleFromCatalox.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,eAAe,CAAC;AA2D7D;;;GAGG;AACH,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2B9F"}
@@ -0,0 +1,73 @@
1
+ import { CATALOG_SPECS } from "@exellix/narrix-catalox";
2
+ import { resolveNarrixCataloxAppId } from "./narrixCatalogCredentials.js";
3
+ const CATALOG_ID_TO_BUNDLE_KEY = {
4
+ categories: "categories",
5
+ signals: "signals",
6
+ narratives: "narratives",
7
+ "narrator-mappings": "narratorMappings",
8
+ "rule-packs": "rulePacks",
9
+ processors: "processors",
10
+ pipelines: "pipelines",
11
+ "answer-mappings": "answerMappings",
12
+ "record-schemas": "recordSchemas",
13
+ "record-properties": "recordProperties",
14
+ "use-cases": "useCases",
15
+ };
16
+ function asRecord(v) {
17
+ return v && typeof v === "object" && !Array.isArray(v) ? v : {};
18
+ }
19
+ async function listAllNativeCatalogData(catalox, ctx, catalogId) {
20
+ const rows = [];
21
+ let offset = 0;
22
+ let cursor;
23
+ for (;;) {
24
+ const page = await catalox.listCatalogItems(ctx, catalogId, {
25
+ limit: 500,
26
+ ...(cursor ? { cursor } : { offset }),
27
+ scope: { superAdmin: true },
28
+ });
29
+ if (page.listOutcome === "mapping_blocked") {
30
+ throw new Error(`Catalox listCatalogItems mapping_blocked for catalog "${catalogId}"` +
31
+ (page.issues?.length ? `: ${JSON.stringify(page.issues)}` : ""));
32
+ }
33
+ for (const item of page.items) {
34
+ rows.push(asRecord(item.data));
35
+ }
36
+ if (page.nextCursor) {
37
+ cursor = page.nextCursor;
38
+ offset = 0;
39
+ continue;
40
+ }
41
+ if (!page.items.length || page.items.length < 500)
42
+ break;
43
+ offset += page.items.length;
44
+ }
45
+ return rows;
46
+ }
47
+ /**
48
+ * Rebuild a {@link CataloxSeedBundle} from Narrix native catalogs in Catalox/Firestore
49
+ * (same rows written by `@exellix/narrix-catalox` `runCataloxSeed`).
50
+ */
51
+ export async function loadNarrixBundleFromCatalox(catalox) {
52
+ const appId = resolveNarrixCataloxAppId();
53
+ const ctx = {
54
+ appId,
55
+ superAdmin: true,
56
+ actor: { type: "service", id: "ai-tasks-narrix-catalog" },
57
+ };
58
+ const catalogs = {};
59
+ for (const spec of CATALOG_SPECS) {
60
+ const bundleKey = CATALOG_ID_TO_BUNDLE_KEY[spec.catalogId];
61
+ if (!bundleKey)
62
+ continue;
63
+ catalogs[bundleKey] = (await listAllNativeCatalogData(catalox, ctx, spec.catalogId));
64
+ }
65
+ const categories = catalogs.categories ?? [];
66
+ const categoryId = categories[0]?.categoryId ?? "network-security";
67
+ if (!catalogs.processors?.length) {
68
+ throw new Error(`Narrix Catalox catalog is empty or not seeded for appId="${appId}". ` +
69
+ "Run `@exellix/narrix-catalox` seed against this app, or populate `.archive/packages` locally.");
70
+ }
71
+ return { categoryId, catalogs };
72
+ }
73
+ //# sourceMappingURL=loadNarrixBundleFromCatalox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadNarrixBundleFromCatalox.js","sourceRoot":"","sources":["../../src/narrix/loadNarrixBundleFromCatalox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { type CataloxSeedBundle } from "@exellix/narrix-catalox";
2
+ /** True when the on-disk Narrix pack archive is present (dev checkout layout). */
3
+ export declare function narrixArchivePresent(): boolean;
4
+ /** Archive on disk or Catalox credentials to load Narrix catalogs from Firestore. */
5
+ export declare function isNarrixCatalogSourceAvailable(): boolean;
6
+ export declare function resetNarrixCatalogBundleCache(): void;
7
+ /**
8
+ * Load Narrix catalog once (archive first, then Catalox). Safe to call concurrently.
9
+ */
10
+ export declare function ensureNarrixCatalogBundle(): Promise<CataloxSeedBundle>;
11
+ /**
12
+ * Sync accessor after {@link ensureNarrixCatalogBundle} (or when `.archive` is present).
13
+ */
14
+ export declare function getNarrixCatalogBundleSync(): CataloxSeedBundle;
15
+ //# sourceMappingURL=narrixCatalogBundleLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"narrixCatalogBundleLoader.d.ts","sourceRoot":"","sources":["../../src/narrix/narrixCatalogBundleLoader.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAejC,kFAAkF;AAClF,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED,qFAAqF;AACrF,wBAAgB,8BAA8B,IAAI,OAAO,CAExD;AAED,wBAAgB,6BAA6B,IAAI,IAAI,CAGpD;AAsBD;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAa5E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,iBAAiB,CAS9D"}
@@ -0,0 +1,67 @@
1
+ import { existsSync } from "node:fs";
2
+ import path from "node:path";
3
+ import { getSeedBundle, narrixArchiveManifest, } from "@exellix/narrix-catalox";
4
+ import { loadNarrixBundleFromCatalox } from "./loadNarrixBundleFromCatalox.js";
5
+ import { narrixCataloxCredentialsReady } from "./narrixCatalogCredentials.js";
6
+ const ARCHIVE_SIGNAL = path.join(process.cwd(), ".archive", "packages", "pack", "signals.catalog.json");
7
+ let cachedBundle = null;
8
+ let loading = null;
9
+ /** True when the on-disk Narrix pack archive is present (dev checkout layout). */
10
+ export function narrixArchivePresent() {
11
+ return existsSync(ARCHIVE_SIGNAL);
12
+ }
13
+ /** Archive on disk or Catalox credentials to load Narrix catalogs from Firestore. */
14
+ export function isNarrixCatalogSourceAvailable() {
15
+ return narrixArchivePresent() || narrixCataloxCredentialsReady();
16
+ }
17
+ export function resetNarrixCatalogBundleCache() {
18
+ cachedBundle = null;
19
+ loading = null;
20
+ }
21
+ function loadNarrixCatalogBundleFromArchive() {
22
+ return getSeedBundle(narrixArchiveManifest());
23
+ }
24
+ async function loadNarrixCatalogBundleAuto() {
25
+ if (narrixArchivePresent()) {
26
+ return loadNarrixCatalogBundleFromArchive();
27
+ }
28
+ if (narrixCataloxCredentialsReady()) {
29
+ const { createCataloxFromEnv } = await import("@exellix/ai-skills");
30
+ const catalox = createCataloxFromEnv();
31
+ return loadNarrixBundleFromCatalox(catalox);
32
+ }
33
+ throw new Error("Narrix catalog unavailable: populate `.archive/packages` (see BREAKING-CHANGES-NARRIX-V5.md) " +
34
+ "or configure Catalox env (FIREBASE_PROJECT_ID, GOOGLE_SERVICE_ACCOUNT_BASE64, CATALOX_APP_ID) " +
35
+ "with Narrix native catalogs seeded via @exellix/narrix-catalox.");
36
+ }
37
+ /**
38
+ * Load Narrix catalog once (archive first, then Catalox). Safe to call concurrently.
39
+ */
40
+ export async function ensureNarrixCatalogBundle() {
41
+ if (cachedBundle)
42
+ return cachedBundle;
43
+ if (!loading) {
44
+ loading = loadNarrixCatalogBundleAuto()
45
+ .then((bundle) => {
46
+ cachedBundle = bundle;
47
+ return bundle;
48
+ })
49
+ .finally(() => {
50
+ loading = null;
51
+ });
52
+ }
53
+ return loading;
54
+ }
55
+ /**
56
+ * Sync accessor after {@link ensureNarrixCatalogBundle} (or when `.archive` is present).
57
+ */
58
+ export function getNarrixCatalogBundleSync() {
59
+ if (cachedBundle)
60
+ return cachedBundle;
61
+ if (narrixArchivePresent()) {
62
+ cachedBundle = loadNarrixCatalogBundleFromArchive();
63
+ return cachedBundle;
64
+ }
65
+ throw new Error("Narrix catalog bundle not loaded. Await ensureNarrixCatalogBundle() when `.archive/packages` is absent.");
66
+ }
67
+ //# sourceMappingURL=narrixCatalogBundleLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"narrixCatalogBundleLoader.js","sourceRoot":"","sources":["../../src/narrix/narrixCatalogBundleLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,aAAa,EACb,qBAAqB,GAEtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAE9E,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAC9B,OAAO,CAAC,GAAG,EAAE,EACb,UAAU,EACV,UAAU,EACV,MAAM,EACN,sBAAsB,CACvB,CAAC;AAEF,IAAI,YAAY,GAA6B,IAAI,CAAC;AAClD,IAAI,OAAO,GAAsC,IAAI,CAAC;AAEtD,kFAAkF;AAClF,MAAM,UAAU,oBAAoB;IAClC,OAAO,UAAU,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,8BAA8B;IAC5C,OAAO,oBAAoB,EAAE,IAAI,6BAA6B,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,YAAY,GAAG,IAAI,CAAC;IACpB,OAAO,GAAG,IAAI,CAAC;AACjB,CAAC;AAED,SAAS,kCAAkC;IACzC,OAAO,aAAa,CAAC,qBAAqB,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,2BAA2B;IACxC,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC3B,OAAO,kCAAkC,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,6BAA6B,EAAE,EAAE,CAAC;QACpC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACvC,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,KAAK,CACb,+FAA+F;QAC7F,gGAAgG;QAChG,iEAAiE,CACpE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,2BAA2B,EAAE;aACpC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,YAAY,GAAG,MAAM,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IACtC,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC3B,YAAY,GAAG,kCAAkC,EAAE,CAAC;QACpD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** True when Catalox/Firebase env is sufficient for {@link createCataloxFromEnv}. */
2
+ export declare function narrixCataloxCredentialsReady(): boolean;
3
+ /**
4
+ * Catalox app that owns Narrix native catalogs (`categories`, `processors`, …).
5
+ * Defaults to `CATALOX_APP_ID` (same as `@exellix/narrix-catalox` seed).
6
+ */
7
+ export declare function resolveNarrixCataloxAppId(): string;
8
+ //# sourceMappingURL=narrixCatalogCredentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"narrixCatalogCredentials.d.ts","sourceRoot":"","sources":["../../src/narrix/narrixCatalogCredentials.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,wBAAgB,6BAA6B,IAAI,OAAO,CAIvD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAQlD"}
@@ -0,0 +1,20 @@
1
+ /** True when Catalox/Firebase env is sufficient for {@link createCataloxFromEnv}. */
2
+ export function narrixCataloxCredentialsReady() {
3
+ const projectId = process.env.FIREBASE_PROJECT_ID?.trim();
4
+ const b64 = process.env.GOOGLE_SERVICE_ACCOUNT_BASE64?.trim();
5
+ return Boolean(projectId && b64);
6
+ }
7
+ /**
8
+ * Catalox app that owns Narrix native catalogs (`categories`, `processors`, …).
9
+ * Defaults to `CATALOX_APP_ID` (same as `@exellix/narrix-catalox` seed).
10
+ */
11
+ export function resolveNarrixCataloxAppId() {
12
+ const explicit = process.env.NARRIX_CATALOX_APP_ID?.trim();
13
+ if (explicit)
14
+ return explicit;
15
+ const appId = process.env.CATALOX_APP_ID?.trim();
16
+ if (appId)
17
+ return appId;
18
+ throw new Error("Narrix Catalox app id is required when loading catalog from Firestore. Set NARRIX_CATALOX_APP_ID or CATALOX_APP_ID.");
19
+ }
20
+ //# sourceMappingURL=narrixCatalogCredentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"narrixCatalogCredentials.js","sourceRoot":"","sources":["../../src/narrix/narrixCatalogCredentials.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,UAAU,6BAA6B;IAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,EAAE,CAAC;IAC9D,OAAO,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC;IAC3D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;IACjD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"narrixClient.d.ts","sourceRoot":"","sources":["../../src/narrix/narrixClient.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAuB3D,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAIF,wBAAgB,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAqBvD"}
1
+ {"version":3,"file":"narrixClient.d.ts","sourceRoot":"","sources":["../../src/narrix/narrixClient.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAuB3D,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAIF,wBAAgB,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAoBvD"}
@@ -1,5 +1,6 @@
1
1
  import { createIngest } from "@exellix/narrix-ingest";
2
- import { getNarrixRunnerModule } from "./narrixRunnerModule.js";
2
+ import { createNarrixRunnerFromBundle } from "./createNarrixRunnerFromBundle.js";
3
+ import { ensureNarrixCatalogBundle } from "./narrixCatalogBundleLoader.js";
3
4
  import { recordAdapter } from "@exellix/narrix-adapter-records";
4
5
  import { adapter as textAdapter } from "@exellix/narrix-adapter-text";
5
6
  import { toCni as chatToCni } from "@exellix/narrix-adapter-chat";
@@ -27,8 +28,8 @@ export function getNarrixClient() {
27
28
  if (!singleton) {
28
29
  singleton = (async () => {
29
30
  const ingest = createFullIngest();
30
- const { createRunner } = await getNarrixRunnerModule();
31
- const runner = await createRunner({
31
+ const bundle = await ensureNarrixCatalogBundle();
32
+ const runner = await createNarrixRunnerFromBundle(bundle, {
32
33
  runtime: {
33
34
  onProcessorNotMatched: "attachError",
34
35
  onMissingMapping: "attachError",
@@ -1 +1 @@
1
- {"version":3,"file":"narrixClient.js","sourceRoot":"","sources":["../../src/narrix/narrixClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAItE,MAAM,eAAe,GAAG,8BAA8B,CAAC;AACvD,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,MAAM,YAAY,GAAmB;IACnC,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,eAAe;IAC1B,OAAO,EAAE,YAAY;IACrB,KAAK,CAAC,KAAc,EAAE,OAAiB;QACrC,OAAO,SAAS,CAAC,KAAwC,EAAE,OAA0C,CAAC,CAAC;IACzG,CAAC;CACF,CAAC;AAEF,SAAS,gBAAgB;IACvB,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC;AAChB,CAAC;AAOD,IAAI,SAAS,GAAiC,IAAI,CAAC;AAEnD,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAElC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,qBAAqB,EAAE,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;gBAChC,OAAO,EAAE;oBACP,qBAAqB,EAAE,aAAa;oBACpC,gBAAgB,EAAE,aAAa;oBAC/B,iBAAiB,EAAE,IAAI;iBACxB;aACF,CAAC,CAAC;YAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"narrixClient.js","sourceRoot":"","sources":["../../src/narrix/narrixClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAItE,MAAM,eAAe,GAAG,8BAA8B,CAAC;AACvD,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,MAAM,YAAY,GAAmB;IACnC,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,eAAe;IAC1B,OAAO,EAAE,YAAY;IACrB,KAAK,CAAC,KAAc,EAAE,OAAiB;QACrC,OAAO,SAAS,CAAC,KAAwC,EAAE,OAA0C,CAAC,CAAC;IACzG,CAAC;CACF,CAAC;AAEF,SAAS,gBAAgB;IACvB,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC;AAChB,CAAC;AAOD,IAAI,SAAS,GAAiC,IAAI,CAAC;AAEnD,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,yBAAyB,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,MAAM,EAAE;gBACxD,OAAO,EAAE;oBACP,qBAAqB,EAAE,aAAa;oBACpC,gBAAgB,EAAE,aAAa;oBAC/B,iBAAiB,EAAE,IAAI;iBACxB;aACF,CAAC,CAAC;YAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runNarrixForChat.d.ts","sourceRoot":"","sources":["../../src/narrix/runNarrixForChat.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQtE,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,eAAe,CAAC,CAqD1B"}
1
+ {"version":3,"file":"runNarrixForChat.d.ts","sourceRoot":"","sources":["../../src/narrix/runNarrixForChat.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQtE,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,eAAe,CAAC,CAsD1B"}
@@ -1,11 +1,13 @@
1
1
  import { getNarrixClient } from "./narrixClient.js";
2
2
  import { resolveDatasetIngestHints } from "./seedBundleRouting.js";
3
+ import { ensureNarrixCatalogBundle } from "./narrixCatalogBundleLoader.js";
3
4
  import { dispatchNarrixRunner } from "./runnerDispatch.js";
4
5
  function isIngestError(res) {
5
6
  return "error" in res && res.error === true;
6
7
  }
7
8
  export async function runNarrixForChat(input) {
8
9
  const { datasetId, thread } = input;
10
+ await ensureNarrixCatalogBundle();
9
11
  const hints = resolveDatasetIngestHints(datasetId);
10
12
  const { ingest, runner } = await getNarrixClient();
11
13
  const ingestRes = ingest.toCni({
@@ -29,7 +31,7 @@ export async function runNarrixForChat(input) {
29
31
  meta: { datasetId, packId: hints.packId, entityKind: hints.recordType },
30
32
  };
31
33
  }
32
- const runRes = await dispatchNarrixRunner(runner, datasetId, ingestRes.cni, { questionId: input.questionId, narrativeTypeId: input.narrativeTypeId }, { sourceMeta: {} });
34
+ const runRes = await dispatchNarrixRunner(runner, datasetId, ingestRes.cni, { questionId: input.questionId ?? hints.questionId, narrativeTypeId: input.narrativeTypeId }, { sourceMeta: {} });
33
35
  return {
34
36
  ok: true,
35
37
  entity: runRes.entity,
@@ -1 +1 @@
1
- {"version":3,"file":"runNarrixForChat.js","sourceRoot":"","sources":["../../src/narrix/runNarrixForChat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,SAAS,aAAa,CACpB,GAAwE;IAExE,OAAO,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAyB;IAEzB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;IAEnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE;gBACV,IAAI,EAAE,MAAM;gBACZ,SAAS;aACV;SACF;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;SACxE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,MAAM,EACN,SAAS,EACT,SAAS,CAAC,GAAG,EACb,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,EACxE,EAAE,UAAU,EAAE,EAAE,EAAE,CACnB,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,IAAI,EAAE;YACJ,SAAS;YACT,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;YACpC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YACxB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;YAClC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;YACpC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;SACrC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runNarrixForChat.js","sourceRoot":"","sources":["../../src/narrix/runNarrixForChat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,SAAS,aAAa,CACpB,GAAwE;IAExE,OAAO,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAyB;IAEzB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,yBAAyB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;IAEnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,UAAU,EAAE;gBACV,IAAI,EAAE,MAAM;gBACZ,SAAS;aACV;SACF;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;SACxE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,MAAM,EACN,SAAS,EACT,SAAS,CAAC,GAAG,EACb,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,EAC5F,EAAE,UAAU,EAAE,EAAE,EAAE,CACnB,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,IAAI,EAAE;YACJ,SAAS;YACT,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;YACpC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YACxB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;YAClC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;YACpC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;SACrC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runNarrixForDocs.d.ts","sourceRoot":"","sources":["../../src/narrix/runNarrixForDocs.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQtE,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,eAAe,CAAC,CAoD1B"}
1
+ {"version":3,"file":"runNarrixForDocs.d.ts","sourceRoot":"","sources":["../../src/narrix/runNarrixForDocs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQtE,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,eAAe,CAAC,CAqD1B"}
@@ -1,11 +1,13 @@
1
1
  import { getNarrixClient } from "./narrixClient.js";
2
2
  import { resolveDatasetIngestHints } from "./seedBundleRouting.js";
3
+ import { ensureNarrixCatalogBundle } from "./narrixCatalogBundleLoader.js";
3
4
  import { dispatchNarrixRunner } from "./runnerDispatch.js";
4
5
  function isIngestError(res) {
5
6
  return "error" in res && res.error === true;
6
7
  }
7
8
  export async function runNarrixForDocs(input) {
8
9
  const { datasetId, document } = input;
10
+ await ensureNarrixCatalogBundle();
9
11
  const hints = resolveDatasetIngestHints(datasetId);
10
12
  const { ingest, runner } = await getNarrixClient();
11
13
  const ingestRes = ingest.toCni({
@@ -28,7 +30,7 @@ export async function runNarrixForDocs(input) {
28
30
  meta: { datasetId, packId: hints.packId, entityKind: hints.recordType },
29
31
  };
30
32
  }
31
- const runRes = await dispatchNarrixRunner(runner, datasetId, ingestRes.cni, { questionId: input.questionId, narrativeTypeId: input.narrativeTypeId }, { sourceMeta: {} });
33
+ const runRes = await dispatchNarrixRunner(runner, datasetId, ingestRes.cni, { questionId: input.questionId ?? hints.questionId, narrativeTypeId: input.narrativeTypeId }, { sourceMeta: {} });
32
34
  return {
33
35
  ok: true,
34
36
  entity: runRes.entity,
@@ -1 +1 @@
1
- {"version":3,"file":"runNarrixForDocs.js","sourceRoot":"","sources":["../../src/narrix/runNarrixForDocs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,SAAS,aAAa,CACpB,GAAwE;IAExE,OAAO,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAyB;IAEzB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACtC,MAAM,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;IAEnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,UAAU,EAAE;gBACV,IAAI,EAAE,KAAK;gBACX,SAAS;aACV;SACF;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;SACxE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,MAAM,EACN,SAAS,EACT,SAAS,CAAC,GAAG,EACb,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,EACxE,EAAE,UAAU,EAAE,EAAE,EAAE,CACnB,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,IAAI,EAAE;YACJ,SAAS;YACT,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;YACpC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YACxB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;YAClC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;YACpC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;SACrC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runNarrixForDocs.js","sourceRoot":"","sources":["../../src/narrix/runNarrixForDocs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,SAAS,aAAa,CACpB,GAAwE;IAExE,OAAO,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAyB;IAEzB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACtC,MAAM,yBAAyB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;IAEnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,UAAU,EAAE;gBACV,IAAI,EAAE,KAAK;gBACX,SAAS;aACV;SACF;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;SACxE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,MAAM,EACN,SAAS,EACT,SAAS,CAAC,GAAG,EACb,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,EAC5F,EAAE,UAAU,EAAE,EAAE,EAAE,CACnB,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,IAAI,EAAE;YACJ,SAAS;YACT,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;YACpC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YACxB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;YAClC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;YACpC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;SACrC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runNarrixForRecord.d.ts","sourceRoot":"","sources":["../../src/narrix/runNarrixForRecord.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQxE,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAiD1B"}
1
+ {"version":3,"file":"runNarrixForRecord.d.ts","sourceRoot":"","sources":["../../src/narrix/runNarrixForRecord.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQxE,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAkD1B"}
@@ -1,11 +1,13 @@
1
1
  import { getNarrixClient } from "./narrixClient.js";
2
2
  import { resolveDatasetIngestHints } from "./seedBundleRouting.js";
3
+ import { ensureNarrixCatalogBundle } from "./narrixCatalogBundleLoader.js";
3
4
  import { dispatchNarrixRunner } from "./runnerDispatch.js";
4
5
  function isIngestError(res) {
5
6
  return "error" in res && res.error === true;
6
7
  }
7
8
  export async function runNarrixForRecord(input) {
8
9
  const { datasetId, record } = input;
10
+ await ensureNarrixCatalogBundle();
9
11
  const hints = resolveDatasetIngestHints(datasetId);
10
12
  const recordType = input.recordType ?? hints.recordType;
11
13
  const { ingest, runner } = await getNarrixClient();
@@ -25,7 +27,7 @@ export async function runNarrixForRecord(input) {
25
27
  meta: { datasetId, packId: hints.packId, entityKind: recordType },
26
28
  };
27
29
  }
28
- const runRes = await dispatchNarrixRunner(runner, datasetId, ingestRes.cni, { questionId: input.questionId, narrativeTypeId: input.narrativeTypeId }, { sourceMeta: input.sourceMeta ?? {} });
30
+ const runRes = await dispatchNarrixRunner(runner, datasetId, ingestRes.cni, { questionId: input.questionId ?? hints.questionId, narrativeTypeId: input.narrativeTypeId }, { sourceMeta: input.sourceMeta ?? {} });
29
31
  return {
30
32
  ok: true,
31
33
  entity: runRes.entity,
@@ -1 +1 @@
1
- {"version":3,"file":"runNarrixForRecord.js","sourceRoot":"","sources":["../../src/narrix/runNarrixForRecord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,SAAS,aAAa,CACpB,GAAwE;IAExE,OAAO,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA2B;IAE3B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;IACxD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;IAEnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE;YACL,MAAM;YACN,UAAU;YACV,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;SAClE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,MAAM,EACN,SAAS,EACT,SAAS,CAAC,GAAG,EACb,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,EACxE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,CACvC,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,IAAI,EAAE;YACJ,SAAS;YACT,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;YACpC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YACxB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;YAClC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;YACpC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;SACrC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runNarrixForRecord.js","sourceRoot":"","sources":["../../src/narrix/runNarrixForRecord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,SAAS,aAAa,CACpB,GAAwE;IAExE,OAAO,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA2B;IAE3B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,yBAAyB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;IACxD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;IAEnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE;YACL,MAAM;YACN,UAAU;YACV,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;SAClE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,MAAM,EACN,SAAS,EACT,SAAS,CAAC,GAAG,EACb,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,EAC5F,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE,CACvC,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,IAAI,EAAE;YACJ,SAAS;YACT,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;YACpC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YACxB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;YAClC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;YACpC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;SACrC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runNarrixForText.d.ts","sourceRoot":"","sources":["../../src/narrix/runNarrixForText.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQtE,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,eAAe,CAAC,CAmD1B"}
1
+ {"version":3,"file":"runNarrixForText.d.ts","sourceRoot":"","sources":["../../src/narrix/runNarrixForText.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQtE,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,eAAe,CAAC,CAoD1B"}
@@ -1,11 +1,13 @@
1
1
  import { getNarrixClient } from "./narrixClient.js";
2
2
  import { resolveDatasetIngestHints } from "./seedBundleRouting.js";
3
+ import { ensureNarrixCatalogBundle } from "./narrixCatalogBundleLoader.js";
3
4
  import { dispatchNarrixRunner } from "./runnerDispatch.js";
4
5
  function isIngestError(res) {
5
6
  return "error" in res && res.error === true;
6
7
  }
7
8
  export async function runNarrixForText(input) {
8
9
  const { datasetId, text, meta } = input;
10
+ await ensureNarrixCatalogBundle();
9
11
  const hints = resolveDatasetIngestHints(datasetId);
10
12
  const { ingest, runner } = await getNarrixClient();
11
13
  const ingestRes = ingest.toCni({
@@ -27,7 +29,7 @@ export async function runNarrixForText(input) {
27
29
  meta: { datasetId, packId: hints.packId, entityKind: hints.recordType },
28
30
  };
29
31
  }
30
- const runRes = await dispatchNarrixRunner(runner, datasetId, ingestRes.cni, { questionId: input.questionId, narrativeTypeId: input.narrativeTypeId }, { sourceMeta: {} });
32
+ const runRes = await dispatchNarrixRunner(runner, datasetId, ingestRes.cni, { questionId: input.questionId ?? hints.questionId, narrativeTypeId: input.narrativeTypeId }, { sourceMeta: {} });
31
33
  return {
32
34
  ok: true,
33
35
  entity: runRes.entity,
@@ -1 +1 @@
1
- {"version":3,"file":"runNarrixForText.js","sourceRoot":"","sources":["../../src/narrix/runNarrixForText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,SAAS,aAAa,CACpB,GAAwE;IAExE,OAAO,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAyB;IAEzB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACxC,MAAM,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;IAEnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,IAAI;YACJ,UAAU,EAAE;gBACV,IAAI,EAAE,MAAM;gBACZ,SAAS;aACV;YACD,IAAI;SACL;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;SACxE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,MAAM,EACN,SAAS,EACT,SAAS,CAAC,GAAG,EACb,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,EACxE,EAAE,UAAU,EAAE,EAAE,EAAE,CACnB,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,IAAI,EAAE;YACJ,SAAS;YACT,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;YACpC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YACxB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;YAClC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;YACpC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;SACrC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runNarrixForText.js","sourceRoot":"","sources":["../../src/narrix/runNarrixForText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,SAAS,aAAa,CACpB,GAAwE;IAExE,OAAO,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAyB;IAEzB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACxC,MAAM,yBAAyB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;IAEnD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,IAAI;YACJ,UAAU,EAAE;gBACV,IAAI,EAAE,MAAM;gBACZ,SAAS;aACV;YACD,IAAI;SACL;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,SAAS,CAAC,IAAI;YACrB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;SACxE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,MAAM,EACN,SAAS,EACT,SAAS,CAAC,GAAG,EACb,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,EAC5F,EAAE,UAAU,EAAE,EAAE,EAAE,CACnB,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,IAAI,EAAE;YACJ,SAAS;YACT,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;YACpC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YACxB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU;YAClC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;YACpC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW;SACrC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runnerDispatch.d.ts","sourceRoot":"","sources":["../../src/narrix/runnerDispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAIvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,YAAY,CAAC,CAevB"}
1
+ {"version":3,"file":"runnerDispatch.d.ts","sourceRoot":"","sources":["../../src/narrix/runnerDispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAIvE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,YAAY,CAAC,CAgBvB"}
@@ -1,5 +1,5 @@
1
1
  import { getNarrixRunnerModule } from "./narrixRunnerModule.js";
2
- import { getNarrixCatalogBundle, pickQuestionIdForDataset } from "./seedBundleRouting.js";
2
+ import { ensureNarrixCatalogBundle, getNarrixCatalogBundle, pickQuestionIdForDataset } from "./seedBundleRouting.js";
3
3
  /**
4
4
  * Prefer explicit narrativeTypeId; else questionId; else first catalog question for datasetId.
5
5
  */
@@ -9,6 +9,7 @@ export async function dispatchNarrixRunner(runner, datasetId, cni, routing, runO
9
9
  if (routing.narrativeTypeId && !routing.questionId) {
10
10
  return runner.runByNarrative(routing.narrativeTypeId, cni, opts);
11
11
  }
12
+ await ensureNarrixCatalogBundle();
12
13
  const bundle = getNarrixCatalogBundle();
13
14
  const qid = routing.questionId ?? pickQuestionIdForDataset(datasetId, bundle);
14
15
  if (!qid) {
@@ -1 +1 @@
1
- {"version":3,"file":"runnerDispatch.js","sourceRoot":"","sources":["../../src/narrix/runnerDispatch.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAO1F;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAoB,EACpB,SAAiB,EACjB,GAAW,EACX,OAA2B,EAC3B,OAAoB;IAEpB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9E,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,WAAW,CACnB,uBAAuB,EACvB,gDAAgD,SAAS,wCAAwC,CAClG,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"runnerDispatch.js","sourceRoot":"","sources":["../../src/narrix/runnerDispatch.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAOrH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAoB,EACpB,SAAiB,EACjB,GAAW,EACX,OAA2B,EAC3B,OAAoB;IAEpB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACnD,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,yBAAyB,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;IACxC,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9E,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,WAAW,CACnB,uBAAuB,EACvB,gDAAgD,SAAS,wCAAwC,CAClG,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,13 +1,23 @@
1
1
  import type { CataloxSeedBundle } from "@exellix/narrix-catalox";
2
- import type { RoleMap } from "@exellix/narrix-adapters-core";
3
- export declare function getNarrixCatalogBundle(): CataloxSeedBundle;
2
+ export { ensureNarrixCatalogBundle, getNarrixCatalogBundleSync as getNarrixCatalogBundle, isNarrixCatalogSourceAvailable, narrixArchivePresent, resetNarrixCatalogBundleCache, } from "./narrixCatalogBundleLoader.js";
3
+ export { narrixCataloxCredentialsReady, resolveNarrixCataloxAppId } from "./narrixCatalogCredentials.js";
4
+ export { loadNarrixBundleFromCatalox } from "./loadNarrixBundleFromCatalox.js";
4
5
  /**
5
6
  * First question id (lexicographic) that the catalog marks as supported for this datasetId.
7
+ * Also checks processor `route.datasetIds` aliases (e.g. `runtime-db.*` → `network.vuln.instances`).
6
8
  */
7
9
  export declare function pickQuestionIdForDataset(datasetId: string, bundle?: CataloxSeedBundle): string | undefined;
10
+ /**
11
+ * Dataset ids that have both a processor and a catalog question mapping (runnable end-to-end).
12
+ */
13
+ export declare function listRunnableNarrixDatasetIds(bundle?: CataloxSeedBundle): string[];
14
+ export declare function pickRunnableNarrixDataset(preferredDatasetIds?: string[], bundle?: CataloxSeedBundle): {
15
+ datasetId: string;
16
+ questionId: string;
17
+ };
8
18
  export type DatasetIngestHints = {
9
19
  recordType: string;
10
- roleMap?: RoleMap;
20
+ roleMap?: import("@exellix/narrix-adapters-core").RoleMap;
11
21
  packId: string;
12
22
  questionId?: string;
13
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"seedBundleRouting.d.ts","sourceRoot":"","sources":["../../src/narrix/seedBundleRouting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AASjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAI7D,wBAAgB,sBAAsB,IAAI,iBAAiB,CAK1D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,iBAA4C,GACnD,MAAM,GAAG,SAAS,CAYpB;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,iBAA4C,GACnD,kBAAkB,CAgBpB"}
1
+ {"version":3,"file":"seedBundleRouting.d.ts","sourceRoot":"","sources":["../../src/narrix/seedBundleRouting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAYjE,OAAO,EACL,yBAAyB,EACzB,0BAA0B,IAAI,sBAAsB,EACpD,8BAA8B,EAC9B,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAsB/E;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,iBAAgD,GACvD,MAAM,GAAG,SAAS,CAkBpB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,GAAE,iBAAgD,GACvD,MAAM,EAAE,CASV;AAED,wBAAgB,yBAAyB,CACvC,mBAAmB,GAAE,MAAM,EAAO,EAClC,MAAM,GAAE,iBAAgD,GACvD;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAc3C;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,+BAA+B,EAAE,OAAO,CAAC;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,iBAAgD,GACvD,kBAAkB,CAgBpB"}
@@ -1,16 +1,13 @@
1
- import { getSeedBundle, narrixArchiveManifest, findProcessorByDatasetId, getRecordSchemaByDatasetId, } from "@exellix/narrix-catalox";
1
+ import { findProcessorByDatasetId, getRecordSchemaByDatasetId, } from "@exellix/narrix-catalox";
2
2
  import { schemaToRoleMap } from "@exellix/narrix-adapter-records";
3
- let cachedBundle = null;
4
- export function getNarrixCatalogBundle() {
5
- if (!cachedBundle) {
6
- cachedBundle = getSeedBundle(narrixArchiveManifest());
7
- }
8
- return cachedBundle;
9
- }
3
+ import { getNarrixCatalogBundleSync, } from "./narrixCatalogBundleLoader.js";
4
+ export { ensureNarrixCatalogBundle, getNarrixCatalogBundleSync as getNarrixCatalogBundle, isNarrixCatalogSourceAvailable, narrixArchivePresent, resetNarrixCatalogBundleCache, } from "./narrixCatalogBundleLoader.js";
5
+ export { narrixCataloxCredentialsReady, resolveNarrixCataloxAppId } from "./narrixCatalogCredentials.js";
6
+ export { loadNarrixBundleFromCatalox } from "./loadNarrixBundleFromCatalox.js";
10
7
  /**
11
- * First question id (lexicographic) that the catalog marks as supported for this datasetId.
8
+ * First question id (lexicographic) for an exact datasetId key in use-case capabilities.
12
9
  */
13
- export function pickQuestionIdForDataset(datasetId, bundle = getNarrixCatalogBundle()) {
10
+ function pickQuestionIdForExactDatasetId(datasetId, bundle) {
14
11
  const hits = [];
15
12
  for (const uc of bundle.catalogs.useCases) {
16
13
  const caps = uc.datasetCapabilities;
@@ -26,7 +23,60 @@ export function pickQuestionIdForDataset(datasetId, bundle = getNarrixCatalogBun
26
23
  return undefined;
27
24
  return [...new Set(hits)].sort((a, b) => a.localeCompare(b))[0];
28
25
  }
29
- export function resolveDatasetIngestHints(datasetId, bundle = getNarrixCatalogBundle()) {
26
+ /**
27
+ * First question id (lexicographic) that the catalog marks as supported for this datasetId.
28
+ * Also checks processor `route.datasetIds` aliases (e.g. `runtime-db.*` → `network.vuln.instances`).
29
+ */
30
+ export function pickQuestionIdForDataset(datasetId, bundle = getNarrixCatalogBundleSync()) {
31
+ const candidateIds = new Set([datasetId]);
32
+ const proc = findProcessorByDatasetId(datasetId, bundle);
33
+ const route = proc?.route;
34
+ const routeIds = route?.datasetIds;
35
+ if (Array.isArray(routeIds)) {
36
+ for (const id of routeIds) {
37
+ if (typeof id === "string" && id.trim())
38
+ candidateIds.add(id);
39
+ }
40
+ }
41
+ const hits = [];
42
+ for (const id of candidateIds) {
43
+ const qid = pickQuestionIdForExactDatasetId(id, bundle);
44
+ if (qid)
45
+ hits.push(qid);
46
+ }
47
+ if (hits.length === 0)
48
+ return undefined;
49
+ return [...new Set(hits)].sort((a, b) => a.localeCompare(b))[0];
50
+ }
51
+ /**
52
+ * Dataset ids that have both a processor and a catalog question mapping (runnable end-to-end).
53
+ */
54
+ export function listRunnableNarrixDatasetIds(bundle = getNarrixCatalogBundleSync()) {
55
+ const ids = [];
56
+ for (const rp of bundle.catalogs.recordProperties) {
57
+ const datasetId = rp.datasetId;
58
+ if (!findProcessorByDatasetId(datasetId, bundle))
59
+ continue;
60
+ if (!pickQuestionIdForDataset(datasetId, bundle))
61
+ continue;
62
+ ids.push(datasetId);
63
+ }
64
+ return [...new Set(ids)].sort((a, b) => a.localeCompare(b));
65
+ }
66
+ export function pickRunnableNarrixDataset(preferredDatasetIds = [], bundle = getNarrixCatalogBundleSync()) {
67
+ const runnable = listRunnableNarrixDatasetIds(bundle);
68
+ if (runnable.length === 0) {
69
+ throw new Error("No runnable Narrix datasets in loaded catalog (need record-properties + processor + use-case question). " +
70
+ "Seed `@exellix/narrix-catalox` into CATALOX_APP_ID or populate `.archive/packages`.");
71
+ }
72
+ const datasetId = preferredDatasetIds.find((id) => runnable.includes(id)) ?? runnable[0];
73
+ const questionId = pickQuestionIdForDataset(datasetId, bundle);
74
+ if (!questionId) {
75
+ throw new Error(`Narrix: internal error — dataset "${datasetId}" listed as runnable but has no questionId`);
76
+ }
77
+ return { datasetId, questionId };
78
+ }
79
+ export function resolveDatasetIngestHints(datasetId, bundle = getNarrixCatalogBundleSync()) {
30
80
  const proc = findProcessorByDatasetId(datasetId, bundle);
31
81
  if (!proc) {
32
82
  throw new Error(`Narrix: no processor for datasetId "${datasetId}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"seedBundleRouting.js","sourceRoot":"","sources":["../../src/narrix/seedBundleRouting.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,IAAI,YAAY,GAA6B,IAAI,CAAC;AAElD,MAAM,UAAU,sBAAsB;IACpC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,aAAa,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,SAA4B,sBAAsB,EAAE;IAEpD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YACxE,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AASD,MAAM,UAAU,yBAAyB,CACvC,SAAiB,EACjB,SAA4B,sBAAsB,EAAE;IAEpD,MAAM,IAAI,GAAG,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,GAAG,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,eAAe,CAAC,MAA6C,CAAC;QAChE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO;QACP,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,MAAM,CAAC,UAAU;QACxC,UAAU,EAAE,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC;KACxD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"seedBundleRouting.js","sourceRoot":"","sources":["../../src/narrix/seedBundleRouting.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAEL,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,yBAAyB,EACzB,0BAA0B,IAAI,sBAAsB,EACpD,8BAA8B,EAC9B,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACzG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E;;GAEG;AACH,SAAS,+BAA+B,CACtC,SAAiB,EACjB,MAAyB;IAEzB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAAiB,EACjB,SAA4B,0BAA0B,EAAE;IAExD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,EAAE,KAA8C,CAAC;IACnE,MAAM,QAAQ,GAAG,KAAK,EAAE,UAAU,CAAC;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE;gBAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,+BAA+B,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,SAA4B,0BAA0B,EAAE;IAExD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC;YAAE,SAAS;QAC3D,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC;YAAE,SAAS;QAC3D,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,sBAAgC,EAAE,EAClC,SAA4B,0BAA0B,EAAE;IAExD,MAAM,QAAQ,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,0GAA0G;YACxG,qFAAqF,CACxF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC;IAC1F,MAAM,UAAU,GAAG,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,qCAAqC,SAAS,4CAA4C,CAAC,CAAC;IAC9G,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnC,CAAC;AASD,MAAM,UAAU,yBAAyB,CACvC,SAAiB,EACjB,SAA4B,0BAA0B,EAAE;IAExD,MAAM,IAAI,GAAG,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,GAAG,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,eAAe,CAAC,MAA6C,CAAC;QAChE,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO;QACP,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,MAAM,CAAC,UAAU;QACxC,UAAU,EAAE,wBAAwB,CAAC,SAAS,EAAE,MAAM,CAAC;KACxD,CAAC;AACJ,CAAC"}
@@ -30,6 +30,11 @@ export interface InputSynthesisAuthoring {
30
30
  }
31
31
  export interface AiTaskProfileAuthoring {
32
32
  inputSynthesis?: InputSynthesisAuthoring;
33
+ /**
34
+ * Tavily/scoper retrieval options. Compiled to `request.narrix.webScoping` when unset there
35
+ * and a NARRIX preprocessor config exists (`request.narrix` or `taskConfiguration.narrix`).
36
+ * Prefer `taskConfiguration.narrix.webScoping` when both Narrix and scoping live on the same node.
37
+ */
33
38
  webScoping?: Record<string, unknown>;
34
39
  preStrategyKey?: string;
35
40
  postStrategyKey?: string;
@@ -46,6 +51,7 @@ export interface TaskConfigurationAuthoring {
46
51
  modelConfig?: ModelConfig;
47
52
  llmCall?: LlmCallConfig;
48
53
  timeoutMs?: number;
54
+ /** Lifted to `request.narrix` at compile; existing `request.narrix` fields take precedence. */
49
55
  narrix?: Record<string, unknown>;
50
56
  executionStrategies?: import("./task-types.js").ExecutionStrategyInvocation[];
51
57
  [key: string]: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"task-configuration.d.ts","sourceRoot":"","sources":["../../src/types/task-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpE,0GAA0G;AAC1G,eAAO,MAAM,4BAA4B,EAAG,WAAoB,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,oGAAoG;IACpG,gBAAgB,CAAC,EAAE,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iCAAiC,CAAC,EAAE,OAAO,CAAC;CAC7C;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,yHAAyH;IACzH,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC;IACpC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,iBAAiB,EAAE,2BAA2B,EAAE,CAAC;IAC9E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,OAAO,iBAAiB,EAAE,cAAc,CAAC;IAClD,0FAA0F;IAC1F,mBAAmB,EAAE,OAAO,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"task-configuration.d.ts","sourceRoot":"","sources":["../../src/types/task-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpE,0GAA0G;AAC1G,eAAO,MAAM,4BAA4B,EAAG,WAAoB,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,oGAAoG;IACpG,gBAAgB,CAAC,EAAE,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iCAAiC,CAAC,EAAE,OAAO,CAAC;CAC7C;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;IAC7C,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,yHAAyH;IACzH,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC;IACpC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,iBAAiB,EAAE,2BAA2B,EAAE,CAAC;IAC9E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,OAAO,iBAAiB,EAAE,cAAc,CAAC;IAClD,0FAA0F;IAC1F,mBAAmB,EAAE,OAAO,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exellix/ai-tasks",
3
- "version": "7.8.1",
3
+ "version": "7.8.2",
4
4
  "description": "Task orchestration for the Exellix stack: runTask() with local handlers or LLM-backed execution, task-scoped memory/context enrichment, and executor dispatch via @exellix/ai-skills. ERC-compliant.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -28,6 +28,7 @@
28
28
  "test:with-narrix-ingest": "node scripts/run-npm-test-with-narrix-ingest.mjs",
29
29
  "test:e2e:intermediateSteps": "node scripts/run-with-env.mjs RUN_INTERMEDIATE_STEPS_E2E=1 npm run test",
30
30
  "test:e2e:synthesis": "node scripts/run-synthesis-e2e.mjs",
31
+ "test:e2e:webScope": "node scripts/run-web-scope-e2e.mjs",
31
32
  "test:narrix:live": "node scripts/check-narrix-archive.mjs && node scripts/run-npm-test-with-narrix-ingest.mjs",
32
33
  "local:narrix:subnets": "node dist/localTasks/narrixSubnetPlayground.js",
33
34
  "local:narrix:assets": "node dist/localTasks/narrixAssetPlayground.js",