@rightkit/release 0.6.5 → 0.6.7
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/README.md +196 -11
- package/admission-files.mjs +3 -2
- package/advisory-db.json +4 -0
- package/advisory-db.mjs +124 -0
- package/advisory-exceptions.mjs +13 -10
- package/android-play-upload.mjs +4 -4
- package/app-check.mjs +702 -26
- package/apple-profile-create.mjs +4 -3
- package/apple-profile-renew.mjs +5 -4
- package/bin/darwin/rightkit-swap +0 -0
- package/bin/rightkit-agent-hook.mjs +9 -0
- package/bin/rightkit-gate.mjs +671 -133
- package/binary-license-notices.mjs +2 -1
- package/build-release.mjs +20 -12
- package/cache-command.mjs +4 -3
- package/cargo-license-notices.mjs +2 -1
- package/cargo-manifest-text.mjs +25 -0
- package/cargo-profile-contract.mjs +26 -13
- package/cli/right-release.mjs +37 -7
- package/command-spec.mjs +4 -5
- package/compile-inputs.mjs +66 -0
- package/consumer-contracts.json +1044 -0
- package/consumer-contracts.mjs +627 -0
- package/consumer-input-contracts.mjs +422 -0
- package/consumer-policy.mjs +588 -0
- package/consumer-source-contracts.mjs +469 -0
- package/deny-default.toml +42 -0
- package/deps.mjs +5 -4
- package/deterministic-scans.mjs +513 -54
- package/development.mjs +5 -5
- package/disk-command.mjs +270 -30
- package/disk-policy.json +50 -10
- package/disk-policy.mjs +482 -35
- package/disk-report.mjs +129 -0
- package/door-policy.mjs +228 -0
- package/gate-executor.mjs +30 -0
- package/gate-stages.mjs +110 -0
- package/github-release.mjs +5 -3
- package/github-updater-release.mjs +48 -8
- package/github-upload-gate.mjs +6 -6
- package/init-command.mjs +175 -8
- package/ios-upload.mjs +4 -4
- package/legion-semantic-contracts.mjs +428 -0
- package/mirror-root-artifact.mjs +3 -4
- package/npm-license-notices.mjs +2 -1
- package/outdated-command.mjs +91 -0
- package/ownership-class-rules.mjs +277 -0
- package/ownership-key-authority.mjs +3 -1
- package/ownership-mandatory-set.mjs +3 -2
- package/package.json +46 -3
- package/pipeline-admission.mjs +12 -0
- package/publish-cargo.mjs +219 -4
- package/publish-update.mjs +19 -14
- package/release-config.mjs +87 -11
- package/release-dependencies-command.mjs +4 -3
- package/release-qa-audit.mjs +12 -10
- package/release-qa-command.mjs +42 -7
- package/release-qa-hardening.mjs +10 -3
- package/release-qa-policy.mjs +214 -47
- package/release.mjs +4 -4
- package/rightkit-registry-resolver.mjs +5 -2
- package/rightkit-versions.json +178 -170
- package/shell-contract-bridge.json +251 -0
- package/shell-contract.mjs +1069 -0
- package/sign-updater.mjs +24 -4
- package/source-closure-rules.mjs +204 -0
- package/stage-sidecar-command.mjs +7 -6
- package/stage-sidecar.mjs +437 -114
- package/suite-api.generated.mjs +96 -6
- package/suite-trust-roots.mjs +198 -0
- package/test-command.mjs +3 -2
- package/upload-release.mjs +3 -2
- package/web-build.mjs +2 -1
package/apple-profile-create.mjs
CHANGED
|
@@ -2,8 +2,9 @@ import { createHash, generateKeyPairSync, randomUUID, sign, X509Certificate } fr
|
|
|
2
2
|
import { chmodSync, copyFileSync, constants, existsSync, mkdirSync, mkdtempSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import { fileURLToPath
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
6
|
import { spawnSync } from "./background-process.mjs";
|
|
7
|
+
import { defaultReleaseConfigFile, importReleaseConfig } from "./release-config.mjs";
|
|
7
8
|
import { appleProfileAuth, decodeAppleProfile, findAppleSigningCertificate, signAppleApiJwt } from "./apple-profile-renew.mjs";
|
|
8
9
|
|
|
9
10
|
// right-release apple-profile-create: issue a Mac Development provisioning profile
|
|
@@ -452,10 +453,10 @@ export async function main(args = process.argv.slice(2), options = {}) {
|
|
|
452
453
|
return;
|
|
453
454
|
}
|
|
454
455
|
const parsed = parseCreateArgs(args);
|
|
455
|
-
const configPath = parsed.configPath ??
|
|
456
|
+
const configPath = parsed.configPath ?? defaultReleaseConfigFile();
|
|
456
457
|
const absolute = path.resolve(configPath);
|
|
457
458
|
let config = {};
|
|
458
|
-
if (existsSync(absolute))
|
|
459
|
+
if (existsSync(absolute)) config = await importReleaseConfig(absolute, { lenient: true });
|
|
459
460
|
else if (parsed.configPath) fail("APPLE_PROFILE_USAGE", `Config file not found: ${parsed.configPath}`);
|
|
460
461
|
return createAppleProfile({ ...options, root: path.dirname(absolute), config, ...parsed });
|
|
461
462
|
}
|
package/apple-profile-renew.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { createHash, createPrivateKey, randomUUID, sign, X509Certificate } from "node:crypto";
|
|
2
2
|
import { constants, copyFileSync, existsSync, readFileSync, renameSync, rmSync, statSync, writeFileSync, realpathSync } from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import { fileURLToPath
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { spawnSync } from "./background-process.mjs";
|
|
6
|
+
import { defaultReleaseConfigFile, importReleaseConfig } from "./release-config.mjs";
|
|
6
7
|
import { isManagedHost, refuseManagedEnvSecret } from "./managed-host-secrets.mjs";
|
|
7
8
|
import os from "node:os";
|
|
8
9
|
|
|
@@ -226,7 +227,7 @@ export async function main(args = process.argv.slice(2), options = {}) {
|
|
|
226
227
|
return;
|
|
227
228
|
}
|
|
228
229
|
if (args[0] !== "profile" || args[1] !== "renew") fail("APPLE_PROFILE_USAGE", "Expected: right-release apple profile renew");
|
|
229
|
-
let configPath =
|
|
230
|
+
let configPath = defaultReleaseConfigFile(), profilePath, dryRun = false;
|
|
230
231
|
for (let i = 2; i < args.length; i++) {
|
|
231
232
|
if (args[i] === "--dry-run") dryRun = true;
|
|
232
233
|
else if (["--config", "--profile"].includes(args[i])) {
|
|
@@ -236,8 +237,8 @@ export async function main(args = process.argv.slice(2), options = {}) {
|
|
|
236
237
|
} else fail("APPLE_PROFILE_USAGE", `Unknown option: ${args[i]}`);
|
|
237
238
|
}
|
|
238
239
|
const absolute = path.resolve(configPath);
|
|
239
|
-
const
|
|
240
|
-
return renewAppleProfile({ ...options, root: path.dirname(absolute), config
|
|
240
|
+
const config = await importReleaseConfig(absolute, { lenient: true });
|
|
241
|
+
return renewAppleProfile({ ...options, root: path.dirname(absolute), config, profilePath, dryRun });
|
|
241
242
|
}
|
|
242
243
|
|
|
243
244
|
const realOrSelf = (file) => { try { return realpathSync(file); } catch { return path.resolve(file); } };
|
package/bin/darwin/rightkit-swap
CHANGED
|
Binary file
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Claude Code PreToolUse hook for the one door (door-policy.mjs): reads the hook input on stdin and prints the decision. Registered in
|
|
3
|
+
// the repository's .claude/settings.json by `rightkit-gate install-hook`. Any input it cannot read allows (a hook never breaks the tool).
|
|
4
|
+
import fs from "node:fs";
|
|
5
|
+
import { claudeDoorDecision } from "../door-policy.mjs";
|
|
6
|
+
|
|
7
|
+
let input = {};
|
|
8
|
+
try { input = JSON.parse(fs.readFileSync(0, "utf8") || "{}"); } catch { input = {}; }
|
|
9
|
+
process.stdout.write(`${JSON.stringify(claudeDoorDecision(input))}\n`);
|