@clawos-dev/clawd 0.2.477 → 0.2.479
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/app-builder-plugin/mcp-server.cjs +4 -8
- package/dist/cli.cjs +11 -30
- package/dist/dispatch/mcp-server.cjs +4 -8
- package/dist/persona-defaults/persona-clawd-butler/.claude/skills/scan-persona-for-deploy/SKILL.md +1 -1
- package/dist/share-ui/assets/{guest-BLf7JoUY.js → guest-y_9cQDmY.js} +132 -132
- package/dist/share-ui/guest.html +1 -1
- package/package.json +1 -1
|
@@ -21344,12 +21344,9 @@ var EnvEvidenceSchema = external_exports.object({
|
|
|
21344
21344
|
});
|
|
21345
21345
|
|
|
21346
21346
|
// ../protocol/src/deploy-schemas.ts
|
|
21347
|
-
var FulfillmentSchema = external_exports.enum(["deployer", "user"]);
|
|
21348
21347
|
var DeployFileSchema = external_exports.object({
|
|
21349
21348
|
version: external_exports.literal(1),
|
|
21350
|
-
manifest: EnvironmentManifestSchema
|
|
21351
|
-
/** secret name → 谁提供。缺席 = 还没定 */
|
|
21352
|
-
fulfillment: external_exports.record(external_exports.string(), FulfillmentSchema).default({})
|
|
21349
|
+
manifest: EnvironmentManifestSchema
|
|
21353
21350
|
}).strict();
|
|
21354
21351
|
var DeployScanStatusSchema = external_exports.enum(["scanning", "done", "failed"]);
|
|
21355
21352
|
var DeployScanSchema = external_exports.object({
|
|
@@ -21400,7 +21397,6 @@ var DeployPersonaArgsSchema = external_exports.object({
|
|
|
21400
21397
|
var DeployPatchArgsSchema = external_exports.object({
|
|
21401
21398
|
personaId: external_exports.string().min(1),
|
|
21402
21399
|
patch: external_exports.object({
|
|
21403
|
-
fulfillment: external_exports.record(external_exports.string(), FulfillmentSchema).optional(),
|
|
21404
21400
|
// 人工补依赖;整份替换 manifest
|
|
21405
21401
|
manifest: EnvironmentManifestSchema.optional()
|
|
21406
21402
|
}).strict()
|
|
@@ -23884,7 +23880,7 @@ var METHOD_DOCS = {
|
|
|
23884
23880
|
},
|
|
23885
23881
|
// ---- deploy:*(persona 上云:persona 目录 = git 仓库工作树,发布 = 推送触发仓库流水线)----
|
|
23886
23882
|
"deploy:start": {
|
|
23887
|
-
summary: "\u5BF9\u67D0\u4E2A persona \u8D77\u4E00\u6B21\u4E0A\u4E91\u626B\u63CF\u3002**\u6CA1\u4ED3\u5E93\u5148\u5EFA\u4ED3**\uFF08gh repo create\uFF0C\u5EFA\u5728\u7EC4\u7EC7\u4E0B\u3001\u79C1\u6709\u3001\u63A8\u9996\u4E2A\u63D0\u4EA4\uFF09\uFF0C\u518D\u8D77 persona-butler \u7684\u626B\u63CF\u4F1A\u8BDD\uFF0C\u7ED3\u679C\u5199\u8FDB persona \u76EE\u5F55\u7684 .clawd/deploy.json \uFF08\u6E05\u5355
|
|
23883
|
+
summary: "\u5BF9\u67D0\u4E2A persona \u8D77\u4E00\u6B21\u4E0A\u4E91\u626B\u63CF\u3002**\u6CA1\u4ED3\u5E93\u5148\u5EFA\u4ED3**\uFF08gh repo create\uFF0C\u5EFA\u5728\u7EC4\u7EC7\u4E0B\u3001\u79C1\u6709\u3001\u63A8\u9996\u4E2A\u63D0\u4EA4\uFF09\uFF0C\u518D\u8D77 persona-butler \u7684\u626B\u63CF\u4F1A\u8BDD\uFF0C\u7ED3\u679C\u5199\u8FDB persona \u76EE\u5F55\u7684 .clawd/deploy.json \uFF08\u73AF\u5883\u6E05\u5355\uFF0C\u8FDB\u4ED3\u5E93\uFF09\u4E0E .clawd/deploy-scan.json\uFF08\u8BC1\u636E\uFF0C\u4E0D\u8FDB\u4ED3\u5E93\uFF09\u3002\u5DF2\u7ECF\u5728\u626B\u7684\u8BDD\u539F\u6837\u8FD4\u56DE\u3001\u4E0D\u8D77\u7B2C\u4E8C\u4E2A\u626B\u63CF\u4F1A\u8BDD\uFF1Bowner-only",
|
|
23888
23884
|
args: DeployPersonaArgsSchema
|
|
23889
23885
|
},
|
|
23890
23886
|
"deploy:get": {
|
|
@@ -23892,7 +23888,7 @@ var METHOD_DOCS = {
|
|
|
23892
23888
|
args: DeployPersonaArgsSchema
|
|
23893
23889
|
},
|
|
23894
23890
|
"deploy:patch": {
|
|
23895
|
-
summary: "\u7F16\u8F91\u90E8\u7F72\u6587\u4EF6\uFF1A\
|
|
23891
|
+
summary: "\u7F16\u8F91\u90E8\u7F72\u6587\u4EF6\uFF1A\u624B\u5DE5\u8865\u4F9D\u8D56\u3002**\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u4F20\u51ED\u636E\u7684\u503C**\uFF08\u503C\u8D70 deploy:putSecret\uFF09\uFF1Bowner-only",
|
|
23896
23892
|
args: DeployPatchArgsSchema
|
|
23897
23893
|
},
|
|
23898
23894
|
"deploy:putSecret": {
|
|
@@ -23908,7 +23904,7 @@ var METHOD_DOCS = {
|
|
|
23908
23904
|
args: DeployFinishScanArgsSchema
|
|
23909
23905
|
},
|
|
23910
23906
|
"deploy:release": {
|
|
23911
|
-
summary: "\u53D1\u5E03 = \u63D0\u4EA4\u5E76\u63A8\u9001\u5230\u4ED3\u5E93\uFF1A\u91CD\u5199 workflow \u6A21\u677F \u2192 git add -A \u2192 \u7A7A\u63D0\u4EA4\u4E5F\u5141\u8BB8 \u2192 push\u3002\u4ED3\u5E93\u91CC\u7684\u6D41\u6C34\u7EBF\u63A5\u7740\u6784\u955C\u50CF\u3001\u5728\u96C6\u7FA4\u4E0A\u771F\u8D77\u4E00\u6B21\u3001\u767B\u8BB0\u6210\u6B63\u5F0F\uFF0C\u8FDB\u5EA6\u5728 GitHub Actions \u770B\u3002\u524D\u7F6E\uFF1A\u5DF2\u7ED1\u5B9A\u4ED3\u5E93\u3001\u6709\u6E05\u5355\u3001\u6BCF\
|
|
23907
|
+
summary: "\u53D1\u5E03 = \u63D0\u4EA4\u5E76\u63A8\u9001\u5230\u4ED3\u5E93\uFF1A\u91CD\u5199 workflow \u6A21\u677F \u2192 git add -A \u2192 \u7A7A\u63D0\u4EA4\u4E5F\u5141\u8BB8 \u2192 push\u3002\u4ED3\u5E93\u91CC\u7684\u6D41\u6C34\u7EBF\u63A5\u7740\u6784\u955C\u50CF\u3001\u5728\u96C6\u7FA4\u4E0A\u771F\u8D77\u4E00\u6B21\u3001\u767B\u8BB0\u6210\u6B63\u5F0F\uFF0C\u8FDB\u5EA6\u5728 GitHub Actions \u770B\u3002\u524D\u7F6E\uFF1A\u5DF2\u7ED1\u5B9A\u4ED3\u5E93\u3001\u6709\u6E05\u5355\u3001\u6BCF\u4E2A\u53D8\u91CF\u540D\u90FD\u5728 Secrets \u91CC\uFF1Bowner-only",
|
|
23912
23908
|
args: DeployPersonaArgsSchema
|
|
23913
23909
|
},
|
|
23914
23910
|
"shift:list": {
|
package/dist/cli.cjs
CHANGED
|
@@ -6025,18 +6025,15 @@ var init_environment_schemas = __esm({
|
|
|
6025
6025
|
function repoSlug(url) {
|
|
6026
6026
|
return url.trim().replace(/^git@[^:]+:/, "").replace(/^https?:\/\/[^/]+\//, "").replace(/\.git$/, "");
|
|
6027
6027
|
}
|
|
6028
|
-
var
|
|
6028
|
+
var DeployFileSchema, DeployScanStatusSchema, DeployScanSchema, DeployRepoSchema, DeploySecretPresenceSchema, DeployStateSchema, DeployReleaseResultSchema, DeployPersonaArgsSchema, DeployPatchArgsSchema, DeployPutSecretArgsSchema, DeployReportFindingArgsSchema, DeployFinishScanArgsSchema, PERSONA_REPO_ORG;
|
|
6029
6029
|
var init_deploy_schemas = __esm({
|
|
6030
6030
|
"../protocol/src/deploy-schemas.ts"() {
|
|
6031
6031
|
"use strict";
|
|
6032
6032
|
init_zod();
|
|
6033
6033
|
init_environment_schemas();
|
|
6034
|
-
FulfillmentSchema = external_exports.enum(["deployer", "user"]);
|
|
6035
6034
|
DeployFileSchema = external_exports.object({
|
|
6036
6035
|
version: external_exports.literal(1),
|
|
6037
|
-
manifest: EnvironmentManifestSchema
|
|
6038
|
-
/** secret name → 谁提供。缺席 = 还没定 */
|
|
6039
|
-
fulfillment: external_exports.record(external_exports.string(), FulfillmentSchema).default({})
|
|
6036
|
+
manifest: EnvironmentManifestSchema
|
|
6040
6037
|
}).strict();
|
|
6041
6038
|
DeployScanStatusSchema = external_exports.enum(["scanning", "done", "failed"]);
|
|
6042
6039
|
DeployScanSchema = external_exports.object({
|
|
@@ -6087,7 +6084,6 @@ var init_deploy_schemas = __esm({
|
|
|
6087
6084
|
DeployPatchArgsSchema = external_exports.object({
|
|
6088
6085
|
personaId: external_exports.string().min(1),
|
|
6089
6086
|
patch: external_exports.object({
|
|
6090
|
-
fulfillment: external_exports.record(external_exports.string(), FulfillmentSchema).optional(),
|
|
6091
6087
|
// 人工补依赖;整份替换 manifest
|
|
6092
6088
|
manifest: EnvironmentManifestSchema.optional()
|
|
6093
6089
|
}).strict()
|
|
@@ -8836,7 +8832,7 @@ var init_methods = __esm({
|
|
|
8836
8832
|
},
|
|
8837
8833
|
// ---- deploy:*(persona 上云:persona 目录 = git 仓库工作树,发布 = 推送触发仓库流水线)----
|
|
8838
8834
|
"deploy:start": {
|
|
8839
|
-
summary: "\u5BF9\u67D0\u4E2A persona \u8D77\u4E00\u6B21\u4E0A\u4E91\u626B\u63CF\u3002**\u6CA1\u4ED3\u5E93\u5148\u5EFA\u4ED3**\uFF08gh repo create\uFF0C\u5EFA\u5728\u7EC4\u7EC7\u4E0B\u3001\u79C1\u6709\u3001\u63A8\u9996\u4E2A\u63D0\u4EA4\uFF09\uFF0C\u518D\u8D77 persona-butler \u7684\u626B\u63CF\u4F1A\u8BDD\uFF0C\u7ED3\u679C\u5199\u8FDB persona \u76EE\u5F55\u7684 .clawd/deploy.json \uFF08\u6E05\u5355
|
|
8835
|
+
summary: "\u5BF9\u67D0\u4E2A persona \u8D77\u4E00\u6B21\u4E0A\u4E91\u626B\u63CF\u3002**\u6CA1\u4ED3\u5E93\u5148\u5EFA\u4ED3**\uFF08gh repo create\uFF0C\u5EFA\u5728\u7EC4\u7EC7\u4E0B\u3001\u79C1\u6709\u3001\u63A8\u9996\u4E2A\u63D0\u4EA4\uFF09\uFF0C\u518D\u8D77 persona-butler \u7684\u626B\u63CF\u4F1A\u8BDD\uFF0C\u7ED3\u679C\u5199\u8FDB persona \u76EE\u5F55\u7684 .clawd/deploy.json \uFF08\u73AF\u5883\u6E05\u5355\uFF0C\u8FDB\u4ED3\u5E93\uFF09\u4E0E .clawd/deploy-scan.json\uFF08\u8BC1\u636E\uFF0C\u4E0D\u8FDB\u4ED3\u5E93\uFF09\u3002\u5DF2\u7ECF\u5728\u626B\u7684\u8BDD\u539F\u6837\u8FD4\u56DE\u3001\u4E0D\u8D77\u7B2C\u4E8C\u4E2A\u626B\u63CF\u4F1A\u8BDD\uFF1Bowner-only",
|
|
8840
8836
|
args: DeployPersonaArgsSchema
|
|
8841
8837
|
},
|
|
8842
8838
|
"deploy:get": {
|
|
@@ -8844,7 +8840,7 @@ var init_methods = __esm({
|
|
|
8844
8840
|
args: DeployPersonaArgsSchema
|
|
8845
8841
|
},
|
|
8846
8842
|
"deploy:patch": {
|
|
8847
|
-
summary: "\u7F16\u8F91\u90E8\u7F72\u6587\u4EF6\uFF1A\
|
|
8843
|
+
summary: "\u7F16\u8F91\u90E8\u7F72\u6587\u4EF6\uFF1A\u624B\u5DE5\u8865\u4F9D\u8D56\u3002**\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u4F20\u51ED\u636E\u7684\u503C**\uFF08\u503C\u8D70 deploy:putSecret\uFF09\uFF1Bowner-only",
|
|
8848
8844
|
args: DeployPatchArgsSchema
|
|
8849
8845
|
},
|
|
8850
8846
|
"deploy:putSecret": {
|
|
@@ -8860,7 +8856,7 @@ var init_methods = __esm({
|
|
|
8860
8856
|
args: DeployFinishScanArgsSchema
|
|
8861
8857
|
},
|
|
8862
8858
|
"deploy:release": {
|
|
8863
|
-
summary: "\u53D1\u5E03 = \u63D0\u4EA4\u5E76\u63A8\u9001\u5230\u4ED3\u5E93\uFF1A\u91CD\u5199 workflow \u6A21\u677F \u2192 git add -A \u2192 \u7A7A\u63D0\u4EA4\u4E5F\u5141\u8BB8 \u2192 push\u3002\u4ED3\u5E93\u91CC\u7684\u6D41\u6C34\u7EBF\u63A5\u7740\u6784\u955C\u50CF\u3001\u5728\u96C6\u7FA4\u4E0A\u771F\u8D77\u4E00\u6B21\u3001\u767B\u8BB0\u6210\u6B63\u5F0F\uFF0C\u8FDB\u5EA6\u5728 GitHub Actions \u770B\u3002\u524D\u7F6E\uFF1A\u5DF2\u7ED1\u5B9A\u4ED3\u5E93\u3001\u6709\u6E05\u5355\u3001\u6BCF\
|
|
8859
|
+
summary: "\u53D1\u5E03 = \u63D0\u4EA4\u5E76\u63A8\u9001\u5230\u4ED3\u5E93\uFF1A\u91CD\u5199 workflow \u6A21\u677F \u2192 git add -A \u2192 \u7A7A\u63D0\u4EA4\u4E5F\u5141\u8BB8 \u2192 push\u3002\u4ED3\u5E93\u91CC\u7684\u6D41\u6C34\u7EBF\u63A5\u7740\u6784\u955C\u50CF\u3001\u5728\u96C6\u7FA4\u4E0A\u771F\u8D77\u4E00\u6B21\u3001\u767B\u8BB0\u6210\u6B63\u5F0F\uFF0C\u8FDB\u5EA6\u5728 GitHub Actions \u770B\u3002\u524D\u7F6E\uFF1A\u5DF2\u7ED1\u5B9A\u4ED3\u5E93\u3001\u6709\u6E05\u5355\u3001\u6BCF\u4E2A\u53D8\u91CF\u540D\u90FD\u5728 Secrets \u91CC\uFF1Bowner-only",
|
|
8864
8860
|
args: DeployPersonaArgsSchema
|
|
8865
8861
|
},
|
|
8866
8862
|
"shift:list": {
|
|
@@ -54676,7 +54672,7 @@ async function writeScan(dir, scan) {
|
|
|
54676
54672
|
await writeJson(import_node_path30.default.join(dir, SCAN_FILE), DeployScanSchema.parse(scan));
|
|
54677
54673
|
}
|
|
54678
54674
|
function emptyDeployFile() {
|
|
54679
|
-
return { version: 1, manifest: { version: 1, clis: [], secrets: [], assets: [] }
|
|
54675
|
+
return { version: 1, manifest: { version: 1, clis: [], secrets: [], assets: [] } };
|
|
54680
54676
|
}
|
|
54681
54677
|
function parseFinding(kind, item) {
|
|
54682
54678
|
const schema = kind === "cli" ? EnvCliSchema : kind === "secret" ? EnvSecretSchema : EnvAssetSchema;
|
|
@@ -54766,11 +54762,8 @@ var L = [
|
|
|
54766
54762
|
" outputs:",
|
|
54767
54763
|
" tag: ${{ steps.plan.outputs.tag }}",
|
|
54768
54764
|
" image: ${{ steps.plan.outputs.image }}",
|
|
54769
|
-
" deploy_id: ${{ steps.plan.outputs.deploy_id }}",
|
|
54770
54765
|
" persona_id: ${{ steps.plan.outputs.persona_id }}",
|
|
54771
54766
|
" env_names: ${{ steps.plan.outputs.env_names }}",
|
|
54772
|
-
" deployer_env_names: ${{ steps.plan.outputs.deployer_env_names }}",
|
|
54773
|
-
" user_secrets: ${{ steps.plan.outputs.user_secrets }}",
|
|
54774
54767
|
" steps:",
|
|
54775
54768
|
" - name: Checkout persona",
|
|
54776
54769
|
" uses: actions/checkout@v4",
|
|
@@ -54891,7 +54884,6 @@ var L = [
|
|
|
54891
54884
|
" run: |",
|
|
54892
54885
|
" node clawos/cloud-host/pipeline/smoke.mjs \\",
|
|
54893
54886
|
" --image '${{ needs.build.outputs.image }}' \\",
|
|
54894
|
-
" --deploy-id '${{ needs.build.outputs.deploy_id }}' \\",
|
|
54895
54887
|
" --persona-id '${{ needs.build.outputs.persona_id }}' \\",
|
|
54896
54888
|
" --run-number '${{ github.run_number }}'",
|
|
54897
54889
|
"",
|
|
@@ -54916,12 +54908,10 @@ var L = [
|
|
|
54916
54908
|
" CLAWD_GATEWAY_URL: ${{ vars.CLAWD_GATEWAY_URL }}",
|
|
54917
54909
|
" CLAWD_GATEWAY_ADMIN_KEY: ${{ secrets.CLAWD_GATEWAY_ADMIN_KEY }}",
|
|
54918
54910
|
" CLAWD_SECRETS_JSON: ${{ toJSON(secrets) }}",
|
|
54919
|
-
"
|
|
54920
|
-
" CLAWD_USER_SECRETS: ${{ needs.build.outputs.user_secrets }}",
|
|
54911
|
+
" CLAWD_ENV_NAMES: ${{ needs.build.outputs.env_names }}",
|
|
54921
54912
|
" run: |",
|
|
54922
54913
|
" node clawos/cloud-host/pipeline/register.mjs \\",
|
|
54923
54914
|
" --image '${{ needs.build.outputs.image }}' \\",
|
|
54924
|
-
" --deploy-id '${{ needs.build.outputs.deploy_id }}' \\",
|
|
54925
54915
|
" --persona-id '${{ needs.build.outputs.persona_id }}'",
|
|
54926
54916
|
""
|
|
54927
54917
|
];
|
|
@@ -55242,7 +55232,7 @@ function buildDeployHandlers(deps) {
|
|
|
55242
55232
|
secretsCache.delete(personaId2);
|
|
55243
55233
|
}
|
|
55244
55234
|
const prev = await readDeployFile(dir).catch(() => void 0);
|
|
55245
|
-
await writeDeployFile(dir,
|
|
55235
|
+
await writeDeployFile(dir, emptyDeployFile());
|
|
55246
55236
|
const startedAt = deps.now();
|
|
55247
55237
|
await writeScan(dir, { status: "scanning", evidence: [], notes: [], scannedAssets: [], startedAt });
|
|
55248
55238
|
const started = deps.startScan(personaId2);
|
|
@@ -55272,16 +55262,9 @@ function buildDeployHandlers(deps) {
|
|
|
55272
55262
|
const args = parseArgs2(DeployPatchArgsSchema, frame, "deploy:patch");
|
|
55273
55263
|
const dir = mustPersona(args.personaId);
|
|
55274
55264
|
const file = await readDeployFile(dir) ?? emptyDeployFile();
|
|
55275
|
-
if (args.patch.fulfillment) {
|
|
55276
|
-
const declared = new Set((args.patch.manifest ?? file.manifest).secrets.map((s) => s.name));
|
|
55277
|
-
for (const name of Object.keys(args.patch.fulfillment)) {
|
|
55278
|
-
if (!declared.has(name)) throw invalid(`\u6E05\u5355\u91CC\u6CA1\u6709\u53EB\u300C${name}\u300D\u7684\u51ED\u636E`);
|
|
55279
|
-
}
|
|
55280
|
-
}
|
|
55281
55265
|
const next = {
|
|
55282
55266
|
...file,
|
|
55283
|
-
...args.patch.manifest ? { manifest: args.patch.manifest } : {}
|
|
55284
|
-
...args.patch.fulfillment ? { fulfillment: { ...file.fulfillment, ...args.patch.fulfillment } } : {}
|
|
55267
|
+
...args.patch.manifest ? { manifest: args.patch.manifest } : {}
|
|
55285
55268
|
};
|
|
55286
55269
|
await writeDeployFile(dir, next);
|
|
55287
55270
|
return view(args.personaId);
|
|
@@ -55358,8 +55341,6 @@ function buildDeployHandlers(deps) {
|
|
|
55358
55341
|
if (scan?.status === "scanning") throw invalid("\u626B\u63CF\u8FD8\u6CA1\u7ED3\u675F");
|
|
55359
55342
|
if (scan?.status !== "done") throw invalid(scan?.status === "failed" ? "\u4E0A\u6B21\u626B\u63CF\u5931\u8D25\u4E86\uFF0C\u5148\u91CD\u65B0\u626B\u63CF" : "\u8FD8\u6CA1\u626B\u63CF\u8FC7\uFF0C\u5148\u626B\u63CF");
|
|
55360
55343
|
const blockers = [];
|
|
55361
|
-
const undecided = file.manifest.secrets.filter((s) => !file.fulfillment[s.name]).map((s) => `\u300C${s.name}\u300D\u8FD8\u6CA1\u5B9A\u8C01\u51FA`);
|
|
55362
|
-
blockers.push(...undecided);
|
|
55363
55344
|
let present;
|
|
55364
55345
|
try {
|
|
55365
55346
|
present = new Set((await cachedSecrets(personaId2, dir, true)).filter((p2) => p2.setAt).map((p2) => p2.env));
|
|
@@ -64066,7 +64047,7 @@ var METHOD_GRANT_MAP = {
|
|
|
64066
64047
|
// ---- visitor:* (访客名单,owner-only) ----
|
|
64067
64048
|
// owner 看完整访客名单(含没开会话的);guest 不可调(handler 内再 assertOwner 兜底)。
|
|
64068
64049
|
"visitor:list": ADMIN_ANY,
|
|
64069
|
-
// deploy:*(persona 上云):全部 owner-only
|
|
64050
|
+
// deploy:*(persona 上云):全部 owner-only。里面有凭据录入口、建仓和推送,
|
|
64070
64051
|
// guest 不该看见更不该动。
|
|
64071
64052
|
"deploy:start": ADMIN_ANY,
|
|
64072
64053
|
"deploy:get": ADMIN_ANY,
|
|
@@ -64320,7 +64301,7 @@ function computeMethodAccess(args) {
|
|
|
64320
64301
|
}
|
|
64321
64302
|
|
|
64322
64303
|
// src/version.ts
|
|
64323
|
-
var version = "0.2.
|
|
64304
|
+
var version = "0.2.479".length > 0 ? "0.2.479" : "dev";
|
|
64324
64305
|
|
|
64325
64306
|
// src/cli-probe/probe.ts
|
|
64326
64307
|
var fs70 = __toESM(require("fs"), 1);
|
|
@@ -21337,12 +21337,9 @@ var EnvEvidenceSchema = external_exports.object({
|
|
|
21337
21337
|
});
|
|
21338
21338
|
|
|
21339
21339
|
// ../protocol/src/deploy-schemas.ts
|
|
21340
|
-
var FulfillmentSchema = external_exports.enum(["deployer", "user"]);
|
|
21341
21340
|
var DeployFileSchema = external_exports.object({
|
|
21342
21341
|
version: external_exports.literal(1),
|
|
21343
|
-
manifest: EnvironmentManifestSchema
|
|
21344
|
-
/** secret name → 谁提供。缺席 = 还没定 */
|
|
21345
|
-
fulfillment: external_exports.record(external_exports.string(), FulfillmentSchema).default({})
|
|
21342
|
+
manifest: EnvironmentManifestSchema
|
|
21346
21343
|
}).strict();
|
|
21347
21344
|
var DeployScanStatusSchema = external_exports.enum(["scanning", "done", "failed"]);
|
|
21348
21345
|
var DeployScanSchema = external_exports.object({
|
|
@@ -21393,7 +21390,6 @@ var DeployPersonaArgsSchema = external_exports.object({
|
|
|
21393
21390
|
var DeployPatchArgsSchema = external_exports.object({
|
|
21394
21391
|
personaId: external_exports.string().min(1),
|
|
21395
21392
|
patch: external_exports.object({
|
|
21396
|
-
fulfillment: external_exports.record(external_exports.string(), FulfillmentSchema).optional(),
|
|
21397
21393
|
// 人工补依赖;整份替换 manifest
|
|
21398
21394
|
manifest: EnvironmentManifestSchema.optional()
|
|
21399
21395
|
}).strict()
|
|
@@ -23876,7 +23872,7 @@ var METHOD_DOCS = {
|
|
|
23876
23872
|
},
|
|
23877
23873
|
// ---- deploy:*(persona 上云:persona 目录 = git 仓库工作树,发布 = 推送触发仓库流水线)----
|
|
23878
23874
|
"deploy:start": {
|
|
23879
|
-
summary: "\u5BF9\u67D0\u4E2A persona \u8D77\u4E00\u6B21\u4E0A\u4E91\u626B\u63CF\u3002**\u6CA1\u4ED3\u5E93\u5148\u5EFA\u4ED3**\uFF08gh repo create\uFF0C\u5EFA\u5728\u7EC4\u7EC7\u4E0B\u3001\u79C1\u6709\u3001\u63A8\u9996\u4E2A\u63D0\u4EA4\uFF09\uFF0C\u518D\u8D77 persona-butler \u7684\u626B\u63CF\u4F1A\u8BDD\uFF0C\u7ED3\u679C\u5199\u8FDB persona \u76EE\u5F55\u7684 .clawd/deploy.json \uFF08\u6E05\u5355
|
|
23875
|
+
summary: "\u5BF9\u67D0\u4E2A persona \u8D77\u4E00\u6B21\u4E0A\u4E91\u626B\u63CF\u3002**\u6CA1\u4ED3\u5E93\u5148\u5EFA\u4ED3**\uFF08gh repo create\uFF0C\u5EFA\u5728\u7EC4\u7EC7\u4E0B\u3001\u79C1\u6709\u3001\u63A8\u9996\u4E2A\u63D0\u4EA4\uFF09\uFF0C\u518D\u8D77 persona-butler \u7684\u626B\u63CF\u4F1A\u8BDD\uFF0C\u7ED3\u679C\u5199\u8FDB persona \u76EE\u5F55\u7684 .clawd/deploy.json \uFF08\u73AF\u5883\u6E05\u5355\uFF0C\u8FDB\u4ED3\u5E93\uFF09\u4E0E .clawd/deploy-scan.json\uFF08\u8BC1\u636E\uFF0C\u4E0D\u8FDB\u4ED3\u5E93\uFF09\u3002\u5DF2\u7ECF\u5728\u626B\u7684\u8BDD\u539F\u6837\u8FD4\u56DE\u3001\u4E0D\u8D77\u7B2C\u4E8C\u4E2A\u626B\u63CF\u4F1A\u8BDD\uFF1Bowner-only",
|
|
23880
23876
|
args: DeployPersonaArgsSchema
|
|
23881
23877
|
},
|
|
23882
23878
|
"deploy:get": {
|
|
@@ -23884,7 +23880,7 @@ var METHOD_DOCS = {
|
|
|
23884
23880
|
args: DeployPersonaArgsSchema
|
|
23885
23881
|
},
|
|
23886
23882
|
"deploy:patch": {
|
|
23887
|
-
summary: "\u7F16\u8F91\u90E8\u7F72\u6587\u4EF6\uFF1A\
|
|
23883
|
+
summary: "\u7F16\u8F91\u90E8\u7F72\u6587\u4EF6\uFF1A\u624B\u5DE5\u8865\u4F9D\u8D56\u3002**\u4E0D\u80FD\u4ECE\u8FD9\u91CC\u4F20\u51ED\u636E\u7684\u503C**\uFF08\u503C\u8D70 deploy:putSecret\uFF09\uFF1Bowner-only",
|
|
23888
23884
|
args: DeployPatchArgsSchema
|
|
23889
23885
|
},
|
|
23890
23886
|
"deploy:putSecret": {
|
|
@@ -23900,7 +23896,7 @@ var METHOD_DOCS = {
|
|
|
23900
23896
|
args: DeployFinishScanArgsSchema
|
|
23901
23897
|
},
|
|
23902
23898
|
"deploy:release": {
|
|
23903
|
-
summary: "\u53D1\u5E03 = \u63D0\u4EA4\u5E76\u63A8\u9001\u5230\u4ED3\u5E93\uFF1A\u91CD\u5199 workflow \u6A21\u677F \u2192 git add -A \u2192 \u7A7A\u63D0\u4EA4\u4E5F\u5141\u8BB8 \u2192 push\u3002\u4ED3\u5E93\u91CC\u7684\u6D41\u6C34\u7EBF\u63A5\u7740\u6784\u955C\u50CF\u3001\u5728\u96C6\u7FA4\u4E0A\u771F\u8D77\u4E00\u6B21\u3001\u767B\u8BB0\u6210\u6B63\u5F0F\uFF0C\u8FDB\u5EA6\u5728 GitHub Actions \u770B\u3002\u524D\u7F6E\uFF1A\u5DF2\u7ED1\u5B9A\u4ED3\u5E93\u3001\u6709\u6E05\u5355\u3001\u6BCF\
|
|
23899
|
+
summary: "\u53D1\u5E03 = \u63D0\u4EA4\u5E76\u63A8\u9001\u5230\u4ED3\u5E93\uFF1A\u91CD\u5199 workflow \u6A21\u677F \u2192 git add -A \u2192 \u7A7A\u63D0\u4EA4\u4E5F\u5141\u8BB8 \u2192 push\u3002\u4ED3\u5E93\u91CC\u7684\u6D41\u6C34\u7EBF\u63A5\u7740\u6784\u955C\u50CF\u3001\u5728\u96C6\u7FA4\u4E0A\u771F\u8D77\u4E00\u6B21\u3001\u767B\u8BB0\u6210\u6B63\u5F0F\uFF0C\u8FDB\u5EA6\u5728 GitHub Actions \u770B\u3002\u524D\u7F6E\uFF1A\u5DF2\u7ED1\u5B9A\u4ED3\u5E93\u3001\u6709\u6E05\u5355\u3001\u6BCF\u4E2A\u53D8\u91CF\u540D\u90FD\u5728 Secrets \u91CC\uFF1Bowner-only",
|
|
23904
23900
|
args: DeployPersonaArgsSchema
|
|
23905
23901
|
},
|
|
23906
23902
|
"shift:list": {
|
package/dist/persona-defaults/persona-clawd-butler/.claude/skills/scan-persona-for-deploy/SKILL.md
CHANGED
|
@@ -82,7 +82,7 @@ call({ method: "deploy:reportFinding", args: {
|
|
|
82
82
|
- 一份凭据含多个字段就把多个环境变量都列进 `env`(AK 是 id+secret 两个,supabase 是四个)
|
|
83
83
|
- **绝对不要把凭据的值写进来**,哪怕你在文件里看到了明文的 key。你只报告「这里需要一份
|
|
84
84
|
supabase 凭据」,值由老板另外填进仓库的 GitHub Secrets。看到明文 key 也不要复述它的内容。
|
|
85
|
-
-
|
|
85
|
+
- **不要判断这条凭据该谁出**。凭据全部由部署者提供,清单只说需要什么。
|
|
86
86
|
|
|
87
87
|
### kind: "asset" —— persona 目录之外的共享资产
|
|
88
88
|
|