@exellix/graph-composer 2.6.2 → 2.7.0

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,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.7.0
4
+
5
+ ### Changed
6
+
7
+ - **Peer dependencies:** `@exellix/graph-engine` `^8.1.0`, `@exellix/ai-tasks` `^9.0.0`, `@exellix/ai-skills` `^6.5.0` — aligned with Graphenix 2.x authoring compile (`AuthoringGraphDocument` → plan) and ai-tasks 9 `nodePlan` wire.
8
+ - **`modelConfig` authoring:** profile/choice keys only (e.g. `cheap/default`, `pro/default`); engine default triple is `cheap/default` / `pro/default` / `cheap/default`.
9
+ - **Task nodes:** canonicalizer ensures `taskConfiguration.executionStrategies: []` when missing; token caps on `taskConfiguration.llmCall` / `modelConfig` are forbidden (Optimixer-owned at invoke).
10
+ - **Prompts / docs:** execution wiring under `taskConfiguration` only; Graphenix compile path documented in format reference.
11
+
12
+ ### Added
13
+
14
+ - **`collectAuthoringGraphValidationWarnings`** / **`collectAuthoringGraphValidationIssues`** — warn-first Graphenix authoring checks on create/modify output (via graph-engine testkit bridge + `validateAuthoringGraph`).
15
+ - Re-exports **`compileExellixExecutablePlan`**, **`AuthoringGraphDocument`**, **`ExecutableGraphPlanV2`**, **`NodeExecutionPlan`** from `@exellix/graph-engine`.
16
+
3
17
  ## 2.6.2
4
18
 
5
19
  ### Changed
package/README.md CHANGED
@@ -26,11 +26,24 @@ FuncX pack / example-generation contract: [docs/funcx-generic-pack-spec.md](./do
26
26
  ## Install
27
27
 
28
28
  ```bash
29
- npm install @x12i/graph-composer
29
+ npm install @exellix/graph-composer @exellix/graph-engine@^8.1.0 @exellix/ai-tasks@^9.0.0
30
30
  ```
31
31
 
32
32
  Requires **Node.js 20+** (Catalox embedder and this package align on `>=20`).
33
33
 
34
+ **Stack alignment (graph-engine 8.1+):** Composer emits flat worox-graph authoring JSON. Hosts compile before execute:
35
+
36
+ ```ts
37
+ import { compileExellixExecutablePlan, createExellixGraphRuntime } from "@exellix/graph-engine";
38
+ import { flatTestGraphToAuthoringDocument } from "@exellix/graph-engine/testkit";
39
+
40
+ const doc = flatTestGraphToAuthoringDocument(graphModel);
41
+ const plan = compileExellixExecutablePlan(doc, runtime);
42
+ await graphRuntime.executeGraph({ plan, runtime });
43
+ ```
44
+
45
+ `collectAuthoringGraphValidationWarnings` on create/modify output surfaces Graphenix authoring issues as **warnings** (warn-first; conditional edges may need studio follow-up).
46
+
34
47
  ## Environment
35
48
 
36
49
  | Variable | Required | Description |
@@ -292,6 +305,8 @@ graph-composer explain-basic
292
305
  | `analyzeGraphModelLayers`, `stampGraphModelLayersOnGraph`, `graphModelLayerLegend` | **Model map** for AI nodes: which `@x12i/ai-profiles` names win (PRE/MAIN/POST), resolved provider ids, precedence layer + color stack — **model JSON only** unless you pass an explicit `runtime` overlay. Stamp with `stampGraphModelLayersOnGraph` before explain/UI. |
293
306
  | `formatNodeWinningModelLabel`, `formatGraphDefaultModelLabel` | **Canvas / Agent View labels** — e.g. `balanced (openrouter/…)` on Inference nodes after stamp; see graphs-studio node chrome. |
294
307
  | `assertCanonicalGraphDocument` | Re-exported from graph-engine — **`validateCreateModifyOutput` hard-fails** when the canonicalized graph does not pass. |
308
+ | `collectAuthoringGraphValidationWarnings` | Warn-first Graphenix 2.x authoring checks (flat graph → `AuthoringGraphDocument` bridge + `validateAuthoringGraph`). |
309
+ | `compileExellixExecutablePlan` | Re-exported from graph-engine — host compile helper after authoring bridge. |
295
310
  | `GRAPH_ENGINE_MEMORY_PATH_ROOTS` | Re-exported memory path allowlist from graph-engine — use for validation parity, not a forked copy. |
296
311
  | `WoroxScopingMapCatalogCreatePayload`, `WoroxScopedDataDocumentShape` | Host-side CRUD handoff (align field names with your persisted catalog / scoping schema). |
297
312
  | `parseGraphConceptStory`, `isGraphConceptStoryDescription`, `GRAPH_CONCEPT_STORY_MARKER`, … | Parse **graph concept story** text for `create` / `modify` / reviews. |
@@ -0,0 +1,8 @@
1
+ export type AuthoringGraphValidationIssue = {
2
+ path: string;
3
+ message: string;
4
+ };
5
+ /** Warn-first Graphenix authoring checks on a canonical flat graph document. */
6
+ export declare function collectAuthoringGraphValidationIssues(graph: object): AuthoringGraphValidationIssue[];
7
+ export declare function collectAuthoringGraphValidationWarnings(graph: object): string[];
8
+ //# sourceMappingURL=authoringGraphValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authoringGraphValidation.d.ts","sourceRoot":"","sources":["../src/authoringGraphValidation.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,gFAAgF;AAChF,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,MAAM,GACZ,6BAA6B,EAAE,CAiBjC;AAED,wBAAgB,uCAAuC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAI/E"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Graphenix 2.x authoring validation for composer output.
3
+ * Flat exellix graph JSON is bridged via `@exellix/graph-engine/testkit`, then checked with
4
+ * `@x12i/graphenix-authoring-format` — same path hosts use before `compileExellixExecutablePlan`.
5
+ */
6
+ import { validateAuthoringGraph } from "@x12i/graphenix-authoring-format";
7
+ import { flatTestGraphToAuthoringDocument } from "@exellix/graph-engine/testkit";
8
+ /** Warn-first Graphenix authoring checks on a canonical flat graph document. */
9
+ export function collectAuthoringGraphValidationIssues(graph) {
10
+ try {
11
+ const doc = flatTestGraphToAuthoringDocument(graph);
12
+ const validation = validateAuthoringGraph(doc);
13
+ if (validation.valid)
14
+ return [];
15
+ return validation.errors.map((e) => ({
16
+ path: e.path,
17
+ message: e.message,
18
+ }));
19
+ }
20
+ catch (err) {
21
+ return [
22
+ {
23
+ path: "authoring",
24
+ message: err instanceof Error ? err.message : String(err),
25
+ },
26
+ ];
27
+ }
28
+ }
29
+ export function collectAuthoringGraphValidationWarnings(graph) {
30
+ return collectAuthoringGraphValidationIssues(graph).map((issue) => `authoring-format ${issue.path}: ${issue.message}`);
31
+ }
@@ -192,7 +192,7 @@ export async function buildCatalogMatchHints(input, opts) {
192
192
  const r = await matchLists({
193
193
  list1: narrixNodes,
194
194
  list2: narrixCatalogItems(narrixTemplates),
195
- guidance: "Match each node that has metadata.narrix to the best narrix template candidate (layer, datasetId, narrativeTypeIds, web scope). reason briefly.",
195
+ guidance: "Match each node that has taskConfiguration.narrix to the best narrix template candidate (layer, datasetId, narrativeTypeIds, web scope). reason briefly.",
196
196
  client,
197
197
  model,
198
198
  }, { rules: [] });
@@ -1 +1 @@
1
- {"version":3,"file":"graphComposerOutputValidation.d.ts","sourceRoot":"","sources":["../src/graphComposerOutputValidation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,kBAAkB,EAAwB,MAAM,YAAY,CAAC;AAE3E,mHAAmH;AACnH,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,CAAC,EAAE,uBAAuB,KAC1B,IAAI,CAAC;AAEV,OAAO,EACL,sCAAsC,EACtC,qCAAqC,EACrC,uCAAuC,EACvC,yCAAyC,EACzC,qCAAqC,EACrC,qCAAqC,EACrC,2CAA2C,GAC5C,MAAM,iCAAiC,CAAC;AAuBzC,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAIN;AAmYD,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAwGN;AAED;;;;GAIG;AACH,wBAAgB,uCAAuC,CACrD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,KAAK,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GACjC,IAAI,CAqCN;AAuBD,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAmBN;AAsBD,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,CAAC,EAAE,uBAAuB,GAC5B,IAAI,CA8BN;AAmBD,wBAAgB,sCAAsC,CACpD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAkDN;AAED,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAiCN;AAUD,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAwDN;AAED,wBAAgB,uCAAuC,CACrD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAwDN"}
1
+ {"version":3,"file":"graphComposerOutputValidation.d.ts","sourceRoot":"","sources":["../src/graphComposerOutputValidation.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,kBAAkB,EAAwB,MAAM,YAAY,CAAC;AAE3E,mHAAmH;AACnH,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,CAAC,EAAE,uBAAuB,KAC1B,IAAI,CAAC;AAEV,OAAO,EACL,sCAAsC,EACtC,qCAAqC,EACrC,uCAAuC,EACvC,yCAAyC,EACzC,qCAAqC,EACrC,qCAAqC,EACrC,2CAA2C,GAC5C,MAAM,iCAAiC,CAAC;AAuBzC,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAIN;AAmYD,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAwGN;AAED;;;;GAIG;AACH,wBAAgB,uCAAuC,CACrD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,KAAK,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GACjC,IAAI,CAqCN;AAuBD,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAmBN;AAsBD,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,CAAC,EAAE,uBAAuB,GAC5B,IAAI,CA+BN;AAmBD,wBAAgB,sCAAsC,CACpD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAkDN;AAED,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAiCN;AAUD,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAwDN;AAED,wBAAgB,uCAAuC,CACrD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,IAAI,CAAC,EAAE,uBAAuB,GAC7B,IAAI,CAwDN"}
@@ -1,4 +1,5 @@
1
1
  import { reportTaskNodeProtocolGaps } from "./aiTaskProfile.js";
2
+ import { collectAuthoringGraphValidationWarnings } from "./authoringGraphValidation.js";
2
3
  import { collectCanonicalGraphWarnings } from "./canonicalGraphWarnings.js";
3
4
  import { assertCanonicalGraphDocument } from "./graphEngineBridge.js";
4
5
  import { canonicalizeGraphModel, reportTaskNodeInputsLayoutIssues, taskNodeInputsLayoutWarningMessage, } from "./taskNodeTaskVariable.js";
@@ -525,6 +526,7 @@ export function validateCreateModifyOutput(out, ctx) {
525
526
  throw new Error(`create/modify graph is not a canonical graph document: ${msg}`);
526
527
  }
527
528
  appendWarnings(out, collectCanonicalGraphWarnings(canonicalized));
529
+ appendWarnings(out, collectAuthoringGraphValidationWarnings(canonicalized));
528
530
  out.graph = canonicalized;
529
531
  }
530
532
  }
@@ -2,6 +2,6 @@
2
2
  * Re-exports from `@exellix/graph-engine` so hosts validate graphs with the same
3
3
  * rules as runtime — do not fork gap codes or memory path allowlists here.
4
4
  */
5
- export { assertCanonicalGraphDocument, getCanonicalGraphDocumentViolations, CANONICAL_GRAPH_TOP_LEVEL_KEYS, GRAPH_ENGINE_MEMORY_PATH_ROOTS, isAllowedGraphEngineMemoryPath, collectAiTasksNodeExtensionIssues, assertAiTasksNodeExtensionsValid, resolveGraphEngineMemoryPathValue, buildGraphEngineMemoryResolutionRootFromWorkingMemory, DEFAULT_GRAPH_AI_MODEL_PROFILE_CONFIG, looksLikeConcreteModelId, isGraphAiProfileName, isGraphAiModelConfig, isModelConfigSelection, resolveGraphAiModelConfig, } from "@exellix/graph-engine";
6
- export type { GraphEngineMemoryResolutionRoot } from "@exellix/graph-engine";
5
+ export { assertCanonicalGraphDocument, getCanonicalGraphDocumentViolations, CANONICAL_GRAPH_TOP_LEVEL_KEYS, GRAPH_ENGINE_MEMORY_PATH_ROOTS, isAllowedGraphEngineMemoryPath, collectAiTasksNodeExtensionIssues, assertAiTasksNodeExtensionsValid, resolveGraphEngineMemoryPathValue, buildGraphEngineMemoryResolutionRootFromWorkingMemory, DEFAULT_GRAPH_AI_MODEL_PROFILE_CONFIG, looksLikeConcreteModelId, isGraphAiProfileName, isGraphAiModelConfig, isModelConfigSelection, resolveGraphAiModelConfig, compileExellixExecutablePlan, } from "@exellix/graph-engine";
6
+ export type { GraphEngineMemoryResolutionRoot, AuthoringGraphDocument, ExecutableGraphPlanV2, NodeExecutionPlan, CompileExellixExecutablePlanOptions, } from "@exellix/graph-engine";
7
7
  //# sourceMappingURL=graphEngineBridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphEngineBridge.d.ts","sourceRoot":"","sources":["../src/graphEngineBridge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,4BAA4B,EAC5B,mCAAmC,EACnC,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,EACjC,qDAAqD,EACrD,qCAAqC,EACrC,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"graphEngineBridge.d.ts","sourceRoot":"","sources":["../src/graphEngineBridge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,4BAA4B,EAC5B,mCAAmC,EACnC,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,iCAAiC,EACjC,gCAAgC,EAChC,iCAAiC,EACjC,qDAAqD,EACrD,qCAAqC,EACrC,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,+BAA+B,EAC/B,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,mCAAmC,GACpC,MAAM,uBAAuB,CAAC"}
@@ -2,4 +2,4 @@
2
2
  * Re-exports from `@exellix/graph-engine` so hosts validate graphs with the same
3
3
  * rules as runtime — do not fork gap codes or memory path allowlists here.
4
4
  */
5
- export { assertCanonicalGraphDocument, getCanonicalGraphDocumentViolations, CANONICAL_GRAPH_TOP_LEVEL_KEYS, GRAPH_ENGINE_MEMORY_PATH_ROOTS, isAllowedGraphEngineMemoryPath, collectAiTasksNodeExtensionIssues, assertAiTasksNodeExtensionsValid, resolveGraphEngineMemoryPathValue, buildGraphEngineMemoryResolutionRootFromWorkingMemory, DEFAULT_GRAPH_AI_MODEL_PROFILE_CONFIG, looksLikeConcreteModelId, isGraphAiProfileName, isGraphAiModelConfig, isModelConfigSelection, resolveGraphAiModelConfig, } from "@exellix/graph-engine";
5
+ export { assertCanonicalGraphDocument, getCanonicalGraphDocumentViolations, CANONICAL_GRAPH_TOP_LEVEL_KEYS, GRAPH_ENGINE_MEMORY_PATH_ROOTS, isAllowedGraphEngineMemoryPath, collectAiTasksNodeExtensionIssues, assertAiTasksNodeExtensionsValid, resolveGraphEngineMemoryPathValue, buildGraphEngineMemoryResolutionRootFromWorkingMemory, DEFAULT_GRAPH_AI_MODEL_PROFILE_CONFIG, looksLikeConcreteModelId, isGraphAiProfileName, isGraphAiModelConfig, isModelConfigSelection, resolveGraphAiModelConfig, compileExellixExecutablePlan, } from "@exellix/graph-engine";
package/dist/index.d.ts CHANGED
@@ -20,7 +20,8 @@ export { buildGraphInputExampleGuidance, buildGraphEntryExampleGuidance, generat
20
20
  export { parseGraphConceptStory, parseGraphConceptStoryBody, isGraphConceptStoryDescription, GRAPH_CONCEPT_STORY_MARKER, } from "./parseGraphConceptStory.js";
21
21
  export type { ParsedGraphConcept } from "./parseGraphConceptStory.js";
22
22
  export { reportTaskNodeProtocolGaps, DEFAULT_LOCAL_SKILL_KEYS, type AiTaskProfileMetadata, type TaskNodeProtocolGap, type TaskNodeProtocolIssueCode, type WebScopingNodeConfig, type InputSynthesisNodeConfig, type InputSynthesisDestination, } from "./aiTaskProfile.js";
23
- export { assertCanonicalGraphDocument, getCanonicalGraphDocumentViolations, CANONICAL_GRAPH_TOP_LEVEL_KEYS, GRAPH_ENGINE_MEMORY_PATH_ROOTS, isAllowedGraphEngineMemoryPath, collectAiTasksNodeExtensionIssues, assertAiTasksNodeExtensionsValid, resolveGraphEngineMemoryPathValue, buildGraphEngineMemoryResolutionRootFromWorkingMemory, DEFAULT_GRAPH_AI_MODEL_PROFILE_CONFIG, looksLikeConcreteModelId, isGraphAiProfileName, type GraphEngineMemoryResolutionRoot, } from "./graphEngineBridge.js";
23
+ export { assertCanonicalGraphDocument, getCanonicalGraphDocumentViolations, CANONICAL_GRAPH_TOP_LEVEL_KEYS, GRAPH_ENGINE_MEMORY_PATH_ROOTS, isAllowedGraphEngineMemoryPath, collectAiTasksNodeExtensionIssues, assertAiTasksNodeExtensionsValid, resolveGraphEngineMemoryPathValue, buildGraphEngineMemoryResolutionRootFromWorkingMemory, DEFAULT_GRAPH_AI_MODEL_PROFILE_CONFIG, looksLikeConcreteModelId, isGraphAiProfileName, compileExellixExecutablePlan, type GraphEngineMemoryResolutionRoot, type AuthoringGraphDocument, type ExecutableGraphPlanV2, type NodeExecutionPlan, type CompileExellixExecutablePlanOptions, } from "./graphEngineBridge.js";
24
+ export { collectAuthoringGraphValidationIssues, collectAuthoringGraphValidationWarnings, type AuthoringGraphValidationIssue, } from "./authoringGraphValidation.js";
24
25
  export { collectCanonicalGraphWarnings } from "./canonicalGraphWarnings.js";
25
26
  export { OPTIMIXER_REASONING_EFFORT_VALUES, collectGraphOrchestratorInvokeWarnings, isOptimixerReasoningEffort, type GraphTaskNodeLlmCallConfig, type OptimixerReasoningEffort, } from "./llmCallConfig.js";
26
27
  export { FUNCX_ANALYZE_GATEWAY_INVOKE_REQUEST_ID, FUNCX_MIN_VERSION_FOR_ANALYZE_GATEWAY, analyzeRunSkillRequest, analyzeRunTaskRequest, analyzeTaskNodeRunTaskRequest, buildTaskNodeRunTaskRequest, validateTaskNodeRunTaskConfig, validateTaskNodeRunTaskInvoke, validateTaskNodeRunTaskInvokeFromGraph, pickRunSkillRequestFields, validateRunTaskConfig, validateRunTaskInvoke, analyzeExpectedRunTaskInput, checkExpectedInputAgainstRequest, analyzeSkillRequest, buildSkillRequestAnalysisPacket, formatSkillRequestAnalysisMarkdown, type AnalyzeRunTaskRequestOptions, type AnalyzeRunTaskRequestResult, type AnalyzeTaskNodeRunTaskRequestArgs, type AnalyzeTaskNodeRunTaskRequestResult, type AnalyzeSkillRequestOptions, type AnalyzeSkillRequestResult, type SkillRequestAnalysisFinding, type SkillRequestAnalysisReport, type SkillRequestAnalysisVerdict, type BuildSkillRequestAnalysisPacketResult, type ValidateTaskNodeRunTaskConfigArgs, type ValidateTaskNodeRunTaskConfigResult, type ValidateTaskNodeRunTaskInvokeArgs, type ValidateTaskNodeRunTaskInvokeResult, type BuildTaskNodeRunTaskRequestArgs, type BuildTaskNodeRunTaskRequestResult, } from "./studioSkillInvokePreflight.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -16,7 +16,8 @@ export { loadExampleGraph, inputExplainNetworkVulnSubnet, inputSuggestConceptObj
16
16
  export { buildGraphInputExampleGuidance, buildGraphEntryExampleGuidance, generateGraphJsonInputExample, generateGraphEntryInputExample, generateJsonExample, generateMdExample, generateContentExample, } from "./exampleGeneration.js";
17
17
  export { parseGraphConceptStory, parseGraphConceptStoryBody, isGraphConceptStoryDescription, GRAPH_CONCEPT_STORY_MARKER, } from "./parseGraphConceptStory.js";
18
18
  export { reportTaskNodeProtocolGaps, DEFAULT_LOCAL_SKILL_KEYS, } from "./aiTaskProfile.js";
19
- export { assertCanonicalGraphDocument, getCanonicalGraphDocumentViolations, CANONICAL_GRAPH_TOP_LEVEL_KEYS, GRAPH_ENGINE_MEMORY_PATH_ROOTS, isAllowedGraphEngineMemoryPath, collectAiTasksNodeExtensionIssues, assertAiTasksNodeExtensionsValid, resolveGraphEngineMemoryPathValue, buildGraphEngineMemoryResolutionRootFromWorkingMemory, DEFAULT_GRAPH_AI_MODEL_PROFILE_CONFIG, looksLikeConcreteModelId, isGraphAiProfileName, } from "./graphEngineBridge.js";
19
+ export { assertCanonicalGraphDocument, getCanonicalGraphDocumentViolations, CANONICAL_GRAPH_TOP_LEVEL_KEYS, GRAPH_ENGINE_MEMORY_PATH_ROOTS, isAllowedGraphEngineMemoryPath, collectAiTasksNodeExtensionIssues, assertAiTasksNodeExtensionsValid, resolveGraphEngineMemoryPathValue, buildGraphEngineMemoryResolutionRootFromWorkingMemory, DEFAULT_GRAPH_AI_MODEL_PROFILE_CONFIG, looksLikeConcreteModelId, isGraphAiProfileName, compileExellixExecutablePlan, } from "./graphEngineBridge.js";
20
+ export { collectAuthoringGraphValidationIssues, collectAuthoringGraphValidationWarnings, } from "./authoringGraphValidation.js";
20
21
  export { collectCanonicalGraphWarnings } from "./canonicalGraphWarnings.js";
21
22
  export { OPTIMIXER_REASONING_EFFORT_VALUES, collectGraphOrchestratorInvokeWarnings, isOptimixerReasoningEffort, } from "./llmCallConfig.js";
22
23
  export { FUNCX_ANALYZE_GATEWAY_INVOKE_REQUEST_ID, FUNCX_MIN_VERSION_FOR_ANALYZE_GATEWAY, analyzeRunSkillRequest, analyzeRunTaskRequest, analyzeTaskNodeRunTaskRequest, buildTaskNodeRunTaskRequest, validateTaskNodeRunTaskConfig, validateTaskNodeRunTaskInvoke, validateTaskNodeRunTaskInvokeFromGraph, pickRunSkillRequestFields, validateRunTaskConfig, validateRunTaskInvoke, analyzeExpectedRunTaskInput, checkExpectedInputAgainstRequest, analyzeSkillRequest, buildSkillRequestAnalysisPacket, formatSkillRequestAnalysisMarkdown, } from "./studioSkillInvokePreflight.js";
@@ -1,4 +1,4 @@
1
- You are a graph architect for the **GraphModelObject** static graph format (`@exellix/graph-engine` `formats-documentations/`). Your outputs are consumed by **runtime executors**, **analysis tools**, and **product UIs**. Optimize for: **correct structure**, **faithfulness to the user’s `intent.description`**, and **clear, stakeholder-safe language** where prose is required.
1
+ You are a graph architect for the **worox-graph** flat authoring format (`@exellix/graph-engine` `formats-documentations/`). Hosts compile your JSON to Graphenix 2.x plans before execute. Your outputs are consumed by **runtime executors**, **analysis tools**, and **product UIs**. Optimize for: **correct structure**, **faithfulness to the user’s `intent.description`**, and **clear, stakeholder-safe language** where prose is required.
2
2
 
3
3
  **You ONLY perform `action = "create"` in this call.** Do not return explanations or graph-concept patches; build a new graph from the user’s description.
4
4
 
@@ -39,7 +39,7 @@ The request includes a structured graph concept derived from the user’s story.
39
39
  2. **`coreTasks` with `taskType: question`**: For each such entry, add a **task** node with `skillKey` **`professional-answer`**, **`taskConfiguration.aiTaskProfile`** (**`preStrategyKey`**, **`postStrategyKey`**), and **`taskConfiguration.narrix`** when discovery applies. Build `taskVariable.question` from **`statement`** + **`details`**. Use **`inputsConfig`** with `executionMemoryPath` for payload bindings; put prompts and **`jobVariables.*`** / **`taskVariables.*`** refs in **`taskVariable`**. Wire **edges** for dependencies.
40
40
  3. **Terminal finalizer**: Use **`finalizerType` `aggregate`** with **`config.strategy` `question-driven`**, and list **every `professional-answer` task** you created in `config.items` (map stable output keys to `{ "nodeId": "<id>" }`). Align `outputSchema` with those keys.
41
41
  4. **Assumptions and unknowns**: When `outputDescription` calls for aggregated assumptions and unknowns across answers, add **one** additional downstream task **or** a finalizer step allowed by this pack (e.g. a final **`professional-answer`** node that reads the prior mapped outputs from execution memory and returns deduplicated lists, then wire it before or into the final output path you document in the changelog). Do **not** invent finalizer `config` keys or strategies beyond what the format reference allows.
42
- 5. **`persistenceNotes` / xmemory / scoped data**: If the concept mentions persisting answers (e.g. xmemory, scoped writes), add **`scoped-answer-assembler`** and **`scoped-answer-writer`** nodes per the format reference, with **`metadata.scopingMapId`**, **`entityIdPath`**, and **`payloadPath`** consistent with the story and execution-memory layout. If the story does not name a concrete `scopingMapId`, use a clear placeholder id and state it in **`warnings`**.
42
+ 5. **`persistenceNotes` / xmemory / scoped data**: If the concept mentions persisting answers (e.g. xmemory, scoped writes), add **`scoped-answer-assembler`** and **`scoped-answer-writer`** nodes per the format reference, with **`taskConfiguration.scopingMapId`**, **`taskConfiguration.entityIdPath`**, and **`taskConfiguration.payloadPath`** consistent with the story and execution-memory layout. If the story does not name a concrete `scopingMapId`, use a clear placeholder id and state it in **`warnings`**.
43
43
 
44
44
  ### Output format for this action
45
45
  Respond with a **single JSON object**. **No markdown fences, no preamble, no trailing commentary.**
@@ -8,7 +8,7 @@ You are a graph architect for the **worox-graph** DAG execution format. Your out
8
8
  - **`summary`**: 2–6 sentences: what the graph achieves end-to-end, main phases (ingest → transform → branch → infer → finalize), and where the canonical result appears.
9
9
  - **`executionOrder`**: A topologically sensible sequence of **node ids**. For branches, you may use short inline notes in string elements (e.g. `"nodeB (when tier=high)"`) or group logically—clarity beats perfect formatting.
10
10
  - **`nodeDescriptions`**: Array of objects with at least `nodeId`, `role` (one line), `reads` (memory paths, `inputs`, and `taskVariable` used), `writes` (output path or effect). Cover every task node; include the finalizer. If `focusNodeIds` is set, expand those nodes and keep others shorter.
11
- - **`modelLayers`** (required when `metadata.graphModelLayers` / `graphModelLayersSummary` exist on the graph): For each **AI** task node, state the **winning** PRE/MAIN/POST profile names, resolved provider ids if stamped, **`sourcePath`** (where that triple was set — e.g. `graph-engine.default`, `graph.modelConfig`, `nodes["iq-…"].taskConfiguration.modelConfig`), and note that **runtime** overrides (`runtime.nodes[id].modelConfig`, `runtime.modelConfig`) are **not** in the graph JSON unless the host injected them at execute time. Use the stamped `stack` colors/legend when present. If no `graphModelLayers` metadata, say explicitly that the graph has **no** authored `modelConfig` and runs on **engine default** (`cheap` / `balanced` / `cheap` → bundled `@x12i/ai-profiles` provider ids).
11
+ - **`modelLayers`** (required when `metadata.graphModelLayers` / `graphModelLayersSummary` exist on the graph): For each **AI** task node, state the **winning** PRE/MAIN/POST profile/choice keys, resolved provider ids if stamped, **`sourcePath`** (where that triple was set — e.g. `graph-engine.default`, `graph.modelConfig`, `nodes["iq-…"].taskConfiguration.modelConfig`). **graph-engine 7.7+ rejects runtime model overrides** — do not describe `runtime.modelConfig` or `runtime.nodes[id].modelConfig` as execute-time routing. Optional stamped `runtime` overlays in `graphModelLayers` are **studio analysis only**. Use the stamped `stack` colors/legend when present. If no `graphModelLayers` metadata, say the graph has **no** authored `modelConfig` and runs on **engine default** (`cheap/default` / `pro/default` / `cheap/default`).
12
12
  - **`dataFlow`**: Prose: how data enters (`input.*`), which nodes write which execution-memory paths, and how the finalizer builds the output.
13
13
  - **`conditionalPaths`**: List conditional edges: `fromNodeId`, branches with `toNodeId` and human-readable `condition`. Use `[]` if none.
14
14
  3. Use **node ids** and **paths** here as needed—they belong in technical explanation, not in product-facing `suggestConceptObjective` fields.
@@ -1,4 +1,4 @@
1
- You are a graph architect for the **GraphModelObject** static graph format (`@exellix/graph-engine` `formats-documentations/`). Your outputs are consumed by **runtime executors**, **analysis tools**, and **product UIs**. Optimize for: **correct structure**, **faithfulness to the user’s `intent.description`**, and **clear, stakeholder-safe language** where prose is required.
1
+ You are a graph architect for the **worox-graph** flat authoring format (`@exellix/graph-engine` `formats-documentations/`). Hosts compile your JSON to Graphenix 2.x plans before execute. Your outputs are consumed by **runtime executors**, **analysis tools**, and **product UIs**. Optimize for: **correct structure**, **faithfulness to the user’s `intent.description`**, and **clear, stakeholder-safe language** where prose is required.
2
2
 
3
3
  **You ONLY perform `action = "modify"` in this call.** Do not produce a greenfield design unrelated to `existingGraph`.
4
4
 
@@ -27,7 +27,7 @@ Cover what matters for the graph at hand; skip axes that clearly do not apply. *
27
27
 
28
28
  - **AI task profile (pre / core / post)**: For each **non-local** task node, verify **`skillKey`** (core AI skill) and **`taskConfiguration.aiTaskProfile.preStrategyKey`** / **`postStrategyKey`** (non-empty ids matching your PRE/POST strategy catalogs). PRE/POST trigger **extra** `@exellix/ai-tasks` `runTask` calls around MAIN — not the same as `executionPipeline` PRE inside a single MAIN call. If any are missing or opaque, add **`findings`** with `nodeIds`, **`severity`**: `warning` or `error`, and **`suggestedChange`** describing exactly what to add. Built-in utilities (`scoped-data-reader`, `deterministic-rule`, `scoped-answer-assembler`, `scoped-answer-writer`) do not need this profile.
29
29
  - **Narrix discovery**: For **`professional-answer`** (or other LLM) nodes that imply discovery, check **`taskConfiguration.narrix`** (`datasetId`, `layer`, `narrativeTypeIds`) for coherence with **`inputsConfig`** / **`taskVariable`** and **`catalogCandidates.narrixTemplates`** when present.
30
- - **Catalog planning vs runtime**: When **`metadata.catalogBinding`** / **`metadata.catalogRequests`** (graph) exist, note mismatches vs actual **`metadata.narrix`** / **`scopingMapId`** on nodes, or vs gaps declared in **`catalogRequests`**.
30
+ - **Catalog planning vs runtime**: When **`metadata.catalogBinding`** / **`metadata.catalogRequests`** (graph) exist, note mismatches vs actual **`taskConfiguration.narrix`** / **`taskConfiguration.scopingMapId`** on nodes, or vs gaps declared in **`catalogRequests`**.
31
31
  - **Graph I/O contracts**: When **`metadata.graphEntry`** or **`metadata.graphResponse`** exist, comment on whether **`inputs`**, **`taskVariable`**, execution paths, and finalizer outputs align with declared **`requiredExecutionPaths`** / **`notableExecutionPaths`** / schemas (authoring-level review).
32
32
  - **Web scoping + input synthesis (node-level)**: Under **`taskConfiguration.aiTaskProfile`**, when **`webScoping.enabled`** is true, require a non-empty **`webScoping.questions`** list (do not author web questions on **`taskConfiguration.narrix`**). When **`inputSynthesis.enabled`** is true, require non-empty **`catalogId`**, **`strategyKey`**, **`outputKey`**, **`sources`**, and **`destination`** (`job`, `task`, or `execution`). Flag **`catalog`** / **`core_task`** findings when **`questions`** exist but scoping is off, or synthesis is enabled without required fields.
33
33
  - **Task decomposition**: One clear responsibility per node; avoid redundant or oversized steps.
@@ -59,7 +59,7 @@ The object **MUST** include top-level `"action": "reviewConcept"` (must match th
59
59
 
60
60
  **Signals → `requirements` (checklist — do not default to `skill` only):** Product editors merge your patch with graph data; **shallow skill-only patches** are **wrong** when the graph exposes Narrix or execution-memory signals below, unless you explain true absence via **`findings`** (with `taskIndex` and categories `memory_io`, `narrix_web`, or `catalog`) and/or **`requirementOptions`**.
61
61
 
62
- - **Narrix / discovery**: Any task node with **`metadata.narrix`** (e.g. `datasetId`, `enableWebScope`, `narrativeTypeIds`, layers) → populate **`requirements.narrix`** for the matching `coreTasks[i]`, or emit **`requirementOptions`** with `field` like `narrix.datasetId` / `narrix.enableWebScope` when several values fit.
62
+ - **Narrix / discovery**: Any task node with **`taskConfiguration.narrix`** (e.g. `datasetId`, `enableWebScope`, `narrativeTypeIds`, layers) → populate **`requirements.narrix`** for the matching `coreTasks[i]`, or emit **`requirementOptions`** with `field` like `narrix.datasetId` / `narrix.enableWebScope` when several values fit.
63
63
  - **Memory IO**: **`jobContextMapping`**, **`outputMapping.path`**, node **`inputs`** (execution-memory payload bindings) and **`taskVariable`** (question, task config, graph variables), **`analysisContext`** IO summaries, or upstream/downstream writers → populate **`requirements.memoryIO`** (`reads`, `writes`, `jobContextMappings`) for the right step, or **`requirementOptions`** for ambiguous paths (e.g. `memoryIO.writes`, `memoryIO.reads`).
64
64
  - **PRE/POST strategies**: Non-local nodes with **`taskConfiguration.aiTaskProfile.preStrategyKey`** / **`postStrategyKey`** → **`requirements.strategies.pre`** / **`post`** (string arrays of ids) on the aligned **`coreTasks[i]`**, or **`requirementOptions`** when ambiguous.
65
65
  - **Entity collections (Lane 1)**: When the graph or concept implies a primary entity collection, set patch **`entityBindings.coreEntityCollectionId`** (and optional supporting / target ids). If catalog rows are ambiguous, use **`requirementOptions`** / **`catalogProposals`** — do not “fix” Lane 1 only with **`narrix`** or **`memoryIO`**.
@@ -69,7 +69,7 @@ When multiple plausible values exist, **prefer populating `requirementOptions`**
69
69
 
70
70
  **Structured concept patch (for product editors — important):**
71
71
  - Put partial updates for `metadata.graphConcept` in **`graphConceptPatch`** **or** **`suggestedConceptPatch`** (same object shape; **prefer exactly one** of these keys to avoid duplication). Consumers deep-merge **`requirements`** per task and shallow-merge other task keys.
72
- - When **`existingGraph.metadata.graphConcept.coreTasks`** exists and has **length N > 0**, you **MUST** include **`coreTasks`** on that patch as an **array of length N**, index-aligned with the current concept. Each `coreTasks[i]` may be a **partial** task object; focus on populating **`requirements`** inferred from graph nodes, `outputMapping.path`, `metadata.narrix`, `jobContextMapping`, prior-step reads, `catalogCandidates`, and `analysisContext`:
72
+ - When **`existingGraph.metadata.graphConcept.coreTasks`** exists and has **length N > 0**, you **MUST** include **`coreTasks`** on that patch as an **array of length N**, index-aligned with the current concept. Each `coreTasks[i]` may be a **partial** task object; focus on populating **`requirements`** inferred from graph nodes, `executionMapping.path`, `taskConfiguration.narrix`, `jobContextMapping`, prior-step reads, `catalogCandidates`, and `analysisContext`:
73
73
  - **`requirements.skill`**: `{ "skillKey": string, "isLocal"?: boolean }`
74
74
  - **`requirements.catalogBinding`**: object (e.g. `catalogType`, `catalogId`, `version`, `scopingMapId`, …) when the step implies scoped questions / catalog use.
75
75
  - **`requirements.narrix`**: object (e.g. `enableWebScope`, `narrativeTypeIds`, `datasetId`, …) when relevant.
@@ -1,4 +1,4 @@
1
- You are a **worox-graph scoping catalog** assistant. Scoped data is read via `scoped-data-reader` using `metadata.scopingMapId` or `metadata.questionId` against xmemory (see worox-graph docs: scoping catalog).
1
+ You are a **worox-graph scoping catalog** assistant. Scoped data is read via `scoped-data-reader` using `taskConfiguration.scopingMapId` or `taskConfiguration.questionId` against xmemory (see worox-graph docs: scoping catalog).
2
2
 
3
3
  **You ONLY perform `action = "suggestScopingNeedMatch"` in this call.** Do not return graph JSON or edit graphs.
4
4
 
@@ -1,6 +1,6 @@
1
- ## Format reference (worox-graph / GraphModelObject)
1
+ ## Format reference (worox-graph / Graphenix authoring)
2
2
 
3
- Normative contracts for the **worox-graph** DAG JSON model: `@exellix/graph-engine` `formats-documentations/graph-model-object-format.md` and `task-node-model-object-format.md`. Graph-composer emits **static model** JSON consumed by `@exellix/graph-engine`.
3
+ Normative contracts for the **worox-graph** flat DAG JSON model: `@exellix/graph-engine` `formats-documentations/graph-model-object-format.md` and `task-node-model-object-format.md`. Graph-composer emits **static authoring** JSON. Hosts on **graph-engine 8.1+** bridge it to Graphenix 2.x `AuthoringGraphDocument` and **`compileExellixExecutablePlan`** before **`executeGraph({ plan, runtime })`** — composer does not emit executable plans.
4
4
 
5
5
  A graph is a single JSON object. Top-level fields (canonical root keys only):
6
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exellix/graph-composer",
3
- "version": "2.6.2",
3
+ "version": "2.7.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -37,7 +37,7 @@
37
37
  "verify:local": "tsx src/verify-local.ts",
38
38
  "verify:catalog-live": "x12i-env run --env-file .env -- tsx scripts/verify-catalog-live.ts",
39
39
  "test": "npm run test:unit && npm run test:live",
40
- "test:unit": "node --import tsx/esm --test --test-force-exit --test-concurrency=1 test/unit/explain-shape.test.ts test/unit/graph-concept-patch.test.ts test/unit/graph-concept-story-parse.test.ts test/unit/review-concept-output-validation.test.ts test/unit/review-concept-catalog-alias.test.ts test/unit/redact-for-log.test.ts test/unit/graph-composer-logging.test.ts test/unit/worker-instructions.test.ts test/unit/catalog-output-validation.test.ts test/unit/catalox-catalog-bridge.test.ts test/unit/ai-task-profile.test.ts test/unit/create-modify-output-validation.test.ts test/unit/task-node-task-variable.test.ts test/unit/canonical-graph-document.test.ts test/unit/graph-engine-bridge.test.ts test/unit/graph-model-layers.test.ts test/unit/example-generation.test.ts test/unit/graph-entry-schema.test.ts test/unit/graph-entry-patch-validation.test.ts test/unit/graph-entry-entity-alignment.test.ts test/unit/model-config-patch-merge.test.ts test/unit/graph-entry-registry.test.ts test/unit/graph-model-label-format.test.ts test/unit/llm-call-config.test.ts",
40
+ "test:unit": "node --import tsx/esm --test --test-force-exit --test-concurrency=1 test/unit/explain-shape.test.ts test/unit/graph-concept-patch.test.ts test/unit/graph-concept-story-parse.test.ts test/unit/review-concept-output-validation.test.ts test/unit/review-concept-catalog-alias.test.ts test/unit/redact-for-log.test.ts test/unit/graph-composer-logging.test.ts test/unit/worker-instructions.test.ts test/unit/catalog-output-validation.test.ts test/unit/catalox-catalog-bridge.test.ts test/unit/ai-task-profile.test.ts test/unit/create-modify-output-validation.test.ts test/unit/task-node-task-variable.test.ts test/unit/canonical-graph-document.test.ts test/unit/graph-engine-bridge.test.ts test/unit/authoring-graph-validation.test.ts test/unit/graph-model-layers.test.ts test/unit/example-generation.test.ts test/unit/graph-entry-schema.test.ts test/unit/graph-entry-patch-validation.test.ts test/unit/graph-entry-entity-alignment.test.ts test/unit/model-config-patch-merge.test.ts test/unit/graph-entry-registry.test.ts test/unit/graph-model-label-format.test.ts test/unit/llm-call-config.test.ts",
41
41
  "test:live": "x12i-env run --env-file .env -- node --import tsx/esm --test test/live/all.ts",
42
42
  "pack:check": "npm pack --dry-run",
43
43
  "suggest-smoke": "x12i-env run --env-file .env -- tsx scripts/run-suggest-concept-smoke.ts"
@@ -64,8 +64,9 @@
64
64
  },
65
65
  "homepage": "https://github.com/woroces/graph-composer#readme",
66
66
  "peerDependencies": {
67
- "@exellix/ai-tasks": "^8.8.0",
68
- "@exellix/graph-engine": "^7.8.2 || ^8.0.0"
67
+ "@exellix/graph-engine": "^8.1.0",
68
+ "@exellix/ai-tasks": "^9.0.0",
69
+ "@exellix/ai-skills": "^6.5.0"
69
70
  },
70
71
  "peerDependenciesMeta": {
71
72
  "@exellix/graph-engine": {
@@ -81,13 +82,13 @@
81
82
  "dependencies": {
82
83
  "@x12i/catalox": "^5.1.3",
83
84
  "@x12i/env": "^4.0.1",
84
- "@x12i/funcx": "^4.4.4",
85
+ "@x12i/funcx": "^4.5.0",
85
86
  "@x12i/logxer": "^4.6.0"
86
87
  },
87
88
  "devDependencies": {
88
- "@exellix/ai-skills": "^6.4.0",
89
- "@exellix/ai-tasks": "^8.8.0",
90
- "@exellix/graph-engine": "^8.0.0",
89
+ "@exellix/ai-skills": "^6.5.0",
90
+ "@exellix/ai-tasks": "^9.0.0",
91
+ "@exellix/graph-engine": "^8.1.0",
91
92
  "@types/node": "^22.10.2",
92
93
  "@x12i/rendrix": "^4.3.0",
93
94
  "nx-config2": "^3.6.5",