@exellix/ai-tasks 10.0.9 → 10.0.11
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/CHANGELOG.md +25 -0
- package/README.md +32 -35
- package/RUNTASK_REQUEST.md +4 -4
- package/dist/activix/phaseTracking.d.ts +1 -1
- package/dist/activix/phaseTracking.d.ts.map +1 -1
- package/dist/activix/phaseTracking.js.map +1 -1
- package/dist/builders/task-request-builder.d.ts +1 -54
- package/dist/builders/task-request-builder.d.ts.map +1 -1
- package/dist/builders/task-request-builder.js +1 -180
- package/dist/builders/task-request-builder.js.map +1 -1
- package/dist/core/task-sdk.d.ts +4 -10
- package/dist/core/task-sdk.d.ts.map +1 -1
- package/dist/core/task-sdk.js +35 -117
- package/dist/core/task-sdk.js.map +1 -1
- package/dist/errors/runTaskExecutionError.d.ts +1 -1
- package/dist/errors/runTaskExecutionError.d.ts.map +1 -1
- package/dist/errors/runTaskExecutionError.js +0 -2
- package/dist/errors/runTaskExecutionError.js.map +1 -1
- package/dist/errors/smartInputValidationError.d.ts +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/internal/resolveRunTaskRuntimeKnobs.d.ts +2 -5
- package/dist/internal/resolveRunTaskRuntimeKnobs.d.ts.map +1 -1
- package/dist/internal/resolveRunTaskRuntimeKnobs.js +3 -36
- package/dist/internal/resolveRunTaskRuntimeKnobs.js.map +1 -1
- package/dist/localTasks/collectEvidence.d.ts.map +1 -1
- package/dist/localTasks/collectEvidence.js +13 -23
- package/dist/localTasks/collectEvidence.js.map +1 -1
- package/dist/localTasks/decideWebScope.js +1 -1
- package/dist/localTasks/decideWebScope.js.map +1 -1
- package/dist/localTasks/index.d.ts +0 -1
- package/dist/localTasks/index.d.ts.map +1 -1
- package/dist/localTasks/index.js +2 -4
- package/dist/localTasks/index.js.map +1 -1
- package/dist/localTasks/playgroundSeedMain.d.ts +4 -0
- package/dist/localTasks/playgroundSeedMain.d.ts.map +1 -0
- package/dist/localTasks/playgroundSeedMain.js +26 -0
- package/dist/localTasks/playgroundSeedMain.js.map +1 -0
- package/dist/logxer/aiTasksDiagnosticCodes.d.ts +1 -1
- package/dist/logxer/aiTasksDiagnosticCodes.js +1 -1
- package/dist/logxer/aiTasksDiagnosticCodes.js.map +1 -1
- package/dist/narrix/narrixUnitExecution.d.ts.map +1 -1
- package/dist/narrix/narrixUnitExecution.js +1 -6
- package/dist/narrix/narrixUnitExecution.js.map +1 -1
- package/dist/narrix/webContextMarkdown.d.ts +2 -25
- package/dist/narrix/webContextMarkdown.d.ts.map +1 -1
- package/dist/narrix/webContextMarkdown.js +33 -57
- package/dist/narrix/webContextMarkdown.js.map +1 -1
- package/dist/node-execution/buildRequestFromNodePlan.d.ts.map +1 -1
- package/dist/node-execution/buildRequestFromNodePlan.js +0 -12
- package/dist/node-execution/buildRequestFromNodePlan.js.map +1 -1
- package/dist/node-execution/createNodeExecutionHost.d.ts.map +1 -1
- package/dist/node-execution/createNodeExecutionHost.js +1 -26
- package/dist/node-execution/createNodeExecutionHost.js.map +1 -1
- package/dist/node-execution/dispatchExecutionUnit.d.ts.map +1 -1
- package/dist/node-execution/dispatchExecutionUnit.js +0 -15
- package/dist/node-execution/dispatchExecutionUnit.js.map +1 -1
- package/dist/node-execution/executeNodeFromPlan.d.ts.map +1 -1
- package/dist/node-execution/executeNodeFromPlan.js +0 -15
- package/dist/node-execution/executeNodeFromPlan.js.map +1 -1
- package/dist/node-execution/executePlaygroundElement.d.ts +23 -0
- package/dist/node-execution/executePlaygroundElement.d.ts.map +1 -0
- package/dist/node-execution/executePlaygroundElement.js +80 -0
- package/dist/node-execution/executePlaygroundElement.js.map +1 -0
- package/dist/node-execution/index.d.ts +2 -0
- package/dist/node-execution/index.d.ts.map +1 -1
- package/dist/node-execution/index.js +1 -0
- package/dist/node-execution/index.js.map +1 -1
- package/dist/node-execution/types.d.ts +0 -2
- package/dist/node-execution/types.d.ts.map +1 -1
- package/dist/observability/classifyRunTaskFailure.d.ts +1 -1
- package/dist/observability/classifyRunTaskFailure.d.ts.map +1 -1
- package/dist/observability/classifyRunTaskFailure.js +0 -3
- package/dist/observability/classifyRunTaskFailure.js.map +1 -1
- package/dist/observability/extractAiTasksObservability.d.ts.map +1 -1
- package/dist/observability/extractAiTasksObservability.js +0 -8
- package/dist/observability/extractAiTasksObservability.js.map +1 -1
- package/dist/planWebScopeQuestions/index.d.ts +1 -1
- package/dist/planWebScopeQuestions/index.js +1 -1
- package/dist/rendrixUpstreamExports.d.ts +1 -1
- package/dist/rendrixUpstreamExports.d.ts.map +1 -1
- package/dist/rendrixUpstreamExports.js +1 -1
- package/dist/rendrixUpstreamExports.js.map +1 -1
- package/dist/synthesis/index.d.ts +1 -1
- package/dist/synthesis/index.js +1 -1
- package/dist/synthesis/resolveSourceMaterial.d.ts +3 -7
- package/dist/synthesis/resolveSourceMaterial.d.ts.map +1 -1
- package/dist/synthesis/resolveSourceMaterial.js +15 -78
- package/dist/synthesis/resolveSourceMaterial.js.map +1 -1
- package/dist/task-strategies/buildTaskStrategyCatalogDescriptor.d.ts +0 -1
- package/dist/task-strategies/buildTaskStrategyCatalogDescriptor.d.ts.map +1 -1
- package/dist/task-strategies/buildTaskStrategyCatalogDescriptor.js +1 -9
- package/dist/task-strategies/buildTaskStrategyCatalogDescriptor.js.map +1 -1
- package/dist/task-strategies/canonicalInputExecutionStrategies.d.ts +3 -4
- package/dist/task-strategies/canonicalInputExecutionStrategies.d.ts.map +1 -1
- package/dist/task-strategies/canonicalInputExecutionStrategies.js +3 -4
- package/dist/task-strategies/canonicalInputExecutionStrategies.js.map +1 -1
- package/dist/task-strategies/canonicalTaskStrategies.d.ts +2 -2
- package/dist/task-strategies/canonicalTaskStrategies.js +1 -1
- package/dist/task-strategies/canonicalTaskStrategies.js.map +1 -1
- package/dist/task-strategies/cataloxCatalogViews.d.ts +2 -5
- package/dist/task-strategies/cataloxCatalogViews.d.ts.map +1 -1
- package/dist/task-strategies/cataloxCatalogViews.js +3 -6
- package/dist/task-strategies/cataloxCatalogViews.js.map +1 -1
- package/dist/task-strategies/constants.d.ts +0 -4
- package/dist/task-strategies/constants.d.ts.map +1 -1
- package/dist/task-strategies/constants.js +0 -4
- package/dist/task-strategies/constants.js.map +1 -1
- package/dist/task-strategies/index.d.ts +4 -6
- package/dist/task-strategies/index.d.ts.map +1 -1
- package/dist/task-strategies/index.js +4 -5
- package/dist/task-strategies/index.js.map +1 -1
- package/dist/task-strategies/listAiTaskStrategies.d.ts +0 -2
- package/dist/task-strategies/listAiTaskStrategies.d.ts.map +1 -1
- package/dist/task-strategies/listAiTaskStrategies.js +1 -5
- package/dist/task-strategies/listAiTaskStrategies.js.map +1 -1
- package/dist/types/index.d.ts +1 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/task-types.d.ts +9 -133
- package/dist/types/task-types.d.ts.map +1 -1
- package/dist/types/task-types.js +0 -4
- package/dist/types/task-types.js.map +1 -1
- package/dist/types/web-scope-types.d.ts +20 -0
- package/dist/types/web-scope-types.d.ts.map +1 -0
- package/dist/types/web-scope-types.js +2 -0
- package/dist/types/web-scope-types.js.map +1 -0
- package/dist/utils/runTaskRequestShape.d.ts +1 -5
- package/dist/utils/runTaskRequestShape.d.ts.map +1 -1
- package/dist/utils/runTaskRequestShape.js +0 -26
- package/dist/utils/runTaskRequestShape.js.map +1 -1
- package/dist/utils/templateContext.d.ts +16 -0
- package/dist/utils/templateContext.d.ts.map +1 -0
- package/dist/utils/templateContext.js +35 -0
- package/dist/utils/templateContext.js.map +1 -0
- package/dist/validation/helpers.d.ts.map +1 -1
- package/dist/validation/helpers.js +3 -22
- package/dist/validation/helpers.js.map +1 -1
- package/dist/validation/validateRunTaskConfig.d.ts.map +1 -1
- package/dist/validation/validateRunTaskConfig.js +2 -0
- package/dist/validation/validateRunTaskConfig.js.map +1 -1
- package/dist/validation/validateRunTaskInvoke.d.ts.map +1 -1
- package/dist/validation/validateRunTaskInvoke.js +2 -0
- package/dist/validation/validateRunTaskInvoke.js.map +1 -1
- package/dist/validation/validateWebScopeUnit.d.ts +16 -0
- package/dist/validation/validateWebScopeUnit.d.ts.map +1 -0
- package/dist/validation/validateWebScopeUnit.js +107 -0
- package/dist/validation/validateWebScopeUnit.js.map +1 -0
- package/dist/web-scope/applyWebScopeToRequest.d.ts +11 -0
- package/dist/web-scope/applyWebScopeToRequest.d.ts.map +1 -0
- package/dist/web-scope/applyWebScopeToRequest.js +42 -0
- package/dist/web-scope/applyWebScopeToRequest.js.map +1 -0
- package/dist/web-scope/buildSearchInput.d.ts +22 -0
- package/dist/web-scope/buildSearchInput.d.ts.map +1 -0
- package/dist/web-scope/buildSearchInput.js +108 -0
- package/dist/web-scope/buildSearchInput.js.map +1 -0
- package/dist/web-scope/client.d.ts +12 -0
- package/dist/web-scope/client.d.ts.map +1 -0
- package/dist/web-scope/client.js +72 -0
- package/dist/web-scope/client.js.map +1 -0
- package/dist/web-scope/renderWebQueryTemplate.d.ts +14 -0
- package/dist/web-scope/renderWebQueryTemplate.d.ts.map +1 -0
- package/dist/web-scope/renderWebQueryTemplate.js +44 -0
- package/dist/web-scope/renderWebQueryTemplate.js.map +1 -0
- package/dist/web-scope/webContextMarkdown.d.ts +22 -0
- package/dist/web-scope/webContextMarkdown.d.ts.map +1 -0
- package/dist/web-scope/webContextMarkdown.js +163 -0
- package/dist/web-scope/webContextMarkdown.js.map +1 -0
- package/documenations/run-task-execution-flow.md +3 -7
- package/documenations/web-scoping-in-ai-tasks.md +88 -428
- package/package.json +16 -33
- package/dist/narrix/applyWebScopeToRequest.d.ts +0 -9
- package/dist/narrix/applyWebScopeToRequest.d.ts.map +0 -1
- package/dist/narrix/applyWebScopeToRequest.js +0 -156
- package/dist/narrix/applyWebScopeToRequest.js.map +0 -1
- package/dist/narrix/buildWebScopeScopeInput.d.ts +0 -39
- package/dist/narrix/buildWebScopeScopeInput.d.ts.map +0 -1
- package/dist/narrix/buildWebScopeScopeInput.js +0 -193
- package/dist/narrix/buildWebScopeScopeInput.js.map +0 -1
- package/dist/narrix/webScoper.d.ts +0 -43
- package/dist/narrix/webScoper.d.ts.map +0 -1
- package/dist/narrix/webScoper.js +0 -144
- package/dist/narrix/webScoper.js.map +0 -1
- package/documenations/activix.md +0 -187
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateRunTaskConfig.js","sourceRoot":"","sources":["../../src/validation/validateRunTaskConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,SAAS,EACT,qBAAqB,EAErB,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"validateRunTaskConfig.js","sourceRoot":"","sources":["../../src/validation/validateRunTaskConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateRunTaskInvoke.d.ts","sourceRoot":"","sources":["../../src/validation/validateRunTaskInvoke.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"validateRunTaskInvoke.d.ts","sourceRoot":"","sources":["../../src/validation/validateRunTaskInvoke.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,kCAAkC,CAAC;AAK1C,OAAO,KAAK,EAAE,6BAA6B,EAA0B,MAAM,YAAY,CAAC;AAExF,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,cAAc,CAAC;IACxB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,6BAA6B,CAAC,CA4GxC"}
|
|
@@ -3,6 +3,7 @@ import { normalizeSmartInputConfig } from "../utils/normalizeSmartInputConfig.js
|
|
|
3
3
|
import { analyzeExpectedRunTaskInput, checkExpectedInputAgainstRequest, } from "./analyzeExpectedRunTaskInput.js";
|
|
4
4
|
import { collectSmartInputValidationIssues } from "./collectSmartInputValidationIssues.js";
|
|
5
5
|
import { validateRunTaskConfig } from "./validateRunTaskConfig.js";
|
|
6
|
+
import { validateWebScopeUnitResolution } from "./validateWebScopeUnit.js";
|
|
6
7
|
import { buildRunTaskValidationContext, finalizeValidationResult, pushIssue } from "./helpers.js";
|
|
7
8
|
/**
|
|
8
9
|
* Validate **config + payload**: static request shape/model config, then whether expected
|
|
@@ -96,6 +97,7 @@ export async function validateRunTaskInvoke(params) {
|
|
|
96
97
|
message: `Template token path not resolved in request context: ${unparsed}. skillKey: ${request.skillKey}`,
|
|
97
98
|
});
|
|
98
99
|
}
|
|
100
|
+
validateWebScopeUnitResolution(request, issues);
|
|
99
101
|
}
|
|
100
102
|
const finalized = finalizeValidationResult(issues);
|
|
101
103
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateRunTaskInvoke.js","sourceRoot":"","sources":["../../src/validation/validateRunTaskInvoke.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validateRunTaskInvoke.js","sourceRoot":"","sources":["../../src/validation/validateRunTaskInvoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { RunTaskRequest } from "../types/task-types.js";
|
|
2
|
+
import type { RunTaskValidationIssue } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Static config check: every enabled `webScope` unit must declare a non-empty
|
|
5
|
+
* `webQueryTemplate` (single) or `webQueryTemplates` (pack). The rendered template is the
|
|
6
|
+
* only source of the search query — there is no fallback to `input.question`.
|
|
7
|
+
*
|
|
8
|
+
* Legacy graphenix fields on unit params are rejected — they must not appear on compiled plans.
|
|
9
|
+
*/
|
|
10
|
+
export declare function validateWebScopeUnitConfig(request: RunTaskRequest, issues: RunTaskValidationIssue[]): void;
|
|
11
|
+
/**
|
|
12
|
+
* Resolution check: for every enabled `webScope` unit, analyze each configured template against
|
|
13
|
+
* the request context and report unresolved token paths. Run only on the invoke path (resolvePaths).
|
|
14
|
+
*/
|
|
15
|
+
export declare function validateWebScopeUnitResolution(request: RunTaskRequest, issues: RunTaskValidationIssue[]): void;
|
|
16
|
+
//# sourceMappingURL=validateWebScopeUnit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateWebScopeUnit.d.ts","sourceRoot":"","sources":["../../src/validation/validateWebScopeUnit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AA+CzD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,sBAAsB,EAAE,GAC/B,IAAI,CA+BN;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,sBAAsB,EAAE,GAC/B,IAAI,CAuBN"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { buildTemplateContext } from "../utils/templateContext.js";
|
|
2
|
+
import { analyzeTemplateResolution } from "../rendrixUpstreamExports.js";
|
|
3
|
+
import { pushIssue } from "./helpers.js";
|
|
4
|
+
function isRecord(v) {
|
|
5
|
+
return v !== null && typeof v === "object" && !Array.isArray(v);
|
|
6
|
+
}
|
|
7
|
+
function isWebScopeStrategyKey(key) {
|
|
8
|
+
return key === "webScope" || key === "web-scope";
|
|
9
|
+
}
|
|
10
|
+
/** Find every `externalPreUtility` web-scope unit in the node plan. */
|
|
11
|
+
function collectWebScopeUnits(request) {
|
|
12
|
+
const units = request.nodePlan?.executionUnits;
|
|
13
|
+
if (!Array.isArray(units))
|
|
14
|
+
return [];
|
|
15
|
+
return units.filter((u) => {
|
|
16
|
+
if (!isRecord(u))
|
|
17
|
+
return false;
|
|
18
|
+
if (u.unitKind !== "externalPreUtility")
|
|
19
|
+
return false;
|
|
20
|
+
return isWebScopeStrategyKey(u.strategyKey) || isWebScopeStrategyKey(u.actionKey);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
function unitLabel(unit) {
|
|
24
|
+
return typeof unit.unitId === "string" && unit.unitId ? unit.unitId : `webScope#${unit.order ?? 0}`;
|
|
25
|
+
}
|
|
26
|
+
function readTemplates(unitParams) {
|
|
27
|
+
const single = typeof unitParams.webQueryTemplate === "string" && unitParams.webQueryTemplate.trim()
|
|
28
|
+
? unitParams.webQueryTemplate.trim()
|
|
29
|
+
: undefined;
|
|
30
|
+
const pack = Array.isArray(unitParams.webQueryTemplates)
|
|
31
|
+
? unitParams.webQueryTemplates.filter((t) => typeof t === "string" && t.trim().length > 0)
|
|
32
|
+
: [];
|
|
33
|
+
return { single, pack };
|
|
34
|
+
}
|
|
35
|
+
const LEGACY_WEB_SCOPE_UNIT_PARAMS = [
|
|
36
|
+
"webScoping",
|
|
37
|
+
"webScopeOptions",
|
|
38
|
+
"webScopeQuestions",
|
|
39
|
+
"questions",
|
|
40
|
+
"datasetId",
|
|
41
|
+
];
|
|
42
|
+
/**
|
|
43
|
+
* Static config check: every enabled `webScope` unit must declare a non-empty
|
|
44
|
+
* `webQueryTemplate` (single) or `webQueryTemplates` (pack). The rendered template is the
|
|
45
|
+
* only source of the search query — there is no fallback to `input.question`.
|
|
46
|
+
*
|
|
47
|
+
* Legacy graphenix fields on unit params are rejected — they must not appear on compiled plans.
|
|
48
|
+
*/
|
|
49
|
+
export function validateWebScopeUnitConfig(request, issues) {
|
|
50
|
+
const units = collectWebScopeUnits(request);
|
|
51
|
+
for (const unit of units) {
|
|
52
|
+
const unitParams = isRecord(unit.unitParams) ? unit.unitParams : {};
|
|
53
|
+
if (unitParams.enableWebScope === false)
|
|
54
|
+
continue;
|
|
55
|
+
for (const key of LEGACY_WEB_SCOPE_UNIT_PARAMS) {
|
|
56
|
+
if (unitParams[key] !== undefined) {
|
|
57
|
+
pushIssue(issues, {
|
|
58
|
+
code: "LEGACY_WEB_SCOPE_UNIT_PARAMS",
|
|
59
|
+
path: `nodePlan.executionUnits[${unitLabel(unit)}].unitParams.${key}`,
|
|
60
|
+
message: `webScope unit "${unitLabel(unit)}" has legacy field "${key}" on unitParams — ` +
|
|
61
|
+
`use webQueryTemplate (Rendrix string) instead. skillKey: ` +
|
|
62
|
+
String(request.skillKey ?? ""),
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const { single, pack } = readTemplates(unitParams);
|
|
67
|
+
if (!single && pack.length === 0) {
|
|
68
|
+
pushIssue(issues, {
|
|
69
|
+
code: "WEB_QUERY_TEMPLATE_REQUIRED",
|
|
70
|
+
path: `nodePlan.executionUnits[${unitLabel(unit)}].unitParams.webQueryTemplate`,
|
|
71
|
+
message: `webScope unit "${unitLabel(unit)}" requires a non-empty webQueryTemplate ` +
|
|
72
|
+
"(or webQueryTemplates[]) — it is the rendered search query. skillKey: " +
|
|
73
|
+
String(request.skillKey ?? ""),
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Resolution check: for every enabled `webScope` unit, analyze each configured template against
|
|
80
|
+
* the request context and report unresolved token paths. Run only on the invoke path (resolvePaths).
|
|
81
|
+
*/
|
|
82
|
+
export function validateWebScopeUnitResolution(request, issues) {
|
|
83
|
+
const units = collectWebScopeUnits(request);
|
|
84
|
+
if (units.length === 0)
|
|
85
|
+
return;
|
|
86
|
+
const context = buildTemplateContext(request);
|
|
87
|
+
for (const unit of units) {
|
|
88
|
+
const unitParams = isRecord(unit.unitParams) ? unit.unitParams : {};
|
|
89
|
+
if (unitParams.enableWebScope === false)
|
|
90
|
+
continue;
|
|
91
|
+
const { single, pack } = readTemplates(unitParams);
|
|
92
|
+
const templates = pack.length > 0 ? pack : single ? [single] : [];
|
|
93
|
+
for (const template of templates) {
|
|
94
|
+
const report = analyzeTemplateResolution(template, context);
|
|
95
|
+
for (const unparsed of report.unparsed) {
|
|
96
|
+
pushIssue(issues, {
|
|
97
|
+
code: "WEB_QUERY_TEMPLATE_UNRESOLVED",
|
|
98
|
+
path: `nodePlan.executionUnits[${unitLabel(unit)}].unitParams.webQueryTemplate (${unparsed})`,
|
|
99
|
+
message: `webScope unit "${unitLabel(unit)}" template token "${unparsed}" does not resolve ` +
|
|
100
|
+
`against the request context. template: ${template}. skillKey: ` +
|
|
101
|
+
String(request.skillKey ?? ""),
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=validateWebScopeUnit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateWebScopeUnit.js","sourceRoot":"","sources":["../../src/validation/validateWebScopeUnit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,SAAS,QAAQ,CAAC,CAAU;IAC1B,OAAO,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAY;IACzC,OAAO,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,WAAW,CAAC;AACnD,CAAC;AAED,uEAAuE;AACvE,SAAS,oBAAoB,CAAC,OAAuB;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAQ,KAA+B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACnD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/B,IAAI,CAAC,CAAC,QAAQ,KAAK,oBAAoB;YAAE,OAAO,KAAK,CAAC;QACtD,OAAO,qBAAqB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,IAAyB;IAC1C,OAAO,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;AACtG,CAAC;AAED,SAAS,aAAa,CAAC,UAAmC;IAIxD,MAAM,MAAM,GACV,OAAO,UAAU,CAAC,gBAAgB,KAAK,QAAQ,IAAI,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE;QACnF,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE;QACpC,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC;QACtD,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACvG,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,4BAA4B,GAAG;IACnC,YAAY;IACZ,iBAAiB;IACjB,mBAAmB;IACnB,WAAW;IACX,WAAW;CACH,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAuB,EACvB,MAAgC;IAEhC,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,IAAI,UAAU,CAAC,cAAc,KAAK,KAAK;YAAE,SAAS;QAElD,KAAK,MAAM,GAAG,IAAI,4BAA4B,EAAE,CAAC;YAC/C,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBAClC,SAAS,CAAC,MAAM,EAAE;oBAChB,IAAI,EAAE,8BAA8B;oBACpC,IAAI,EAAE,2BAA2B,SAAS,CAAC,IAAI,CAAC,gBAAgB,GAAG,EAAE;oBACrE,OAAO,EACL,kBAAkB,SAAS,CAAC,IAAI,CAAC,uBAAuB,GAAG,oBAAoB;wBAC/E,2DAA2D;wBAC3D,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,SAAS,CAAC,MAAM,EAAE;gBAChB,IAAI,EAAE,6BAA6B;gBACnC,IAAI,EAAE,2BAA2B,SAAS,CAAC,IAAI,CAAC,+BAA+B;gBAC/E,OAAO,EACL,kBAAkB,SAAS,CAAC,IAAI,CAAC,0CAA0C;oBAC3E,wEAAwE;oBACxE,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAAuB,EACvB,MAAgC;IAEhC,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,IAAI,UAAU,CAAC,cAAc,KAAK,KAAK;YAAE,SAAS;QAClD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,yBAAyB,CAAC,QAAQ,EAAE,OAAgB,CAAC,CAAC;YACrE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACvC,SAAS,CAAC,MAAM,EAAE;oBAChB,IAAI,EAAE,+BAA+B;oBACrC,IAAI,EAAE,2BAA2B,SAAS,CAAC,IAAI,CAAC,kCAAkC,QAAQ,GAAG;oBAC7F,OAAO,EACL,kBAAkB,SAAS,CAAC,IAAI,CAAC,qBAAqB,QAAQ,qBAAqB;wBACnF,0CAA0C,QAAQ,cAAc;wBAChE,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { RunTaskRequest } from "../types/task-types.js";
|
|
2
|
+
import type { WebScopeInvokeConfig } from "../types/web-scope-types.js";
|
|
3
|
+
import { isWebScopeSearchManyResult } from "./client.js";
|
|
4
|
+
/**
|
|
5
|
+
* Run web scoping and merge `executionMemory.webContext` (lenient — always sets webContext when enabled).
|
|
6
|
+
*/
|
|
7
|
+
export declare function applyWebScopeToRequest(request: RunTaskRequest, config: WebScopeInvokeConfig, cni?: unknown): Promise<RunTaskRequest>;
|
|
8
|
+
/** Standalone web-scope unit — compiles the unit's `unitParams` → `@x12i/web-scoper` input. */
|
|
9
|
+
export declare function applyStandaloneWebScopeUnit(request: RunTaskRequest, unitParams?: Record<string, unknown>): Promise<RunTaskRequest>;
|
|
10
|
+
export { isWebScopeSearchManyResult };
|
|
11
|
+
//# sourceMappingURL=applyWebScopeToRequest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyWebScopeToRequest.d.ts","sourceRoot":"","sources":["../../src/web-scope/applyWebScopeToRequest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EACL,0BAA0B,EAI3B,MAAM,aAAa,CAAC;AAerB;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,CAAC,EAAE,OAAO,GACZ,OAAO,CAAC,cAAc,CAAC,CAqBzB;AAED,+FAA+F;AAC/F,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,cAAc,EACvB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAAC,cAAc,CAAC,CAGzB;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { buildWebScopeSearchPayload, webScopeInvokeConfigFromUnitParams } from "./buildSearchInput.js";
|
|
2
|
+
import { isWebScopeSearchManyResult, runWebScopeSearch, runWebScopeSearchMany, } from "./client.js";
|
|
3
|
+
function isWebScopePackInput(v) {
|
|
4
|
+
return "questions" in v && Array.isArray(v.questions);
|
|
5
|
+
}
|
|
6
|
+
async function executeWebScope(payload) {
|
|
7
|
+
if (isWebScopePackInput(payload)) {
|
|
8
|
+
return runWebScopeSearchMany(payload);
|
|
9
|
+
}
|
|
10
|
+
return runWebScopeSearch(payload);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Run web scoping and merge `executionMemory.webContext` (lenient — always sets webContext when enabled).
|
|
14
|
+
*/
|
|
15
|
+
export async function applyWebScopeToRequest(request, config, cni) {
|
|
16
|
+
if (config.enableWebScope === false)
|
|
17
|
+
return request;
|
|
18
|
+
const payload = buildWebScopeSearchPayload({ request, config, cni });
|
|
19
|
+
const webContext = payload
|
|
20
|
+
? await executeWebScope(payload)
|
|
21
|
+
: {
|
|
22
|
+
ok: false,
|
|
23
|
+
error: {
|
|
24
|
+
reason: "no_queries",
|
|
25
|
+
message: "webScope unit requires a non-empty webQueryTemplate (or webQueryTemplates)",
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
return {
|
|
29
|
+
...request,
|
|
30
|
+
executionMemory: {
|
|
31
|
+
...(request.executionMemory ?? {}),
|
|
32
|
+
webContext,
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/** Standalone web-scope unit — compiles the unit's `unitParams` → `@x12i/web-scoper` input. */
|
|
37
|
+
export async function applyStandaloneWebScopeUnit(request, unitParams) {
|
|
38
|
+
const config = webScopeInvokeConfigFromUnitParams(unitParams);
|
|
39
|
+
return applyWebScopeToRequest(request, config);
|
|
40
|
+
}
|
|
41
|
+
export { isWebScopeSearchManyResult };
|
|
42
|
+
//# sourceMappingURL=applyWebScopeToRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyWebScopeToRequest.js","sourceRoot":"","sources":["../../src/web-scope/applyWebScopeToRequest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,uBAAuB,CAAC;AACvG,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,GAEtB,MAAM,aAAa,CAAC;AAErB,SAAS,mBAAmB,CAAC,CAAoC;IAC/D,OAAO,WAAW,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,OAA0C;IAE1C,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAuB,EACvB,MAA4B,EAC5B,GAAa;IAEb,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC;IAEpD,MAAM,OAAO,GAAG,0BAA0B,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACrE,MAAM,UAAU,GAA4B,OAAO;QACjD,CAAC,CAAC,MAAM,eAAe,CAAC,OAAO,CAAC;QAChC,CAAC,CAAC;YACE,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,4EAA4E;aACtF;SACF,CAAC;IAEN,OAAO;QACL,GAAG,OAAO;QACV,eAAe,EAAE;YACf,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;YAClC,UAAU;SACX;KACF,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAuB,EACvB,UAAoC;IAEpC,MAAM,MAAM,GAAG,kCAAkC,CAAC,UAAU,CAAC,CAAC;IAC9D,OAAO,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { WebScopeInput, WebScopePackInput } from "@x12i/web-scoper";
|
|
2
|
+
import type { RunTaskRequest } from "../types/task-types.js";
|
|
3
|
+
import type { WebScopeInvokeConfig } from "../types/web-scope-types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Compile a `webScope` unit's `unitParams` into a {@link WebScopeInvokeConfig}. The search query is
|
|
6
|
+
* the rendered `webQueryTemplate` / `webQueryTemplates` (no question fallback chain).
|
|
7
|
+
*/
|
|
8
|
+
export declare function webScopeInvokeConfigFromUnitParams(unitParams?: Record<string, unknown>): WebScopeInvokeConfig;
|
|
9
|
+
export type BuildWebScopeSearchArgs = {
|
|
10
|
+
request: RunTaskRequest;
|
|
11
|
+
config: WebScopeInvokeConfig;
|
|
12
|
+
/** Optional CNI facts (e.g. from a prior enrichment hop) — merged into the search record. */
|
|
13
|
+
cni?: unknown;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Compile a RunTaskRequest + invoke config into {@link WebScopeInput} or {@link WebScopePackInput}
|
|
17
|
+
* for `@x12i/web-scoper`. The question(s) are rendered from `webQueryTemplate(s)`; the record is
|
|
18
|
+
* merged from input / executionMemory / CNI facts. Returns `null` when no template is configured
|
|
19
|
+
* or it renders empty (caller treats this as a no-query miss).
|
|
20
|
+
*/
|
|
21
|
+
export declare function buildWebScopeSearchPayload(args: BuildWebScopeSearchArgs): WebScopeInput | WebScopePackInput | null;
|
|
22
|
+
//# sourceMappingURL=buildSearchInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildSearchInput.d.ts","sourceRoot":"","sources":["../../src/web-scope/buildSearchInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAmB,MAAM,kBAAkB,CAAC;AAC1F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAiDxE;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,oBAAoB,CAsBtB;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,6FAA6F;IAC7F,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,uBAAuB,GAC5B,aAAa,GAAG,iBAAiB,GAAG,IAAI,CAgC1C"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { renderWebQueryTemplate, renderWebQueryTemplates } from "./renderWebQueryTemplate.js";
|
|
2
|
+
function isRecord(v) {
|
|
3
|
+
return v !== null && typeof v === "object" && !Array.isArray(v);
|
|
4
|
+
}
|
|
5
|
+
function readRecordInput(request) {
|
|
6
|
+
const em = request.executionMemory;
|
|
7
|
+
const emInput = em?.input;
|
|
8
|
+
if (isRecord(emInput) && isRecord(emInput.raw)) {
|
|
9
|
+
return emInput.raw;
|
|
10
|
+
}
|
|
11
|
+
if (isRecord(emInput))
|
|
12
|
+
return emInput;
|
|
13
|
+
return request.input;
|
|
14
|
+
}
|
|
15
|
+
function readRecordFromInput(input) {
|
|
16
|
+
if (!isRecord(input))
|
|
17
|
+
return undefined;
|
|
18
|
+
if (isRecord(input.record))
|
|
19
|
+
return input.record;
|
|
20
|
+
const { question: _q, ...rest } = input;
|
|
21
|
+
return Object.keys(rest).length > 0 ? rest : undefined;
|
|
22
|
+
}
|
|
23
|
+
function knownFactsToRecord(cni) {
|
|
24
|
+
if (!isRecord(cni))
|
|
25
|
+
return undefined;
|
|
26
|
+
const facts = cni.knownFacts;
|
|
27
|
+
if (!Array.isArray(facts))
|
|
28
|
+
return undefined;
|
|
29
|
+
const out = {};
|
|
30
|
+
for (const f of facts) {
|
|
31
|
+
if (!isRecord(f))
|
|
32
|
+
continue;
|
|
33
|
+
const key = f.key;
|
|
34
|
+
if (typeof key !== "string" || !key.trim())
|
|
35
|
+
continue;
|
|
36
|
+
if (f.value !== undefined)
|
|
37
|
+
out[key.trim()] = f.value;
|
|
38
|
+
}
|
|
39
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
40
|
+
}
|
|
41
|
+
function mergeRecords(...parts) {
|
|
42
|
+
const out = {};
|
|
43
|
+
for (const p of parts) {
|
|
44
|
+
if (!p)
|
|
45
|
+
continue;
|
|
46
|
+
Object.assign(out, p);
|
|
47
|
+
}
|
|
48
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Compile a `webScope` unit's `unitParams` into a {@link WebScopeInvokeConfig}. The search query is
|
|
52
|
+
* the rendered `webQueryTemplate` / `webQueryTemplates` (no question fallback chain).
|
|
53
|
+
*/
|
|
54
|
+
export function webScopeInvokeConfigFromUnitParams(unitParams) {
|
|
55
|
+
if (!unitParams)
|
|
56
|
+
return { enableWebScope: true };
|
|
57
|
+
const webQueryTemplate = typeof unitParams.webQueryTemplate === "string" && unitParams.webQueryTemplate.trim()
|
|
58
|
+
? unitParams.webQueryTemplate.trim()
|
|
59
|
+
: undefined;
|
|
60
|
+
const webQueryTemplates = Array.isArray(unitParams.webQueryTemplates)
|
|
61
|
+
? unitParams.webQueryTemplates.filter((t) => typeof t === "string" && t.trim().length > 0)
|
|
62
|
+
: undefined;
|
|
63
|
+
return {
|
|
64
|
+
enableWebScope: unitParams.enableWebScope !== false,
|
|
65
|
+
webQueryTemplate,
|
|
66
|
+
webQueryTemplates: webQueryTemplates && webQueryTemplates.length > 0 ? webQueryTemplates : undefined,
|
|
67
|
+
options: isRecord(unitParams.options) ? unitParams.options : undefined,
|
|
68
|
+
snapshot: isRecord(unitParams.snapshot) ? unitParams.snapshot : undefined,
|
|
69
|
+
forceWeb: unitParams.forceWeb === true,
|
|
70
|
+
primaryQuestionId: typeof unitParams.primaryQuestionId === "string" ? unitParams.primaryQuestionId : undefined,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Compile a RunTaskRequest + invoke config into {@link WebScopeInput} or {@link WebScopePackInput}
|
|
75
|
+
* for `@x12i/web-scoper`. The question(s) are rendered from `webQueryTemplate(s)`; the record is
|
|
76
|
+
* merged from input / executionMemory / CNI facts. Returns `null` when no template is configured
|
|
77
|
+
* or it renders empty (caller treats this as a no-query miss).
|
|
78
|
+
*/
|
|
79
|
+
export function buildWebScopeSearchPayload(args) {
|
|
80
|
+
const { request, config, cni } = args;
|
|
81
|
+
const rawInput = request.input;
|
|
82
|
+
const record = mergeRecords(readRecordFromInput(rawInput), isRecord(readRecordInput(request)) ? readRecordInput(request) : undefined, knownFactsToRecord(cni));
|
|
83
|
+
if (config.webQueryTemplates && config.webQueryTemplates.length > 0) {
|
|
84
|
+
const packQuestions = renderWebQueryTemplates(config.webQueryTemplates, request);
|
|
85
|
+
if (packQuestions.length === 0)
|
|
86
|
+
return null;
|
|
87
|
+
const payload = {
|
|
88
|
+
questions: packQuestions,
|
|
89
|
+
...(record ? { record } : {}),
|
|
90
|
+
...(config.snapshot ? { snapshot: config.snapshot } : {}),
|
|
91
|
+
...(config.options ? { options: config.options } : {}),
|
|
92
|
+
...(config.forceWeb ? { forceWeb: true } : {}),
|
|
93
|
+
...(config.primaryQuestionId ? { primaryQuestionId: config.primaryQuestionId } : {}),
|
|
94
|
+
};
|
|
95
|
+
return payload;
|
|
96
|
+
}
|
|
97
|
+
if (!config.webQueryTemplate)
|
|
98
|
+
return null;
|
|
99
|
+
const question = renderWebQueryTemplate(config.webQueryTemplate, request);
|
|
100
|
+
if (!question)
|
|
101
|
+
return null;
|
|
102
|
+
return {
|
|
103
|
+
question,
|
|
104
|
+
...(record ? { record } : {}),
|
|
105
|
+
...(config.options ? { options: config.options } : {}),
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=buildSearchInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildSearchInput.js","sourceRoot":"","sources":["../../src/web-scope/buildSearchInput.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { WebScopeInput, WebScopePackInput, WebScopePackResult, WebScopeResult, WebScoper } from "@x12i/web-scoper";
|
|
2
|
+
export type { WebScopeInput, WebScopePackInput, WebScopePackResult, WebScopeResult, WebContext, WebScopeOptions, WebScoper, WebScoperConfig, } from "@x12i/web-scoper";
|
|
3
|
+
export declare function getWebScoper(): WebScoper;
|
|
4
|
+
export declare function resetWebScoperSingleton(): void;
|
|
5
|
+
export declare function setWebScoperForTesting(mock: WebScoper): void;
|
|
6
|
+
export declare function runWebScopeSearch(input: WebScopeInput): Promise<WebScopeResult>;
|
|
7
|
+
export declare function runWebScopeSearchMany(input: WebScopePackInput): Promise<WebScopePackResult>;
|
|
8
|
+
/** Stored on executionMemory.webContext — single or multi search output. */
|
|
9
|
+
export type WebScopeExecutionResult = WebScopeResult | WebScopePackResult;
|
|
10
|
+
export declare function isWebScopeSearchManyResult(v: unknown): v is WebScopePackResult;
|
|
11
|
+
export declare function isWebScopeHit(v: unknown): boolean;
|
|
12
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/web-scope/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,SAAS,EACV,MAAM,kBAAkB,CAAC;AAI1B,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,eAAe,EACf,SAAS,EACT,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAkB1B,wBAAgB,YAAY,IAAI,SAAS,CAUxC;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAI9C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAE5D;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAOrF;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAYjG;AAED,4EAA4E;AAC5E,MAAM,MAAM,uBAAuB,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAE1E,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,kBAAkB,CAE9E;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAKjD"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { createWebScoper } from "@x12i/web-scoper";
|
|
2
|
+
import { createSearchAdapter } from "@x12i/search-adapter";
|
|
3
|
+
let searchAdapterInstance = null;
|
|
4
|
+
let defaultScoper = null;
|
|
5
|
+
let testOverride = null;
|
|
6
|
+
function getSearchAdapter() {
|
|
7
|
+
if (!searchAdapterInstance) {
|
|
8
|
+
searchAdapterInstance = createSearchAdapter({
|
|
9
|
+
provider: "tavily",
|
|
10
|
+
tavily: {
|
|
11
|
+
apiKey: process.env.TAVILY_API_KEY,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
return searchAdapterInstance;
|
|
16
|
+
}
|
|
17
|
+
export function getWebScoper() {
|
|
18
|
+
if (testOverride)
|
|
19
|
+
return testOverride;
|
|
20
|
+
if (!defaultScoper) {
|
|
21
|
+
defaultScoper = createWebScoper({
|
|
22
|
+
searchAdapter: getSearchAdapter(),
|
|
23
|
+
defaults: { maxQueries: 3, maxFindings: 10, maxSources: 10 },
|
|
24
|
+
snippets: { include: true, maxCharsPerSource: 500 },
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return defaultScoper;
|
|
28
|
+
}
|
|
29
|
+
export function resetWebScoperSingleton() {
|
|
30
|
+
searchAdapterInstance = null;
|
|
31
|
+
defaultScoper = null;
|
|
32
|
+
testOverride = null;
|
|
33
|
+
}
|
|
34
|
+
export function setWebScoperForTesting(mock) {
|
|
35
|
+
testOverride = mock;
|
|
36
|
+
}
|
|
37
|
+
export async function runWebScopeSearch(input) {
|
|
38
|
+
try {
|
|
39
|
+
return await getWebScoper().search(input);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
43
|
+
return { ok: false, error: { reason: "error", message } };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export async function runWebScopeSearchMany(input) {
|
|
47
|
+
try {
|
|
48
|
+
return await getWebScoper().searchMany(input);
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
52
|
+
return {
|
|
53
|
+
ok: false,
|
|
54
|
+
results: {},
|
|
55
|
+
pack: { scopes: {} },
|
|
56
|
+
error: { reason: "error", message },
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export function isWebScopeSearchManyResult(v) {
|
|
61
|
+
return !!v && typeof v === "object" && "pack" in v && "results" in v;
|
|
62
|
+
}
|
|
63
|
+
export function isWebScopeHit(v) {
|
|
64
|
+
if (!v || typeof v !== "object")
|
|
65
|
+
return false;
|
|
66
|
+
if ("ok" in v && v.ok === true)
|
|
67
|
+
return true;
|
|
68
|
+
if (isWebScopeSearchManyResult(v) && v.ok === true)
|
|
69
|
+
return true;
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/web-scope/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { WebScopePackQuestion } from "@x12i/web-scoper";
|
|
2
|
+
import type { RunTaskRequest } from "../types/task-types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Render a single `webQueryTemplate` (Rendrix string) against the request context into a
|
|
5
|
+
* search question. Returns the trimmed result, or `undefined` when the template is empty,
|
|
6
|
+
* renders empty, or has unresolved tokens. There is no fallback.
|
|
7
|
+
*/
|
|
8
|
+
export declare function renderWebQueryTemplate(template: string, request: RunTaskRequest): string | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Render an array of `webQueryTemplates` into a `searchMany()` question pack. Each template is
|
|
11
|
+
* rendered independently; empty or unresolved renders are skipped. Pack ids are generated per question.
|
|
12
|
+
*/
|
|
13
|
+
export declare function renderWebQueryTemplates(templates: string[], request: RunTaskRequest): WebScopePackQuestion[];
|
|
14
|
+
//# sourceMappingURL=renderWebQueryTemplate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderWebQueryTemplate.d.ts","sourceRoot":"","sources":["../../src/web-scope/renderWebQueryTemplate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAc7D;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,cAAc,GACtB,MAAM,GAAG,SAAS,CAGpB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,cAAc,GACtB,oBAAoB,EAAE,CAUxB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { render, TemplateResolutionError } from "../rendrixUpstreamExports.js";
|
|
3
|
+
import { buildTemplateContext } from "../utils/templateContext.js";
|
|
4
|
+
function renderTemplate(template, request) {
|
|
5
|
+
const context = buildTemplateContext(request);
|
|
6
|
+
try {
|
|
7
|
+
const rendered = render(template, context).trim();
|
|
8
|
+
return rendered.length > 0 ? rendered : undefined;
|
|
9
|
+
}
|
|
10
|
+
catch (e) {
|
|
11
|
+
if (e instanceof TemplateResolutionError)
|
|
12
|
+
return undefined;
|
|
13
|
+
throw e;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Render a single `webQueryTemplate` (Rendrix string) against the request context into a
|
|
18
|
+
* search question. Returns the trimmed result, or `undefined` when the template is empty,
|
|
19
|
+
* renders empty, or has unresolved tokens. There is no fallback.
|
|
20
|
+
*/
|
|
21
|
+
export function renderWebQueryTemplate(template, request) {
|
|
22
|
+
if (typeof template !== "string" || !template.trim())
|
|
23
|
+
return undefined;
|
|
24
|
+
return renderTemplate(template, request);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Render an array of `webQueryTemplates` into a `searchMany()` question pack. Each template is
|
|
28
|
+
* rendered independently; empty or unresolved renders are skipped. Pack ids are generated per question.
|
|
29
|
+
*/
|
|
30
|
+
export function renderWebQueryTemplates(templates, request) {
|
|
31
|
+
if (!Array.isArray(templates))
|
|
32
|
+
return [];
|
|
33
|
+
const out = [];
|
|
34
|
+
for (const template of templates) {
|
|
35
|
+
if (typeof template !== "string" || !template.trim())
|
|
36
|
+
continue;
|
|
37
|
+
const question = renderTemplate(template, request);
|
|
38
|
+
if (!question)
|
|
39
|
+
continue;
|
|
40
|
+
out.push({ id: randomUUID(), question });
|
|
41
|
+
}
|
|
42
|
+
return out;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=renderWebQueryTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderWebQueryTemplate.js","sourceRoot":"","sources":["../../src/web-scope/renderWebQueryTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAuB;IAC/D,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAiC,CAAC;IAC9E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,uBAAuB;YAAE,OAAO,SAAS,CAAC;QAC3D,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,OAAuB;IAEvB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IACvE,OAAO,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAAmB,EACnB,OAAuB;IAEvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IACzC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAAE,SAAS;QAC/D,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serialize executionMemory.webContext (`@x12i/web-scoper` WebScopeResult / WebScopePackResult) into markdown.
|
|
3
|
+
*/
|
|
4
|
+
export type BuildWebContextEvidenceMarkdownOptions = {
|
|
5
|
+
maxTotalChars?: number;
|
|
6
|
+
/** @deprecated No longer affects excerpt selection — snippet is used. */
|
|
7
|
+
preferCleanContent?: boolean;
|
|
8
|
+
maxSources?: number;
|
|
9
|
+
dedupeByUrl?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export declare function isWebContextEvidenceAvailable(webContextEntry: unknown): boolean;
|
|
12
|
+
export declare function buildWebContextEvidenceMarkdown(webContextEntry: unknown, options?: BuildWebContextEvidenceMarkdownOptions): string;
|
|
13
|
+
export declare function omitWebContextFromMemoryBundle(bundle: {
|
|
14
|
+
jobMemory?: Record<string, unknown>;
|
|
15
|
+
taskMemory?: Record<string, unknown>;
|
|
16
|
+
executionMemory?: Record<string, unknown>;
|
|
17
|
+
}): {
|
|
18
|
+
jobMemory?: Record<string, unknown>;
|
|
19
|
+
taskMemory?: Record<string, unknown>;
|
|
20
|
+
executionMemory?: Record<string, unknown>;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=webContextMarkdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webContextMarkdown.d.ts","sourceRoot":"","sources":["../../src/web-scope/webContextMarkdown.ts"],"names":[],"mappings":"AAAA;;GAEG;AAuEH,MAAM,MAAM,sCAAsC,GAAG;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,OAAO,GAAG,OAAO,CAU/E;AAED,wBAAgB,+BAA+B,CAC7C,eAAe,EAAE,OAAO,EACxB,OAAO,CAAC,EAAE,sCAAsC,GAC/C,MAAM,CA0ER;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C,GAAG;IACF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C,CAQA"}
|