Skip to content

🪪 [2/3] feat(cli): add preference upload state and pooling key hooks - #701

Open
michaelfarrell76 wants to merge 1 commit into
michaelfarrell76/pref-upload-sdk-building-blocksfrom
michaelfarrell76/pref-upload-cli-state
Open

michaelfarrell76 wants to merge 1 commit into
michaelfarrell76/pref-upload-sdk-building-blocksfrom
michaelfarrell76/pref-upload-cli-state

Conversation

@michaelfarrell76

@michaelfarrell76 michaelfarrell76 commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Note

⚠️ AI DRAFT Michael: review/edit, then delete this line
Multi identifier preference uploads have been stuck in one giant stale PR, breaking it down so we can actually merge, test, and ship it as a major.

Stack (replaces #11)

Step PR Merge base ← head
1/3 #700 main ← michaelfarrell76/pref-upload-sdk-building-blocks
2/3 This PR michaelfarrell76/pref-upload-sdk-building-blocks ← michaelfarrell76/pref-upload-cli-state
3/3 #702 michaelfarrell76/pref-upload-cli-state ← michaelfarrell76/multi-identifier-preference-uploads

Merge in order: #700 → this PR → #702.

Summary

  • Adds makeSchemaState and makeReceiptsState, the PersistedState adapters the new upload flow uses for the column-mapping config and per-file receipts. Both live under upload-preferences/artifacts/, so the codebase structure test needs no allowlist change.
  • createPoolingCommandUi takes an optional 4th argument and forwards exportMgr, exportStatus, and custom keys to createExtraKeyHandler. 3/3 uses this for the F hotkey that writes the failing-updates CSV.
  • Drops transformCsv.ts from [cli] multi identifier preference record uploads #11. It was customer-specific, marked FIXME remove, and had no callers.
  • Nothing calls the new modules until 3/3.

Test plan

  • pnpm -F @transcend-io/cli typecheck
  • New tests: schemaState.test.ts, receiptsState.test.ts, plus a passthrough case in createPoolingCommandUi.test.ts
  • upload-preferences command tests and codebase.test.ts

…y hooks

Add schema and receipts PersistedState adapters for the upload-preferences
artifacts, and let createPoolingCommandUi forward export hotkeys, export
status, and custom keys to createExtraKeyHandler.

Split out of #11.
@pkg-pr-new

pkg-pr-new Bot commented Nov 1, 2026

Copy link
Copy Markdown

Open in StackBlitz

@transcend-io/airgap.js-types

pnpm add https://pkg.pr.new/@transcend-io/airgap.js-types@1bff494
yarn add https://pkg.pr.new/@transcend-io/airgap.js-types@1bff494.tgz

@transcend-io/cli

pnpm add https://pkg.pr.new/@transcend-io/cli@1bff494
yarn add https://pkg.pr.new/@transcend-io/cli@1bff494.tgz

@transcend-io/custom-function-types

pnpm add https://pkg.pr.new/@transcend-io/custom-function-types@1bff494
yarn add https://pkg.pr.new/@transcend-io/custom-function-types@1bff494.tgz

@transcend-io/design-tokens

pnpm add https://pkg.pr.new/@transcend-io/design-tokens@1bff494
yarn add https://pkg.pr.new/@transcend-io/design-tokens@1bff494.tgz

@transcend-io/internationalization

pnpm add https://pkg.pr.new/@transcend-io/internationalization@1bff494
yarn add https://pkg.pr.new/@transcend-io/internationalization@1bff494.tgz

@transcend-io/privacy-types

pnpm add https://pkg.pr.new/@transcend-io/privacy-types@1bff494
yarn add https://pkg.pr.new/@transcend-io/privacy-types@1bff494.tgz

@transcend-io/sdk

pnpm add https://pkg.pr.new/@transcend-io/sdk@1bff494
yarn add https://pkg.pr.new/@transcend-io/sdk@1bff494.tgz

@transcend-io/secret-value

pnpm add https://pkg.pr.new/@transcend-io/secret-value@1bff494
yarn add https://pkg.pr.new/@transcend-io/secret-value@1bff494.tgz

@transcend-io/type-utils

pnpm add https://pkg.pr.new/@transcend-io/type-utils@1bff494
yarn add https://pkg.pr.new/@transcend-io/type-utils@1bff494.tgz

@transcend-io/utils

pnpm add https://pkg.pr.new/@transcend-io/utils@1bff494
yarn add https://pkg.pr.new/@transcend-io/utils@1bff494.tgz

commit: 1bff494

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant