@exellix/ai-tasks 10.0.10 → 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 +13 -0
- package/README.md +28 -31
- 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 +9 -105
- 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 +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- 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.js +1 -1
- package/dist/localTasks/collectEvidence.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 +0 -4
- package/dist/localTasks/index.js.map +1 -1
- 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 -13
- package/dist/narrix/narrixUnitExecution.js.map +1 -1
- package/dist/narrix/webContextMarkdown.d.ts +0 -2
- package/dist/narrix/webContextMarkdown.d.ts.map +1 -1
- package/dist/narrix/webContextMarkdown.js +0 -9
- 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 +0 -25
- 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/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 -116
- 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 +9 -11
- package/dist/types/web-scope-types.d.ts.map +1 -1
- 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 +1 -1
- package/dist/web-scope/applyWebScopeToRequest.d.ts.map +1 -1
- package/dist/web-scope/applyWebScopeToRequest.js +10 -43
- package/dist/web-scope/applyWebScopeToRequest.js.map +1 -1
- package/dist/web-scope/buildSearchInput.d.ts +10 -7
- package/dist/web-scope/buildSearchInput.d.ts.map +1 -1
- package/dist/web-scope/buildSearchInput.js +24 -94
- package/dist/web-scope/buildSearchInput.js.map +1 -1
- 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 +37 -54
- 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,156 +0,0 @@
|
|
|
1
|
-
import { resolveWebScopeQuestionAndTemplates, } from "./buildWebScopeScopeInput.js";
|
|
2
|
-
import { runWebScope, runWebScopeQuestionPack, webScopeActivixCorrelationPatch } from "./webScoper.js";
|
|
3
|
-
function isRecord(v) {
|
|
4
|
-
return v !== null && typeof v === "object" && !Array.isArray(v);
|
|
5
|
-
}
|
|
6
|
-
function readRecordInput(request) {
|
|
7
|
-
const em = request.executionMemory;
|
|
8
|
-
const emInput = em?.input;
|
|
9
|
-
if (isRecord(emInput) && isRecord(emInput.raw)) {
|
|
10
|
-
return emInput.raw;
|
|
11
|
-
}
|
|
12
|
-
if (isRecord(emInput))
|
|
13
|
-
return emInput;
|
|
14
|
-
return request.input;
|
|
15
|
-
}
|
|
16
|
-
function shouldSkipWebScope(request, narrix) {
|
|
17
|
-
if (narrix.skipWebScopeWhenExternalWebMarkdownPresent !== true)
|
|
18
|
-
return false;
|
|
19
|
-
const em = request.executionMemory;
|
|
20
|
-
const md = em?.webContextMarkdown;
|
|
21
|
-
return typeof md === "string" && md.trim().length > 0;
|
|
22
|
-
}
|
|
23
|
-
function buildScopeInputBase(request, narrix, narrixSuccess) {
|
|
24
|
-
const correlation = webScopeActivixCorrelationPatch({
|
|
25
|
-
jobId: request.jobId,
|
|
26
|
-
taskId: request.taskId,
|
|
27
|
-
sessionId: request.taskId,
|
|
28
|
-
});
|
|
29
|
-
if (narrixSuccess) {
|
|
30
|
-
const entity = narrixSuccess.entity;
|
|
31
|
-
const cni = narrixSuccess.cni !== undefined && narrixSuccess.cni !== null
|
|
32
|
-
? narrixSuccess.cni
|
|
33
|
-
: undefined;
|
|
34
|
-
return {
|
|
35
|
-
datasetId: narrixSuccess.meta.datasetId ?? narrix.datasetId,
|
|
36
|
-
subjectId: entity.entityId ?? entity.entityKey,
|
|
37
|
-
entityKind: entity.entityKind,
|
|
38
|
-
...(cni !== undefined ? { cni } : {}),
|
|
39
|
-
...correlation,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
const record = readRecordInput(request);
|
|
43
|
-
const entityKind = typeof narrix.datasetId === "string" && narrix.datasetId.trim()
|
|
44
|
-
? narrix.datasetId.split(".").pop() ?? "generic"
|
|
45
|
-
: "generic";
|
|
46
|
-
return {
|
|
47
|
-
datasetId: narrix.datasetId,
|
|
48
|
-
subjectId: request.taskId ??
|
|
49
|
-
request.jobId ??
|
|
50
|
-
(isRecord(record) && typeof record.id === "string" ? record.id : "web-scope"),
|
|
51
|
-
entityKind,
|
|
52
|
-
...correlation,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
function applyResolvedFieldsToScopeInput(base, resolved) {
|
|
56
|
-
if (resolved.webScopeTemplates?.length) {
|
|
57
|
-
return {
|
|
58
|
-
...base,
|
|
59
|
-
webScopeTemplates: resolved.webScopeTemplates,
|
|
60
|
-
webScopeObjects: resolved.webScopeObjects,
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
if (resolved.packQuestions?.length) {
|
|
64
|
-
const pack = {
|
|
65
|
-
datasetId: base.datasetId,
|
|
66
|
-
subjectId: base.subjectId,
|
|
67
|
-
entityKind: base.entityKind,
|
|
68
|
-
questions: resolved.packQuestions,
|
|
69
|
-
...(base.cni !== undefined ? { cni: base.cni } : {}),
|
|
70
|
-
};
|
|
71
|
-
return pack;
|
|
72
|
-
}
|
|
73
|
-
if (resolved.question) {
|
|
74
|
-
return { ...base, question: resolved.question };
|
|
75
|
-
}
|
|
76
|
-
return base;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Run web scoping and merge `executionMemory.webContext` (lenient — always sets webContext when enabled).
|
|
80
|
-
*/
|
|
81
|
-
export async function applyWebScopeToRequest(request, narrix, narrixSuccess) {
|
|
82
|
-
if (!narrix.enableWebScope)
|
|
83
|
-
return request;
|
|
84
|
-
if (shouldSkipWebScope(request, narrix))
|
|
85
|
-
return request;
|
|
86
|
-
const record = readRecordInput(request);
|
|
87
|
-
const entity = narrixSuccess
|
|
88
|
-
? readRecordInput(request)
|
|
89
|
-
: isRecord(record)
|
|
90
|
-
? record
|
|
91
|
-
: undefined;
|
|
92
|
-
const resolvedFields = resolveWebScopeQuestionAndTemplates({
|
|
93
|
-
narrix,
|
|
94
|
-
requestInput: request.input,
|
|
95
|
-
successResult: narrixSuccess ??
|
|
96
|
-
{
|
|
97
|
-
ok: true,
|
|
98
|
-
entity: { entityKind: "generic", entityKey: request.taskId ?? "web-scope" },
|
|
99
|
-
signals: [],
|
|
100
|
-
stories: [],
|
|
101
|
-
meta: { datasetId: narrix.datasetId, packId: "standalone", entityKind: "generic" },
|
|
102
|
-
},
|
|
103
|
-
entity,
|
|
104
|
-
});
|
|
105
|
-
const base = buildScopeInputBase(request, narrix, narrixSuccess);
|
|
106
|
-
const scopeInput = applyResolvedFieldsToScopeInput(base, resolvedFields);
|
|
107
|
-
const scoping = narrix.webScoping;
|
|
108
|
-
let webContext;
|
|
109
|
-
if ("questions" in scopeInput && Array.isArray(scopeInput.questions)) {
|
|
110
|
-
webContext = await runWebScopeQuestionPack(scopeInput, { scoping });
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
webContext = await runWebScope(scopeInput, { scoping });
|
|
114
|
-
}
|
|
115
|
-
return {
|
|
116
|
-
...request,
|
|
117
|
-
executionMemory: {
|
|
118
|
-
...(request.executionMemory ?? {}),
|
|
119
|
-
webContext,
|
|
120
|
-
},
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
/** Standalone Layer-1 web-scope unit (no Narrix preprocessor required). */
|
|
124
|
-
export async function applyStandaloneWebScopeUnit(request, unitParams) {
|
|
125
|
-
const narrixFromRequest = request.narrix;
|
|
126
|
-
const datasetId = typeof unitParams?.datasetId === "string" && unitParams.datasetId.trim()
|
|
127
|
-
? unitParams.datasetId
|
|
128
|
-
: narrixFromRequest?.datasetId ?? "web-scope";
|
|
129
|
-
const narrix = {
|
|
130
|
-
...(narrixFromRequest ?? {}),
|
|
131
|
-
datasetId,
|
|
132
|
-
enableWebScope: true,
|
|
133
|
-
...(unitParams?.webScopeTemplates !== undefined
|
|
134
|
-
? { webScopeTemplates: unitParams.webScopeTemplates }
|
|
135
|
-
: {}),
|
|
136
|
-
...(unitParams?.webScopeObjects !== undefined
|
|
137
|
-
? { webScopeObjects: unitParams.webScopeObjects }
|
|
138
|
-
: {}),
|
|
139
|
-
...(unitParams?.webScopeQuestionTemplate !== undefined
|
|
140
|
-
? { webScopeQuestionTemplate: unitParams.webScopeQuestionTemplate }
|
|
141
|
-
: {}),
|
|
142
|
-
...(unitParams?.webScopeQuestions !== undefined
|
|
143
|
-
? { webScopeQuestions: unitParams.webScopeQuestions }
|
|
144
|
-
: {}),
|
|
145
|
-
...(unitParams?.webScoping !== undefined
|
|
146
|
-
? { webScoping: unitParams.webScoping }
|
|
147
|
-
: {}),
|
|
148
|
-
...(unitParams?.skipWebScopeWhenExternalWebMarkdownPresent !== undefined
|
|
149
|
-
? {
|
|
150
|
-
skipWebScopeWhenExternalWebMarkdownPresent: unitParams.skipWebScopeWhenExternalWebMarkdownPresent,
|
|
151
|
-
}
|
|
152
|
-
: {}),
|
|
153
|
-
};
|
|
154
|
-
return applyWebScopeToRequest(request, narrix);
|
|
155
|
-
}
|
|
156
|
-
//# sourceMappingURL=applyWebScopeToRequest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"applyWebScopeToRequest.js","sourceRoot":"","sources":["../../src/narrix/applyWebScopeToRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { NarrixCniLike, WebScopePackInput } from "@exellix/narrix-web-scoper";
|
|
2
|
-
type WebScopeQuestion = WebScopePackInput["questions"][number];
|
|
3
|
-
import type { NarrixPreProcessorConfig, NarrixWebScopeQuestion } from "../types/task-types.js";
|
|
4
|
-
import type { NarrixRunOutputSuccess } from "./types.js";
|
|
5
|
-
export type BuildWebScopeTemplateContextArgs = {
|
|
6
|
-
cni?: NarrixCniLike;
|
|
7
|
-
entity?: Record<string, unknown>;
|
|
8
|
-
baseQuestion?: string;
|
|
9
|
-
entityKey?: string;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* Flatten CNI knownFacts, common graphized entity paths, and question aliases for web scope templates / Handlebars.
|
|
13
|
-
*/
|
|
14
|
-
export declare function buildWebScopeTemplateContext(args: BuildWebScopeTemplateContextArgs): Record<string, unknown>;
|
|
15
|
-
export type ResolveWebScopeQuestionAndTemplatesArgs = {
|
|
16
|
-
narrix: NarrixPreProcessorConfig;
|
|
17
|
-
requestInput: Record<string, unknown> | string | null | undefined;
|
|
18
|
-
successResult: NarrixRunOutputSuccess;
|
|
19
|
-
entity?: Record<string, unknown>;
|
|
20
|
-
};
|
|
21
|
-
/** Fields merged into `scopeGeneric` or into `scopeQuestionPack` base input. */
|
|
22
|
-
export type ResolvedWebScopeScopeFields = {
|
|
23
|
-
question?: string;
|
|
24
|
-
webScopeTemplates?: string[];
|
|
25
|
-
webScopeObjects?: Record<string, unknown>;
|
|
26
|
-
/** When non-empty, task-sdk uses `scopeQuestionPack` instead of `scopeGeneric`. */
|
|
27
|
-
packQuestions?: WebScopeQuestion[];
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Normalize `narrix.webScopeQuestions` into `@exellix/narrix-web-scoper` `WebScopeQuestion[]`
|
|
31
|
-
* (stable `id`, trimmed `question`, optional `purpose` from `source`).
|
|
32
|
-
*/
|
|
33
|
-
export declare function normalizeNarrixWebScopeQuestions(entries: NarrixWebScopeQuestion[] | undefined): WebScopeQuestion[];
|
|
34
|
-
/**
|
|
35
|
-
* Resolves ScopeInput fields for web scoping: optional athenix templates + objects, or enriched question (Handlebars or default append).
|
|
36
|
-
*/
|
|
37
|
-
export declare function resolveWebScopeQuestionAndTemplates(args: ResolveWebScopeQuestionAndTemplatesArgs): ResolvedWebScopeScopeFields;
|
|
38
|
-
export {};
|
|
39
|
-
//# sourceMappingURL=buildWebScopeScopeInput.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildWebScopeScopeInput.d.ts","sourceRoot":"","sources":["../../src/narrix/buildWebScopeScopeInput.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEnF,KAAK,gBAAgB,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,OAAO,KAAK,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AA2BzD,MAAM,MAAM,gCAAgC,GAAG;IAC7C,GAAG,CAAC,EAAE,aAAa,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,gCAAgC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsD5G;AA2BD,MAAM,MAAM,uCAAuC,GAAG;IACpD,MAAM,EAAE,wBAAwB,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClE,aAAa,EAAE,sBAAsB,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,mFAAmF;IACnF,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACpC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,sBAAsB,EAAE,GAAG,SAAS,GAC5C,gBAAgB,EAAE,CAkBpB;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,uCAAuC,GAC5C,2BAA2B,CA6D7B"}
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
|
-
import Handlebars from "handlebars";
|
|
3
|
-
function isRecord(v) {
|
|
4
|
-
return v !== null && typeof v === "object" && !Array.isArray(v);
|
|
5
|
-
}
|
|
6
|
-
function digGraphized(entity, path) {
|
|
7
|
-
if (!entity)
|
|
8
|
-
return undefined;
|
|
9
|
-
const g = entity.graphized;
|
|
10
|
-
if (!isRecord(g))
|
|
11
|
-
return undefined;
|
|
12
|
-
let cur = g;
|
|
13
|
-
for (const key of path) {
|
|
14
|
-
if (!isRecord(cur))
|
|
15
|
-
return undefined;
|
|
16
|
-
cur = cur[key];
|
|
17
|
-
}
|
|
18
|
-
return cur;
|
|
19
|
-
}
|
|
20
|
-
function pickScalarString(obj, keys) {
|
|
21
|
-
for (const k of keys) {
|
|
22
|
-
const v = obj[k];
|
|
23
|
-
if (typeof v === "string" && v.trim())
|
|
24
|
-
return v.trim();
|
|
25
|
-
if (v != null && typeof v !== "object" && String(v).trim())
|
|
26
|
-
return String(v).trim();
|
|
27
|
-
}
|
|
28
|
-
return undefined;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Flatten CNI knownFacts, common graphized entity paths, and question aliases for web scope templates / Handlebars.
|
|
32
|
-
*/
|
|
33
|
-
export function buildWebScopeTemplateContext(args) {
|
|
34
|
-
const out = {};
|
|
35
|
-
const { cni, entity, baseQuestion, entityKey } = args;
|
|
36
|
-
if (baseQuestion !== undefined && baseQuestion !== "") {
|
|
37
|
-
out.question = baseQuestion;
|
|
38
|
-
out.baseQuestion = baseQuestion;
|
|
39
|
-
}
|
|
40
|
-
if (entityKey !== undefined && entityKey !== "") {
|
|
41
|
-
out.label = entityKey;
|
|
42
|
-
out.entityKey = entityKey;
|
|
43
|
-
}
|
|
44
|
-
const facts = cni?.knownFacts;
|
|
45
|
-
if (Array.isArray(facts)) {
|
|
46
|
-
for (const f of facts) {
|
|
47
|
-
if (!isRecord(f))
|
|
48
|
-
continue;
|
|
49
|
-
const key = f.key;
|
|
50
|
-
if (typeof key !== "string" || !key.trim())
|
|
51
|
-
continue;
|
|
52
|
-
const value = f.value;
|
|
53
|
-
if (value !== undefined)
|
|
54
|
-
out[key.trim()] = value;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
if (entity) {
|
|
58
|
-
const cveId = pickScalarString(out, ["cveId", "CVE_ID", "cve", "CVE"]) ??
|
|
59
|
-
(() => {
|
|
60
|
-
const v = digGraphized(entity, ["vulnerability", "cveId"]);
|
|
61
|
-
if (typeof v === "string" && v.trim())
|
|
62
|
-
return v.trim();
|
|
63
|
-
const v2 = digGraphized(entity, ["vulnerability", "cve"]);
|
|
64
|
-
if (typeof v2 === "string" && v2.trim())
|
|
65
|
-
return v2.trim();
|
|
66
|
-
return undefined;
|
|
67
|
-
})();
|
|
68
|
-
if (cveId && out.cveId === undefined)
|
|
69
|
-
out.cveId = cveId;
|
|
70
|
-
const vendor = pickScalarString(out, ["vendor", "Vendor"]) ??
|
|
71
|
-
(() => {
|
|
72
|
-
const v = digGraphized(entity, ["vulnerability", "vendor"]);
|
|
73
|
-
return typeof v === "string" && v.trim() ? v.trim() : undefined;
|
|
74
|
-
})();
|
|
75
|
-
if (vendor && out.vendor === undefined)
|
|
76
|
-
out.vendor = vendor;
|
|
77
|
-
const product = pickScalarString(out, ["product", "Product"]) ??
|
|
78
|
-
(() => {
|
|
79
|
-
const v = digGraphized(entity, ["vulnerability", "product"]);
|
|
80
|
-
return typeof v === "string" && v.trim() ? v.trim() : undefined;
|
|
81
|
-
})();
|
|
82
|
-
if (product && out.product === undefined)
|
|
83
|
-
out.product = product;
|
|
84
|
-
}
|
|
85
|
-
return out;
|
|
86
|
-
}
|
|
87
|
-
function tokenNotInBase(base, token) {
|
|
88
|
-
if (!token)
|
|
89
|
-
return false;
|
|
90
|
-
return !base.toLowerCase().includes(token.toLowerCase());
|
|
91
|
-
}
|
|
92
|
-
function defaultEnrichQuestion(baseQuestion, ctx) {
|
|
93
|
-
const cveId = pickScalarString(ctx, ["cveId", "CVE_ID", "cve", "CVE"]);
|
|
94
|
-
const vendor = pickScalarString(ctx, ["vendor", "Vendor"]);
|
|
95
|
-
const product = pickScalarString(ctx, ["product", "Product"]);
|
|
96
|
-
const extras = [];
|
|
97
|
-
const base = baseQuestion?.trim() ?? "";
|
|
98
|
-
for (const t of [cveId, vendor, product]) {
|
|
99
|
-
if (t && (!base || tokenNotInBase(base, t)))
|
|
100
|
-
extras.push(t);
|
|
101
|
-
}
|
|
102
|
-
const suffix = extras.join(" ").trim();
|
|
103
|
-
if (!base && !suffix)
|
|
104
|
-
return undefined;
|
|
105
|
-
if (!suffix)
|
|
106
|
-
return base || undefined;
|
|
107
|
-
if (!base)
|
|
108
|
-
return suffix;
|
|
109
|
-
return `${base} ${suffix}`.trim();
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Normalize `narrix.webScopeQuestions` into `@exellix/narrix-web-scoper` `WebScopeQuestion[]`
|
|
113
|
-
* (stable `id`, trimmed `question`, optional `purpose` from `source`).
|
|
114
|
-
*/
|
|
115
|
-
export function normalizeNarrixWebScopeQuestions(entries) {
|
|
116
|
-
if (!Array.isArray(entries))
|
|
117
|
-
return [];
|
|
118
|
-
const out = [];
|
|
119
|
-
for (const e of entries) {
|
|
120
|
-
if (!e || typeof e !== "object")
|
|
121
|
-
continue;
|
|
122
|
-
const q = typeof e.question === "string" ? e.question.trim() : "";
|
|
123
|
-
if (!q)
|
|
124
|
-
continue;
|
|
125
|
-
const id = typeof e.id === "string" && e.id.trim()
|
|
126
|
-
? e.id.trim()
|
|
127
|
-
: randomUUID();
|
|
128
|
-
const purpose = e.source === "manual" || e.source === "ai-driven"
|
|
129
|
-
? `source:${e.source}`
|
|
130
|
-
: undefined;
|
|
131
|
-
out.push({ id, question: q, ...(purpose ? { purpose } : {}) });
|
|
132
|
-
}
|
|
133
|
-
return out;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Resolves ScopeInput fields for web scoping: optional athenix templates + objects, or enriched question (Handlebars or default append).
|
|
137
|
-
*/
|
|
138
|
-
export function resolveWebScopeQuestionAndTemplates(args) {
|
|
139
|
-
const { narrix, requestInput, successResult, entity } = args;
|
|
140
|
-
const baseQuestion = typeof requestInput === "string"
|
|
141
|
-
? requestInput.trim() || undefined
|
|
142
|
-
: requestInput && typeof requestInput === "object" && typeof requestInput.question === "string"
|
|
143
|
-
? requestInput.question.trim() || undefined
|
|
144
|
-
: undefined;
|
|
145
|
-
const cni = successResult.cni;
|
|
146
|
-
const autoContext = buildWebScopeTemplateContext({
|
|
147
|
-
cni,
|
|
148
|
-
entity,
|
|
149
|
-
baseQuestion,
|
|
150
|
-
entityKey: successResult.entity.entityKey,
|
|
151
|
-
});
|
|
152
|
-
const templates = narrix.webScopeTemplates?.filter((t) => typeof t === "string" && t.trim());
|
|
153
|
-
if (templates?.length) {
|
|
154
|
-
const webScopeObjects = {
|
|
155
|
-
...autoContext,
|
|
156
|
-
...(narrix.webScopeObjects ?? {}),
|
|
157
|
-
};
|
|
158
|
-
return {
|
|
159
|
-
webScopeTemplates: templates.map((t) => t.trim()),
|
|
160
|
-
webScopeObjects,
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
const packQuestions = normalizeNarrixWebScopeQuestions(narrix.webScopeQuestions);
|
|
164
|
-
if (packQuestions.length > 0) {
|
|
165
|
-
return { packQuestions };
|
|
166
|
-
}
|
|
167
|
-
const mergedForHandlebars = {
|
|
168
|
-
...autoContext,
|
|
169
|
-
...(narrix.webScopeObjects ?? {}),
|
|
170
|
-
input: requestInput ?? {},
|
|
171
|
-
};
|
|
172
|
-
const hbTpl = narrix.webScopeQuestionTemplate?.trim();
|
|
173
|
-
if (hbTpl) {
|
|
174
|
-
try {
|
|
175
|
-
const compiled = Handlebars.compile(hbTpl);
|
|
176
|
-
const rendered = compiled(mergedForHandlebars).trim().replace(/\s+/g, " ");
|
|
177
|
-
if (rendered) {
|
|
178
|
-
return { question: rendered };
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
catch {
|
|
182
|
-
// fall through to default enrichment
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
const ctxForDefault = mergedForHandlebars;
|
|
186
|
-
const enriched = defaultEnrichQuestion(baseQuestion, ctxForDefault);
|
|
187
|
-
const finalQ = enriched ?? baseQuestion;
|
|
188
|
-
if (finalQ !== undefined && finalQ !== "") {
|
|
189
|
-
return { question: finalQ };
|
|
190
|
-
}
|
|
191
|
-
return {};
|
|
192
|
-
}
|
|
193
|
-
//# sourceMappingURL=buildWebScopeScopeInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buildWebScopeScopeInput.js","sourceRoot":"","sources":["../../src/narrix/buildWebScopeScopeInput.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { NarrixWebScoper, WebScoperConfig, WebScoperResult, ScopeInput, WebScopePackInput, WebScopePackResult } from "@exellix/narrix-web-scoper";
|
|
2
|
-
/** Returns (and lazily creates) the shared NarrixWebScoper instance (default @exellix/narrix-web-scoper config). */
|
|
3
|
-
export declare function getWebScoper(): NarrixWebScoper;
|
|
4
|
-
/** Reset singletons (test helper). */
|
|
5
|
-
export declare function resetWebScoperSingleton(): void;
|
|
6
|
-
/** Override singleton with a mock (test helper). */
|
|
7
|
-
export declare function setWebScoperForTesting(mock: NarrixWebScoper): void;
|
|
8
|
-
export type RunWebScopeOptions = {
|
|
9
|
-
/** Per-request slice of @exellix/narrix-web-scoper `WebScoperConfig.scoping` (snippets, caps, raw content). */
|
|
10
|
-
scoping?: WebScoperConfig["scoping"];
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Map `scopeQuestionPack` output to the legacy `WebScoperResult` shape stored in `executionMemory.webContext`
|
|
14
|
-
* so `buildWebContextEvidenceMarkdown` and synthesis paths stay compatible.
|
|
15
|
-
*/
|
|
16
|
-
export declare function mapWebScopePackResultToWebScoperResult(pack: WebScopePackResult): WebScoperResult;
|
|
17
|
-
/**
|
|
18
|
-
* Optional fields merged into {@link ScopeInput} so `@exellix/narrix-web-scoper` Activix wrapping
|
|
19
|
-
* (`extractRunIds`) can correlate web-scope activities with the surrounding task run.
|
|
20
|
-
*
|
|
21
|
-
* Matches task-sdk `runContext.sessionId` when `sessionId` is set to the same value as `taskId`.
|
|
22
|
-
*/
|
|
23
|
-
export type WebScopeActivixCorrelationFields = {
|
|
24
|
-
jobId?: string;
|
|
25
|
-
taskId?: string;
|
|
26
|
-
sessionId?: string;
|
|
27
|
-
};
|
|
28
|
-
/** Non-empty trimmed strings only; omits unset/blank ids. */
|
|
29
|
-
export declare function webScopeActivixCorrelationPatch(parts: {
|
|
30
|
-
jobId?: string | null | undefined;
|
|
31
|
-
taskId?: string | null | undefined;
|
|
32
|
-
sessionId?: string | null | undefined;
|
|
33
|
-
}): WebScopeActivixCorrelationFields;
|
|
34
|
-
/**
|
|
35
|
-
* Run scopeGeneric and return the result. On any thrown error, returns an available:false result
|
|
36
|
-
* so callers can apply lenient fallback without try/catch boilerplate.
|
|
37
|
-
*/
|
|
38
|
-
export declare function runWebScope(input: ScopeInput, options?: RunWebScopeOptions): Promise<WebScoperResult>;
|
|
39
|
-
/**
|
|
40
|
-
* Run `scopeQuestionPack` and normalize to {@link WebScoperResult} for `executionMemory.webContext`.
|
|
41
|
-
*/
|
|
42
|
-
export declare function runWebScopeQuestionPack(input: WebScopePackInput, options?: RunWebScopeOptions): Promise<WebScoperResult>;
|
|
43
|
-
//# sourceMappingURL=webScoper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webScoper.d.ts","sourceRoot":"","sources":["../../src/narrix/webScoper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,UAAU,EAEV,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAkBpC,oHAAoH;AACpH,wBAAgB,YAAY,IAAI,eAAe,CAM9C;AAED,sCAAsC;AACtC,wBAAgB,uBAAuB,IAAI,IAAI,CAI9C;AAED,oDAAoD;AACpD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAElE;AAmBD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,+GAA+G;IAC/G,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;CACtC,CAAC;AAQF;;;GAGG;AACH,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,kBAAkB,GAAG,eAAe,CAyChG;AAED;;;;;GAKG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,6DAA6D;AAC7D,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACvC,GAAG,gCAAgC,CASnC;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAO1B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAQ1B"}
|
package/dist/narrix/webScoper.js
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { createWebScoper } from "@exellix/narrix-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
|
-
/** Returns (and lazily creates) the shared NarrixWebScoper instance (default @exellix/narrix-web-scoper config). */
|
|
18
|
-
export function getWebScoper() {
|
|
19
|
-
if (testOverride)
|
|
20
|
-
return testOverride;
|
|
21
|
-
if (!defaultScoper) {
|
|
22
|
-
defaultScoper = createWebScoper({ enabled: true, searchAdapter: getSearchAdapter() });
|
|
23
|
-
}
|
|
24
|
-
return defaultScoper;
|
|
25
|
-
}
|
|
26
|
-
/** Reset singletons (test helper). */
|
|
27
|
-
export function resetWebScoperSingleton() {
|
|
28
|
-
searchAdapterInstance = null;
|
|
29
|
-
defaultScoper = null;
|
|
30
|
-
testOverride = null;
|
|
31
|
-
}
|
|
32
|
-
/** Override singleton with a mock (test helper). */
|
|
33
|
-
export function setWebScoperForTesting(mock) {
|
|
34
|
-
testOverride = mock;
|
|
35
|
-
}
|
|
36
|
-
function hasRequestScoping(scoping) {
|
|
37
|
-
if (!scoping)
|
|
38
|
-
return false;
|
|
39
|
-
return Object.keys(scoping).length > 0;
|
|
40
|
-
}
|
|
41
|
-
function scoperForCall(scoping) {
|
|
42
|
-
if (testOverride)
|
|
43
|
-
return testOverride;
|
|
44
|
-
if (hasRequestScoping(scoping)) {
|
|
45
|
-
return createWebScoper({
|
|
46
|
-
enabled: true,
|
|
47
|
-
searchAdapter: getSearchAdapter(),
|
|
48
|
-
scoping,
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
return getWebScoper();
|
|
52
|
-
}
|
|
53
|
-
function isWebContextLike(v) {
|
|
54
|
-
if (!v || typeof v !== "object")
|
|
55
|
-
return false;
|
|
56
|
-
const o = v;
|
|
57
|
-
return Array.isArray(o.findings) && Array.isArray(o.sources) && Array.isArray(o.queriesUsed);
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Map `scopeQuestionPack` output to the legacy `WebScoperResult` shape stored in `executionMemory.webContext`
|
|
61
|
-
* so `buildWebContextEvidenceMarkdown` and synthesis paths stay compatible.
|
|
62
|
-
*/
|
|
63
|
-
export function mapWebScopePackResultToWebScoperResult(pack) {
|
|
64
|
-
if (!pack.available) {
|
|
65
|
-
return { available: false, reason: "notEligible" };
|
|
66
|
-
}
|
|
67
|
-
const pc = pack.context;
|
|
68
|
-
const findings = Array.isArray(pc.findings) ? pc.findings : [];
|
|
69
|
-
const sources = Array.isArray(pc.sources) ? pc.sources : [];
|
|
70
|
-
const queriesUsed = Array.isArray(pc.queriesUsed) ? pc.queriesUsed : [];
|
|
71
|
-
const summary = typeof pc.summary === "string" ? pc.summary.trim() : "";
|
|
72
|
-
const hasLegacy = findings.length > 0 ||
|
|
73
|
-
sources.length > 0 ||
|
|
74
|
-
queriesUsed.length > 0 ||
|
|
75
|
-
summary.length > 0;
|
|
76
|
-
if (hasLegacy) {
|
|
77
|
-
return {
|
|
78
|
-
available: true,
|
|
79
|
-
context: {
|
|
80
|
-
findings,
|
|
81
|
-
...(summary ? { summary } : {}),
|
|
82
|
-
queriesUsed,
|
|
83
|
-
evidenceCount: findings.length,
|
|
84
|
-
sources,
|
|
85
|
-
retrievedAt: new Date().toISOString(),
|
|
86
|
-
},
|
|
87
|
-
cached: false,
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
const scopes = pc.scopes;
|
|
91
|
-
if (scopes && typeof scopes === "object") {
|
|
92
|
-
for (const s of Object.values(scopes)) {
|
|
93
|
-
if (s?.available === true && s.context && isWebContextLike(s.context)) {
|
|
94
|
-
return {
|
|
95
|
-
available: true,
|
|
96
|
-
context: s.context,
|
|
97
|
-
cached: Boolean(s.cached),
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return { available: false, reason: "noQueries" };
|
|
103
|
-
}
|
|
104
|
-
/** Non-empty trimmed strings only; omits unset/blank ids. */
|
|
105
|
-
export function webScopeActivixCorrelationPatch(parts) {
|
|
106
|
-
const out = {};
|
|
107
|
-
const jobId = typeof parts.jobId === "string" ? parts.jobId.trim() : "";
|
|
108
|
-
const taskId = typeof parts.taskId === "string" ? parts.taskId.trim() : "";
|
|
109
|
-
const sessionId = typeof parts.sessionId === "string" ? parts.sessionId.trim() : "";
|
|
110
|
-
if (jobId)
|
|
111
|
-
out.jobId = jobId;
|
|
112
|
-
if (taskId)
|
|
113
|
-
out.taskId = taskId;
|
|
114
|
-
if (sessionId)
|
|
115
|
-
out.sessionId = sessionId;
|
|
116
|
-
return out;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Run scopeGeneric and return the result. On any thrown error, returns an available:false result
|
|
120
|
-
* so callers can apply lenient fallback without try/catch boilerplate.
|
|
121
|
-
*/
|
|
122
|
-
export async function runWebScope(input, options) {
|
|
123
|
-
try {
|
|
124
|
-
return await scoperForCall(options?.scoping).scopeGeneric(input);
|
|
125
|
-
}
|
|
126
|
-
catch (err) {
|
|
127
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
128
|
-
return { available: false, reason: "error", error: message };
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Run `scopeQuestionPack` and normalize to {@link WebScoperResult} for `executionMemory.webContext`.
|
|
133
|
-
*/
|
|
134
|
-
export async function runWebScopeQuestionPack(input, options) {
|
|
135
|
-
try {
|
|
136
|
-
const pack = await scoperForCall(options?.scoping).scopeQuestionPack(input);
|
|
137
|
-
return mapWebScopePackResultToWebScoperResult(pack);
|
|
138
|
-
}
|
|
139
|
-
catch (err) {
|
|
140
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
141
|
-
return { available: false, reason: "error", error: message };
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
//# sourceMappingURL=webScoper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webScoper.js","sourceRoot":"","sources":["../../src/narrix/webScoper.ts"],"names":[],"mappings":"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"}
|