@hubspot/app-connect-sdk 1.0.0-alpha.20 → 1.0.0-alpha.22

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.
Files changed (41) hide show
  1. package/.turbo/turbo-format$colon$check.log +1 -1
  2. package/.turbo/turbo-test.log +69 -54
  3. package/.turbo/turbo-tsdown.log +18 -16
  4. package/build/tsconfig.browser.tsbuildinfo +1 -1
  5. package/build/tsconfig.server.tsbuildinfo +1 -1
  6. package/dist/browser/{HubSpotAppConnect-DFe9b90e.js → HubSpotAppConnect-721kYr9d.js} +14 -21
  7. package/dist/browser/{HubSpotAppConnect-DFe9b90e.js.map → HubSpotAppConnect-721kYr9d.js.map} +1 -1
  8. package/dist/browser/{create-BNQazCF-.js → create-DxEyGG-k.js} +82 -37
  9. package/dist/browser/create-DxEyGG-k.js.map +1 -0
  10. package/dist/browser/index.d.ts +1 -1
  11. package/dist/browser/index.js +1 -1
  12. package/dist/browser/react/lovable.d.ts +1 -1
  13. package/dist/browser/react/lovable.js +2 -2
  14. package/dist/browser/react.d.ts +1 -1
  15. package/dist/browser/react.js +1 -1
  16. package/dist/browser/{types-DkAmHcZt.d.ts → types-C3wed8dU.d.ts} +31 -1
  17. package/dist/server/hono/hubspot-connect-routes/auth-complete.js +4 -1
  18. package/dist/server/hono/hubspot-connect-routes/auth-complete.js.map +1 -1
  19. package/dist/server/hono/hubspot-connect-routes/whoami.js +54 -0
  20. package/dist/server/hono/hubspot-connect-routes/whoami.js.map +1 -0
  21. package/package.json +1 -1
  22. package/src/browser/app-connect-controller/connect-start.test.ts +1 -0
  23. package/src/browser/app-connect-controller/constants.ts +6 -4
  24. package/src/browser/app-connect-controller/create.ts +8 -2
  25. package/src/browser/app-connect-controller/disconnect.ts +1 -0
  26. package/src/browser/app-connect-controller/init.test.ts +30 -15
  27. package/src/browser/app-connect-controller/init.ts +2 -2
  28. package/src/browser/app-connect-controller/oauth-complete.test.ts +7 -3
  29. package/src/browser/app-connect-controller/oauth-popup.test.ts +1 -0
  30. package/src/browser/app-connect-controller/types.ts +3 -0
  31. package/src/browser/app-connect-controller/utils/session-utils.test.ts +73 -22
  32. package/src/browser/app-connect-controller/utils/session-utils.ts +74 -33
  33. package/src/browser/app-connect-controller/view-state.test.ts +1 -0
  34. package/src/browser/app-connect-controller/view-state.ts +1 -0
  35. package/src/browser/react/components/AppConnectHeader/AppConnectHeader.tsx +18 -29
  36. package/src/browser/types.ts +9 -0
  37. package/src/server/hono/hubspot-connect-routes/auth-complete.test.ts +129 -20
  38. package/src/server/hono/hubspot-connect-routes/auth-complete.ts +8 -1
  39. package/src/server/hono/hubspot-connect-routes/whoami.ts +121 -0
  40. package/src/shared/wire-types.ts +30 -0
  41. package/dist/browser/create-BNQazCF-.js.map +0 -1
@@ -1,4 +1,4 @@
1
1
 
2
2
  $ prettier --check . --ignore-path ../../.prettierignore
3
3
  Checking formatting...
4
- .turbo/turbo-format$colon$check.log.turbo/turbo-lint.log.turbo/turbo-test.log.turbo/turbo-tsc.log.turbo/turbo-tsdown.logeslint.config.jspackage.jsonREADME.mdsrc/browser/app-connect-controller/connect-start.test.tssrc/browser/app-connect-controller/connect-start.tssrc/browser/app-connect-controller/constants.tssrc/browser/app-connect-controller/create.tssrc/browser/app-connect-controller/default-session-storage.tssrc/browser/app-connect-controller/disconnect.tssrc/browser/app-connect-controller/init.test.tssrc/browser/app-connect-controller/init.tssrc/browser/app-connect-controller/oauth-complete.test.tssrc/browser/app-connect-controller/oauth-complete.tssrc/browser/app-connect-controller/oauth-popup.test.tssrc/browser/app-connect-controller/oauth-popup.tssrc/browser/app-connect-controller/README.mdsrc/browser/app-connect-controller/refresh.tssrc/browser/app-connect-controller/types.tssrc/browser/app-connect-controller/utils/crypto-utils.tssrc/browser/app-connect-controller/utils/encode-utils.tssrc/browser/app-connect-controller/utils/iframe-utils.tssrc/browser/app-connect-controller/utils/memoize-utils.test.tssrc/browser/app-connect-controller/utils/memoize-utils.tssrc/browser/app-connect-controller/utils/resolve-oauth-connect-mode.test.tssrc/browser/app-connect-controller/utils/resolve-oauth-connect-mode.tssrc/browser/app-connect-controller/utils/session-utils.test.tssrc/browser/app-connect-controller/utils/session-utils.tssrc/browser/app-connect-controller/utils/store-utils.test.tssrc/browser/app-connect-controller/utils/store-utils.tssrc/browser/app-connect-controller/utils/timeout-utils.tssrc/browser/app-connect-controller/view-state.test.tssrc/browser/app-connect-controller/view-state.tssrc/browser/index.tssrc/browser/react/components/AppConnectHeader/AppConnectHeader.css.tssrc/browser/react/components/AppConnectHeader/AppConnectHeader.tsxsrc/browser/react/components/Button/Button.css.tssrc/browser/react/components/Button/Button.tsxsrc/browser/react/components/ConnectButton/ConnectButton.css.tssrc/browser/react/components/ConnectButton/ConnectButton.tsxsrc/browser/react/components/DisconnectedBody/DisconnectedBody.css.tssrc/browser/react/components/DisconnectedBody/DisconnectedBody.tsxsrc/browser/react/components/HubSpotAppConnect/HubSpotAppConnect.css.tssrc/browser/react/components/HubSpotAppConnect/HubSpotAppConnect.tsxsrc/browser/react/components/icons/ChevronDownIcon.tsxsrc/browser/react/components/icons/ExternalLinkIcon.tsxsrc/browser/react/components/icons/HubSpotDataSourceIcon.tsxsrc/browser/react/components/icons/LogoutIcon.tsxsrc/browser/react/components/icons/ShareIcon.tsxsrc/browser/react/components/LoadingIndicator/LoadingIndicator.css.tssrc/browser/react/components/LoadingIndicator/LoadingIndicator.tsxsrc/browser/react/components/ShareButton/ShareButton.css.tssrc/browser/react/components/ShareButton/ShareButton.tsxsrc/browser/react/context.tssrc/browser/react/hooks.tssrc/browser/react/index.tssrc/browser/react/lovable/index.tssrc/browser/react/lovable/LovableHubSpotAppConnect.tsxsrc/browser/theme-tokens.generated.css.tssrc/browser/theme.css.tssrc/browser/types.tssrc/server/api-client-core/__tests__/errors.test.tssrc/server/api-client-core/__tests__/operation-headers.test.tssrc/server/api-client-core/apis/account/account-info-types.generated.tssrc/server/api-client-core/apis/account/account-info.generated.tssrc/server/api-client-core/apis/account/audit-logs-types.generated.tssrc/server/api-client-core/apis/account/audit-logs.generated.tssrc/server/api-client-core/apis/auth/oauth-types.generated.tssrc/server/api-client-core/apis/auth/oauth.generated.tssrc/server/api-client-core/apis/automation/actions-types.generated.tssrc/server/api-client-core/apis/automation/actions.generated.tssrc/server/api-client-core/apis/automation/sequences-types.generated.tssrc/server/api-client-core/apis/automation/sequences.generated.tssrc/server/api-client-core/apis/business-units-types.generated.tssrc/server/api-client-core/apis/business-units.generated.tssrc/server/api-client-core/apis/cms/authors-types.generated.tssrc/server/api-client-core/apis/cms/authors.generated.tssrc/server/api-client-core/apis/cms/blog-settings-types.generated.tssrc/server/api-client-core/apis/cms/blog-settings.generated.tssrc/server/api-client-core/apis/cms/cms-content-audit-types.generated.tssrc/server/api-client-core/apis/cms/cms-content-audit.generated.tssrc/server/api-client-core/apis/cms/domains-types.generated.tssrc/server/api-client-core/apis/cms/domains.generated.tssrc/server/api-client-core/apis/cms/hubdb-types.generated.tssrc/server/api-client-core/apis/cms/hubdb.generated.tssrc/server/api-client-core/apis/cms/media-bridge-types.generated.tssrc/server/api-client-core/apis/cms/media-bridge.generated.tssrc/server/api-client-core/apis/cms/pages-types.generated.tssrc/server/api-client-core/apis/cms/pages.generated.tssrc/server/api-client-core/apis/cms/posts-types.generated.tssrc/server/api-client-core/apis/cms/posts.generated.tssrc/server/api-client-core/apis/cms/site-search-types.generated.tssrc/server/api-client-core/apis/cms/site-search.generated.tssrc/server/api-client-core/apis/cms/source-code-types.generated.tssrc/server/api-client-core/apis/cms/source-code.generated.tssrc/server/api-client-core/apis/cms/tags-types.generated.tssrc/server/api-client-core/apis/cms/tags.generated.tssrc/server/api-client-core/apis/cms/url-mappings-types.generated.tssrc/server/api-client-core/apis/cms/url-mappings.generated.tssrc/server/api-client-core/apis/cms/url-redirects-types.generated.tssrc/server/api-client-core/apis/cms/url-redirects.generated.tssrc/server/api-client-core/apis/communication-preferences/subscriptions-types.generated.tssrc/server/api-client-core/apis/communication-preferences/subscriptions.generated.tssrc/server/api-client-core/apis/conversations-types.generated.tssrc/server/api-client-core/apis/conversations.generated.tssrc/server/api-client-core/apis/conversations/custom-channels-types.generated.tssrc/server/api-client-core/apis/conversations/custom-channels.generated.tssrc/server/api-client-core/apis/conversations/visitor-identification-types.generated.tssrc/server/api-client-core/apis/conversations/visitor-identification.generated.tssrc/server/api-client-core/apis/crm/app-uninstalls-types.generated.tssrc/server/api-client-core/apis/crm/app-uninstalls.generated.tssrc/server/api-client-core/apis/crm/appointments-types.generated.tssrc/server/api-client-core/apis/crm/appointments.generated.tssrc/server/api-client-core/apis/crm/associations-schema-types.generated.tssrc/server/api-client-core/apis/crm/associations-schema.generated.tssrc/server/api-client-core/apis/crm/associations-types.generated.tssrc/server/api-client-core/apis/crm/associations.generated.tssrc/server/api-client-core/apis/crm/calling-extensions-types.generated.tssrc/server/api-client-core/apis/crm/calling-extensions.generated.tssrc/server/api-client-core/apis/crm/calls-types.generated.tssrc/server/api-client-core/apis/crm/calls.generated.tssrc/server/api-client-core/apis/crm/carts-types.generated.tssrc/server/api-client-core/apis/crm/carts.generated.tssrc/server/api-client-core/apis/crm/commerce-payments-types.generated.tssrc/server/api-client-core/apis/crm/commerce-payments.generated.tssrc/server/api-client-core/apis/crm/commerce-subscriptions-types.generated.tssrc/server/api-client-core/apis/crm/commerce-subscriptions.generated.tssrc/server/api-client-core/apis/crm/communications-types.generated.tssrc/server/api-client-core/apis/crm/communications.generated.tssrc/server/api-client-core/apis/crm/companies-types.generated.tssrc/server/api-client-core/apis/crm/companies.generated.tssrc/server/api-client-core/apis/crm/contacts-types.generated.tssrc/server/api-client-core/apis/crm/contacts.generated.tssrc/server/api-client-core/apis/crm/contracts-types.generated.tssrc/server/api-client-core/apis/crm/contracts.generated.tssrc/server/api-client-core/apis/crm/courses-types.generated.tssrc/server/api-client-core/apis/crm/courses.generated.tssrc/server/api-client-core/apis/crm/crm-owners-types.generated.tssrc/server/api-client-core/apis/crm/crm-owners.generated.tssrc/server/api-client-core/apis/crm/custom-objects-types.generated.tssrc/server/api-client-core/apis/crm/custom-objects.generated.tssrc/server/api-client-core/apis/crm/deal-splits-types.generated.tssrc/server/api-client-core/apis/crm/deal-splits.generated.tssrc/server/api-client-core/apis/crm/deals-types.generated.tssrc/server/api-client-core/apis/crm/deals.generated.tssrc/server/api-client-core/apis/crm/discounts-types.generated.tssrc/server/api-client-core/apis/crm/discounts.generated.tssrc/server/api-client-core/apis/crm/emails-types.generated.tssrc/server/api-client-core/apis/crm/emails.generated.tssrc/server/api-client-core/apis/crm/exports-types.generated.tssrc/server/api-client-core/apis/crm/exports.generated.tssrc/server/api-client-core/apis/crm/feedback-submissions-types.generated.tssrc/server/api-client-core/apis/crm/feedback-submissions.generated.tssrc/server/api-client-core/apis/crm/fees-types.generated.tssrc/server/api-client-core/apis/crm/fees.generated.tssrc/server/api-client-core/apis/crm/goal-targets-types.generated.tssrc/server/api-client-core/apis/crm/goal-targets.generated.tssrc/server/api-client-core/apis/crm/imports-types.generated.tssrc/server/api-client-core/apis/crm/imports.generated.tssrc/server/api-client-core/apis/crm/invoices-types.generated.tssrc/server/api-client-core/apis/crm/invoices.generated.tssrc/server/api-client-core/apis/crm/leads-types.generated.tssrc/server/api-client-core/apis/crm/leads.generated.tssrc/server/api-client-core/apis/crm/limits-tracking-types.generated.tssrc/server/api-client-core/apis/crm/limits-tracking.generated.tssrc/server/api-client-core/apis/crm/line-items-types.generated.tssrc/server/api-client-core/apis/crm/line-items.generated.tssrc/server/api-client-core/apis/crm/listings-types.generated.tssrc/server/api-client-core/apis/crm/listings.generated.tssrc/server/api-client-core/apis/crm/lists-types.generated.tssrc/server/api-client-core/apis/crm/lists.generated.tssrc/server/api-client-core/apis/crm/meetings-types.generated.tssrc/server/api-client-core/apis/crm/meetings.generated.tssrc/server/api-client-core/apis/crm/notes-types.generated.tssrc/server/api-client-core/apis/crm/notes.generated.tssrc/server/api-client-core/apis/crm/object-library-types.generated.tssrc/server/api-client-core/apis/crm/object-library.generated.tssrc/server/api-client-core/apis/crm/objects-types.generated.tssrc/server/api-client-core/apis/crm/objects.generated.tssrc/server/api-client-core/apis/crm/orders-types.generated.tssrc/server/api-client-core/apis/crm/orders.generated.tssrc/server/api-client-core/apis/crm/partner-clients-types.generated.tssrc/server/api-client-core/apis/crm/partner-clients.generated.tssrc/server/api-client-core/apis/crm/partner-services-types.generated.tssrc/server/api-client-core/apis/crm/partner-services.generated.tssrc/server/api-client-core/apis/crm/pipelines-types.generated.tssrc/server/api-client-core/apis/crm/pipelines.generated.tssrc/server/api-client-core/apis/crm/postal-mail-types.generated.tssrc/server/api-client-core/apis/crm/postal-mail.generated.tssrc/server/api-client-core/apis/crm/products-types.generated.tssrc/server/api-client-core/apis/crm/products.generated.tssrc/server/api-client-core/apis/crm/projects-types.generated.tssrc/server/api-client-core/apis/crm/projects.generated.tssrc/server/api-client-core/apis/crm/properties-types.generated.tssrc/server/api-client-core/apis/crm/properties.generated.tssrc/server/api-client-core/apis/crm/property-validations-types.generated.tssrc/server/api-client-core/apis/crm/property-validations.generated.tssrc/server/api-client-core/apis/crm/public-app-crm-cards-types.generated.tssrc/server/api-client-core/apis/crm/public-app-crm-cards.generated.tssrc/server/api-client-core/apis/crm/public-app-feature-flags-types.generated.tssrc/server/api-client-core/apis/crm/public-app-feature-flags.generated.tssrc/server/api-client-core/apis/crm/quotes-types.generated.tssrc/server/api-client-core/apis/crm/quotes.generated.tssrc/server/api-client-core/apis/crm/schemas-types.generated.tssrc/server/api-client-core/apis/crm/schemas.generated.tssrc/server/api-client-core/apis/crm/services-types.generated.tssrc/server/api-client-core/apis/crm/services.generated.tssrc/server/api-client-core/apis/crm/tasks-types.generated.tssrc/server/api-client-core/apis/crm/tasks.generated.tssrc/server/api-client-core/apis/crm/taxes-types.generated.tssrc/server/api-client-core/apis/crm/taxes.generated.tssrc/server/api-client-core/apis/crm/tickets-types.generated.tssrc/server/api-client-core/apis/crm/tickets.generated.tssrc/server/api-client-core/apis/crm/timeline-types.generated.tssrc/server/api-client-core/apis/crm/timeline.generated.tssrc/server/api-client-core/apis/crm/transcriptions-types.generated.tssrc/server/api-client-core/apis/crm/transcriptions.generated.tssrc/server/api-client-core/apis/crm/users-types.generated.tssrc/server/api-client-core/apis/crm/users.generated.tssrc/server/api-client-core/apis/crm/video-conferencing-extension-types.generated.tssrc/server/api-client-core/apis/crm/video-conferencing-extension.generated.tssrc/server/api-client-core/apis/events-types.generated.tssrc/server/api-client-core/apis/events.generated.tssrc/server/api-client-core/apis/events/manage-event-definitions-types.generated.tssrc/server/api-client-core/apis/events/manage-event-definitions.generated.tssrc/server/api-client-core/apis/events/send-event-completions-types.generated.tssrc/server/api-client-core/apis/events/send-event-completions.generated.tssrc/server/api-client-core/apis/files-types.generated.tssrc/server/api-client-core/apis/files.generated.tssrc/server/api-client-core/apis/index.generated.tssrc/server/api-client-core/apis/marketing/campaigns-public-api-types.generated.tssrc/server/api-client-core/apis/marketing/campaigns-public-api.generated.tssrc/server/api-client-core/apis/marketing/marketing-emails-types.generated.tssrc/server/api-client-core/apis/marketing/marketing-emails.generated.tssrc/server/api-client-core/apis/marketing/marketing-events-types.generated.tssrc/server/api-client-core/apis/marketing/marketing-events.generated.tssrc/server/api-client-core/apis/marketing/single-send-types.generated.tssrc/server/api-client-core/apis/marketing/single-send.generated.tssrc/server/api-client-core/apis/marketing/transactional-single-send-types.generated.tssrc/server/api-client-core/apis/marketing/transactional-single-send.generated.tssrc/server/api-client-core/apis/meta/origins-types.generated.tssrc/server/api-client-core/apis/meta/origins.generated.tssrc/server/api-client-core/apis/scheduler/meetings-types.generated.tssrc/server/api-client-core/apis/scheduler/meetings.generated.tssrc/server/api-client-core/apis/settings/multicurrency-types.generated.tssrc/server/api-client-core/apis/settings/multicurrency.generated.tssrc/server/api-client-core/apis/settings/tax-rates-types.generated.tssrc/server/api-client-core/apis/settings/tax-rates.generated.tssrc/server/api-client-core/apis/settings/user-provisioning-types.generated.tssrc/server/api-client-core/apis/settings/user-provisioning.generated.tssrc/server/api-client-core/apis/webhooks-journal-types.generated.tssrc/server/api-client-core/apis/webhooks-journal.generated.tssrc/server/api-client-core/apis/webhooks-types.generated.tssrc/server/api-client-core/apis/webhooks.generated.tssrc/server/api-client-core/binary-data.tssrc/server/api-client-core/client.tssrc/server/api-client-core/codegen-helpers/file-op-wrappers.tssrc/server/api-client-core/errors.tssrc/server/api-client-core/index.tssrc/server/api-client-core/op.tssrc/server/api-client-core/pagination.tssrc/server/api-client-core/plugins/fetch-transport.tssrc/server/api-client-core/plugins/index.tssrc/server/api-client-core/types.tssrc/server/api-client.tssrc/server/constants.tssrc/server/deno/index.tssrc/server/deno/start.tssrc/server/hono/hono-request-handler.tssrc/server/hono/hubspot-connect-routes/auth-complete.test.tssrc/server/hono/hubspot-connect-routes/auth-complete.tssrc/server/hono/hubspot-connect-routes/auth-init-session.test.tssrc/server/hono/hubspot-connect-routes/auth-init-session.tssrc/server/hono/hubspot-connect-routes/auth-logout.test.tssrc/server/hono/hubspot-connect-routes/auth-logout.tssrc/server/hono/hubspot-connect-routes/auth-refresh.test.tssrc/server/hono/hubspot-connect-routes/auth-refresh.tssrc/server/hono/hubspot-connect-routes/cimd-client-metadata-types.tssrc/server/hono/hubspot-connect-routes/cimd-public-routes.test.tssrc/server/hono/hubspot-connect-routes/cimd-public-routes.tssrc/server/hono/hubspot-connect-routes/constants.tssrc/server/hono/hubspot-connect-routes/fetch-hubspot-client-metadata.test.tssrc/server/hono/hubspot-connect-routes/fetch-hubspot-client-metadata.tssrc/server/hono/hubspot-connect-routes/hubspot-connect-routes.tssrc/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.test.tssrc/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.tssrc/server/hono/hubspot-connect-routes/oauth-client.tssrc/server/hono/hubspot-connect-routes/types.tssrc/server/hono/hubspot-connect-routes/utils.test.tssrc/server/hono/hubspot-connect-routes/utils.tssrc/server/hono/index.tssrc/server/hono/types.tssrc/server/hono/utils/cookie-utils.tssrc/server/hono/utils/cors-middleware.test.tssrc/server/hono/utils/cors-middleware.tssrc/server/import-app-keys.tssrc/server/lovable/create-app-function-start.tssrc/server/lovable/hubspot-connect/index.tssrc/server/lovable/hubspot-connect/run-hubspot-connect-lovable-server.tssrc/server/lovable/index.tssrc/server/node/index.tssrc/server/node/start.tssrc/server/oauth.tssrc/server/sanitize-request.test.tssrc/server/sanitize-request.tssrc/server/secure-start-core.tssrc/server/types.tssrc/server/utils/base64-utils.tssrc/server/utils/cookie-utils.test.tssrc/server/utils/cookie-utils.tssrc/server/utils/crypto-utils.tssrc/server/utils/dpop-utils.test.tssrc/server/utils/dpop-utils.tssrc/server/utils/env-utils.test.tssrc/server/utils/env-utils.tssrc/server/utils/hubspot-dpop-auth-headers.test.tssrc/server/utils/hubspot-dpop-auth-headers.tssrc/server/utils/jwk-utils.test.tssrc/server/utils/jwk-utils.tssrc/server/utils/jwt-utils.test.tssrc/server/utils/jwt-utils.tssrc/server/utils/test-fixtures.tssrc/shared/constants.tssrc/shared/encoding/base64.test.tssrc/shared/encoding/base64.tssrc/shared/encoding/sha256.test.tssrc/shared/encoding/sha256.tssrc/shared/logger.tssrc/shared/wire-types.tstsconfig.browser.jsontsconfig.jsontsconfig.server.jsontsdown.config.tsvitest.config.tsAll matched files use Prettier code style!
4
+ .turbo/turbo-format$colon$check.log.turbo/turbo-lint.log.turbo/turbo-test.log.turbo/turbo-tsc.log.turbo/turbo-tsdown.logeslint.config.jspackage.jsonREADME.mdsrc/browser/app-connect-controller/connect-start.test.tssrc/browser/app-connect-controller/connect-start.tssrc/browser/app-connect-controller/constants.tssrc/browser/app-connect-controller/create.tssrc/browser/app-connect-controller/default-session-storage.tssrc/browser/app-connect-controller/disconnect.tssrc/browser/app-connect-controller/init.test.tssrc/browser/app-connect-controller/init.tssrc/browser/app-connect-controller/oauth-complete.test.tssrc/browser/app-connect-controller/oauth-complete.tssrc/browser/app-connect-controller/oauth-popup.test.tssrc/browser/app-connect-controller/oauth-popup.tssrc/browser/app-connect-controller/README.mdsrc/browser/app-connect-controller/refresh.tssrc/browser/app-connect-controller/types.tssrc/browser/app-connect-controller/utils/crypto-utils.tssrc/browser/app-connect-controller/utils/encode-utils.tssrc/browser/app-connect-controller/utils/iframe-utils.tssrc/browser/app-connect-controller/utils/memoize-utils.test.tssrc/browser/app-connect-controller/utils/memoize-utils.tssrc/browser/app-connect-controller/utils/resolve-oauth-connect-mode.test.tssrc/browser/app-connect-controller/utils/resolve-oauth-connect-mode.tssrc/browser/app-connect-controller/utils/session-utils.test.tssrc/browser/app-connect-controller/utils/session-utils.tssrc/browser/app-connect-controller/utils/store-utils.test.tssrc/browser/app-connect-controller/utils/store-utils.tssrc/browser/app-connect-controller/utils/timeout-utils.tssrc/browser/app-connect-controller/view-state.test.tssrc/browser/app-connect-controller/view-state.tssrc/browser/index.tssrc/browser/react/components/AppConnectHeader/AppConnectHeader.css.tssrc/browser/react/components/AppConnectHeader/AppConnectHeader.tsxsrc/browser/react/components/Button/Button.css.tssrc/browser/react/components/Button/Button.tsxsrc/browser/react/components/ConnectButton/ConnectButton.css.tssrc/browser/react/components/ConnectButton/ConnectButton.tsxsrc/browser/react/components/DisconnectedBody/DisconnectedBody.css.tssrc/browser/react/components/DisconnectedBody/DisconnectedBody.tsxsrc/browser/react/components/HubSpotAppConnect/HubSpotAppConnect.css.tssrc/browser/react/components/HubSpotAppConnect/HubSpotAppConnect.tsxsrc/browser/react/components/icons/ChevronDownIcon.tsxsrc/browser/react/components/icons/ExternalLinkIcon.tsxsrc/browser/react/components/icons/HubSpotDataSourceIcon.tsxsrc/browser/react/components/icons/LogoutIcon.tsxsrc/browser/react/components/icons/ShareIcon.tsxsrc/browser/react/components/LoadingIndicator/LoadingIndicator.css.tssrc/browser/react/components/LoadingIndicator/LoadingIndicator.tsxsrc/browser/react/components/ShareButton/ShareButton.css.tssrc/browser/react/components/ShareButton/ShareButton.tsxsrc/browser/react/context.tssrc/browser/react/hooks.tssrc/browser/react/index.tssrc/browser/react/lovable/index.tssrc/browser/react/lovable/LovableHubSpotAppConnect.tsxsrc/browser/theme-tokens.generated.css.tssrc/browser/theme.css.tssrc/browser/types.tssrc/server/api-client-core/__tests__/errors.test.tssrc/server/api-client-core/__tests__/operation-headers.test.tssrc/server/api-client-core/apis/account/account-info-types.generated.tssrc/server/api-client-core/apis/account/account-info.generated.tssrc/server/api-client-core/apis/account/audit-logs-types.generated.tssrc/server/api-client-core/apis/account/audit-logs.generated.tssrc/server/api-client-core/apis/auth/oauth-types.generated.tssrc/server/api-client-core/apis/auth/oauth.generated.tssrc/server/api-client-core/apis/automation/actions-types.generated.tssrc/server/api-client-core/apis/automation/actions.generated.tssrc/server/api-client-core/apis/automation/sequences-types.generated.tssrc/server/api-client-core/apis/automation/sequences.generated.tssrc/server/api-client-core/apis/business-units-types.generated.tssrc/server/api-client-core/apis/business-units.generated.tssrc/server/api-client-core/apis/cms/authors-types.generated.tssrc/server/api-client-core/apis/cms/authors.generated.tssrc/server/api-client-core/apis/cms/blog-settings-types.generated.tssrc/server/api-client-core/apis/cms/blog-settings.generated.tssrc/server/api-client-core/apis/cms/cms-content-audit-types.generated.tssrc/server/api-client-core/apis/cms/cms-content-audit.generated.tssrc/server/api-client-core/apis/cms/domains-types.generated.tssrc/server/api-client-core/apis/cms/domains.generated.tssrc/server/api-client-core/apis/cms/hubdb-types.generated.tssrc/server/api-client-core/apis/cms/hubdb.generated.tssrc/server/api-client-core/apis/cms/media-bridge-types.generated.tssrc/server/api-client-core/apis/cms/media-bridge.generated.tssrc/server/api-client-core/apis/cms/pages-types.generated.tssrc/server/api-client-core/apis/cms/pages.generated.tssrc/server/api-client-core/apis/cms/posts-types.generated.tssrc/server/api-client-core/apis/cms/posts.generated.tssrc/server/api-client-core/apis/cms/site-search-types.generated.tssrc/server/api-client-core/apis/cms/site-search.generated.tssrc/server/api-client-core/apis/cms/source-code-types.generated.tssrc/server/api-client-core/apis/cms/source-code.generated.tssrc/server/api-client-core/apis/cms/tags-types.generated.tssrc/server/api-client-core/apis/cms/tags.generated.tssrc/server/api-client-core/apis/cms/url-mappings-types.generated.tssrc/server/api-client-core/apis/cms/url-mappings.generated.tssrc/server/api-client-core/apis/cms/url-redirects-types.generated.tssrc/server/api-client-core/apis/cms/url-redirects.generated.tssrc/server/api-client-core/apis/communication-preferences/subscriptions-types.generated.tssrc/server/api-client-core/apis/communication-preferences/subscriptions.generated.tssrc/server/api-client-core/apis/conversations-types.generated.tssrc/server/api-client-core/apis/conversations.generated.tssrc/server/api-client-core/apis/conversations/custom-channels-types.generated.tssrc/server/api-client-core/apis/conversations/custom-channels.generated.tssrc/server/api-client-core/apis/conversations/visitor-identification-types.generated.tssrc/server/api-client-core/apis/conversations/visitor-identification.generated.tssrc/server/api-client-core/apis/crm/app-uninstalls-types.generated.tssrc/server/api-client-core/apis/crm/app-uninstalls.generated.tssrc/server/api-client-core/apis/crm/appointments-types.generated.tssrc/server/api-client-core/apis/crm/appointments.generated.tssrc/server/api-client-core/apis/crm/associations-schema-types.generated.tssrc/server/api-client-core/apis/crm/associations-schema.generated.tssrc/server/api-client-core/apis/crm/associations-types.generated.tssrc/server/api-client-core/apis/crm/associations.generated.tssrc/server/api-client-core/apis/crm/calling-extensions-types.generated.tssrc/server/api-client-core/apis/crm/calling-extensions.generated.tssrc/server/api-client-core/apis/crm/calls-types.generated.tssrc/server/api-client-core/apis/crm/calls.generated.tssrc/server/api-client-core/apis/crm/carts-types.generated.tssrc/server/api-client-core/apis/crm/carts.generated.tssrc/server/api-client-core/apis/crm/commerce-payments-types.generated.tssrc/server/api-client-core/apis/crm/commerce-payments.generated.tssrc/server/api-client-core/apis/crm/commerce-subscriptions-types.generated.tssrc/server/api-client-core/apis/crm/commerce-subscriptions.generated.tssrc/server/api-client-core/apis/crm/communications-types.generated.tssrc/server/api-client-core/apis/crm/communications.generated.tssrc/server/api-client-core/apis/crm/companies-types.generated.tssrc/server/api-client-core/apis/crm/companies.generated.tssrc/server/api-client-core/apis/crm/contacts-types.generated.tssrc/server/api-client-core/apis/crm/contacts.generated.tssrc/server/api-client-core/apis/crm/contracts-types.generated.tssrc/server/api-client-core/apis/crm/contracts.generated.tssrc/server/api-client-core/apis/crm/courses-types.generated.tssrc/server/api-client-core/apis/crm/courses.generated.tssrc/server/api-client-core/apis/crm/crm-owners-types.generated.tssrc/server/api-client-core/apis/crm/crm-owners.generated.tssrc/server/api-client-core/apis/crm/custom-objects-types.generated.tssrc/server/api-client-core/apis/crm/custom-objects.generated.tssrc/server/api-client-core/apis/crm/deal-splits-types.generated.tssrc/server/api-client-core/apis/crm/deal-splits.generated.tssrc/server/api-client-core/apis/crm/deals-types.generated.tssrc/server/api-client-core/apis/crm/deals.generated.tssrc/server/api-client-core/apis/crm/discounts-types.generated.tssrc/server/api-client-core/apis/crm/discounts.generated.tssrc/server/api-client-core/apis/crm/emails-types.generated.tssrc/server/api-client-core/apis/crm/emails.generated.tssrc/server/api-client-core/apis/crm/exports-types.generated.tssrc/server/api-client-core/apis/crm/exports.generated.tssrc/server/api-client-core/apis/crm/feedback-submissions-types.generated.tssrc/server/api-client-core/apis/crm/feedback-submissions.generated.tssrc/server/api-client-core/apis/crm/fees-types.generated.tssrc/server/api-client-core/apis/crm/fees.generated.tssrc/server/api-client-core/apis/crm/goal-targets-types.generated.tssrc/server/api-client-core/apis/crm/goal-targets.generated.tssrc/server/api-client-core/apis/crm/imports-types.generated.tssrc/server/api-client-core/apis/crm/imports.generated.tssrc/server/api-client-core/apis/crm/invoices-types.generated.tssrc/server/api-client-core/apis/crm/invoices.generated.tssrc/server/api-client-core/apis/crm/leads-types.generated.tssrc/server/api-client-core/apis/crm/leads.generated.tssrc/server/api-client-core/apis/crm/limits-tracking-types.generated.tssrc/server/api-client-core/apis/crm/limits-tracking.generated.tssrc/server/api-client-core/apis/crm/line-items-types.generated.tssrc/server/api-client-core/apis/crm/line-items.generated.tssrc/server/api-client-core/apis/crm/listings-types.generated.tssrc/server/api-client-core/apis/crm/listings.generated.tssrc/server/api-client-core/apis/crm/lists-types.generated.tssrc/server/api-client-core/apis/crm/lists.generated.tssrc/server/api-client-core/apis/crm/meetings-types.generated.tssrc/server/api-client-core/apis/crm/meetings.generated.tssrc/server/api-client-core/apis/crm/notes-types.generated.tssrc/server/api-client-core/apis/crm/notes.generated.tssrc/server/api-client-core/apis/crm/object-library-types.generated.tssrc/server/api-client-core/apis/crm/object-library.generated.tssrc/server/api-client-core/apis/crm/objects-types.generated.tssrc/server/api-client-core/apis/crm/objects.generated.tssrc/server/api-client-core/apis/crm/orders-types.generated.tssrc/server/api-client-core/apis/crm/orders.generated.tssrc/server/api-client-core/apis/crm/partner-clients-types.generated.tssrc/server/api-client-core/apis/crm/partner-clients.generated.tssrc/server/api-client-core/apis/crm/partner-services-types.generated.tssrc/server/api-client-core/apis/crm/partner-services.generated.tssrc/server/api-client-core/apis/crm/pipelines-types.generated.tssrc/server/api-client-core/apis/crm/pipelines.generated.tssrc/server/api-client-core/apis/crm/postal-mail-types.generated.tssrc/server/api-client-core/apis/crm/postal-mail.generated.tssrc/server/api-client-core/apis/crm/products-types.generated.tssrc/server/api-client-core/apis/crm/products.generated.tssrc/server/api-client-core/apis/crm/projects-types.generated.tssrc/server/api-client-core/apis/crm/projects.generated.tssrc/server/api-client-core/apis/crm/properties-types.generated.tssrc/server/api-client-core/apis/crm/properties.generated.tssrc/server/api-client-core/apis/crm/property-validations-types.generated.tssrc/server/api-client-core/apis/crm/property-validations.generated.tssrc/server/api-client-core/apis/crm/public-app-crm-cards-types.generated.tssrc/server/api-client-core/apis/crm/public-app-crm-cards.generated.tssrc/server/api-client-core/apis/crm/public-app-feature-flags-types.generated.tssrc/server/api-client-core/apis/crm/public-app-feature-flags.generated.tssrc/server/api-client-core/apis/crm/quotes-types.generated.tssrc/server/api-client-core/apis/crm/quotes.generated.tssrc/server/api-client-core/apis/crm/schemas-types.generated.tssrc/server/api-client-core/apis/crm/schemas.generated.tssrc/server/api-client-core/apis/crm/services-types.generated.tssrc/server/api-client-core/apis/crm/services.generated.tssrc/server/api-client-core/apis/crm/tasks-types.generated.tssrc/server/api-client-core/apis/crm/tasks.generated.tssrc/server/api-client-core/apis/crm/taxes-types.generated.tssrc/server/api-client-core/apis/crm/taxes.generated.tssrc/server/api-client-core/apis/crm/tickets-types.generated.tssrc/server/api-client-core/apis/crm/tickets.generated.tssrc/server/api-client-core/apis/crm/timeline-types.generated.tssrc/server/api-client-core/apis/crm/timeline.generated.tssrc/server/api-client-core/apis/crm/transcriptions-types.generated.tssrc/server/api-client-core/apis/crm/transcriptions.generated.tssrc/server/api-client-core/apis/crm/users-types.generated.tssrc/server/api-client-core/apis/crm/users.generated.tssrc/server/api-client-core/apis/crm/video-conferencing-extension-types.generated.tssrc/server/api-client-core/apis/crm/video-conferencing-extension.generated.tssrc/server/api-client-core/apis/events-types.generated.tssrc/server/api-client-core/apis/events.generated.tssrc/server/api-client-core/apis/events/manage-event-definitions-types.generated.tssrc/server/api-client-core/apis/events/manage-event-definitions.generated.tssrc/server/api-client-core/apis/events/send-event-completions-types.generated.tssrc/server/api-client-core/apis/events/send-event-completions.generated.tssrc/server/api-client-core/apis/files-types.generated.tssrc/server/api-client-core/apis/files.generated.tssrc/server/api-client-core/apis/index.generated.tssrc/server/api-client-core/apis/marketing/campaigns-public-api-types.generated.tssrc/server/api-client-core/apis/marketing/campaigns-public-api.generated.tssrc/server/api-client-core/apis/marketing/marketing-emails-types.generated.tssrc/server/api-client-core/apis/marketing/marketing-emails.generated.tssrc/server/api-client-core/apis/marketing/marketing-events-types.generated.tssrc/server/api-client-core/apis/marketing/marketing-events.generated.tssrc/server/api-client-core/apis/marketing/single-send-types.generated.tssrc/server/api-client-core/apis/marketing/single-send.generated.tssrc/server/api-client-core/apis/marketing/transactional-single-send-types.generated.tssrc/server/api-client-core/apis/marketing/transactional-single-send.generated.tssrc/server/api-client-core/apis/meta/origins-types.generated.tssrc/server/api-client-core/apis/meta/origins.generated.tssrc/server/api-client-core/apis/scheduler/meetings-types.generated.tssrc/server/api-client-core/apis/scheduler/meetings.generated.tssrc/server/api-client-core/apis/settings/multicurrency-types.generated.tssrc/server/api-client-core/apis/settings/multicurrency.generated.tssrc/server/api-client-core/apis/settings/tax-rates-types.generated.tssrc/server/api-client-core/apis/settings/tax-rates.generated.tssrc/server/api-client-core/apis/settings/user-provisioning-types.generated.tssrc/server/api-client-core/apis/settings/user-provisioning.generated.tssrc/server/api-client-core/apis/webhooks-journal-types.generated.tssrc/server/api-client-core/apis/webhooks-journal.generated.tssrc/server/api-client-core/apis/webhooks-types.generated.tssrc/server/api-client-core/apis/webhooks.generated.tssrc/server/api-client-core/binary-data.tssrc/server/api-client-core/client.tssrc/server/api-client-core/codegen-helpers/file-op-wrappers.tssrc/server/api-client-core/errors.tssrc/server/api-client-core/index.tssrc/server/api-client-core/op.tssrc/server/api-client-core/pagination.tssrc/server/api-client-core/plugins/fetch-transport.tssrc/server/api-client-core/plugins/index.tssrc/server/api-client-core/types.tssrc/server/api-client.tssrc/server/constants.tssrc/server/deno/index.tssrc/server/deno/start.tssrc/server/hono/hono-request-handler.tssrc/server/hono/hubspot-connect-routes/auth-complete.test.tssrc/server/hono/hubspot-connect-routes/auth-complete.tssrc/server/hono/hubspot-connect-routes/auth-init-session.test.tssrc/server/hono/hubspot-connect-routes/auth-init-session.tssrc/server/hono/hubspot-connect-routes/auth-logout.test.tssrc/server/hono/hubspot-connect-routes/auth-logout.tssrc/server/hono/hubspot-connect-routes/auth-refresh.test.tssrc/server/hono/hubspot-connect-routes/auth-refresh.tssrc/server/hono/hubspot-connect-routes/cimd-client-metadata-types.tssrc/server/hono/hubspot-connect-routes/cimd-public-routes.test.tssrc/server/hono/hubspot-connect-routes/cimd-public-routes.tssrc/server/hono/hubspot-connect-routes/constants.tssrc/server/hono/hubspot-connect-routes/fetch-hubspot-client-metadata.test.tssrc/server/hono/hubspot-connect-routes/fetch-hubspot-client-metadata.tssrc/server/hono/hubspot-connect-routes/hubspot-connect-routes.tssrc/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.test.tssrc/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.tssrc/server/hono/hubspot-connect-routes/oauth-client.tssrc/server/hono/hubspot-connect-routes/types.tssrc/server/hono/hubspot-connect-routes/utils.test.tssrc/server/hono/hubspot-connect-routes/utils.tssrc/server/hono/hubspot-connect-routes/whoami.tssrc/server/hono/index.tssrc/server/hono/types.tssrc/server/hono/utils/cookie-utils.tssrc/server/hono/utils/cors-middleware.test.tssrc/server/hono/utils/cors-middleware.tssrc/server/import-app-keys.tssrc/server/lovable/create-app-function-start.tssrc/server/lovable/hubspot-connect/index.tssrc/server/lovable/hubspot-connect/run-hubspot-connect-lovable-server.tssrc/server/lovable/index.tssrc/server/node/index.tssrc/server/node/start.tssrc/server/oauth.tssrc/server/sanitize-request.test.tssrc/server/sanitize-request.tssrc/server/secure-start-core.tssrc/server/types.tssrc/server/utils/base64-utils.tssrc/server/utils/cookie-utils.test.tssrc/server/utils/cookie-utils.tssrc/server/utils/crypto-utils.tssrc/server/utils/dpop-utils.test.tssrc/server/utils/dpop-utils.tssrc/server/utils/env-utils.test.tssrc/server/utils/env-utils.tssrc/server/utils/hubspot-dpop-auth-headers.test.tssrc/server/utils/hubspot-dpop-auth-headers.tssrc/server/utils/jwk-utils.test.tssrc/server/utils/jwk-utils.tssrc/server/utils/jwt-utils.test.tssrc/server/utils/jwt-utils.tssrc/server/utils/test-fixtures.tssrc/shared/constants.tssrc/shared/encoding/base64.test.tssrc/shared/encoding/base64.tssrc/shared/encoding/sha256.test.tssrc/shared/encoding/sha256.tssrc/shared/logger.tssrc/shared/wire-types.tstsconfig.browser.jsontsconfig.jsontsconfig.server.jsontsdown.config.tsvitest.config.tsAll matched files use Prettier code style!
@@ -4,18 +4,18 @@
4
4
   RUN  v4.1.6 /Users/psteeleidem/src/HubSpotEngineering/app-connect-sdk/packages/app-connect-sdk
5
5
 
6
6
  [?2026h
7
-  ❯ src/server/hono/hubspot-connect-routes/cimd-public-routes.test.ts [queued]
7
+  ❯ src/browser/app-connect-controller/init.test.ts [queued]
8
8
 
9
9
   Test Files 0 passed (29)
10
10
   Tests 0 passed (0)
11
-  Start at 15:45:31
11
+  Start at 10:38:53
12
12
   Duration 100ms
13
13
  [?2026l[?2026h
14
14
   ❯ src/browser/app-connect-controller/connect-start.test.ts [queued]
15
-  ❯ src/browser/app-connect-controller/init.test.ts [queued]
16
-  ❯ src/browser/app-connect-controller/oauth-complete.test.ts [queued]
17
-  ❯ src/browser/app-connect-controller/oauth-popup.test.ts [queued]
18
-  ❯ src/server/api-client-core/__tests__/operation-headers.test.ts [queued]
15
+  ❯ src/browser/app-connect-controller/init.test.ts 0/7
16
+  ❯ src/browser/app-connect-controller/oauth-complete.test.ts 0/2
17
+  ❯ src/browser/app-connect-controller/oauth-popup.test.ts 0/5
18
+  ❯ src/server/api-client-core/__tests__/operation-headers.test.ts 0/9
19
19
   ❯ src/server/hono/hubspot-connect-routes/auth-complete.test.ts [queued]
20
20
   ❯ src/server/hono/hubspot-connect-routes/auth-init-session.test.ts [queued]
21
21
   ❯ src/server/hono/hubspot-connect-routes/auth-logout.test.ts [queued]
@@ -23,22 +23,21 @@
23
23
   ❯ src/server/hono/hubspot-connect-routes/cimd-public-routes.test.ts [queued]
24
24
   ❯ src/server/hono/utils/cors-middleware.test.ts 0/4
25
25
   ❯ src/server/utils/dpop-utils.test.ts 0/7
26
-  ❯ src/server/utils/jwt-utils.test.ts 1/6
26
+  ❯ src/server/utils/hubspot-dpop-auth-headers.test.ts [queued]
27
27
 
28
28
   Test Files 0 passed (29)
29
-  Tests 1 passed (17)
30
-  Start at 15:45:31
31
-  Duration 199ms
32
- [?2026l[?2026h ✓ src/server/utils/jwt-utils.test.ts (6 tests) 9ms
33
- ✓ src/server/hono/utils/cors-middleware.test.ts (4 tests) 14ms
34
- ✓ src/server/utils/dpop-utils.test.ts (7 tests) 11ms
35
- ✓ src/browser/app-connect-controller/oauth-complete.test.ts (2 tests) 12ms
36
- ✓ src/server/api-client-core/__tests__/operation-headers.test.ts (9 tests) 15ms
37
- ✓ src/server/hono/hubspot-connect-routes/cimd-public-routes.test.ts (4 tests) 23ms
38
- ✓ src/browser/app-connect-controller/init.test.ts (7 tests) 18ms
39
- ✓ src/browser/app-connect-controller/oauth-popup.test.ts (5 tests) 19ms
40
- ✓ src/server/hono/hubspot-connect-routes/auth-logout.test.ts (2 tests) 18ms
41
- ✓ src/server/hono/hubspot-connect-routes/auth-complete.test.ts (9 tests) 22ms
29
+  Tests 0 passed (34)
30
+  Start at 10:38:53
31
+  Duration 201ms
32
+ [?2026l[?2026h ✓ src/browser/app-connect-controller/oauth-complete.test.ts (2 tests) 13ms
33
+ ✓ src/server/hono/utils/cors-middleware.test.ts (4 tests) 15ms
34
+ ✓ src/browser/app-connect-controller/init.test.ts (7 tests) 17ms
35
+ ✓ src/browser/app-connect-controller/oauth-popup.test.ts (5 tests) 18ms
36
+ ✓ src/server/api-client-core/__tests__/operation-headers.test.ts (9 tests) 18ms
37
+ ✓ src/server/utils/dpop-utils.test.ts (7 tests) 15ms
38
+ ✓ src/server/utils/hubspot-dpop-auth-headers.test.ts (2 tests) 11ms
39
+ ✓ src/server/hono/hubspot-connect-routes/cimd-public-routes.test.ts (4 tests) 17ms
40
+ ✓ src/browser/app-connect-controller/connect-start.test.ts (2 tests) 19ms
42
41
  stdout | src/server/hono/hubspot-connect-routes/auth-init-session.test.ts > handleAuthInitSession > builds the OAuth redirect_uri from the request Origin and the frontend callback path
43
42
  clientId test-client-id
44
43
 
@@ -54,43 +53,40 @@
54
53
  stdout | src/server/hono/hubspot-connect-routes/auth-init-session.test.ts > handleAuthInitSession > defaults return_path to / when param is absent
55
54
  clientId test-client-id
56
55
 
57
- ✓ src/server/hono/hubspot-connect-routes/auth-init-session.test.ts (8 tests) 27ms
58
- ✓ src/server/hono/hubspot-connect-routes/auth-refresh.test.ts (6 tests) 30ms
59
- ✓ src/browser/app-connect-controller/connect-start.test.ts (2 tests) 16ms
56
+ ✓ src/server/hono/hubspot-connect-routes/auth-logout.test.ts (2 tests) 14ms
57
+ ✓ src/server/hono/hubspot-connect-routes/auth-init-session.test.ts (8 tests) 23ms
58
+ ✓ src/server/hono/hubspot-connect-routes/auth-refresh.test.ts (6 tests) 37ms
60
59
 
61
60
   ❯ src/browser/app-connect-controller/connect-start.test.ts 2/2
62
61
   ❯ src/browser/app-connect-controller/init.test.ts 7/7
63
-  ❯ src/browser/app-connect-controller/oauth-complete.test.ts 2/2
64
62
   ❯ src/browser/app-connect-controller/oauth-popup.test.ts 5/5
65
63
   ❯ src/server/api-client-core/__tests__/operation-headers.test.ts 9/9
66
-  ❯ src/server/hono/hubspot-connect-routes/auth-complete.test.ts 9/9
64
+  ❯ src/server/hono/hubspot-connect-routes/auth-complete.test.ts [queued]
67
65
   ❯ src/server/hono/hubspot-connect-routes/auth-init-session.test.ts 8/8
68
66
   ❯ src/server/hono/hubspot-connect-routes/auth-logout.test.ts 2/2
69
67
   ❯ src/server/hono/hubspot-connect-routes/auth-refresh.test.ts 6/6
70
68
   ❯ src/server/hono/hubspot-connect-routes/cimd-public-routes.test.ts 4/4
71
69
   ❯ src/server/hono/utils/cors-middleware.test.ts 4/4
72
-  ❯ src/server/sanitize-request.test.ts [queued]
73
70
   ❯ src/server/utils/dpop-utils.test.ts 7/7
74
-
75
-  Test Files 13 passed (29)
76
-  Tests 71 passed (71)
77
-  Start at 15:45:31
78
-  Duration 421ms
79
- [?2026l[?2026h ✓ src/server/sanitize-request.test.ts (6 tests) 12ms
80
- ✓ src/server/utils/jwk-utils.test.ts (3 tests) 9ms
81
- ✓ src/server/utils/hubspot-dpop-auth-headers.test.ts (2 tests) 10ms
82
- ✓ src/browser/app-connect-controller/utils/session-utils.test.ts (9 tests) 3ms
83
- ✓ src/server/api-client-core/__tests__/errors.test.ts (14 tests) 4ms
71
+  ❯ src/server/utils/env-utils.test.ts [queued]
72
+  src/server/utils/hubspot-dpop-auth-headers.test.ts 2/2
73
+
74
+  Test Files 12 passed (29)
75
+  Tests 58 passed (58)
76
+  Start at 10:38:53
77
+  Duration 401ms
78
+ [?2026l[?2026h ✓ src/server/api-client-core/__tests__/errors.test.ts (14 tests) 3ms
84
79
  ✓ src/shared/encoding/sha256.test.ts (3 tests) 4ms
85
- ✓ src/browser/app-connect-controller/utils/store-utils.test.ts (11 tests) 4ms
86
- ✓ src/server/hono/hubspot-connect-routes/fetch-hubspot-client-metadata.test.ts (5 tests) 3ms
87
- ✓ src/shared/encoding/base64.test.ts (7 tests) 5ms
88
- ✓ src/server/hono/hubspot-connect-routes/utils.test.ts (7 tests) 2ms
89
- ✓ src/server/utils/env-utils.test.ts (29 tests) 5ms
90
- ✓ src/server/utils/cookie-utils.test.ts (8 tests) 2ms
80
+ ✓ src/server/utils/env-utils.test.ts (29 tests) 4ms
81
+ ✓ src/server/utils/jwk-utils.test.ts (3 tests) 6ms
82
+ ✓ src/browser/app-connect-controller/utils/store-utils.test.ts (11 tests) 3ms
83
+ ✓ src/server/utils/jwt-utils.test.ts (6 tests) 9ms
84
+ ✓ src/server/hono/hubspot-connect-routes/fetch-hubspot-client-metadata.test.ts (5 tests) 2ms
85
+ ✓ src/browser/app-connect-controller/utils/session-utils.test.ts (11 tests) 4ms
86
+ ✓ src/shared/encoding/base64.test.ts (7 tests) 2ms
91
87
  ✓ src/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.test.ts (10 tests) 3ms
92
-
93
-
88
+ ✓ src/server/utils/cookie-utils.test.ts (8 tests) 2ms
89
+ ✓ src/server/sanitize-request.test.ts (6 tests) 11ms
94
90
 
95
91
 
96
92
 
@@ -99,19 +95,38 @@
99
95
 
100
96
 
101
97
   ❯ src/browser/app-connect-controller/view-state.test.ts [queued]
102
-  ❯ src/server/utils/jwk-utils.test.ts 3/3
103
-
104
-  Test Files 26 passed (29)
105
-  Tests 185 passed (185)
106
-  Start at 15:45:31
107
-  Duration 520ms
108
- [?2026l ✓ src/browser/app-connect-controller/utils/resolve-oauth-connect-mode.test.ts (4 tests) 2ms
98
+  ❯ src/server/hono/hubspot-connect-routes/auth-complete.test.ts [queued]
99
+  ❯ src/server/utils/env-utils.test.ts 29/29
100
+  src/shared/encoding/sha256.test.ts 3/3
101
+
102
+  Test Files 24 passed (29)
103
+  Tests 171 passed (171)
104
+  Start at 10:38:53
105
+  Duration 501ms
106
+ [?2026l[?2026h ✓ src/browser/app-connect-controller/utils/resolve-oauth-connect-mode.test.ts (4 tests) 2ms
109
107
  ✓ src/browser/app-connect-controller/view-state.test.ts (7 tests) 2ms
108
+ ✓ src/server/hono/hubspot-connect-routes/utils.test.ts (7 tests) 2ms
110
109
  ✓ src/browser/app-connect-controller/utils/memoize-utils.test.ts (4 tests) 2ms
111
110
 
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+  ❯ src/server/hono/hubspot-connect-routes/auth-complete.test.ts 0/11
120
+
121
+  Test Files 28 passed (29)
122
+  Tests 193 passed (204)
123
+  Start at 10:38:53
124
+  Duration 701ms
125
+ [?2026l ✓ src/server/hono/hubspot-connect-routes/auth-complete.test.ts (11 tests) 16ms
126
+
112
127
   Test Files  29 passed (29)
113
-  Tests  200 passed (200)
114
-  Start at  15:45:31
115
-  Duration  634ms (transform 945ms, setup 0ms, import 1.69s, tests 303ms, environment 1ms)
128
+  Tests  204 passed (204)
129
+  Start at  10:38:53
130
+  Duration  803ms (transform 1.35s, setup 0ms, import 2.12s, tests 293ms, environment 1ms)
116
131
 
117
132
  [?25h
@@ -2,21 +2,21 @@
2
2
  $ tsdown
3
3
  ℹ tsdown v0.22.0 powered by rolldown v1.0.1
4
4
  ℹ config file: /Users/psteeleidem/src/HubSpotEngineering/app-connect-sdk/packages/app-connect-sdk/tsdown.config.ts
5
- ℹ entry: src/browser/index.ts, src/browser/react/index.ts, src/browser/react/lovable/index.ts
6
- ℹ target: node24.0.0
7
5
  ℹ entry: src/server/api-client-core/index.ts, src/server/oauth.ts, src/server/lovable/index.ts
8
6
  ℹ target: node24.0.0
9
- ℹ tsconfig: tsconfig.browser.json
7
+ ℹ entry: src/browser/index.ts, src/browser/react/index.ts, src/browser/react/lovable/index.ts
8
+ ℹ target: node24.0.0
10
9
  ℹ tsconfig: tsconfig.server.json
10
+ ℹ tsconfig: tsconfig.browser.json
11
11
  ℹ Build start
12
- ℹ Cleaning 546 files
12
+ ℹ Cleaning 548 files
13
13
  ℹ dist/browser/react/lovable.js  1.19 kB │ gzip: 0.56 kB
14
14
  ℹ dist/browser/index.js  0.24 kB │ gzip: 0.16 kB
15
15
  ℹ dist/browser/react.js  0.15 kB │ gzip: 0.10 kB
16
- ℹ dist/browser/create-BNQazCF-.js.map 44.69 kB │ gzip: 12.65 kB
17
- ℹ dist/browser/HubSpotAppConnect-DFe9b90e.js.map 35.91 kB │ gzip: 8.20 kB
18
- ℹ dist/browser/create-BNQazCF-.js 23.03 kB │ gzip: 7.10 kB
19
- ℹ dist/browser/HubSpotAppConnect-DFe9b90e.js 17.05 kB │ gzip: 3.98 kB
16
+ ℹ dist/browser/create-DxEyGG-k.js.map 46.88 kB │ gzip: 13.13 kB
17
+ ℹ dist/browser/HubSpotAppConnect-721kYr9d.js.map 35.92 kB │ gzip: 8.21 kB
18
+ ℹ dist/browser/create-DxEyGG-k.js 24.26 kB │ gzip: 7.39 kB
19
+ ℹ dist/browser/HubSpotAppConnect-721kYr9d.js 17.11 kB │ gzip: 4.00 kB
20
20
  ℹ dist/browser/theme.css-CJbxi5hC.js 14.28 kB │ gzip: 2.37 kB
21
21
  ℹ dist/browser/assets/src/browser/theme-tokens.generated.css.ts.vanilla-C8Rjb8NH.css 10.50 kB │ gzip: 2.06 kB
22
22
  ℹ dist/browser/assets/src/browser/react/components/AppConnectHeader/AppConnectHeader.css.ts.vanilla-DpJ0aBGF.css  5.73 kB │ gzip: 1.25 kB
@@ -29,12 +29,12 @@
29
29
  ℹ dist/browser/assets/src/browser/react/components/DisconnectedBody/DisconnectedBody.css.ts.vanilla-DLvostZL.css  0.63 kB │ gzip: 0.28 kB
30
30
  ℹ dist/browser/assets/src/browser/react/components/HubSpotAppConnect/HubSpotAppConnect.css.ts.vanilla-Boi40eip.css  0.61 kB │ gzip: 0.28 kB
31
31
  ℹ dist/browser/assets/src/browser/theme.css.ts.vanilla-D_GBwEeI.css  0.33 kB │ gzip: 0.24 kB
32
- ℹ dist/browser/index.d.ts 13.20 kB │ gzip: 1.68 kB
32
+ ℹ dist/browser/index.d.ts 13.20 kB │ gzip: 1.67 kB
33
33
  ℹ dist/browser/react/lovable.d.ts  1.91 kB │ gzip: 0.88 kB
34
34
  ℹ dist/browser/react.d.ts  1.75 kB │ gzip: 0.75 kB
35
- ℹ dist/browser/types-DkAmHcZt.d.ts  3.63 kB │ gzip: 1.51 kB
36
- ℹ 23 files, total: 183.26 kB
37
- ✔ Build complete in 1529ms
35
+ ℹ dist/browser/types-C3wed8dU.d.ts  4.64 kB │ gzip: 1.85 kB
36
+ ℹ 23 files, total: 187.76 kB
37
+ ✔ Build complete in 1505ms
38
38
  ℹ dist/server/api-client.js  18.71 kB │ gzip: 2.66 kB
39
39
  ℹ dist/server/oauth.js  0.32 kB │ gzip: 0.17 kB
40
40
  ℹ dist/server/lovable.js  0.29 kB │ gzip: 0.16 kB
@@ -44,7 +44,7 @@
44
44
  ℹ dist/server/api-client-core/apis/cms/posts.generated.js.map  12.35 kB │ gzip: 1.77 kB
45
45
  ℹ dist/server/api-client-core/apis/cms/hubdb.generated.js.map  12.12 kB │ gzip: 1.73 kB
46
46
  ℹ dist/server/api-client-core/apis/cms/media-bridge.generated.js.map  11.56 kB │ gzip: 1.82 kB
47
- ℹ dist/server/hono/hubspot-connect-routes/auth-complete.js.map  10.70 kB │ gzip: 3.53 kB
47
+ ℹ dist/server/hono/hubspot-connect-routes/auth-complete.js.map  10.99 kB │ gzip: 3.61 kB
48
48
  ℹ dist/server/api-client-core/apis/webhooks.generated.js.map  10.06 kB │ gzip: 1.59 kB
49
49
  ℹ dist/server/api-client-core/apis/cms/tags.generated.js.map  9.39 kB │ gzip: 1.34 kB
50
50
  ℹ dist/server/api-client-core/apis/cms/authors.generated.js.map  9.36 kB │ gzip: 1.33 kB
@@ -64,10 +64,10 @@
64
64
  ℹ dist/server/hono/hubspot-connect-routes/auth-init-session.js.map  7.15 kB │ gzip: 2.20 kB
65
65
  ℹ dist/server/api-client-core/apis/cms/posts.generated.js  7.00 kB │ gzip: 0.95 kB
66
66
  ℹ dist/server/api-client-core/apis/crm/custom-objects.generated.js.map  6.82 kB │ gzip: 1.20 kB
67
+ ℹ dist/server/hono/hubspot-connect-routes/auth-complete.js  6.77 kB │ gzip: 2.40 kB
67
68
  ℹ dist/server/hono/hubspot-connect-routes/oauth-client.js.map  6.75 kB │ gzip: 2.45 kB
68
69
  ℹ dist/server/hono/hubspot-connect-routes/auth-logout.js.map  6.72 kB │ gzip: 2.13 kB
69
70
  ℹ dist/server/api-client-core/apis/cms/media-bridge.generated.js  6.68 kB │ gzip: 0.97 kB
70
- ℹ dist/server/hono/hubspot-connect-routes/auth-complete.js  6.65 kB │ gzip: 2.37 kB
71
71
  ℹ dist/server/utils/dpop-utils.js.map  6.58 kB │ gzip: 2.54 kB
72
72
  ℹ dist/server/utils/jwt-utils.js.map  6.17 kB │ gzip: 2.28 kB
73
73
  ℹ dist/server/api-client-core/apis/crm/pipelines.generated.js.map  6.08 kB │ gzip: 1.00 kB
@@ -95,6 +95,7 @@
95
95
  ℹ dist/server/api-client-core/apis/crm/meetings.generated.js.map  5.05 kB │ gzip: 1.17 kB
96
96
  ℹ dist/server/api-client-core/apis/crm/products.generated.js.map  5.05 kB │ gzip: 1.18 kB
97
97
  ℹ dist/server/api-client-core/apis/crm/properties.generated.js.map  5.04 kB │ gzip: 0.97 kB
98
+ ℹ dist/server/hono/hubspot-connect-routes/whoami.js.map  5.04 kB │ gzip: 2.00 kB
98
99
  ℹ dist/server/api-client-core/apis/crm/partner-services.generated.js.map  5.04 kB │ gzip: 1.23 kB
99
100
  ℹ dist/server/api-client-core/apis/marketing/campaigns-public-api.generated.js  5.03 kB │ gzip: 0.80 kB
100
101
  ℹ dist/server/api-client-core/apis/crm/partner-clients.generated.js.map  5.02 kB │ gzip: 1.23 kB
@@ -205,6 +206,7 @@
205
206
  ℹ dist/server/api-client-core/apis/scheduler/meetings.generated.js.map  2.27 kB │ gzip: 0.85 kB
206
207
  ℹ dist/server/api-client-core/apis/crm/calling-extensions.generated.js  2.25 kB │ gzip: 0.43 kB
207
208
  ℹ dist/server/api-client-core/apis/crm/limits-tracking.generated.js.map  2.25 kB │ gzip: 0.79 kB
209
+ ℹ dist/server/hono/hubspot-connect-routes/whoami.js  2.23 kB │ gzip: 0.86 kB
208
210
  ℹ dist/server/api-client-core/apis/crm/feedback-submissions.generated.js  2.22 kB │ gzip: 0.61 kB
209
211
  ℹ dist/server/api-client-core/apis/crm/public-app-crm-cards.generated.js.map  2.21 kB │ gzip: 0.68 kB
210
212
  ℹ dist/server/api-client-core/apis/crm/public-app-feature-flags.generated.js  2.19 kB │ gzip: 0.47 kB
@@ -520,5 +522,5 @@
520
522
  ℹ dist/server/api-client-core/apis/crm/imports.generated.d.ts  0.27 kB │ gzip: 0.19 kB
521
523
  ℹ dist/server/api-client-core/apis/auth/oauth.generated.d.ts  0.26 kB │ gzip: 0.19 kB
522
524
  ℹ dist/server/api-client-core/apis/crm/lists.generated.d.ts  0.26 kB │ gzip: 0.19 kB
523
- ℹ 485 files, total: 3.30 MB
524
- ✔ Build complete in 1838ms
525
+ ℹ 487 files, total: 3.31 MB
526
+ ✔ Build complete in 1798ms