@exellix/ai-tasks 10.0.9 → 10.0.10

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 (60) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +15 -15
  3. package/RUNTASK_REQUEST.md +1 -1
  4. package/dist/core/task-sdk.d.ts.map +1 -1
  5. package/dist/core/task-sdk.js +26 -12
  6. package/dist/core/task-sdk.js.map +1 -1
  7. package/dist/index.d.ts +2 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +1 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/localTasks/collectEvidence.d.ts.map +1 -1
  12. package/dist/localTasks/collectEvidence.js +12 -22
  13. package/dist/localTasks/collectEvidence.js.map +1 -1
  14. package/dist/localTasks/decideWebScope.js +1 -1
  15. package/dist/localTasks/decideWebScope.js.map +1 -1
  16. package/dist/localTasks/index.d.ts.map +1 -1
  17. package/dist/localTasks/index.js +2 -0
  18. package/dist/localTasks/index.js.map +1 -1
  19. package/dist/localTasks/playgroundSeedMain.d.ts +4 -0
  20. package/dist/localTasks/playgroundSeedMain.d.ts.map +1 -0
  21. package/dist/localTasks/playgroundSeedMain.js +26 -0
  22. package/dist/localTasks/playgroundSeedMain.js.map +1 -0
  23. package/dist/narrix/narrixUnitExecution.d.ts.map +1 -1
  24. package/dist/narrix/narrixUnitExecution.js +9 -2
  25. package/dist/narrix/narrixUnitExecution.js.map +1 -1
  26. package/dist/narrix/webContextMarkdown.d.ts +4 -25
  27. package/dist/narrix/webContextMarkdown.d.ts.map +1 -1
  28. package/dist/narrix/webContextMarkdown.js +42 -57
  29. package/dist/narrix/webContextMarkdown.js.map +1 -1
  30. package/dist/node-execution/createNodeExecutionHost.js +1 -1
  31. package/dist/node-execution/createNodeExecutionHost.js.map +1 -1
  32. package/dist/node-execution/executePlaygroundElement.d.ts +23 -0
  33. package/dist/node-execution/executePlaygroundElement.d.ts.map +1 -0
  34. package/dist/node-execution/executePlaygroundElement.js +80 -0
  35. package/dist/node-execution/executePlaygroundElement.js.map +1 -0
  36. package/dist/node-execution/index.d.ts +2 -0
  37. package/dist/node-execution/index.d.ts.map +1 -1
  38. package/dist/node-execution/index.js +1 -0
  39. package/dist/node-execution/index.js.map +1 -1
  40. package/dist/types/task-types.d.ts +17 -34
  41. package/dist/types/task-types.d.ts.map +1 -1
  42. package/dist/types/task-types.js.map +1 -1
  43. package/dist/types/web-scope-types.d.ts +22 -0
  44. package/dist/types/web-scope-types.d.ts.map +1 -0
  45. package/dist/types/web-scope-types.js +2 -0
  46. package/dist/types/web-scope-types.js.map +1 -0
  47. package/dist/web-scope/applyWebScopeToRequest.d.ts +11 -0
  48. package/dist/web-scope/applyWebScopeToRequest.d.ts.map +1 -0
  49. package/dist/web-scope/applyWebScopeToRequest.js +75 -0
  50. package/dist/web-scope/applyWebScopeToRequest.js.map +1 -0
  51. package/dist/web-scope/buildSearchInput.d.ts +19 -0
  52. package/dist/web-scope/buildSearchInput.d.ts.map +1 -0
  53. package/dist/web-scope/buildSearchInput.js +178 -0
  54. package/dist/web-scope/buildSearchInput.js.map +1 -0
  55. package/dist/web-scope/client.d.ts +12 -0
  56. package/dist/web-scope/client.d.ts.map +1 -0
  57. package/dist/web-scope/client.js +72 -0
  58. package/dist/web-scope/client.js.map +1 -0
  59. package/documenations/web-scoping-in-ai-tasks.md +101 -424
  60. package/package.json +7 -7
@@ -0,0 +1,178 @@
1
+ import { randomUUID } from "node:crypto";
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 readQuestion(input) {
16
+ if (typeof input === "string") {
17
+ const t = input.trim();
18
+ return t || undefined;
19
+ }
20
+ if (isRecord(input) && typeof input.question === "string") {
21
+ const t = input.question.trim();
22
+ return t || undefined;
23
+ }
24
+ return undefined;
25
+ }
26
+ function readQuestionFromRequest(request) {
27
+ const fromInput = readQuestion(request.input);
28
+ if (fromInput)
29
+ return fromInput;
30
+ const contract = request.nodePlan?.invokeContract;
31
+ const taskVariable = contract?.taskVariable;
32
+ if (isRecord(taskVariable) && typeof taskVariable.question === "string") {
33
+ const t = taskVariable.question.trim();
34
+ if (t)
35
+ return t;
36
+ }
37
+ const em = request.executionMemory;
38
+ const emTaskVars = em?.taskVariables;
39
+ if (isRecord(emTaskVars) && typeof emTaskVars.question === "string") {
40
+ const t = emTaskVars.question.trim();
41
+ if (t)
42
+ return t;
43
+ }
44
+ return undefined;
45
+ }
46
+ function readRecordFromInput(input) {
47
+ if (!isRecord(input))
48
+ return undefined;
49
+ if (isRecord(input.record))
50
+ return input.record;
51
+ const { question: _q, ...rest } = input;
52
+ return Object.keys(rest).length > 0 ? rest : undefined;
53
+ }
54
+ function knownFactsToRecord(cni) {
55
+ if (!isRecord(cni))
56
+ return undefined;
57
+ const facts = cni.knownFacts;
58
+ if (!Array.isArray(facts))
59
+ return undefined;
60
+ const out = {};
61
+ for (const f of facts) {
62
+ if (!isRecord(f))
63
+ continue;
64
+ const key = f.key;
65
+ if (typeof key !== "string" || !key.trim())
66
+ continue;
67
+ if (f.value !== undefined)
68
+ out[key.trim()] = f.value;
69
+ }
70
+ return Object.keys(out).length > 0 ? out : undefined;
71
+ }
72
+ function mergeRecords(...parts) {
73
+ const out = {};
74
+ for (const p of parts) {
75
+ if (!p)
76
+ continue;
77
+ Object.assign(out, p);
78
+ }
79
+ return Object.keys(out).length > 0 ? out : undefined;
80
+ }
81
+ /** Map legacy graphenix `webScoping` / unitParams into {@link WebScopeOptions}. */
82
+ export function mapLegacyWebScopingToOptions(raw) {
83
+ if (!isRecord(raw))
84
+ return undefined;
85
+ const opts = {};
86
+ if (typeof raw.maxQueries === "number")
87
+ opts.maxQueries = raw.maxQueries;
88
+ if (typeof raw.freshnessDays === "number")
89
+ opts.freshnessDays = raw.freshnessDays;
90
+ if (Array.isArray(raw.includeDomains))
91
+ opts.includeDomains = raw.includeDomains.filter((d) => typeof d === "string");
92
+ if (Array.isArray(raw.excludeDomains))
93
+ opts.excludeDomains = raw.excludeDomains.filter((d) => typeof d === "string");
94
+ if (Array.isArray(raw.preferredDomains)) {
95
+ opts.preferredDomains = raw.preferredDomains.filter((d) => typeof d === "string");
96
+ }
97
+ if (raw.topic === "general" || raw.topic === "news")
98
+ opts.topic = raw.topic;
99
+ if (typeof raw.gapFill === "boolean")
100
+ opts.gapFill = raw.gapFill;
101
+ if (Array.isArray(raw.webScopeTemplates)) {
102
+ opts.queryTemplates = raw.webScopeTemplates.filter((t) => typeof t === "string" && t.trim()).map((t) => t.trim());
103
+ }
104
+ if (Array.isArray(raw.queryTemplates)) {
105
+ opts.queryTemplates = raw.queryTemplates.filter((t) => typeof t === "string" && t.trim()).map((t) => t.trim());
106
+ }
107
+ return Object.keys(opts).length > 0 ? opts : undefined;
108
+ }
109
+ export function normalizeWebScopeQuestions(entries) {
110
+ if (!Array.isArray(entries))
111
+ return [];
112
+ const out = [];
113
+ for (const e of entries) {
114
+ if (!e || typeof e !== "object")
115
+ continue;
116
+ const question = typeof e.question === "string" ? e.question.trim() : "";
117
+ if (!question)
118
+ continue;
119
+ const id = typeof e.id === "string" && e.id.trim() ? e.id.trim() : randomUUID();
120
+ out.push({
121
+ id,
122
+ question,
123
+ ...(typeof e.purpose === "string" && e.purpose.trim() ? { purpose: e.purpose.trim() } : {}),
124
+ ...(typeof e.mappedProperty === "string" && e.mappedProperty.trim()
125
+ ? { mappedProperty: e.mappedProperty.trim() }
126
+ : {}),
127
+ ...(e.options ? { options: e.options } : {}),
128
+ });
129
+ }
130
+ return out;
131
+ }
132
+ export function webScopeInvokeConfigFromUnitParams(unitParams) {
133
+ if (!unitParams)
134
+ return { enableWebScope: true };
135
+ const legacyScoping = unitParams.webScoping ?? unitParams.webScopeOptions;
136
+ const options = (isRecord(unitParams.options) ? unitParams.options : undefined) ??
137
+ mapLegacyWebScopingToOptions(legacyScoping);
138
+ const questionsRaw = (Array.isArray(unitParams.webScopeQuestions) ? unitParams.webScopeQuestions : undefined) ??
139
+ (Array.isArray(unitParams.questions) ? unitParams.questions : undefined);
140
+ return {
141
+ enableWebScope: unitParams.enableWebScope !== false,
142
+ options,
143
+ questions: Array.isArray(questionsRaw) ? questionsRaw : undefined,
144
+ snapshot: isRecord(unitParams.snapshot) ? unitParams.snapshot : undefined,
145
+ forceWeb: unitParams.forceWeb === true,
146
+ primaryQuestionId: typeof unitParams.primaryQuestionId === "string" ? unitParams.primaryQuestionId : undefined,
147
+ };
148
+ }
149
+ /**
150
+ * Compile a RunTaskRequest + invoke config into {@link WebScopeInput} or {@link WebScopePackInput}
151
+ * for `@x12i/web-scoper`. No Graphenix / Activix fields.
152
+ */
153
+ export function buildWebScopeSearchPayload(args) {
154
+ const { request, config, cni } = args;
155
+ const rawInput = request.input;
156
+ const question = readQuestionFromRequest(request);
157
+ const record = mergeRecords(readRecordFromInput(rawInput), isRecord(readRecordInput(request)) ? readRecordInput(request) : undefined, knownFactsToRecord(cni));
158
+ const packQuestions = normalizeWebScopeQuestions(config.questions);
159
+ if (packQuestions.length > 0) {
160
+ const payload = {
161
+ questions: packQuestions,
162
+ ...(record ? { record } : {}),
163
+ ...(config.snapshot ? { snapshot: config.snapshot } : {}),
164
+ ...(config.options ? { options: config.options } : {}),
165
+ ...(config.forceWeb ? { forceWeb: true } : {}),
166
+ ...(config.primaryQuestionId ? { primaryQuestionId: config.primaryQuestionId } : {}),
167
+ };
168
+ return payload;
169
+ }
170
+ if (!question)
171
+ return null;
172
+ return {
173
+ question,
174
+ ...(record ? { record } : {}),
175
+ ...(config.options ? { options: config.options } : {}),
176
+ };
177
+ }
178
+ //# 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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"}