@exellix/ai-tasks 8.2.1 → 8.2.3

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 (45) hide show
  1. package/.env.example +0 -10
  2. package/.metadata/log-diagnostics.json +13 -0
  3. package/README.md +48 -21
  4. package/dist/activix/activixClient.d.ts +13 -0
  5. package/dist/activix/activixClient.d.ts.map +1 -1
  6. package/dist/activix/activixClient.js +25 -3
  7. package/dist/activix/activixClient.js.map +1 -1
  8. package/dist/activix/getTaskActivities.d.ts +1 -1
  9. package/dist/activix/getTaskActivities.js +1 -1
  10. package/dist/activix/phaseTracking.js +1 -1
  11. package/dist/activix/phaseTracking.js.map +1 -1
  12. package/dist/core/task-sdk.d.ts.map +1 -1
  13. package/dist/core/task-sdk.js +7 -0
  14. package/dist/core/task-sdk.js.map +1 -1
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/internal/runPostStepLlmCall.d.ts.map +1 -1
  20. package/dist/internal/runPostStepLlmCall.js +65 -1
  21. package/dist/internal/runPostStepLlmCall.js.map +1 -1
  22. package/dist/logxer/aiTasksDiagnosticCodes.d.ts +1 -0
  23. package/dist/logxer/aiTasksDiagnosticCodes.d.ts.map +1 -1
  24. package/dist/logxer/aiTasksDiagnosticCodes.js +1 -0
  25. package/dist/logxer/aiTasksDiagnosticCodes.js.map +1 -1
  26. package/dist/logxer/packageLogxers.d.ts.map +1 -1
  27. package/dist/logxer/packageLogxers.js +2 -1
  28. package/dist/logxer/packageLogxers.js.map +1 -1
  29. package/dist/observability/extractHttpEndpointFromError.d.ts +4 -0
  30. package/dist/observability/extractHttpEndpointFromError.d.ts.map +1 -0
  31. package/dist/observability/extractHttpEndpointFromError.js +54 -0
  32. package/dist/observability/extractHttpEndpointFromError.js.map +1 -0
  33. package/dist/observability/logLlmProviderInvocation.d.ts +55 -0
  34. package/dist/observability/logLlmProviderInvocation.d.ts.map +1 -0
  35. package/dist/observability/logLlmProviderInvocation.js +187 -0
  36. package/dist/observability/logLlmProviderInvocation.js.map +1 -0
  37. package/dist/observability/logRunTaskFailure.d.ts.map +1 -1
  38. package/dist/observability/logRunTaskFailure.js +7 -0
  39. package/dist/observability/logRunTaskFailure.js.map +1 -1
  40. package/dist/strategies/direct-execution-strategy.d.ts.map +1 -1
  41. package/dist/strategies/direct-execution-strategy.js +56 -1
  42. package/dist/strategies/direct-execution-strategy.js.map +1 -1
  43. package/documenations/activix.md +15 -3
  44. package/documenations/xynthesis-activix-telemetry.md +1 -1
  45. package/package.json +8 -7
package/.env.example CHANGED
@@ -1,13 +1,3 @@
1
- # ============================================
2
- # LLM routing (see .docs/prefer-openrouter-routing-policy.md)
3
- # ============================================
4
- # Prefer OpenRouter when OPENROUTER_API_KEY is set (default when omitted).
5
- # PREFER_OPENROUTER=true
6
- # PREFER_OPENROUTER=false
7
- # Deprecated alias: USE_OPENROUTER (read only if PREFER_OPENROUTER unset)
8
- # OPENROUTER_API_KEY=
9
- # ANTHROPIC_API_KEY=
10
-
11
1
  # ============================================
12
2
  # nx-mongo Configuration
13
3
  # ============================================
@@ -72,5 +72,18 @@
72
72
  "retryable": true,
73
73
  "userActionRequired": false,
74
74
  "confidence": "medium"
75
+ },
76
+ "LLM_PROVIDER_INVOCATION": {
77
+ "defaultLevel": "warn",
78
+ "title": "LLM provider invocation routing",
79
+ "impact": "Structured per-phase model routing and best-effort HTTP endpoint confirmation for PRE, MAIN, and POST LLM calls.",
80
+ "remediation": [
81
+ "Compare intendedBaseUrl and routing with observedProvider/httpEndpoint.",
82
+ "PRE/POST xynthesis uses FuncX OpenRouter when OPENROUTER_API_KEY is set; MAIN skill routing is separate via ai-skills.",
83
+ "Search FUNCX / ai-skills activity logs for openrouter.ai when httpConfirmed is false."
84
+ ],
85
+ "retryable": true,
86
+ "userActionRequired": false,
87
+ "confidence": "medium"
75
88
  }
76
89
  }
package/README.md CHANGED
@@ -2389,52 +2389,79 @@ console.log(result.flexMd.payloads);
2389
2389
 
2390
2390
  ## Activix — task activity tracking
2391
2391
 
2392
- `@xronoces/activix` is used here for multi-phase activity tracking: each `runTask()` invocation writes several phase records to MongoDB (`local`, `narrix`, `pipeline_pre`, `direct`, `audit`, `polish`, `narrix_then_direct`). All phase records share the same `correlationId`, so you can group them back into one logical task run.
2392
+ `@x12i/activix` (**8.4+**) provides multi-phase activity tracking: each `runTask()` invocation emits several phase records (`local`, `narrix`, `pipeline_pre`, `direct`, `audit`, `polish`, `narrix_then_direct`). All phase records share the same `correlationId` (runtime `taskId`), so you can group them into one logical task run.
2393
2393
 
2394
- **Best practices checklist:** see [documenations/activix.md](./documenations/activix.md) (includes an operational integration checklist + deeper references under `.docs/`).
2394
+ **Operational checklist:** [documenations/activix.md](./documenations/activix.md) · **Full reference:** [docs/activix.md](./docs/activix.md)
2395
2395
 
2396
- ### Enable / disable
2396
+ ### How wiring works (Activix 8.4+)
2397
+
2398
+ ai-tasks **always calls Activix lifecycle APIs** on AI activity phases when Mongo is configured. **Activix decides whether rows are persisted** — do not branch in application code on a local write toggle.
2397
2399
 
2398
2400
  ```
2399
- ACTIVIX_ENABLED=false # set true to activate
2401
+ runTask() phase → startRecord / completeRecord / failRecord
2402
+
2403
+ activix-collections legend state
2404
+ track → Mongo write | off → same API, skip write
2400
2405
  ```
2401
2406
 
2402
- When `false` (the default), `runTask()` runs exactly as today with zero overhead. All activix calls are non-fatal — a MongoDB outage will never surface to the `runTask()` caller.
2407
+ | Layer | Owns |
2408
+ |---|---|
2409
+ | **ai-tasks** | Construct Activix when `MONGO_URI` or `MONGO_LOGS_URI` is set; call lifecycle APIs per phase; pass `runContext`, `outer`, domain metadata |
2410
+ | **Activix** | `recordId`, `status`, `startTime`, `endTime`, `duration`; read legend `state` and skip or perform Mongo writes |
2411
+ | **Ops** | Toggle persistence via `activix-collections` (`state: track \| off`) or `setCollectionTrackingState()` — no redeploy required |
2412
+
2413
+ Lifecycle fields (`status`, timestamps, primary key) are **never** set by ai-tasks; Activix manages them on every write.
2414
+
2415
+ ### Enable / disable
2416
+
2417
+ **Client construction** (whether phase APIs are called):
2418
+
2419
+ - **On by default** when `MONGO_URI` or `MONGO_LOGS_URI` is set.
2420
+ - **Opt out entirely:** `ACTIVIX_ENABLED=false` — no Activix client, no API calls (zero overhead for local dev/CI).
2421
+ - **`ACTIVIX_ENABLED=true` is no longer required** to turn tracking on.
2422
+
2423
+ **Mongo persistence** (whether rows reach the database):
2424
+
2425
+ - Controlled by Activix collection legend **`state`** in `activix-collections` (default **`track`**).
2426
+ - Set **`off`** to skip writes while keeping the same API surface: `await ax.setCollectionTrackingState('task-activities', 'off')`.
2427
+ - Legend state is cached (default TTL **600 s**); override with `ACTIVIX_COLLECTION_TRACKING_STATE_TTL_SEC`.
2428
+
2429
+ All Activix failures are **non-fatal** — a MongoDB outage never surfaces to the `runTask()` caller.
2403
2430
 
2404
2431
  ### Configuration
2405
2432
 
2406
2433
  | Variable | Default | Description |
2407
2434
  |---|---|---|
2408
- | `ACTIVIX_ENABLED` | `false` | Master toggle |
2409
- | `ACTIVIX_DB` | `MONGO_LOGS_DB` | MongoDB database for activity records |
2410
- | `ACTIVIX_COLLECTION` | `task-activities` | Collection name |
2435
+ | `MONGO_URI` / `MONGO_LOGS_URI` | | Required to construct Activix (first set wins) |
2436
+ | `ACTIVIX_ENABLED` | _(unset)_ | Set to `false` to opt out of client construction |
2437
+ | `ACTIVIX_COLLECTION` | `task-activities` | Dev/CI override only; package hard-codes `task-activities` in source |
2411
2438
  | `ACTIVIX_STALE_TTL_MS` | `300000` | TTL (ms) before a stuck `started` record is marked `timeout` |
2412
- | `ACTIVIX_LOGS_LEVEL` | _(see below)_ | Canonical internal log threshold for injected Activix logger (`@x12i/logxer` `createLogxer`, env prefix **`ACTIVIX`**). If unset, falls back to `ACTIVIX_LOG_LEVEL`, then default `warn`. Values: `verbose` \| `debug` \| `info` \| `warn` \| `error` \| `off` / `silent` / `none`. |
2413
- | `ACTIVIX_LOG_LEVEL` | `warn` | Legacy alias when `ACTIVIX_LOGS_LEVEL` is unset (same resolution rules as `@x12i/logxer`). |
2414
- | `AI_TASKS_LOGS_LEVEL` | `warn` | Canonical threshold for `@exellix/ai-tasks` diagnostics (`AI_TASKS_REQUEST_WARNINGS`, execution-strategy warnings, optional `NARRIX_DEBUG` paths). Uses **`@x12i/logxer` 4.4.2** **`warnCode`** + catalog (`.metadata/log-diagnostics.json`). Legacy alias: `AI_TASKS_LOG_LEVEL`. |
2439
+ | `ACTIVIX_COLLECTION_TRACKING_STATE_TTL_SEC` | `600` | Legend `state` cache TTL (Activix 8.4+) |
2440
+ | `ACTIVIX_LOGS_LEVEL` | _(see below)_ | Injected Activix logger threshold (`@x12i/logxer`, prefix **`ACTIVIX`**). Falls back to `ACTIVIX_LOG_LEVEL`, then `warn`. Values: `verbose` \| `debug` \| `info` \| `warn` \| `error` \| `off` / `silent` / `none`. |
2441
+ | `ACTIVIX_LOG_LEVEL` | `warn` | Legacy alias when `ACTIVIX_LOGS_LEVEL` is unset |
2442
+ | `AI_TASKS_LOGS_LEVEL` | `warn` | ai-tasks diagnostics threshold (`warnCode` + `.metadata/log-diagnostics.json`). Legacy alias: `AI_TASKS_LOG_LEVEL`. |
2443
+
2444
+ **Debug tooling (logxer 4.4.2):** **`getAiTasksJobLogs({ jobId, level, limit })`** queries in-process structured log envelopes captured during **`runTask()`**. Correlation ids are set via **`runAiTasksWithLogContext`** / **`patchRunTaskLogContext`**.
2415
2445
 
2416
- **Debug tooling (logxer 4.4.2):** **`getAiTasksJobLogs({ jobId, level, limit })`** queries in-process structured log envelopes captured during **`runTask()`**. Correlation ids (`jobId`, `taskId`, `graphId`, `nodeId`) are set via **`runAiTasksWithLogContext`** / **`patchRunTaskLogContext`** (re-exported from this package).
2446
+ **Query API:** **`getTaskActivities(taskId)`** returns all phase records for one run (by `correlationId`).
2417
2447
 
2418
2448
  ### What is recorded
2419
2449
 
2420
- Each record in `ACTIVIX_COLLECTION` captures:
2450
+ Each record in the `task-activities` collection captures:
2421
2451
 
2422
2452
  - `correlationId`, `phase` — join key for grouping phase records into one `runTask()` invocation
2423
- - `runContext` (Activix 6+) — correlation envelope: `sessionId` matches `correlationId`, plus task fields that used to be duplicated as a top-level `identity` blob (`taskId`, `skillId`, etc.) now live here only
2424
- - `outer` (Activix 6+) — required activity I/O tier (`input` / `output` / `metadata`); phase tracking uses minimal placeholders until completion metadata is merged
2453
+ - `runContext` — correlation envelope: `sessionId` matches `correlationId`; `taskId`, `skillId`, graph/node ids live here (not a top-level `identity` blob)
2454
+ - `outer` — required I/O tier (`input` / `output` / `metadata`); minimal placeholders until completion metadata is merged
2425
2455
  - `skillKey`, `executionType`, `jobId`, `agentId`, `graphId`, `nodeId` — from the request
2426
2456
  - `hasPipeline`, `hasNarrix`, `hasNarrixInput` — execution path flags
2427
- - `status` `started` `completed` | `failed` | `timeout`
2428
- - `startTime`, `endTime`, `duration` — auto-managed by activix
2429
- - `instructionVersion`, `durationMs`, `stepCount` — from the response on success
2457
+ - `status`, `startTime`, `endTime`, `duration` **auto-managed by Activix**
2458
+ - `instructionVersion`, `durationMs`, `stepCount` — from the response on success (phase-dependent)
2430
2459
  - `error` / `errorMessage`, `errorCode` — on failure
2431
2460
 
2432
2461
  ### Stale record cleanup
2433
2462
 
2434
2463
  Crashed or hung tasks leave records stuck in `started`. Call `ax.markStaleRecords()` from a periodic job (e.g. every 5 minutes) in the host process to flip them to `timeout`.
2435
2464
 
2436
- **Full integration plan → [documenations/activix.md](./documenations/activix.md)**
2437
-
2438
2465
  ---
2439
2466
 
2440
2467
  ## Development Notes
@@ -2544,5 +2571,5 @@ ISC
2544
2571
  - [documenations/synthesized-context-guide.md](./documenations/synthesized-context-guide.md) - User-facing guide for `synthesized-context` PRE-step behavior and controls
2545
2572
  - [documenations/task-core-and-core-aware-synthesis.md](./documenations/task-core-and-core-aware-synthesis.md) - Template core token model and structured synthesis behavior
2546
2573
  - [documenations/synthesis-invocation-notes.md](./documenations/synthesis-invocation-notes.md) - Notes on synthesis call behavior, cost, and operational implications
2547
- - [documenations/activix.md](./documenations/activix.md) - Activix integration plan: task activity lifecycle tracking, record schema, env config, execution path mapping, and stale cleanup: `enableWebScope`, `narrix.webScoping` vs `@exellix/narrix-web-scoper` / `@exellix/search-adapter`, `executionMemory.webContext`, source snippets
2574
+ - [documenations/activix.md](./documenations/activix.md) - Activix integration: lifecycle tracking, collection legend `state` (Activix 8.4+), record schema, env config, execution path mapping, stale cleanup
2548
2575
  - [documenations/downstream-test-runtime-teardown-cleanup.md](./documenations/downstream-test-runtime-teardown-cleanup.md) - Downstream `ai-skills` lifecycle cleanup note for open handles/process-exit hygiene in tests
@@ -1,6 +1,19 @@
1
1
  import { Activix } from "@x12i/activix";
2
+ /** Package-owned Activix collection (Activix 7+ — hard-code in source; do not override in production). */
3
+ export declare const TASK_ACTIVITIES_COLLECTION: "task-activities";
2
4
  /** MongoDB collection name for task activity records (must match `getActivixClient` and `getTaskActivities`). */
3
5
  export declare function getActivixCollectionName(): string;
6
+ /**
7
+ * Whether ai-tasks constructs an Activix client and calls lifecycle APIs on AI activity phases.
8
+ *
9
+ * **Persistence** (Mongo writes) is controlled by Activix collection legend `state` (`track` | `off`) in
10
+ * `activix-collections`, not by this helper. Integrators always call `startRecord` / `completeRecord` /
11
+ * `failRecord`; Activix decides whether rows reach Mongo.
12
+ *
13
+ * Returns `false` when Mongo is not configured, or when `ACTIVIX_ENABLED=false` (explicit opt-out).
14
+ */
15
+ export declare function isActivixWired(): boolean;
16
+ /** @deprecated Prefer {@link isActivixWired}. Kept for callers that checked the old `ACTIVIX_ENABLED=true` gate. */
4
17
  export declare function isActivixEnabled(): boolean;
5
18
  export declare function getActivixClient(): Promise<Activix | null>;
6
19
  //# sourceMappingURL=activixClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"activixClient.d.ts","sourceRoot":"","sources":["../../src/activix/activixClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAOxC,iHAAiH;AACjH,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAwEhE"}
1
+ {"version":3,"file":"activixClient.d.ts","sourceRoot":"","sources":["../../src/activix/activixClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAOxC,0GAA0G;AAC1G,eAAO,MAAM,0BAA0B,EAAG,iBAA0B,CAAC;AAErE,iHAAiH;AACjH,wBAAgB,wBAAwB,IAAI,MAAM,CAGjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAGxC;AAED,oHAAoH;AACpH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CA4EhE"}
@@ -2,15 +2,33 @@ import { Activix } from "@x12i/activix";
2
2
  import { getActivixLogxer, toActivixLogger } from "../logxer/packageLogxers.js";
3
3
  let _client = null;
4
4
  let _initPromise = null;
5
+ /** Package-owned Activix collection (Activix 7+ — hard-code in source; do not override in production). */
6
+ export const TASK_ACTIVITIES_COLLECTION = "task-activities";
5
7
  /** MongoDB collection name for task activity records (must match `getActivixClient` and `getTaskActivities`). */
6
8
  export function getActivixCollectionName() {
7
- return process.env.ACTIVIX_COLLECTION ?? "task-activities";
9
+ const fromEnv = process.env.ACTIVIX_COLLECTION?.trim();
10
+ return fromEnv || TASK_ACTIVITIES_COLLECTION;
8
11
  }
12
+ /**
13
+ * Whether ai-tasks constructs an Activix client and calls lifecycle APIs on AI activity phases.
14
+ *
15
+ * **Persistence** (Mongo writes) is controlled by Activix collection legend `state` (`track` | `off`) in
16
+ * `activix-collections`, not by this helper. Integrators always call `startRecord` / `completeRecord` /
17
+ * `failRecord`; Activix decides whether rows reach Mongo.
18
+ *
19
+ * Returns `false` when Mongo is not configured, or when `ACTIVIX_ENABLED=false` (explicit opt-out).
20
+ */
21
+ export function isActivixWired() {
22
+ if (process.env.ACTIVIX_ENABLED === "false")
23
+ return false;
24
+ return !!(process.env.MONGO_URI?.trim() || process.env.MONGO_LOGS_URI?.trim());
25
+ }
26
+ /** @deprecated Prefer {@link isActivixWired}. Kept for callers that checked the old `ACTIVIX_ENABLED=true` gate. */
9
27
  export function isActivixEnabled() {
10
- return process.env.ACTIVIX_ENABLED === "true";
28
+ return isActivixWired();
11
29
  }
12
30
  export async function getActivixClient() {
13
- if (!isActivixEnabled())
31
+ if (!isActivixWired())
14
32
  return null;
15
33
  if (_client) {
16
34
  if (!_initPromise)
@@ -63,6 +81,10 @@ export async function getActivixClient() {
63
81
  collections: [collectionConfig],
64
82
  defaultCollection: collectionName,
65
83
  staleRecordTTL,
84
+ diagnostics: {
85
+ owner: "@exellix/ai-tasks",
86
+ component: "task-activities",
87
+ },
66
88
  logger: toActivixLogger(getActivixLogxer()),
67
89
  });
68
90
  _client = ax;
@@ -1 +1 @@
1
- {"version":3,"file":"activixClient.js","sourceRoot":"","sources":["../../src/activix/activixClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activixClient.js","sourceRoot":"","sources":["../../src/activix/activixClient.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ export type TaskActivityRecord = Record<string, unknown>;
3
3
  * Retrieve Activix phase records for a single logical task run.
4
4
  *
5
5
  * Notes:
6
- * - Requires `ACTIVIX_ENABLED=true` and Mongo configured (same as tracking).
6
+ * - Requires Mongo configured (`MONGO_URI` or `MONGO_LOGS_URI`) and Activix not opted out (`ACTIVIX_ENABLED=false`).
7
7
  * - `taskId` is the runtime task identifier and also the Activix `correlationId`.
8
8
  */
9
9
  export declare function getTaskActivities(taskId: string): Promise<TaskActivityRecord[]>;
@@ -3,7 +3,7 @@ import { getActivixClient, getActivixCollectionName } from "./activixClient.js";
3
3
  * Retrieve Activix phase records for a single logical task run.
4
4
  *
5
5
  * Notes:
6
- * - Requires `ACTIVIX_ENABLED=true` and Mongo configured (same as tracking).
6
+ * - Requires Mongo configured (`MONGO_URI` or `MONGO_LOGS_URI`) and Activix not opted out (`ACTIVIX_ENABLED=false`).
7
7
  * - `taskId` is the runtime task identifier and also the Activix `correlationId`.
8
8
  */
9
9
  export async function getTaskActivities(taskId) {
@@ -6,7 +6,7 @@ export function createPhaseMeta(args) {
6
6
  async function safeStartPhase(ax, meta) {
7
7
  try {
8
8
  const r = await ax.startRecord(meta);
9
- return r.recordId;
9
+ return r.activityId ?? r.recordId ?? null;
10
10
  }
11
11
  catch {
12
12
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"phaseTracking.js","sourceRoot":"","sources":["../../src/activix/phaseTracking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phaseTracking.js","sourceRoot":"","sources":["../../src/activix/phaseTracking.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-sdk.d.ts","sourceRoot":"","sources":["../../src/core/task-sdk.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAazD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAuB,MAAM,mBAAmB,CAAC;AA0BzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AA0OxD,KAAK,iBAAiB,GAAG,mBAAmB,CAAC;AA0S7C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,+FAA+F;IAC/F,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B,CAAC;AAEF,qBAAa,gBAAgB;IAIzB,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;gBAGjC,YAAY,EAAE,iBAAiB,EACjC,QAAQ,EAAE;QACzB,OAAO,CAAC,OAAO,GAAG,GAAG,EACnB,KAAK,EAAE,GAAG,EACV,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACzC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;KACtC,EACD,OAAO,CAAC,EAAE,uBAAuB;IAQ7B,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAqkDtF;;OAEG;YACW,6BAA6B;IAmhB3C;;;;;OAKG;YACW,cAAc;CAuR7B"}
1
+ {"version":3,"file":"task-sdk.d.ts","sourceRoot":"","sources":["../../src/core/task-sdk.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAazD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAuB,MAAM,mBAAmB,CAAC;AA2BzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AA0OxD,KAAK,iBAAiB,GAAG,mBAAmB,CAAC;AA0S7C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,+FAA+F;IAC/F,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B,CAAC;AAEF,qBAAa,gBAAgB;IAIzB,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,iBAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;gBAGjC,YAAY,EAAE,iBAAiB,EACjC,QAAQ,EAAE;QACzB,OAAO,CAAC,OAAO,GAAG,GAAG,EACnB,KAAK,EAAE,GAAG,EACV,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACzC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;KACtC,EACD,OAAO,CAAC,EAAE,uBAAuB;IAQ7B,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IA4kDtF;;OAEG;YACW,6BAA6B;IAmhB3C;;;;;OAKG;YACW,cAAc;CAuR7B"}
@@ -7,6 +7,7 @@ import { resolveSafeExecutionStrategyCatalogDefaultFunctionId } from "../executi
7
7
  import { SYNTHESIZED_CONTEXT } from "../types/index.js";
8
8
  import { runAuditPostStep } from "../post-steps/audit/runAudit.js";
9
9
  import { buildRunTaskResultMetaFromModelId } from "../invocation/buildRunTaskResultMeta.js";
10
+ import { logRunTaskInvocationPlan } from "../observability/logLlmProviderInvocation.js";
10
11
  import { runPolishPostStep } from "../post-steps/polish/runPolish.js";
11
12
  import { getLocalTask } from "../localTasks/registry.js";
12
13
  import { registerBuiltInLocalTasks } from "../localTasks/index.js";
@@ -476,6 +477,12 @@ export class WorexClientTasks {
476
477
  graphId: input.graphId,
477
478
  nodeId: input.nodeId,
478
479
  });
480
+ await logRunTaskInvocationPlan({
481
+ modelConfig: input.modelConfig,
482
+ skillKey: input.skillKey,
483
+ }).catch(() => {
484
+ /* plan logging is best-effort diagnostics */
485
+ });
479
486
  const coreSkillId = input.coreSkillId;
480
487
  const upstreamIdentity = isRecord(input.identity) ? input.identity : undefined;
481
488
  const executingSkillId = coreSkillId ?? input.skillKey;