@exellix/graph-composer 2.12.0 → 2.14.1
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 +1 -1
- package/README.md +15 -19
- package/dist/funcxModel.d.ts +0 -3
- package/dist/funcxModel.d.ts.map +1 -1
- package/dist/funcxModel.js +25 -3
- package/functions/graph-composer/prompts/action-create.md +2 -1
- package/functions/graph-composer/prompts/action-review-concept.md +1 -1
- package/functions/graph-composer/prompts/shared/graph-format.md +1 -1
- package/functions/graph-composer/prompts/shared/structural-validation.md +1 -1
- package/package.json +7 -25
package/CHANGELOG.md
CHANGED
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
|
|
112
112
|
### Fixed
|
|
113
113
|
|
|
114
|
-
- Load `@exellix/ai-skills` analysis helpers via resolved file paths instead of non-exported package subpaths, so consumers importing `@exellix/graph-composer` or `@
|
|
114
|
+
- Load `@exellix/ai-skills` analysis helpers via resolved file paths instead of non-exported package subpaths, so consumers importing `@exellix/graph-composer` or `@x12i/exellix-runtime` (e.g. `@x12i/exellix-jobs`) no longer fail at module load.
|
|
115
115
|
|
|
116
116
|
## 2.5.0
|
|
117
117
|
|
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# @
|
|
1
|
+
# @exellix/graph-composer
|
|
2
2
|
|
|
3
3
|
| | Location |
|
|
4
4
|
|---|----------|
|
|
5
5
|
| **GitHub (source)** | [`woroces/graph-composer`](https://github.com/woroces/graph-composer) — clone: `git@github.com:woroces/graph-composer.git` |
|
|
6
|
-
| **npm (package)** | [`@
|
|
6
|
+
| **npm (package)** | [`@exellix/graph-composer`](https://www.npmjs.com/package/@exellix/graph-composer) |
|
|
7
7
|
|
|
8
8
|
The Git repo lives under the **woroces** org with repo name **graph-composer**. That is separate from the npm scope **@x12i**.
|
|
9
9
|
|
|
@@ -62,7 +62,7 @@ Copy [`.env.example`](./.env.example) to `.env` for local development. **Do not
|
|
|
62
62
|
## Quick start (direct worker)
|
|
63
63
|
|
|
64
64
|
```ts
|
|
65
|
-
import { runGraphComposer } from "@
|
|
65
|
+
import { runGraphComposer } from "@exellix/graph-composer";
|
|
66
66
|
|
|
67
67
|
const result = await runGraphComposer(
|
|
68
68
|
{
|
|
@@ -103,7 +103,7 @@ const result = await runGraphComposer(
|
|
|
103
103
|
### Orchestrator (toolbox)
|
|
104
104
|
|
|
105
105
|
```ts
|
|
106
|
-
import { runGraphComposerAgent } from "@
|
|
106
|
+
import { runGraphComposerAgent } from "@exellix/graph-composer";
|
|
107
107
|
|
|
108
108
|
const out = await runGraphComposerAgent(
|
|
109
109
|
{
|
|
@@ -162,7 +162,7 @@ Types: `GraphConceptPatch`, `GraphConceptPatchKey`, `PrimaryIntentType`. Helper:
|
|
|
162
162
|
**Example using the bundled fixture helper:**
|
|
163
163
|
|
|
164
164
|
```ts
|
|
165
|
-
import { runGraphComposer, inputSuggestConceptObjectiveNetworkVulnSubnet } from "@
|
|
165
|
+
import { runGraphComposer, inputSuggestConceptObjectiveNetworkVulnSubnet } from "@exellix/graph-composer";
|
|
166
166
|
|
|
167
167
|
const result = await runGraphComposer(inputSuggestConceptObjectiveNetworkVulnSubnet(), {
|
|
168
168
|
askTimeoutMs: 120_000,
|
|
@@ -186,7 +186,7 @@ import {
|
|
|
186
186
|
configureGraphComposerLogging,
|
|
187
187
|
getGraphComposerLoggingConfig,
|
|
188
188
|
runGraphComposer,
|
|
189
|
-
} from "@
|
|
189
|
+
} from "@exellix/graph-composer";
|
|
190
190
|
|
|
191
191
|
// Process-wide (e.g. after reading your service config)
|
|
192
192
|
configureGraphComposerLogging({ logsLevel: "info" });
|
|
@@ -205,7 +205,7 @@ Precedence per worker run: **`options.logsLevel`** → **`configureGraphComposer
|
|
|
205
205
|
Use `generateGraphJsonInputExample` when a host has a graph-specific expected input JSON Schema and wants a realistic smoke-test payload. It wraps Funcx `generateJsonExample`, adding graph metadata such as `metadata.graphConcept.expectedInput` and core tasks to the guidance.
|
|
206
206
|
|
|
207
207
|
```ts
|
|
208
|
-
import { generateGraphJsonInputExample } from "@
|
|
208
|
+
import { generateGraphJsonInputExample } from "@exellix/graph-composer";
|
|
209
209
|
|
|
210
210
|
const out = await generateGraphJsonInputExample({
|
|
211
211
|
existingGraph: myGraphJson,
|
|
@@ -220,7 +220,7 @@ The package also re-exports Funcx `generateJsonExample`, `generateMdExample`, an
|
|
|
220
220
|
|
|
221
221
|
### Catalog resolution & creation (`suggestCatalogResolution`, `suggestCatalogCreations`)
|
|
222
222
|
|
|
223
|
-
Both **require** `existingGraph`. Pass **`catalogCandidates`** (from **Catalox** via `loadCatalogCandidatesFromCatalox`, or fixtures): `aiSkills`, `utilitySkills`, `scopingMaps`, `narrixTemplates` — see [`docs/worox-graphs-catalogs.md`](./docs/worox-graphs-catalogs.md) and [`docs/catalog-metadb-end-state-contract.md`](./docs/catalog-metadb-end-state-contract.md) (**Catalox bridge + `catalogCandidates` as documented there: `@
|
|
223
|
+
Both **require** `existingGraph`. Pass **`catalogCandidates`** (from **Catalox** via `loadCatalogCandidatesFromCatalox`, or fixtures): `aiSkills`, `utilitySkills`, `scopingMaps`, `narrixTemplates` — see [`docs/worox-graphs-catalogs.md`](./docs/worox-graphs-catalogs.md) and [`docs/catalog-metadb-end-state-contract.md`](./docs/catalog-metadb-end-state-contract.md) (**Catalox bridge + `catalogCandidates` as documented there: `@exellix/graph-composer` ≥ 1.6.0**).
|
|
224
224
|
|
|
225
225
|
- **`suggestCatalogResolution`** — Per-node style recommendations: `skillResolution`, `scopingResolution`, `narrixResolution`, `gaps`. Optional **`matchLists`** pre-pass (skills / scoping / narrix) injects **`catalogMatchHints`** into the worker prompt when `catalogMatchListsAssist !== false` (default) and an OpenRouter **client** is available.
|
|
226
226
|
- **`suggestCatalogCreations`** — `catalogRequestProposals` (+ optional `newSkillDescriptors`). Host applies approved rows via **Catalox** (or your store); this package emits JSON only.
|
|
@@ -228,7 +228,7 @@ Both **require** `existingGraph`. Pass **`catalogCandidates`** (from **Catalox**
|
|
|
228
228
|
### Scoping need match & scoping map creation
|
|
229
229
|
|
|
230
230
|
- **`suggestScopingNeedMatch`** — **Does not** require `existingGraph` (optional context). **Requires** non-empty **`catalogCandidates.scopingMaps`**. Put the data need in **`intent.description`**. Output: **`hasSuitableMatch`**, **`recommended`** (`scopingMapId` / `questionId` when true, **`null` when false**), **`gaps`**, optional **`alternatives`**. Optional **`matchLists`** injects **`scopingNeedMatchHints`** (same client / `catalogMatchListsAssist` flag).
|
|
231
|
-
- **`suggestScopingMapCreation`** — Plan a new scoping map: **`scopingMapProposal`** + non-empty **`catalogRequestProposals`**. Host persists approved artifacts; see **`WoroxScopingMapCatalogCreatePayload`** exported from **`@
|
|
231
|
+
- **`suggestScopingMapCreation`** — Plan a new scoping map: **`scopingMapProposal`** + non-empty **`catalogRequestProposals`**. Host persists approved artifacts; see **`WoroxScopingMapCatalogCreatePayload`** exported from **`@exellix/graph-composer`** (authored as `src/scopingCatalogHostTypes.ts` in this repo).
|
|
232
232
|
|
|
233
233
|
### `RunGraphComposerOptions` (workers)
|
|
234
234
|
|
|
@@ -266,8 +266,8 @@ Authoritative JSON shapes: [`functions/graph-composer/meta.json`](./functions/gr
|
|
|
266
266
|
|
|
267
267
|
```bash
|
|
268
268
|
export OPENROUTER_API_KEY=sk-or-...
|
|
269
|
-
npx @
|
|
270
|
-
npx @
|
|
269
|
+
npx @exellix/graph-composer explain-basic
|
|
270
|
+
npx @exellix/graph-composer network-vuln
|
|
271
271
|
```
|
|
272
272
|
|
|
273
273
|
Or use the binary name:
|
|
@@ -339,11 +339,7 @@ npm run typecheck
|
|
|
339
339
|
npm test # live tests; needs OPENROUTER_API_KEY in .env
|
|
340
340
|
```
|
|
341
341
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
```bash
|
|
345
|
-
npx nx-config2 run --env-file .env -- npm test
|
|
346
|
-
```
|
|
342
|
+
Live tests and scripts load `.env` via `@x12i/env` (`x12i-env run --env-file .env -- …`); see `npm test` / `npm run test:live` scripts.
|
|
347
343
|
|
|
348
344
|
**Maintainer smoke (suggest only, truncated JSON):** `npm run suggest-smoke` (repo only; uses `scripts/run-suggest-concept-smoke.ts`).
|
|
349
345
|
|
|
@@ -363,11 +359,11 @@ Published npm tarball still **does not** ship `docs/`; clone the repo or read th
|
|
|
363
359
|
|
|
364
360
|
## Publishing (maintainers)
|
|
365
361
|
|
|
366
|
-
Scoped package `@
|
|
362
|
+
Scoped package `@exellix/graph-composer` uses `publishConfig.access: "public"`. Ensure your npm user is a member of the **x12i** org (or owns the scope) and has a valid token in the **monorepo root** `.npmrc` (copy from `.npmrc.example`; never commit tokens). Publish via `npm run publish:all` from the repo root — do not run `npm publish` in this folder directly.
|
|
367
363
|
|
|
368
364
|
```bash
|
|
369
|
-
|
|
370
|
-
npm publish
|
|
365
|
+
# From monorepo root (uses root .npmrc for all packages)
|
|
366
|
+
npm run publish:all -- --packages graph-composer
|
|
371
367
|
```
|
|
372
368
|
|
|
373
369
|
Confirm tarball: `npm run pack:check` (must **not** list `docs/`, `.env`, or `test/`).
|
package/dist/funcxModel.d.ts
CHANGED
package/dist/funcxModel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"funcxModel.d.ts","sourceRoot":"","sources":["../src/funcxModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"funcxModel.d.ts","sourceRoot":"","sources":["../src/funcxModel.ts"],"names":[],"mappings":"AAmBA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,GAAG,SAAS,CAcrB"}
|
package/dist/funcxModel.js
CHANGED
|
@@ -1,10 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* funcx 4.
|
|
2
|
+
* funcx 4.9+ call sites require `model` as a profile/choice key or catalog slug.
|
|
3
|
+
* Legacy graph-composer options still accept `mode` (weak/normal/strong/ultra):
|
|
4
|
+
* resolve via LLM_MODEL_* env, then fall back to ai-profiles keys.
|
|
3
5
|
*/
|
|
6
|
+
const MODE_ENV = {
|
|
7
|
+
weak: "LLM_MODEL_WEAK",
|
|
8
|
+
normal: "LLM_MODEL_NORMAL",
|
|
9
|
+
strong: "LLM_MODEL_STRONG",
|
|
10
|
+
ultra: "LLM_MODEL_ULTRA",
|
|
11
|
+
};
|
|
12
|
+
const MODE_DEFAULT_PROFILE = {
|
|
13
|
+
weak: "cheap/default",
|
|
14
|
+
normal: "balanced/default",
|
|
15
|
+
strong: "balanced/default",
|
|
16
|
+
ultra: "deep/default",
|
|
17
|
+
};
|
|
4
18
|
export function resolveFuncxModel(opts) {
|
|
5
19
|
const model = opts.model?.trim();
|
|
6
20
|
if (model)
|
|
7
21
|
return model;
|
|
8
|
-
const mode = opts.mode?.trim();
|
|
9
|
-
|
|
22
|
+
const mode = opts.mode?.trim().toLowerCase();
|
|
23
|
+
if (!mode)
|
|
24
|
+
return undefined;
|
|
25
|
+
const envKey = MODE_ENV[mode];
|
|
26
|
+
if (envKey) {
|
|
27
|
+
const fromEnv = process.env[envKey]?.trim();
|
|
28
|
+
if (fromEnv)
|
|
29
|
+
return fromEnv;
|
|
30
|
+
}
|
|
31
|
+
return MODE_DEFAULT_PROFILE[mode];
|
|
10
32
|
}
|
|
@@ -12,13 +12,14 @@ You are a graph architect for the **worox-graph** flat authoring format (`@exell
|
|
|
12
12
|
7. **Task node config:** For every **non-local** AI task node, set **`taskConfiguration.aiTaskProfile`** with non-empty **`preStrategyKey`** and **`postStrategyKey`**. Add **`taskConfiguration.narrix`** when discovery applies (discovery only). Add **`webQueryTemplate`** / **`inputSynthesis`** under **`aiTaskProfile`** when needed. Use **`inputsConfig`** + **`taskVariable`** + **`executionMapping`** (not deprecated `inputs` / `outputMapping`). Add **`metadata.graphReadability`** / **`catalogBinding`** for planning only.
|
|
13
13
|
|
|
14
14
|
**Web scope (Graphenix 2.7.2+ — Rendrix template on `aiTaskProfile`, not `narrix`):**
|
|
15
|
+
In emitted graph JSON, wrap input field paths in Rendrix double-brace delimiters (example field path: `input.assetId`).
|
|
15
16
|
```json
|
|
16
17
|
"taskConfiguration": {
|
|
17
18
|
"narrix": { "datasetId": "network.assets", "layer": "asset" },
|
|
18
19
|
"aiTaskProfile": {
|
|
19
20
|
"preStrategyKey": "pre-v1",
|
|
20
21
|
"postStrategyKey": "post-v1",
|
|
21
|
-
"webQueryTemplate": "Is
|
|
22
|
+
"webQueryTemplate": "Is input.assetId reachable from the internet?"
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
```
|
|
@@ -29,7 +29,7 @@ Cover what matters for the graph at hand; skip axes that clearly do not apply. *
|
|
|
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
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
|
-
- **Web scoping + input synthesis (node-level)**: Under **`taskConfiguration.aiTaskProfile`**, web scope requires non-empty **`webQueryTemplate`** (Rendrix string with `
|
|
32
|
+
- **Web scoping + input synthesis (node-level)**: Under **`taskConfiguration.aiTaskProfile`**, web scope requires non-empty **`webQueryTemplate`** (Rendrix string with `input.<fieldName>` refs in double-brace syntax) — do **not** author **`webScoping`** or web keys on **`narrix`**. When **`inputSynthesis.enabled`** is true, require non-empty **`catalogId`**, **`strategyKey`**, **`outputKey`**, **`sources`**, and **`destination`** (`job`, `task`, or `execution`).
|
|
33
33
|
- **Task decomposition**: One clear responsibility per node; avoid redundant or oversized steps.
|
|
34
34
|
- **Skill selection**: Right tool for deterministic vs inferential work; catalog alignment in locked mode.
|
|
35
35
|
- **Data flow**: Execution-memory paths and `jobContextMapping` / `inputs` trace from `input.*` or upstream writers; `taskVariable.question` and other task variables stay out of runtime payload bindings; `taskVariable` refs trace to top-level `variables`; no obvious dangling reads.
|
|
@@ -43,7 +43,7 @@ A graph is a single JSON object. Top-level fields (canonical root keys only):
|
|
|
43
43
|
"aiTaskProfile": {
|
|
44
44
|
"preStrategyKey": "<pre-strategy-row-id>",
|
|
45
45
|
"postStrategyKey": "<post-strategy-row-id>",
|
|
46
|
-
"webQueryTemplate": "Optional Rendrix template, e.g. Patch status for
|
|
46
|
+
"webQueryTemplate": "Optional Rendrix template, e.g. Patch status for input.cveId (wrap field paths in Rendrix double-brace syntax in real graph JSON)",
|
|
47
47
|
"inputSynthesis": { "enabled": false }
|
|
48
48
|
},
|
|
49
49
|
"narrix": { "datasetId": "<optional>", "layer": "<optional>" },
|
|
@@ -10,7 +10,7 @@ Before returning any graph (create/modify only), verify:
|
|
|
10
10
|
8. If `maxNodes` is set, the total node count does not exceed it.
|
|
11
11
|
9. All `skillKey` values exist in the provided catalog (unless extensible mode is active).
|
|
12
12
|
10. For every **AI task** node, include **`taskConfiguration.aiTaskProfile.preStrategyKey`** and **`postStrategyKey`** (non-empty strings matching deployment PRE/POST strategy catalog row ids). Omit only on local/utility skills.
|
|
13
|
-
11. When web scope is needed, set non-empty **`taskConfiguration.aiTaskProfile.webQueryTemplate`** (Rendrix string with `
|
|
13
|
+
11. When web scope is needed, set non-empty **`taskConfiguration.aiTaskProfile.webQueryTemplate`** (Rendrix string with `input.<fieldName>` refs in double-brace syntax). Optional **`webQueryTemplates[]`** for pack mode. Do **not** author **`webScoping`** or web keys on **`narrix`**.
|
|
14
14
|
12. When **`inputSynthesis.enabled`** is `true`, set non-empty **`inputSynthesis.catalogId`**, **`strategyKey`**, **`outputKey`**, **`sources`** (memory paths), and **`destination`** (`job`, `task`, or `execution`). Do not add manual PRE `synthesized-context` steps when profile synthesis is enabled.
|
|
15
15
|
13. Do not author deprecated task-node **`inputs`** or **`outputMapping`** — use **`inputsConfig`** and **`executionMapping`**.
|
|
16
16
|
14. **Narrix** belongs under **`taskConfiguration.narrix`** (`datasetId`, `layer`, `narrativeTypeIds` when needed). Discovery only — no web fields on `narrix`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exellix/graph-composer",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.14.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -28,7 +28,6 @@
|
|
|
28
28
|
".env.example"
|
|
29
29
|
],
|
|
30
30
|
"scripts": {
|
|
31
|
-
"postinstall": "node -e \"const fs=require('fs'),p=require('path');const s=p.join('node_modules','nx-config2','bin','nx-config2.js'),d=p.join('node_modules','@x12i','env','bin','nx-config2.js');try{if(fs.existsSync(s)&&!fs.existsSync(d))fs.copyFileSync(s,d);}catch(_){}\"",
|
|
32
31
|
"build": "tsc -p tsconfig.build.json",
|
|
33
32
|
"prepublishOnly": "npm run build",
|
|
34
33
|
"start": "x12i-env run --env-file .env -- node dist/cli.js",
|
|
@@ -37,7 +36,7 @@
|
|
|
37
36
|
"verify:local": "tsx src/verify-local.ts",
|
|
38
37
|
"verify:catalog-live": "x12i-env run --env-file .env -- tsx scripts/verify-catalog-live.ts",
|
|
39
38
|
"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/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",
|
|
39
|
+
"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 test/unit/funcx-model.test.ts test/unit/instruction-template.test.ts",
|
|
41
40
|
"test:live": "x12i-env run --env-file .env -- node --import tsx/esm --test test/live/all.ts",
|
|
42
41
|
"pack:check": "npm pack --dry-run",
|
|
43
42
|
"suggest-smoke": "x12i-env run --env-file .env -- tsx scripts/run-suggest-concept-smoke.ts"
|
|
@@ -57,34 +56,18 @@
|
|
|
57
56
|
},
|
|
58
57
|
"repository": {
|
|
59
58
|
"type": "git",
|
|
60
|
-
"url": "git+
|
|
59
|
+
"url": "git+ssh://git@github.com/exellix/exellix-engine-mono-repo.git",
|
|
60
|
+
"directory": "graph-composer"
|
|
61
61
|
},
|
|
62
62
|
"bugs": {
|
|
63
63
|
"url": "https://github.com/woroces/graph-composer/issues"
|
|
64
64
|
},
|
|
65
65
|
"homepage": "https://github.com/woroces/graph-composer#readme",
|
|
66
|
-
"overrides": {
|
|
67
|
-
"@x12i/graphenix-authoring-format": "^2.7.3",
|
|
68
|
-
"@x12i/graphenix-case-format": "^2.7.3",
|
|
69
|
-
"@x12i/graphenix-core": "^2.7.3",
|
|
70
|
-
"@x12i/graphenix-executable-contracts": "^2.7.3",
|
|
71
|
-
"@x12i/graphenix-executable-format": "^2.7.3",
|
|
72
|
-
"@x12i/graphenix-execute-envelope": "^2.7.3",
|
|
73
|
-
"@x12i/graphenix-format": "^2.0.0",
|
|
74
|
-
"@x12i/graphenix-plan-compiler": "^2.7.3",
|
|
75
|
-
"@x12i/graphenix-plan-format": "^2.7.3",
|
|
76
|
-
"@x12i/graphenix-task-node-format": "^2.7.3",
|
|
77
|
-
"@x12i/graphenix-trace-format": "^2.7.3"
|
|
78
|
-
},
|
|
79
66
|
"peerDependencies": {
|
|
80
67
|
"@exellix/ai-skills": "^6.12.5",
|
|
81
|
-
"@exellix/ai-tasks": "^10.0.13"
|
|
82
|
-
"@exellix/graph-engine": "^8.6.0"
|
|
68
|
+
"@exellix/ai-tasks": "^10.0.13"
|
|
83
69
|
},
|
|
84
70
|
"peerDependenciesMeta": {
|
|
85
|
-
"@exellix/graph-engine": {
|
|
86
|
-
"optional": true
|
|
87
|
-
},
|
|
88
71
|
"@exellix/ai-tasks": {
|
|
89
72
|
"optional": true
|
|
90
73
|
},
|
|
@@ -93,18 +76,17 @@
|
|
|
93
76
|
}
|
|
94
77
|
},
|
|
95
78
|
"dependencies": {
|
|
79
|
+
"@exellix/graph-engine": "^8.7.0",
|
|
96
80
|
"@x12i/catalox": "^5.9.8",
|
|
97
|
-
"@x12i/env": "^4.0.
|
|
81
|
+
"@x12i/env": "^4.0.3",
|
|
98
82
|
"@x12i/funcx": "^4.9.13",
|
|
99
83
|
"@x12i/logxer": "^4.6.0"
|
|
100
84
|
},
|
|
101
85
|
"devDependencies": {
|
|
102
86
|
"@exellix/ai-skills": "^6.12.5",
|
|
103
87
|
"@exellix/ai-tasks": "^10.0.13",
|
|
104
|
-
"@exellix/graph-engine": "^8.6.0",
|
|
105
88
|
"@types/node": "^22.10.2",
|
|
106
89
|
"@x12i/rendrix": "^4.3.0",
|
|
107
|
-
"nx-config2": "^3.6.5",
|
|
108
90
|
"tsx": "^4.19.2",
|
|
109
91
|
"typescript": "^5.7.2"
|
|
110
92
|
}
|