@hubspot/app-connect-sdk 1.0.0-alpha.21 → 1.0.0-alpha.23

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 (28) hide show
  1. package/.turbo/turbo-format$colon$check.log +1 -1
  2. package/.turbo/turbo-test.log +64 -50
  3. package/.turbo/turbo-tsdown.log +7 -7
  4. package/build/tsconfig.browser.tsbuildinfo +1 -1
  5. package/build/tsconfig.server.tsbuildinfo +1 -1
  6. package/dist/browser/{create-DxEyGG-k.js → create-ULhURoJ_.js} +68 -32
  7. package/dist/browser/create-ULhURoJ_.js.map +1 -0
  8. package/dist/browser/index.d.ts +1 -1
  9. package/dist/browser/index.js +1 -1
  10. package/dist/browser/react/lovable.js +1 -1
  11. package/dist/server/hono/hubspot-connect-routes/whoami.js +5 -2
  12. package/dist/server/hono/hubspot-connect-routes/whoami.js.map +1 -1
  13. package/package.json +3 -3
  14. package/src/browser/app-connect-controller/connect-start.test.ts +4 -3
  15. package/src/browser/app-connect-controller/constants.ts +3 -4
  16. package/src/browser/app-connect-controller/create.ts +49 -6
  17. package/src/browser/app-connect-controller/default-local-storage.ts +31 -0
  18. package/src/browser/app-connect-controller/disconnect.ts +3 -3
  19. package/src/browser/app-connect-controller/init.test.ts +9 -10
  20. package/src/browser/app-connect-controller/oauth-complete.test.ts +8 -7
  21. package/src/browser/app-connect-controller/oauth-complete.ts +3 -3
  22. package/src/browser/app-connect-controller/oauth-popup.test.ts +4 -3
  23. package/src/browser/app-connect-controller/types.ts +19 -5
  24. package/src/browser/app-connect-controller/utils/session-utils.test.ts +30 -32
  25. package/src/browser/app-connect-controller/utils/session-utils.ts +13 -13
  26. package/src/server/hono/hubspot-connect-routes/whoami.ts +49 -2
  27. package/dist/browser/create-DxEyGG-k.js.map +0 -1
  28. package/src/browser/app-connect-controller/default-session-storage.ts +0 -21
@@ -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/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
+ .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-local-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,63 +4,64 @@
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/utils/dpop-utils.test.ts [queued]
7
+  ❯ src/server/sanitize-request.test.ts [queued]
8
8
 
9
9
   Test Files 0 passed (29)
10
10
   Tests 0 passed (0)
11
-  Start at 09:09:10
12
-  Duration 201ms
13
- [?2026l[?2026h
11
+  Start at 09:00:12
12
+  Duration 101ms
13
+ [?2026l[?2026h ✓ src/server/sanitize-request.test.ts (6 tests) 11ms
14
+ ✓ src/server/hono/utils/cors-middleware.test.ts (4 tests) 13ms
15
+
14
16
   ❯ src/browser/app-connect-controller/connect-start.test.ts [queued]
15
17
   ❯ 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 0/9
18
+  ❯ src/browser/app-connect-controller/oauth-popup.test.ts 0/5
19
+  ❯ src/server/api-client-core/__tests__/operation-headers.test.ts [queued]
19
20
   ❯ src/server/hono/hubspot-connect-routes/auth-complete.test.ts [queued]
20
21
   ❯ src/server/hono/hubspot-connect-routes/auth-init-session.test.ts [queued]
21
22
   ❯ src/server/hono/hubspot-connect-routes/auth-logout.test.ts [queued]
22
23
   ❯ src/server/hono/hubspot-connect-routes/auth-refresh.test.ts [queued]
23
24
   ❯ src/server/hono/hubspot-connect-routes/cimd-public-routes.test.ts [queued]
24
-  ❯ src/server/hono/utils/cors-middleware.test.ts 0/4
25
+  ❯ src/server/hono/utils/cors-middleware.test.ts 4/4
26
+  ❯ src/server/sanitize-request.test.ts 6/6
25
27
   ❯ src/server/utils/dpop-utils.test.ts [queued]
26
28
   ❯ src/server/utils/hubspot-dpop-auth-headers.test.ts [queued]
27
29
 
28
-  Test Files 0 passed (29)
29
-  Tests 0 passed (13)
30
-  Start at 09:09:10
31
-  Duration 301ms
32
- [?2026l[?2026h ✓ src/server/api-client-core/__tests__/operation-headers.test.ts (9 tests) 17ms
33
- ✓ src/server/hono/utils/cors-middleware.test.ts (4 tests) 21ms
34
- ✓ src/browser/app-connect-controller/oauth-complete.test.ts (2 tests) 16ms
35
- ✓ src/browser/app-connect-controller/init.test.ts (7 tests) 18ms
36
- ✓ src/browser/app-connect-controller/oauth-popup.test.ts (5 tests) 18ms
37
- ✓ src/server/hono/hubspot-connect-routes/cimd-public-routes.test.ts (4 tests) 21ms
38
- ✓ src/server/utils/dpop-utils.test.ts (7 tests) 32ms
39
- ✓ src/server/utils/hubspot-dpop-auth-headers.test.ts (2 tests) 16ms
30
+  Test Files 2 passed (29)
31
+  Tests 10 passed (15)
32
+  Start at 09:00:12
33
+  Duration 202ms
34
+ [?2026l[?2026h ✓ src/browser/app-connect-controller/oauth-popup.test.ts (5 tests) 16ms
35
+ ✓ src/server/api-client-core/__tests__/operation-headers.test.ts (9 tests) 17ms
36
+ ✓ src/browser/app-connect-controller/init.test.ts (7 tests) 21ms
37
+ ✓ src/server/hono/hubspot-connect-routes/auth-logout.test.ts (2 tests) 14ms
40
38
  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
41
39
  clientId test-client-id
42
40
 
43
- ✓ src/server/hono/hubspot-connect-routes/auth-logout.test.ts (2 tests) 17ms
44
41
  stdout | src/server/hono/hubspot-connect-routes/auth-init-session.test.ts > handleAuthInitSession > pins the request Origin in `__Host-hs_app_origin` with SameSite=None; Partitioned
45
42
  clientId test-client-id
46
43
 
47
- ✓ src/server/hono/hubspot-connect-routes/auth-refresh.test.ts (6 tests) 30ms
44
+ ✓ src/server/utils/dpop-utils.test.ts (7 tests) 25ms
45
+ ✓ src/server/hono/hubspot-connect-routes/cimd-public-routes.test.ts (4 tests) 26ms
48
46
  stdout | src/server/hono/hubspot-connect-routes/auth-init-session.test.ts > handleAuthInitSession > sets all session cookies with SameSite=None; Partitioned
49
47
  clientId test-client-id
50
48
 
51
49
  stdout | src/server/hono/hubspot-connect-routes/auth-init-session.test.ts > handleAuthInitSession > returns JSON with authorization_url on success
52
50
  clientId test-client-id
53
51
 
52
+ ✓ src/server/utils/hubspot-dpop-auth-headers.test.ts (2 tests) 20ms
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) 34ms
58
- ✓ src/browser/app-connect-controller/connect-start.test.ts (2 tests) 20ms
56
+ ✓ src/server/hono/hubspot-connect-routes/auth-init-session.test.ts (8 tests) 33ms
57
+ ✓ src/browser/app-connect-controller/connect-start.test.ts (2 tests) 18ms
58
+ ✓ src/server/hono/hubspot-connect-routes/auth-refresh.test.ts (6 tests) 30ms
59
59
 
60
60
   ❯ src/browser/app-connect-controller/connect-start.test.ts 2/2
61
61
   ❯ src/browser/app-connect-controller/init.test.ts 7/7
62
-  ❯ src/browser/app-connect-controller/oauth-complete.test.ts 2/2
62
+  ❯ src/browser/app-connect-controller/oauth-complete.test.ts [queued]
63
63
   ❯ src/browser/app-connect-controller/oauth-popup.test.ts 5/5
64
+  ❯ src/server/api-client-core/__tests__/operation-headers.test.ts 9/9
64
65
   ❯ src/server/hono/hubspot-connect-routes/auth-complete.test.ts [queued]
65
66
   ❯ src/server/hono/hubspot-connect-routes/auth-init-session.test.ts 8/8
66
67
   ❯ src/server/hono/hubspot-connect-routes/auth-logout.test.ts 2/2
@@ -69,52 +70,65 @@
69
70
   ❯ src/server/hono/utils/cors-middleware.test.ts 4/4
70
71
   ❯ src/server/utils/dpop-utils.test.ts 7/7
71
72
   ❯ src/server/utils/hubspot-dpop-auth-headers.test.ts 2/2
72
-  ❯ src/server/utils/jwt-utils.test.ts [queued]
73
73
 
74
74
   Test Files 12 passed (29)
75
-  Tests 58 passed (58)
76
-  Start at 09:09:10
77
-  Duration 501ms
78
- [?2026l[?2026h ✓ src/server/utils/jwt-utils.test.ts (6 tests) 12ms
79
- ✓ src/server/utils/jwk-utils.test.ts (3 tests) 8ms
75
+  Tests 62 passed (62)
76
+  Start at 09:00:12
77
+  Duration 402ms
78
+ [?2026l[?2026h ✓ src/browser/app-connect-controller/oauth-complete.test.ts (2 tests) 14ms
79
+ ✓ src/server/utils/jwt-utils.test.ts (6 tests) 12ms
80
+ ✓ src/browser/app-connect-controller/utils/session-utils.test.ts (11 tests) 4ms
81
+ ✓ src/server/utils/jwk-utils.test.ts (3 tests) 10ms
82
+ ✓ src/server/api-client-core/__tests__/errors.test.ts (14 tests) 3ms
80
83
  ✓ src/shared/encoding/sha256.test.ts (3 tests) 6ms
84
+ ✓ src/server/utils/cookie-utils.test.ts (8 tests) 2ms
81
85
  ✓ src/server/utils/env-utils.test.ts (29 tests) 4ms
82
- ✓ src/server/sanitize-request.test.ts (6 tests) 12ms
83
- ✓ src/browser/app-connect-controller/utils/session-utils.test.ts (11 tests) 4ms
84
86
  ✓ src/browser/app-connect-controller/utils/store-utils.test.ts (11 tests) 3ms
85
- ✓ src/server/hono/hubspot-connect-routes/utils.test.ts (7 tests) 2ms
86
- ✓ src/shared/encoding/base64.test.ts (7 tests) 2ms
87
- ✓ src/server/api-client-core/__tests__/errors.test.ts (14 tests) 4ms
88
- ✓ src/server/hono/hubspot-connect-routes/fetch-hubspot-client-metadata.test.ts (5 tests) 2ms
87
+ ✓ src/shared/encoding/base64.test.ts (7 tests) 5ms
88
+ ✓ src/browser/app-connect-controller/utils/memoize-utils.test.ts (4 tests) 2ms
89
89
  ✓ src/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.test.ts (10 tests) 3ms
90
90
 
91
91
 
92
-  ❯ src/browser/app-connect-controller/view-state.test.ts [queued]
92
+
93
+
94
+
95
+
96
+
97
+
98
+  ❯ src/browser/app-connect-controller/utils/session-utils.test.ts 11/11
93
99
   ❯ src/server/hono/hubspot-connect-routes/auth-complete.test.ts [queued]
94
-  ❯ src/server/utils/jwk-utils.test.ts 3/3
95
-  ❯ src/shared/encoding/sha256.test.ts 3/3
100
+  ❯ src/server/hono/hubspot-connect-routes/fetch-hubspot-client-metadata.test.ts [queued]
101
+  ❯ src/server/utils/jwt-utils.test.ts 6/6
96
102
 
97
103
   Test Files 24 passed (29)
98
104
   Tests 170 passed (170)
99
-  Start at 09:09:10
100
-  Duration 601ms
101
- [?2026l[?2026h ✓ src/browser/app-connect-controller/view-state.test.ts (7 tests) 2ms
102
- ✓ src/server/utils/cookie-utils.test.ts (8 tests) 2ms
105
+  Start at 09:00:12
106
+  Duration 502ms
107
+ [?2026l[?2026h ✓ src/server/hono/hubspot-connect-routes/fetch-hubspot-client-metadata.test.ts (5 tests) 2ms
108
+ ✓ src/server/hono/hubspot-connect-routes/utils.test.ts (7 tests) 2ms
109
+ ✓ src/browser/app-connect-controller/view-state.test.ts (7 tests) 2ms
103
110
  ✓ src/browser/app-connect-controller/utils/resolve-oauth-connect-mode.test.ts (4 tests) 2ms
104
- ✓ src/browser/app-connect-controller/utils/memoize-utils.test.ts (4 tests) 2ms
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
105
119
 
106
120
 
107
121
   ❯ src/server/hono/hubspot-connect-routes/auth-complete.test.ts 0/11
108
122
 
109
123
   Test Files 28 passed (29)
110
124
   Tests 193 passed (204)
111
-  Start at 09:09:10
112
-  Duration 900ms
113
- [?2026l ✓ src/server/hono/hubspot-connect-routes/auth-complete.test.ts (11 tests) 18ms
125
+  Start at 09:00:12
126
+  Duration 802ms
127
+ [?2026l ✓ src/server/hono/hubspot-connect-routes/auth-complete.test.ts (11 tests) 17ms
114
128
 
115
129
   Test Files  29 passed (29)
116
130
   Tests  204 passed (204)
117
-  Start at  09:09:10
118
-  Duration  1.01s (transform 1.62s, setup 0ms, import 2.50s, tests 350ms, environment 1ms)
131
+  Start at  09:00:12
132
+  Duration  906ms (transform 1.50s, setup 0ms, import 2.25s, tests 336ms, environment 1ms)
119
133
 
120
134
  [?25h
@@ -13,9 +13,9 @@
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-DxEyGG-k.js.map 46.88 kB │ gzip: 13.13 kB
16
+ ℹ dist/browser/create-ULhURoJ_.js.map 49.16 kB │ gzip: 13.59 kB
17
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
18
+ ℹ dist/browser/create-ULhURoJ_.js 25.25 kB │ gzip: 7.57 kB
19
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
@@ -33,8 +33,8 @@
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
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 1372ms
36
+ ℹ 23 files, total: 191.01 kB
37
+ ✔ Build complete in 1323ms
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
@@ -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
@@ -140,7 +141,6 @@
140
141
  ℹ dist/server/constants.js.map  3.55 kB │ gzip: 1.65 kB
141
142
  ℹ dist/server/api-client-core/apis/cms/blog-settings.generated.js.map  3.43 kB │ gzip: 1.01 kB
142
143
  ℹ dist/server/api-client-core/apis/crm/pipelines.generated.js  3.42 kB │ gzip: 0.52 kB
143
- ℹ dist/server/hono/hubspot-connect-routes/whoami.js.map  3.42 kB │ gzip: 1.38 kB
144
144
  ℹ dist/server/hono/hubspot-connect-routes/cimd-public-routes.js.map  3.40 kB │ gzip: 1.31 kB
145
145
  ℹ dist/server/hono/utils/cookie-utils.js.map  3.39 kB │ gzip: 1.50 kB
146
146
  ℹ dist/server/hono/utils/cors-middleware.js  3.27 kB │ gzip: 1.46 kB
@@ -206,6 +206,7 @@
206
206
  ℹ dist/server/api-client-core/apis/scheduler/meetings.generated.js.map  2.27 kB │ gzip: 0.85 kB
207
207
  ℹ dist/server/api-client-core/apis/crm/calling-extensions.generated.js  2.25 kB │ gzip: 0.43 kB
208
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
209
210
  ℹ dist/server/api-client-core/apis/crm/feedback-submissions.generated.js  2.22 kB │ gzip: 0.61 kB
210
211
  ℹ dist/server/api-client-core/apis/crm/public-app-crm-cards.generated.js.map  2.21 kB │ gzip: 0.68 kB
211
212
  ℹ dist/server/api-client-core/apis/crm/public-app-feature-flags.generated.js  2.19 kB │ gzip: 0.47 kB
@@ -213,7 +214,6 @@
213
214
  ℹ dist/server/api-client-core/apis/crm/property-validations.generated.js.map  2.13 kB │ gzip: 0.67 kB
214
215
  ℹ dist/server/api-client-core/apis/cms/url-redirects.generated.js.map  2.06 kB │ gzip: 0.70 kB
215
216
  ℹ dist/server/lovable/hubspot-connect/run-hubspot-connect-lovable-server.js.map  2.03 kB │ gzip: 0.91 kB
216
- ℹ dist/server/hono/hubspot-connect-routes/whoami.js  2.02 kB │ gzip: 0.82 kB
217
217
  ℹ dist/server/api-client-core/apis/cms/site-search.generated.js.map  1.97 kB │ gzip: 0.77 kB
218
218
  ℹ dist/server/api-client-core/apis/settings/user-provisioning.generated.js.map  1.97 kB │ gzip: 0.66 kB
219
219
  ℹ dist/server/utils/hubspot-dpop-auth-headers.js.map  1.91 kB │ gzip: 0.89 kB
@@ -523,4 +523,4 @@
523
523
  ℹ dist/server/api-client-core/apis/auth/oauth.generated.d.ts  0.26 kB │ gzip: 0.19 kB
524
524
  ℹ dist/server/api-client-core/apis/crm/lists.generated.d.ts  0.26 kB │ gzip: 0.19 kB
525
525
  ℹ 487 files, total: 3.31 MB
526
- ✔ Build complete in 2068ms
526
+ ✔ Build complete in 2027ms