@exellix/graph-engine 7.8.1 → 7.8.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
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 7.8.2
4
+
5
+ ### Fixed
6
+
7
+ - **ai-tasks error propagation:** Node failures preserve upstream `error.code` and full `error.message` from `@exellix/ai-tasks` (no `TASK_RUN_FAILED: {skillKey}` message wrapper).
8
+ - **Activix node fail records:** `failRecord` updates include `errorCode` alongside the upstream error message.
9
+
10
+ ### Changed
11
+
12
+ - **Dependencies:** `@exellix/ai-tasks` ^8.8.0 (transitive: `@exellix/ai-skills` ≥6.5.0, `@exellix/xynthesis` ≥4.6.0, `@x12i/ai-profiles` ≥3.2.0).
13
+
14
+ ### Added
15
+
16
+ - **Tests:** SubNets (`graph-qcrbz6t`) synthesis PRE alias pass-through; ai-tasks `SKILL_MODEL_RESOLUTION_FAILED` / `XYNTHESIS_*` error surfacing on `node:fail` and Activix `failRecord`.
17
+
3
18
  ## 7.8.1
4
19
 
5
20
  ### Changed
@@ -149,11 +149,18 @@ export function createActivixNodeActivityIntegration(ax, options) {
149
149
  : typeof err === 'object' && err && 'message' in err
150
150
  ? String(err.message)
151
151
  : String(err ?? 'unknown error');
152
+ const errorCode = (() => {
153
+ if (err == null || typeof err !== 'object')
154
+ return undefined;
155
+ const code = err.code;
156
+ return code != null ? String(code) : undefined;
157
+ })();
152
158
  const outerResponse = nodeEvent.data?.response;
153
159
  const outerMemoryEnd = nodeEvent.data?.memoryAfter;
154
160
  const recordId = await recordPromise;
155
161
  await ax.failRecord(recordId, message, {
156
162
  failedAt: nodeEvent.timestamp,
163
+ ...(errorCode != null ? { errorCode } : {}),
157
164
  outer: {
158
165
  output: {
159
166
  response: outerResponse,
@@ -963,8 +963,10 @@ export function createExellixGraphRuntime(opts) {
963
963
  const resMeta = res.metadata ?? res.meta;
964
964
  const taskRunLog = [...retryOutcome.syntheticRunLog, ...extractTaskRunLogFromMetadata(resMeta)];
965
965
  const logxerCorrelationId = extractLogxerCorrelationFromMetadata(resMeta);
966
- const err = new Error(`TASK_RUN_FAILED: ${skillKey}`);
967
- err.code = res.error?.code ?? "TASK_RUN_FAILED";
966
+ const taskErrorMessage = res.error?.message ?? "Task run failed";
967
+ const taskErrorCode = res.error?.code ?? "TASK_RUN_FAILED";
968
+ const err = new Error(taskErrorMessage);
969
+ err.code = taskErrorCode;
968
970
  err.skillKey = skillKey;
969
971
  err.diagnostics = res.diagnostics;
970
972
  err.nodeId = input.node?.id;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exellix/graph-engine",
3
- "version": "7.8.1",
3
+ "version": "7.8.2",
4
4
  "type": "module",
5
5
  "description": "Graph executor SDK",
6
6
  "main": "dist/src/index.js",
@@ -25,7 +25,7 @@
25
25
  "scripts": {
26
26
  "prebuild": "node scripts/clean-dist.mjs",
27
27
  "build": "tsc",
28
- "test": "npm run build && npm run check:no-legacy && tsx --test --test-force-exit tests/model-alias-contract.test.ts tests/reports-fixtures-pre-synthesis.test.ts tests/passthrough-parity.test.ts tests/step-retry-llm-call.test.ts tests/run-log-diagnostics.test.ts",
28
+ "test": "npm run build && npm run check:no-legacy && tsx --test --test-force-exit tests/model-alias-contract.test.ts tests/ai-tasks-error-propagation.test.ts tests/reports-fixtures-pre-synthesis.test.ts tests/passthrough-parity.test.ts tests/step-retry-llm-call.test.ts tests/run-log-diagnostics.test.ts",
29
29
  "test:full": "npm run build && npm run check:no-legacy && tsx --test --test-force-exit tests/graph-engine.test.ts tests/passthrough-parity.test.ts tests/task-node-run-task-preflight.test.ts tests/reports-fixtures-pre-synthesis.test.ts tests/model-alias-contract.test.ts tests/step-retry-llm-call.test.ts",
30
30
  "test:live": "npm run run:pre-synthesis",
31
31
  "test:subnets-graph-fixture": "npm run build && node --test tests/subnets-graph.fixture.test.mjs",
@@ -52,7 +52,7 @@
52
52
  "access": "public"
53
53
  },
54
54
  "dependencies": {
55
- "@exellix/ai-tasks": "^8.7.0",
55
+ "@exellix/ai-tasks": "^8.8.0",
56
56
  "@x12i/activix": "8.5.0",
57
57
  "@x12i/catalox": "5.1.3",
58
58
  "@x12i/env": "4.0.1",