@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.
Files changed (187) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +32 -35
  3. package/RUNTASK_REQUEST.md +4 -4
  4. package/dist/activix/phaseTracking.d.ts +1 -1
  5. package/dist/activix/phaseTracking.d.ts.map +1 -1
  6. package/dist/activix/phaseTracking.js.map +1 -1
  7. package/dist/builders/task-request-builder.d.ts +1 -54
  8. package/dist/builders/task-request-builder.d.ts.map +1 -1
  9. package/dist/builders/task-request-builder.js +1 -180
  10. package/dist/builders/task-request-builder.js.map +1 -1
  11. package/dist/core/task-sdk.d.ts +4 -10
  12. package/dist/core/task-sdk.d.ts.map +1 -1
  13. package/dist/core/task-sdk.js +35 -117
  14. package/dist/core/task-sdk.js.map +1 -1
  15. package/dist/errors/runTaskExecutionError.d.ts +1 -1
  16. package/dist/errors/runTaskExecutionError.d.ts.map +1 -1
  17. package/dist/errors/runTaskExecutionError.js +0 -2
  18. package/dist/errors/runTaskExecutionError.js.map +1 -1
  19. package/dist/errors/smartInputValidationError.d.ts +1 -1
  20. package/dist/index.d.ts +5 -4
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +3 -3
  23. package/dist/index.js.map +1 -1
  24. package/dist/internal/resolveRunTaskRuntimeKnobs.d.ts +2 -5
  25. package/dist/internal/resolveRunTaskRuntimeKnobs.d.ts.map +1 -1
  26. package/dist/internal/resolveRunTaskRuntimeKnobs.js +3 -36
  27. package/dist/internal/resolveRunTaskRuntimeKnobs.js.map +1 -1
  28. package/dist/localTasks/collectEvidence.d.ts.map +1 -1
  29. package/dist/localTasks/collectEvidence.js +13 -23
  30. package/dist/localTasks/collectEvidence.js.map +1 -1
  31. package/dist/localTasks/decideWebScope.js +1 -1
  32. package/dist/localTasks/decideWebScope.js.map +1 -1
  33. package/dist/localTasks/index.d.ts +0 -1
  34. package/dist/localTasks/index.d.ts.map +1 -1
  35. package/dist/localTasks/index.js +2 -4
  36. package/dist/localTasks/index.js.map +1 -1
  37. package/dist/localTasks/playgroundSeedMain.d.ts +4 -0
  38. package/dist/localTasks/playgroundSeedMain.d.ts.map +1 -0
  39. package/dist/localTasks/playgroundSeedMain.js +26 -0
  40. package/dist/localTasks/playgroundSeedMain.js.map +1 -0
  41. package/dist/logxer/aiTasksDiagnosticCodes.d.ts +1 -1
  42. package/dist/logxer/aiTasksDiagnosticCodes.js +1 -1
  43. package/dist/logxer/aiTasksDiagnosticCodes.js.map +1 -1
  44. package/dist/narrix/narrixUnitExecution.d.ts.map +1 -1
  45. package/dist/narrix/narrixUnitExecution.js +1 -6
  46. package/dist/narrix/narrixUnitExecution.js.map +1 -1
  47. package/dist/narrix/webContextMarkdown.d.ts +2 -25
  48. package/dist/narrix/webContextMarkdown.d.ts.map +1 -1
  49. package/dist/narrix/webContextMarkdown.js +33 -57
  50. package/dist/narrix/webContextMarkdown.js.map +1 -1
  51. package/dist/node-execution/buildRequestFromNodePlan.d.ts.map +1 -1
  52. package/dist/node-execution/buildRequestFromNodePlan.js +0 -12
  53. package/dist/node-execution/buildRequestFromNodePlan.js.map +1 -1
  54. package/dist/node-execution/createNodeExecutionHost.d.ts.map +1 -1
  55. package/dist/node-execution/createNodeExecutionHost.js +1 -26
  56. package/dist/node-execution/createNodeExecutionHost.js.map +1 -1
  57. package/dist/node-execution/dispatchExecutionUnit.d.ts.map +1 -1
  58. package/dist/node-execution/dispatchExecutionUnit.js +0 -15
  59. package/dist/node-execution/dispatchExecutionUnit.js.map +1 -1
  60. package/dist/node-execution/executeNodeFromPlan.d.ts.map +1 -1
  61. package/dist/node-execution/executeNodeFromPlan.js +0 -15
  62. package/dist/node-execution/executeNodeFromPlan.js.map +1 -1
  63. package/dist/node-execution/executePlaygroundElement.d.ts +23 -0
  64. package/dist/node-execution/executePlaygroundElement.d.ts.map +1 -0
  65. package/dist/node-execution/executePlaygroundElement.js +80 -0
  66. package/dist/node-execution/executePlaygroundElement.js.map +1 -0
  67. package/dist/node-execution/index.d.ts +2 -0
  68. package/dist/node-execution/index.d.ts.map +1 -1
  69. package/dist/node-execution/index.js +1 -0
  70. package/dist/node-execution/index.js.map +1 -1
  71. package/dist/node-execution/types.d.ts +0 -2
  72. package/dist/node-execution/types.d.ts.map +1 -1
  73. package/dist/observability/classifyRunTaskFailure.d.ts +1 -1
  74. package/dist/observability/classifyRunTaskFailure.d.ts.map +1 -1
  75. package/dist/observability/classifyRunTaskFailure.js +0 -3
  76. package/dist/observability/classifyRunTaskFailure.js.map +1 -1
  77. package/dist/observability/extractAiTasksObservability.d.ts.map +1 -1
  78. package/dist/observability/extractAiTasksObservability.js +0 -8
  79. package/dist/observability/extractAiTasksObservability.js.map +1 -1
  80. package/dist/planWebScopeQuestions/index.d.ts +1 -1
  81. package/dist/planWebScopeQuestions/index.js +1 -1
  82. package/dist/rendrixUpstreamExports.d.ts +1 -1
  83. package/dist/rendrixUpstreamExports.d.ts.map +1 -1
  84. package/dist/rendrixUpstreamExports.js +1 -1
  85. package/dist/rendrixUpstreamExports.js.map +1 -1
  86. package/dist/synthesis/index.d.ts +1 -1
  87. package/dist/synthesis/index.js +1 -1
  88. package/dist/synthesis/resolveSourceMaterial.d.ts +3 -7
  89. package/dist/synthesis/resolveSourceMaterial.d.ts.map +1 -1
  90. package/dist/synthesis/resolveSourceMaterial.js +15 -78
  91. package/dist/synthesis/resolveSourceMaterial.js.map +1 -1
  92. package/dist/task-strategies/buildTaskStrategyCatalogDescriptor.d.ts +0 -1
  93. package/dist/task-strategies/buildTaskStrategyCatalogDescriptor.d.ts.map +1 -1
  94. package/dist/task-strategies/buildTaskStrategyCatalogDescriptor.js +1 -9
  95. package/dist/task-strategies/buildTaskStrategyCatalogDescriptor.js.map +1 -1
  96. package/dist/task-strategies/canonicalInputExecutionStrategies.d.ts +3 -4
  97. package/dist/task-strategies/canonicalInputExecutionStrategies.d.ts.map +1 -1
  98. package/dist/task-strategies/canonicalInputExecutionStrategies.js +3 -4
  99. package/dist/task-strategies/canonicalInputExecutionStrategies.js.map +1 -1
  100. package/dist/task-strategies/canonicalTaskStrategies.d.ts +2 -2
  101. package/dist/task-strategies/canonicalTaskStrategies.js +1 -1
  102. package/dist/task-strategies/canonicalTaskStrategies.js.map +1 -1
  103. package/dist/task-strategies/cataloxCatalogViews.d.ts +2 -5
  104. package/dist/task-strategies/cataloxCatalogViews.d.ts.map +1 -1
  105. package/dist/task-strategies/cataloxCatalogViews.js +3 -6
  106. package/dist/task-strategies/cataloxCatalogViews.js.map +1 -1
  107. package/dist/task-strategies/constants.d.ts +0 -4
  108. package/dist/task-strategies/constants.d.ts.map +1 -1
  109. package/dist/task-strategies/constants.js +0 -4
  110. package/dist/task-strategies/constants.js.map +1 -1
  111. package/dist/task-strategies/index.d.ts +4 -6
  112. package/dist/task-strategies/index.d.ts.map +1 -1
  113. package/dist/task-strategies/index.js +4 -5
  114. package/dist/task-strategies/index.js.map +1 -1
  115. package/dist/task-strategies/listAiTaskStrategies.d.ts +0 -2
  116. package/dist/task-strategies/listAiTaskStrategies.d.ts.map +1 -1
  117. package/dist/task-strategies/listAiTaskStrategies.js +1 -5
  118. package/dist/task-strategies/listAiTaskStrategies.js.map +1 -1
  119. package/dist/types/index.d.ts +1 -4
  120. package/dist/types/index.d.ts.map +1 -1
  121. package/dist/types/index.js +0 -1
  122. package/dist/types/index.js.map +1 -1
  123. package/dist/types/task-types.d.ts +9 -133
  124. package/dist/types/task-types.d.ts.map +1 -1
  125. package/dist/types/task-types.js +0 -4
  126. package/dist/types/task-types.js.map +1 -1
  127. package/dist/types/web-scope-types.d.ts +20 -0
  128. package/dist/types/web-scope-types.d.ts.map +1 -0
  129. package/dist/types/web-scope-types.js +2 -0
  130. package/dist/types/web-scope-types.js.map +1 -0
  131. package/dist/utils/runTaskRequestShape.d.ts +1 -5
  132. package/dist/utils/runTaskRequestShape.d.ts.map +1 -1
  133. package/dist/utils/runTaskRequestShape.js +0 -26
  134. package/dist/utils/runTaskRequestShape.js.map +1 -1
  135. package/dist/utils/templateContext.d.ts +16 -0
  136. package/dist/utils/templateContext.d.ts.map +1 -0
  137. package/dist/utils/templateContext.js +35 -0
  138. package/dist/utils/templateContext.js.map +1 -0
  139. package/dist/validation/helpers.d.ts.map +1 -1
  140. package/dist/validation/helpers.js +3 -22
  141. package/dist/validation/helpers.js.map +1 -1
  142. package/dist/validation/validateRunTaskConfig.d.ts.map +1 -1
  143. package/dist/validation/validateRunTaskConfig.js +2 -0
  144. package/dist/validation/validateRunTaskConfig.js.map +1 -1
  145. package/dist/validation/validateRunTaskInvoke.d.ts.map +1 -1
  146. package/dist/validation/validateRunTaskInvoke.js +2 -0
  147. package/dist/validation/validateRunTaskInvoke.js.map +1 -1
  148. package/dist/validation/validateWebScopeUnit.d.ts +16 -0
  149. package/dist/validation/validateWebScopeUnit.d.ts.map +1 -0
  150. package/dist/validation/validateWebScopeUnit.js +107 -0
  151. package/dist/validation/validateWebScopeUnit.js.map +1 -0
  152. package/dist/web-scope/applyWebScopeToRequest.d.ts +11 -0
  153. package/dist/web-scope/applyWebScopeToRequest.d.ts.map +1 -0
  154. package/dist/web-scope/applyWebScopeToRequest.js +42 -0
  155. package/dist/web-scope/applyWebScopeToRequest.js.map +1 -0
  156. package/dist/web-scope/buildSearchInput.d.ts +22 -0
  157. package/dist/web-scope/buildSearchInput.d.ts.map +1 -0
  158. package/dist/web-scope/buildSearchInput.js +108 -0
  159. package/dist/web-scope/buildSearchInput.js.map +1 -0
  160. package/dist/web-scope/client.d.ts +12 -0
  161. package/dist/web-scope/client.d.ts.map +1 -0
  162. package/dist/web-scope/client.js +72 -0
  163. package/dist/web-scope/client.js.map +1 -0
  164. package/dist/web-scope/renderWebQueryTemplate.d.ts +14 -0
  165. package/dist/web-scope/renderWebQueryTemplate.d.ts.map +1 -0
  166. package/dist/web-scope/renderWebQueryTemplate.js +44 -0
  167. package/dist/web-scope/renderWebQueryTemplate.js.map +1 -0
  168. package/dist/web-scope/webContextMarkdown.d.ts +22 -0
  169. package/dist/web-scope/webContextMarkdown.d.ts.map +1 -0
  170. package/dist/web-scope/webContextMarkdown.js +163 -0
  171. package/dist/web-scope/webContextMarkdown.js.map +1 -0
  172. package/documenations/run-task-execution-flow.md +3 -7
  173. package/documenations/web-scoping-in-ai-tasks.md +88 -428
  174. package/package.json +16 -33
  175. package/dist/narrix/applyWebScopeToRequest.d.ts +0 -9
  176. package/dist/narrix/applyWebScopeToRequest.d.ts.map +0 -1
  177. package/dist/narrix/applyWebScopeToRequest.js +0 -156
  178. package/dist/narrix/applyWebScopeToRequest.js.map +0 -1
  179. package/dist/narrix/buildWebScopeScopeInput.d.ts +0 -39
  180. package/dist/narrix/buildWebScopeScopeInput.d.ts.map +0 -1
  181. package/dist/narrix/buildWebScopeScopeInput.js +0 -193
  182. package/dist/narrix/buildWebScopeScopeInput.js.map +0 -1
  183. package/dist/narrix/webScoper.d.ts +0 -43
  184. package/dist/narrix/webScoper.d.ts.map +0 -1
  185. package/dist/narrix/webScoper.js +0 -144
  186. package/dist/narrix/webScoper.js.map +0 -1
  187. package/documenations/activix.md +0 -187
@@ -1 +1 @@
1
- {"version":3,"file":"validateRunTaskConfig.js","sourceRoot":"","sources":["../../src/validation/validateRunTaskConfig.ts"],"names":[],"mappings":"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"}
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;AAI1C,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,CA0GxC"}
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":"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"}
@@ -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":"AAGA,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE9F,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,eAAe,CAAC,OAAuB;IAC9C,MAAM,EAAE,GAAG,OAAO,CAAC,eAAsD,CAAC;IAC1E,MAAM,OAAO,GAAG,EAAE,EAAE,KAAK,CAAC;IAC1B,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAE,OAA6B,CAAC,GAAG,CAAC,EAAE,CAAC;QACtE,OAAQ,OAA4C,CAAC,GAAG,CAAC;IAC3D,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACtC,OAAO,OAAO,CAAC,KAA4D,CAAC;AAC9E,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAChD,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACxC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAY;IACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,SAAS;QAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;QAClB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YAAE,SAAS;QACrD,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CACnB,GAAG,KAAiD;IAEpD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CAChD,UAAoC;IAEpC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IAEjD,MAAM,gBAAgB,GACpB,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;IAEhB,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC;QACnE,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,SAAS,CAAC;IAEd,OAAO;QACL,cAAc,EAAE,UAAU,CAAC,cAAc,KAAK,KAAK;QACnD,gBAAgB;QAChB,iBAAiB,EAAE,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;QACpG,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,UAAU,CAAC,OAA2B,CAAC,CAAC,CAAC,SAAS;QAC3F,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACzE,QAAQ,EAAE,UAAU,CAAC,QAAQ,KAAK,IAAI;QACtC,iBAAiB,EACf,OAAO,UAAU,CAAC,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;KAC9F,CAAC;AACJ,CAAC;AASD;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAA6B;IAE7B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,MAAM,MAAM,GAAG,YAAY,CACzB,mBAAmB,CAAC,QAAQ,CAAC,EAC7B,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAE,eAAe,CAAC,OAAO,CAA6B,CAAC,CAAC,CAAC,SAAS,EACtG,kBAAkB,CAAC,GAAG,CAAC,CACxB,CAAC;IAEF,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpE,MAAM,aAAa,GAAG,uBAAuB,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACjF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,OAAO,GAAsB;YACjC,SAAS,EAAE,aAAa;YACxB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrF,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC1E,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,OAAO;QACL,QAAQ;QACR,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC"}
@@ -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"}