@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.
- package/dist/compile/compileTaskConfiguration.d.ts +3 -1
- package/dist/compile/compileTaskConfiguration.d.ts.map +1 -1
- package/dist/compile/compileTaskConfiguration.js +41 -5
- package/dist/compile/compileTaskConfiguration.js.map +1 -1
- package/dist/narrix/bundleToNarrixPack.d.ts +8 -0
- package/dist/narrix/bundleToNarrixPack.d.ts.map +1 -0
- package/dist/narrix/bundleToNarrixPack.js +60 -0
- package/dist/narrix/bundleToNarrixPack.js.map +1 -0
- package/dist/narrix/createNarrixRunnerFromBundle.d.ts +8 -0
- package/dist/narrix/createNarrixRunnerFromBundle.d.ts.map +1 -0
- package/dist/narrix/createNarrixRunnerFromBundle.js +17 -0
- package/dist/narrix/createNarrixRunnerFromBundle.js.map +1 -0
- package/dist/narrix/index.d.ts +1 -1
- package/dist/narrix/index.d.ts.map +1 -1
- package/dist/narrix/index.js +1 -1
- package/dist/narrix/index.js.map +1 -1
- package/dist/narrix/loadNarrixBundleFromCatalox.d.ts +8 -0
- package/dist/narrix/loadNarrixBundleFromCatalox.d.ts.map +1 -0
- package/dist/narrix/loadNarrixBundleFromCatalox.js +73 -0
- package/dist/narrix/loadNarrixBundleFromCatalox.js.map +1 -0
- package/dist/narrix/narrixCatalogBundleLoader.d.ts +15 -0
- package/dist/narrix/narrixCatalogBundleLoader.d.ts.map +1 -0
- package/dist/narrix/narrixCatalogBundleLoader.js +67 -0
- package/dist/narrix/narrixCatalogBundleLoader.js.map +1 -0
- package/dist/narrix/narrixCatalogCredentials.d.ts +8 -0
- package/dist/narrix/narrixCatalogCredentials.d.ts.map +1 -0
- package/dist/narrix/narrixCatalogCredentials.js +20 -0
- package/dist/narrix/narrixCatalogCredentials.js.map +1 -0
- package/dist/narrix/narrixClient.d.ts.map +1 -1
- package/dist/narrix/narrixClient.js +4 -3
- package/dist/narrix/narrixClient.js.map +1 -1
- package/dist/narrix/runNarrixForChat.d.ts.map +1 -1
- package/dist/narrix/runNarrixForChat.js +3 -1
- package/dist/narrix/runNarrixForChat.js.map +1 -1
- package/dist/narrix/runNarrixForDocs.d.ts.map +1 -1
- package/dist/narrix/runNarrixForDocs.js +3 -1
- package/dist/narrix/runNarrixForDocs.js.map +1 -1
- package/dist/narrix/runNarrixForRecord.d.ts.map +1 -1
- package/dist/narrix/runNarrixForRecord.js +3 -1
- package/dist/narrix/runNarrixForRecord.js.map +1 -1
- package/dist/narrix/runNarrixForText.d.ts.map +1 -1
- package/dist/narrix/runNarrixForText.js +3 -1
- package/dist/narrix/runNarrixForText.js.map +1 -1
- package/dist/narrix/runnerDispatch.d.ts.map +1 -1
- package/dist/narrix/runnerDispatch.js +2 -1
- package/dist/narrix/runnerDispatch.js.map +1 -1
- package/dist/narrix/seedBundleRouting.d.ts +13 -3
- package/dist/narrix/seedBundleRouting.d.ts.map +1 -1
- package/dist/narrix/seedBundleRouting.js +61 -11
- package/dist/narrix/seedBundleRouting.js.map +1 -1
- package/dist/types/task-configuration.d.ts +6 -0
- package/dist/types/task-configuration.d.ts.map +1 -1
- 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`,
|
|
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,
|
|
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`,
|
|
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(
|
|
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 =
|
|
192
|
+
let includeContextInPrompt = requestWithNarrix.includeContextInPrompt;
|
|
157
193
|
let preSynthesisEnabled = alreadyHasSynthPre;
|
|
158
194
|
if (wantsPre && !alreadyHasSynthPre) {
|
|
159
|
-
const synthesisConfig = buildSynthesisConfigFromAuthoring(taskConfiguration,
|
|
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 } =
|
|
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":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAE7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EACL,4BAA4B,GAM7B,MAAM,gCAAgC,CAAC;
|
|
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"}
|
package/dist/narrix/index.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/narrix/index.js
CHANGED
|
@@ -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
|
package/dist/narrix/index.js.map
CHANGED
|
@@ -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,
|
|
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":"
|
|
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 {
|
|
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
|
|
31
|
-
const runner = await
|
|
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,
|
|
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":"
|
|
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,
|
|
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":"
|
|
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,
|
|
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":"
|
|
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,
|
|
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":"
|
|
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,
|
|
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,
|
|
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;
|
|
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
|
-
|
|
3
|
-
export
|
|
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;
|
|
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 {
|
|
1
|
+
import { findProcessorByDatasetId, getRecordSchemaByDatasetId, } from "@exellix/narrix-catalox";
|
|
2
2
|
import { schemaToRoleMap } from "@exellix/narrix-adapter-records";
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
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)
|
|
8
|
+
* First question id (lexicographic) for an exact datasetId key in use-case capabilities.
|
|
12
9
|
*/
|
|
13
|
-
|
|
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
|
-
|
|
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,
|
|
1
|
+
{"version":3,"file":"seedBundleRouting.js","sourceRoot":"","sources":["../../src/narrix/seedBundleRouting.ts"],"names":[],"mappings":"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"}
|
|
@@ -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.
|
|
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",
|