@kodycodes/cli 3.0.4 → 3.1.0
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 +6 -3
- package/dist/{auth-FV2O77LC.js → auth-2N7CSZGJ.js} +5 -5
- package/dist/bin.js +8 -8
- package/dist/{chunk-KZ3CZL54.js → chunk-5BIXRCH7.js} +55 -3
- package/dist/chunk-5BIXRCH7.js.map +6 -0
- package/dist/{chunk-TG3SWAW3.js → chunk-FDRTJFCM.js} +2 -2
- package/dist/{chunk-PZKBPKJ2.js → chunk-FS3BGXCK.js} +2 -2
- package/dist/{chunk-PUQGDXIY.js → chunk-JNQKDAPN.js} +2 -2
- package/dist/{chunk-UZL5QBO3.js → chunk-PDDX5RJS.js} +6 -6
- package/dist/{chunk-SSBZQMVX.js → chunk-QI3ZICHR.js} +5 -5
- package/dist/chunk-TCJSXIEG.js +233 -0
- package/dist/chunk-TCJSXIEG.js.map +6 -0
- package/dist/{chunk-PIPQ2TTK.js → chunk-TGBFPYAY.js} +4 -4
- package/dist/{chunk-BS24HBMB.js → chunk-TK2Y4XD6.js} +51 -41
- package/dist/chunk-TK2Y4XD6.js.map +6 -0
- package/dist/{chunk-4NYWQWSY.js → chunk-YFDVDTNX.js} +40 -17
- package/dist/chunk-YFDVDTNX.js.map +6 -0
- package/dist/cli.js +8 -8
- package/dist/{dev-command-QGGRDTRC.js → dev-command-OUTCMZOC.js} +27 -27
- package/dist/{git-credential-6CJWVNED.js → git-credential-NTAPSLZP.js} +6 -6
- package/dist/{local-execute-ADQRK3T5.js → local-execute-6NSAVTAV.js} +12 -12
- package/dist/{local-package-graph-5N5L6NHU.js → local-package-graph-UU3XHKIM.js} +4 -2
- package/dist/local-package-graph.d.ts +6 -0
- package/dist/{local-package-run-CV4CN74S.js → local-package-run-RATCOPRD.js} +9 -9
- package/dist/{mock-dep-resolve-TTCQQEN2.js → mock-dep-resolve-FM5GKMKE.js} +6 -6
- package/dist/mock-fetch-gateway-TNK74HEP.js +1 -1
- package/dist/{mock-local-deps-IMNSSGPW.js → mock-local-deps-6I7HSHXD.js} +4 -4
- package/dist/mock-server-CJQI6B3A.js +1 -1
- package/dist/{open-api-client-42L6TM2U.js → open-api-client-7TV5SPHT.js} +3 -3
- package/dist/package-local-runtime-source.d.ts +1 -0
- package/dist/{remote-execute-J35MQTUC.js → remote-execute-XLKI7JTI.js} +3 -3
- package/dist/{setup-git-IGLLNSLA.js → setup-git-LQVUW2D4.js} +4 -4
- package/dist/skill-7B2RL273.js +38 -0
- package/dist/skill-7B2RL273.js.map +6 -0
- package/dist/skill-refresh.d.ts +2 -0
- package/dist/skill-refresh.js +20 -0
- package/dist/skill-refresh.js.map +6 -0
- package/dist/skill.d.ts +53 -11
- package/package.json +2 -2
- package/skills/kody/SKILL.md +15 -129
- package/dist/chunk-4NYWQWSY.js.map +0 -6
- package/dist/chunk-BS24HBMB.js.map +0 -6
- package/dist/chunk-KZ3CZL54.js.map +0 -6
- package/dist/skill-D74XVI6T.js +0 -61
- package/dist/skill-D74XVI6T.js.map +0 -6
- /package/dist/{auth-FV2O77LC.js.map → auth-2N7CSZGJ.js.map} +0 -0
- /package/dist/{chunk-TG3SWAW3.js.map → chunk-FDRTJFCM.js.map} +0 -0
- /package/dist/{chunk-PZKBPKJ2.js.map → chunk-FS3BGXCK.js.map} +0 -0
- /package/dist/{chunk-PUQGDXIY.js.map → chunk-JNQKDAPN.js.map} +0 -0
- /package/dist/{chunk-UZL5QBO3.js.map → chunk-PDDX5RJS.js.map} +0 -0
- /package/dist/{chunk-SSBZQMVX.js.map → chunk-QI3ZICHR.js.map} +0 -0
- /package/dist/{chunk-PIPQ2TTK.js.map → chunk-TGBFPYAY.js.map} +0 -0
- /package/dist/{dev-command-QGGRDTRC.js.map → dev-command-OUTCMZOC.js.map} +0 -0
- /package/dist/{git-credential-6CJWVNED.js.map → git-credential-NTAPSLZP.js.map} +0 -0
- /package/dist/{local-execute-ADQRK3T5.js.map → local-execute-6NSAVTAV.js.map} +0 -0
- /package/dist/{local-package-graph-5N5L6NHU.js.map → local-package-graph-UU3XHKIM.js.map} +0 -0
- /package/dist/{local-package-run-CV4CN74S.js.map → local-package-run-RATCOPRD.js.map} +0 -0
- /package/dist/{mock-dep-resolve-TTCQQEN2.js.map → mock-dep-resolve-FM5GKMKE.js.map} +0 -0
- /package/dist/{mock-local-deps-IMNSSGPW.js.map → mock-local-deps-6I7HSHXD.js.map} +0 -0
- /package/dist/{open-api-client-42L6TM2U.js.map → open-api-client-7TV5SPHT.js.map} +0 -0
- /package/dist/{remote-execute-J35MQTUC.js.map → remote-execute-XLKI7JTI.js.map} +0 -0
- /package/dist/{setup-git-IGLLNSLA.js.map → setup-git-LQVUW2D4.js.map} +0 -0
package/README.md
CHANGED
|
@@ -37,8 +37,11 @@ for the CLI itself.
|
|
|
37
37
|
npx @kodycodes/cli skill install
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
installs the Kody CLI skill into Claude Code / Cursor / Codex / `.agents`
|
|
41
|
+
folders. It prefers the always-current hosted
|
|
42
|
+
`/.well-known/agent-skills/kody-cli/SKILL.md` (and refreshes stale local copies
|
|
43
|
+
on later CLI runs). That skill tells shell-capable agents to prefer
|
|
44
|
+
`execute --local`.
|
|
42
45
|
|
|
43
46
|
`--mcp-url` or `KODY_MCP_URL` overrides the default `https://kody.codes/mcp`.
|
|
44
47
|
|
|
@@ -72,7 +75,7 @@ multi-org store as the active org (no re-login).
|
|
|
72
75
|
| Command | Purpose |
|
|
73
76
|
| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
74
77
|
| `kody install` | Detect running local MCP clients, write their config, and start host OAuth. **Recommended long-term path.** |
|
|
75
|
-
| `kody skill install` |
|
|
78
|
+
| `kody skill install` | Installs the hosted `kody-cli` skill (or the bundled stub offline) into Claude Code / Cursor / Codex / `.agents`. Later CLI runs refresh stale copies by digest. |
|
|
76
79
|
| `kody login` | Browser OAuth (CIMD + PKCE) for the CLI itself. Adds/replaces one org login (browser picker, or `kody login --org acme`) and keeps other org logins. |
|
|
77
80
|
| `kody org list` | Lists logged-in orgs and marks the active one. `--json` for agents. |
|
|
78
81
|
| `kody org use [<slug>]` | Switches the active org. With a slug (agents) switches directly; with no slug on a TTY opens a chooser; without a TTY pass a slug. |
|
|
@@ -7,15 +7,15 @@ import {
|
|
|
7
7
|
login,
|
|
8
8
|
refreshStoredCredentials,
|
|
9
9
|
resolvePendingOrgSlug
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-QI3ZICHR.js";
|
|
11
11
|
import "./chunk-CASGRYOF.js";
|
|
12
12
|
import "./chunk-GVSGNTG6.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-CWWHR4FH.js";
|
|
14
|
+
import "./chunk-TGBFPYAY.js";
|
|
14
15
|
import "./chunk-46IJPEID.js";
|
|
15
|
-
import "./chunk-BML3W5CO.js";
|
|
16
16
|
import "./chunk-CCRCEU7S.js";
|
|
17
|
+
import "./chunk-BML3W5CO.js";
|
|
17
18
|
import "./chunk-NHRYNRXG.js";
|
|
18
|
-
import "./chunk-CWWHR4FH.js";
|
|
19
19
|
import "./chunk-3H72XY5R.js";
|
|
20
20
|
import "./chunk-BTL3PJ2H.js";
|
|
21
21
|
import "./chunk-UW6AWLXX.js";
|
|
@@ -28,4 +28,4 @@ export {
|
|
|
28
28
|
refreshStoredCredentials,
|
|
29
29
|
resolvePendingOrgSlug
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=auth-
|
|
31
|
+
//# sourceMappingURL=auth-2N7CSZGJ.js.map
|
package/dist/bin.js
CHANGED
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
runCli
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-TK2Y4XD6.js";
|
|
6
6
|
import "./chunk-2XPH7L2P.js";
|
|
7
7
|
import "./chunk-SLNAWWQK.js";
|
|
8
8
|
import "./chunk-YDWTXEKQ.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-7PRJ36I5.js";
|
|
10
|
+
import "./chunk-FS3BGXCK.js";
|
|
11
|
+
import "./chunk-JNQKDAPN.js";
|
|
11
12
|
import "./chunk-6ZYUGXVW.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-QI3ZICHR.js";
|
|
13
14
|
import "./chunk-CASGRYOF.js";
|
|
14
15
|
import "./chunk-GVSGNTG6.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-CWWHR4FH.js";
|
|
17
|
+
import "./chunk-TGBFPYAY.js";
|
|
16
18
|
import "./chunk-46IJPEID.js";
|
|
17
|
-
import "./chunk-BML3W5CO.js";
|
|
18
19
|
import "./chunk-CCRCEU7S.js";
|
|
20
|
+
import "./chunk-BML3W5CO.js";
|
|
19
21
|
import "./chunk-NHRYNRXG.js";
|
|
20
|
-
import "./chunk-7PRJ36I5.js";
|
|
21
|
-
import "./chunk-CWWHR4FH.js";
|
|
22
22
|
import "./chunk-3H72XY5R.js";
|
|
23
23
|
import "./chunk-BTL3PJ2H.js";
|
|
24
24
|
import "./chunk-UW6AWLXX.js";
|
|
@@ -717,8 +717,30 @@ const __kodyRuntimeStorage =
|
|
|
717
717
|
__globalAny[__kodyRuntimeStorageSymbol] ??
|
|
718
718
|
(__globalAny[__kodyRuntimeStorageSymbol] = new AsyncLocalStorage());
|
|
719
719
|
|
|
720
|
+
export function hasScope(request, scope) {
|
|
721
|
+
if (typeof scope !== 'string') return false;
|
|
722
|
+
try {
|
|
723
|
+
const raw = request?.headers?.get('X-Kody-Visitor');
|
|
724
|
+
if (!raw) return false;
|
|
725
|
+
const visitor = JSON.parse(raw);
|
|
726
|
+
return (
|
|
727
|
+
typeof visitor?.userId === 'string' &&
|
|
728
|
+
visitor.userId.length > 0 &&
|
|
729
|
+
Array.isArray(visitor.scopes) &&
|
|
730
|
+
visitor.scopes.includes(scope)
|
|
731
|
+
);
|
|
732
|
+
} catch {
|
|
733
|
+
return false;
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
export function hasVisitorCredential(request, key) {
|
|
737
|
+
return typeof key === 'string' && hasScope(request, \`need:\${key}\`);
|
|
738
|
+
}
|
|
739
|
+
|
|
720
740
|
const __kodyRuntimeDefault = Object.freeze({
|
|
721
741
|
kody,
|
|
742
|
+
hasScope,
|
|
743
|
+
hasVisitorCredential,
|
|
722
744
|
packageStorage,
|
|
723
745
|
createAuthenticatedFetch,
|
|
724
746
|
secretHeaders,
|
|
@@ -1101,11 +1123,40 @@ function packageGraphErrorToolResult(error) {
|
|
|
1101
1123
|
};
|
|
1102
1124
|
}
|
|
1103
1125
|
var localExecuteGatewayFetchShimModuleName = ".__kody_virtual__/runtime.js";
|
|
1126
|
+
function backfillLocalExecuteRuntimeShimSharedExports(esModule) {
|
|
1127
|
+
if (/\bexport\s+function\s+hasScope\b/.test(esModule) || /\bexport\s+\{[^}]*\bhasScope\b/.test(esModule)) {
|
|
1128
|
+
return esModule;
|
|
1129
|
+
}
|
|
1130
|
+
const sharedHelpers = `
|
|
1131
|
+
export function hasScope(request, scope) {
|
|
1132
|
+
if (typeof scope !== 'string') return false;
|
|
1133
|
+
try {
|
|
1134
|
+
const raw = request?.headers?.get('X-Kody-Visitor');
|
|
1135
|
+
if (!raw) return false;
|
|
1136
|
+
const visitor = JSON.parse(raw);
|
|
1137
|
+
return (
|
|
1138
|
+
typeof visitor?.userId === 'string' &&
|
|
1139
|
+
visitor.userId.length > 0 &&
|
|
1140
|
+
Array.isArray(visitor.scopes) &&
|
|
1141
|
+
visitor.scopes.includes(scope)
|
|
1142
|
+
);
|
|
1143
|
+
} catch {
|
|
1144
|
+
return false;
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
export function hasVisitorCredential(request, key) {
|
|
1148
|
+
return typeof key === 'string' && hasScope(request, \`need:\${key}\`);
|
|
1149
|
+
}
|
|
1150
|
+
`;
|
|
1151
|
+
return `${esModule.trimEnd()}
|
|
1152
|
+
${sharedHelpers}`;
|
|
1153
|
+
}
|
|
1104
1154
|
async function writePackageModuleFiles(workDir, graph, writeFile, joinPath) {
|
|
1105
1155
|
const written = [];
|
|
1106
1156
|
for (const [index, module] of graph.modules.entries()) {
|
|
1107
1157
|
const file = `pkg-${index}.js`;
|
|
1108
|
-
|
|
1158
|
+
const source = module.name === localExecuteGatewayFetchShimModuleName ? backfillLocalExecuteRuntimeShimSharedExports(module.esModule) : module.esModule;
|
|
1159
|
+
await writeFile(joinPath(workDir, file), source);
|
|
1109
1160
|
written.push({ name: module.name, file });
|
|
1110
1161
|
}
|
|
1111
1162
|
return written;
|
|
@@ -1126,7 +1177,7 @@ async function resolveLocalPackageGraph(input) {
|
|
|
1126
1177
|
mergePackageGraphs,
|
|
1127
1178
|
resolveLocalPackageModules,
|
|
1128
1179
|
tryLoadSelfManifest
|
|
1129
|
-
} = await import("./mock-local-deps-
|
|
1180
|
+
} = await import("./mock-local-deps-6I7HSHXD.js");
|
|
1130
1181
|
if (imports.length > 0 && input.packageRoot) {
|
|
1131
1182
|
const selfManifest = await tryLoadSelfManifest(input.packageRoot);
|
|
1132
1183
|
const local = await resolveLocalPackageModules({
|
|
@@ -1534,6 +1585,7 @@ export {
|
|
|
1534
1585
|
localExecutePackageCheckoutDocsUrl,
|
|
1535
1586
|
packageGraphErrorToolResult,
|
|
1536
1587
|
localExecuteGatewayFetchShimModuleName,
|
|
1588
|
+
backfillLocalExecuteRuntimeShimSharedExports,
|
|
1537
1589
|
writePackageModuleFiles,
|
|
1538
1590
|
resolveLocalPackageGraph,
|
|
1539
1591
|
mergePackageGraphBindings,
|
|
@@ -1542,4 +1594,4 @@ export {
|
|
|
1542
1594
|
createPackageBindingsLiteral,
|
|
1543
1595
|
fetchLocalPackageGraph
|
|
1544
1596
|
};
|
|
1545
|
-
//# sourceMappingURL=chunk-
|
|
1597
|
+
//# sourceMappingURL=chunk-5BIXRCH7.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../node_modules/es-module-lexer/dist/lexer.js", "../src/credential-client-runtime-source.ts", "../src/local-runtime-source.ts", "../src/local-package-graph.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["A", "Q", "B", "E", "C", "g", "R", "H", "I", "D", "k", "o", "w"]
|
|
6
|
+
}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
localExecuteGatewayFetchShimModuleName,
|
|
4
4
|
localWorkerModuleNames,
|
|
5
5
|
runSecretHeader
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-5BIXRCH7.js";
|
|
7
7
|
import {
|
|
8
8
|
redact
|
|
9
9
|
} from "./chunk-CASGRYOF.js";
|
|
@@ -475,4 +475,4 @@ export {
|
|
|
475
475
|
assertLocalPackageScopedSecretWriteAllowed,
|
|
476
476
|
installMockFetchShimModules
|
|
477
477
|
};
|
|
478
|
-
//# sourceMappingURL=chunk-
|
|
478
|
+
//# sourceMappingURL=chunk-FDRTJFCM.js.map
|
|
@@ -30,7 +30,7 @@ async function resolveLocalExecuteBearer(input) {
|
|
|
30
30
|
`kody login credentials for ${mcpOrigin} are only sent to ${expectedPairedApiOrigin(mcpUrl)}. For ${apiOrigin}, run \`kody auth bootstrap --code \u2026 --api-url ${apiOrigin}\` or set KODY_API_TOKEN.`
|
|
31
31
|
);
|
|
32
32
|
}
|
|
33
|
-
const ensure = input.ensureCredentials ?? (await import("./auth-
|
|
33
|
+
const ensure = input.ensureCredentials ?? (await import("./auth-2N7CSZGJ.js")).ensureFreshCredentials;
|
|
34
34
|
try {
|
|
35
35
|
const credentials = await ensure({
|
|
36
36
|
mcpUrl: input.mcpUrl,
|
|
@@ -51,4 +51,4 @@ async function resolveLocalExecuteBearer(input) {
|
|
|
51
51
|
export {
|
|
52
52
|
resolveLocalExecuteBearer
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=chunk-
|
|
54
|
+
//# sourceMappingURL=chunk-FS3BGXCK.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
OpenApiError,
|
|
7
7
|
openApiGet,
|
|
8
8
|
openApiRequest
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TGBFPYAY.js";
|
|
10
10
|
import {
|
|
11
11
|
assertTokenSafeApiUrl,
|
|
12
12
|
capabilityProxyUrl,
|
|
@@ -982,4 +982,4 @@ export {
|
|
|
982
982
|
authRemoveGit,
|
|
983
983
|
formatAuthRemoveGitReport
|
|
984
984
|
};
|
|
985
|
-
//# sourceMappingURL=chunk-
|
|
985
|
+
//# sourceMappingURL=chunk-JNQKDAPN.js.map
|
|
@@ -2,17 +2,17 @@ import { createRequire as __createRequire } from 'node:module'; const require =
|
|
|
2
2
|
import {
|
|
3
3
|
bundleLocalUserModule
|
|
4
4
|
} from "./chunk-7RLOLQIT.js";
|
|
5
|
-
import {
|
|
6
|
-
loadPackageManifest,
|
|
7
|
-
resolveExportModulePath
|
|
8
|
-
} from "./chunk-RAZBIC6O.js";
|
|
9
5
|
import {
|
|
10
6
|
LocalPackageGraphError,
|
|
11
7
|
absolutizeWorkerdPackageImports,
|
|
12
8
|
hasLiteralDynamicSavedPackageImports,
|
|
13
9
|
listSavedPackageImports,
|
|
14
10
|
rewriteBareKodyBuiltinImports
|
|
15
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-5BIXRCH7.js";
|
|
12
|
+
import {
|
|
13
|
+
loadPackageManifest,
|
|
14
|
+
resolveExportModulePath
|
|
15
|
+
} from "./chunk-RAZBIC6O.js";
|
|
16
16
|
|
|
17
17
|
// src/mock-local-deps.ts
|
|
18
18
|
import { access, readFile } from "node:fs/promises";
|
|
@@ -199,4 +199,4 @@ export {
|
|
|
199
199
|
tryLoadSelfManifest,
|
|
200
200
|
packageRootOf
|
|
201
201
|
};
|
|
202
|
-
//# sourceMappingURL=chunk-
|
|
202
|
+
//# sourceMappingURL=chunk-PDDX5RJS.js.map
|
|
@@ -5,18 +5,18 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
openUrl
|
|
7
7
|
} from "./chunk-GVSGNTG6.js";
|
|
8
|
+
import {
|
|
9
|
+
orgSlugFromFlag
|
|
10
|
+
} from "./chunk-CWWHR4FH.js";
|
|
8
11
|
import {
|
|
9
12
|
OpenApiError,
|
|
10
13
|
openApiGet,
|
|
11
14
|
openApiRequest
|
|
12
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-TGBFPYAY.js";
|
|
13
16
|
import {
|
|
14
17
|
isScopedApiToken,
|
|
15
18
|
notAuthenticatedMessage
|
|
16
19
|
} from "./chunk-CCRCEU7S.js";
|
|
17
|
-
import {
|
|
18
|
-
orgSlugFromFlag
|
|
19
|
-
} from "./chunk-CWWHR4FH.js";
|
|
20
20
|
import {
|
|
21
21
|
fileStorePath,
|
|
22
22
|
loadCredentialStore,
|
|
@@ -2132,4 +2132,4 @@ export {
|
|
|
2132
2132
|
ensureOpenApiCredentials,
|
|
2133
2133
|
login
|
|
2134
2134
|
};
|
|
2135
|
-
//# sourceMappingURL=chunk-
|
|
2135
|
+
//# sourceMappingURL=chunk-QI3ZICHR.js.map
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
defaultMcpUrl
|
|
4
|
+
} from "./chunk-BTL3PJ2H.js";
|
|
5
|
+
|
|
6
|
+
// src/skill.ts
|
|
7
|
+
import { spawn } from "node:child_process";
|
|
8
|
+
import { createHash, randomBytes } from "node:crypto";
|
|
9
|
+
import { mkdir, readFile, rename, unlink, writeFile } from "node:fs/promises";
|
|
10
|
+
import { basename, dirname, join } from "node:path";
|
|
11
|
+
import { fileURLToPath } from "node:url";
|
|
12
|
+
import { homedir } from "node:os";
|
|
13
|
+
var skillRelativePath = "skills/kody/SKILL.md";
|
|
14
|
+
var hostedSkillName = "kody-cli";
|
|
15
|
+
var skillFrontmatter = `---
|
|
16
|
+
name: kody
|
|
17
|
+
description: >
|
|
18
|
+
Install and bootstrap the Kody CLI, then prefer \`execute --local\` when Node
|
|
19
|
+
and a shell are available. Use when the person mentions Kody or wants local
|
|
20
|
+
execute instead of hosted Worker compute days.
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
`;
|
|
24
|
+
var hostedAgentSkillsIndexPath = "/.well-known/agent-skills/index.json";
|
|
25
|
+
function bundledSkillPath() {
|
|
26
|
+
return join(fileURLToPath(new URL("../", import.meta.url)), skillRelativePath);
|
|
27
|
+
}
|
|
28
|
+
function agentSkillsOriginFromMcpUrl(mcpUrl = defaultMcpUrl) {
|
|
29
|
+
return new URL(mcpUrl).origin;
|
|
30
|
+
}
|
|
31
|
+
function userSkillTargets(home = homedir()) {
|
|
32
|
+
return [
|
|
33
|
+
{
|
|
34
|
+
host: "Claude Code",
|
|
35
|
+
path: join(home, ".claude", "skills", "kody", "SKILL.md")
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
host: "Cursor",
|
|
39
|
+
path: join(home, ".cursor", "skills", "kody", "SKILL.md")
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
host: "Codex",
|
|
43
|
+
path: join(home, ".codex", "skills", "kody", "SKILL.md")
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
host: "Agents",
|
|
47
|
+
path: join(home, ".agents", "skills", "kody", "SKILL.md")
|
|
48
|
+
}
|
|
49
|
+
];
|
|
50
|
+
}
|
|
51
|
+
function projectSkillTargets(cwd = process.cwd()) {
|
|
52
|
+
return [
|
|
53
|
+
{
|
|
54
|
+
host: "Agents",
|
|
55
|
+
path: join(cwd, ".agents", "skills", "kody", "SKILL.md")
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
host: "Cursor",
|
|
59
|
+
path: join(cwd, ".cursor", "skills", "kody", "SKILL.md")
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
host: "Codex",
|
|
63
|
+
path: join(cwd, ".codex", "skills", "kody", "SKILL.md")
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
host: "Claude Code",
|
|
67
|
+
path: join(cwd, ".claude", "skills", "kody", "SKILL.md")
|
|
68
|
+
}
|
|
69
|
+
];
|
|
70
|
+
}
|
|
71
|
+
function sha256Digest(body) {
|
|
72
|
+
return `sha256:${createHash("sha256").update(body, "utf8").digest("hex")}`;
|
|
73
|
+
}
|
|
74
|
+
function wrapHostedSkillBody(body) {
|
|
75
|
+
const trimmed = body.replace(/^\uFEFF/, "");
|
|
76
|
+
if (trimmed.startsWith("---\n") || trimmed.startsWith("---\r\n")) {
|
|
77
|
+
return trimmed.endsWith("\n") ? trimmed : `${trimmed}
|
|
78
|
+
`;
|
|
79
|
+
}
|
|
80
|
+
const normalized = trimmed.endsWith("\n") ? trimmed : `${trimmed}
|
|
81
|
+
`;
|
|
82
|
+
return `${skillFrontmatter}${normalized}`;
|
|
83
|
+
}
|
|
84
|
+
function extractSkillBodyForDigest(fileContents) {
|
|
85
|
+
const trimmed = fileContents.replace(/^\uFEFF/, "");
|
|
86
|
+
if (!trimmed.startsWith("---")) {
|
|
87
|
+
return trimmed.endsWith("\n") ? trimmed : `${trimmed}
|
|
88
|
+
`;
|
|
89
|
+
}
|
|
90
|
+
const end = trimmed.indexOf("\n---", 3);
|
|
91
|
+
if (end === -1) {
|
|
92
|
+
return trimmed.endsWith("\n") ? trimmed : `${trimmed}
|
|
93
|
+
`;
|
|
94
|
+
}
|
|
95
|
+
const body = trimmed.slice(end + "\n---".length).replace(/^(?:\r?\n)+/, "");
|
|
96
|
+
return body.endsWith("\n") ? body : `${body}
|
|
97
|
+
`;
|
|
98
|
+
}
|
|
99
|
+
var hostedSkillFetchTimeoutMs = 5e3;
|
|
100
|
+
async function fetchHostedKodyCliSkill(input) {
|
|
101
|
+
const origin = (input.origin ?? agentSkillsOriginFromMcpUrl()).replace(
|
|
102
|
+
/\/$/,
|
|
103
|
+
""
|
|
104
|
+
);
|
|
105
|
+
const fetchImpl = input.fetchImpl ?? fetch;
|
|
106
|
+
const timeoutMs = input.timeoutMs ?? hostedSkillFetchTimeoutMs;
|
|
107
|
+
try {
|
|
108
|
+
const indexResponse = await fetchImpl(
|
|
109
|
+
`${origin}${hostedAgentSkillsIndexPath}`,
|
|
110
|
+
{
|
|
111
|
+
headers: { accept: "application/json" },
|
|
112
|
+
signal: AbortSignal.timeout(timeoutMs)
|
|
113
|
+
}
|
|
114
|
+
);
|
|
115
|
+
if (!indexResponse.ok) return null;
|
|
116
|
+
const index = await indexResponse.json();
|
|
117
|
+
const entry = index.skills?.find((skill) => skill.name === hostedSkillName);
|
|
118
|
+
if (!entry?.url || !entry.digest) return null;
|
|
119
|
+
const skillResponse = await fetchImpl(entry.url, {
|
|
120
|
+
headers: { accept: "text/markdown, text/plain;q=0.9, */*;q=0.8" },
|
|
121
|
+
signal: AbortSignal.timeout(timeoutMs)
|
|
122
|
+
});
|
|
123
|
+
if (!skillResponse.ok) return null;
|
|
124
|
+
const rawBody = await skillResponse.text();
|
|
125
|
+
const body = rawBody.endsWith("\n") ? rawBody : `${rawBody}
|
|
126
|
+
`;
|
|
127
|
+
if (sha256Digest(body) !== entry.digest) return null;
|
|
128
|
+
return {
|
|
129
|
+
body,
|
|
130
|
+
digest: entry.digest,
|
|
131
|
+
url: entry.url
|
|
132
|
+
};
|
|
133
|
+
} catch {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
async function installSkill(input) {
|
|
138
|
+
const hosted = input.sourcePath ? null : await fetchHostedKodyCliSkill({
|
|
139
|
+
origin: input.origin,
|
|
140
|
+
fetchImpl: input.fetchImpl
|
|
141
|
+
});
|
|
142
|
+
const source = input.sourcePath ?? bundledSkillPath();
|
|
143
|
+
const body = hosted ? wrapHostedSkillBody(hosted.body) : await readFile(source, "utf8");
|
|
144
|
+
const targets = input.project ? projectSkillTargets(input.cwd) : userSkillTargets(input.home);
|
|
145
|
+
for (const target of targets) {
|
|
146
|
+
await mkdir(dirname(target.path), { recursive: true });
|
|
147
|
+
await writeFile(target.path, body, "utf8");
|
|
148
|
+
}
|
|
149
|
+
return targets;
|
|
150
|
+
}
|
|
151
|
+
async function refreshInstalledSkills(input = {}) {
|
|
152
|
+
const hosted = await fetchHostedKodyCliSkill({
|
|
153
|
+
origin: input.origin,
|
|
154
|
+
fetchImpl: input.fetchImpl
|
|
155
|
+
});
|
|
156
|
+
if (!hosted) return [];
|
|
157
|
+
const nextBody = wrapHostedSkillBody(hosted.body);
|
|
158
|
+
const refreshed = [];
|
|
159
|
+
const candidates = userSkillTargets(input.home);
|
|
160
|
+
for (const target of candidates) {
|
|
161
|
+
try {
|
|
162
|
+
const current = await readFile(target.path, "utf8");
|
|
163
|
+
const currentDigest = sha256Digest(extractSkillBodyForDigest(current));
|
|
164
|
+
if (currentDigest === hosted.digest) continue;
|
|
165
|
+
await writeFileAtomic(target.path, nextBody);
|
|
166
|
+
refreshed.push(target);
|
|
167
|
+
} catch {
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return refreshed;
|
|
172
|
+
}
|
|
173
|
+
async function writeFileAtomic(path, body) {
|
|
174
|
+
const dir = dirname(path);
|
|
175
|
+
const temp = join(
|
|
176
|
+
dir,
|
|
177
|
+
`.${basename(path)}.${randomBytes(6).toString("hex")}.tmp`
|
|
178
|
+
);
|
|
179
|
+
try {
|
|
180
|
+
await writeFile(temp, body, "utf8");
|
|
181
|
+
await rename(temp, path);
|
|
182
|
+
} catch (error) {
|
|
183
|
+
try {
|
|
184
|
+
await unlink(temp);
|
|
185
|
+
} catch {
|
|
186
|
+
}
|
|
187
|
+
throw error;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
function skillRefreshEntryPath() {
|
|
191
|
+
return fileURLToPath(new URL("./skill-refresh.js", import.meta.url));
|
|
192
|
+
}
|
|
193
|
+
function scheduleDetachedSkillRefresh(input = {}) {
|
|
194
|
+
const spawnFn = input.spawnImpl ?? spawn;
|
|
195
|
+
const args = [skillRefreshEntryPath()];
|
|
196
|
+
if (input.origin) {
|
|
197
|
+
args.push("--origin", input.origin);
|
|
198
|
+
}
|
|
199
|
+
try {
|
|
200
|
+
const child = spawnFn(process.execPath, args, {
|
|
201
|
+
detached: true,
|
|
202
|
+
stdio: "ignore",
|
|
203
|
+
windowsHide: true,
|
|
204
|
+
env: {
|
|
205
|
+
...process.env,
|
|
206
|
+
KODY_SKIP_SKILL_REFRESH: "1"
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
child.on?.("error", () => {
|
|
210
|
+
});
|
|
211
|
+
child.unref();
|
|
212
|
+
} catch {
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export {
|
|
217
|
+
hostedAgentSkillsIndexPath,
|
|
218
|
+
bundledSkillPath,
|
|
219
|
+
agentSkillsOriginFromMcpUrl,
|
|
220
|
+
userSkillTargets,
|
|
221
|
+
projectSkillTargets,
|
|
222
|
+
sha256Digest,
|
|
223
|
+
wrapHostedSkillBody,
|
|
224
|
+
extractSkillBodyForDigest,
|
|
225
|
+
hostedSkillFetchTimeoutMs,
|
|
226
|
+
fetchHostedKodyCliSkill,
|
|
227
|
+
installSkill,
|
|
228
|
+
refreshInstalledSkills,
|
|
229
|
+
writeFileAtomic,
|
|
230
|
+
skillRefreshEntryPath,
|
|
231
|
+
scheduleDetachedSkillRefresh
|
|
232
|
+
};
|
|
233
|
+
//# sourceMappingURL=chunk-TCJSXIEG.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/skill.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
userCacheDir
|
|
4
|
-
} from "./chunk-BML3W5CO.js";
|
|
5
2
|
import {
|
|
6
3
|
assertTokenSafeApiUrl,
|
|
7
4
|
capabilityProxyUrl,
|
|
@@ -11,6 +8,9 @@ import {
|
|
|
11
8
|
readPackageVersion,
|
|
12
9
|
rejectedApiTokenMessage
|
|
13
10
|
} from "./chunk-CCRCEU7S.js";
|
|
11
|
+
import {
|
|
12
|
+
userCacheDir
|
|
13
|
+
} from "./chunk-BML3W5CO.js";
|
|
14
14
|
import {
|
|
15
15
|
formatUnreachableApiMessage,
|
|
16
16
|
requestSentStatus
|
|
@@ -1663,4 +1663,4 @@ export {
|
|
|
1663
1663
|
toolResultFromHttpBody,
|
|
1664
1664
|
whoamiWithApiToken
|
|
1665
1665
|
};
|
|
1666
|
-
//# sourceMappingURL=chunk-
|
|
1666
|
+
//# sourceMappingURL=chunk-TGBFPYAY.js.map
|