@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.
Files changed (2) hide show
  1. package/dist/cli.cjs +16 -4
  2. 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
- `COPY .clawd/deploy.json ${dir}/.clawd/deploy.json`,
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.731".length > 0 ? "0.2.731" : "dev";
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);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawos-dev/clawd",
3
- "version": "0.2.731",
3
+ "version": "0.2.732",
4
4
  "description": "Standalone clawd daemon — Claude Code (and future Codex) session server over WebSocket",
5
5
  "type": "module",
6
6
  "license": "MIT",