@exellix/ai-tasks 10.1.1 → 10.1.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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,17 @@ All notable changes to `@exellix/ai-tasks` are documented here.
4
4
 
5
5
  The published **npm version** always matches **`version`** in [`package.json`](package.json). If this file skips a semver, treat [`BREAKING-CHANGES.md`](BREAKING-CHANGES.md) and [`RUNTASK_REQUEST.md`](RUNTASK_REQUEST.md) as the source of truth for cross-version upgrades.
6
6
 
7
+ ## [10.1.2] - 2026-06-24
8
+
9
+ ### Added
10
+
11
+ - **AT-CR-001 (complete):** GTF-FR-001 lifecycle delegated to `@x12i/graphenix-trace-format@^2.12.0` — `unitExecutions`, `modelInvocations`, and `nodeExecutions` indexes stay in sync during node-plan execution when `RunTaskRequest.executionTrace` is present.
12
+
13
+ ### Changed
14
+
15
+ - **Graphenix trace-format ^2.12.0:** GTF-FR-001 lifecycle (`markUnit*`, `recordModelInvocation*`, `appendUnitLifecycleEvent`) now delegated to `@x12i/graphenix-trace-format` via ai-tasks shims; other `@x12i/graphenix-*` packages remain at latest **^2.11.0**.
16
+ - Node rollup and `fallback.applied` events still use local helpers until upstream exports them.
17
+
7
18
  ## [10.1.1] - 2026-06-24
8
19
 
9
20
  ### Changed
@@ -1,13 +1,18 @@
1
+ /**
2
+ * GTF-FR-001 lifecycle helpers — delegate to @x12i/graphenix-trace-format (≥2.12.0) with
3
+ * ai-tasks argument shims; fall back to local implementation on older trace-format.
4
+ */
5
+ import type { ExecutionUnitPlanV2, GraphExecutionTraceV2 } from "@x12i/graphenix-executable-contracts";
1
6
  import * as local from "./traceLifecycleLocal.js";
2
- export declare const markUnitStarted: typeof local.markUnitStarted;
3
- export declare const markUnitCompleted: typeof local.markUnitCompleted;
4
- export declare const markUnitFailed: typeof local.markUnitFailed;
5
- export declare const recordModelInvocationStarted: typeof local.recordModelInvocationStarted;
6
- export declare const recordModelInvocationCompleted: typeof local.recordModelInvocationCompleted;
7
- export declare const recordModelInvocationFailed: typeof local.recordModelInvocationFailed;
7
+ export type { UnitCompletionOutcome, UnitFailureOutcome, ModelInvocationStartArgs, ModelInvocationOutcome, } from "./traceLifecycleLocal.js";
8
+ export declare function markUnitStarted(trace: GraphExecutionTraceV2, unit: ExecutionUnitPlanV2, at?: string): void;
9
+ export declare function markUnitCompleted(trace: GraphExecutionTraceV2, unitId: string, outcome: local.UnitCompletionOutcome, unit?: ExecutionUnitPlanV2): void;
10
+ export declare function markUnitFailed(trace: GraphExecutionTraceV2, unitId: string, error: unknown, outcome?: local.UnitFailureOutcome, unit?: ExecutionUnitPlanV2): void;
11
+ export declare function recordModelInvocationStarted(trace: GraphExecutionTraceV2, args: local.ModelInvocationStartArgs): void;
12
+ export declare function recordModelInvocationCompleted(trace: GraphExecutionTraceV2, invocationId: string, outcome: local.ModelInvocationOutcome): void;
13
+ export declare function recordModelInvocationFailed(trace: GraphExecutionTraceV2, invocationId: string, error: unknown, outcome?: local.ModelInvocationOutcome): void;
8
14
  export declare const appendFallbackAppliedEvent: typeof local.appendFallbackAppliedEvent;
9
15
  export declare const rollupNodeExecution: typeof local.rollupNodeExecution;
10
- export type { UnitCompletionOutcome, UnitFailureOutcome, ModelInvocationStartArgs, ModelInvocationOutcome, } from "./traceLifecycleLocal.js";
11
- /** True when lifecycle helpers are re-exported from graphenix-trace-format (not local fallback). */
16
+ /** True when GTF-FR-001 lifecycle helpers are exported from graphenix-trace-format. */
12
17
  export declare function usesUpstreamTraceLifecycle(): boolean;
13
18
  //# sourceMappingURL=traceLifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"traceLifecycle.d.ts","sourceRoot":"","sources":["../../src/node-execution/traceLifecycle.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAWlD,eAAO,MAAM,eAAe,8BAA0B,CAAC;AACvD,eAAO,MAAM,iBAAiB,gCAA4B,CAAC;AAC3D,eAAO,MAAM,cAAc,6BAAyB,CAAC;AACrD,eAAO,MAAM,4BAA4B,2CAAuC,CAAC;AACjF,eAAO,MAAM,8BAA8B,6CAAyC,CAAC;AACrF,eAAO,MAAM,2BAA2B,0CAAsC,CAAC;AAC/E,eAAO,MAAM,0BAA0B,yCAAqC,CAAC;AAC7E,eAAO,MAAM,mBAAmB,kCAA8B,CAAC;AAE/D,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAElC,oGAAoG;AACpG,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD"}
1
+ {"version":3,"file":"traceLifecycle.d.ts","sourceRoot":"","sources":["../../src/node-execution/traceLifecycle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAEvG,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAElD,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAuBlC,wBAAgB,eAAe,CAC7B,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE,mBAAmB,EACzB,EAAE,CAAC,EAAE,MAAM,GACV,IAAI,CAUN;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,KAAK,CAAC,qBAAqB,EACpC,IAAI,CAAC,EAAE,mBAAmB,GACzB,IAAI,CAUN;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,qBAAqB,EAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,KAAK,CAAC,kBAAkB,EAClC,IAAI,CAAC,EAAE,mBAAmB,GACzB,IAAI,CAcN;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE,KAAK,CAAC,wBAAwB,GACnC,IAAI,CAgBN;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,qBAAqB,EAC5B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,KAAK,CAAC,sBAAsB,GACpC,IAAI,CAgBN;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,qBAAqB,EAC5B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,KAAK,CAAC,sBAAsB,GACrC,IAAI,CAUN;AAED,eAAO,MAAM,0BAA0B,yCAAmC,CAAC;AAC3E,eAAO,MAAM,mBAAmB,kCAA4B,CAAC;AAE7D,uFAAuF;AACvF,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD"}
@@ -1,24 +1,105 @@
1
- /**
2
- * GTF-FR-001 lifecycle helpers — prefer @x12i/graphenix-trace-format when exported (≥2.11.x),
3
- * fall back to local implementation until upstream ships markUnitStarted / recordModelInvocation*.
4
- */
5
1
  import * as GTF from "@x12i/graphenix-trace-format";
6
2
  import * as local from "./traceLifecycleLocal.js";
7
- const upstream = GTF;
8
- function pick(name) {
9
- const fn = upstream[name];
10
- return (typeof fn === "function" ? fn : local[name]);
11
- }
12
- export const markUnitStarted = pick("markUnitStarted");
13
- export const markUnitCompleted = pick("markUnitCompleted");
14
- export const markUnitFailed = pick("markUnitFailed");
15
- export const recordModelInvocationStarted = pick("recordModelInvocationStarted");
16
- export const recordModelInvocationCompleted = pick("recordModelInvocationCompleted");
17
- export const recordModelInvocationFailed = pick("recordModelInvocationFailed");
18
- export const appendFallbackAppliedEvent = pick("appendFallbackAppliedEvent");
19
- export const rollupNodeExecution = pick("rollupNodeExecution");
20
- /** True when lifecycle helpers are re-exported from graphenix-trace-format (not local fallback). */
3
+ const hasUpstream = typeof GTF.markUnitStarted === "function" &&
4
+ typeof GTF.recordModelInvocationStarted === "function";
5
+ function normalizeError(error) {
6
+ if (error instanceof Error) {
7
+ return { message: error.message, code: "UNIT_FAILED" };
8
+ }
9
+ if (typeof error === "string") {
10
+ return { message: error, code: "UNIT_FAILED" };
11
+ }
12
+ if (error && typeof error === "object" && "message" in error) {
13
+ const record = error;
14
+ return {
15
+ message: String(record.message ?? "Unit failed"),
16
+ code: typeof record.code === "string" ? record.code : "UNIT_FAILED",
17
+ };
18
+ }
19
+ return { message: String(error), code: "UNIT_FAILED" };
20
+ }
21
+ export function markUnitStarted(trace, unit, at) {
22
+ if (hasUpstream && typeof GTF.appendUnitLifecycleEvent === "function") {
23
+ GTF.appendUnitLifecycleEvent(trace, "unit.started", unit, { at, ts: at });
24
+ return;
25
+ }
26
+ if (hasUpstream) {
27
+ GTF.markUnitStarted(trace, unit, at);
28
+ return;
29
+ }
30
+ local.markUnitStarted(trace, unit, at);
31
+ }
32
+ export function markUnitCompleted(trace, unitId, outcome, unit) {
33
+ if (hasUpstream && typeof GTF.appendUnitLifecycleEvent === "function" && unit) {
34
+ GTF.appendUnitLifecycleEvent(trace, "unit.completed", unit, outcome);
35
+ return;
36
+ }
37
+ if (hasUpstream) {
38
+ GTF.markUnitCompleted(trace, unitId, outcome);
39
+ return;
40
+ }
41
+ local.markUnitCompleted(trace, unitId, outcome, unit);
42
+ }
43
+ export function markUnitFailed(trace, unitId, error, outcome, unit) {
44
+ const normalized = normalizeError(error);
45
+ if (hasUpstream && typeof GTF.appendUnitLifecycleEvent === "function" && unit) {
46
+ GTF.appendUnitLifecycleEvent(trace, "unit.failed", unit, {
47
+ ...outcome,
48
+ error: normalized,
49
+ });
50
+ return;
51
+ }
52
+ if (hasUpstream) {
53
+ GTF.markUnitFailed(trace, unitId, normalized, outcome);
54
+ return;
55
+ }
56
+ local.markUnitFailed(trace, unitId, error, outcome, unit);
57
+ }
58
+ export function recordModelInvocationStarted(trace, args) {
59
+ if (hasUpstream) {
60
+ GTF.recordModelInvocationStarted(trace, {
61
+ invocationId: args.invocationId,
62
+ unitId: args.unit.unitId,
63
+ nodeId: args.nodeId,
64
+ modelSlot: args.unit.modelSlot,
65
+ plannedModelSelection: args.unit.modelSelection,
66
+ }, args.startedAt);
67
+ return;
68
+ }
69
+ local.recordModelInvocationStarted(trace, args);
70
+ }
71
+ export function recordModelInvocationCompleted(trace, invocationId, outcome) {
72
+ if (hasUpstream) {
73
+ GTF.recordModelInvocationCompleted(trace, invocationId, {
74
+ durationMs: outcome.durationMs,
75
+ usage: outcome.usage,
76
+ cost: outcome.cost ? { costUsd: outcome.cost.costUsd } : undefined,
77
+ resolvedModel: outcome.resolvedInvocation?.modelId,
78
+ resolvedInvocation: outcome.resolvedInvocation,
79
+ previews: {
80
+ ...(outcome.promptPreview !== undefined ? { input: outcome.promptPreview } : {}),
81
+ ...(outcome.completionPreview !== undefined ? { output: outcome.completionPreview } : {}),
82
+ },
83
+ });
84
+ return;
85
+ }
86
+ local.recordModelInvocationCompleted(trace, invocationId, outcome);
87
+ }
88
+ export function recordModelInvocationFailed(trace, invocationId, error, outcome) {
89
+ if (hasUpstream) {
90
+ const normalized = normalizeError(error);
91
+ GTF.recordModelInvocationFailed(trace, invocationId, {
92
+ message: outcome?.errorMessage ?? normalized.message,
93
+ code: normalized.code ?? "MODEL_INVOCATION_FAILED",
94
+ });
95
+ return;
96
+ }
97
+ local.recordModelInvocationFailed(trace, invocationId, error, outcome);
98
+ }
99
+ export const appendFallbackAppliedEvent = local.appendFallbackAppliedEvent;
100
+ export const rollupNodeExecution = local.rollupNodeExecution;
101
+ /** True when GTF-FR-001 lifecycle helpers are exported from graphenix-trace-format. */
21
102
  export function usesUpstreamTraceLifecycle() {
22
- return typeof upstream.markUnitStarted === "function";
103
+ return hasUpstream;
23
104
  }
24
105
  //# sourceMappingURL=traceLifecycle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"traceLifecycle.js","sourceRoot":"","sources":["../../src/node-execution/traceLifecycle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAIlD,MAAM,QAAQ,GAAG,GAAyC,CAAC;AAE3D,SAAS,IAAI,CAA+B,IAAO;IACjD,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAoB,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC,8BAA8B,CAAC,CAAC;AACjF,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC,gCAAgC,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC,6BAA6B,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC,4BAA4B,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAS/D,oGAAoG;AACpG,MAAM,UAAU,0BAA0B;IACxC,OAAO,OAAO,QAAQ,CAAC,eAAe,KAAK,UAAU,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"traceLifecycle.js","sourceRoot":"","sources":["../../src/node-execution/traceLifecycle.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Local GTF-FR-001 lifecycle implementation (fallback until @x12i/graphenix-trace-format exports these APIs).
3
- * Production path: re-exported via traceLifecycle.ts adapter when upstream ships helpers.
2
+ * Local trace lifecycle helpers for APIs not yet exported by @x12i/graphenix-trace-format:
3
+ * `rollupNodeExecution`, `appendFallbackAppliedEvent`, and full local fallback on older trace-format.
4
4
  */
5
5
  import { randomUUID } from "crypto";
6
6
  import { appendTraceEvent, deriveNodeStatusFromUnits } from "@x12i/graphenix-trace-format";
@@ -32,7 +32,7 @@ Plan `mapping` units are orchestrator-owned. Graph-engine applies `nodePlan.exec
32
32
  | Package | Role |
33
33
  | ------- | ---- |
34
34
  | `@x12i/graphenix-plan-format` ^2.11.0 | `validateNodeExecutionPlan` |
35
- | `@x12i/graphenix-trace-format` ^2.11.0 | `appendTraceEvent`; GTF-FR-001 lifecycle via ai-tasks adapter |
35
+ | `@x12i/graphenix-trace-format` ^2.12.0 | GTF-FR-001 lifecycle (`markUnit*`, `recordModelInvocation*`); node rollup/fallback events via ai-tasks adapter |
36
36
  | `@x12i/graphenix-executable-contracts` ^2.11.0 | Types |
37
37
 
38
38
  ## Test helper
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exellix/ai-tasks",
3
- "version": "10.1.1",
3
+ "version": "10.1.2",
4
4
  "description": "Task orchestration for the Exellix stack: runTask() with local handlers or LLM-backed execution, task-scoped memory/context enrichment, and executor dispatch via @exellix/ai-skills. ERC-compliant.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -73,7 +73,7 @@
73
73
  "@x12i/graphenix-core": "^2.11.0",
74
74
  "@x12i/graphenix-executable-contracts": "^2.11.0",
75
75
  "@x12i/graphenix-plan-format": "^2.11.0",
76
- "@x12i/graphenix-trace-format": "^2.11.0",
76
+ "@x12i/graphenix-trace-format": "^2.12.0",
77
77
  "@x12i/logxer": "^4.6.0",
78
78
  "@x12i/optimixer": "^3.5.2",
79
79
  "@x12i/rendrix": "^4.3.0",