@a5c-ai/hooks-mux-core 5.0.1-staging.fcac7259 → 5.0.1-staging.ff407b73
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/README.md +37 -0
- package/dist/discovery/detector.d.ts.map +1 -1
- package/dist/discovery/detector.js +3 -64
- package/dist/discovery/detector.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/propagation/adapt-output.d.ts.map +1 -1
- package/dist/propagation/adapt-output.js +10 -9
- package/dist/propagation/adapt-output.js.map +1 -1
- package/dist/propagation/env-file.d.ts +8 -1
- package/dist/propagation/env-file.d.ts.map +1 -1
- package/dist/propagation/env-file.js +12 -2
- package/dist/propagation/env-file.js.map +1 -1
- package/dist/propagation/index.d.ts +1 -1
- package/dist/propagation/index.d.ts.map +1 -1
- package/dist/propagation/index.js +2 -1
- package/dist/propagation/index.js.map +1 -1
- package/dist/propagation/propagation-backends.d.ts +1 -1
- package/dist/propagation/propagation-backends.js +3 -4
- package/dist/propagation/propagation-backends.js.map +1 -1
- package/package.json +12 -5
package/README.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# @a5c-ai/hooks-mux-core
|
|
2
|
+
|
|
3
|
+
Canonical schemas, types, session store, merge engine, and programmatic runtime for hooks-mux.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @a5c-ai/hooks-mux-core
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
This package ships the built runtime in `dist/` and this package README for npm publish-surface auditing.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import {
|
|
17
|
+
createHooksEngine,
|
|
18
|
+
createAdapter,
|
|
19
|
+
registerHandler,
|
|
20
|
+
runNormalized,
|
|
21
|
+
type UnifiedHookEvent,
|
|
22
|
+
type UnifiedHookResult,
|
|
23
|
+
} from "@a5c-ai/hooks-mux-core";
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The public surface includes:
|
|
27
|
+
|
|
28
|
+
- canonical event, result, adapter, plan, and session types
|
|
29
|
+
- normalization, merge, propagation, and diagnostics helpers
|
|
30
|
+
- session-store utilities and harness discovery
|
|
31
|
+
- the programmatic hooks engine for in-process integrations
|
|
32
|
+
|
|
33
|
+
See the workspace overview in [`packages/hooks-mux/README.md`](../README.md) and the adapter guide in `packages/hooks-mux/docs/`.
|
|
34
|
+
|
|
35
|
+
## License
|
|
36
|
+
|
|
37
|
+
MIT © a5c-ai
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/discovery/detector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/discovery/detector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,kDAAkD;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAQD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,eAAe,GAAG,IAAI,CAuCxB"}
|
|
@@ -9,73 +9,12 @@
|
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.detectHarness = detectHarness;
|
|
12
|
+
const agent_catalog_1 = require("@a5c-ai/agent-catalog");
|
|
12
13
|
/**
|
|
13
14
|
* Ordered list of detection rules.
|
|
14
15
|
* First high-confidence match wins; checked sequentially.
|
|
15
16
|
*/
|
|
16
|
-
const DETECTION_RULES =
|
|
17
|
-
// 1. Claude Code
|
|
18
|
-
{
|
|
19
|
-
adapter: 'claude',
|
|
20
|
-
confidence: 'high',
|
|
21
|
-
signals: ['CLAUDE_PLUGIN_ROOT', 'CLAUDE_ENV_FILE'],
|
|
22
|
-
},
|
|
23
|
-
// 2. Codex — high if CODEX_PLUGIN_ROOT or CODEX_THREAD_ID is set
|
|
24
|
-
{
|
|
25
|
-
adapter: 'codex',
|
|
26
|
-
confidence: 'high',
|
|
27
|
-
signals: ['CODEX_PLUGIN_ROOT', 'CODEX_THREAD_ID'],
|
|
28
|
-
},
|
|
29
|
-
// 2b. Codex — medium if OPENAI_API_KEY is set but no Claude signals
|
|
30
|
-
{
|
|
31
|
-
adapter: 'codex',
|
|
32
|
-
confidence: 'medium',
|
|
33
|
-
signals: ['OPENAI_API_KEY'],
|
|
34
|
-
condition: (env) => !env['CLAUDE_PLUGIN_ROOT'] && !env['CLAUDE_ENV_FILE'],
|
|
35
|
-
},
|
|
36
|
-
// 3. Gemini CLI
|
|
37
|
-
{
|
|
38
|
-
adapter: 'gemini',
|
|
39
|
-
confidence: 'high',
|
|
40
|
-
signals: ['GEMINI_EXTENSION_PATH', 'BABYSITTER_EXTENSION_PATH'],
|
|
41
|
-
},
|
|
42
|
-
// 4. GitHub Copilot
|
|
43
|
-
{
|
|
44
|
-
adapter: 'copilot',
|
|
45
|
-
confidence: 'high',
|
|
46
|
-
signals: ['COPILOT_HOME', 'COPILOT_GITHUB_TOKEN'],
|
|
47
|
-
},
|
|
48
|
-
// 5. Cursor
|
|
49
|
-
{
|
|
50
|
-
adapter: 'cursor',
|
|
51
|
-
confidence: 'medium',
|
|
52
|
-
signals: ['CURSOR_PROJECT_DIR', 'CURSOR_VERSION'],
|
|
53
|
-
},
|
|
54
|
-
// 6. Pi
|
|
55
|
-
{
|
|
56
|
-
adapter: 'pi',
|
|
57
|
-
confidence: 'high',
|
|
58
|
-
signals: ['PI_PLUGIN_ROOT', 'PI_SESSION_ID'],
|
|
59
|
-
},
|
|
60
|
-
// 7. Oh-My-Pi
|
|
61
|
-
{
|
|
62
|
-
adapter: 'oh-my-pi',
|
|
63
|
-
confidence: 'high',
|
|
64
|
-
signals: ['OMP_PLUGIN_ROOT', 'OMP_SESSION_ID'],
|
|
65
|
-
},
|
|
66
|
-
// 8. OpenCode
|
|
67
|
-
{
|
|
68
|
-
adapter: 'opencode',
|
|
69
|
-
confidence: 'high',
|
|
70
|
-
signals: ['OPENCODE_CONFIG', 'ACCOMPLISH_TASK_ID'],
|
|
71
|
-
},
|
|
72
|
-
// 9. OpenClaw
|
|
73
|
-
{
|
|
74
|
-
adapter: 'openclaw',
|
|
75
|
-
confidence: 'medium',
|
|
76
|
-
signals: ['OPENCLAW_SHELL', 'OPENCLAW_HOME'],
|
|
77
|
-
},
|
|
78
|
-
];
|
|
17
|
+
const DETECTION_RULES = (0, agent_catalog_1.getHooksMuxDetectionRules)();
|
|
79
18
|
/**
|
|
80
19
|
* Detect which harness the current process is running inside.
|
|
81
20
|
*
|
|
@@ -91,7 +30,7 @@ function detectHarness(env = process.env) {
|
|
|
91
30
|
let bestMatch = null;
|
|
92
31
|
for (const rule of DETECTION_RULES) {
|
|
93
32
|
// Check optional condition (e.g. absence of other signals)
|
|
94
|
-
if (rule.
|
|
33
|
+
if (rule.absentSignals?.some((signal) => env[signal])) {
|
|
95
34
|
continue;
|
|
96
35
|
}
|
|
97
36
|
// Collect evidence — which of the rule's signals are actually present
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/discovery/detector.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;
|
|
1
|
+
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/discovery/detector.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AA+BH,sCAyCC;AAtED,yDAAkE;AAYlE;;;GAGG;AACH,MAAM,eAAe,GAA4B,IAAA,yCAAyB,GAAE,CAAC;AAE7E;;;;;;;;;;GAUG;AACH,SAAgB,aAAa,CAC3B,MAA0C,OAAO,CAAC,GAAG;IAErD,IAAI,SAAS,GAA2B,IAAI,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,2DAA2D;QAC3D,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACtD,SAAS;QACX,CAAC;QAED,sEAAsE;QACtE,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAoB;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ;SACT,CAAC;QAEF,yDAAyD;QACzD,IAAI,KAAK,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { normalizeEvent, resolvePhaseMapping, splitEnv, resolveHookPlan, sortHan
|
|
|
8
8
|
export type { NormalizeOptions, PlanResolverOptions, ErrorPolicy, RunPlanOptions } from './normalizer';
|
|
9
9
|
export { SESSION_SCHEMA_VERSION, getSessionDir, loadSession, saveSession, deleteSession, updateSession, addContextFragment, acquireLock, releaseLock, getDefaultSessionDir, getSessionFilePath, SESSION_PID_MARKER_ENV_VAR, isSessionPidMarkerEnabled, findHarnessAncestorPid, writeSessionMarker, readSessionMarker, cleanupSessionMarker, getSessionMarkerPath, } from './session-store';
|
|
10
10
|
export { mergeResults, MergeConflictError, type MergeOptions, type MergedExecutionResult, type DecisionVerb, type MergeDiagnostics, type MergeConflict, type DegradedField, createDiagnostics, recordConflict, recordDegradedField, } from './merge-engine';
|
|
11
|
-
export { materializeExecContext, generateTempEnvFile, escapeShellValue, getTrackedTempFiles, cleanupTempFiles, adaptOutput, propagateEnv, } from './propagation';
|
|
11
|
+
export { buildExportEnvFileLines, materializeExecContext, generateTempEnvFile, escapeShellValue, getTrackedTempFiles, cleanupTempFiles, adaptOutput, propagateEnv, } from './propagation';
|
|
12
12
|
export type { MaterializeOptions, ExecMaterialization, AdaptOutputOptions, AdaptedOutput, PropagationBackend, PropagationOptions, SessionStore, } from './propagation';
|
|
13
13
|
export { DiagnosticLogger, createDiagnosticLogger, TraceWriter, createTraceWriter, generateTraceId, buildTraceRecord, } from './diagnostics';
|
|
14
14
|
export type { DiagnosticEntry, DiagnosticLoggerOptions, MergeDecisionSummary, SessionIdQuality, TraceWriterOptions, TraceRecord, TraceHandlerRecord, } from './diagnostics';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.HookOutputParseError = exports.serializeResult = exports.serializeEvent = exports.isInHooksProxyContext = exports.readExecutionContext = exports.HookResultBuilder = exports.HookEventBuilder = exports.validateHookEvent = exports.validateHookResult = exports.parseHookEvent = exports.parseHookResult = exports.createHooksEngine = exports.detectHarness = exports.runNormalized = void 0;
|
|
3
|
+
exports.createAdapter = exports.buildTraceRecord = exports.generateTraceId = exports.createTraceWriter = exports.TraceWriter = exports.createDiagnosticLogger = exports.DiagnosticLogger = exports.propagateEnv = exports.adaptOutput = exports.cleanupTempFiles = exports.getTrackedTempFiles = exports.escapeShellValue = exports.generateTempEnvFile = exports.materializeExecContext = exports.buildExportEnvFileLines = exports.recordDegradedField = exports.recordConflict = exports.createDiagnostics = exports.MergeConflictError = exports.mergeResults = exports.getSessionMarkerPath = exports.cleanupSessionMarker = exports.readSessionMarker = exports.writeSessionMarker = exports.findHarnessAncestorPid = exports.isSessionPidMarkerEnabled = exports.SESSION_PID_MARKER_ENV_VAR = exports.getSessionFilePath = exports.getDefaultSessionDir = exports.releaseLock = exports.acquireLock = exports.addContextFragment = exports.updateSession = exports.deleteSession = exports.saveSession = exports.loadSession = exports.getSessionDir = exports.SESSION_SCHEMA_VERSION = exports.NormalizationError = exports.HandlerTimeoutError = exports.HandlerError = exports.runPlan = exports.runHandler = exports.getNestedValue = exports.evaluateWhen = exports.sortHandlers = exports.resolveHookPlan = exports.splitEnv = exports.resolvePhaseMapping = exports.normalizeEvent = void 0;
|
|
4
|
+
exports.HookOutputParseError = exports.serializeResult = exports.serializeEvent = exports.isInHooksProxyContext = exports.readExecutionContext = exports.HookResultBuilder = exports.HookEventBuilder = exports.validateHookEvent = exports.validateHookResult = exports.parseHookEvent = exports.parseHookResult = exports.createHooksEngine = exports.detectHarness = exports.runNormalized = exports.registerHandler = void 0;
|
|
5
5
|
// Normalizer
|
|
6
6
|
var normalizer_1 = require("./normalizer");
|
|
7
7
|
Object.defineProperty(exports, "normalizeEvent", { enumerable: true, get: function () { return normalizer_1.normalizeEvent; } });
|
|
@@ -45,6 +45,7 @@ Object.defineProperty(exports, "recordConflict", { enumerable: true, get: functi
|
|
|
45
45
|
Object.defineProperty(exports, "recordDegradedField", { enumerable: true, get: function () { return merge_engine_1.recordDegradedField; } });
|
|
46
46
|
// Propagation
|
|
47
47
|
var propagation_1 = require("./propagation");
|
|
48
|
+
Object.defineProperty(exports, "buildExportEnvFileLines", { enumerable: true, get: function () { return propagation_1.buildExportEnvFileLines; } });
|
|
48
49
|
Object.defineProperty(exports, "materializeExecContext", { enumerable: true, get: function () { return propagation_1.materializeExecContext; } });
|
|
49
50
|
Object.defineProperty(exports, "generateTempEnvFile", { enumerable: true, get: function () { return propagation_1.generateTempEnvFile; } });
|
|
50
51
|
Object.defineProperty(exports, "escapeShellValue", { enumerable: true, get: function () { return propagation_1.escapeShellValue; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAQA,aAAa;AACb,2CAasB;AAZpB,4GAAA,cAAc,OAAA;AACd,iHAAA,mBAAmB,OAAA;AACnB,sGAAA,QAAQ,OAAA;AACR,6GAAA,eAAe,OAAA;AACf,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AACZ,4GAAA,cAAc,OAAA;AACd,wGAAA,UAAU,OAAA;AACV,qGAAA,OAAO,OAAA;AACP,0GAAA,YAAY,OAAA;AACZ,iHAAA,mBAAmB,OAAA;AACnB,gHAAA,kBAAkB,OAAA;AAIpB,gBAAgB;AAChB,iDAmByB;AAlBvB,uHAAA,sBAAsB,OAAA;AACtB,8GAAA,aAAa,OAAA;AACb,4GAAA,WAAW,OAAA;AACX,4GAAA,WAAW,OAAA;AACX,8GAAA,aAAa,OAAA;AACb,8GAAA,aAAa,OAAA;AACb,mHAAA,kBAAkB,OAAA;AAClB,4GAAA,WAAW,OAAA;AACX,4GAAA,WAAW,OAAA;AACX,qHAAA,oBAAoB,OAAA;AACpB,mHAAA,kBAAkB,OAAA;AAClB,2HAAA,0BAA0B,OAAA;AAC1B,0HAAA,yBAAyB,OAAA;AACzB,uHAAA,sBAAsB,OAAA;AACtB,mHAAA,kBAAkB,OAAA;AAClB,kHAAA,iBAAiB,OAAA;AACjB,qHAAA,oBAAoB,OAAA;AACpB,qHAAA,oBAAoB,OAAA;AAGtB,eAAe;AACf,+CAYwB;AAXtB,4GAAA,YAAY,OAAA;AACZ,kHAAA,kBAAkB,OAAA;AAOlB,iHAAA,iBAAiB,OAAA;AACjB,8GAAA,cAAc,OAAA;AACd,mHAAA,mBAAmB,OAAA;AAGrB,cAAc;AACd,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAQA,aAAa;AACb,2CAasB;AAZpB,4GAAA,cAAc,OAAA;AACd,iHAAA,mBAAmB,OAAA;AACnB,sGAAA,QAAQ,OAAA;AACR,6GAAA,eAAe,OAAA;AACf,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AACZ,4GAAA,cAAc,OAAA;AACd,wGAAA,UAAU,OAAA;AACV,qGAAA,OAAO,OAAA;AACP,0GAAA,YAAY,OAAA;AACZ,iHAAA,mBAAmB,OAAA;AACnB,gHAAA,kBAAkB,OAAA;AAIpB,gBAAgB;AAChB,iDAmByB;AAlBvB,uHAAA,sBAAsB,OAAA;AACtB,8GAAA,aAAa,OAAA;AACb,4GAAA,WAAW,OAAA;AACX,4GAAA,WAAW,OAAA;AACX,8GAAA,aAAa,OAAA;AACb,8GAAA,aAAa,OAAA;AACb,mHAAA,kBAAkB,OAAA;AAClB,4GAAA,WAAW,OAAA;AACX,4GAAA,WAAW,OAAA;AACX,qHAAA,oBAAoB,OAAA;AACpB,mHAAA,kBAAkB,OAAA;AAClB,2HAAA,0BAA0B,OAAA;AAC1B,0HAAA,yBAAyB,OAAA;AACzB,uHAAA,sBAAsB,OAAA;AACtB,mHAAA,kBAAkB,OAAA;AAClB,kHAAA,iBAAiB,OAAA;AACjB,qHAAA,oBAAoB,OAAA;AACpB,qHAAA,oBAAoB,OAAA;AAGtB,eAAe;AACf,+CAYwB;AAXtB,4GAAA,YAAY,OAAA;AACZ,kHAAA,kBAAkB,OAAA;AAOlB,iHAAA,iBAAiB,OAAA;AACjB,8GAAA,cAAc,OAAA;AACd,mHAAA,mBAAmB,OAAA;AAGrB,cAAc;AACd,6CASuB;AARrB,sHAAA,uBAAuB,OAAA;AACvB,qHAAA,sBAAsB,OAAA;AACtB,kHAAA,mBAAmB,OAAA;AACnB,+GAAA,gBAAgB,OAAA;AAChB,kHAAA,mBAAmB,OAAA;AACnB,+GAAA,gBAAgB,OAAA;AAChB,0GAAA,WAAW,OAAA;AACX,2GAAA,YAAY,OAAA;AAYd,cAAc;AACd,6CAOuB;AANrB,+GAAA,gBAAgB,OAAA;AAChB,qHAAA,sBAAsB,OAAA;AACtB,0GAAA,WAAW,OAAA;AACX,gHAAA,iBAAiB,OAAA;AACjB,8GAAA,eAAe,OAAA;AACf,+GAAA,gBAAgB,OAAA;AAYlB,MAAM;AACN,6BAIe;AAHb,oGAAA,aAAa,OAAA;AACb,sGAAA,eAAe,OAAA;AACf,oGAAA,aAAa,OAAA;AAIf,YAAY;AACZ,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AAGtB,sBAAsB;AACtB,+CAEwB;AADtB,iHAAA,iBAAiB,OAAA;AAYnB,gBAAgB;AAChB,iDAYyB;AAXvB,gHAAA,eAAe,OAAA;AACf,+GAAA,cAAc,OAAA;AACd,mHAAA,kBAAkB,OAAA;AAClB,kHAAA,iBAAiB,OAAA;AACjB,iHAAA,gBAAgB,OAAA;AAChB,kHAAA,iBAAiB,OAAA;AACjB,qHAAA,oBAAoB,OAAA;AACpB,sHAAA,qBAAqB,OAAA;AACrB,+GAAA,cAAc,OAAA;AACd,gHAAA,eAAe,OAAA;AACf,qHAAA,oBAAoB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapt-output.d.ts","sourceRoot":"","sources":["../../src/propagation/adapt-output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAWjE;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"adapt-output.d.ts","sourceRoot":"","sources":["../../src/propagation/adapt-output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAWjE;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,aAAa,CA2EtE"}
|
|
@@ -18,8 +18,10 @@ function adaptOutput(options) {
|
|
|
18
18
|
const { mergedResult, capabilities } = options;
|
|
19
19
|
const output = {};
|
|
20
20
|
const degradedFields = [];
|
|
21
|
-
//
|
|
22
|
-
|
|
21
|
+
// Only include decision when it carries a meaningful value
|
|
22
|
+
if (mergedResult.decision !== 'noop' && mergedResult.decision !== 'continue') {
|
|
23
|
+
output['decision'] = mergedResult.decision;
|
|
24
|
+
}
|
|
23
25
|
if (mergedResult.reason) {
|
|
24
26
|
output['reason'] = mergedResult.reason;
|
|
25
27
|
}
|
|
@@ -43,7 +45,9 @@ function adaptOutput(options) {
|
|
|
43
45
|
if (mergedResult.systemMessage) {
|
|
44
46
|
output['systemMessage'] = mergedResult.systemMessage;
|
|
45
47
|
}
|
|
46
|
-
|
|
48
|
+
if (mergedResult.continueSession) {
|
|
49
|
+
output['continue'] = mergedResult.continueSession;
|
|
50
|
+
}
|
|
47
51
|
if (mergedResult.stopReason) {
|
|
48
52
|
output['stopReason'] = mergedResult.stopReason;
|
|
49
53
|
}
|
|
@@ -66,12 +70,9 @@ function adaptOutput(options) {
|
|
|
66
70
|
}
|
|
67
71
|
}
|
|
68
72
|
// Decision/blocking support check
|
|
69
|
-
if (
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
// Downgrade to noop when adapter doesn't support blocking
|
|
73
|
-
output['decision'] = 'noop';
|
|
74
|
-
}
|
|
73
|
+
if (output['decision'] && !CAPABILITY_FIELD_MAP['decision'](capabilities)) {
|
|
74
|
+
degradedFields.push('decision');
|
|
75
|
+
delete output['decision'];
|
|
75
76
|
}
|
|
76
77
|
return { output, degradedFields };
|
|
77
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapt-output.js","sourceRoot":"","sources":["../../src/propagation/adapt-output.ts"],"names":[],"mappings":";;AAiBA,
|
|
1
|
+
{"version":3,"file":"adapt-output.js","sourceRoot":"","sources":["../../src/propagation/adapt-output.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,14 @@ export declare function getTrackedTempFiles(): readonly string[];
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function cleanupTempFiles(): void;
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Build shell-safe export lines for an env file consumed via `source`.
|
|
12
|
+
*
|
|
13
|
+
* Exporting is required when the sourcing shell may spawn downstream child
|
|
14
|
+
* processes that need to inherit the persisted values.
|
|
15
|
+
*/
|
|
16
|
+
export declare function buildExportEnvFileLines(env: Record<string, string>): string[];
|
|
17
|
+
/**
|
|
18
|
+
* Generate a temporary env file containing exported KEY=VALUE lines.
|
|
12
19
|
*
|
|
13
20
|
* @param env - Environment variables to write.
|
|
14
21
|
* @param dir - Directory for the temp file; defaults to os.tmpdir().
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-file.d.ts","sourceRoot":"","sources":["../../src/propagation/env-file.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,MAAM,EAAE,CAEvD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CASvC;AAaD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"env-file.d.ts","sourceRoot":"","sources":["../../src/propagation/env-file.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,SAAS,MAAM,EAAE,CAEvD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CASvC;AAaD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,EAAE,CAIV;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQtD"}
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.getTrackedTempFiles = getTrackedTempFiles;
|
|
37
37
|
exports.cleanupTempFiles = cleanupTempFiles;
|
|
38
|
+
exports.buildExportEnvFileLines = buildExportEnvFileLines;
|
|
38
39
|
exports.generateTempEnvFile = generateTempEnvFile;
|
|
39
40
|
exports.escapeShellValue = escapeShellValue;
|
|
40
41
|
const fs = __importStar(require("fs"));
|
|
@@ -77,7 +78,16 @@ function ensureCleanupRegistered() {
|
|
|
77
78
|
// Public API
|
|
78
79
|
// ---------------------------------------------------------------------------
|
|
79
80
|
/**
|
|
80
|
-
*
|
|
81
|
+
* Build shell-safe export lines for an env file consumed via `source`.
|
|
82
|
+
*
|
|
83
|
+
* Exporting is required when the sourcing shell may spawn downstream child
|
|
84
|
+
* processes that need to inherit the persisted values.
|
|
85
|
+
*/
|
|
86
|
+
function buildExportEnvFileLines(env) {
|
|
87
|
+
return Object.entries(env).map(([key, value]) => `export ${key}=${escapeShellValue(value)}`);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Generate a temporary env file containing exported KEY=VALUE lines.
|
|
81
91
|
*
|
|
82
92
|
* @param env - Environment variables to write.
|
|
83
93
|
* @param dir - Directory for the temp file; defaults to os.tmpdir().
|
|
@@ -89,7 +99,7 @@ async function generateTempEnvFile(env, dir) {
|
|
|
89
99
|
await fs.promises.mkdir(targetDir, { recursive: true });
|
|
90
100
|
const filename = `a5c-env-${process.pid}-${Date.now()}.env`;
|
|
91
101
|
const filePath = path.join(targetDir, filename);
|
|
92
|
-
const lines =
|
|
102
|
+
const lines = buildExportEnvFileLines(env);
|
|
93
103
|
const content = lines.join('\n') + '\n';
|
|
94
104
|
const tmpPath = `${filePath}.tmp`;
|
|
95
105
|
await fs.promises.writeFile(tmpPath, content, 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-file.js","sourceRoot":"","sources":["../../src/propagation/env-file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,kDAEC;AAMD,4CASC;
|
|
1
|
+
{"version":3,"file":"env-file.js","sourceRoot":"","sources":["../../src/propagation/env-file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,kDAEC;AAMD,4CASC;AAmBD,0DAMC;AASD,kDAsBC;AAOD,4CAQC;AAvGD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,oEAAoE;AACpE,MAAM,gBAAgB,GAAa,EAAE,CAAC;AACtC,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB;IAC9B,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;IACH,CAAC;IACD,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,uBAAuB;IAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,iBAAiB,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,GAA2B;IAE3B,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAC5B,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAC7D,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,mBAAmB,CACvC,GAA2B,EAC3B,GAAY;IAEZ,uBAAuB,EAAE,CAAC;IAE1B,MAAM,SAAS,GAAG,GAAG,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;IACrC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,WAAW,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEhD,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAExC,MAAM,OAAO,GAAG,GAAG,QAAQ,MAAM,CAAC;IAClC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE5C,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEhC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,MAAM,OAAO,GAAG,KAAK;SAClB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxB,OAAO,IAAI,OAAO,GAAG,CAAC;AACxB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { materializeExecContext } from './materialize';
|
|
2
|
-
export { generateTempEnvFile, escapeShellValue, getTrackedTempFiles, cleanupTempFiles } from './env-file';
|
|
2
|
+
export { buildExportEnvFileLines, generateTempEnvFile, escapeShellValue, getTrackedTempFiles, cleanupTempFiles, } from './env-file';
|
|
3
3
|
export { adaptOutput } from './adapt-output';
|
|
4
4
|
export { propagateEnv } from './propagation-backends';
|
|
5
5
|
export type { MaterializeOptions, ExecMaterialization, AdaptOutputOptions, AdaptedOutput, PropagationBackend, PropagationOptions, SessionStore, } from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/propagation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/propagation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,GACb,MAAM,SAAS,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.propagateEnv = exports.adaptOutput = exports.cleanupTempFiles = exports.getTrackedTempFiles = exports.escapeShellValue = exports.generateTempEnvFile = exports.materializeExecContext = void 0;
|
|
3
|
+
exports.propagateEnv = exports.adaptOutput = exports.cleanupTempFiles = exports.getTrackedTempFiles = exports.escapeShellValue = exports.generateTempEnvFile = exports.buildExportEnvFileLines = exports.materializeExecContext = void 0;
|
|
4
4
|
var materialize_1 = require("./materialize");
|
|
5
5
|
Object.defineProperty(exports, "materializeExecContext", { enumerable: true, get: function () { return materialize_1.materializeExecContext; } });
|
|
6
6
|
var env_file_1 = require("./env-file");
|
|
7
|
+
Object.defineProperty(exports, "buildExportEnvFileLines", { enumerable: true, get: function () { return env_file_1.buildExportEnvFileLines; } });
|
|
7
8
|
Object.defineProperty(exports, "generateTempEnvFile", { enumerable: true, get: function () { return env_file_1.generateTempEnvFile; } });
|
|
8
9
|
Object.defineProperty(exports, "escapeShellValue", { enumerable: true, get: function () { return env_file_1.escapeShellValue; } });
|
|
9
10
|
Object.defineProperty(exports, "getTrackedTempFiles", { enumerable: true, get: function () { return env_file_1.getTrackedTempFiles; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/propagation/index.ts"],"names":[],"mappings":";;;AAAA,6CAAuD;AAA9C,qHAAA,sBAAsB,OAAA;AAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/propagation/index.ts"],"names":[],"mappings":";;;AAAA,6CAAuD;AAA9C,qHAAA,sBAAsB,OAAA;AAC/B,uCAMoB;AALlB,mHAAA,uBAAuB,OAAA;AACvB,+GAAA,mBAAmB,OAAA;AACnB,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,4GAAA,gBAAgB,OAAA;AAElB,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,+DAAsD;AAA7C,oHAAA,YAAY,OAAA"}
|
|
@@ -3,7 +3,7 @@ import type { PropagationBackend, PropagationOptions } from './types';
|
|
|
3
3
|
* Propagate environment variables via the specified backend mode.
|
|
4
4
|
*
|
|
5
5
|
* Four propagation modes per spec section 14.2:
|
|
6
|
-
* - Mode A: native_env_file -- append KEY=VALUE to a harness-provided env file path
|
|
6
|
+
* - Mode A: native_env_file -- append exported KEY=VALUE lines to a harness-provided env file path
|
|
7
7
|
* - Mode B: runtime_hook -- return env vars for the runtime to inject (no-op write; env passed back)
|
|
8
8
|
* - Mode C: wrapper_only -- materialize env file for subprocess wrapping
|
|
9
9
|
* - Mode D: none -- session-store only, no downstream injection
|
|
@@ -40,7 +40,7 @@ const env_file_1 = require("./env-file");
|
|
|
40
40
|
* Propagate environment variables via the specified backend mode.
|
|
41
41
|
*
|
|
42
42
|
* Four propagation modes per spec section 14.2:
|
|
43
|
-
* - Mode A: native_env_file -- append KEY=VALUE to a harness-provided env file path
|
|
43
|
+
* - Mode A: native_env_file -- append exported KEY=VALUE lines to a harness-provided env file path
|
|
44
44
|
* - Mode B: runtime_hook -- return env vars for the runtime to inject (no-op write; env passed back)
|
|
45
45
|
* - Mode C: wrapper_only -- materialize env file for subprocess wrapping
|
|
46
46
|
* - Mode D: none -- session-store only, no downstream injection
|
|
@@ -67,13 +67,13 @@ async function propagateEnv(backend, env, options = {}) {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
|
-
* Mode A: Append KEY=VALUE lines to a harness-provided env file.
|
|
70
|
+
* Mode A: Append exported KEY=VALUE lines to a harness-provided env file.
|
|
71
71
|
*/
|
|
72
72
|
async function propagateNativeEnvFile(env, options) {
|
|
73
73
|
if (!options.nativeEnvFilePath) {
|
|
74
74
|
throw new Error('native_env_file backend requires nativeEnvFilePath in options');
|
|
75
75
|
}
|
|
76
|
-
const lines =
|
|
76
|
+
const lines = (0, env_file_1.buildExportEnvFileLines)(env);
|
|
77
77
|
const content = '\n' + lines.join('\n') + '\n';
|
|
78
78
|
await fs.promises.appendFile(options.nativeEnvFilePath, content, 'utf-8');
|
|
79
79
|
}
|
|
@@ -96,5 +96,4 @@ async function propagateNone(env, options) {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
// escapeShellValue is now imported from ./env-file to avoid duplication.
|
|
100
99
|
//# sourceMappingURL=propagation-backends.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propagation-backends.js","sourceRoot":"","sources":["../../src/propagation/propagation-backends.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,oCAwBC;AArCD,uCAAyB;AAEzB,
|
|
1
|
+
{"version":3,"file":"propagation-backends.js","sourceRoot":"","sources":["../../src/propagation/propagation-backends.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,oCAwBC;AArCD,uCAAyB;AAEzB,yCAA0E;AAE1E;;;;;;;;GAQG;AACI,KAAK,UAAU,YAAY,CAChC,OAA2B,EAC3B,GAA2B,EAC3B,UAA8B,EAAE;IAEhC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,iBAAiB;YACpB,MAAM,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC3C,MAAM;QACR,KAAK,cAAc;YACjB,wEAAwE;YACxE,iEAAiE;YACjE,MAAM;QACR,KAAK,cAAc;YACjB,MAAM,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACzC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAClC,MAAM;QACR,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,OAAO,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,sBAAsB,CACnC,GAA2B,EAC3B,OAA2B;IAE3B,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,kCAAuB,EAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAE/C,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CACjC,GAA2B,EAC3B,OAA2B;IAE3B,MAAM,IAAA,8BAAmB,EAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAC1B,GAA2B,EAC3B,OAA2B;IAE3B,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,GAAG,EAAE,CAAC;YACnD,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;YAC9B,MAAM,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@a5c-ai/hooks-mux-core",
|
|
3
|
-
"version": "5.0.1-staging.
|
|
3
|
+
"version": "5.0.1-staging.ff407b73",
|
|
4
4
|
"description": "Canonical schemas, types, session store, and merge engine for the hooks-mux system",
|
|
5
|
-
"license": "
|
|
5
|
+
"license": "MIT",
|
|
6
6
|
"type": "commonjs",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"types": "dist/index.d.ts",
|
|
@@ -11,11 +11,16 @@
|
|
|
11
11
|
},
|
|
12
12
|
"repository": {
|
|
13
13
|
"type": "git",
|
|
14
|
-
"url": "https://github.com/a5c-ai/babysitter.git",
|
|
14
|
+
"url": "git+https://github.com/a5c-ai/babysitter.git",
|
|
15
15
|
"directory": "packages/hooks-mux/core"
|
|
16
16
|
},
|
|
17
|
+
"homepage": "https://github.com/a5c-ai/babysitter/tree/main/packages/hooks-mux/core#readme",
|
|
18
|
+
"bugs": {
|
|
19
|
+
"url": "https://github.com/a5c-ai/babysitter/issues"
|
|
20
|
+
},
|
|
17
21
|
"files": [
|
|
18
|
-
"dist"
|
|
22
|
+
"dist",
|
|
23
|
+
"README.md"
|
|
19
24
|
],
|
|
20
25
|
"scripts": {
|
|
21
26
|
"build": "tsc -p tsconfig.json",
|
|
@@ -24,7 +29,9 @@
|
|
|
24
29
|
"test": "vitest run",
|
|
25
30
|
"test:watch": "vitest"
|
|
26
31
|
},
|
|
27
|
-
"dependencies": {
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@a5c-ai/agent-catalog": "5.0.1-staging.ff407b73"
|
|
34
|
+
},
|
|
28
35
|
"devDependencies": {
|
|
29
36
|
"typescript": "^5.7.0",
|
|
30
37
|
"vitest": "^3.0.0",
|