@clawos-dev/clawd 0.2.731 → 0.2.732
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/cli.cjs +16 -4
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -63114,6 +63114,7 @@ var UNPUBLISH_WORKFLOW_FILE = "clawd-unpublish.yml";
|
|
|
63114
63114
|
var UNPUBLISH_WORKFLOW_PATH = `.github/workflows/${UNPUBLISH_WORKFLOW_FILE}`;
|
|
63115
63115
|
var DOCKERFILE_PATH = "Dockerfile";
|
|
63116
63116
|
var DOCKERIGNORE_PATH = ".dockerignore";
|
|
63117
|
+
var INSTALL_FILE_PATH = ".clawd/deploy-install.json";
|
|
63117
63118
|
var ACR_REGISTRY = "registry.cn-hangzhou.aliyuncs.com";
|
|
63118
63119
|
var ACR_VPC_REGISTRY = "registry-vpc.cn-hangzhou.aliyuncs.com";
|
|
63119
63120
|
var ACR_NAMESPACE = "ttc-prod";
|
|
@@ -63140,6 +63141,13 @@ function mergeGitignore(existing) {
|
|
|
63140
63141
|
function personaIdOf(repoName) {
|
|
63141
63142
|
return String(repoName).toLowerCase().replace(/[^a-z0-9-]/g, "-").replace(/^-+|-+$/g, "").slice(0, 40);
|
|
63142
63143
|
}
|
|
63144
|
+
function renderInstallFile(deployFileRaw) {
|
|
63145
|
+
const parsed = JSON.parse(deployFileRaw);
|
|
63146
|
+
const manifest = parsed.manifest ?? parsed;
|
|
63147
|
+
const assets = Array.isArray(manifest.assets) && manifest.assets.length ? { assets: manifest.assets } : {};
|
|
63148
|
+
return `${JSON.stringify({ version: 1, manifest: { packages: manifest.packages ?? manifest.clis ?? [], ...assets } }, null, 2)}
|
|
63149
|
+
`;
|
|
63150
|
+
}
|
|
63143
63151
|
function renderDockerfile(personaId2, baseImage) {
|
|
63144
63152
|
if (typeof baseImage !== "string" || !/^[a-z0-9.-]+(?::[0-9]+)?\/[a-z0-9._/-]+@sha256:[a-f0-9]{64}$/.test(baseImage)) throw new Error("base image must be a complete digest reference");
|
|
63145
63153
|
if (!/^[a-z0-9][a-z0-9-]{0,39}$/.test(personaId2)) throw new Error(`persona id \u4E0D\u5408\u5F62\u72B6\uFF08[a-z0-9-]\uFF0C\u226440\uFF09\uFF1A${JSON.stringify(personaId2)}`);
|
|
@@ -63149,9 +63157,11 @@ function renderDockerfile(personaId2, baseImage) {
|
|
|
63149
63157
|
"# \u7531 clawd \u751F\u6210\u3001\u7531 clawd \u7EF4\u62A4\uFF1A\u6BCF\u6B21\u300C\u53D1\u5E03\u300D\u90FD\u4F1A\u7528\u5F53\u524D\u6A21\u677F\u91CD\u5199\u8FD9\u4EFD\u6587\u4EF6\u518D\u63D0\u4EA4\uFF0C\u624B\u6539\u4F1A\u88AB\u76D6\u6389\u3002",
|
|
63150
63158
|
"# \u963F\u91CC\u4E91\u5BB9\u5668\u955C\u50CF\u670D\u52A1\uFF08ACR\uFF09\u4ECE\u8FD9\u4E2A\u4ED3\u5E93\u6784 persona \u955C\u50CF\u65F6\u7528\u5B83\uFF1BGitHub \u7684 runner \u4E0D\u6784\u3001\u4E0D\u63A8\u955C\u50CF\u3002",
|
|
63151
63159
|
"# \u8981\u88C5\u4EC0\u4E48\u5199\u5728 .clawd/deploy.json \u91CC\uFF0C\u7531\u5E95\u5EA7\u81EA\u5E26\u7684\u5B89\u88C5\u5668\u5728\u6784\u5EFA\u65F6\u73B0\u88C5\u2014\u2014\u8FD9\u91CC\u4E0D\u5217\u4EFB\u4F55\u4E00\u6761\u4F9D\u8D56\uFF0C",
|
|
63152
|
-
"# \u6240\u4EE5\u6587\u4EF6\u4E0D\u968F\u6E05\u5355\u53D8\uFF1B\u5148\u53EA\u62F7\u6E05\u5355\u518D\u88C5\uFF0Cpersona \u5185\u5BB9\u6539\u4E86\u4E5F\u4E0D\u7528\u91CD\u88C5\u3002",
|
|
63160
|
+
"# \u6240\u4EE5\u6587\u4EF6\u4E0D\u968F\u6E05\u5355\u53D8\uFF1B\u5148\u53EA\u62F7\u5B89\u88C5\u6E05\u5355\uFF08deploy-install.json\uFF0C\u53EA\u542B\u8981\u88C5\u7684\u4E1C\u897F\uFF09\u518D\u88C5\uFF0Cpersona \u5185\u5BB9\u6216\u51ED\u636E\u914D\u7F6E\u6539\u4E86\u4E5F\u4E0D\u7528\u91CD\u88C5\u3002",
|
|
63161
|
+
"# deploy-install.json \u7531\u53D1\u5E03\u65F6\u4ECE deploy.json \u751F\u6210\uFF1A\u6539\u8981\u88C5\u7684\u5305\u987B\u7ECF clawd \u53D1\u5E03\uFF0C\u624B\u6539 deploy.json \u518D push \u4E0D\u4F1A\u751F\u6548\u3002",
|
|
63153
63162
|
`FROM ${fromImage}`,
|
|
63154
|
-
|
|
63163
|
+
// 拷到安装器读的位置;最后一条 COPY . 再用完整的 deploy.json 盖回来
|
|
63164
|
+
`COPY ${INSTALL_FILE_PATH} ${dir}/.clawd/deploy.json`,
|
|
63155
63165
|
`RUN node ${PERSONA_LAYER_SCRIPT} ${dir}`,
|
|
63156
63166
|
`COPY . ${dir}/`,
|
|
63157
63167
|
""
|
|
@@ -63293,7 +63303,7 @@ var runCommand = (cmd, args, opts = {}) => new Promise((resolve9) => {
|
|
|
63293
63303
|
// src/deploy/repo.ts
|
|
63294
63304
|
var DEPLOY_FILE_REL = DEPLOY_FILE.split(import_node_path44.default.sep).join("/");
|
|
63295
63305
|
var PERSONA_FILE_REL = ".clawd/persona.json";
|
|
63296
|
-
var DIRTY_IGNORED = [DEPLOY_FILE_REL, PERSONA_FILE_REL];
|
|
63306
|
+
var DIRTY_IGNORED = [DEPLOY_FILE_REL, PERSONA_FILE_REL, INSTALL_FILE_PATH];
|
|
63297
63307
|
var RepoError = class extends Error {
|
|
63298
63308
|
};
|
|
63299
63309
|
var tail = (s2, n2 = 400) => s2.trim().slice(-n2);
|
|
@@ -63452,6 +63462,8 @@ async function writeDockerfile(dir, personaId2, image) {
|
|
|
63452
63462
|
`);
|
|
63453
63463
|
await import_promises5.default.writeFile(import_node_path44.default.join(dir, DOCKERFILE_PATH), renderDockerfile(personaId2, baseImage));
|
|
63454
63464
|
await import_promises5.default.writeFile(import_node_path44.default.join(dir, DOCKERIGNORE_PATH), DOCKERIGNORE_TEMPLATE);
|
|
63465
|
+
const deployFile = await readDeployFileRaw(dir);
|
|
63466
|
+
if (deployFile !== void 0) await import_promises5.default.writeFile(import_node_path44.default.join(dir, INSTALL_FILE_PATH), renderInstallFile(deployFile));
|
|
63455
63467
|
}
|
|
63456
63468
|
var RepoAlreadyExistsError = class extends RepoError {
|
|
63457
63469
|
constructor(slug) {
|
|
@@ -76169,7 +76181,7 @@ function computeMethodAccess(args) {
|
|
|
76169
76181
|
}
|
|
76170
76182
|
|
|
76171
76183
|
// src/version.ts
|
|
76172
|
-
var version = "0.2.
|
|
76184
|
+
var version = "0.2.732".length > 0 ? "0.2.732" : "dev";
|
|
76173
76185
|
|
|
76174
76186
|
// src/cli-probe/probe.ts
|
|
76175
76187
|
var fs87 = __toESM(require("fs"), 1);
|