@a5c-ai/hooks-mux-cli 5.0.1-staging.ae07dd8d → 5.0.1-staging.ca65e187
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 +27 -0
- package/dist/cli/adapter-loader.d.ts +11 -3
- package/dist/cli/adapter-loader.d.ts.map +1 -1
- package/dist/cli/adapter-loader.js +75 -4
- package/dist/cli/adapter-loader.js.map +1 -1
- package/dist/cli/bootstrap-runtime.d.ts +18 -0
- package/dist/cli/bootstrap-runtime.d.ts.map +1 -0
- package/dist/cli/bootstrap-runtime.js +108 -0
- package/dist/cli/bootstrap-runtime.js.map +1 -0
- package/dist/cli/commands/bootstrap.d.ts +3 -2
- package/dist/cli/commands/bootstrap.d.ts.map +1 -1
- package/dist/cli/commands/bootstrap.js +35 -30
- package/dist/cli/commands/bootstrap.js.map +1 -1
- package/dist/cli/commands/invoke.d.ts +3 -2
- package/dist/cli/commands/invoke.d.ts.map +1 -1
- package/dist/cli/commands/invoke.js +112 -60
- package/dist/cli/commands/invoke.js.map +1 -1
- package/dist/cli/hooks-logger.d.ts.map +1 -1
- package/dist/cli/hooks-logger.js +12 -1
- package/dist/cli/hooks-logger.js.map +1 -1
- package/package.json +10 -5
package/README.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# @a5c-ai/hooks-mux-cli
|
|
2
|
+
|
|
3
|
+
CLI entrypoint for hooks-mux.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @a5c-ai/hooks-mux-cli
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
This package ships the built CLI in `dist/` and this package README for npm publish-surface auditing.
|
|
12
|
+
|
|
13
|
+
## CLI Surface
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
a5c-hooks-mux --help
|
|
17
|
+
a5c-hooks-mux doctor
|
|
18
|
+
a5c-hooks-mux invoke --adapter claude --native-event SessionStart
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Use this package when you want the `a5c-hooks-mux` binary without depending on the full monorepo source tree.
|
|
22
|
+
|
|
23
|
+
See the workspace overview in [`packages/hooks-mux/README.md`](../README.md) and the operational guides in `packages/hooks-mux/docs/`.
|
|
24
|
+
|
|
25
|
+
## License
|
|
26
|
+
|
|
27
|
+
MIT © a5c-ai
|
|
@@ -7,14 +7,22 @@
|
|
|
7
7
|
* Each adapter package is expected to export:
|
|
8
8
|
* - createAdapter(): AdapterCapabilities
|
|
9
9
|
* - phase mappings (e.g. CLAUDE_PHASE_MAPPINGS / equivalent)
|
|
10
|
-
* -
|
|
11
|
-
* -
|
|
10
|
+
* - optional normalizeForInvoke() hook for CLI-native normalization
|
|
11
|
+
* - optional renderForInvoke() hook for CLI-native output rendering
|
|
12
12
|
* - session resolver
|
|
13
13
|
*/
|
|
14
|
-
import type { AdapterCapabilities, PhaseMapping } from '@a5c-ai/hooks-mux-core';
|
|
14
|
+
import type { AdapterCapabilities, MergedExecutionResult, PhaseMapping, UnifiedHookEvent } from '@a5c-ai/hooks-mux-core';
|
|
15
|
+
export type AdapterNormalizer = (nativeEventName: string, stdinPayload: unknown, env?: Record<string, string>) => UnifiedHookEvent;
|
|
16
|
+
export type AdapterRenderer = (mergedResult: MergedExecutionResult, nativeEventName: string, event?: UnifiedHookEvent) => unknown;
|
|
17
|
+
export type AdapterSessionResolver = (stdinData: Record<string, unknown>, env?: Record<string, string>, explicitSessionId?: string) => string | null | {
|
|
18
|
+
sessionId: string | null;
|
|
19
|
+
};
|
|
15
20
|
export interface LoadedAdapter {
|
|
16
21
|
capabilities: AdapterCapabilities;
|
|
17
22
|
phaseMappings: PhaseMapping[];
|
|
23
|
+
normalizer?: AdapterNormalizer;
|
|
24
|
+
renderer?: AdapterRenderer;
|
|
25
|
+
sessionResolver?: AdapterSessionResolver;
|
|
18
26
|
/** Raw module exports for adapter-specific functions. */
|
|
19
27
|
module: Record<string, unknown>;
|
|
20
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-loader.d.ts","sourceRoot":"","sources":["../../src/cli/adapter-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"adapter-loader.d.ts","sourceRoot":"","sources":["../../src/cli/adapter-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,MAAM,iBAAiB,GAAG,CAC9B,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,OAAO,EACrB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KACzB,gBAAgB,CAAC;AAEtB,MAAM,MAAM,eAAe,GAAG,CAC5B,YAAY,EAAE,qBAAqB,EACnC,eAAe,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,gBAAgB,KACrB,OAAO,CAAC;AAEb,MAAM,MAAM,sBAAsB,GAAG,CACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,iBAAiB,CAAC,EAAE,MAAM,KACvB,MAAM,GAAG,IAAI,GAAG;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,mBAAmB,CAAC;IAClC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAkCD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAiE9D;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,uGAUjB,CAAC"}
|
|
@@ -8,14 +8,74 @@
|
|
|
8
8
|
* Each adapter package is expected to export:
|
|
9
9
|
* - createAdapter(): AdapterCapabilities
|
|
10
10
|
* - phase mappings (e.g. CLAUDE_PHASE_MAPPINGS / equivalent)
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
11
|
+
* - optional normalizeForInvoke() hook for CLI-native normalization
|
|
12
|
+
* - optional renderForInvoke() hook for CLI-native output rendering
|
|
13
13
|
* - session resolver
|
|
14
14
|
*/
|
|
15
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
18
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
19
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
20
|
+
}
|
|
21
|
+
Object.defineProperty(o, k2, desc);
|
|
22
|
+
}) : (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
o[k2] = m[k];
|
|
25
|
+
}));
|
|
26
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
27
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
28
|
+
}) : function(o, v) {
|
|
29
|
+
o["default"] = v;
|
|
30
|
+
});
|
|
31
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
32
|
+
var ownKeys = function(o) {
|
|
33
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
34
|
+
var ar = [];
|
|
35
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
36
|
+
return ar;
|
|
37
|
+
};
|
|
38
|
+
return ownKeys(o);
|
|
39
|
+
};
|
|
40
|
+
return function (mod) {
|
|
41
|
+
if (mod && mod.__esModule) return mod;
|
|
42
|
+
var result = {};
|
|
43
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
44
|
+
__setModuleDefault(result, mod);
|
|
45
|
+
return result;
|
|
46
|
+
};
|
|
47
|
+
})();
|
|
15
48
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
49
|
exports.KNOWN_ADAPTERS = void 0;
|
|
17
50
|
exports.loadAdapter = loadAdapter;
|
|
51
|
+
const fs = __importStar(require("fs"));
|
|
52
|
+
const path = __importStar(require("path"));
|
|
18
53
|
const hooks_mux_core_1 = require("@a5c-ai/hooks-mux-core");
|
|
54
|
+
function isFunction(value) {
|
|
55
|
+
return typeof value === 'function';
|
|
56
|
+
}
|
|
57
|
+
function resolveNormalizer(mod) {
|
|
58
|
+
const candidate = mod['normalizeForInvoke'];
|
|
59
|
+
return isFunction(candidate) ? candidate : undefined;
|
|
60
|
+
}
|
|
61
|
+
function resolveRenderer(mod) {
|
|
62
|
+
const candidate = mod['renderForInvoke'];
|
|
63
|
+
return isFunction(candidate) ? candidate : undefined;
|
|
64
|
+
}
|
|
65
|
+
function resolveSessionResolver(mod) {
|
|
66
|
+
const candidate = mod['resolveSessionId'];
|
|
67
|
+
return isFunction(candidate) ? candidate : undefined;
|
|
68
|
+
}
|
|
69
|
+
function loadWorkspaceAdapter(adapterName) {
|
|
70
|
+
const packageDir = path.resolve(__dirname, '..', '..');
|
|
71
|
+
const workspacePackageDir = path.resolve(packageDir, '..', `adapter-${adapterName}`);
|
|
72
|
+
const distEntry = path.join(workspacePackageDir, 'dist', 'index.js');
|
|
73
|
+
if (!fs.existsSync(distEntry)) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
77
|
+
return require(workspacePackageDir);
|
|
78
|
+
}
|
|
19
79
|
/**
|
|
20
80
|
* Attempt to load an adapter package by name.
|
|
21
81
|
*
|
|
@@ -42,7 +102,11 @@ function loadAdapter(adapterName) {
|
|
|
42
102
|
mod = require(packageName);
|
|
43
103
|
}
|
|
44
104
|
catch (err) {
|
|
45
|
-
|
|
105
|
+
const workspaceAdapter = loadWorkspaceAdapter(adapterName);
|
|
106
|
+
if (!workspaceAdapter) {
|
|
107
|
+
throw new Error(`Failed to load adapter "${adapterName}" (package: ${packageName}): ${err instanceof Error ? err.message : String(err)}`);
|
|
108
|
+
}
|
|
109
|
+
mod = workspaceAdapter;
|
|
46
110
|
}
|
|
47
111
|
// Extract createAdapter function
|
|
48
112
|
const createAdapterFn = mod['createAdapter'];
|
|
@@ -61,7 +125,14 @@ function loadAdapter(adapterName) {
|
|
|
61
125
|
}
|
|
62
126
|
}
|
|
63
127
|
}
|
|
64
|
-
return {
|
|
128
|
+
return {
|
|
129
|
+
capabilities,
|
|
130
|
+
phaseMappings,
|
|
131
|
+
normalizer: resolveNormalizer(mod),
|
|
132
|
+
renderer: resolveRenderer(mod),
|
|
133
|
+
sessionResolver: resolveSessionResolver(mod),
|
|
134
|
+
module: mod,
|
|
135
|
+
};
|
|
65
136
|
}
|
|
66
137
|
/**
|
|
67
138
|
* List of known adapter names for discovery/doctor purposes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-loader.js","sourceRoot":"","sources":["../../src/cli/adapter-loader.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG
|
|
1
|
+
{"version":3,"file":"adapter-loader.js","sourceRoot":"","sources":["../../src/cli/adapter-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type PropagationBackend, type SessionState, type UnifiedHookEvent } from '@a5c-ai/hooks-mux-core';
|
|
2
|
+
import type { loadAdapter } from './adapter-loader';
|
|
3
|
+
export declare function tryParseJson(raw: string): unknown | undefined;
|
|
4
|
+
export declare function resolveSessionId(adapterSessionResolver: ReturnType<typeof loadAdapter>['sessionResolver'], explicitSessionId: string | undefined, normalizedSessionId: string | null | undefined, stdinData: Record<string, unknown> | undefined, env: Record<string, string>): string | null;
|
|
5
|
+
export declare function resolveNativeEnvFilePath(env: Record<string, string>): string | undefined;
|
|
6
|
+
export declare function buildBootstrapPersistEnv(event: UnifiedHookEvent, sessionId: string | null): Record<string, string>;
|
|
7
|
+
export declare function prepareBootstrapSession(args: {
|
|
8
|
+
existingSession: SessionState | null;
|
|
9
|
+
adapter: string;
|
|
10
|
+
event: UnifiedHookEvent;
|
|
11
|
+
sessionId: string | null;
|
|
12
|
+
now?: Date;
|
|
13
|
+
}): {
|
|
14
|
+
session: SessionState | null;
|
|
15
|
+
persistEnv: Record<string, string>;
|
|
16
|
+
};
|
|
17
|
+
export declare function propagateBootstrapEnv(backend: PropagationBackend, persistEnv: Record<string, string>, env: Record<string, string>): Promise<boolean>;
|
|
18
|
+
//# sourceMappingURL=bootstrap-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-runtime.d.ts","sourceRoot":"","sources":["../../src/cli/bootstrap-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAEtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAQ7D;AAED,wBAAgB,gBAAgB,CAC9B,sBAAsB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,iBAAiB,CAAC,EACzE,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,mBAAmB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC9C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,GAAG,IAAI,CAkBf;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAExF;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,eAAe,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG;IACF,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,CAyCA;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tryParseJson = tryParseJson;
|
|
4
|
+
exports.resolveSessionId = resolveSessionId;
|
|
5
|
+
exports.resolveNativeEnvFilePath = resolveNativeEnvFilePath;
|
|
6
|
+
exports.buildBootstrapPersistEnv = buildBootstrapPersistEnv;
|
|
7
|
+
exports.prepareBootstrapSession = prepareBootstrapSession;
|
|
8
|
+
exports.propagateBootstrapEnv = propagateBootstrapEnv;
|
|
9
|
+
const hooks_mux_core_1 = require("@a5c-ai/hooks-mux-core");
|
|
10
|
+
function tryParseJson(raw) {
|
|
11
|
+
const trimmed = raw.trim();
|
|
12
|
+
if (!trimmed)
|
|
13
|
+
return undefined;
|
|
14
|
+
try {
|
|
15
|
+
return JSON.parse(trimmed);
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function resolveSessionId(adapterSessionResolver, explicitSessionId, normalizedSessionId, stdinData, env) {
|
|
22
|
+
if (adapterSessionResolver) {
|
|
23
|
+
const resolved = adapterSessionResolver(stdinData ?? {}, env, explicitSessionId);
|
|
24
|
+
const adapterSessionId = typeof resolved === 'string'
|
|
25
|
+
? resolved
|
|
26
|
+
: resolved?.sessionId;
|
|
27
|
+
if (adapterSessionId) {
|
|
28
|
+
return adapterSessionId;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (explicitSessionId)
|
|
32
|
+
return explicitSessionId;
|
|
33
|
+
if (env['AGENT_SESSION_ID'])
|
|
34
|
+
return env['AGENT_SESSION_ID'];
|
|
35
|
+
if (normalizedSessionId)
|
|
36
|
+
return normalizedSessionId;
|
|
37
|
+
if (stdinData && typeof stdinData['session_id'] === 'string') {
|
|
38
|
+
return stdinData['session_id'];
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
function resolveNativeEnvFilePath(env) {
|
|
43
|
+
return env['CLAUDE_ENV_FILE'] ?? env['HOOKS_PROXY_ENV_FILE'];
|
|
44
|
+
}
|
|
45
|
+
function buildBootstrapPersistEnv(event, sessionId) {
|
|
46
|
+
const persistEnv = { ...event.env.persisted };
|
|
47
|
+
if (sessionId) {
|
|
48
|
+
persistEnv['AGENT_SESSION_ID'] = sessionId;
|
|
49
|
+
}
|
|
50
|
+
return persistEnv;
|
|
51
|
+
}
|
|
52
|
+
function prepareBootstrapSession(args) {
|
|
53
|
+
const nowIso = (args.now ?? new Date()).toISOString();
|
|
54
|
+
const persistEnv = buildBootstrapPersistEnv(args.event, args.sessionId);
|
|
55
|
+
if (!args.sessionId) {
|
|
56
|
+
return {
|
|
57
|
+
session: null,
|
|
58
|
+
persistEnv,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const existing = args.existingSession;
|
|
62
|
+
const session = existing
|
|
63
|
+
? {
|
|
64
|
+
...existing,
|
|
65
|
+
updatedAt: nowIso,
|
|
66
|
+
cwd: existing.cwd ?? args.event.execution.cwd ?? undefined,
|
|
67
|
+
transcriptPath: existing.transcriptPath ?? args.event.execution.transcriptPath ?? undefined,
|
|
68
|
+
persistedEnv: { ...existing.persistedEnv, ...persistEnv },
|
|
69
|
+
contextVars: existing.contextVars ?? {},
|
|
70
|
+
contextFragments: existing.contextFragments ?? [],
|
|
71
|
+
metadata: existing.metadata ?? {},
|
|
72
|
+
}
|
|
73
|
+
: {
|
|
74
|
+
version: 'a5c.hooks.session.v1',
|
|
75
|
+
sessionId: args.sessionId,
|
|
76
|
+
adapter: args.adapter,
|
|
77
|
+
createdAt: nowIso,
|
|
78
|
+
updatedAt: nowIso,
|
|
79
|
+
cwd: args.event.execution.cwd ?? undefined,
|
|
80
|
+
transcriptPath: args.event.execution.transcriptPath ?? undefined,
|
|
81
|
+
persistedEnv: persistEnv,
|
|
82
|
+
contextVars: {},
|
|
83
|
+
contextFragments: [],
|
|
84
|
+
metadata: {},
|
|
85
|
+
};
|
|
86
|
+
return {
|
|
87
|
+
session,
|
|
88
|
+
persistEnv,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
async function propagateBootstrapEnv(backend, persistEnv, env) {
|
|
92
|
+
if (Object.keys(persistEnv).length === 0) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
if (backend === 'native_env_file') {
|
|
96
|
+
const nativeEnvFilePath = resolveNativeEnvFilePath(env);
|
|
97
|
+
if (!nativeEnvFilePath) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
await (0, hooks_mux_core_1.propagateEnv)(backend, persistEnv, { nativeEnvFilePath });
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
await (0, hooks_mux_core_1.propagateEnv)(backend, persistEnv, {
|
|
104
|
+
nativeEnvFilePath: resolveNativeEnvFilePath(env),
|
|
105
|
+
});
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=bootstrap-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-runtime.js","sourceRoot":"","sources":["../../src/cli/bootstrap-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Spec section 18.3.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Reads stdin for session discovery, resolves adapter-native session IDs,
|
|
7
|
+
* creates/loads session state, persists baseline env, and applies any
|
|
8
|
+
* supported propagation backend.
|
|
8
9
|
*/
|
|
9
10
|
import type { CommandModule } from 'yargs';
|
|
10
11
|
interface BootstrapArgs {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/bootstrap.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAgB3C,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAuFjE,CAAC"}
|
|
@@ -4,14 +4,17 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Spec section 18.3.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Reads stdin for session discovery, resolves adapter-native session IDs,
|
|
8
|
+
* creates/loads session state, persists baseline env, and applies any
|
|
9
|
+
* supported propagation backend.
|
|
9
10
|
*/
|
|
10
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
12
|
exports.bootstrapCommand = void 0;
|
|
12
13
|
const hooks_mux_core_1 = require("@a5c-ai/hooks-mux-core");
|
|
13
14
|
const adapter_loader_1 = require("../adapter-loader");
|
|
15
|
+
const bootstrap_runtime_1 = require("../bootstrap-runtime");
|
|
14
16
|
const hooks_logger_1 = require("../hooks-logger");
|
|
17
|
+
const stdin_1 = require("../stdin");
|
|
15
18
|
exports.bootstrapCommand = {
|
|
16
19
|
command: 'bootstrap',
|
|
17
20
|
describe: 'No-op context bootstrap — initialize session without running handlers',
|
|
@@ -34,50 +37,52 @@ exports.bootstrapCommand = {
|
|
|
34
37
|
const logger = (0, hooks_logger_1.createHooksLogger)('bootstrap');
|
|
35
38
|
const loaded = (0, adapter_loader_1.loadAdapter)(args.adapter);
|
|
36
39
|
const env = process.env;
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const
|
|
40
|
+
const rawStdin = await (0, stdin_1.readStdin)();
|
|
41
|
+
const stdinPayload = (0, bootstrap_runtime_1.tryParseJson)(rawStdin);
|
|
42
|
+
const stdinData = (typeof stdinPayload === 'object' && stdinPayload !== null && !Array.isArray(stdinPayload))
|
|
43
|
+
? stdinPayload
|
|
44
|
+
: undefined;
|
|
45
|
+
const rawEventName = loaded.capabilities.name === 'claude'
|
|
46
|
+
? 'SessionStart'
|
|
47
|
+
: 'bootstrap';
|
|
48
|
+
const event = loaded.normalizer
|
|
49
|
+
? loaded.normalizer(rawEventName, rawStdin, env)
|
|
50
|
+
: (0, hooks_mux_core_1.normalizeEvent)({
|
|
51
|
+
adapter: args.adapter,
|
|
52
|
+
rawEventName,
|
|
53
|
+
stdinPayload,
|
|
54
|
+
env,
|
|
55
|
+
adapterMappings: loaded.phaseMappings,
|
|
56
|
+
});
|
|
57
|
+
const sessionId = (0, bootstrap_runtime_1.resolveSessionId)(loaded.sessionResolver, args['session-id'], event.execution.sessionId, stdinData, env) ?? `bootstrap-${Date.now()}`;
|
|
58
|
+
const prepared = (0, bootstrap_runtime_1.prepareBootstrapSession)({
|
|
59
|
+
existingSession: await (0, hooks_mux_core_1.loadSession)(sessionId),
|
|
43
60
|
adapter: args.adapter,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
adapterMappings: loaded.phaseMappings,
|
|
61
|
+
event,
|
|
62
|
+
sessionId,
|
|
47
63
|
});
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
session = {
|
|
52
|
-
version: 'a5c.hooks.session.v1',
|
|
53
|
-
sessionId,
|
|
54
|
-
adapter: args.adapter,
|
|
55
|
-
createdAt: new Date().toISOString(),
|
|
56
|
-
updatedAt: new Date().toISOString(),
|
|
57
|
-
cwd: event.execution.cwd ?? undefined,
|
|
58
|
-
persistedEnv: { ...event.env.persisted },
|
|
59
|
-
contextVars: {},
|
|
60
|
-
contextFragments: [],
|
|
61
|
-
metadata: {},
|
|
62
|
-
};
|
|
64
|
+
const session = prepared.session;
|
|
65
|
+
if (session) {
|
|
66
|
+
await (0, hooks_mux_core_1.saveSession)(session);
|
|
63
67
|
}
|
|
64
|
-
await (0,
|
|
68
|
+
const propagated = await (0, bootstrap_runtime_1.propagateBootstrapEnv)(loaded.capabilities.envPersistenceMode, prepared.persistEnv, env);
|
|
65
69
|
await logger.info('bootstrap completed', {
|
|
66
70
|
adapter: args.adapter,
|
|
67
71
|
sessionId,
|
|
68
|
-
createdAt: session
|
|
72
|
+
createdAt: session?.createdAt ?? null,
|
|
73
|
+
propagated,
|
|
69
74
|
});
|
|
70
75
|
const output = {
|
|
71
76
|
status: 'bootstrapped',
|
|
72
77
|
sessionId,
|
|
73
78
|
adapter: args.adapter,
|
|
74
|
-
createdAt: session
|
|
79
|
+
createdAt: session?.createdAt ?? null,
|
|
75
80
|
};
|
|
76
81
|
if (args.json) {
|
|
77
82
|
process.stdout.write(JSON.stringify(output, null, 2) + '\n');
|
|
78
83
|
}
|
|
79
84
|
else {
|
|
80
|
-
|
|
85
|
+
process.stderr.write(`Session bootstrapped: ${sessionId} (adapter: ${args.adapter})\n`);
|
|
81
86
|
}
|
|
82
87
|
},
|
|
83
88
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/cli/commands/bootstrap.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/cli/commands/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,19 +5,20 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Pipeline:
|
|
7
7
|
* 1. Read stdin when adapter expects it
|
|
8
|
-
* 2. Normalize event via core normalizeEvent
|
|
8
|
+
* 2. Normalize event via adapter normalizer when available, else core normalizeEvent
|
|
9
9
|
* 3. Resolve/load session context via core session store
|
|
10
10
|
* 4. Run handler or fan-out plan via core runPlan
|
|
11
11
|
* 5. Merge results via core mergeResults
|
|
12
12
|
* 6. Persist session store
|
|
13
13
|
* 7. Apply propagation backend
|
|
14
|
-
* 8. Emit adapter-native output
|
|
14
|
+
* 8. Emit adapter-native output via adapter renderer when available
|
|
15
15
|
*/
|
|
16
16
|
import type { CommandModule } from 'yargs';
|
|
17
17
|
interface InvokeArgs {
|
|
18
18
|
adapter: string;
|
|
19
19
|
handler?: string[];
|
|
20
20
|
'bootstrap-only'?: boolean;
|
|
21
|
+
'native-event'?: string;
|
|
21
22
|
'session-id'?: string;
|
|
22
23
|
json?: boolean;
|
|
23
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/invoke.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/invoke.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAyB3C,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAmJD,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE,UAAU,CAiM3D,CAAC"}
|
|
@@ -6,46 +6,98 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Pipeline:
|
|
8
8
|
* 1. Read stdin when adapter expects it
|
|
9
|
-
* 2. Normalize event via core normalizeEvent
|
|
9
|
+
* 2. Normalize event via adapter normalizer when available, else core normalizeEvent
|
|
10
10
|
* 3. Resolve/load session context via core session store
|
|
11
11
|
* 4. Run handler or fan-out plan via core runPlan
|
|
12
12
|
* 5. Merge results via core mergeResults
|
|
13
13
|
* 6. Persist session store
|
|
14
14
|
* 7. Apply propagation backend
|
|
15
|
-
* 8. Emit adapter-native output
|
|
15
|
+
* 8. Emit adapter-native output via adapter renderer when available
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.invokeCommand = void 0;
|
|
19
19
|
const hooks_mux_core_1 = require("@a5c-ai/hooks-mux-core");
|
|
20
20
|
const adapter_loader_1 = require("../adapter-loader");
|
|
21
|
+
const bootstrap_runtime_1 = require("../bootstrap-runtime");
|
|
21
22
|
const hooks_logger_1 = require("../hooks-logger");
|
|
22
23
|
const stdin_1 = require("../stdin");
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
*/
|
|
26
|
-
function tryParseJson(raw) {
|
|
27
|
-
const trimmed = raw.trim();
|
|
28
|
-
if (!trimmed)
|
|
24
|
+
function inferClaudeNativeEventName(stdinData) {
|
|
25
|
+
if (!stdinData) {
|
|
29
26
|
return undefined;
|
|
30
|
-
try {
|
|
31
|
-
return JSON.parse(trimmed);
|
|
32
27
|
}
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
if (typeof stdinData['tool_name'] === 'string'
|
|
29
|
+
|| typeof stdinData['tool_call_id'] === 'string'
|
|
30
|
+
|| stdinData['tool_input'] !== undefined) {
|
|
31
|
+
return stdinData['tool_response'] !== undefined ? 'PostToolUse' : 'PreToolUse';
|
|
32
|
+
}
|
|
33
|
+
if (stdinData['stop_hook_active'] !== undefined
|
|
34
|
+
|| typeof stdinData['last_assistant_message'] === 'string'
|
|
35
|
+
|| typeof stdinData['reason'] === 'string') {
|
|
36
|
+
return 'Stop';
|
|
37
|
+
}
|
|
38
|
+
if (typeof stdinData['source'] === 'string'
|
|
39
|
+
|| stdinData['initial_prompt'] !== undefined) {
|
|
40
|
+
return 'SessionStart';
|
|
41
|
+
}
|
|
42
|
+
if (stdinData['prompt'] !== undefined) {
|
|
43
|
+
return 'UserPromptSubmit';
|
|
35
44
|
}
|
|
45
|
+
if (stdinData['agent_type'] !== undefined) {
|
|
46
|
+
return 'SubagentStop';
|
|
47
|
+
}
|
|
48
|
+
if (stdinData['title'] !== undefined || stdinData['message'] !== undefined) {
|
|
49
|
+
return 'Notification';
|
|
50
|
+
}
|
|
51
|
+
return undefined;
|
|
36
52
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if (
|
|
42
|
-
return
|
|
43
|
-
if (env['AGENT_SESSION_ID'])
|
|
44
|
-
return env['AGENT_SESSION_ID'];
|
|
45
|
-
if (stdinData && typeof stdinData['session_id'] === 'string') {
|
|
46
|
-
return stdinData['session_id'];
|
|
53
|
+
function resolveRawEventName(explicitNativeEvent, adapterName, stdinData, env) {
|
|
54
|
+
if (explicitNativeEvent) {
|
|
55
|
+
return { rawEventName: explicitNativeEvent, source: 'cli' };
|
|
56
|
+
}
|
|
57
|
+
if (env['HOOKS_PROXY_EVENT_NAME']) {
|
|
58
|
+
return { rawEventName: env['HOOKS_PROXY_EVENT_NAME'], source: 'env' };
|
|
47
59
|
}
|
|
48
|
-
|
|
60
|
+
if (typeof stdinData?.['event_name'] === 'string') {
|
|
61
|
+
return { rawEventName: stdinData['event_name'], source: 'stdin' };
|
|
62
|
+
}
|
|
63
|
+
if (adapterName === 'claude') {
|
|
64
|
+
const inferred = inferClaudeNativeEventName(stdinData);
|
|
65
|
+
if (inferred) {
|
|
66
|
+
return { rawEventName: inferred, source: 'claude-heuristic' };
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return { rawEventName: 'unknown', source: 'default' };
|
|
70
|
+
}
|
|
71
|
+
function renderOutput(args, loaded, merged, rawEventName, stdinPayload, event) {
|
|
72
|
+
if (!loaded.renderer) {
|
|
73
|
+
return (0, hooks_mux_core_1.adaptOutput)({
|
|
74
|
+
adapter: args.adapter,
|
|
75
|
+
mergedResult: merged,
|
|
76
|
+
nativeInput: stdinPayload,
|
|
77
|
+
capabilities: loaded.capabilities,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
const rendered = loaded.renderer(merged, rawEventName, event);
|
|
81
|
+
if (rendered && typeof rendered === 'object' && !Array.isArray(rendered) && 'output' in rendered) {
|
|
82
|
+
const adapterRendered = rendered;
|
|
83
|
+
return {
|
|
84
|
+
output: (adapterRendered.output
|
|
85
|
+
&& typeof adapterRendered.output === 'object'
|
|
86
|
+
&& !Array.isArray(adapterRendered.output))
|
|
87
|
+
? adapterRendered.output
|
|
88
|
+
: {},
|
|
89
|
+
degradedFields: [
|
|
90
|
+
...(Array.isArray(adapterRendered.degradedFields) ? adapterRendered.degradedFields : []),
|
|
91
|
+
...(Array.isArray(adapterRendered.droppedFields) ? adapterRendered.droppedFields : []),
|
|
92
|
+
].filter((value) => typeof value === 'string'),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
output: (rendered && typeof rendered === 'object' && !Array.isArray(rendered))
|
|
97
|
+
? rendered
|
|
98
|
+
: {},
|
|
99
|
+
degradedFields: [],
|
|
100
|
+
};
|
|
49
101
|
}
|
|
50
102
|
/**
|
|
51
103
|
* Parse --handler values into HandlerRef objects.
|
|
@@ -78,6 +130,10 @@ exports.invokeCommand = {
|
|
|
78
130
|
type: 'boolean',
|
|
79
131
|
default: false,
|
|
80
132
|
describe: 'Only bootstrap session context, skip handler execution',
|
|
133
|
+
})
|
|
134
|
+
.option('native-event', {
|
|
135
|
+
type: 'string',
|
|
136
|
+
describe: 'Explicit native hook event name (for Claude: SessionStart, PreToolUse, PostToolUse, Stop, etc.)',
|
|
81
137
|
})
|
|
82
138
|
.option('session-id', {
|
|
83
139
|
type: 'string',
|
|
@@ -99,67 +155,68 @@ exports.invokeCommand = {
|
|
|
99
155
|
});
|
|
100
156
|
// 2. Read stdin
|
|
101
157
|
const rawStdin = await (0, stdin_1.readStdin)();
|
|
102
|
-
const stdinPayload = tryParseJson(rawStdin);
|
|
158
|
+
const stdinPayload = (0, bootstrap_runtime_1.tryParseJson)(rawStdin);
|
|
103
159
|
const stdinData = (typeof stdinPayload === 'object' && stdinPayload !== null && !Array.isArray(stdinPayload))
|
|
104
160
|
? stdinPayload
|
|
105
161
|
: undefined;
|
|
106
162
|
// Determine raw event name from env or stdin
|
|
107
163
|
const env = process.env;
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
?? 'unknown';
|
|
164
|
+
const rawEvent = resolveRawEventName(args['native-event'], loaded.capabilities.name, stdinData, env);
|
|
165
|
+
const { rawEventName } = rawEvent;
|
|
111
166
|
await logger.debug('stdin parsed', {
|
|
112
167
|
rawEventName,
|
|
168
|
+
rawEventNameSource: rawEvent.source,
|
|
113
169
|
stdinBytes: rawStdin.length,
|
|
114
170
|
stdinJson: Boolean(stdinData),
|
|
115
171
|
});
|
|
116
172
|
// 3. Normalize event
|
|
117
|
-
const event =
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
173
|
+
const event = loaded.normalizer
|
|
174
|
+
? loaded.normalizer(rawEventName, rawStdin, env)
|
|
175
|
+
: (0, hooks_mux_core_1.normalizeEvent)({
|
|
176
|
+
adapter: args.adapter,
|
|
177
|
+
rawEventName,
|
|
178
|
+
stdinPayload,
|
|
179
|
+
env,
|
|
180
|
+
adapterMappings: loaded.phaseMappings,
|
|
181
|
+
});
|
|
124
182
|
// 4. Resolve session
|
|
125
|
-
const sessionId = resolveSessionId(args['session-id'], stdinData, env);
|
|
183
|
+
const sessionId = (0, bootstrap_runtime_1.resolveSessionId)(loaded.sessionResolver, args['session-id'], event.execution.sessionId, stdinData, env);
|
|
126
184
|
await logger.debug('session resolved', {
|
|
127
185
|
sessionId,
|
|
128
186
|
explicitSessionId: args['session-id'] ?? null,
|
|
129
187
|
});
|
|
130
188
|
let session = null;
|
|
131
189
|
if (sessionId) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
createdAt: new Date().toISOString(),
|
|
140
|
-
updatedAt: new Date().toISOString(),
|
|
141
|
-
cwd: event.execution.cwd ?? undefined,
|
|
142
|
-
transcriptPath: event.execution.transcriptPath ?? undefined,
|
|
143
|
-
persistedEnv: { ...event.env.persisted },
|
|
144
|
-
contextVars: {},
|
|
145
|
-
contextFragments: [],
|
|
146
|
-
metadata: {},
|
|
147
|
-
};
|
|
148
|
-
}
|
|
190
|
+
const prepared = (0, bootstrap_runtime_1.prepareBootstrapSession)({
|
|
191
|
+
existingSession: await (0, hooks_mux_core_1.loadSession)(sessionId),
|
|
192
|
+
adapter: args.adapter,
|
|
193
|
+
event,
|
|
194
|
+
sessionId,
|
|
195
|
+
});
|
|
196
|
+
session = prepared.session;
|
|
149
197
|
// Inject session context into event execution
|
|
150
198
|
event.execution.sessionId = sessionId;
|
|
151
|
-
if (session
|
|
199
|
+
if (session?.persistedEnv) {
|
|
152
200
|
Object.assign(event.execution.persistedEnv, session.persistedEnv);
|
|
153
201
|
}
|
|
154
202
|
}
|
|
155
203
|
// 5. Bootstrap-only mode: persist session and exit
|
|
156
204
|
if (args['bootstrap-only']) {
|
|
205
|
+
const prepared = (0, bootstrap_runtime_1.prepareBootstrapSession)({
|
|
206
|
+
existingSession: session,
|
|
207
|
+
adapter: args.adapter,
|
|
208
|
+
event,
|
|
209
|
+
sessionId,
|
|
210
|
+
});
|
|
211
|
+
session = prepared.session;
|
|
157
212
|
if (session) {
|
|
158
213
|
await (0, hooks_mux_core_1.saveSession)(session);
|
|
159
214
|
}
|
|
215
|
+
const propagated = await (0, bootstrap_runtime_1.propagateBootstrapEnv)(loaded.capabilities.envPersistenceMode, prepared.persistEnv, env);
|
|
160
216
|
await logger.info('bootstrap-only invoke completed', {
|
|
161
217
|
adapter: args.adapter,
|
|
162
218
|
sessionId,
|
|
219
|
+
propagated,
|
|
163
220
|
});
|
|
164
221
|
if (args.json) {
|
|
165
222
|
process.stdout.write(JSON.stringify({ status: 'bootstrapped', sessionId }, null, 2) + '\n');
|
|
@@ -206,16 +263,11 @@ exports.invokeCommand = {
|
|
|
206
263
|
if (Object.keys(merged.persistEnv).length > 0) {
|
|
207
264
|
const backend = loaded.capabilities.envPersistenceMode;
|
|
208
265
|
await (0, hooks_mux_core_1.propagateEnv)(backend, merged.persistEnv, {
|
|
209
|
-
nativeEnvFilePath:
|
|
266
|
+
nativeEnvFilePath: (0, bootstrap_runtime_1.resolveNativeEnvFilePath)(env),
|
|
210
267
|
});
|
|
211
268
|
}
|
|
212
269
|
// 10. Emit adapter-native output
|
|
213
|
-
const adapted = (
|
|
214
|
-
adapter: args.adapter,
|
|
215
|
-
mergedResult: merged,
|
|
216
|
-
nativeInput: stdinPayload,
|
|
217
|
-
capabilities: loaded.capabilities,
|
|
218
|
-
});
|
|
270
|
+
const adapted = renderOutput(args, loaded, merged, rawEventName, stdinPayload, event);
|
|
219
271
|
await logger.info('invoke completed', {
|
|
220
272
|
adapter: args.adapter,
|
|
221
273
|
phase: event.phase,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../../src/cli/commands/invoke.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAGH,
|
|
1
|
+
{"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../../src/cli/commands/invoke.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks-logger.d.ts","sourceRoot":"","sources":["../../src/cli/hooks-logger.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"hooks-logger.d.ts","sourceRoot":"","sources":["../../src/cli/hooks-logger.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AA+ChE,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAGvD;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM;qBAE5B,MAAM,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBAE1C,MAAM,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBAEzC,MAAM,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;qBAExC,MAAM,YAAY,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EAG7D"}
|
package/dist/cli/hooks-logger.js
CHANGED
|
@@ -49,6 +49,17 @@ const LOG_LEVELS = {
|
|
|
49
49
|
};
|
|
50
50
|
const LOG_LEVEL_ENV = 'A5C_LOGGING_HOOKS_LEVEL';
|
|
51
51
|
const LOG_FILE_NAME = 'hooks-mux.log';
|
|
52
|
+
function resolveHomeDir() {
|
|
53
|
+
const envHome = process.env.HOME?.trim();
|
|
54
|
+
if (envHome) {
|
|
55
|
+
return envHome;
|
|
56
|
+
}
|
|
57
|
+
const userProfile = process.env.USERPROFILE?.trim();
|
|
58
|
+
if (userProfile) {
|
|
59
|
+
return userProfile;
|
|
60
|
+
}
|
|
61
|
+
return os.homedir();
|
|
62
|
+
}
|
|
52
63
|
function parseLogLevel(value) {
|
|
53
64
|
switch ((value ?? '').trim().toLowerCase()) {
|
|
54
65
|
case 'debug':
|
|
@@ -62,7 +73,7 @@ function parseLogLevel(value) {
|
|
|
62
73
|
}
|
|
63
74
|
}
|
|
64
75
|
function getHooksLogDir() {
|
|
65
|
-
return path.join(
|
|
76
|
+
return path.join(resolveHomeDir(), '.a5c', 'logs', 'hooks');
|
|
66
77
|
}
|
|
67
78
|
function getHooksLogPath() {
|
|
68
79
|
return path.join(getHooksLogDir(), LOG_FILE_NAME);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks-logger.js","sourceRoot":"","sources":["../../src/cli/hooks-logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"hooks-logger.js","sourceRoot":"","sources":["../../src/cli/hooks-logger.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@a5c-ai/hooks-mux-cli",
|
|
3
|
-
"version": "5.0.1-staging.
|
|
3
|
+
"version": "5.0.1-staging.ca65e187",
|
|
4
4
|
"description": "CLI entrypoint 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",
|
|
@@ -14,11 +14,16 @@
|
|
|
14
14
|
},
|
|
15
15
|
"repository": {
|
|
16
16
|
"type": "git",
|
|
17
|
-
"url": "https://github.com/a5c-ai/babysitter.git",
|
|
17
|
+
"url": "git+https://github.com/a5c-ai/babysitter.git",
|
|
18
18
|
"directory": "packages/hooks-mux/cli"
|
|
19
19
|
},
|
|
20
|
+
"homepage": "https://github.com/a5c-ai/babysitter/tree/main/packages/hooks-mux/cli#readme",
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/a5c-ai/babysitter/issues"
|
|
23
|
+
},
|
|
20
24
|
"files": [
|
|
21
|
-
"dist"
|
|
25
|
+
"dist",
|
|
26
|
+
"README.md"
|
|
22
27
|
],
|
|
23
28
|
"scripts": {
|
|
24
29
|
"build": "tsc -p tsconfig.json",
|
|
@@ -28,7 +33,7 @@
|
|
|
28
33
|
"test:watch": "vitest"
|
|
29
34
|
},
|
|
30
35
|
"dependencies": {
|
|
31
|
-
"@a5c-ai/hooks-mux-core": "5.0.1-staging.
|
|
36
|
+
"@a5c-ai/hooks-mux-core": "5.0.1-staging.ca65e187",
|
|
32
37
|
"yargs": "^17.0.0"
|
|
33
38
|
},
|
|
34
39
|
"devDependencies": {
|