@tickernelz/paperclip-pro 2026.926.0 → 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/README.md +108 -454
- package/dist/index.js +142 -17
- package/dist/index.js.map +4 -4
- package/package.json +2 -2
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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);
|