@ken-jo/agent-connector 0.4.93 → 0.4.95
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 +162 -51
- package/dist/{action-DOWHWEDZ.js → action-Q7GGO4PA.js} +8 -8
- package/dist/{chunk-2RIFORQS.js → chunk-3NH2ARIS.js} +2 -2
- package/dist/{chunk-KJLFGQQM.js → chunk-5IOTP7LQ.js} +3 -3
- package/dist/{chunk-KJLFGQQM.js.map → chunk-5IOTP7LQ.js.map} +1 -1
- package/dist/{chunk-P23RVIUY.js → chunk-7F5KHLEP.js} +4 -4
- package/dist/{chunk-B5W3RHTI.js → chunk-APZDTY76.js} +2 -2
- package/dist/{chunk-SILKSP2Y.js → chunk-D4ELPBB5.js} +2 -2
- package/dist/{chunk-OEADFFKO.js → chunk-H33M77DD.js} +19 -19
- package/dist/chunk-H33M77DD.js.map +1 -0
- package/dist/{chunk-I5TO42QC.js → chunk-I5UXHIDT.js} +3 -3
- package/dist/{chunk-ZMAJ2XFD.js → chunk-ISEJWBFF.js} +2 -2
- package/dist/{chunk-TTKSYJRY.js → chunk-PAPMUAR5.js} +5 -5
- package/dist/{chunk-KSPMSRVU.js → chunk-PW42ZXCB.js} +2 -2
- package/dist/{chunk-EHP7WISI.js → chunk-YPAXJ7EW.js} +11 -6
- package/dist/chunk-YPAXJ7EW.js.map +1 -0
- package/dist/{claude-code-DUZNOAS2.js → claude-code-GRWO6XBZ.js} +4 -4
- package/dist/cli/sdk.d.ts +53 -12
- package/dist/cli/sdk.js +82 -14
- package/dist/cli/sdk.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/{define-connector-LQFJL_at.d.ts → define-connector-DTWb46UB.d.ts} +1 -1
- package/dist/{detect-DYQNUMXL.js → detect-6V4LC3MA.js} +4 -4
- package/dist/{doctor-H6XXAR63.js → doctor-2YDUVSAU.js} +11 -11
- package/dist/{hook-GIQTUDMN.js → hook-OEVRDMXD.js} +8 -8
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/{install-T27662FW.js → install-5NMCUDG5.js} +8 -8
- package/dist/{introspect-D4fEGuhN.d.ts → introspect-dNekqPDY.d.ts} +1 -1
- package/dist/{leaderboard-CIMQBOUS.js → leaderboard-XEKS7B3H.js} +2 -2
- package/dist/{package-LIPZKHAQ.js → package-G25GVTH2.js} +6 -6
- package/dist/runtime/index.d.ts +1 -1
- package/dist/runtime/index.js +6 -6
- package/dist/sdk/index.d.ts +4 -4
- package/dist/sdk/index.js +3 -3
- package/dist/sdk/test.d.ts +2 -2
- package/dist/sdk/test.js +6 -6
- package/dist/{serve-ABTO2NA2.js → serve-XTMIUHKK.js} +8 -8
- package/dist/{status-J7SOUH7O.js → status-VJAGO4Z7.js} +6 -6
- package/dist/{statusline-QF4G724E.js → statusline-EY2E2UGF.js} +7 -7
- package/dist/{telemetry-EICCFEIF.js → telemetry-OLZQBADT.js} +5 -5
- package/dist/{types-BhcUEIJJ.d.ts → types-JyhpJHJa.d.ts} +4 -2
- package/dist/{uninstall-NJNNZZZY.js → uninstall-AZEUPAND.js} +8 -8
- package/dist/{upgrade-TIBUOQNM.js → upgrade-CAUUHSSC.js} +8 -8
- package/dist/{usage-VEVBWPLS.js → usage-3KHZ4RYZ.js} +2 -2
- package/dist/{usage-event-GRQE7XWT.js → usage-event-TZWOZPRJ.js} +7 -7
- package/package.json +2 -2
- package/dist/chunk-EHP7WISI.js.map +0 -1
- package/dist/chunk-OEADFFKO.js.map +0 -1
- /package/dist/{action-DOWHWEDZ.js.map → action-Q7GGO4PA.js.map} +0 -0
- /package/dist/{chunk-2RIFORQS.js.map → chunk-3NH2ARIS.js.map} +0 -0
- /package/dist/{chunk-P23RVIUY.js.map → chunk-7F5KHLEP.js.map} +0 -0
- /package/dist/{chunk-B5W3RHTI.js.map → chunk-APZDTY76.js.map} +0 -0
- /package/dist/{chunk-SILKSP2Y.js.map → chunk-D4ELPBB5.js.map} +0 -0
- /package/dist/{chunk-I5TO42QC.js.map → chunk-I5UXHIDT.js.map} +0 -0
- /package/dist/{chunk-ZMAJ2XFD.js.map → chunk-ISEJWBFF.js.map} +0 -0
- /package/dist/{chunk-TTKSYJRY.js.map → chunk-PAPMUAR5.js.map} +0 -0
- /package/dist/{chunk-KSPMSRVU.js.map → chunk-PW42ZXCB.js.map} +0 -0
- /package/dist/{claude-code-DUZNOAS2.js.map → claude-code-GRWO6XBZ.js.map} +0 -0
- /package/dist/{detect-DYQNUMXL.js.map → detect-6V4LC3MA.js.map} +0 -0
- /package/dist/{doctor-H6XXAR63.js.map → doctor-2YDUVSAU.js.map} +0 -0
- /package/dist/{hook-GIQTUDMN.js.map → hook-OEVRDMXD.js.map} +0 -0
- /package/dist/{install-T27662FW.js.map → install-5NMCUDG5.js.map} +0 -0
- /package/dist/{leaderboard-CIMQBOUS.js.map → leaderboard-XEKS7B3H.js.map} +0 -0
- /package/dist/{package-LIPZKHAQ.js.map → package-G25GVTH2.js.map} +0 -0
- /package/dist/{serve-ABTO2NA2.js.map → serve-XTMIUHKK.js.map} +0 -0
- /package/dist/{status-J7SOUH7O.js.map → status-VJAGO4Z7.js.map} +0 -0
- /package/dist/{statusline-QF4G724E.js.map → statusline-EY2E2UGF.js.map} +0 -0
- /package/dist/{telemetry-EICCFEIF.js.map → telemetry-OLZQBADT.js.map} +0 -0
- /package/dist/{uninstall-NJNNZZZY.js.map → uninstall-AZEUPAND.js.map} +0 -0
- /package/dist/{upgrade-TIBUOQNM.js.map → upgrade-CAUUHSSC.js.map} +0 -0
- /package/dist/{usage-VEVBWPLS.js.map → usage-3KHZ4RYZ.js.map} +0 -0
- /package/dist/{usage-event-GRQE7XWT.js.map → usage-event-TZWOZPRJ.js.map} +0 -0
package/dist/cli/sdk.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
main
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-H33M77DD.js";
|
|
5
5
|
import {
|
|
6
6
|
loadConnectorFromPath
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-PW42ZXCB.js";
|
|
8
|
+
import "../chunk-5IOTP7LQ.js";
|
|
9
|
+
import "../chunk-D4ELPBB5.js";
|
|
10
10
|
import "../chunk-NBYKLUF6.js";
|
|
11
11
|
import "../chunk-UMQ6NBQR.js";
|
|
12
12
|
import "../chunk-GZGLCCEE.js";
|
|
13
13
|
|
|
14
14
|
// src/cli/sdk.ts
|
|
15
|
+
import { readFileSync, realpathSync } from "fs";
|
|
16
|
+
import { dirname, resolve } from "path";
|
|
17
|
+
import { fileURLToPath, URL } from "url";
|
|
15
18
|
var CONFIG_PATH_COMMANDS = /* @__PURE__ */ new Set([
|
|
16
19
|
"install",
|
|
17
20
|
"uninstall",
|
|
@@ -44,29 +47,91 @@ function injectAfterCommand(argv, flag, value) {
|
|
|
44
47
|
function appendFlag(argv, flag, value) {
|
|
45
48
|
return [...argv, flag, value];
|
|
46
49
|
}
|
|
47
|
-
function
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
function cleanString(value) {
|
|
51
|
+
return typeof value === "string" && value.trim() ? value.trim() : void 0;
|
|
52
|
+
}
|
|
53
|
+
function pathFrom(value, label) {
|
|
54
|
+
if (value instanceof URL) return fileURLToPath(value);
|
|
55
|
+
if (typeof value === "string" && value.trim() !== "") return value;
|
|
56
|
+
throw new TypeError(`createConnectorCli: \`${label}\` must be a non-empty path or file URL`);
|
|
57
|
+
}
|
|
58
|
+
function normalizeBinTarget(target) {
|
|
59
|
+
return target.replace(/\\/g, "/").replace(/^\.\//, "");
|
|
60
|
+
}
|
|
61
|
+
function realPathIfExists(path) {
|
|
62
|
+
try {
|
|
63
|
+
return realpathSync(path);
|
|
64
|
+
} catch {
|
|
65
|
+
return void 0;
|
|
50
66
|
}
|
|
51
|
-
|
|
52
|
-
|
|
67
|
+
}
|
|
68
|
+
function packageNameToBinName(packageName) {
|
|
69
|
+
if (!packageName) return void 0;
|
|
70
|
+
if (packageName.startsWith("@")) return cleanString(packageName.split("/")[1]);
|
|
71
|
+
return cleanString(packageName);
|
|
72
|
+
}
|
|
73
|
+
function readPackageCliMetadata(packageJsonPath) {
|
|
74
|
+
const parsed = JSON.parse(readFileSync(packageJsonPath, "utf8"));
|
|
75
|
+
const packageName = cleanString(parsed.name);
|
|
76
|
+
const version = cleanString(parsed.version);
|
|
77
|
+
const packageBinName = packageNameToBinName(packageName);
|
|
78
|
+
let name;
|
|
79
|
+
if (typeof parsed.bin === "string") {
|
|
80
|
+
name = packageBinName;
|
|
81
|
+
} else if (parsed.bin && typeof parsed.bin === "object" && !Array.isArray(parsed.bin)) {
|
|
82
|
+
const entries = Object.entries(parsed.bin).filter(
|
|
83
|
+
(entry) => cleanString(entry[0]) != null && typeof entry[1] === "string"
|
|
84
|
+
).map(([binName, target]) => [binName, normalizeBinTarget(target)]);
|
|
85
|
+
const packageDir = dirname(packageJsonPath);
|
|
86
|
+
const invokedPath = process.argv[1] ? resolve(process.argv[1]) : void 0;
|
|
87
|
+
const invoked = invokedPath ? realPathIfExists(invokedPath) ?? invokedPath : void 0;
|
|
88
|
+
name = (invoked ? entries.find(([, target]) => {
|
|
89
|
+
const targetPath = resolve(packageDir, target);
|
|
90
|
+
return (realPathIfExists(targetPath) ?? targetPath) === invoked;
|
|
91
|
+
})?.[0] : void 0) ?? (packageBinName ? entries.find(([binName]) => binName === packageBinName)?.[0] : void 0) ?? (entries.length === 1 ? entries[0]?.[0] : void 0);
|
|
53
92
|
}
|
|
93
|
+
return { ...name ? { name } : {}, ...version ? { version } : {} };
|
|
94
|
+
}
|
|
95
|
+
function createConnectorCli(opts) {
|
|
96
|
+
const packageJsonPath = opts.packageJson ? pathFrom(opts.packageJson, "packageJson") : void 0;
|
|
97
|
+
const packageMetadata = packageJsonPath ? readPackageCliMetadata(packageJsonPath) : {};
|
|
98
|
+
const name = cleanString(opts.name) ?? packageMetadata.name;
|
|
99
|
+
const version = packageMetadata.version;
|
|
100
|
+
if (!name) {
|
|
101
|
+
throw new TypeError("createConnectorCli: `name` or packageJson-derived bin name is required");
|
|
102
|
+
}
|
|
103
|
+
const programName = name;
|
|
104
|
+
const connectorPath = pathFrom(opts.connector, "connector");
|
|
54
105
|
let cachedId = opts.connectorId;
|
|
55
106
|
async function resolveConnectorId() {
|
|
56
107
|
if (cachedId !== void 0 && cachedId !== "") return cachedId;
|
|
57
|
-
const { connector } = await loadConnectorFromPath(
|
|
108
|
+
const { connector } = await loadConnectorFromPath(connectorPath);
|
|
58
109
|
cachedId = connector.id;
|
|
59
110
|
return cachedId;
|
|
60
111
|
}
|
|
61
112
|
async function run(argv = process.argv.slice(2)) {
|
|
113
|
+
const context = {
|
|
114
|
+
programName,
|
|
115
|
+
programVersion: version ?? "0.0.0",
|
|
116
|
+
connector: connectorPath,
|
|
117
|
+
connectorId: resolveConnectorId
|
|
118
|
+
};
|
|
119
|
+
for (const passthrough of opts.passthrough ?? []) {
|
|
120
|
+
if (passthrough.when(argv, context)) {
|
|
121
|
+
return passthrough.run(argv, context);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
62
124
|
const command = argv[0];
|
|
63
125
|
if (command === void 0 || command.startsWith("-")) {
|
|
64
|
-
return main(
|
|
126
|
+
return main(
|
|
127
|
+
argv,
|
|
128
|
+
version ? { programName, programVersion: version } : { programName }
|
|
129
|
+
);
|
|
65
130
|
}
|
|
66
131
|
let scoped = argv;
|
|
67
132
|
if (!hasConnectorFlag(argv)) {
|
|
68
133
|
if (CONFIG_PATH_COMMANDS.has(command)) {
|
|
69
|
-
scoped = injectAfterCommand(argv, "--connector",
|
|
134
|
+
scoped = injectAfterCommand(argv, "--connector", connectorPath);
|
|
70
135
|
} else if (ID_HEAD_COMMANDS.has(command)) {
|
|
71
136
|
const id = await resolveConnectorId();
|
|
72
137
|
scoped = injectAfterCommand(argv, "--connector", id);
|
|
@@ -75,9 +140,12 @@ function createConnectorCli(opts) {
|
|
|
75
140
|
scoped = appendFlag(argv, "--connector", id);
|
|
76
141
|
}
|
|
77
142
|
}
|
|
78
|
-
return main(
|
|
143
|
+
return main(
|
|
144
|
+
scoped,
|
|
145
|
+
version ? { programName, programVersion: version } : { programName }
|
|
146
|
+
);
|
|
79
147
|
}
|
|
80
|
-
return { run };
|
|
148
|
+
return { name: programName, version: version ?? "0.0.0", run };
|
|
81
149
|
}
|
|
82
150
|
export {
|
|
83
151
|
createConnectorCli
|
package/dist/cli/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cli/sdk.ts"],"sourcesContent":["/**\n * cli/sdk — the EMBEDDED SDK entry point for a developer-branded CLI.\n *\n * A developer adds agent-connector as a dependency, writes their connector\n * config, and ships their OWN bin. `createConnectorCli` returns a runner that\n * exposes EVERY agent-connector subcommand under the developer's brand, fully\n * delegated and AUTO-SCOPED to the developer's connector:\n *\n * #!/usr/bin/env node\n * import { fileURLToPath } from \"node:url\";\n * import { createConnectorCli } from \"@ken-jo/agent-connector/cli\";\n * createConnectorCli({\n * name: \"acme-db\",\n * connector: fileURLToPath(new URL(\"./agent-connector.config.mjs\", import.meta.url)),\n * }).run();\n * // fileURLToPath, NOT URL.pathname — .pathname yields \"/C:/…\" on Windows.\n *\n * Then a consumer runs `acme-db install`, `acme-db leaderboard`, `acme-db\n * telemetry`, `acme-db doctor`, etc. — and each one targets the developer's\n * connector WITHOUT the consumer having to pass --connector.\n *\n * This module is PURE ARGUMENT TRANSFORMATION: it injects the right --connector\n * (path) or --connector <id> filter when the user did not supply one, then hands\n * off to {@link main} with the developer's program name. It never duplicates any\n * command logic — every behavior still lives in the command modules.\n */\n\nimport { loadConnectorFromPath } from \"../core/load-connector.js\";\nimport { main } from \"./app.js\";\n\n/** Options for {@link createConnectorCli}. */\nexport interface CreateConnectorCliOptions {\n /** The developer's bin/brand name (shown in usage/help, e.g. \"acme-db\"). */\n name: string;\n /**\n * Absolute path to the developer's connector config (.mjs / .js / .json) that\n * ships inside their package. Injected as `--connector <path>` for the\n * connector-targeted subcommands when the user did not pass one.\n */\n connector: string;\n /**\n * The connector id used for the telemetry/leaderboard FILTER injection. When\n * omitted it is derived lazily by loading the connector config the first time a\n * telemetry/leaderboard subcommand runs.\n */\n connectorId?: string;\n}\n\n/** The runner returned by {@link createConnectorCli}. */\nexport interface ConnectorCli {\n /**\n * Run a branded invocation. `argv` defaults to `process.argv.slice(2)`.\n * Resolves to the process exit code (0 success, non-zero failure).\n */\n run(argv?: string[]): Promise<number>;\n}\n\n/**\n * Connector-targeted subcommands whose `--connector` is a CONFIG PATH: they load\n * the connector definition from disk. For these we inject the developer's config\n * PATH so their connector is the implicit target.\n *\n * (`uninstall` also accepts `--connector-id`; injecting the path is sufficient —\n * uninstall derives the id from the config when no explicit id is given.)\n */\nconst CONFIG_PATH_COMMANDS: ReadonlySet<string> = new Set([\n \"install\",\n \"uninstall\",\n \"upgrade\",\n // `sync` + `update` are back-compat aliases of `upgrade`; scope them too so a\n // branded `acme-db sync` / `acme-db update` still targets the dev connector.\n \"sync\",\n \"update\",\n \"doctor\",\n \"status\",\n \"package\",\n]);\n\n/**\n * Connector-targeted subcommands whose `--connector` is the registered connector\n * ID, spliced right AFTER the subcommand token: `serve` and `hook` pass it\n * straight to the runtime. (They cannot take a trailing flag — serve has a `--`\n * separator and hook has positionals — so the flag must lead.)\n */\nconst ID_HEAD_COMMANDS: ReadonlySet<string> = new Set([\"serve\", \"hook\"]);\n\n/**\n * View subcommands where `--connector <id>` is a FILTER appended at the END:\n * `leaderboard` (top-level) and `telemetry` (whose own sub — report|export|\n * leaderboard — is the leading positional, so the filter must come after it).\n * Appending keeps that leading positional intact while parseArgs still reads the\n * flag, so the branded tool shows ITS connector's data.\n *\n * Note: `usage` reads host CLI logs which carry no connector attribution, so it\n * is intentionally absent — there is nothing to scope it to.\n */\nconst ID_TAIL_COMMANDS: ReadonlySet<string> = new Set([\"telemetry\", \"leaderboard\"]);\n\n/**\n * Should the tail (telemetry/leaderboard) filter injection be SKIPPED because the\n * invocation is just asking for help / has no actionable sub? Skipping leaves the\n * branded usage text intact instead of turning `acme-db telemetry` into\n * `telemetry --connector <id>` (which the telemetry dispatcher would reject as an\n * unknown sub). True when a help flag appears, or when `telemetry` has no sub.\n */\nfunction wantsHelp(argv: string[]): boolean {\n if (argv.includes(\"--help\") || argv.includes(\"-h\")) return true;\n // `telemetry` with no sub-subcommand → show its help, don't inject a filter.\n if (argv[0] === \"telemetry\" && argv[1] === undefined) return true;\n return false;\n}\n\n/** Did the user already pass a --connector / --connector-id flag (any form)? */\nfunction hasConnectorFlag(argv: string[]): boolean {\n for (const a of argv) {\n if (a === \"--connector\" || a === \"--connector-id\") return true;\n if (a.startsWith(\"--connector=\") || a.startsWith(\"--connector-id=\")) return true;\n }\n return false;\n}\n\n/**\n * Splice `--connector <value>` immediately after the subcommand token (argv[0])\n * so it sits BEFORE any positionals or a `serve` `--` separator. Used for the\n * config-path commands and for serve/hook (whose `--` / positional grammar makes\n * trailing append unsafe). The original argv is never mutated.\n */\nfunction injectAfterCommand(argv: string[], flag: string, value: string): string[] {\n return [argv[0] as string, flag, value, ...argv.slice(1)];\n}\n\n/**\n * Append `--connector <value>` to the END of argv. Used for the view commands\n * (`leaderboard`/`telemetry`) whose leading positional sub must be preserved.\n * The original argv is never mutated.\n */\nfunction appendFlag(argv: string[], flag: string, value: string): string[] {\n return [...argv, flag, value];\n}\n\nexport function createConnectorCli(opts: CreateConnectorCliOptions): ConnectorCli {\n if (typeof opts.name !== \"string\" || opts.name.trim() === \"\") {\n throw new TypeError(\"createConnectorCli: `name` must be a non-empty string\");\n }\n if (typeof opts.connector !== \"string\" || opts.connector.trim() === \"\") {\n throw new TypeError(\"createConnectorCli: `connector` must be a non-empty path\");\n }\n\n // Cache the derived id so the connector module is loaded at most once across\n // repeated `.run()` calls in the same process.\n let cachedId: string | undefined = opts.connectorId;\n\n async function resolveConnectorId(): Promise<string> {\n if (cachedId !== undefined && cachedId !== \"\") return cachedId;\n const { connector } = await loadConnectorFromPath(opts.connector);\n cachedId = connector.id;\n return cachedId;\n }\n\n async function run(argv: string[] = process.argv.slice(2)): Promise<number> {\n const command = argv[0];\n\n // No subcommand, a help/version flag, or an unknown command: nothing to scope\n // — hand off verbatim so usage/version is branded and errors stay accurate.\n if (command === undefined || command.startsWith(\"-\")) {\n return main(argv, { programName: opts.name });\n }\n\n let scoped = argv;\n\n if (!hasConnectorFlag(argv)) {\n if (CONFIG_PATH_COMMANDS.has(command)) {\n // Inject the connector CONFIG PATH as the implicit target.\n scoped = injectAfterCommand(argv, \"--connector\", opts.connector);\n } else if (ID_HEAD_COMMANDS.has(command)) {\n // serve/hook take the connector ID and pass it to the runtime. Splice it\n // right after the subcommand token so a serve `--` separator and hook's\n // positionals are preserved.\n const id = await resolveConnectorId();\n scoped = injectAfterCommand(argv, \"--connector\", id);\n } else if (ID_TAIL_COMMANDS.has(command) && !wantsHelp(argv)) {\n // leaderboard/telemetry use the connector ID as a FILTER. Append it so\n // telemetry's leading positional sub (report|export|leaderboard) stays\n // the first token while parseArgs still reads the flag. We skip injection\n // for a bare/help invocation so the (un-filtered) usage text still shows.\n const id = await resolveConnectorId();\n scoped = appendFlag(argv, \"--connector\", id);\n }\n }\n\n return main(scoped, { programName: opts.name });\n }\n\n return { run };\n}\n"],"mappings":";;;;;;;;;;;;;;AAiEA,IAAM,uBAA4C,oBAAI,IAAI;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAQD,IAAM,mBAAwC,oBAAI,IAAI,CAAC,SAAS,MAAM,CAAC;AAYvE,IAAM,mBAAwC,oBAAI,IAAI,CAAC,aAAa,aAAa,CAAC;AASlF,SAAS,UAAU,MAAyB;AAC1C,MAAI,KAAK,SAAS,QAAQ,KAAK,KAAK,SAAS,IAAI,EAAG,QAAO;AAE3D,MAAI,KAAK,CAAC,MAAM,eAAe,KAAK,CAAC,MAAM,OAAW,QAAO;AAC7D,SAAO;AACT;AAGA,SAAS,iBAAiB,MAAyB;AACjD,aAAW,KAAK,MAAM;AACpB,QAAI,MAAM,iBAAiB,MAAM,iBAAkB,QAAO;AAC1D,QAAI,EAAE,WAAW,cAAc,KAAK,EAAE,WAAW,iBAAiB,EAAG,QAAO;AAAA,EAC9E;AACA,SAAO;AACT;AAQA,SAAS,mBAAmB,MAAgB,MAAc,OAAyB;AACjF,SAAO,CAAC,KAAK,CAAC,GAAa,MAAM,OAAO,GAAG,KAAK,MAAM,CAAC,CAAC;AAC1D;AAOA,SAAS,WAAW,MAAgB,MAAc,OAAyB;AACzE,SAAO,CAAC,GAAG,MAAM,MAAM,KAAK;AAC9B;AAEO,SAAS,mBAAmB,MAA+C;AAChF,MAAI,OAAO,KAAK,SAAS,YAAY,KAAK,KAAK,KAAK,MAAM,IAAI;AAC5D,UAAM,IAAI,UAAU,uDAAuD;AAAA,EAC7E;AACA,MAAI,OAAO,KAAK,cAAc,YAAY,KAAK,UAAU,KAAK,MAAM,IAAI;AACtE,UAAM,IAAI,UAAU,0DAA0D;AAAA,EAChF;AAIA,MAAI,WAA+B,KAAK;AAExC,iBAAe,qBAAsC;AACnD,QAAI,aAAa,UAAa,aAAa,GAAI,QAAO;AACtD,UAAM,EAAE,UAAU,IAAI,MAAM,sBAAsB,KAAK,SAAS;AAChE,eAAW,UAAU;AACrB,WAAO;AAAA,EACT;AAEA,iBAAe,IAAI,OAAiB,QAAQ,KAAK,MAAM,CAAC,GAAoB;AAC1E,UAAM,UAAU,KAAK,CAAC;AAItB,QAAI,YAAY,UAAa,QAAQ,WAAW,GAAG,GAAG;AACpD,aAAO,KAAK,MAAM,EAAE,aAAa,KAAK,KAAK,CAAC;AAAA,IAC9C;AAEA,QAAI,SAAS;AAEb,QAAI,CAAC,iBAAiB,IAAI,GAAG;AAC3B,UAAI,qBAAqB,IAAI,OAAO,GAAG;AAErC,iBAAS,mBAAmB,MAAM,eAAe,KAAK,SAAS;AAAA,MACjE,WAAW,iBAAiB,IAAI,OAAO,GAAG;AAIxC,cAAM,KAAK,MAAM,mBAAmB;AACpC,iBAAS,mBAAmB,MAAM,eAAe,EAAE;AAAA,MACrD,WAAW,iBAAiB,IAAI,OAAO,KAAK,CAAC,UAAU,IAAI,GAAG;AAK5D,cAAM,KAAK,MAAM,mBAAmB;AACpC,iBAAS,WAAW,MAAM,eAAe,EAAE;AAAA,MAC7C;AAAA,IACF;AAEA,WAAO,KAAK,QAAQ,EAAE,aAAa,KAAK,KAAK,CAAC;AAAA,EAChD;AAEA,SAAO,EAAE,IAAI;AACf;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/cli/sdk.ts"],"sourcesContent":["/**\n * cli/sdk — the EMBEDDED SDK entry point for a developer-branded CLI.\n *\n * A developer adds agent-connector as a dependency, writes their connector\n * config, and ships their OWN bin. `createConnectorCli` returns a runner that\n * exposes EVERY agent-connector subcommand under the developer's brand, fully\n * delegated and AUTO-SCOPED to the developer's connector:\n *\n * #!/usr/bin/env node\n * import { createConnectorCli } from \"@ken-jo/agent-connector/cli\";\n * createConnectorCli({\n * packageJson: new URL(\"./package.json\", import.meta.url),\n * connector: new URL(\"./agent-connector.config.mjs\", import.meta.url),\n * }).run();\n *\n * Then a consumer runs `acme-db install`, `acme-db leaderboard`, `acme-db\n * telemetry`, `acme-db doctor`, etc. — and each one targets the developer's\n * connector WITHOUT the consumer having to pass --connector.\n *\n * This module is PURE ARGUMENT TRANSFORMATION: it injects the right --connector\n * (path) or --connector <id> filter when the user did not supply one, then hands\n * off to {@link main} with the developer's program name/version. It never\n * duplicates any command logic — every behavior still lives in the command\n * modules.\n */\n\nimport { readFileSync, realpathSync } from \"node:fs\";\nimport { dirname, resolve } from \"node:path\";\nimport { fileURLToPath, URL } from \"node:url\";\n\nimport { loadConnectorFromPath } from \"../core/load-connector.js\";\nimport { main } from \"./app.js\";\n\nexport type ConnectorCliPath = string | URL;\n\nexport interface ConnectorCliContext {\n /** Resolved brand/bin name shown in usage, errors, and --version output. */\n programName: string;\n /** Resolved branded package version shown by --version. */\n programVersion: string;\n /** Absolute connector config path injected into connector-targeted commands. */\n connector: string;\n /** Lazily resolves the connector id for telemetry/serve/hook scoping. */\n connectorId(): Promise<string>;\n}\n\nexport interface ConnectorCliPassthrough {\n /**\n * Return true when this invocation should be handled by custom package logic\n * instead of the agent-connector command dispatcher.\n */\n when(argv: readonly string[], context: ConnectorCliContext): boolean;\n /** Handle a matched invocation. Return the process exit code. */\n run(\n argv: readonly string[],\n context: ConnectorCliContext,\n ): number | Promise<number>;\n}\n\n/** Options for {@link createConnectorCli}. */\nexport interface CreateConnectorCliOptions {\n /**\n * The developer's bin/brand name (shown in usage/help, e.g. \"acme-db\").\n * Prefer `packageJson` for packaged connectors so name/version stay in one\n * source of truth; this remains available for custom launchers and tests.\n */\n name?: string;\n /**\n * package.json for the branded connector package. When supplied, the CLI\n * derives the bin name and version from package metadata.\n */\n packageJson?: ConnectorCliPath;\n /**\n * Absolute path or file URL to the developer's connector config (.mjs / .js /\n * .json) that ships inside their package. Injected as `--connector <path>` for\n * connector-targeted subcommands when the user did not pass one.\n */\n connector: ConnectorCliPath;\n /**\n * The connector id used for the telemetry/leaderboard FILTER injection. When\n * omitted it is derived lazily by loading the connector config the first time a\n * telemetry/leaderboard subcommand runs.\n */\n connectorId?: string;\n /**\n * Package-specific command escapes that should run before agent-connector's\n * dispatcher. Use sparingly for legacy/runtime commands that intentionally\n * live outside the universal connector surface.\n */\n passthrough?: readonly ConnectorCliPassthrough[];\n}\n\n/** The runner returned by {@link createConnectorCli}. */\nexport interface ConnectorCli {\n /** Resolved brand/bin name. */\n name: string;\n /** Resolved branded package version. */\n version: string;\n /**\n * Run a branded invocation. `argv` defaults to `process.argv.slice(2)`.\n * Resolves to the process exit code (0 success, non-zero failure).\n */\n run(argv?: string[]): Promise<number>;\n}\n\n/**\n * Connector-targeted subcommands whose `--connector` is a CONFIG PATH: they load\n * the connector definition from disk. For these we inject the developer's config\n * PATH so their connector is the implicit target.\n *\n * (`uninstall` also accepts `--connector-id`; injecting the path is sufficient —\n * uninstall derives the id from the config when no explicit id is given.)\n */\nconst CONFIG_PATH_COMMANDS: ReadonlySet<string> = new Set([\n \"install\",\n \"uninstall\",\n \"upgrade\",\n // `sync` + `update` are back-compat aliases of `upgrade`; scope them too so a\n // branded `acme-db sync` / `acme-db update` still targets the dev connector.\n \"sync\",\n \"update\",\n \"doctor\",\n \"status\",\n \"package\",\n]);\n\n/**\n * Connector-targeted subcommands whose `--connector` is the registered connector\n * ID, spliced right AFTER the subcommand token: `serve` and `hook` pass it\n * straight to the runtime. (They cannot take a trailing flag — serve has a `--`\n * separator and hook has positionals — so the flag must lead.)\n */\nconst ID_HEAD_COMMANDS: ReadonlySet<string> = new Set([\"serve\", \"hook\"]);\n\n/**\n * View subcommands where `--connector <id>` is a FILTER appended at the END:\n * `leaderboard` (top-level) and `telemetry` (whose own sub — report|export|\n * leaderboard — is the leading positional, so the filter must come after it).\n * Appending keeps that leading positional intact while parseArgs still reads the\n * flag, so the branded tool shows ITS connector's data.\n *\n * Note: `usage` reads host CLI logs which carry no connector attribution, so it\n * is intentionally absent — there is nothing to scope it to.\n */\nconst ID_TAIL_COMMANDS: ReadonlySet<string> = new Set([\"telemetry\", \"leaderboard\"]);\n\n/**\n * Should the tail (telemetry/leaderboard) filter injection be SKIPPED because the\n * invocation is just asking for help / has no actionable sub? Skipping leaves the\n * branded usage text intact instead of turning `acme-db telemetry` into\n * `telemetry --connector <id>` (which the telemetry dispatcher would reject as an\n * unknown sub). True when a help flag appears, or when `telemetry` has no sub.\n */\nfunction wantsHelp(argv: string[]): boolean {\n if (argv.includes(\"--help\") || argv.includes(\"-h\")) return true;\n // `telemetry` with no sub-subcommand → show its help, don't inject a filter.\n if (argv[0] === \"telemetry\" && argv[1] === undefined) return true;\n return false;\n}\n\n/** Did the user already pass a --connector / --connector-id flag (any form)? */\nfunction hasConnectorFlag(argv: string[]): boolean {\n for (const a of argv) {\n if (a === \"--connector\" || a === \"--connector-id\") return true;\n if (a.startsWith(\"--connector=\") || a.startsWith(\"--connector-id=\")) return true;\n }\n return false;\n}\n\n/**\n * Splice `--connector <value>` immediately after the subcommand token (argv[0])\n * so it sits BEFORE any positionals or a `serve` `--` separator. Used for the\n * config-path commands and for serve/hook (whose `--` / positional grammar makes\n * trailing append unsafe). The original argv is never mutated.\n */\nfunction injectAfterCommand(argv: string[], flag: string, value: string): string[] {\n return [argv[0] as string, flag, value, ...argv.slice(1)];\n}\n\n/**\n * Append `--connector <value>` to the END of argv. Used for the view commands\n * (`leaderboard`/`telemetry`) whose leading positional sub must be preserved.\n * The original argv is never mutated.\n */\nfunction appendFlag(argv: string[], flag: string, value: string): string[] {\n return [...argv, flag, value];\n}\n\nfunction cleanString(value: unknown): string | undefined {\n return typeof value === \"string\" && value.trim() ? value.trim() : undefined;\n}\n\nfunction pathFrom(value: ConnectorCliPath, label: string): string {\n if (value instanceof URL) return fileURLToPath(value);\n if (typeof value === \"string\" && value.trim() !== \"\") return value;\n throw new TypeError(`createConnectorCli: \\`${label}\\` must be a non-empty path or file URL`);\n}\n\nfunction normalizeBinTarget(target: string): string {\n return target.replace(/\\\\/g, \"/\").replace(/^\\.\\//, \"\");\n}\n\nfunction realPathIfExists(path: string): string | undefined {\n try {\n return realpathSync(path);\n } catch {\n return undefined;\n }\n}\n\nfunction packageNameToBinName(packageName: string | undefined): string | undefined {\n if (!packageName) return undefined;\n if (packageName.startsWith(\"@\")) return cleanString(packageName.split(\"/\")[1]);\n return cleanString(packageName);\n}\n\nfunction readPackageCliMetadata(packageJsonPath: string): {\n name?: string;\n version?: string;\n} {\n const parsed = JSON.parse(readFileSync(packageJsonPath, \"utf8\")) as {\n name?: unknown;\n version?: unknown;\n bin?: unknown;\n };\n const packageName = cleanString(parsed.name);\n const version = cleanString(parsed.version);\n const packageBinName = packageNameToBinName(packageName);\n\n let name: string | undefined;\n if (typeof parsed.bin === \"string\") {\n name = packageBinName;\n } else if (parsed.bin && typeof parsed.bin === \"object\" && !Array.isArray(parsed.bin)) {\n const entries = Object.entries(parsed.bin)\n .filter(\n (entry): entry is [string, string] =>\n cleanString(entry[0]) != null && typeof entry[1] === \"string\",\n )\n .map(([binName, target]) => [binName, normalizeBinTarget(target)] as const);\n const packageDir = dirname(packageJsonPath);\n const invokedPath = process.argv[1] ? resolve(process.argv[1]) : undefined;\n const invoked = invokedPath ? (realPathIfExists(invokedPath) ?? invokedPath) : undefined;\n name =\n (invoked\n ? entries.find(([, target]) => {\n const targetPath = resolve(packageDir, target);\n return (realPathIfExists(targetPath) ?? targetPath) === invoked;\n })?.[0]\n : undefined) ??\n (packageBinName ? entries.find(([binName]) => binName === packageBinName)?.[0] : undefined) ??\n (entries.length === 1 ? entries[0]?.[0] : undefined);\n }\n\n return { ...(name ? { name } : {}), ...(version ? { version } : {}) };\n}\n\nexport function createConnectorCli(opts: CreateConnectorCliOptions): ConnectorCli {\n const packageJsonPath = opts.packageJson ? pathFrom(opts.packageJson, \"packageJson\") : undefined;\n const packageMetadata = packageJsonPath ? readPackageCliMetadata(packageJsonPath) : {};\n const name = cleanString(opts.name) ?? packageMetadata.name;\n const version = packageMetadata.version;\n\n if (!name) {\n throw new TypeError(\"createConnectorCli: `name` or packageJson-derived bin name is required\");\n }\n const programName = name;\n const connectorPath = pathFrom(opts.connector, \"connector\");\n\n // Cache the derived id so the connector module is loaded at most once across\n // repeated `.run()` calls in the same process.\n let cachedId: string | undefined = opts.connectorId;\n\n async function resolveConnectorId(): Promise<string> {\n if (cachedId !== undefined && cachedId !== \"\") return cachedId;\n const { connector } = await loadConnectorFromPath(connectorPath);\n cachedId = connector.id;\n return cachedId;\n }\n\n async function run(argv: string[] = process.argv.slice(2)): Promise<number> {\n const context: ConnectorCliContext = {\n programName,\n programVersion: version ?? \"0.0.0\",\n connector: connectorPath,\n connectorId: resolveConnectorId,\n };\n for (const passthrough of opts.passthrough ?? []) {\n if (passthrough.when(argv, context)) {\n return passthrough.run(argv, context);\n }\n }\n\n const command = argv[0];\n\n // No subcommand, a help/version flag, or an unknown command: nothing to scope\n // — hand off verbatim so usage/version is branded and errors stay accurate.\n if (command === undefined || command.startsWith(\"-\")) {\n return main(\n argv,\n version ? { programName, programVersion: version } : { programName },\n );\n }\n\n let scoped = argv;\n\n if (!hasConnectorFlag(argv)) {\n if (CONFIG_PATH_COMMANDS.has(command)) {\n // Inject the connector CONFIG PATH as the implicit target.\n scoped = injectAfterCommand(argv, \"--connector\", connectorPath);\n } else if (ID_HEAD_COMMANDS.has(command)) {\n // serve/hook take the connector ID and pass it to the runtime. Splice it\n // right after the subcommand token so a serve `--` separator and hook's\n // positionals are preserved.\n const id = await resolveConnectorId();\n scoped = injectAfterCommand(argv, \"--connector\", id);\n } else if (ID_TAIL_COMMANDS.has(command) && !wantsHelp(argv)) {\n // leaderboard/telemetry use the connector ID as a FILTER. Append it so\n // telemetry's leading positional sub (report|export|leaderboard) stays\n // the first token while parseArgs still reads the flag. We skip injection\n // for a bare/help invocation so the (un-filtered) usage text still shows.\n const id = await resolveConnectorId();\n scoped = appendFlag(argv, \"--connector\", id);\n }\n }\n\n return main(\n scoped,\n version ? { programName, programVersion: version } : { programName },\n );\n }\n\n return { name: programName, version: version ?? \"0.0.0\", run };\n}\n"],"mappings":"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","names":[]}
|
package/dist/cli.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as ActionDef, Q as CommandDef, V as ConfigPatchDef, c as ConnectorConfig, v as ResolvedConnector, e as HookEventName, H as HookDefinition, k as MemoryDef, N as NativeHookDef, Y as SkillDef, z as StatuslineDef, Z as SubagentDef } from './types-
|
|
1
|
+
import { A as ActionDef, Q as CommandDef, V as ConfigPatchDef, c as ConnectorConfig, v as ResolvedConnector, e as HookEventName, H as HookDefinition, k as MemoryDef, N as NativeHookDef, Y as SkillDef, z as StatuslineDef, Z as SubagentDef } from './types-JyhpJHJa.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* core/define-connector — the public write-once entry point.
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
print
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-H33M77DD.js";
|
|
5
5
|
import {
|
|
6
6
|
detectInstalledPlatforms
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-ISEJWBFF.js";
|
|
8
|
+
import "./chunk-D4ELPBB5.js";
|
|
9
9
|
|
|
10
10
|
// src/cli/commands/detect.ts
|
|
11
11
|
import { parseArgs } from "util";
|
|
@@ -71,4 +71,4 @@ async function run(argv) {
|
|
|
71
71
|
export {
|
|
72
72
|
run
|
|
73
73
|
};
|
|
74
|
-
//# sourceMappingURL=detect-
|
|
74
|
+
//# sourceMappingURL=detect-6V4LC3MA.js.map
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import {
|
|
3
3
|
marketplaceDoctorChecks,
|
|
4
4
|
syncConnector
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-PAPMUAR5.js";
|
|
6
|
+
import "./chunk-APZDTY76.js";
|
|
7
7
|
import {
|
|
8
8
|
readMarketplaceInstalls
|
|
9
9
|
} from "./chunk-2Y2MZRLP.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
parseScope,
|
|
17
17
|
parseTargets,
|
|
18
18
|
print
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-H33M77DD.js";
|
|
20
20
|
import {
|
|
21
21
|
LineBuffer,
|
|
22
22
|
idKey,
|
|
@@ -27,27 +27,27 @@ import {
|
|
|
27
27
|
} from "./chunk-Z2MRSS2I.js";
|
|
28
28
|
import {
|
|
29
29
|
detectInstalledPlatforms
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-ISEJWBFF.js";
|
|
31
31
|
import {
|
|
32
32
|
explainHooks
|
|
33
|
-
} from "./chunk-
|
|
34
|
-
import "./chunk-
|
|
33
|
+
} from "./chunk-7F5KHLEP.js";
|
|
34
|
+
import "./chunk-I5UXHIDT.js";
|
|
35
35
|
import "./chunk-KHO5WNTP.js";
|
|
36
36
|
import "./chunk-IVAWP6HH.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-3NH2ARIS.js";
|
|
38
38
|
import {
|
|
39
39
|
findConnectorConfig,
|
|
40
40
|
listRegisteredConnectors,
|
|
41
41
|
loadConnectorFromPath,
|
|
42
42
|
readRegisteredMeta
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-PW42ZXCB.js";
|
|
44
44
|
import {
|
|
45
45
|
MCP_PROTOCOL_VERSION
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-5IOTP7LQ.js";
|
|
47
47
|
import {
|
|
48
48
|
REGISTERED_PLATFORM_IDS,
|
|
49
49
|
loadAdapter
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-D4ELPBB5.js";
|
|
51
51
|
import "./chunk-NBYKLUF6.js";
|
|
52
52
|
import "./chunk-H53QZQJI.js";
|
|
53
53
|
import "./chunk-BEFVJ2OE.js";
|
|
@@ -627,4 +627,4 @@ async function run(argv) {
|
|
|
627
627
|
export {
|
|
628
628
|
run
|
|
629
629
|
};
|
|
630
|
-
//# sourceMappingURL=doctor-
|
|
630
|
+
//# sourceMappingURL=doctor-2YDUVSAU.js.map
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
fail
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-H33M77DD.js";
|
|
5
|
+
import "./chunk-YPAXJ7EW.js";
|
|
6
6
|
import "./chunk-OP4KBXUO.js";
|
|
7
7
|
import "./chunk-Z2MRSS2I.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-ISEJWBFF.js";
|
|
9
9
|
import {
|
|
10
10
|
isNativeHookDeclared,
|
|
11
11
|
runHook,
|
|
12
12
|
runNativeHook
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-I5UXHIDT.js";
|
|
14
14
|
import "./chunk-KHO5WNTP.js";
|
|
15
15
|
import "./chunk-IVAWP6HH.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-PW42ZXCB.js";
|
|
17
|
+
import "./chunk-5IOTP7LQ.js";
|
|
18
|
+
import "./chunk-D4ELPBB5.js";
|
|
19
19
|
import "./chunk-NBYKLUF6.js";
|
|
20
20
|
import "./chunk-4NHXLXSD.js";
|
|
21
21
|
import "./chunk-UMQ6NBQR.js";
|
|
@@ -93,4 +93,4 @@ export {
|
|
|
93
93
|
HOOK_EVENTS,
|
|
94
94
|
run
|
|
95
95
|
};
|
|
96
|
-
//# sourceMappingURL=hook-
|
|
96
|
+
//# sourceMappingURL=hook-OEVRDMXD.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { C as ConnectorConfigError, d as defineAction, a as defineCommand, b as defineConfigPatch, c as defineConnector, e as defineHook, f as defineMemory, g as defineNativeHook, h as defineSkill, i as defineStatusline, j as defineSubagent } from './define-connector-
|
|
2
|
-
import { S as ServerDef, M as McpPackageIdentity, R as ResolvedMcpPackageIdentity } from './types-
|
|
3
|
-
export { A as ActionDef, a as ActionResult, b as AuthSpec, C as ChangeRecord, c as ConnectorConfig, D as DetectedPlatform, d as DiagnosticResult, E as EventPayloadMap, H as HookDefinition, e as HookEventName, f as HookParadigm, g as HookResponse, h as HooksConfig, i as HostCtx, I as InstallResult, j as InstallScope, k as MemoryDef, N as NativeHookDef, l as NativeHookEvent, m as NotificationEvent, P as PermissionRequestEvent, n as PlatformCapabilities, o as PlatformId, p as PlatformMemoryOverride, q as PlatformOverride, r as PostToolUseEvent, s as PostToolUseFailureEvent, t as PreCompactEvent, u as PreToolUseEvent, v as ResolvedConnector, w as SessionEndEvent, x as SessionStartEvent, y as StatuslineContext, z as StatuslineDef, B as StopEvent, F as SubagentStartEvent, G as SubagentStopEvent, T as TelemetryAccessor, J as TelemetryConfig, K as TelemetryUsageSummary, L as ToolFilter, O as Transport, U as UserPromptSubmitEvent } from './types-
|
|
1
|
+
export { C as ConnectorConfigError, d as defineAction, a as defineCommand, b as defineConfigPatch, c as defineConnector, e as defineHook, f as defineMemory, g as defineNativeHook, h as defineSkill, i as defineStatusline, j as defineSubagent } from './define-connector-DTWb46UB.js';
|
|
2
|
+
import { S as ServerDef, M as McpPackageIdentity, R as ResolvedMcpPackageIdentity } from './types-JyhpJHJa.js';
|
|
3
|
+
export { A as ActionDef, a as ActionResult, b as AuthSpec, C as ChangeRecord, c as ConnectorConfig, D as DetectedPlatform, d as DiagnosticResult, E as EventPayloadMap, H as HookDefinition, e as HookEventName, f as HookParadigm, g as HookResponse, h as HooksConfig, i as HostCtx, I as InstallResult, j as InstallScope, k as MemoryDef, N as NativeHookDef, l as NativeHookEvent, m as NotificationEvent, P as PermissionRequestEvent, n as PlatformCapabilities, o as PlatformId, p as PlatformMemoryOverride, q as PlatformOverride, r as PostToolUseEvent, s as PostToolUseFailureEvent, t as PreCompactEvent, u as PreToolUseEvent, v as ResolvedConnector, w as SessionEndEvent, x as SessionStartEvent, y as StatuslineContext, z as StatuslineDef, B as StopEvent, F as SubagentStartEvent, G as SubagentStopEvent, T as TelemetryAccessor, J as TelemetryConfig, K as TelemetryUsageSummary, L as ToolFilter, O as Transport, U as UserPromptSubmitEvent } from './types-JyhpJHJa.js';
|
|
4
4
|
|
|
5
5
|
/** Derive the host-facing MCP server key from a package name. */
|
|
6
6
|
declare function deriveHostAliasFromPackageName(packageName: string): string | undefined;
|
package/dist/index.js
CHANGED
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
deriveHostAliasFromPackageName,
|
|
16
16
|
inferNpmPackageFromServer,
|
|
17
17
|
resolveMcpPackageIdentity
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-5IOTP7LQ.js";
|
|
19
|
+
import "./chunk-D4ELPBB5.js";
|
|
20
20
|
import "./chunk-NBYKLUF6.js";
|
|
21
21
|
import "./chunk-UMQ6NBQR.js";
|
|
22
22
|
import "./chunk-GZGLCCEE.js";
|
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
installConnector,
|
|
4
4
|
installViaMarketplace,
|
|
5
5
|
parseInstallMethod
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-PAPMUAR5.js";
|
|
7
|
+
import "./chunk-APZDTY76.js";
|
|
8
8
|
import "./chunk-2Y2MZRLP.js";
|
|
9
9
|
import "./chunk-UM5S7DKK.js";
|
|
10
10
|
import "./chunk-6WZODR3Z.js";
|
|
@@ -17,16 +17,16 @@ import {
|
|
|
17
17
|
parseTargets,
|
|
18
18
|
print,
|
|
19
19
|
renderInstallResult
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-H33M77DD.js";
|
|
21
21
|
import "./chunk-Z2MRSS2I.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-ISEJWBFF.js";
|
|
23
23
|
import "./chunk-KHO5WNTP.js";
|
|
24
24
|
import {
|
|
25
25
|
findConnectorConfig,
|
|
26
26
|
loadConnectorFromPath
|
|
27
|
-
} from "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
27
|
+
} from "./chunk-PW42ZXCB.js";
|
|
28
|
+
import "./chunk-5IOTP7LQ.js";
|
|
29
|
+
import "./chunk-D4ELPBB5.js";
|
|
30
30
|
import "./chunk-NBYKLUF6.js";
|
|
31
31
|
import "./chunk-H53QZQJI.js";
|
|
32
32
|
import "./chunk-BEFVJ2OE.js";
|
|
@@ -379,4 +379,4 @@ async function run(argv) {
|
|
|
379
379
|
export {
|
|
380
380
|
run
|
|
381
381
|
};
|
|
382
|
-
//# sourceMappingURL=install-
|
|
382
|
+
//# sourceMappingURL=install-5NMCUDG5.js.map
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import {
|
|
16
16
|
fail,
|
|
17
17
|
print
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-H33M77DD.js";
|
|
19
19
|
import "./chunk-IVAWP6HH.js";
|
|
20
20
|
import "./chunk-GZGLCCEE.js";
|
|
21
21
|
|
|
@@ -134,4 +134,4 @@ export {
|
|
|
134
134
|
parseSince,
|
|
135
135
|
run
|
|
136
136
|
};
|
|
137
|
-
//# sourceMappingURL=leaderboard-
|
|
137
|
+
//# sourceMappingURL=leaderboard-XEKS7B3H.js.map
|
|
@@ -6,19 +6,19 @@ import {
|
|
|
6
6
|
isPackageFormat,
|
|
7
7
|
packageConnector,
|
|
8
8
|
packageConnectorAll
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-APZDTY76.js";
|
|
10
10
|
import "./chunk-6WZODR3Z.js";
|
|
11
11
|
import "./chunk-OPXAP3AC.js";
|
|
12
12
|
import {
|
|
13
13
|
fail,
|
|
14
14
|
print
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-H33M77DD.js";
|
|
16
16
|
import {
|
|
17
17
|
findConnectorConfig,
|
|
18
18
|
loadConnectorFromPath
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-PW42ZXCB.js";
|
|
20
|
+
import "./chunk-5IOTP7LQ.js";
|
|
21
|
+
import "./chunk-D4ELPBB5.js";
|
|
22
22
|
import "./chunk-NBYKLUF6.js";
|
|
23
23
|
import "./chunk-H53QZQJI.js";
|
|
24
24
|
import "./chunk-BEFVJ2OE.js";
|
|
@@ -132,4 +132,4 @@ async function run(argv) {
|
|
|
132
132
|
export {
|
|
133
133
|
run
|
|
134
134
|
};
|
|
135
|
-
//# sourceMappingURL=package-
|
|
135
|
+
//# sourceMappingURL=package-G25GVTH2.js.map
|
package/dist/runtime/index.d.ts
CHANGED
package/dist/runtime/index.js
CHANGED
|
@@ -4,20 +4,20 @@ import {
|
|
|
4
4
|
runServe,
|
|
5
5
|
runStatusline,
|
|
6
6
|
runUsageEvent
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-YPAXJ7EW.js";
|
|
8
8
|
import "../chunk-OP4KBXUO.js";
|
|
9
9
|
import "../chunk-Z2MRSS2I.js";
|
|
10
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-ISEJWBFF.js";
|
|
11
11
|
import {
|
|
12
12
|
isNativeHookDeclared,
|
|
13
13
|
runHook,
|
|
14
14
|
runNativeHook
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-I5UXHIDT.js";
|
|
16
16
|
import "../chunk-KHO5WNTP.js";
|
|
17
17
|
import "../chunk-IVAWP6HH.js";
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
20
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-PW42ZXCB.js";
|
|
19
|
+
import "../chunk-5IOTP7LQ.js";
|
|
20
|
+
import "../chunk-D4ELPBB5.js";
|
|
21
21
|
import "../chunk-NBYKLUF6.js";
|
|
22
22
|
import "../chunk-4NHXLXSD.js";
|
|
23
23
|
import "../chunk-UMQ6NBQR.js";
|
package/dist/sdk/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { C as ConnectorConfigError, d as defineAction, a as defineCommand, b as defineConfigPatch, c as defineConnector, e as defineHook, f as defineMemory, g as defineNativeHook, h as defineSkill, i as defineStatusline, j as defineSubagent } from '../define-connector-
|
|
2
|
-
export { S as SURFACE_PREDICATES, a as SurfaceName, c as capabilitiesOf, h as hostsSupporting, s as surfaceSupport } from '../introspect-
|
|
3
|
-
import { o as PlatformId } from '../types-
|
|
4
|
-
export { A as ActionDef, a as ActionResult, b as AuthSpec, Q as CommandDef, V as ConfigPatchDef, c as ConnectorConfig, E as EventPayloadMap, H as HookDefinition, e as HookEventName, f as HookParadigm, g as HookResponse, h as HooksConfig, i as HostCtx, j as InstallScope, W as JsonValue, k as MemoryDef, N as NativeHookDef, l as NativeHookEvent, m as NotificationEvent, P as PermissionRequestEvent, n as PlatformCapabilities, p as PlatformMemoryOverride, q as PlatformOverride, r as PostToolUseEvent, s as PostToolUseFailureEvent, t as PreCompactEvent, u as PreToolUseEvent, X as PublishConfig, v as ResolvedConnector, S as ServerDef, w as SessionEndEvent, x as SessionStartEvent, Y as SkillDef, y as StatuslineContext, z as StatuslineDef, B as StopEvent, Z as SubagentDef, F as SubagentStartEvent, G as SubagentStopEvent, _ as SurfaceToolPolicy, T as TelemetryAccessor, J as TelemetryConfig, K as TelemetryUsageSummary, L as ToolFilter, O as Transport, U as UserPromptSubmitEvent } from '../types-
|
|
1
|
+
export { C as ConnectorConfigError, d as defineAction, a as defineCommand, b as defineConfigPatch, c as defineConnector, e as defineHook, f as defineMemory, g as defineNativeHook, h as defineSkill, i as defineStatusline, j as defineSubagent } from '../define-connector-DTWb46UB.js';
|
|
2
|
+
export { S as SURFACE_PREDICATES, a as SurfaceName, c as capabilitiesOf, h as hostsSupporting, s as surfaceSupport } from '../introspect-dNekqPDY.js';
|
|
3
|
+
import { o as PlatformId } from '../types-JyhpJHJa.js';
|
|
4
|
+
export { A as ActionDef, a as ActionResult, b as AuthSpec, Q as CommandDef, V as ConfigPatchDef, c as ConnectorConfig, E as EventPayloadMap, H as HookDefinition, e as HookEventName, f as HookParadigm, g as HookResponse, h as HooksConfig, i as HostCtx, j as InstallScope, W as JsonValue, k as MemoryDef, N as NativeHookDef, l as NativeHookEvent, m as NotificationEvent, P as PermissionRequestEvent, n as PlatformCapabilities, p as PlatformMemoryOverride, q as PlatformOverride, r as PostToolUseEvent, s as PostToolUseFailureEvent, t as PreCompactEvent, u as PreToolUseEvent, X as PublishConfig, v as ResolvedConnector, S as ServerDef, w as SessionEndEvent, x as SessionStartEvent, Y as SkillDef, y as StatuslineContext, z as StatuslineDef, B as StopEvent, Z as SubagentDef, F as SubagentStartEvent, G as SubagentStopEvent, _ as SurfaceToolPolicy, T as TelemetryAccessor, J as TelemetryConfig, K as TelemetryUsageSummary, L as ToolFilter, O as Transport, U as UserPromptSubmitEvent } from '../types-JyhpJHJa.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* sdk/helpers — host-aware authoring helpers for connector handlers.
|
package/dist/sdk/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
capabilitiesOf,
|
|
5
5
|
hostsSupporting,
|
|
6
6
|
surfaceSupport
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-3NH2ARIS.js";
|
|
8
8
|
import {
|
|
9
9
|
ConnectorConfigError,
|
|
10
10
|
defineAction,
|
|
@@ -17,8 +17,8 @@ import {
|
|
|
17
17
|
defineSkill,
|
|
18
18
|
defineStatusline,
|
|
19
19
|
defineSubagent
|
|
20
|
-
} from "../chunk-
|
|
21
|
-
import "../chunk-
|
|
20
|
+
} from "../chunk-5IOTP7LQ.js";
|
|
21
|
+
import "../chunk-D4ELPBB5.js";
|
|
22
22
|
import "../chunk-NBYKLUF6.js";
|
|
23
23
|
import "../chunk-UMQ6NBQR.js";
|
|
24
24
|
import "../chunk-GZGLCCEE.js";
|
package/dist/sdk/test.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { o as PlatformId, e as HookEventName, v as ResolvedConnector } from '../types-
|
|
2
|
-
import { a as SurfaceName } from '../introspect-
|
|
1
|
+
import { o as PlatformId, e as HookEventName, v as ResolvedConnector } from '../types-JyhpJHJa.js';
|
|
2
|
+
import { a as SurfaceName } from '../introspect-dNekqPDY.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* sdk/test-harness — the SHIPPED, OFFLINE behavioral harness.
|
package/dist/sdk/test.js
CHANGED
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
explain,
|
|
4
4
|
explainHooks,
|
|
5
5
|
simulate
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
} from "../chunk-7F5KHLEP.js";
|
|
7
|
+
import "../chunk-I5UXHIDT.js";
|
|
8
8
|
import "../chunk-KHO5WNTP.js";
|
|
9
9
|
import "../chunk-IVAWP6HH.js";
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-3NH2ARIS.js";
|
|
11
|
+
import "../chunk-PW42ZXCB.js";
|
|
12
|
+
import "../chunk-5IOTP7LQ.js";
|
|
13
|
+
import "../chunk-D4ELPBB5.js";
|
|
14
14
|
import "../chunk-NBYKLUF6.js";
|
|
15
15
|
import "../chunk-UMQ6NBQR.js";
|
|
16
16
|
import "../chunk-GZGLCCEE.js";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
fail
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-H33M77DD.js";
|
|
5
5
|
import {
|
|
6
6
|
runServe
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YPAXJ7EW.js";
|
|
8
8
|
import "./chunk-OP4KBXUO.js";
|
|
9
9
|
import "./chunk-Z2MRSS2I.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-ISEJWBFF.js";
|
|
11
|
+
import "./chunk-I5UXHIDT.js";
|
|
12
12
|
import "./chunk-KHO5WNTP.js";
|
|
13
13
|
import "./chunk-IVAWP6HH.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-PW42ZXCB.js";
|
|
15
|
+
import "./chunk-5IOTP7LQ.js";
|
|
16
|
+
import "./chunk-D4ELPBB5.js";
|
|
17
17
|
import "./chunk-NBYKLUF6.js";
|
|
18
18
|
import "./chunk-4NHXLXSD.js";
|
|
19
19
|
import "./chunk-UMQ6NBQR.js";
|
|
@@ -74,4 +74,4 @@ async function run(argv) {
|
|
|
74
74
|
export {
|
|
75
75
|
run
|
|
76
76
|
};
|
|
77
|
-
//# sourceMappingURL=serve-
|
|
77
|
+
//# sourceMappingURL=serve-XTMIUHKK.js.map
|
|
@@ -7,19 +7,19 @@ import {
|
|
|
7
7
|
fail,
|
|
8
8
|
parseScope,
|
|
9
9
|
print
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-H33M77DD.js";
|
|
11
11
|
import {
|
|
12
12
|
detectInstalledPlatforms
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ISEJWBFF.js";
|
|
14
14
|
import {
|
|
15
15
|
findConnectorConfig,
|
|
16
16
|
listRegisteredConnectors,
|
|
17
17
|
loadConnectorFromPath
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-PW42ZXCB.js";
|
|
19
|
+
import "./chunk-5IOTP7LQ.js";
|
|
20
20
|
import {
|
|
21
21
|
loadAdapter
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-D4ELPBB5.js";
|
|
23
23
|
import "./chunk-NBYKLUF6.js";
|
|
24
24
|
import "./chunk-UMQ6NBQR.js";
|
|
25
25
|
import {
|
|
@@ -139,4 +139,4 @@ async function run(argv) {
|
|
|
139
139
|
export {
|
|
140
140
|
run
|
|
141
141
|
};
|
|
142
|
-
//# sourceMappingURL=status-
|
|
142
|
+
//# sourceMappingURL=status-VJAGO4Z7.js.map
|