@exellix/graph-composer 2.1.0 → 2.1.9
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/.env.example +4 -0
- package/README.md +6 -2
- package/dist/graphComposerLogging.d.ts +23 -8
- package/dist/graphComposerLogging.d.ts.map +1 -1
- package/dist/graphComposerLogging.js +69 -26
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/runGraphComposer.d.ts +6 -1
- package/dist/runGraphComposer.d.ts.map +1 -1
- package/dist/runGraphComposer.js +1 -1
- package/functions/graph-composer/prompts/shared/graph-format.md +3 -3
- package/package.json +5 -5
package/.env.example
CHANGED
|
@@ -11,6 +11,10 @@ OPENROUTER_API_KEY=
|
|
|
11
11
|
# Optional — @x12i/logxer: package log level (verbose|debug|info|warn|error|off).
|
|
12
12
|
# GRAPH_COMPOSER_LOGS_LEVEL=info
|
|
13
13
|
#
|
|
14
|
+
# Optional — bulk package levels (host registry; also applied when graph-composer loads):
|
|
15
|
+
# LOGXER_PACKAGE_LEVELS=GRAPH_COMPOSER:debug
|
|
16
|
+
# LOGXER_PACKAGE_LOGS_DEFAULT=warn
|
|
17
|
+
#
|
|
14
18
|
# Optional — Mongo log sink (see @x12i/logxer). Loaded via @x12i/env before Logxer is constructed.
|
|
15
19
|
# MONGO_URI=
|
|
16
20
|
# Mongo persistence defaults to warn; set info (or lower) to persist info-level package logs:
|
package/README.md
CHANGED
|
@@ -38,7 +38,9 @@ Requires **Node.js 20+** (Catalox embedder and this package align on `>=20`).
|
|
|
38
38
|
| `OPENROUTER_API_KEY` | **Yes** (for API runs) | OpenRouter API key. |
|
|
39
39
|
| `LLM_MODEL_STRONG` | No | Model slug when using `mode: "strong"` (default preset from @x12i/funcx). |
|
|
40
40
|
| `LLM_MODEL_NORMAL` | No | Model slug for `normal` mode. |
|
|
41
|
-
| `GRAPH_COMPOSER_LOGS_LEVEL` | No |
|
|
41
|
+
| `GRAPH_COMPOSER_LOGS_LEVEL` | No | Per-package log level for [@x12i/logxer](https://www.npmjs.com/package/@x12i/logxer) (`debug`, `info`, `warn`, `off`, …). Overridable via `configureGraphComposerLogging`, per-call `logsLevel`, or parent `logging` (`StackLoggingOptions`). |
|
|
42
|
+
| `LOGXER_PACKAGE_LEVELS` | No | Bulk levels, e.g. `GRAPH_COMPOSER:debug,GRAPH_ENGINE:warn` (applied at module load). |
|
|
43
|
+
| `LOGXER_PACKAGE_LOGS_DEFAULT` | No | Registry default when a prefix has no override (default `warn`). |
|
|
42
44
|
|
|
43
45
|
Copy [`.env.example`](./.env.example) to `.env` for local development. **Do not commit secrets.**
|
|
44
46
|
|
|
@@ -290,7 +292,9 @@ graph-composer explain-basic
|
|
|
290
292
|
| `parseGraphConceptStory`, `isGraphConceptStoryDescription`, `GRAPH_CONCEPT_STORY_MARKER`, … | Parse **graph concept story** text for `create` / `modify` / reviews. |
|
|
291
293
|
| `redactSecretsForLog` | Deep-redact sensitive key names for logging (used by `reviewConcept` tracing). |
|
|
292
294
|
|
|
293
|
-
`RunGraphComposerOptions`: `client`, `mode`, `model`, `temperature`, `maxTokens`, `askTimeoutMs`, `connectTimeoutMs`, **`catalogMatchListsAssist`**, **`traceReviewConceptIo`** — see [integration handoff](./docs/integration-handoff.md).
|
|
295
|
+
`RunGraphComposerOptions`: `client`, `mode`, `model`, `temperature`, `maxTokens`, `askTimeoutMs`, `connectTimeoutMs`, **`catalogMatchListsAssist`**, **`traceReviewConceptIo`**, **`logsLevel`**, **`logging`** — see [integration handoff](./docs/integration-handoff.md).
|
|
296
|
+
|
|
297
|
+
**Deep stacks (@x12i/logxer ≥ 4.5):** Call `applyPackageLogLevelsFromEnv()` / `configurePackageLogLevels()` in the host before importing graph-composer, or pass `logging: { packageLevels: { GRAPH_COMPOSER: 'debug' } }` on `runGraphComposer`. Re-exported: `configurePackageLogLevels`, `applyPackageLogLevelsFromEnv`, `StackLoggingOptions`.
|
|
294
298
|
|
|
295
299
|
## Bundled content
|
|
296
300
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { type LogLevel, type Logxer } from "@x12i/logxer";
|
|
1
|
+
import { type LogLevel, type Logxer, type PackageLogLevelsConfig, type StackLoggingOptions } from "@x12i/logxer";
|
|
2
2
|
/** Canonical env prefix for graph-composer logs (`GRAPH_COMPOSER_LOGS_LEVEL`, …). */
|
|
3
3
|
export declare const GRAPH_COMPOSER_LOG_ENV_PREFIX = "GRAPH_COMPOSER";
|
|
4
|
-
export type { LogLevel };
|
|
4
|
+
export type { LogLevel, PackageLogLevelsConfig, StackLoggingOptions };
|
|
5
5
|
/** Accepted inputs for `configureGraphComposerLogging` and `RunGraphComposerOptions.logsLevel`. */
|
|
6
6
|
export type GraphComposerLogsLevelInput = LogLevel | "off" | "none" | "silent" | (string & {});
|
|
7
7
|
export type GraphComposerLoggingConfig = {
|
|
@@ -16,6 +16,21 @@ export type GraphComposerLoggingConfig = {
|
|
|
16
16
|
legacy: string;
|
|
17
17
|
};
|
|
18
18
|
};
|
|
19
|
+
export type ConfigureGraphComposerLoggingOptions = {
|
|
20
|
+
/** Process-wide threshold (wins over stack / env / registry for this package). */
|
|
21
|
+
logsLevel?: GraphComposerLogsLevelInput;
|
|
22
|
+
/** Parent stack levels (`packageLevels`, default `logLevel`). See logxer `package-log-levels-stack.md`. */
|
|
23
|
+
logging?: StackLoggingOptions;
|
|
24
|
+
/** Merge into the process-wide logxer registry (`configurePackageLogLevels`). */
|
|
25
|
+
packageLogLevels?: PackageLogLevelsConfig;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Factory for a graph-composer Logxer (for hosts that need a dedicated instance).
|
|
29
|
+
* Default export is `getGraphComposerLogger()`.
|
|
30
|
+
*/
|
|
31
|
+
export declare function createGraphComposerLogger(options?: {
|
|
32
|
+
logging?: StackLoggingOptions;
|
|
33
|
+
}): Logxer;
|
|
19
34
|
/**
|
|
20
35
|
* Parse a log-level string (case-insensitive). Unknown values disable logging (`off`).
|
|
21
36
|
* Accepts logxer synonyms: `off`, `none`, `silent`.
|
|
@@ -28,18 +43,18 @@ export declare function parseGraphComposerLogsLevel(raw: string | undefined): {
|
|
|
28
43
|
* Process-wide logging for graph-composer (downstream hosts, servers, CLIs).
|
|
29
44
|
*
|
|
30
45
|
* Precedence for each `runGraphComposer` / `runGraphComposerAgent` call:
|
|
31
|
-
* `options.logsLevel` → `configureGraphComposerLogging` → `
|
|
46
|
+
* `options.logsLevel` → `configureGraphComposerLogging.logsLevel` → parent `options.logging` /
|
|
47
|
+
* `configureGraphComposerLogging.logging` → `GRAPH_COMPOSER_LOGS_LEVEL` env →
|
|
48
|
+
* `LOGXER_PACKAGE_LEVELS` / `configurePackageLogLevels` registry → default `warn`.
|
|
32
49
|
*/
|
|
33
|
-
export declare function configureGraphComposerLogging(options:
|
|
34
|
-
logsLevel?: GraphComposerLogsLevelInput;
|
|
35
|
-
}): void;
|
|
50
|
+
export declare function configureGraphComposerLogging(options?: ConfigureGraphComposerLoggingOptions): void;
|
|
36
51
|
/** Current effective logging configuration (after env + programmatic overrides). */
|
|
37
|
-
export declare function getGraphComposerLoggingConfig(perCall?: GraphComposerLogsLevelInput): GraphComposerLoggingConfig;
|
|
52
|
+
export declare function getGraphComposerLoggingConfig(perCall?: GraphComposerLogsLevelInput, perCallStack?: StackLoggingOptions): GraphComposerLoggingConfig;
|
|
38
53
|
/** Shared @x12i/logxer instance for graph-composer (diagnostics catalog attached). */
|
|
39
54
|
export declare function getGraphComposerLogger(): Logxer;
|
|
40
55
|
/**
|
|
41
56
|
* Run `fn` with a temporary log threshold (`options.logsLevel` on workers).
|
|
42
57
|
* Restores the previous threshold when `fn` completes.
|
|
43
58
|
*/
|
|
44
|
-
export declare function withGraphComposerLogsLevel<T>(logsLevel: GraphComposerLogsLevelInput | undefined, fn: () => T | Promise<T
|
|
59
|
+
export declare function withGraphComposerLogsLevel<T>(logsLevel: GraphComposerLogsLevelInput | undefined, fn: () => T | Promise<T>, logging?: StackLoggingOptions): Promise<T>;
|
|
45
60
|
//# sourceMappingURL=graphComposerLogging.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphComposerLogging.d.ts","sourceRoot":"","sources":["../src/graphComposerLogging.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"graphComposerLogging.d.ts","sourceRoot":"","sources":["../src/graphComposerLogging.ts"],"names":[],"mappings":"AAEA,OAAO,EASL,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AAGtB,qFAAqF;AACrF,eAAO,MAAM,6BAA6B,mBAAmB,CAAC;AAE9D,YAAY,EAAE,QAAQ,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,CAAC;AAEtE,mGAAmG;AACnG,MAAM,MAAM,2BAA2B,GACnC,QAAQ,GACR,KAAK,GACL,MAAM,GACN,QAAQ,GACR,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,0BAA0B,GAAG;IACvC,4EAA4E;IAC5E,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC5B,yEAAyE;IACzE,YAAY,EAAE,OAAO,CAAC;IACtB,yDAAyD;IACzD,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAOF,MAAM,MAAM,oCAAoC,GAAG;IACjD,kFAAkF;IAClF,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,2GAA2G;IAC3G,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C,CAAC;AAiEF;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE;IAClD,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B,GAAG,MAAM,CAiBT;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB;IAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC;IAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAMxD;AAyDD;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,GAAE,oCAAyC,GACjD,IAAI,CAWN;AAED,oFAAoF;AACpF,wBAAgB,6BAA6B,CAC3C,OAAO,CAAC,EAAE,2BAA2B,EACrC,YAAY,CAAC,EAAE,mBAAmB,GACjC,0BAA0B,CAe5B;AAED,sFAAsF;AACtF,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,EAChD,SAAS,EAAE,2BAA2B,GAAG,SAAS,EAClD,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,CAAC,CAAC,CAcZ"}
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { initConfig } from "@x12i/env";
|
|
3
|
-
import { createLogxer, legacyPackageLogLevelEnvKey, packageLogsLevelEnvKey, parsePackageLogsLevelString, resolvePackageLogsLevel, } from "@x12i/logxer";
|
|
3
|
+
import { applyPackageLogLevelsFromEnv, createLogxer, legacyPackageLogLevelEnvKey, mergePackageLogLevelsConfig, packageLogsLevelEnvKey, parsePackageLogsLevelString, resolvePackageLogsLevel, resolveStackLogLevelForPrefix, } from "@x12i/logxer";
|
|
4
4
|
import { graphComposerPackRoot } from "./packDir.js";
|
|
5
5
|
/** Canonical env prefix for graph-composer logs (`GRAPH_COMPOSER_LOGS_LEVEL`, …). */
|
|
6
6
|
export const GRAPH_COMPOSER_LOG_ENV_PREFIX = "GRAPH_COMPOSER";
|
|
7
7
|
// Load .env before Logxer reads MONGO_URI (and related vars) at construction.
|
|
8
8
|
initConfig({}, { dotenvPath: ".env", throwOnMissing: false });
|
|
9
|
-
|
|
10
|
-
packageName: "graph-composer",
|
|
11
|
-
envPrefix: GRAPH_COMPOSER_LOG_ENV_PREFIX,
|
|
12
|
-
}, {
|
|
13
|
-
diagnostics: {
|
|
14
|
-
catalogPath: path.join(graphComposerPackRoot(), "metadata", "log-diagnostics.json"),
|
|
15
|
-
},
|
|
16
|
-
});
|
|
9
|
+
applyPackageLogLevelsFromEnv();
|
|
17
10
|
let processWideLogsLevel;
|
|
11
|
+
let processWideStack;
|
|
12
|
+
const logger = createGraphComposerLogger();
|
|
18
13
|
function logxerMutableConfig(logxer) {
|
|
19
14
|
return logxer.config;
|
|
20
15
|
}
|
|
@@ -41,6 +36,35 @@ const LOG_LEVELS = new Set([
|
|
|
41
36
|
function isLogLevel(value) {
|
|
42
37
|
return LOG_LEVELS.has(value);
|
|
43
38
|
}
|
|
39
|
+
function mergeStackLogging(base, overlay) {
|
|
40
|
+
if (base === undefined && overlay === undefined) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
...(base?.logLevel !== undefined || overlay?.logLevel !== undefined
|
|
45
|
+
? { logLevel: overlay?.logLevel ?? base?.logLevel }
|
|
46
|
+
: {}),
|
|
47
|
+
packageLevels: {
|
|
48
|
+
...base?.packageLevels,
|
|
49
|
+
...overlay?.packageLevels,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Factory for a graph-composer Logxer (for hosts that need a dedicated instance).
|
|
55
|
+
* Default export is `getGraphComposerLogger()`.
|
|
56
|
+
*/
|
|
57
|
+
export function createGraphComposerLogger(options) {
|
|
58
|
+
return createLogxer({
|
|
59
|
+
packageName: "graph-composer",
|
|
60
|
+
envPrefix: GRAPH_COMPOSER_LOG_ENV_PREFIX,
|
|
61
|
+
}, {
|
|
62
|
+
diagnostics: {
|
|
63
|
+
catalogPath: path.join(graphComposerPackRoot(), "metadata", "log-diagnostics.json"),
|
|
64
|
+
},
|
|
65
|
+
stack: options?.logging,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
44
68
|
/**
|
|
45
69
|
* Parse a log-level string (case-insensitive). Unknown values disable logging (`off`).
|
|
46
70
|
* Accepts logxer synonyms: `off`, `none`, `silent`.
|
|
@@ -65,36 +89,55 @@ function resolveFromInput(input) {
|
|
|
65
89
|
}
|
|
66
90
|
return { packageLogsDisabled: false, logLevel: parsed.logLevel };
|
|
67
91
|
}
|
|
68
|
-
function resolveGraphComposerLogsLevel(
|
|
69
|
-
if (
|
|
70
|
-
return resolveFromInput(
|
|
92
|
+
function resolveGraphComposerLogsLevel(options) {
|
|
93
|
+
if (options?.perCallLevel !== undefined) {
|
|
94
|
+
return resolveFromInput(options.perCallLevel);
|
|
71
95
|
}
|
|
72
96
|
if (processWideLogsLevel !== undefined) {
|
|
73
|
-
|
|
97
|
+
const fromConfigure = resolveFromInput(processWideLogsLevel);
|
|
98
|
+
if (fromConfigure.packageLogsDisabled) {
|
|
99
|
+
return fromConfigure;
|
|
100
|
+
}
|
|
101
|
+
return resolvePackageLogsLevel({
|
|
102
|
+
envPrefix: GRAPH_COMPOSER_LOG_ENV_PREFIX,
|
|
103
|
+
userLogLevel: fromConfigure.logLevel,
|
|
104
|
+
stackLogLevel: resolveStackLogLevelForPrefix(GRAPH_COMPOSER_LOG_ENV_PREFIX, mergeStackLogging(processWideStack, options?.perCallStack)),
|
|
105
|
+
});
|
|
74
106
|
}
|
|
75
107
|
return resolvePackageLogsLevel({
|
|
76
108
|
envPrefix: GRAPH_COMPOSER_LOG_ENV_PREFIX,
|
|
109
|
+
stackLogLevel: resolveStackLogLevelForPrefix(GRAPH_COMPOSER_LOG_ENV_PREFIX, mergeStackLogging(processWideStack, options?.perCallStack)),
|
|
77
110
|
});
|
|
78
111
|
}
|
|
79
|
-
function syncLoggerToEffectiveLevel(
|
|
80
|
-
applyResolvedToLogger(resolveGraphComposerLogsLevel(
|
|
112
|
+
function syncLoggerToEffectiveLevel(options) {
|
|
113
|
+
applyResolvedToLogger(resolveGraphComposerLogsLevel(options));
|
|
81
114
|
}
|
|
82
115
|
/**
|
|
83
116
|
* Process-wide logging for graph-composer (downstream hosts, servers, CLIs).
|
|
84
117
|
*
|
|
85
118
|
* Precedence for each `runGraphComposer` / `runGraphComposerAgent` call:
|
|
86
|
-
* `options.logsLevel` → `configureGraphComposerLogging` → `
|
|
119
|
+
* `options.logsLevel` → `configureGraphComposerLogging.logsLevel` → parent `options.logging` /
|
|
120
|
+
* `configureGraphComposerLogging.logging` → `GRAPH_COMPOSER_LOGS_LEVEL` env →
|
|
121
|
+
* `LOGXER_PACKAGE_LEVELS` / `configurePackageLogLevels` registry → default `warn`.
|
|
87
122
|
*/
|
|
88
|
-
export function configureGraphComposerLogging(options) {
|
|
89
|
-
if (options.
|
|
90
|
-
|
|
123
|
+
export function configureGraphComposerLogging(options = {}) {
|
|
124
|
+
if (options.packageLogLevels !== undefined) {
|
|
125
|
+
mergePackageLogLevelsConfig(options.packageLogLevels);
|
|
126
|
+
}
|
|
127
|
+
if ("logging" in options) {
|
|
128
|
+
processWideStack = options.logging;
|
|
129
|
+
}
|
|
130
|
+
if ("logsLevel" in options) {
|
|
131
|
+
processWideLogsLevel = options.logsLevel;
|
|
91
132
|
}
|
|
92
|
-
processWideLogsLevel = options.logsLevel;
|
|
93
133
|
syncLoggerToEffectiveLevel();
|
|
94
134
|
}
|
|
95
135
|
/** Current effective logging configuration (after env + programmatic overrides). */
|
|
96
|
-
export function getGraphComposerLoggingConfig(perCall) {
|
|
97
|
-
const resolved = resolveGraphComposerLogsLevel(
|
|
136
|
+
export function getGraphComposerLoggingConfig(perCall, perCallStack) {
|
|
137
|
+
const resolved = resolveGraphComposerLogsLevel({
|
|
138
|
+
perCallLevel: perCall,
|
|
139
|
+
perCallStack,
|
|
140
|
+
});
|
|
98
141
|
const logsDisabled = resolved.packageLogsDisabled;
|
|
99
142
|
return {
|
|
100
143
|
logsLevel: logsDisabled ? "off" : resolved.logLevel,
|
|
@@ -114,12 +157,12 @@ export function getGraphComposerLogger() {
|
|
|
114
157
|
* Run `fn` with a temporary log threshold (`options.logsLevel` on workers).
|
|
115
158
|
* Restores the previous threshold when `fn` completes.
|
|
116
159
|
*/
|
|
117
|
-
export async function withGraphComposerLogsLevel(logsLevel, fn) {
|
|
118
|
-
if (logsLevel === undefined) {
|
|
160
|
+
export async function withGraphComposerLogsLevel(logsLevel, fn, logging) {
|
|
161
|
+
if (logsLevel === undefined && logging === undefined) {
|
|
119
162
|
syncLoggerToEffectiveLevel();
|
|
120
163
|
return fn();
|
|
121
164
|
}
|
|
122
|
-
const restore = applyResolvedToLogger(resolveGraphComposerLogsLevel(logsLevel));
|
|
165
|
+
const restore = applyResolvedToLogger(resolveGraphComposerLogsLevel({ perCallLevel: logsLevel, perCallStack: logging }));
|
|
123
166
|
try {
|
|
124
167
|
return await fn();
|
|
125
168
|
}
|
|
@@ -128,5 +171,5 @@ export async function withGraphComposerLogsLevel(logsLevel, fn) {
|
|
|
128
171
|
syncLoggerToEffectiveLevel();
|
|
129
172
|
}
|
|
130
173
|
}
|
|
131
|
-
// Apply env / default level at module load (before first log line).
|
|
174
|
+
// Apply env / registry / default level at module load (before first log line).
|
|
132
175
|
syncLoggerToEffectiveLevel();
|
package/dist/index.d.ts
CHANGED
|
@@ -3,8 +3,9 @@ export { GRAPH_COMPOSER_ACTION_REGISTRY, getActionDefinition, getActionDefinitio
|
|
|
3
3
|
export { graphComposerPackRoot, readGraphComposerPromptFile, } from "./packDir.js";
|
|
4
4
|
export { DEFAULT_UTILITY_SKILLS } from "./defaultUtilitySkills.js";
|
|
5
5
|
export { runGraphComposer, runGraphWorker, resolveGraphComposerClient, getGraphComposerLlmClient, getPackDir, normalizeGraphComposerExplainOutput, normalizeReviewConceptComposerOutput, redactSecretsForLog, type RunGraphComposerOptions, } from "./runGraphComposer.js";
|
|
6
|
-
export type { LogRuntimeContext, LogLevel } from "@x12i/logxer";
|
|
7
|
-
export {
|
|
6
|
+
export type { LogRuntimeContext, LogLevel, PackageLogLevelsConfig, StackLoggingOptions, } from "@x12i/logxer";
|
|
7
|
+
export { applyPackageLogLevelsFromEnv, configurePackageLogLevels, } from "@x12i/logxer";
|
|
8
|
+
export { GRAPH_COMPOSER_LOG_ENV_PREFIX, configureGraphComposerLogging, createGraphComposerLogger, getGraphComposerLogger, getGraphComposerLoggingConfig, parseGraphComposerLogsLevel, withGraphComposerLogsLevel, type ConfigureGraphComposerLoggingOptions, type GraphComposerLoggingConfig, type GraphComposerLogsLevelInput, } from "./graphComposerLogging.js";
|
|
8
9
|
export { applyGraphConceptPatchOnlyIfEmpty } from "./graphConceptPatchMerge.js";
|
|
9
10
|
export { runGraphComposerAgent, type GraphComposerAgentResult, type GraphComposerAgentOrchestrationStep, type RunGraphComposerAgentOptions, } from "./graphComposerAgent.js";
|
|
10
11
|
export type { GraphComposerInput, GraphComposerAgentInput, GraphComposerIntent, GraphComposerConstraints, SkillDescriptor, PrimaryIntentType, GraphConceptStatus, GraphConceptEntityBindings, GraphConceptPatch, GraphConceptPatchKey, GraphConceptRequirementsPatch, GraphConceptCoreTaskPatchItem, RequirementOptionCandidate, RequirementOptionEntry, CatalogCandidates, ScopingMapCandidate, NarrixTemplateCandidate, } from "./types.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,8BAA8B,EAC9B,mBAAmB,EACnB,6BAA6B,EAC7B,+BAA+B,EAC/B,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,GACnC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,0BAA0B,EAC1B,yBAAyB,EACzB,UAAU,EACV,mCAAmC,EACnC,oCAAoC,EACpC,mBAAmB,EACnB,KAAK,uBAAuB,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,8 @@ export { GRAPH_COMPOSER_ACTION_REGISTRY, getActionDefinition, getActionDefinitio
|
|
|
3
3
|
export { graphComposerPackRoot, readGraphComposerPromptFile, } from "./packDir.js";
|
|
4
4
|
export { DEFAULT_UTILITY_SKILLS } from "./defaultUtilitySkills.js";
|
|
5
5
|
export { runGraphComposer, runGraphWorker, resolveGraphComposerClient, getGraphComposerLlmClient, getPackDir, normalizeGraphComposerExplainOutput, normalizeReviewConceptComposerOutput, redactSecretsForLog, } from "./runGraphComposer.js";
|
|
6
|
-
export {
|
|
6
|
+
export { applyPackageLogLevelsFromEnv, configurePackageLogLevels, } from "@x12i/logxer";
|
|
7
|
+
export { GRAPH_COMPOSER_LOG_ENV_PREFIX, configureGraphComposerLogging, createGraphComposerLogger, getGraphComposerLogger, getGraphComposerLoggingConfig, parseGraphComposerLogsLevel, withGraphComposerLogsLevel, } from "./graphComposerLogging.js";
|
|
7
8
|
export { applyGraphConceptPatchOnlyIfEmpty } from "./graphConceptPatchMerge.js";
|
|
8
9
|
export { runGraphComposerAgent, } from "./graphComposerAgent.js";
|
|
9
10
|
export { buildCatalogMatchHints, } from "./catalogMatchAssist.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type LogRuntimeContext } from "@x12i/logxer";
|
|
2
|
-
import { type GraphComposerLogsLevelInput } from "./graphComposerLogging.js";
|
|
2
|
+
import { type GraphComposerLogsLevelInput, type StackLoggingOptions } from "./graphComposerLogging.js";
|
|
3
3
|
import type { Client } from "@x12i/funcx";
|
|
4
4
|
import { type LlmMode } from "@x12i/funcx/functions";
|
|
5
5
|
import type { GraphComposerInput } from "./types.js";
|
|
@@ -44,6 +44,11 @@ export type RunGraphComposerOptions = {
|
|
|
44
44
|
* Use `off` / `none` / `silent` to silence graph-composer logs for one invocation.
|
|
45
45
|
*/
|
|
46
46
|
logsLevel?: GraphComposerLogsLevelInput;
|
|
47
|
+
/**
|
|
48
|
+
* Parent stack logging for this invocation (`StackLoggingOptions` from @x12i/logxer).
|
|
49
|
+
* Forward from the host when graph-composer is embedded in a larger app.
|
|
50
|
+
*/
|
|
51
|
+
logging?: StackLoggingOptions;
|
|
47
52
|
/**
|
|
48
53
|
* Optional correlation ids merged into every log via @x12i/logxer `runWithLogContext`
|
|
49
54
|
* (jobId, runId, graphId, nodeId, taskId, sessionId, correlationId).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runGraphComposer.d.ts","sourceRoot":"","sources":["../src/runGraphComposer.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,KAAK,2BAA2B,
|
|
1
|
+
{"version":3,"file":"runGraphComposer.d.ts","sourceRoot":"","sources":["../src/runGraphComposer.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,uBAAuB,CAAC;AAc/B,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,YAAY,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAC/B,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAgHhF;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,IAAI,CASN;AAuDD;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,OAAO,GACd,OAAO,CAKT;AA0ED,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,2FAA2F;IAC3F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC;;;OAGG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC,CAAC;AAmDF,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,uBAAuB,GAC/B,MAAM,GAAG,SAAS,CA4BpB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAYR;AAqLD,wBAAsB,cAAc,CAClC,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}
|
package/dist/runGraphComposer.js
CHANGED
|
@@ -459,7 +459,7 @@ export async function runGraphWorker(input, options = {}) {
|
|
|
459
459
|
return runWithLogContext(ctx, () => runGraphWorkerInner(input, options));
|
|
460
460
|
}
|
|
461
461
|
return runGraphWorkerInner(input, options);
|
|
462
|
-
});
|
|
462
|
+
}, options.logging);
|
|
463
463
|
}
|
|
464
464
|
export async function runGraphComposer(input, options = {}) {
|
|
465
465
|
return runGraphWorker(input, options);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
## Format reference (GraphModelObject)
|
|
1
|
+
## Format reference (worox-graph / GraphModelObject)
|
|
2
2
|
|
|
3
|
-
Normative contracts: `docs/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** DAG JSON model: `docs/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`.
|
|
4
4
|
|
|
5
5
|
A graph is a single JSON object. Top-level fields (canonical root keys only):
|
|
6
6
|
|
|
@@ -68,7 +68,7 @@ A graph is a single JSON object. Top-level fields (canonical root keys only):
|
|
|
68
68
|
| Planning / UX | `metadata.*` | `graphReadability`, `catalogBinding`, `name`, `description` — **not** `aiTaskProfile` or `narrix`. |
|
|
69
69
|
| Result wiring | `executionMapping` | Writes into execution memory after the task succeeds. |
|
|
70
70
|
|
|
71
|
-
- **AI task nodes** must include **`taskConfiguration.aiTaskProfile`** with non-empty **`preStrategyKey`** and **`postStrategyKey`** (deployment catalog row ids). Add **`taskConfiguration.narrix`** when discovery applies. Add **`webScoping`** / **`inputSynthesis`** under **`aiTaskProfile`** when needed.
|
|
71
|
+
- **AI task nodes** must include **`taskConfiguration.aiTaskProfile`** with non-empty **`preStrategyKey`** and **`postStrategyKey`** (deployment catalog row ids). Add **`taskConfiguration.narrix`** when discovery applies. Add **`webScoping`** / **`inputSynthesis`** under **`aiTaskProfile`** when needed. Legacy **`metadata.aiTaskProfile`** is dual-read and canonicalized to **`taskConfiguration`** on output — do not author new graphs under `metadata`.
|
|
72
72
|
- `skillKey` must come from the provided skill catalog unless extensible mode is active.
|
|
73
73
|
- Do **not** put `question`, literals, or `$path` variable refs under `inputsConfig`. Do **not** use deprecated task-node `inputs` or `outputMapping` (graph-composer renames them on output).
|
|
74
74
|
- `taskVariable.question` should be clear and self-contained.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exellix/graph-composer",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.9",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
},
|
|
64
64
|
"homepage": "https://github.com/woroces/graph-composer#readme",
|
|
65
65
|
"peerDependencies": {
|
|
66
|
-
"@exellix/graph-engine": "^7.
|
|
66
|
+
"@exellix/graph-engine": "^7.3.9"
|
|
67
67
|
},
|
|
68
68
|
"peerDependenciesMeta": {
|
|
69
69
|
"@exellix/graph-engine": {
|
|
@@ -71,14 +71,14 @@
|
|
|
71
71
|
}
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@x12i/ai-profiles": "^1.7.
|
|
74
|
+
"@x12i/ai-profiles": "^1.7.2",
|
|
75
75
|
"@x12i/catalox": "^5.1.3",
|
|
76
76
|
"@x12i/env": "^4.0.1",
|
|
77
|
-
"@x12i/funcx": "^4.2.
|
|
77
|
+
"@x12i/funcx": "^4.2.8",
|
|
78
78
|
"@x12i/logxer": "^4.6.0"
|
|
79
79
|
},
|
|
80
80
|
"devDependencies": {
|
|
81
|
-
"@exellix/graph-engine": "^7.
|
|
81
|
+
"@exellix/graph-engine": "^7.3.9",
|
|
82
82
|
"@types/node": "^22.10.2",
|
|
83
83
|
"nx-config2": "^3.6.5",
|
|
84
84
|
"tsx": "^4.19.2",
|