@exellix/ai-tasks 8.4.3 → 8.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/.docs/ai-tasks-model-profile-aliases-7x.md +27 -5
  2. package/CHANGELOG.md +16 -0
  3. package/README.md +5 -4
  4. package/RUNTASK_REQUEST.md +1 -1
  5. package/dist/core/task-sdk.d.ts.map +1 -1
  6. package/dist/core/task-sdk.js +56 -29
  7. package/dist/core/task-sdk.js.map +1 -1
  8. package/dist/errors/runTaskExecutionError.d.ts +1 -1
  9. package/dist/errors/runTaskExecutionError.d.ts.map +1 -1
  10. package/dist/errors/runTaskExecutionError.js +4 -1
  11. package/dist/errors/runTaskExecutionError.js.map +1 -1
  12. package/dist/errors/runTaskModelResolutionError.d.ts +39 -0
  13. package/dist/errors/runTaskModelResolutionError.d.ts.map +1 -0
  14. package/dist/errors/runTaskModelResolutionError.js +92 -0
  15. package/dist/errors/runTaskModelResolutionError.js.map +1 -0
  16. package/dist/execution-strategies/constants.d.ts +11 -4
  17. package/dist/execution-strategies/constants.d.ts.map +1 -1
  18. package/dist/execution-strategies/constants.js +11 -4
  19. package/dist/execution-strategies/constants.js.map +1 -1
  20. package/dist/execution-strategies/executionStrategyCatalogMetadata.d.ts +6 -3
  21. package/dist/execution-strategies/executionStrategyCatalogMetadata.d.ts.map +1 -1
  22. package/dist/execution-strategies/executionStrategyCatalogMetadata.js +36 -5
  23. package/dist/execution-strategies/executionStrategyCatalogMetadata.js.map +1 -1
  24. package/dist/execution-strategies/executionStrategyRequestPayload.d.ts +19 -0
  25. package/dist/execution-strategies/executionStrategyRequestPayload.d.ts.map +1 -0
  26. package/dist/execution-strategies/executionStrategyRequestPayload.js +21 -0
  27. package/dist/execution-strategies/executionStrategyRequestPayload.js.map +1 -0
  28. package/dist/execution-strategies/runExecutionStrategyViaXynthesis.d.ts +35 -0
  29. package/dist/execution-strategies/runExecutionStrategyViaXynthesis.d.ts.map +1 -0
  30. package/dist/execution-strategies/runExecutionStrategyViaXynthesis.js +129 -0
  31. package/dist/execution-strategies/runExecutionStrategyViaXynthesis.js.map +1 -0
  32. package/dist/index.d.ts +16 -4
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +15 -4
  35. package/dist/index.js.map +1 -1
  36. package/dist/internal/resolveLlmCallForXynthesis.d.ts.map +1 -1
  37. package/dist/internal/resolveLlmCallForXynthesis.js +6 -0
  38. package/dist/internal/resolveLlmCallForXynthesis.js.map +1 -1
  39. package/dist/internal/runPostStepLlmCall.d.ts.map +1 -1
  40. package/dist/internal/runPostStepLlmCall.js +4 -1
  41. package/dist/internal/runPostStepLlmCall.js.map +1 -1
  42. package/dist/logxer/aiTasksDiagnosticCodes.d.ts +3 -0
  43. package/dist/logxer/aiTasksDiagnosticCodes.d.ts.map +1 -1
  44. package/dist/logxer/aiTasksDiagnosticCodes.js +3 -0
  45. package/dist/logxer/aiTasksDiagnosticCodes.js.map +1 -1
  46. package/dist/observability/classifyRunTaskFailure.d.ts +1 -1
  47. package/dist/observability/classifyRunTaskFailure.d.ts.map +1 -1
  48. package/dist/observability/classifyRunTaskFailure.js +12 -0
  49. package/dist/observability/classifyRunTaskFailure.js.map +1 -1
  50. package/dist/observability/logRunTaskFailure.d.ts.map +1 -1
  51. package/dist/observability/logRunTaskFailure.js +26 -8
  52. package/dist/observability/logRunTaskFailure.js.map +1 -1
  53. package/dist/planWebScopeQuestions/index.d.ts +4 -8
  54. package/dist/planWebScopeQuestions/index.d.ts.map +1 -1
  55. package/dist/planWebScopeQuestions/index.js +114 -149
  56. package/dist/planWebScopeQuestions/index.js.map +1 -1
  57. package/dist/post-steps/audit/auditChecklistFuncxEnvelope.d.ts +57 -0
  58. package/dist/post-steps/audit/auditChecklistFuncxEnvelope.d.ts.map +1 -0
  59. package/dist/post-steps/audit/auditChecklistFuncxEnvelope.js +80 -0
  60. package/dist/post-steps/audit/auditChecklistFuncxEnvelope.js.map +1 -0
  61. package/dist/task-strategies/canonicalInputExecutionStrategies.d.ts +21 -21
  62. package/dist/task-strategies/canonicalInputExecutionStrategies.js +12 -12
  63. package/dist/task-strategies/canonicalInputExecutionStrategies.js.map +1 -1
  64. package/dist/task-strategies/normalize.d.ts.map +1 -1
  65. package/dist/task-strategies/normalize.js +3 -0
  66. package/dist/task-strategies/normalize.js.map +1 -1
  67. package/dist/task-strategies/types.d.ts +4 -2
  68. package/dist/task-strategies/types.d.ts.map +1 -1
  69. package/dist/types/llmCall.d.ts +1 -1
  70. package/dist/types/llmCall.d.ts.map +1 -1
  71. package/dist/types/llmCall.js.map +1 -1
  72. package/dist/utils/concreteModelId.d.ts.map +1 -1
  73. package/dist/utils/concreteModelId.js +4 -1
  74. package/dist/utils/concreteModelId.js.map +1 -1
  75. package/dist/utils/resolveAiProfileModel.d.ts +6 -1
  76. package/dist/utils/resolveAiProfileModel.d.ts.map +1 -1
  77. package/dist/utils/resolveAiProfileModel.js +11 -2
  78. package/dist/utils/resolveAiProfileModel.js.map +1 -1
  79. package/dist/utils/resolveRunTaskModelReferences.d.ts.map +1 -1
  80. package/dist/utils/resolveRunTaskModelReferences.js +93 -30
  81. package/dist/utils/resolveRunTaskModelReferences.js.map +1 -1
  82. package/dist/validation/helpers.js +1 -1
  83. package/dist/validation/helpers.js.map +1 -1
  84. package/documenations/funcx-catalog-hosting-checklist.md +2 -2
  85. package/documenations/funcx-scoping-integration-gaps.md +8 -6
  86. package/documenations/upstream-feature-requests/README.md +10 -0
  87. package/documenations/upstream-feature-requests/funcx-generic-xynthesis-hosting.md +294 -0
  88. package/documenations/upstream-feature-requests/funcx-pre-post-sidekick-actions.md +301 -0
  89. package/documenations/upstream-feature-requests/xynthesis-execution-strategies-option-a.md +637 -0
  90. package/package.json +2 -10
@@ -1,11 +1,12 @@
1
1
  /**
2
2
  * AI-driven planning of explicit web-scope questions (Studio → `narrix.webScopeQuestions`).
3
- * FuncX **`research/plan-questions`** uses the generic envelope (see `runResearchPlanQuestionsViaFuncx`).
3
+ * Default path: xynthesis `plan-web-scope-questions` ( `@exellix/xynthesis` 4.4.0).
4
4
  */
5
5
  import { randomUUID } from "node:crypto";
6
- import { runPostStepLlmCall } from "../internal/runPostStepLlmCall.js";
7
- import { adaptFuncxResearchPlanToOutput, runResearchPlanQuestionsViaFuncx, setResearchPlanQuestionsFuncxInvoker, } from "./runResearchPlanQuestionsFuncx.js";
8
- export { setResearchPlanQuestionsFuncxInvoker };
6
+ import { runPlanWebScopeQuestionsAction, setPlanWebScopeQuestionsActionInvoker, resolveOutputExpectation, } from "@exellix/xynthesis";
7
+ import { buildResearchPlanQuestionsPayload } from "../execution-strategies/genericExecutionFuncxEnvelope.js";
8
+ import { resolveModelReferenceForXynthesis } from "../utils/resolveAiProfileModel.js";
9
+ export { setPlanWebScopeQuestionsActionInvoker };
9
10
  /** Stable machine reason codes for `PlanWebScopeQuestionsOutput.reasonCodes`. */
10
11
  export const PlanWebScopeQuestionsReasonCode = {
11
12
  OUTPUT_INVALID: "OUTPUT_INVALID",
@@ -69,100 +70,61 @@ export function parseAndValidatePlanWebScopeQuestionsOutput(rawText, maxQuestion
69
70
  return { ok: false, errors };
70
71
  }
71
72
  let confidence = 0;
72
- const confidenceRaw = parsed.confidence;
73
- if (typeof confidenceRaw !== "number" || !Number.isFinite(confidenceRaw)) {
74
- errors.push("confidence must be a finite number");
75
- }
76
- else if (confidenceRaw < 0 || confidenceRaw > 1) {
77
- errors.push("confidence must be between 0 and 1 inclusive");
78
- }
79
- else {
80
- confidence = confidenceRaw;
81
- }
82
- const questionsRaw = parsed.questions;
83
- let questionsIn = [];
84
- if (!Array.isArray(questionsRaw)) {
85
- errors.push("questions must be an array");
86
- }
87
- else if (questionsRaw.length > maxQ) {
88
- errors.push(`questions length ${questionsRaw.length} exceeds maxQuestions (${maxQ})`);
73
+ const c = parsed.confidence;
74
+ if (typeof c === "number" && Number.isFinite(c)) {
75
+ if (c < 0 || c > 1) {
76
+ errors.push("confidence must be a finite number in [0, 1]");
77
+ }
78
+ else {
79
+ confidence = c;
80
+ }
89
81
  }
90
82
  else {
91
- questionsIn = questionsRaw;
92
- for (let i = 0; i < questionsRaw.length; i++) {
93
- const q = questionsRaw[i];
94
- if (!isRecord(q)) {
95
- errors.push(`questions[${i}] must be an object`);
96
- continue;
97
- }
98
- if (typeof q.question !== "string" || !q.question.trim()) {
99
- errors.push(`questions[${i}].question must be a non-empty string`);
100
- }
101
- if (typeof q.reason !== "string" || !q.reason.trim()) {
102
- errors.push(`questions[${i}].reason must be a non-empty string`);
103
- }
104
- if (q.source !== undefined && q.source !== "ai-driven") {
105
- errors.push(`questions[${i}].source must be "ai-driven" when set`);
106
- }
107
- if (q.id !== undefined && typeof q.id !== "string") {
108
- errors.push(`questions[${i}].id must be a string when set`);
109
- }
83
+ errors.push("confidence must be a finite number in [0, 1]");
84
+ }
85
+ const questionsRaw = Array.isArray(parsed.questions) ? parsed.questions : [];
86
+ const questions = [];
87
+ for (const q of questionsRaw) {
88
+ if (!isRecord(q))
89
+ continue;
90
+ const question = typeof q.question === "string" ? q.question.trim() : "";
91
+ if (!question) {
92
+ errors.push("each question must have a non-empty question string");
93
+ continue;
110
94
  }
111
- }
112
- const skipped = parsed.skipped === true;
113
- const reasonCodesRaw = parsed.reasonCodes;
114
- if (reasonCodesRaw !== undefined && !Array.isArray(reasonCodesRaw)) {
115
- errors.push("reasonCodes must be an array of strings when set");
116
- }
117
- else if (Array.isArray(reasonCodesRaw)) {
118
- for (let i = 0; i < reasonCodesRaw.length; i++) {
119
- if (typeof reasonCodesRaw[i] !== "string") {
120
- errors.push(`reasonCodes[${i}] must be a string`);
121
- }
95
+ const reason = typeof q.reason === "string" ? q.reason.trim() : "";
96
+ if (!reason) {
97
+ errors.push("each question must have a non-empty reason string");
98
+ continue;
122
99
  }
100
+ const source = q.source;
101
+ if (source !== undefined && source !== "ai-driven") {
102
+ errors.push('each question "source" must be "ai-driven" when set');
103
+ continue;
104
+ }
105
+ const id = typeof q.id === "string" && q.id.trim() ? q.id.trim() : randomUUID();
106
+ questions.push({ id, question, reason, source: "ai-driven" });
123
107
  }
124
- if (errors.length)
125
- return { ok: false, errors };
126
- const questions = questionsIn.map((q) => {
127
- const o = q;
128
- const id = typeof o.id === "string" && o.id.trim()
129
- ? o.id.trim()
130
- : randomUUID();
131
- return {
132
- id,
133
- question: String(o.question).trim(),
134
- reason: String(o.reason).trim(),
135
- source: "ai-driven",
136
- };
137
- });
138
- const reasonCodes = Array.isArray(reasonCodesRaw) && reasonCodesRaw.length
139
- ? reasonCodesRaw.map(String)
108
+ if (questions.length > maxQ) {
109
+ errors.push(`questions length must be <= ${maxQ}`);
110
+ }
111
+ const skipped = parsed.skipped === true;
112
+ const reasonCodes = Array.isArray(parsed.reasonCodes)
113
+ ? parsed.reasonCodes.filter((x) => typeof x === "string")
140
114
  : undefined;
115
+ if (errors.length) {
116
+ return { ok: false, errors };
117
+ }
141
118
  return {
142
119
  ok: true,
143
120
  value: {
144
121
  questions,
145
122
  confidence,
146
123
  ...(skipped ? { skipped: true } : {}),
147
- ...(reasonCodes ? { reasonCodes } : {}),
124
+ ...(reasonCodes?.length ? { reasonCodes } : {}),
148
125
  },
149
126
  };
150
127
  }
151
- const PLAN_WEB_SCOPE_SYSTEM = `You are a planning assistant for web evidence collection.
152
- Return ONLY a single JSON object (no markdown fences, no prose) with this exact shape:
153
- {
154
- "questions": Array<{ "id"?: string, "question": string, "reason": string, "source": "ai-driven" }>,
155
- "confidence": number,
156
- "skipped"?: boolean,
157
- "reasonCodes"?: string[]
158
- }
159
- Rules:
160
- - "confidence" is a number from 0 to 1.
161
- - Each "question" must be a concrete web search or research question (non-empty string).
162
- - Each "reason" briefly explains why that question helps (non-empty string).
163
- - "source" must be the literal string "ai-driven" for every question entry.
164
- - Produce at most the requested maxQuestions items in "questions".
165
- - If you cannot propose useful questions, set "skipped": true, "questions": [], "confidence" <= 0.5, and include "reasonCodes" such as ["INPUT_TOO_THIN"].`;
166
128
  export function buildPlanWebScopeQuestionsUserPrompt(input) {
167
129
  const maxQ = clampInt(input.maxQuestions, 1, 20);
168
130
  const nq = typeof input.nodeQuestion === "string" ? input.nodeQuestion.trim() : "";
@@ -187,10 +149,10 @@ export function buildPlanWebScopeQuestionsUserPrompt(input) {
187
149
  return lines.join("\n");
188
150
  }
189
151
  /**
190
- * Plans web-scope questions via Xynthesis (default) or FuncX `research/plan-questions`.
152
+ * Plans web-scope questions via xynthesis `plan-web-scope-questions`.
191
153
  */
192
154
  export async function runPlanWebScopeQuestions(params) {
193
- const { input, backend = "xynthesis", funcxFunctionId, llmCall, jobId, taskId, agentId, traceCollector, traceTask, observationSink, } = params;
155
+ const { input, llmCall, jobId, taskId, agentId, observationSink } = params;
194
156
  const nq = typeof input.nodeQuestion === "string" ? input.nodeQuestion.trim() : "";
195
157
  const maxQ = clampInt(input.maxQuestions, 1, 20);
196
158
  if (!nq) {
@@ -201,74 +163,77 @@ export async function runPlanWebScopeQuestions(params) {
201
163
  reasonCodes: [PlanWebScopeQuestionsReasonCode.INPUT_TOO_THIN],
202
164
  };
203
165
  }
204
- if (backend === "funcx") {
205
- try {
206
- const raw = await runResearchPlanQuestionsViaFuncx({
207
- input: { ...input, nodeQuestion: nq, maxQuestions: maxQ },
208
- jobId,
209
- taskId,
210
- agentId,
211
- funcxFunctionId,
212
- });
213
- const adapted = adaptFuncxResearchPlanToOutput(raw);
214
- const maxAllowed = maxQ;
215
- if (adapted.questions.length > maxAllowed) {
216
- return {
217
- questions: [],
218
- confidence: 0,
219
- skipped: true,
220
- reasonCodes: [PlanWebScopeQuestionsReasonCode.OUTPUT_INVALID],
221
- };
222
- }
223
- if (adapted.questions.length === 0 && adapted.skipped !== true) {
224
- return {
225
- questions: [],
226
- confidence: 0,
227
- skipped: true,
228
- reasonCodes: [PlanWebScopeQuestionsReasonCode.OUTPUT_INVALID],
229
- };
230
- }
231
- return {
232
- questions: adapted.questions,
233
- confidence: adapted.confidence,
234
- ...(adapted.skipped ? { skipped: true } : {}),
235
- ...(adapted.reasonCodes?.length ? { reasonCodes: adapted.reasonCodes } : {}),
236
- };
237
- }
238
- catch {
239
- return {
240
- questions: [],
241
- confidence: 0,
242
- skipped: true,
243
- reasonCodes: [PlanWebScopeQuestionsReasonCode.LLM_ERROR],
244
- };
245
- }
246
- }
247
- const userPrompt = buildPlanWebScopeQuestionsUserPrompt({ ...input, nodeQuestion: nq, maxQuestions: maxQ });
248
166
  try {
249
- const { text } = await runPostStepLlmCall({
250
- systemPrompt: PLAN_WEB_SCOPE_SYSTEM,
251
- userPrompt,
252
- llmCall,
253
- stage: "plan-web-scope-questions",
254
- structuredOutput: true,
255
- jobId: jobId ?? "plan-web-scope-questions",
167
+ const envelope = buildResearchPlanQuestionsPayload({
168
+ input: { ...input, nodeQuestion: nq, maxQuestions: maxQ },
169
+ jobId,
256
170
  taskId,
257
- agentId: agentId ?? "plan-web-scope-questions",
258
- traceCollector,
259
- traceTask,
260
- observationSink,
171
+ agentId,
261
172
  });
262
- const parsed = parseAndValidatePlanWebScopeQuestionsOutput(text, maxQ);
263
- if (!parsed.ok) {
264
- return {
265
- questions: [],
266
- confidence: 0,
267
- skipped: true,
268
- reasonCodes: [PlanWebScopeQuestionsReasonCode.OUTPUT_INVALID],
269
- };
173
+ const effectiveTaskId = taskId ?? randomUUID();
174
+ const modelAlias = llmCall?.model?.trim();
175
+ if (!modelAlias) {
176
+ throw new Error("plan-web-scope-questions requires llmCall.model (preActionModel alias from modelConfig).");
177
+ }
178
+ const model = await resolveModelReferenceForXynthesis(modelAlias);
179
+ const outputExpectation = llmCall?.outputExpectation ?? resolveOutputExpectation("plan-web-scope-questions");
180
+ const { result, invokeSummary } = await runPlanWebScopeQuestionsAction({
181
+ sidekickAction: "plan-web-scope-questions",
182
+ model,
183
+ outputExpectation,
184
+ goal: String(envelope.goal ?? nq),
185
+ input: (envelope.input ?? { nodeInput: null }),
186
+ context: envelope.context,
187
+ args: {
188
+ maxQuestions: maxQ,
189
+ sourceType: "web",
190
+ allowSkip: true,
191
+ includeReasons: true,
192
+ },
193
+ reasoningEffort: llmCall?.reasoningEffort,
194
+ topP: llmCall?.topP,
195
+ temperature: llmCall?.temperature,
196
+ timeoutMs: llmCall?.timeoutMs,
197
+ maxOutputLength: llmCall?.maxOutputLength,
198
+ gateway: {
199
+ aiRequestId: randomUUID(),
200
+ agentId: agentId ?? "plan-web-scope-questions",
201
+ sessionId: effectiveTaskId,
202
+ temperature: typeof llmCall?.temperature === "number" ? llmCall.temperature : 0.7,
203
+ },
204
+ workScope: {
205
+ jobId: jobId ?? "plan-web-scope-questions",
206
+ taskId: effectiveTaskId,
207
+ agentId,
208
+ },
209
+ });
210
+ if (observationSink) {
211
+ try {
212
+ observationSink({
213
+ source: "xynthesis",
214
+ stage: "plan-web-scope-questions",
215
+ request: { ...llmCall, model },
216
+ summary: invokeSummary,
217
+ durationMs: 0,
218
+ ok: true,
219
+ });
220
+ }
221
+ catch {
222
+ /* sink must not break */
223
+ }
270
224
  }
271
- return parsed.value;
225
+ const questions = result.questions.map((q) => ({
226
+ id: q.id ?? randomUUID(),
227
+ question: q.question,
228
+ reason: q.reason,
229
+ source: "ai-driven",
230
+ }));
231
+ return {
232
+ questions,
233
+ confidence: result.confidence,
234
+ ...(result.skipped ? { skipped: true } : {}),
235
+ ...(result.reasonCodes?.length ? { reasonCodes: result.reasonCodes } : {}),
236
+ };
272
237
  }
273
238
  catch {
274
239
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planWebScopeQuestions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/planWebScopeQuestions/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * FuncX envelope builders for ai-tasks POST pipeline steps pending upstream built-ins.
3
+ * See `documenations/upstream-feature-requests/funcx-pre-post-sidekick-actions.md`.
4
+ */
5
+ /** Mirrors xynthesis {@link SidekickGenericEnvelope} (avoid hard dep on envelope type export). */
6
+ export type AiTasksSidekickGenericEnvelope = {
7
+ goal: string;
8
+ input: Record<string, unknown>;
9
+ context: Record<string, unknown> & {
10
+ templateCores: string[];
11
+ };
12
+ args?: Record<string, unknown>;
13
+ attribution?: {
14
+ functionId?: string;
15
+ runId?: string;
16
+ subjectId?: string;
17
+ actorId?: string;
18
+ tags?: Record<string, string>;
19
+ };
20
+ };
21
+ export declare const FUNCX_POST_AUDIT_CHECKLIST_ID = "post/audit-checklist";
22
+ export declare const FUNCX_POST_AUDIT_MERGE_ID = "post/audit-merge";
23
+ export type BuildAuditChecklistEnvelopeInput = {
24
+ originalInput: string;
25
+ promptContext: string;
26
+ candidateOutput: string;
27
+ mustChecks: {
28
+ check: string;
29
+ weight: number;
30
+ }[];
31
+ shouldChecks: {
32
+ check: string;
33
+ weight: number;
34
+ }[];
35
+ previousFeedback?: string;
36
+ previousCycle?: number;
37
+ customAuditGuidelines?: string;
38
+ passNumber?: number;
39
+ cycle?: number;
40
+ maxCycles?: number;
41
+ jobId?: string;
42
+ taskId?: string;
43
+ agentId?: string;
44
+ };
45
+ /** Envelope for FuncX `post/audit-checklist` (replaces ai-tasks Handlebars audit templates). */
46
+ export declare function buildAuditChecklistFuncxEnvelope(input: BuildAuditChecklistEnvelopeInput): AiTasksSidekickGenericEnvelope;
47
+ export type BuildAuditMergeFuncxEnvelopeInput = {
48
+ taskDescription: string;
49
+ candidateA: string;
50
+ candidateB: string;
51
+ jobId?: string;
52
+ taskId?: string;
53
+ agentId?: string;
54
+ };
55
+ /** Envelope for FuncX `post/audit-merge` (audit-cycle synthesis merge). */
56
+ export declare function buildAuditMergeFuncxEnvelope(input: BuildAuditMergeFuncxEnvelopeInput): AiTasksSidekickGenericEnvelope;
57
+ //# sourceMappingURL=auditChecklistFuncxEnvelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditChecklistFuncxEnvelope.d.ts","sourceRoot":"","sources":["../../../src/post-steps/audit/auditChecklistFuncxEnvelope.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,kGAAkG;AAClG,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,aAAa,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,6BAA6B,yBAAyB,CAAC;AACpE,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAE5D,MAAM,MAAM,gCAAgC,GAAG;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,gGAAgG;AAChG,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,gCAAgC,GACtC,8BAA8B,CAsChC;AAED,MAAM,MAAM,iCAAiC,GAAG;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,2EAA2E;AAC3E,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,iCAAiC,GACvC,8BAA8B,CAwBhC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * FuncX envelope builders for ai-tasks POST pipeline steps pending upstream built-ins.
3
+ * See `documenations/upstream-feature-requests/funcx-pre-post-sidekick-actions.md`.
4
+ */
5
+ import { randomUUID } from "node:crypto";
6
+ export const FUNCX_POST_AUDIT_CHECKLIST_ID = "post/audit-checklist";
7
+ export const FUNCX_POST_AUDIT_MERGE_ID = "post/audit-merge";
8
+ /** Envelope for FuncX `post/audit-checklist` (replaces ai-tasks Handlebars audit templates). */
9
+ export function buildAuditChecklistFuncxEnvelope(input) {
10
+ const goal = "Evaluate the candidate output against must and should quality checks.";
11
+ const args = {};
12
+ if (input.customAuditGuidelines?.trim()) {
13
+ args.customAuditGuidelines = input.customAuditGuidelines.trim();
14
+ }
15
+ if (input.passNumber !== undefined)
16
+ args.passNumber = input.passNumber;
17
+ if (input.cycle !== undefined)
18
+ args.cycle = input.cycle;
19
+ if (input.maxCycles !== undefined)
20
+ args.maxCycles = input.maxCycles;
21
+ const tags = { caller: "ai-tasks", stage: "post-audit" };
22
+ if (input.jobId)
23
+ tags.jobId = input.jobId;
24
+ if (input.taskId)
25
+ tags.taskId = input.taskId;
26
+ if (input.agentId)
27
+ tags.agentId = input.agentId;
28
+ return {
29
+ goal,
30
+ input: {
31
+ originalInput: input.originalInput,
32
+ promptContext: input.promptContext,
33
+ candidateOutput: input.candidateOutput,
34
+ mustChecks: input.mustChecks,
35
+ shouldChecks: input.shouldChecks,
36
+ ...(input.previousFeedback !== undefined ? { previousFeedback: input.previousFeedback } : {}),
37
+ ...(input.previousCycle !== undefined ? { previousCycle: input.previousCycle } : {}),
38
+ },
39
+ context: {
40
+ templateCores: ["analysis"],
41
+ },
42
+ ...(Object.keys(args).length > 0 ? { args } : {}),
43
+ attribution: {
44
+ functionId: FUNCX_POST_AUDIT_CHECKLIST_ID,
45
+ ...(input.jobId ? { runId: input.jobId } : {}),
46
+ ...(input.taskId ? { subjectId: input.taskId } : { subjectId: randomUUID() }),
47
+ ...(input.agentId ? { actorId: input.agentId } : {}),
48
+ tags,
49
+ },
50
+ };
51
+ }
52
+ /** Envelope for FuncX `post/audit-merge` (audit-cycle synthesis merge). */
53
+ export function buildAuditMergeFuncxEnvelope(input) {
54
+ const tags = { caller: "ai-tasks", stage: "post-audit-merge" };
55
+ if (input.jobId)
56
+ tags.jobId = input.jobId;
57
+ if (input.taskId)
58
+ tags.taskId = input.taskId;
59
+ if (input.agentId)
60
+ tags.agentId = input.agentId;
61
+ return {
62
+ goal: "Merge the best parts of two candidate outputs into a single improved answer.",
63
+ input: {
64
+ candidateA: input.candidateA,
65
+ candidateB: input.candidateB,
66
+ },
67
+ context: {
68
+ templateCores: ["analysis"],
69
+ task: input.taskDescription,
70
+ },
71
+ attribution: {
72
+ functionId: FUNCX_POST_AUDIT_MERGE_ID,
73
+ ...(input.jobId ? { runId: input.jobId } : {}),
74
+ ...(input.taskId ? { subjectId: input.taskId } : { subjectId: randomUUID() }),
75
+ ...(input.agentId ? { actorId: input.agentId } : {}),
76
+ tags,
77
+ },
78
+ };
79
+ }
80
+ //# sourceMappingURL=auditChecklistFuncxEnvelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditChecklistFuncxEnvelope.js","sourceRoot":"","sources":["../../../src/post-steps/audit/auditChecklistFuncxEnvelope.ts"],"names":[],"mappings":"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"}