@tickernelz/paperclip-pro 2026.926.1 → 2026.926.2

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/index.js CHANGED
@@ -9085,7 +9085,7 @@ function requireBlockedStatusForUnblockDescriptor(value, ctx) {
9085
9085
  });
9086
9086
  }
9087
9087
  }
9088
- var issueBlockedInboxStateSchema, issueBlockedInboxSeveritySchema, issueBlockedInboxReasonSchema, issueBlockedInboxIssueRefSchema, issueBlockedInboxAttentionSchema, ISSUE_EXECUTION_WORKSPACE_PREFERENCES, executionWorkspaceStrategySchema, ipv4CidrPattern, protectedTaskEgressCidrs, issueExecutionWorkspaceSettingsSchema, issueAssigneeAdapterOverridesSchema, runModelOverrideValue, issueRunModelOverrideUpdateSchema, issueExecutionStagePrincipalBaseSchema, issueExecutionStagePrincipalSchema, issueExecutionStageParticipantSchema, issueExecutionStageSchema, issueExecutionMonitorPolicySchema, issueExecutionPolicySchema, issueExecutionMonitorStateSchema, issueReviewRequestSchema, issueExecutionStateSchema, issueRecoveryActionReadModelSchema, RESOLVE_ISSUE_RECOVERY_ACTION_OUTCOMES, resolveIssueRecoveryActionSchema, issueRequestDepthInputSchema, createIssueBaseSchema, createIssueDuplicateGuardSchema, onboardingFirstTaskMarkerSchema, createIssueInputSchema, createIssueSchema, upsertIssueWatchdogSchema, createChildIssueSchema, createAcceptedPlanDecompositionSchema, createIssueLabelSchema, issueCommentAttachmentIdsSchema, updateIssueSchema, stalledReviewDecisionSchema, checkoutIssueSchema, commentMetadataLabelSchema, commentMetadataTextSchema, issueCommentAuthorTypeSchema, issueCommentPresentationSchema, issueCommentMetadataBaseRowSchema, issueCommentMetadataTextRowSchema, issueCommentMetadataCodeRowSchema, issueCommentMetadataKeyValueRowSchema, issueCommentMetadataIssueLinkRowSchema, issueCommentMetadataAgentLinkRowSchema, issueCommentMetadataRunLinkRowSchema, issueCommentMetadataRowSchema, issueCommentMetadataSectionSchema, issueCommentMetadataSchema, addIssueCommentSchema, issueThreadInteractionStatusSchema, issueThreadInteractionKindSchema, issueThreadInteractionCanonicalResolverPolicySchema, issueThreadInteractionResolverPolicySchema, issueThreadInteractionResolverPolicyProvenanceSchema, issueThreadInteractionEffectiveResolverPolicySourceSchema, issueThreadInteractionContinuationPolicySchema, connectionIntentPhaseSchema, connectionIntentBrandAssetSchema, connectionIntentPayloadSchema, connectionIntentResultSchema, issueDocumentKeySchema, suggestedTaskDraftSchema, suggestTasksPayloadSchema, suggestTasksResultCreatedTaskSchema, suggestTasksResultSchema, askUserQuestionsQuestionOptionSchema, askUserQuestionsQuestionSchema, paperclipQuestionOptionSchema, paperclipQuestionSchema, paperclipQuestionSetPayloadSchema, askUserQuestionsPayloadSchema, askUserQuestionsAnswerSchema, askUserQuestionsResultSchema, requestConfirmationHrefSchema, requestConfirmationTargetBaseSchema, requestConfirmationIssueDocumentTargetSchema, requestConfirmationCustomTargetSchema, requestConfirmationTargetSchema, requestConfirmationToolActionPayloadSchema, requestConfirmationSecretProposalPayloadSchema, requestConfirmationPayloadSchema, requestCheckboxConfirmationOptionSchema, requestCheckboxConfirmationPayloadSchema, requestConfirmationResumeFailureSchema, requestConfirmationToolActionResultSchema, requestConfirmationSecretProposalResultSchema, requestConfirmationResultSchema, requestCheckboxConfirmationResultSchema, requestItemVerdictValueSchema, requestItemVerdictsItemSchema, requestItemVerdictsPayloadSchema, requestItemVerdictsResultItemSchema, requestItemVerdictsResultSchema, createIssueThreadInteractionCommon, createAskUserQuestionsPayloadSchema, createIssueThreadInteractionSchema, acceptIssueThreadInteractionSchema, rejectIssueThreadInteractionSchema, cancelIssueThreadInteractionSchema, skipIssueThreadInteractionSchema, withdrawIssueThreadInteractionSchema, respondIssueThreadInteractionSchema, submitIssueThreadInteractionVerdictsSchema, linkIssueApprovalSchema, createIssueAttachmentMetadataSchema, ISSUE_DOCUMENT_FORMATS, issueDocumentFormatSchema, upsertIssueDocumentSchema, restoreIssueDocumentRevisionSchema;
9088
+ var issueBlockedInboxStateSchema, issueBlockedInboxSeveritySchema, issueBlockedInboxReasonSchema, issueBlockedInboxIssueRefSchema, issueBlockedInboxAttentionSchema, ISSUE_EXECUTION_WORKSPACE_PREFERENCES, executionWorkspaceStrategySchema, ipv4CidrPattern, protectedTaskEgressCidrs, issueExecutionWorkspaceSettingsSchema, issueRunModelOverrideSubtaskScopeSchema, issueRunModelOverrideInheritanceStateSchema, issueAssigneeAdapterOverridesSchema, runModelOverrideValue, issueRunModelOverrideUpdateSchema, issueExecutionStagePrincipalBaseSchema, issueExecutionStagePrincipalSchema, issueExecutionStageParticipantSchema, issueExecutionStageSchema, issueExecutionMonitorPolicySchema, issueExecutionPolicySchema, issueExecutionMonitorStateSchema, issueReviewRequestSchema, issueExecutionStateSchema, issueRecoveryActionReadModelSchema, RESOLVE_ISSUE_RECOVERY_ACTION_OUTCOMES, resolveIssueRecoveryActionSchema, issueRequestDepthInputSchema, createIssueBaseSchema, createIssueDuplicateGuardSchema, onboardingFirstTaskMarkerSchema, createIssueInputSchema, createIssueSchema, upsertIssueWatchdogSchema, createChildIssueSchema, createAcceptedPlanDecompositionSchema, createIssueLabelSchema, issueCommentAttachmentIdsSchema, updateIssueSchema, stalledReviewDecisionSchema, checkoutIssueSchema, commentMetadataLabelSchema, commentMetadataTextSchema, issueCommentAuthorTypeSchema, issueCommentPresentationSchema, issueCommentMetadataBaseRowSchema, issueCommentMetadataTextRowSchema, issueCommentMetadataCodeRowSchema, issueCommentMetadataKeyValueRowSchema, issueCommentMetadataIssueLinkRowSchema, issueCommentMetadataAgentLinkRowSchema, issueCommentMetadataRunLinkRowSchema, issueCommentMetadataRowSchema, issueCommentMetadataSectionSchema, issueCommentMetadataSchema, addIssueCommentSchema, issueThreadInteractionStatusSchema, issueThreadInteractionKindSchema, issueThreadInteractionCanonicalResolverPolicySchema, issueThreadInteractionResolverPolicySchema, issueThreadInteractionResolverPolicyProvenanceSchema, issueThreadInteractionEffectiveResolverPolicySourceSchema, issueThreadInteractionContinuationPolicySchema, connectionIntentPhaseSchema, connectionIntentBrandAssetSchema, connectionIntentPayloadSchema, connectionIntentResultSchema, issueDocumentKeySchema, suggestedTaskDraftSchema, suggestTasksPayloadSchema, suggestTasksResultCreatedTaskSchema, suggestTasksResultSchema, askUserQuestionsQuestionOptionSchema, askUserQuestionsQuestionSchema, paperclipQuestionOptionSchema, paperclipQuestionSchema, paperclipQuestionSetPayloadSchema, askUserQuestionsPayloadSchema, askUserQuestionsAnswerSchema, askUserQuestionsResultSchema, requestConfirmationHrefSchema, requestConfirmationTargetBaseSchema, requestConfirmationIssueDocumentTargetSchema, requestConfirmationCustomTargetSchema, requestConfirmationTargetSchema, requestConfirmationToolActionPayloadSchema, requestConfirmationSecretProposalPayloadSchema, requestConfirmationPayloadSchema, requestCheckboxConfirmationOptionSchema, requestCheckboxConfirmationPayloadSchema, requestConfirmationResumeFailureSchema, requestConfirmationToolActionResultSchema, requestConfirmationSecretProposalResultSchema, requestConfirmationResultSchema, requestCheckboxConfirmationResultSchema, requestItemVerdictValueSchema, requestItemVerdictsItemSchema, requestItemVerdictsPayloadSchema, requestItemVerdictsResultItemSchema, requestItemVerdictsResultSchema, createIssueThreadInteractionCommon, createAskUserQuestionsPayloadSchema, createIssueThreadInteractionSchema, acceptIssueThreadInteractionSchema, rejectIssueThreadInteractionSchema, cancelIssueThreadInteractionSchema, skipIssueThreadInteractionSchema, withdrawIssueThreadInteractionSchema, respondIssueThreadInteractionSchema, submitIssueThreadInteractionVerdictsSchema, linkIssueApprovalSchema, createIssueAttachmentMetadataSchema, ISSUE_DOCUMENT_FORMATS, issueDocumentFormatSchema, upsertIssueDocumentSchema, restoreIssueDocumentRevisionSchema;
9089
9089
  var init_issue = __esm({
9090
9090
  "../packages/shared/src/validators/issue.ts"() {
9091
9091
  "use strict";
@@ -9240,14 +9240,27 @@ var init_issue = __esm({
9240
9240
  });
9241
9241
  }
9242
9242
  });
9243
+ issueRunModelOverrideSubtaskScopeSchema = z16.enum([
9244
+ "new",
9245
+ "new_and_existing"
9246
+ ]);
9247
+ issueRunModelOverrideInheritanceStateSchema = z16.object({
9248
+ inheritToSubtasks: z16.boolean(),
9249
+ subtaskScope: issueRunModelOverrideSubtaskScopeSchema,
9250
+ inherited: z16.boolean().optional(),
9251
+ sourceIssueId: z16.string().optional().nullable()
9252
+ }).strict();
9243
9253
  issueAssigneeAdapterOverridesSchema = z16.object({
9244
9254
  adapterConfig: z16.record(z16.string(), z16.unknown()).optional(),
9245
- useProjectWorkspace: z16.boolean().optional()
9255
+ useProjectWorkspace: z16.boolean().optional(),
9256
+ modelOverrideInheritance: issueRunModelOverrideInheritanceStateSchema.optional()
9246
9257
  }).strict();
9247
9258
  runModelOverrideValue = z16.string().trim().max(200).nullable();
9248
9259
  issueRunModelOverrideUpdateSchema = z16.object({
9249
9260
  model: runModelOverrideValue.optional(),
9250
- thinking: runModelOverrideValue.optional()
9261
+ thinking: runModelOverrideValue.optional(),
9262
+ inheritToSubtasks: z16.boolean().optional(),
9263
+ subtaskScope: issueRunModelOverrideSubtaskScopeSchema.optional()
9251
9264
  }).strict();
9252
9265
  issueExecutionStagePrincipalBaseSchema = z16.object({
9253
9266
  type: z16.enum(["agent", "user"]),
@@ -9488,6 +9501,7 @@ var init_issue = __esm({
9488
9501
  responsibleUserId: z16.string().optional().nullable(),
9489
9502
  billingCode: z16.string().optional().nullable(),
9490
9503
  assigneeAdapterOverrides: issueAssigneeAdapterOverridesSchema.optional().nullable(),
9504
+ modelOverride: issueRunModelOverrideUpdateSchema.optional().nullable(),
9491
9505
  executionPolicy: issueExecutionPolicySchema.optional().nullable(),
9492
9506
  executionWorkspaceId: z16.string().guid().optional().nullable(),
9493
9507
  executionWorkspacePreference: z16.enum(ISSUE_EXECUTION_WORKSPACE_PREFERENCES).optional().nullable(),
@@ -15421,7 +15435,7 @@ var init_adapter_skills = __esm({
15421
15435
 
15422
15436
  // ../packages/shared/src/validators/agent.ts
15423
15437
  import { z as z45 } from "zod";
15424
- var agentPermissionsSchema, agentInstructionsBundleModeSchema, updateAgentInstructionsBundleSchema, upsertAgentInstructionsFileSchema, adapterConfigSchema, createAgentInstructionsBundleSchema, agentRuntimeConfigSchema, createAgentSchema, builtInAgentProvisionSchema, builtInAgentEmptyMutationSchema, builtInAgentResetSchema, createAgentHireSchema, updateAgentSchema, updateAgentInstructionsPathSchema, taskBridgeAgentKeyScopeSchema, standardAgentKeyScopeSchema, skillTestAgentKeyScopeSchema, agentApiKeyScopeSchema, createAgentKeySchema, agentMineInboxQuerySchema, wakeAgentSchema, resetAgentSessionSchema, testAdapterEnvironmentSchema, updateAgentPermissionsSchema;
15438
+ var agentPermissionsSchema, agentInstructionsBundleModeSchema, updateAgentInstructionsBundleSchema, upsertAgentInstructionsFileSchema, adapterConfigSchema, createAgentInstructionsBundleSchema, agentRuntimeConfigSchema, createAgentSchema, builtInAgentProvisionSchema, builtInAgentEmptyMutationSchema, builtInAgentResetSchema, createAgentHireSchema, updateAgentSchema, updateAgentInstructionsPathSchema, taskBridgeAgentKeyScopeSchema, standardAgentKeyScopeSchema, skillTestAgentKeyScopeSchema, agentApiKeyScopeSchema, createAgentKeySchema, agentMineInboxQuerySchema, wakeAgentSchema, resetAgentSessionSchema, testAdapterEnvironmentSchema, updateAgentPermissionsSchema, AGENT_ADAPTER_CONFIG_BATCH_MAX_AGENTS, agentAdapterConfigBatchIds, agentAdapterConfigBatchPreviewSchema, agentAdapterConfigBatchUpdateSchema;
15425
15439
  var init_agent2 = __esm({
15426
15440
  "../packages/shared/src/validators/agent.ts"() {
15427
15441
  "use strict";
@@ -15639,6 +15653,15 @@ var init_agent2 = __esm({
15639
15653
  trustPreset: trustPresetSchema.optional(),
15640
15654
  authorizationPolicy: trustAuthorizationPolicySchema.optional()
15641
15655
  });
15656
+ AGENT_ADAPTER_CONFIG_BATCH_MAX_AGENTS = 100;
15657
+ agentAdapterConfigBatchIds = z45.array(z45.string().guid()).min(1).max(AGENT_ADAPTER_CONFIG_BATCH_MAX_AGENTS);
15658
+ agentAdapterConfigBatchPreviewSchema = z45.object({ agentIds: agentAdapterConfigBatchIds }).strict();
15659
+ agentAdapterConfigBatchUpdateSchema = z45.object({
15660
+ agentIds: agentAdapterConfigBatchIds,
15661
+ values: z45.record(z45.string().min(1).max(64), z45.string().trim().max(200).nullable()).refine((values) => Object.keys(values).length > 0, {
15662
+ message: "Provide at least one adapter config value"
15663
+ })
15664
+ }).strict();
15642
15665
  }
15643
15666
  });
15644
15667
 
@@ -38607,6 +38630,47 @@ var init_telemetry2 = __esm({
38607
38630
  }
38608
38631
  });
38609
38632
 
38633
+ // src/release-packages.ts
38634
+ var RELEASE_PACKAGE_NAMES;
38635
+ var init_release_packages = __esm({
38636
+ "src/release-packages.ts"() {
38637
+ "use strict";
38638
+ RELEASE_PACKAGE_NAMES = [
38639
+ "@tickernelz/paperclip-pro",
38640
+ "@tickernelz/paperclip-pro-adapter-claude-local",
38641
+ "@tickernelz/paperclip-pro-adapter-codex-local",
38642
+ "@tickernelz/paperclip-pro-adapter-cursor-cloud",
38643
+ "@tickernelz/paperclip-pro-adapter-cursor-local",
38644
+ "@tickernelz/paperclip-pro-adapter-gemini-local",
38645
+ "@tickernelz/paperclip-pro-adapter-grok-local",
38646
+ "@tickernelz/paperclip-pro-adapter-kimi-local",
38647
+ "@tickernelz/paperclip-pro-adapter-omp-local",
38648
+ "@tickernelz/paperclip-pro-adapter-openclaw-gateway",
38649
+ "@tickernelz/paperclip-pro-adapter-opencode-local",
38650
+ "@tickernelz/paperclip-pro-adapter-pi-local",
38651
+ "@tickernelz/paperclip-pro-adapter-utils",
38652
+ "@tickernelz/paperclip-pro-create-paperclip-plugin",
38653
+ "@tickernelz/paperclip-pro-db",
38654
+ "@tickernelz/paperclip-pro-hermes-paperclip-adapter",
38655
+ "@tickernelz/paperclip-pro-mcp-server",
38656
+ "@tickernelz/paperclip-pro-plugin-cloudflare-sandbox",
38657
+ "@tickernelz/paperclip-pro-plugin-daytona",
38658
+ "@tickernelz/paperclip-pro-plugin-e2b",
38659
+ "@tickernelz/paperclip-pro-plugin-exe-dev",
38660
+ "@tickernelz/paperclip-pro-plugin-kubernetes",
38661
+ "@tickernelz/paperclip-pro-plugin-modal",
38662
+ "@tickernelz/paperclip-pro-plugin-novita-sandbox",
38663
+ "@tickernelz/paperclip-pro-plugin-sdk",
38664
+ "@tickernelz/paperclip-pro-plugin-workspace-diff",
38665
+ "@tickernelz/paperclip-pro-server",
38666
+ "@tickernelz/paperclip-pro-shared",
38667
+ "@tickernelz/paperclip-pro-skills-catalog",
38668
+ "@tickernelz/paperclip-pro-teams-catalog",
38669
+ "@tickernelz/paperclip-pro-ui"
38670
+ ];
38671
+ }
38672
+ });
38673
+
38610
38674
  // src/commands/install.ts
38611
38675
  import fs12 from "node:fs";
38612
38676
  import os4 from "node:os";
@@ -38682,6 +38746,10 @@ function parseResolvedVersion(stdout) {
38682
38746
  try {
38683
38747
  const parsed = JSON.parse(trimmed);
38684
38748
  if (typeof parsed === "string") return parsed;
38749
+ if (Array.isArray(parsed)) {
38750
+ const last = parsed.at(-1);
38751
+ if (typeof last === "string" && EXACT_VERSION_PATTERN.test(last)) return last;
38752
+ }
38685
38753
  } catch {
38686
38754
  if (EXACT_VERSION_PATTERN.test(trimmed)) return trimmed;
38687
38755
  }
@@ -38695,6 +38763,30 @@ async function resolvePublishedVersion(spec, runCommand2) {
38695
38763
  );
38696
38764
  return parseResolvedVersion(result.stdout);
38697
38765
  }
38766
+ async function assertReleaseSetPublished(version, runCommand2) {
38767
+ const missing = [];
38768
+ const queue = [...RELEASE_PACKAGE_NAMES];
38769
+ const probe = async () => {
38770
+ for (let name = queue.pop(); name !== void 0; name = queue.pop()) {
38771
+ try {
38772
+ const result = await runCommand2(
38773
+ "npm",
38774
+ ["view", `${name}@${version}`, "version", "--json", `--registry=${PUBLIC_NPM_REGISTRY}`],
38775
+ { maxBuffer: 1024 * 1024 }
38776
+ );
38777
+ if (parseResolvedVersion(result.stdout) !== version) missing.push(name);
38778
+ } catch {
38779
+ missing.push(name);
38780
+ }
38781
+ }
38782
+ };
38783
+ await Promise.all(Array.from({ length: Math.min(8, RELEASE_PACKAGE_NAMES.length) }, probe));
38784
+ if (missing.length > 0) {
38785
+ throw new Error(
38786
+ `Release ${version} is incomplete on ${PUBLIC_NPM_REGISTRY}: ${missing.length} of ${RELEASE_PACKAGE_NAMES.length} packages are not published at that version (${missing.sort().join(", ")}). Installing it would mix versions across packages. Wait for the release to finish publishing, or pass --version with a complete release.`
38787
+ );
38788
+ }
38789
+ }
38698
38790
  function resolveGitInstallRequest(options) {
38699
38791
  if (!options.ref && !options.repo) return null;
38700
38792
  if (!options.ref) throw new Error("--repo requires --ref.");
@@ -38729,12 +38821,37 @@ async function resolveGitHubRef(repo, ref, runCommand2) {
38729
38821
  if (typeof sha !== "string" || !/^[0-9a-f]{40}$/i.test(sha)) throw new Error(`GitHub did not return a full commit SHA for ${repo}@${ref}.`);
38730
38822
  return sha.toLowerCase();
38731
38823
  }
38824
+ function writeManagedNpmrc(filePath) {
38825
+ const lines = [
38826
+ `registry=${PUBLIC_NPM_REGISTRY}`,
38827
+ `@tickernelz:registry=${PUBLIC_NPM_REGISTRY}`,
38828
+ ...INSTALL_SCRIPT_ALLOWLIST.map((name) => `allow-scripts[]=${name}`)
38829
+ ];
38830
+ fs12.writeFileSync(filePath, `${lines.join("\n")}
38831
+ `, { mode: 384 });
38832
+ }
38833
+ function assertPayloadNativeAssets(payloadPath) {
38834
+ const embeddedRoot = path16.join(payloadPath, "node_modules", "@embedded-postgres");
38835
+ if (!fs12.existsSync(embeddedRoot)) return;
38836
+ for (const platform2 of fs12.readdirSync(embeddedRoot)) {
38837
+ const manifestPath = path16.join(embeddedRoot, platform2, "native", "pg-symlinks.json");
38838
+ if (!fs12.existsSync(manifestPath)) continue;
38839
+ const links = JSON.parse(fs12.readFileSync(manifestPath, "utf8"));
38840
+ const missing = links.filter(({ target }) => !fs12.existsSync(path16.join(embeddedRoot, platform2, target)));
38841
+ if (missing.length > 0) {
38842
+ throw new Error(
38843
+ `Embedded PostgreSQL in @embedded-postgres/${platform2} is missing ${missing.length} shared-library link(s) such as ${missing[0].target}; the package install script did not run. Allow it with 'npm install-scripts approve @embedded-postgres/${platform2}' or reinstall with a npm that honours the paperclip-pro allow-scripts list.`
38844
+ );
38845
+ }
38846
+ }
38847
+ }
38732
38848
  function payloadEntrypoint(payloadPath) {
38733
38849
  return path16.join(payloadPath, "node_modules", "@tickernelz", "paperclip-pro", "dist", "index.js");
38734
38850
  }
38735
38851
  async function smokePayload(payloadPath, expectedVersion, runCommand2) {
38736
38852
  const entrypoint = payloadEntrypoint(payloadPath);
38737
38853
  if (!fs12.existsSync(entrypoint)) throw new Error(`Installed package is missing its CLI entrypoint: ${entrypoint}`);
38854
+ assertPayloadNativeAssets(payloadPath);
38738
38855
  const result = await runCommand2(process.execPath, [entrypoint, "--version"], { maxBuffer: 1024 * 1024 });
38739
38856
  const reportedVersion = result.stdout.trim().split(/\s+/)[0];
38740
38857
  if (reportedVersion !== expectedVersion) {
@@ -38760,13 +38877,7 @@ async function installNpmPayload(version, runCommand2, paths = resolveInstallSto
38760
38877
  const npmUserConfigPath = path16.join(sourceRoot, `.npmrc-${process.pid}-${Date.now()}`);
38761
38878
  fs12.rmSync(stagingPath, { recursive: true, force: true });
38762
38879
  try {
38763
- fs12.writeFileSync(
38764
- npmUserConfigPath,
38765
- `registry=${PUBLIC_NPM_REGISTRY}
38766
- @tickernelz:registry=${PUBLIC_NPM_REGISTRY}
38767
- `,
38768
- { mode: 384 }
38769
- );
38880
+ writeManagedNpmrc(npmUserConfigPath);
38770
38881
  await runCommand2(
38771
38882
  "npm",
38772
38883
  [
@@ -38857,7 +38968,9 @@ async function installGitPayload(repo, sha, runCommand2, paths = resolveInstallS
38857
38968
  if (!cliTarball || workspaceTarballs.length !== workspacePackages.length) {
38858
38969
  throw new Error(`Git install packaging produced ${workspaceTarballs.length} workspace tarballs; expected ${workspacePackages.length}.`);
38859
38970
  }
38860
- await runCommand2("npm", ["install", "--prefix", stagedPayload, path16.join(stagingRoot, cliTarball), ...workspaceTarballs.map((entry) => path16.join(stagingRoot, entry)), "--no-audit", "--no-fund"], { cwd: stagingRoot, maxBuffer: 32 * 1024 * 1024 });
38971
+ const payloadNpmrcPath = path16.join(stagingRoot, "payload.npmrc");
38972
+ writeManagedNpmrc(payloadNpmrcPath);
38973
+ await runCommand2("npm", ["install", "--prefix", stagedPayload, path16.join(stagingRoot, cliTarball), ...workspaceTarballs.map((entry) => path16.join(stagingRoot, entry)), "--no-audit", "--no-fund"], { cwd: stagingRoot, env: { ...process.env, npm_config_userconfig: payloadNpmrcPath }, maxBuffer: 32 * 1024 * 1024 });
38861
38974
  await smokePayload(stagedPayload, metadata.version, runCommand2);
38862
38975
  fs12.renameSync(stagedPayload, payloadPath);
38863
38976
  return { payloadPath, reused: false, version: metadata.version };
@@ -38946,6 +39059,8 @@ async function installCommand(options, dependencies = {}) {
38946
39059
  const request = resolveNpmInstallRequest(options);
38947
39060
  console.log(`Resolving @tickernelz/paperclip-pro@${request.spec} from ${PUBLIC_NPM_REGISTRY}...`);
38948
39061
  const version = await resolvePublishedVersion(request.spec, runCommand2);
39062
+ console.log(`Verifying all ${RELEASE_PACKAGE_NAMES.length} packages of release ${version}...`);
39063
+ await assertReleaseSetPublished(version, runCommand2);
38949
39064
  console.log(`Installing @tickernelz/paperclip-pro@${version}...`);
38950
39065
  const paths = resolveInstallStorePaths();
38951
39066
  const installed = await withInstallStoreLock(async () => {
@@ -38978,15 +39093,26 @@ async function installCommand(options, dependencies = {}) {
38978
39093
  console.log(pc5.dim(`Payload: ${installed.payloadPath}`));
38979
39094
  console.log(`Run ${pc5.cyan("paperclip-pro --version")} to verify the managed install.`);
38980
39095
  }
38981
- var execFileAsync, PUBLIC_NPM_REGISTRY, DEFAULT_GITHUB_REPO, EXACT_VERSION_PATTERN, COMMAND_OUTPUT_TAIL_LINES;
39096
+ var execFileAsync, PUBLIC_NPM_REGISTRY, INSTALL_SCRIPT_ALLOWLIST, DEFAULT_GITHUB_REPO, EXACT_VERSION_PATTERN, COMMAND_OUTPUT_TAIL_LINES;
38982
39097
  var init_install = __esm({
38983
39098
  "src/commands/install.ts"() {
38984
39099
  "use strict";
38985
39100
  init_node_version();
38986
39101
  init_install_store();
39102
+ init_release_packages();
38987
39103
  execFileAsync = promisify(execFile);
38988
39104
  PUBLIC_NPM_REGISTRY = "https://registry.npmjs.org";
38989
- DEFAULT_GITHUB_REPO = "paperclipai/paperclip";
39105
+ INSTALL_SCRIPT_ALLOWLIST = [
39106
+ "@embedded-postgres/darwin-arm64",
39107
+ "@embedded-postgres/darwin-x64",
39108
+ "@embedded-postgres/linux-arm",
39109
+ "@embedded-postgres/linux-arm64",
39110
+ "@embedded-postgres/linux-ia32",
39111
+ "@embedded-postgres/linux-ppc64",
39112
+ "@embedded-postgres/linux-x64",
39113
+ "@embedded-postgres/windows-x64"
39114
+ ];
39115
+ DEFAULT_GITHUB_REPO = "tickernelz/paperclip-pro";
38990
39116
  EXACT_VERSION_PATTERN = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/;
38991
39117
  COMMAND_OUTPUT_TAIL_LINES = 40;
38992
39118
  }
@@ -41347,9 +41473,7 @@ async function updateCommand(options, overrides = {}) {
41347
41473
  const npmConfigDir = fs22.mkdtempSync(path26.join(os7.tmpdir(), "paperclip-npm-"));
41348
41474
  const npmUserConfigPath = path26.join(npmConfigDir, "npmrc");
41349
41475
  try {
41350
- fs22.writeFileSync(npmUserConfigPath, `registry=${PUBLIC_NPM_REGISTRY}
41351
- @tickernelz:registry=${PUBLIC_NPM_REGISTRY}
41352
- `, { mode: 384 });
41476
+ writeManagedNpmrc(npmUserConfigPath);
41353
41477
  await runCommand2("npm", args, {
41354
41478
  env: {
41355
41479
  ...process.env,
@@ -41380,6 +41504,7 @@ async function updateCommand(options, overrides = {}) {
41380
41504
  emit(options, { mode, currentVersion, targetVersion, action: comparison < 0 ? "downgrade" : "update", backup: options.backup !== false, dryRun: true }, `Would ${comparison < 0 ? "downgrade" : "update"} paperclip-pro ${currentVersion} \u2192 ${targetVersion}${options.backup === false ? " without a backup" : " after a database backup"}.`);
41381
41505
  return;
41382
41506
  }
41507
+ await assertReleaseSetPublished(targetVersion, runCommand2);
41383
41508
  if (options.backup !== false) await runPreUpdateBackup(options, overrides.backup ?? (() => dbBackupCommand({})), overrides.hasInstanceData);
41384
41509
  const installed = await withInstallStoreLock(async () => {
41385
41510
  assertManagedShimWritable(paths);