@kya-os/create-mcpi-app 1.3.6 ā 1.4.1
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/dist/.tsbuildinfo +1 -1
- package/dist/helpers/create.d.ts.map +1 -1
- package/dist/helpers/create.js +1 -0
- package/dist/helpers/create.js.map +1 -1
- package/dist/helpers/fetch-cloudflare-mcpi-template.d.ts +1 -0
- package/dist/helpers/fetch-cloudflare-mcpi-template.d.ts.map +1 -1
- package/dist/helpers/fetch-cloudflare-mcpi-template.js +46 -1
- package/dist/helpers/fetch-cloudflare-mcpi-template.js.map +1 -1
- package/dist/helpers/fetch-mcpi-template.d.ts +1 -0
- package/dist/helpers/fetch-mcpi-template.d.ts.map +1 -1
- package/dist/helpers/fetch-mcpi-template.js +22 -1
- package/dist/helpers/fetch-mcpi-template.js.map +1 -1
- package/dist/helpers/generate-identity.d.ts +38 -0
- package/dist/helpers/generate-identity.d.ts.map +1 -0
- package/dist/helpers/generate-identity.js +105 -0
- package/dist/helpers/generate-identity.js.map +1 -0
- package/dist/helpers/identity-manager.d.ts +23 -0
- package/dist/helpers/identity-manager.d.ts.map +1 -0
- package/dist/helpers/identity-manager.js +125 -0
- package/dist/helpers/identity-manager.js.map +1 -0
- package/dist/index.js +31 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/helpers/create.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA4CrD,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/helpers/create.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AA4CrD,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AASD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA+I3B"}
|
package/dist/helpers/create.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/helpers/create.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/helpers/create.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,wBAAwB,EACxB,cAAc,GACf,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,iCAAiC;AACjC,SAAS,gBAAgB,CAAC,GAAW,EAAE,gBAAwB;IAC7D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;QAEtC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACjE,MAAM,eAAe,GACnB,gBAAgB,CAAC,MAAM,KAAK,EAAE;YAC5B,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;YAClC,CAAC,CAAC,gBAAgB,CAAC;QAEvB,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACzC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,CAAC;gBACtD,eAAe;aAChB,CAAC;YACF,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,eAAe,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;YAC/B,SAAS,EAAE,eAAe;SAC3B,CAAC,CAAC;QAEH,OAAO,oCAAoC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAyBD;;GAEG;AACH,SAAS,wBAAwB,CAAC,WAAmB;IACnD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA6B;IAE7B,MAAM,EACJ,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,cAAc,EACd,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,SAAS,GAAG,WAAW,EACvB,gBAAgB,GAAG,qCAAqC,EACxD,eAAe,GAAG,EAAE,EACpB,YAAY,GAAG,KAAK,EACpB,aAAa,GAAG,KAAK,EACrB,aAAa,GAAG,KAAK,EACrB,QAAQ,GAAG,MAAM,EACjB,IAAI,GAAG,OAAO,EACd,QAAQ,GAAG,SAAS,EACpB,MAAM,GACP,GAAG,OAAO,CAAC;IAEZ,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,mBAAmB,GAAG,WAAW,CAAC;IAEtC,IAAI,CAAC;QACH,sCAAsC;QACtC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAE9B,0CAA0C;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAEvD,IAAI,QAAQ,KAAK,YAAY,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACrD,4DAA4D;YAC5D,MAAM,uBAAuB,CAAC,WAAW,EAAE;gBACzC,cAAc;aACf,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,QAAQ,KAAK,YAAY,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACzD,gDAAgD;YAChD,MAAM,2BAA2B,CAAC,WAAW,EAAE;gBAC7C,cAAc;gBACd,WAAW;gBACX,MAAM;aACP,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACnD,0CAA0C;YAC1C,MAAM,iBAAiB,CAAC,WAAW,EAAE;gBACnC,WAAW;gBACX,cAAc;gBACd,YAAY;aACb,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,8CAA8C;QAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YACrD,2CAA2C;YAC3C,mBAAmB;gBACjB,WAAW,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,IAAI,WAAW,IAAI,SAAS,CAAC;QAC5E,CAAC;QAED,wDAAwD;QACxD,WAAW,CAAC,WAAW,CAAC,CAAC;QAEzB,4CAA4C;QAC5C,IAAI,cAAc,EAAE,CAAC;YACnB,kDAAkD;YAClD,MAAM,YAAY,GAAG;gBACnB,SAAS,EAAE;oBACT,eAAe,EAAE;wBACf,OAAO,EAAE,gBAAgB;qBAC1B;iBACF;gBACD,QAAQ,EAAE;oBACR;wBACE,MAAM,EAAE,OAAO;wBACf,WAAW,EAAE,gBAAgB;qBAC9B;iBACF;aACF,CAAC;YAEF,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE;gBACpE,MAAM,EAAE,CAAC;aACV,CAAC,CAAC;QACL,CAAC;QAED,uEAAuE;QACvE,MAAM,YAAY,GAAG,QAAQ,KAAK,YAAY,CAAC;QAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;YAErD,sCAAsC;YACtC,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC9C,CAAC;QAED,sEAAsE;QACtE,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,wBAAwB,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,CAAC;YACxE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAC;gBACvE,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC5C,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,kFAAkF;QAClF,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CACtE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,WAAW;YACX,WAAW,EAAE,mBAAmB,IAAI,SAAS;YAC7C,eAAe,EAAE,CAAC,YAAY;YAC9B,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACrD,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7D,OAAO;YACL,OAAO,EAAE,KAAK;YACd,WAAW;YACX,WAAW,EAAE,mBAAmB,IAAI,SAAS;YAC7C,eAAe,EAAE,CAAC,YAAY;YAC9B,QAAQ,EAAE;gBACR,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aACrF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-cloudflare-mcpi-template.d.ts","sourceRoot":"","sources":["../../src/helpers/fetch-cloudflare-mcpi-template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch-cloudflare-mcpi-template.d.ts","sourceRoot":"","sources":["../../src/helpers/fetch-cloudflare-mcpi-template.ts"],"names":[],"mappings":"AAKA,UAAU,6BAA6B;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAwnCf"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import fs from "fs-extra";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import chalk from "chalk";
|
|
4
|
+
import { generateIdentity } from "./generate-identity.js";
|
|
4
5
|
/**
|
|
5
6
|
* Scaffold Cloudflare Worker MCP server
|
|
6
7
|
* Uses McpAgent from agents/mcp for MCP protocol support
|
|
7
8
|
*/
|
|
8
9
|
export async function fetchCloudflareMcpiTemplate(projectPath, options = {}) {
|
|
9
|
-
const { packageManager = "npm", projectName = path.basename(projectPath), apikey } = options;
|
|
10
|
+
const { packageManager = "npm", projectName = path.basename(projectPath), apikey, skipIdentity = false } = options;
|
|
10
11
|
// Sanitize project name for class names
|
|
11
12
|
const className = projectName
|
|
12
13
|
.replace(/[^a-zA-Z0-9]/g, "")
|
|
@@ -746,6 +747,50 @@ MCPI_ENV = "development"
|
|
|
746
747
|
# MCP_SERVER_URL = "https://your-worker.workers.dev/mcp"
|
|
747
748
|
`;
|
|
748
749
|
fs.writeFileSync(path.join(projectPath, "wrangler.toml"), wranglerContent);
|
|
750
|
+
// Generate persistent identity for Cloudflare Worker
|
|
751
|
+
if (!skipIdentity) {
|
|
752
|
+
console.log(chalk.cyan("š Generating persistent identity..."));
|
|
753
|
+
try {
|
|
754
|
+
const identity = await generateIdentity();
|
|
755
|
+
// Read existing wrangler.toml
|
|
756
|
+
const wranglerPath = path.join(projectPath, "wrangler.toml");
|
|
757
|
+
let wranglerTomlContent = fs.readFileSync(wranglerPath, "utf8");
|
|
758
|
+
// Find [vars] section and add identity environment variables
|
|
759
|
+
const varsMatch = wranglerTomlContent.match(/\[vars\]/);
|
|
760
|
+
if (varsMatch) {
|
|
761
|
+
const insertPosition = varsMatch.index + varsMatch[0].length;
|
|
762
|
+
const identityVars = `
|
|
763
|
+
# Persistent Identity (generated by create-mcpi-app)
|
|
764
|
+
# SECURITY: For production, use \`wrangler secret put\` instead of storing in wrangler.toml
|
|
765
|
+
# Development: These values work for local testing and dev deployments
|
|
766
|
+
MCP_IDENTITY_AGENT_DID = "${identity.did}"
|
|
767
|
+
MCP_IDENTITY_PRIVATE_KEY = "${identity.privateKey}"
|
|
768
|
+
MCP_IDENTITY_PUBLIC_KEY = "${identity.publicKey}"
|
|
769
|
+
|
|
770
|
+
`;
|
|
771
|
+
wranglerTomlContent =
|
|
772
|
+
wranglerTomlContent.slice(0, insertPosition) +
|
|
773
|
+
identityVars +
|
|
774
|
+
wranglerTomlContent.slice(insertPosition);
|
|
775
|
+
// Write updated wrangler.toml
|
|
776
|
+
fs.writeFileSync(wranglerPath, wranglerTomlContent);
|
|
777
|
+
console.log(chalk.green("ā
Generated persistent identity"));
|
|
778
|
+
console.log(chalk.dim(` DID: ${identity.did}`));
|
|
779
|
+
console.log(chalk.dim(` Keys stored in wrangler.toml [vars] section`));
|
|
780
|
+
console.log();
|
|
781
|
+
console.log(chalk.yellow("ā ļø Security Note:"));
|
|
782
|
+
console.log(chalk.dim(" For production, move secrets to wrangler using:"));
|
|
783
|
+
console.log(chalk.cyan(" $ wrangler secret put MCP_IDENTITY_PRIVATE_KEY"));
|
|
784
|
+
console.log();
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
catch (error) {
|
|
788
|
+
console.log(chalk.yellow("ā ļø Failed to generate identity:"), error.message);
|
|
789
|
+
console.log(chalk.dim(" You can generate one later with:"));
|
|
790
|
+
console.log(chalk.cyan(" $ npx @kya-os/create-mcpi-app regenerate-identity"));
|
|
791
|
+
console.log();
|
|
792
|
+
}
|
|
793
|
+
}
|
|
749
794
|
// Create tsconfig.json
|
|
750
795
|
const tsconfigContent = {
|
|
751
796
|
compilerOptions: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-cloudflare-mcpi-template.js","sourceRoot":"","sources":["../../src/helpers/fetch-cloudflare-mcpi-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch-cloudflare-mcpi-template.js","sourceRoot":"","sources":["../../src/helpers/fetch-cloudflare-mcpi-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-mcpi-template.d.ts","sourceRoot":"","sources":["../../src/helpers/fetch-mcpi-template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fetch-mcpi-template.d.ts","sourceRoot":"","sources":["../../src/helpers/fetch-mcpi-template.ts"],"names":[],"mappings":"AAOA,UAAU,uBAAuB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CA0Lf"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import fs from "fs-extra";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import chalk from "chalk";
|
|
4
|
+
import { generateIdentity } from "./generate-identity.js";
|
|
4
5
|
/**
|
|
5
6
|
* Scaffold MCP-I project using @kya-os/mcp-i package
|
|
6
7
|
* This creates a standalone MCP server with built-in identity features
|
|
7
8
|
*/
|
|
8
9
|
export async function fetchMCPITemplate(projectPath, options = {}) {
|
|
9
|
-
const { mcpiVersion = "^1.3.2", packageManager = "npm" } = options;
|
|
10
|
+
const { mcpiVersion = "^1.3.2", packageManager = "npm", skipIdentity = false } = options;
|
|
10
11
|
try {
|
|
11
12
|
console.log(chalk.blue(`š¦ Setting up MCP-I project with @kya-os/mcp-i@${mcpiVersion}...`));
|
|
12
13
|
// Create package.json matching our working test-mcpi structure
|
|
@@ -150,6 +151,26 @@ MCP-I server with cryptographic identity built-in.
|
|
|
150
151
|
`;
|
|
151
152
|
fs.writeFileSync(path.join(projectPath, "README.md"), readmeContent);
|
|
152
153
|
console.log(chalk.green("ā
MCP-I project structure created"));
|
|
154
|
+
// Generate persistent identity for Node.js MCP-I server
|
|
155
|
+
if (!skipIdentity) {
|
|
156
|
+
console.log(chalk.cyan("š Generating persistent identity..."));
|
|
157
|
+
try {
|
|
158
|
+
const identity = await generateIdentity();
|
|
159
|
+
// Create .mcpi directory
|
|
160
|
+
const mcpiDir = path.join(projectPath, ".mcpi");
|
|
161
|
+
fs.ensureDirSync(mcpiDir);
|
|
162
|
+
// Save identity to .mcpi/identity.json
|
|
163
|
+
const identityPath = path.join(mcpiDir, "identity.json");
|
|
164
|
+
fs.writeJsonSync(identityPath, identity, { spaces: 2 });
|
|
165
|
+
console.log(chalk.green("ā
Generated persistent identity"));
|
|
166
|
+
console.log(chalk.dim(` DID: ${identity.did}`));
|
|
167
|
+
console.log(chalk.dim(` Saved to: .mcpi/identity.json`));
|
|
168
|
+
}
|
|
169
|
+
catch (error) {
|
|
170
|
+
console.log(chalk.yellow("ā ļø Failed to generate identity:"), error.message);
|
|
171
|
+
console.log(chalk.dim(" You can generate identity later by running: npm run init"));
|
|
172
|
+
}
|
|
173
|
+
}
|
|
153
174
|
}
|
|
154
175
|
catch (error) {
|
|
155
176
|
console.error(chalk.red("Failed to set up MCP-I project:"), error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-mcpi-template.js","sourceRoot":"","sources":["../../src/helpers/fetch-mcpi-template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch-mcpi-template.js","sourceRoot":"","sources":["../../src/helpers/fetch-mcpi-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Identity Generation for MCP-I Applications
|
|
3
|
+
*
|
|
4
|
+
* Generates Ed25519 keypairs and DID:key identifiers
|
|
5
|
+
* for persistent agent identity across deployments.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Generated identity structure
|
|
9
|
+
*/
|
|
10
|
+
export interface GeneratedIdentity {
|
|
11
|
+
did: string;
|
|
12
|
+
kid: string;
|
|
13
|
+
privateKey: string;
|
|
14
|
+
publicKey: string;
|
|
15
|
+
createdAt: string;
|
|
16
|
+
type: 'development' | 'production';
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Generate a new Ed25519 identity with DID:key
|
|
20
|
+
*
|
|
21
|
+
* @returns Promise<GeneratedIdentity> - Complete identity with keys and DID
|
|
22
|
+
*/
|
|
23
|
+
export declare function generateIdentity(): Promise<GeneratedIdentity>;
|
|
24
|
+
/**
|
|
25
|
+
* Validate that a string is a valid DID:key identifier
|
|
26
|
+
*
|
|
27
|
+
* @param did - String to validate
|
|
28
|
+
* @returns boolean - True if valid DID:key format
|
|
29
|
+
*/
|
|
30
|
+
export declare function isValidDIDKey(did: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Extract the base58-encoded multicodec key from a DID:key
|
|
33
|
+
*
|
|
34
|
+
* @param did - DID:key identifier
|
|
35
|
+
* @returns string - Base58-encoded multicodec key (without 'z' prefix)
|
|
36
|
+
*/
|
|
37
|
+
export declare function extractMultibaseFromDID(did: string): string | null;
|
|
38
|
+
//# sourceMappingURL=generate-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-identity.d.ts","sourceRoot":"","sources":["../../src/helpers/generate-identity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,aAAa,GAAG,YAAY,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CA8BnE;AAqDD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIlD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOlE"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Identity Generation for MCP-I Applications
|
|
3
|
+
*
|
|
4
|
+
* Generates Ed25519 keypairs and DID:key identifiers
|
|
5
|
+
* for persistent agent identity across deployments.
|
|
6
|
+
*/
|
|
7
|
+
import { webcrypto } from 'crypto';
|
|
8
|
+
import baseX from 'base-x';
|
|
9
|
+
/**
|
|
10
|
+
* Generate a new Ed25519 identity with DID:key
|
|
11
|
+
*
|
|
12
|
+
* @returns Promise<GeneratedIdentity> - Complete identity with keys and DID
|
|
13
|
+
*/
|
|
14
|
+
export async function generateIdentity() {
|
|
15
|
+
// 1. Generate Ed25519 keypair using Web Crypto API
|
|
16
|
+
const keyPair = (await webcrypto.subtle.generateKey({
|
|
17
|
+
name: 'Ed25519',
|
|
18
|
+
}, true, // extractable
|
|
19
|
+
['sign', 'verify']));
|
|
20
|
+
// 2. Export keys in PKCS#8 (private) and SPKI (public) formats
|
|
21
|
+
const privateKeyRaw = await webcrypto.subtle.exportKey('pkcs8', keyPair.privateKey);
|
|
22
|
+
const publicKeyRaw = await webcrypto.subtle.exportKey('spki', keyPair.publicKey);
|
|
23
|
+
// 3. Convert to base64 strings for storage
|
|
24
|
+
const privateKey = Buffer.from(privateKeyRaw).toString('base64');
|
|
25
|
+
const publicKey = Buffer.from(publicKeyRaw).toString('base64');
|
|
26
|
+
// 4. Generate DID:key from public key
|
|
27
|
+
const did = generateDIDFromPublicKey(publicKey);
|
|
28
|
+
// 5. Return complete identity
|
|
29
|
+
return {
|
|
30
|
+
did,
|
|
31
|
+
kid: `${did}#key-1`,
|
|
32
|
+
privateKey,
|
|
33
|
+
publicKey,
|
|
34
|
+
createdAt: new Date().toISOString(),
|
|
35
|
+
type: 'development'
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Generate a DID:key identifier from an Ed25519 public key
|
|
40
|
+
*
|
|
41
|
+
* Following the DID:key specification:
|
|
42
|
+
* https://w3c-ccg.github.io/did-method-key/
|
|
43
|
+
*
|
|
44
|
+
* Format: did:key:z<multibase-base58btc(<multicodec-ed25519-pub><publicKey>)>
|
|
45
|
+
*
|
|
46
|
+
* @param publicKey - Base64-encoded SPKI public key
|
|
47
|
+
* @returns DID:key string (e.g., "did:key:z6Mk...")
|
|
48
|
+
*/
|
|
49
|
+
function generateDIDFromPublicKey(publicKey) {
|
|
50
|
+
// 1. Extract raw 32-byte Ed25519 public key from SPKI format
|
|
51
|
+
const publicKeyBytes = extractEd25519PublicKey(publicKey);
|
|
52
|
+
// 2. Ed25519 multicodec prefix (0xed 0x01)
|
|
53
|
+
const multicodecPrefix = new Uint8Array([0xed, 0x01]);
|
|
54
|
+
// 3. Combine multicodec prefix + public key
|
|
55
|
+
const multicodecKey = new Uint8Array(multicodecPrefix.length + publicKeyBytes.length);
|
|
56
|
+
multicodecKey.set(multicodecPrefix);
|
|
57
|
+
multicodecKey.set(publicKeyBytes, multicodecPrefix.length);
|
|
58
|
+
// 4. Encode with base58-btc (Bitcoin alphabet)
|
|
59
|
+
const base58 = baseX('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz');
|
|
60
|
+
const base58Encoded = base58.encode(multicodecKey);
|
|
61
|
+
// 5. Add multibase prefix 'z' for base58-btc
|
|
62
|
+
const multibaseEncoded = 'z' + base58Encoded;
|
|
63
|
+
return `did:key:${multibaseEncoded}`;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Extract the raw 32-byte Ed25519 public key from SPKI format
|
|
67
|
+
*
|
|
68
|
+
* SPKI (SubjectPublicKeyInfo) format:
|
|
69
|
+
* - 12-byte header (algorithm identifier)
|
|
70
|
+
* - 32-byte raw Ed25519 public key
|
|
71
|
+
*
|
|
72
|
+
* @param publicKey - Base64-encoded SPKI public key
|
|
73
|
+
* @returns Uint8Array - Raw 32-byte Ed25519 public key
|
|
74
|
+
*/
|
|
75
|
+
function extractEd25519PublicKey(publicKey) {
|
|
76
|
+
const spkiBytes = Buffer.from(publicKey, 'base64');
|
|
77
|
+
// SPKI format: 12-byte header + 32-byte public key
|
|
78
|
+
// We extract the last 32 bytes
|
|
79
|
+
return spkiBytes.slice(-32);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Validate that a string is a valid DID:key identifier
|
|
83
|
+
*
|
|
84
|
+
* @param did - String to validate
|
|
85
|
+
* @returns boolean - True if valid DID:key format
|
|
86
|
+
*/
|
|
87
|
+
export function isValidDIDKey(did) {
|
|
88
|
+
// DID:key format: did:key:z<base58-encoded-multicodec-key>
|
|
89
|
+
const didKeyRegex = /^did:key:z[1-9A-HJ-NP-Za-km-z]{47,}$/;
|
|
90
|
+
return didKeyRegex.test(did);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Extract the base58-encoded multicodec key from a DID:key
|
|
94
|
+
*
|
|
95
|
+
* @param did - DID:key identifier
|
|
96
|
+
* @returns string - Base58-encoded multicodec key (without 'z' prefix)
|
|
97
|
+
*/
|
|
98
|
+
export function extractMultibaseFromDID(did) {
|
|
99
|
+
if (!isValidDIDKey(did)) {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
// Remove "did:key:z" prefix
|
|
103
|
+
return did.slice('did:key:z'.length);
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=generate-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-identity.js","sourceRoot":"","sources":["../../src/helpers/generate-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Identity Management Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides functions for resetting and regenerating MCP-I identities
|
|
5
|
+
* for both Node.js (.mcpi/identity.json) and Cloudflare Workers (wrangler.toml).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Check if a directory is a Node.js MCP-I project
|
|
9
|
+
*/
|
|
10
|
+
export declare function isNodeMcpiProject(projectPath: string): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Check if a directory is a Cloudflare Worker MCP-I project
|
|
13
|
+
*/
|
|
14
|
+
export declare function isCloudflareProject(projectPath: string): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Reset identity by deleting existing identity files
|
|
17
|
+
*/
|
|
18
|
+
export declare function resetIdentity(projectPath?: string): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Regenerate identity by creating a new one
|
|
21
|
+
*/
|
|
22
|
+
export declare function regenerateIdentity(projectPath?: string): Promise<void>;
|
|
23
|
+
//# sourceMappingURL=identity-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../../src/helpers/identity-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAI9D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAYhE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,WAAW,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CtF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmE3F"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Identity Management Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides functions for resetting and regenerating MCP-I identities
|
|
5
|
+
* for both Node.js (.mcpi/identity.json) and Cloudflare Workers (wrangler.toml).
|
|
6
|
+
*/
|
|
7
|
+
import fs from 'fs-extra';
|
|
8
|
+
import path from 'path';
|
|
9
|
+
import chalk from 'chalk';
|
|
10
|
+
import { generateIdentity } from './generate-identity.js';
|
|
11
|
+
/**
|
|
12
|
+
* Check if a directory is a Node.js MCP-I project
|
|
13
|
+
*/
|
|
14
|
+
export function isNodeMcpiProject(projectPath) {
|
|
15
|
+
const identityPath = path.join(projectPath, '.mcpi', 'identity.json');
|
|
16
|
+
const configPath = path.join(projectPath, 'xmcp.config.ts');
|
|
17
|
+
return fs.existsSync(identityPath) || fs.existsSync(configPath);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Check if a directory is a Cloudflare Worker MCP-I project
|
|
21
|
+
*/
|
|
22
|
+
export function isCloudflareProject(projectPath) {
|
|
23
|
+
const wranglerPath = path.join(projectPath, 'wrangler.toml');
|
|
24
|
+
if (!fs.existsSync(wranglerPath)) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
// Check if wrangler.toml contains MCP-I or MCP-related content
|
|
28
|
+
const content = fs.readFileSync(wranglerPath, 'utf8');
|
|
29
|
+
return (content.includes('MCP_IDENTITY_AGENT_DID') ||
|
|
30
|
+
content.includes('[[durable_objects.bindings]]') ||
|
|
31
|
+
content.includes('AGENTSHIELD_API_KEY'));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Reset identity by deleting existing identity files
|
|
35
|
+
*/
|
|
36
|
+
export async function resetIdentity(projectPath = process.cwd()) {
|
|
37
|
+
console.log(chalk.cyan('\nš Resetting identity...'));
|
|
38
|
+
let identityFound = false;
|
|
39
|
+
// Check for Node.js project
|
|
40
|
+
const mcpiDir = path.join(projectPath, '.mcpi');
|
|
41
|
+
const identityPath = path.join(mcpiDir, 'identity.json');
|
|
42
|
+
if (fs.existsSync(identityPath)) {
|
|
43
|
+
fs.removeSync(identityPath);
|
|
44
|
+
console.log(chalk.green('ā
Removed Node.js identity file'));
|
|
45
|
+
console.log(chalk.dim(` Deleted: ${identityPath}`));
|
|
46
|
+
identityFound = true;
|
|
47
|
+
}
|
|
48
|
+
// Check for Cloudflare project
|
|
49
|
+
const wranglerPath = path.join(projectPath, 'wrangler.toml');
|
|
50
|
+
if (fs.existsSync(wranglerPath)) {
|
|
51
|
+
let content = fs.readFileSync(wranglerPath, 'utf8');
|
|
52
|
+
if (content.includes('MCP_IDENTITY_AGENT_DID')) {
|
|
53
|
+
// Remove identity variables from wrangler.toml
|
|
54
|
+
content = content.replace(/# Persistent Identity.*?\nMCP_IDENTITY_AGENT_DID = ".*?"\nMCP_IDENTITY_PRIVATE_KEY = ".*?"\nMCP_IDENTITY_PUBLIC_KEY = ".*?"\n/gs, '');
|
|
55
|
+
fs.writeFileSync(wranglerPath, content);
|
|
56
|
+
console.log(chalk.green('ā
Removed Cloudflare Worker identity variables'));
|
|
57
|
+
console.log(chalk.dim(` Updated: ${wranglerPath}`));
|
|
58
|
+
identityFound = true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Check if any identity was found
|
|
62
|
+
if (!identityFound) {
|
|
63
|
+
console.log(chalk.yellow('ā ļø No identity found to reset'));
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
console.log(chalk.green('\n⨠Identity reset complete'));
|
|
67
|
+
console.log(chalk.dim(' Run regenerate command to create a new identity'));
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Regenerate identity by creating a new one
|
|
71
|
+
*/
|
|
72
|
+
export async function regenerateIdentity(projectPath = process.cwd()) {
|
|
73
|
+
console.log(chalk.cyan('\nš Regenerating identity...'));
|
|
74
|
+
const isNode = isNodeMcpiProject(projectPath);
|
|
75
|
+
const isCloudflare = isCloudflareProject(projectPath);
|
|
76
|
+
if (!isNode && !isCloudflare) {
|
|
77
|
+
console.log(chalk.red('ā Not an MCP-I project'));
|
|
78
|
+
console.log(chalk.dim(' Could not detect .mcpi/identity.json or wrangler.toml with MCP_IDENTITY variables'));
|
|
79
|
+
process.exit(1);
|
|
80
|
+
}
|
|
81
|
+
// Generate new identity
|
|
82
|
+
const identity = await generateIdentity();
|
|
83
|
+
// Node.js project
|
|
84
|
+
if (isNode) {
|
|
85
|
+
const mcpiDir = path.join(projectPath, '.mcpi');
|
|
86
|
+
fs.ensureDirSync(mcpiDir);
|
|
87
|
+
const identityPath = path.join(mcpiDir, 'identity.json');
|
|
88
|
+
fs.writeJsonSync(identityPath, identity, { spaces: 2 });
|
|
89
|
+
console.log(chalk.green('ā
Generated new Node.js identity'));
|
|
90
|
+
console.log(chalk.dim(` DID: ${identity.did}`));
|
|
91
|
+
console.log(chalk.dim(` Saved to: ${identityPath}`));
|
|
92
|
+
}
|
|
93
|
+
// Cloudflare Worker project
|
|
94
|
+
if (isCloudflare) {
|
|
95
|
+
const wranglerPath = path.join(projectPath, 'wrangler.toml');
|
|
96
|
+
let wranglerContent = fs.readFileSync(wranglerPath, 'utf8');
|
|
97
|
+
// Remove old identity if exists
|
|
98
|
+
wranglerContent = wranglerContent.replace(/# Persistent Identity.*?\nMCP_IDENTITY_AGENT_DID = ".*?"\nMCP_IDENTITY_PRIVATE_KEY = ".*?"\nMCP_IDENTITY_PUBLIC_KEY = ".*?"\n/gs, '');
|
|
99
|
+
// Add new identity
|
|
100
|
+
const varsMatch = wranglerContent.match(/\[vars\]/);
|
|
101
|
+
if (varsMatch) {
|
|
102
|
+
const insertPosition = varsMatch.index + varsMatch[0].length;
|
|
103
|
+
const identityVars = `
|
|
104
|
+
# Persistent Identity (generated by create-mcpi-app)
|
|
105
|
+
# SECURITY: For production, use \`wrangler secret put\` instead
|
|
106
|
+
MCP_IDENTITY_AGENT_DID = "${identity.did}"
|
|
107
|
+
MCP_IDENTITY_PRIVATE_KEY = "${identity.privateKey}"
|
|
108
|
+
MCP_IDENTITY_PUBLIC_KEY = "${identity.publicKey}"
|
|
109
|
+
`;
|
|
110
|
+
wranglerContent =
|
|
111
|
+
wranglerContent.slice(0, insertPosition) +
|
|
112
|
+
identityVars +
|
|
113
|
+
wranglerContent.slice(insertPosition);
|
|
114
|
+
fs.writeFileSync(wranglerPath, wranglerContent);
|
|
115
|
+
console.log(chalk.green('ā
Generated new Cloudflare Worker identity'));
|
|
116
|
+
console.log(chalk.dim(` DID: ${identity.did}`));
|
|
117
|
+
console.log(chalk.dim(` Updated: ${wranglerPath}`));
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
console.log(chalk.yellow('ā ļø Could not find [vars] section in wrangler.toml'));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
console.log(chalk.green('\n⨠Identity regeneration complete'));
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=identity-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-manager.js","sourceRoot":"","sources":["../../src/helpers/identity-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import { checkNodeVersion } from "./utils/check-node.js";
|
|
|
10
10
|
import { createProject } from "./helpers/create.js";
|
|
11
11
|
import { createKYAOSBanner } from "./effects/index.js";
|
|
12
12
|
import { validateProjectName, validateDirectoryAvailability, } from "./utils/validate-project-name.js";
|
|
13
|
+
import { resetIdentity, regenerateIdentity } from "./helpers/identity-manager.js";
|
|
13
14
|
checkNodeVersion();
|
|
14
15
|
const __filename = fileURLToPath(import.meta.url);
|
|
15
16
|
const __dirname = path.dirname(__filename);
|
|
@@ -386,5 +387,35 @@ const program = new Command()
|
|
|
386
387
|
process.exit(1);
|
|
387
388
|
}
|
|
388
389
|
});
|
|
390
|
+
// Add subcommand for resetting identity
|
|
391
|
+
program
|
|
392
|
+
.command('reset-identity')
|
|
393
|
+
.description('Reset the current project\'s identity (removes identity files)')
|
|
394
|
+
.option('-d, --dir <directory>', 'Project directory (defaults to current directory)')
|
|
395
|
+
.action(async (options) => {
|
|
396
|
+
try {
|
|
397
|
+
const projectPath = options.dir ? path.resolve(process.cwd(), options.dir) : process.cwd();
|
|
398
|
+
await resetIdentity(projectPath);
|
|
399
|
+
}
|
|
400
|
+
catch (error) {
|
|
401
|
+
console.error(chalk.red('Failed to reset identity:'), error);
|
|
402
|
+
process.exit(1);
|
|
403
|
+
}
|
|
404
|
+
});
|
|
405
|
+
// Add subcommand for regenerating identity
|
|
406
|
+
program
|
|
407
|
+
.command('regenerate-identity')
|
|
408
|
+
.description('Regenerate the current project\'s identity (creates new DID and keys)')
|
|
409
|
+
.option('-d, --dir <directory>', 'Project directory (defaults to current directory)')
|
|
410
|
+
.action(async (options) => {
|
|
411
|
+
try {
|
|
412
|
+
const projectPath = options.dir ? path.resolve(process.cwd(), options.dir) : process.cwd();
|
|
413
|
+
await regenerateIdentity(projectPath);
|
|
414
|
+
}
|
|
415
|
+
catch (error) {
|
|
416
|
+
console.error(chalk.red('Failed to regenerate identity:'), error);
|
|
417
|
+
process.exit(1);
|
|
418
|
+
}
|
|
419
|
+
});
|
|
389
420
|
program.parse(process.argv);
|
|
390
421
|
//# sourceMappingURL=index.js.map
|