@clawos-dev/clawd 0.2.644 → 0.2.645

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.
@@ -21380,7 +21380,14 @@ var normalizeLegacyManifest = (v) => {
21380
21380
  }
21381
21381
  return o;
21382
21382
  };
21383
+ var PublisherTestSchema = external_exports.object({
21384
+ version: external_exports.literal(1),
21385
+ entry: external_exports.string().max(240).regex(/^[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)*\.mjs$/).refine((value) => !value.split("/").some((segment) => [".", ".."].includes(segment))),
21386
+ timeoutSeconds: external_exports.number().int().min(1).max(600),
21387
+ checks: external_exports.array(external_exports.string().regex(/^[a-z0-9][a-z0-9-]{0,63}$/)).min(1).max(64).refine((checks) => new Set(checks).size === checks.length)
21388
+ }).strict();
21383
21389
  var MANIFEST_BODY = {
21390
+ test: PublisherTestSchema.optional(),
21384
21391
  packages: external_exports.array(EnvPackageSchema),
21385
21392
  secrets: external_exports.array(EnvSecretSchema),
21386
21393
  /**
@@ -21425,12 +21432,25 @@ var IntegrationEndpointSchema = external_exports.string().refine((value) => {
21425
21432
  return false;
21426
21433
  }
21427
21434
  }, "\u6D4B\u8BD5\u9A8C\u8BC1\u5730\u5740\u5FC5\u987B\u660E\u786E\u6307\u5411 int HTTPS \u73AF\u5883");
21435
+ var PublisherTestReceiptSchema = external_exports.object({
21436
+ version: external_exports.literal(1),
21437
+ runId: external_exports.string().regex(/^[A-Za-z0-9_-]{1,128}$/),
21438
+ status: external_exports.literal("passed"),
21439
+ exitCode: external_exports.literal(0),
21440
+ result: external_exports.object({
21441
+ version: external_exports.literal(1),
21442
+ runId: external_exports.string().regex(/^[A-Za-z0-9_-]{1,128}$/),
21443
+ checks: external_exports.array(external_exports.object({ name: external_exports.string().regex(/^[a-z0-9][a-z0-9-]{0,63}$/), status: external_exports.literal("passed"), reason: external_exports.string().max(1024).optional() }).strict()).min(1).max(64)
21444
+ }).strict(),
21445
+ execution: external_exports.object({ image: ImageDigestSchema, imageID: external_exports.string().min(1).max(512), engine: external_exports.enum(["codex", "pi"]), podUid: external_exports.string().min(1).max(512), jobUid: external_exports.string().min(1).max(512) }).strict()
21446
+ }).strict();
21428
21447
  var VerificationSchema = external_exports.object({
21429
21448
  status: external_exports.literal("passed"),
21430
21449
  fingerprint: external_exports.string().regex(/^[a-f0-9]{64}$/),
21431
21450
  checks: external_exports.array(external_exports.string().regex(/^[a-z0-9-]+$/)),
21432
21451
  endpoint: IntegrationEndpointSchema,
21433
- verifiedAt: external_exports.string().refine((s) => Number.isFinite(Date.parse(s)))
21452
+ verifiedAt: external_exports.string().refine((s) => Number.isFinite(Date.parse(s))),
21453
+ test: PublisherTestReceiptSchema.optional()
21434
21454
  }).strict();
21435
21455
  var VerifiedPersonaReleaseSchema = external_exports.object({
21436
21456
  version: external_exports.literal(1),
@@ -21441,8 +21461,13 @@ var VerifiedPersonaReleaseSchema = external_exports.object({
21441
21461
  baseImage: ImageDigestSchema,
21442
21462
  pipelineCommit: SourceCommitSchema,
21443
21463
  repository: external_exports.string().regex(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/),
21444
- verification: VerificationSchema.refine((v) => v.checks.includes("persona-smoke"))
21445
- }).strict();
21464
+ verification: VerificationSchema.refine((v) => v.checks.includes("persona-smoke")),
21465
+ test: PublisherTestSchema.optional()
21466
+ }).strict().refine((record2) => {
21467
+ if (!record2.test) return record2.verification.test === void 0;
21468
+ const receipt = record2.verification.test;
21469
+ return ["persona-dialogue", "persona-task", "persona-custom-test"].every((check2) => record2.verification.checks.includes(check2)) && receipt !== void 0 && receipt.execution.image === record2.image && receipt.runId === receipt.result.runId && receipt.result.checks.length === record2.test.checks.length && new Set(receipt.result.checks.map((check2) => check2.name)).size === record2.test.checks.length && receipt.result.checks.every((check2) => record2.test.checks.includes(check2.name));
21470
+ }, "Declared publisher acceptance requires complete candidate runtime evidence");
21446
21471
  var VerifiedBaseReleaseSchema = external_exports.object({
21447
21472
  version: external_exports.literal(1),
21448
21473
  environment: external_exports.literal("integration"),
@@ -31302,7 +31302,14 @@ var normalizeLegacyManifest = (v) => {
31302
31302
  }
31303
31303
  return o;
31304
31304
  };
31305
+ var PublisherTestSchema = external_exports.object({
31306
+ version: external_exports.literal(1),
31307
+ entry: external_exports.string().max(240).regex(/^[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)*\.mjs$/).refine((value) => !value.split("/").some((segment) => [".", ".."].includes(segment))),
31308
+ timeoutSeconds: external_exports.number().int().min(1).max(600),
31309
+ checks: external_exports.array(external_exports.string().regex(/^[a-z0-9][a-z0-9-]{0,63}$/)).min(1).max(64).refine((checks) => new Set(checks).size === checks.length)
31310
+ }).strict();
31305
31311
  var MANIFEST_BODY = {
31312
+ test: PublisherTestSchema.optional(),
31306
31313
  packages: external_exports.array(EnvPackageSchema),
31307
31314
  secrets: external_exports.array(EnvSecretSchema),
31308
31315
  /**
@@ -31347,12 +31354,25 @@ var IntegrationEndpointSchema = external_exports.string().refine((value) => {
31347
31354
  return false;
31348
31355
  }
31349
31356
  }, "\u6D4B\u8BD5\u9A8C\u8BC1\u5730\u5740\u5FC5\u987B\u660E\u786E\u6307\u5411 int HTTPS \u73AF\u5883");
31357
+ var PublisherTestReceiptSchema = external_exports.object({
31358
+ version: external_exports.literal(1),
31359
+ runId: external_exports.string().regex(/^[A-Za-z0-9_-]{1,128}$/),
31360
+ status: external_exports.literal("passed"),
31361
+ exitCode: external_exports.literal(0),
31362
+ result: external_exports.object({
31363
+ version: external_exports.literal(1),
31364
+ runId: external_exports.string().regex(/^[A-Za-z0-9_-]{1,128}$/),
31365
+ checks: external_exports.array(external_exports.object({ name: external_exports.string().regex(/^[a-z0-9][a-z0-9-]{0,63}$/), status: external_exports.literal("passed"), reason: external_exports.string().max(1024).optional() }).strict()).min(1).max(64)
31366
+ }).strict(),
31367
+ execution: external_exports.object({ image: ImageDigestSchema, imageID: external_exports.string().min(1).max(512), engine: external_exports.enum(["codex", "pi"]), podUid: external_exports.string().min(1).max(512), jobUid: external_exports.string().min(1).max(512) }).strict()
31368
+ }).strict();
31350
31369
  var VerificationSchema = external_exports.object({
31351
31370
  status: external_exports.literal("passed"),
31352
31371
  fingerprint: external_exports.string().regex(/^[a-f0-9]{64}$/),
31353
31372
  checks: external_exports.array(external_exports.string().regex(/^[a-z0-9-]+$/)),
31354
31373
  endpoint: IntegrationEndpointSchema,
31355
- verifiedAt: external_exports.string().refine((s) => Number.isFinite(Date.parse(s)))
31374
+ verifiedAt: external_exports.string().refine((s) => Number.isFinite(Date.parse(s))),
31375
+ test: PublisherTestReceiptSchema.optional()
31356
31376
  }).strict();
31357
31377
  var VerifiedPersonaReleaseSchema = external_exports.object({
31358
31378
  version: external_exports.literal(1),
@@ -31363,8 +31383,13 @@ var VerifiedPersonaReleaseSchema = external_exports.object({
31363
31383
  baseImage: ImageDigestSchema,
31364
31384
  pipelineCommit: SourceCommitSchema,
31365
31385
  repository: external_exports.string().regex(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/),
31366
- verification: VerificationSchema.refine((v) => v.checks.includes("persona-smoke"))
31367
- }).strict();
31386
+ verification: VerificationSchema.refine((v) => v.checks.includes("persona-smoke")),
31387
+ test: PublisherTestSchema.optional()
31388
+ }).strict().refine((record2) => {
31389
+ if (!record2.test) return record2.verification.test === void 0;
31390
+ const receipt = record2.verification.test;
31391
+ return ["persona-dialogue", "persona-task", "persona-custom-test"].every((check2) => record2.verification.checks.includes(check2)) && receipt !== void 0 && receipt.execution.image === record2.image && receipt.runId === receipt.result.runId && receipt.result.checks.length === record2.test.checks.length && new Set(receipt.result.checks.map((check2) => check2.name)).size === record2.test.checks.length && receipt.result.checks.every((check2) => record2.test.checks.includes(check2.name));
31392
+ }, "Declared publisher acceptance requires complete candidate runtime evidence");
31368
31393
  var VerifiedBaseReleaseSchema = external_exports.object({
31369
31394
  version: external_exports.literal(1),
31370
31395
  environment: external_exports.literal("integration"),
@@ -34451,6 +34476,7 @@ function renderDeployWorkflow(config2) {
34451
34476
  " sparse-checkout: |",
34452
34477
  " cloud-host/pipeline",
34453
34478
  " cloud-host/k8s",
34479
+ " cloud-host/src/persona-test-contract.mjs",
34454
34480
  "",
34455
34481
  " - name: \u8BFB\u90E8\u7F72\u6587\u4EF6",
34456
34482
  " id: plan",
@@ -34483,6 +34509,7 @@ function renderDeployWorkflow(config2) {
34483
34509
  " - name: Check required credentials",
34484
34510
  " env:",
34485
34511
  " CLAWD_ENV_NAMES: ${{ steps.plan.outputs.env_names }}",
34512
+ " CLAWD_PUBLISHER_TEST: ${{ steps.plan.outputs.test }}",
34486
34513
  " run: node clawos/cloud-host/pipeline/check-secrets.mjs",
34487
34514
  ""
34488
34515
  ];
@@ -34505,8 +34532,10 @@ function renderDeployWorkflow(config2) {
34505
34532
  ` - name: ${script === "smoke" ? "Run real int smoke" : "Register the verified image"}`,
34506
34533
  " env:",
34507
34534
  " CLAWD_ENV_NAMES: ${{ steps.plan.outputs.env_names }}",
34535
+ " CLAWD_PUBLISHER_TEST: ${{ steps.plan.outputs.test }}",
34508
34536
  " run: |",
34509
- ` IMAGE_REF=$(node clawos/cloud-host/pipeline/release.mjs validate --file candidate-release.json --component persona${script === "register" ? " --production" : ""})`,
34537
+ ` VALIDATE_PRODUCTION=''; if [ "\${{ inputs.environment }}" = 'production' ]; then VALIDATE_PRODUCTION='--production'; fi`,
34538
+ " IMAGE_REF=$(node clawos/cloud-host/pipeline/release.mjs validate --file candidate-release.json --component persona $VALIDATE_PRODUCTION)",
34510
34539
  ...script === "register" ? [" node clawos/cloud-host/pipeline/persona-candidate.mjs check-source"] : [],
34511
34540
  ` node clawos/cloud-host/pipeline/${script}.mjs \\`,
34512
34541
  ' --image "$IMAGE_REF" \\',
@@ -34598,6 +34627,7 @@ function renderDeployWorkflow(config2) {
34598
34627
  " ALIBABA_CLOUD_ACCESS_KEY_ID: ${{ secrets.ALI_ACS_ACCESS_KEY_ID }}",
34599
34628
  " ALIBABA_CLOUD_ACCESS_KEY_SECRET: ${{ secrets.ALI_ACS_ACCESS_KEY_SECRET }}",
34600
34629
  " RELEASE_JSON: ${{ inputs.release_json }}",
34630
+ " CLAWD_PUBLISHER_TEST: ${{ steps.plan.outputs.test }}",
34601
34631
  " run: node clawos/cloud-host/pipeline/persona-candidate.mjs",
34602
34632
  "",
34603
34633
  ...upload("persona-candidate"),
@@ -31302,7 +31302,14 @@ var normalizeLegacyManifest = (v) => {
31302
31302
  }
31303
31303
  return o;
31304
31304
  };
31305
+ var PublisherTestSchema = external_exports.object({
31306
+ version: external_exports.literal(1),
31307
+ entry: external_exports.string().max(240).regex(/^[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)*\.mjs$/).refine((value) => !value.split("/").some((segment) => [".", ".."].includes(segment))),
31308
+ timeoutSeconds: external_exports.number().int().min(1).max(600),
31309
+ checks: external_exports.array(external_exports.string().regex(/^[a-z0-9][a-z0-9-]{0,63}$/)).min(1).max(64).refine((checks) => new Set(checks).size === checks.length)
31310
+ }).strict();
31305
31311
  var MANIFEST_BODY = {
31312
+ test: PublisherTestSchema.optional(),
31306
31313
  packages: external_exports.array(EnvPackageSchema),
31307
31314
  secrets: external_exports.array(EnvSecretSchema),
31308
31315
  /**
@@ -31347,12 +31354,25 @@ var IntegrationEndpointSchema = external_exports.string().refine((value) => {
31347
31354
  return false;
31348
31355
  }
31349
31356
  }, "\u6D4B\u8BD5\u9A8C\u8BC1\u5730\u5740\u5FC5\u987B\u660E\u786E\u6307\u5411 int HTTPS \u73AF\u5883");
31357
+ var PublisherTestReceiptSchema = external_exports.object({
31358
+ version: external_exports.literal(1),
31359
+ runId: external_exports.string().regex(/^[A-Za-z0-9_-]{1,128}$/),
31360
+ status: external_exports.literal("passed"),
31361
+ exitCode: external_exports.literal(0),
31362
+ result: external_exports.object({
31363
+ version: external_exports.literal(1),
31364
+ runId: external_exports.string().regex(/^[A-Za-z0-9_-]{1,128}$/),
31365
+ checks: external_exports.array(external_exports.object({ name: external_exports.string().regex(/^[a-z0-9][a-z0-9-]{0,63}$/), status: external_exports.literal("passed"), reason: external_exports.string().max(1024).optional() }).strict()).min(1).max(64)
31366
+ }).strict(),
31367
+ execution: external_exports.object({ image: ImageDigestSchema, imageID: external_exports.string().min(1).max(512), engine: external_exports.enum(["codex", "pi"]), podUid: external_exports.string().min(1).max(512), jobUid: external_exports.string().min(1).max(512) }).strict()
31368
+ }).strict();
31350
31369
  var VerificationSchema = external_exports.object({
31351
31370
  status: external_exports.literal("passed"),
31352
31371
  fingerprint: external_exports.string().regex(/^[a-f0-9]{64}$/),
31353
31372
  checks: external_exports.array(external_exports.string().regex(/^[a-z0-9-]+$/)),
31354
31373
  endpoint: IntegrationEndpointSchema,
31355
- verifiedAt: external_exports.string().refine((s) => Number.isFinite(Date.parse(s)))
31374
+ verifiedAt: external_exports.string().refine((s) => Number.isFinite(Date.parse(s))),
31375
+ test: PublisherTestReceiptSchema.optional()
31356
31376
  }).strict();
31357
31377
  var VerifiedPersonaReleaseSchema = external_exports.object({
31358
31378
  version: external_exports.literal(1),
@@ -31363,8 +31383,13 @@ var VerifiedPersonaReleaseSchema = external_exports.object({
31363
31383
  baseImage: ImageDigestSchema,
31364
31384
  pipelineCommit: SourceCommitSchema,
31365
31385
  repository: external_exports.string().regex(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/),
31366
- verification: VerificationSchema.refine((v) => v.checks.includes("persona-smoke"))
31367
- }).strict();
31386
+ verification: VerificationSchema.refine((v) => v.checks.includes("persona-smoke")),
31387
+ test: PublisherTestSchema.optional()
31388
+ }).strict().refine((record2) => {
31389
+ if (!record2.test) return record2.verification.test === void 0;
31390
+ const receipt = record2.verification.test;
31391
+ return ["persona-dialogue", "persona-task", "persona-custom-test"].every((check2) => record2.verification.checks.includes(check2)) && receipt !== void 0 && receipt.execution.image === record2.image && receipt.runId === receipt.result.runId && receipt.result.checks.length === record2.test.checks.length && new Set(receipt.result.checks.map((check2) => check2.name)).size === record2.test.checks.length && receipt.result.checks.every((check2) => record2.test.checks.includes(check2.name));
31392
+ }, "Declared publisher acceptance requires complete candidate runtime evidence");
31368
31393
  var VerifiedBaseReleaseSchema = external_exports.object({
31369
31394
  version: external_exports.literal(1),
31370
31395
  environment: external_exports.literal("integration"),
@@ -34451,6 +34476,7 @@ function renderDeployWorkflow(config2) {
34451
34476
  " sparse-checkout: |",
34452
34477
  " cloud-host/pipeline",
34453
34478
  " cloud-host/k8s",
34479
+ " cloud-host/src/persona-test-contract.mjs",
34454
34480
  "",
34455
34481
  " - name: \u8BFB\u90E8\u7F72\u6587\u4EF6",
34456
34482
  " id: plan",
@@ -34483,6 +34509,7 @@ function renderDeployWorkflow(config2) {
34483
34509
  " - name: Check required credentials",
34484
34510
  " env:",
34485
34511
  " CLAWD_ENV_NAMES: ${{ steps.plan.outputs.env_names }}",
34512
+ " CLAWD_PUBLISHER_TEST: ${{ steps.plan.outputs.test }}",
34486
34513
  " run: node clawos/cloud-host/pipeline/check-secrets.mjs",
34487
34514
  ""
34488
34515
  ];
@@ -34505,8 +34532,10 @@ function renderDeployWorkflow(config2) {
34505
34532
  ` - name: ${script === "smoke" ? "Run real int smoke" : "Register the verified image"}`,
34506
34533
  " env:",
34507
34534
  " CLAWD_ENV_NAMES: ${{ steps.plan.outputs.env_names }}",
34535
+ " CLAWD_PUBLISHER_TEST: ${{ steps.plan.outputs.test }}",
34508
34536
  " run: |",
34509
- ` IMAGE_REF=$(node clawos/cloud-host/pipeline/release.mjs validate --file candidate-release.json --component persona${script === "register" ? " --production" : ""})`,
34537
+ ` VALIDATE_PRODUCTION=''; if [ "\${{ inputs.environment }}" = 'production' ]; then VALIDATE_PRODUCTION='--production'; fi`,
34538
+ " IMAGE_REF=$(node clawos/cloud-host/pipeline/release.mjs validate --file candidate-release.json --component persona $VALIDATE_PRODUCTION)",
34510
34539
  ...script === "register" ? [" node clawos/cloud-host/pipeline/persona-candidate.mjs check-source"] : [],
34511
34540
  ` node clawos/cloud-host/pipeline/${script}.mjs \\`,
34512
34541
  ' --image "$IMAGE_REF" \\',
@@ -34598,6 +34627,7 @@ function renderDeployWorkflow(config2) {
34598
34627
  " ALIBABA_CLOUD_ACCESS_KEY_ID: ${{ secrets.ALI_ACS_ACCESS_KEY_ID }}",
34599
34628
  " ALIBABA_CLOUD_ACCESS_KEY_SECRET: ${{ secrets.ALI_ACS_ACCESS_KEY_SECRET }}",
34600
34629
  " RELEASE_JSON: ${{ inputs.release_json }}",
34630
+ " CLAWD_PUBLISHER_TEST: ${{ steps.plan.outputs.test }}",
34601
34631
  " run: node clawos/cloud-host/pipeline/persona-candidate.mjs",
34602
34632
  "",
34603
34633
  ...upload("persona-candidate"),