@hubspot/app-connect-sdk 1.0.0-alpha.1 → 1.0.0-alpha.11

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 (95) hide show
  1. package/.turbo/turbo-format$colon$check.log +1 -1
  2. package/.turbo/turbo-test.log +58 -56
  3. package/.turbo/turbo-tsdown.log +67 -64
  4. package/build/tsconfig.browser.tsbuildinfo +1 -1
  5. package/build/tsconfig.server.tsbuildinfo +1 -1
  6. package/dist/browser/{HubSpotAppConnect-BW45gyDs.js → HubSpotAppConnect-COQgPrFn.js} +5 -3
  7. package/dist/browser/HubSpotAppConnect-COQgPrFn.js.map +1 -0
  8. package/dist/browser/{create-vctOhpX9.js → create-crdncXsh.js} +53 -24
  9. package/dist/browser/create-crdncXsh.js.map +1 -0
  10. package/dist/browser/index.js +1 -1
  11. package/dist/browser/react/lovable.d.ts +21 -7
  12. package/dist/browser/react/lovable.js +16 -12
  13. package/dist/browser/react/lovable.js.map +1 -1
  14. package/dist/browser/react.js +1 -1
  15. package/dist/server/api-client-core/plugins/fetch-transport.js +5 -1
  16. package/dist/server/api-client-core/plugins/fetch-transport.js.map +1 -1
  17. package/dist/server/constants.js +33 -6
  18. package/dist/server/constants.js.map +1 -1
  19. package/dist/server/hono/hono-request-handler.js +18 -13
  20. package/dist/server/hono/hono-request-handler.js.map +1 -1
  21. package/dist/server/hono/hubspot-connect-routes/auth-complete.js +154 -0
  22. package/dist/server/hono/hubspot-connect-routes/auth-complete.js.map +1 -0
  23. package/dist/server/hono/hubspot-connect-routes/auth-init-session.js +22 -11
  24. package/dist/server/hono/hubspot-connect-routes/auth-init-session.js.map +1 -1
  25. package/dist/server/hono/hubspot-connect-routes/auth-logout.js +18 -1
  26. package/dist/server/hono/hubspot-connect-routes/auth-logout.js.map +1 -1
  27. package/dist/server/hono/hubspot-connect-routes/auth-refresh.js +6 -0
  28. package/dist/server/hono/hubspot-connect-routes/auth-refresh.js.map +1 -1
  29. package/dist/server/hono/hubspot-connect-routes/hubspot-connect-routes.js +4 -2
  30. package/dist/server/hono/hubspot-connect-routes/hubspot-connect-routes.js.map +1 -1
  31. package/dist/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.js +5 -5
  32. package/dist/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.js.map +1 -1
  33. package/dist/server/hono/hubspot-connect-routes/utils.js +50 -3
  34. package/dist/server/hono/hubspot-connect-routes/utils.js.map +1 -1
  35. package/dist/server/hono/types.d.ts +13 -9
  36. package/dist/server/hono/utils/cookie-utils.js +2 -1
  37. package/dist/server/hono/utils/cookie-utils.js.map +1 -1
  38. package/dist/server/hono/utils/cors-middleware.js +85 -0
  39. package/dist/server/hono/utils/cors-middleware.js.map +1 -0
  40. package/dist/server/lovable/create-app-function-start.js +0 -1
  41. package/dist/server/lovable/create-app-function-start.js.map +1 -1
  42. package/dist/server/lovable/hubspot-connect/run-hubspot-connect-lovable-server.js +7 -8
  43. package/dist/server/lovable/hubspot-connect/run-hubspot-connect-lovable-server.js.map +1 -1
  44. package/dist/server/proxy.js +4 -4
  45. package/dist/server/proxy.js.map +1 -1
  46. package/dist/server/sanitize-request.js +24 -10
  47. package/dist/server/sanitize-request.js.map +1 -1
  48. package/dist/server/secure-start-core.js +4 -5
  49. package/dist/server/secure-start-core.js.map +1 -1
  50. package/dist/server/shared/constants.js +22 -9
  51. package/dist/server/shared/constants.js.map +1 -1
  52. package/dist/server/types.d.ts +2 -2
  53. package/dist/server/utils/env-utils.js +60 -7
  54. package/dist/server/utils/env-utils.js.map +1 -1
  55. package/package.json +5 -11
  56. package/src/browser/app-connect-controller/init.test.ts +167 -0
  57. package/src/browser/app-connect-controller/init.ts +70 -19
  58. package/src/browser/react/components/AppConnectHeader/AppConnectHeader.tsx +3 -5
  59. package/src/browser/react/components/ConnectButton/ConnectButton.tsx +2 -1
  60. package/src/browser/react/lovable/LovableHubSpotAppConnect.tsx +42 -15
  61. package/src/server/api-client-core/plugins/fetch-transport.ts +5 -1
  62. package/src/server/constants.ts +29 -4
  63. package/src/server/hono/hono-request-handler.ts +42 -15
  64. package/src/server/hono/hubspot-connect-routes/auth-complete.test.ts +285 -0
  65. package/src/server/hono/hubspot-connect-routes/{auth-callback.ts → auth-complete.ts} +73 -30
  66. package/src/server/hono/hubspot-connect-routes/auth-init-session.test.ts +114 -30
  67. package/src/server/hono/hubspot-connect-routes/auth-init-session.ts +33 -10
  68. package/src/server/hono/hubspot-connect-routes/auth-logout.test.ts +13 -0
  69. package/src/server/hono/hubspot-connect-routes/auth-logout.ts +18 -0
  70. package/src/server/hono/hubspot-connect-routes/auth-refresh.test.ts +6 -0
  71. package/src/server/hono/hubspot-connect-routes/auth-refresh.ts +6 -0
  72. package/src/server/hono/hubspot-connect-routes/hubspot-connect-routes.ts +9 -2
  73. package/src/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.test.ts +17 -24
  74. package/src/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.ts +8 -8
  75. package/src/server/hono/hubspot-connect-routes/utils.ts +57 -1
  76. package/src/server/hono/types.ts +15 -9
  77. package/src/server/hono/utils/cookie-utils.ts +27 -2
  78. package/src/server/hono/utils/cors-middleware.test.ts +79 -0
  79. package/src/server/hono/utils/cors-middleware.ts +95 -0
  80. package/src/server/lovable/create-app-function-start.ts +0 -3
  81. package/src/server/lovable/hubspot-connect/run-hubspot-connect-lovable-server.ts +14 -9
  82. package/src/server/proxy.test.ts +1 -1
  83. package/src/server/proxy.ts +7 -4
  84. package/src/server/sanitize-request.ts +25 -11
  85. package/src/server/secure-start-core.ts +7 -6
  86. package/src/server/types.ts +4 -4
  87. package/src/server/utils/env-utils.test.ts +140 -12
  88. package/src/server/utils/env-utils.ts +80 -6
  89. package/src/shared/constants.ts +31 -3
  90. package/src/shared/wire-types.ts +19 -0
  91. package/dist/browser/HubSpotAppConnect-BW45gyDs.js.map +0 -1
  92. package/dist/browser/create-vctOhpX9.js.map +0 -1
  93. package/dist/server/hono/hubspot-connect-routes/auth-callback.js +0 -125
  94. package/dist/server/hono/hubspot-connect-routes/auth-callback.js.map +0 -1
  95. package/src/server/hono/hubspot-connect-routes/auth-callback.test.ts +0 -225
@@ -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-tsc.log.turbo/turbo-tsdown.logeslint.config.jspackage.jsonREADME.mdsrc/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.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/memoize-utils.test.tssrc/browser/app-connect-controller/utils/memoize-utils.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/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-callback.test.tssrc/server/hono/hubspot-connect-routes/auth-callback.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/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/proxy.test.tssrc/server/proxy.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/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.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/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/memoize-utils.test.tssrc/browser/app-connect-controller/utils/memoize-utils.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/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/proxy.test.tssrc/server/proxy.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/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,73 +4,75 @@
4
4
   RUN  v4.0.18 /Users/psteeleidem/src/HubSpotEngineering/app-connect-sdk/packages/app-connect-sdk
5
5
 
6
6
  [?2026h
7
-  ❯ src/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.test.ts [queued]
7
+  ❯ src/server/hono/hubspot-connect-routes/auth-complete.test.ts [queued]
8
8
 
9
-  Test Files 0 passed (21)
9
+  Test Files 0 passed (23)
10
10
   Tests 0 passed (0)
11
-  Start at 13:43:31
12
-  Duration 101ms
13
- [?2026l[?2026h ✓ src/browser/app-connect-controller/utils/store-utils.test.ts (11 tests) 2ms
14
- ✓ src/server/utils/env-utils.test.ts (13 tests) 2ms
15
- ✓ src/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.test.ts (11 tests) 3ms
16
- ✓ src/server/hono/hubspot-connect-routes/utils.test.ts (10 tests) 2ms
17
- ✓ src/browser/app-connect-controller/utils/session-utils.test.ts (9 tests) 5ms
18
- ✓ src/server/utils/jwt-utils.test.ts (6 tests) 11ms
11
+  Start at 16:07:04
12
+  Duration 100ms
13
+ [?2026l[?2026h ✓ src/shared/encoding/sha256.test.ts (3 tests) 4ms
14
+ ✓ src/server/utils/jwk-utils.test.ts (3 tests) 6ms
15
+ ✓ src/server/utils/jwt-utils.test.ts (6 tests) 8ms
16
+ ✓ src/server/utils/dpop-utils.test.ts (7 tests) 11ms
17
+ ✓ src/server/sanitize-request.test.ts (6 tests) 11ms
18
+ ✓ src/server/hono/utils/cors-middleware.test.ts (4 tests) 15ms
19
19
 
20
-  ❯ src/browser/app-connect-controller/utils/session-utils.test.ts 9/9
21
-  ❯ src/browser/app-connect-controller/utils/store-utils.test.ts 11/11
22
-  ❯ src/server/hono/hubspot-connect-routes/auth-callback.test.ts [queued]
23
-  ❯ src/server/hono/hubspot-connect-routes/auth-init-session.test.ts 0/4
20
+  ❯ src/browser/app-connect-controller/init.test.ts 0/4
21
+  ❯ src/server/hono/hubspot-connect-routes/auth-complete.test.ts [queued]
22
+  ❯ src/server/hono/hubspot-connect-routes/auth-init-session.test.ts [queued]
24
23
   ❯ src/server/hono/hubspot-connect-routes/auth-logout.test.ts [queued]
25
24
   ❯ src/server/hono/hubspot-connect-routes/auth-refresh.test.ts [queued]
26
25
   ❯ src/server/hono/hubspot-connect-routes/cimd-public-routes.test.ts 0/4
27
-  ❯ src/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.test.ts 11/11
28
-  ❯ src/server/hono/hubspot-connect-routes/utils.test.ts 10/10
26
+  ❯ src/server/hono/utils/cors-middleware.test.ts 4/4
29
27
   ❯ src/server/proxy.test.ts 0/3
30
-  ❯ src/server/utils/dpop-utils.test.ts 0/7
31
-  ❯ src/server/utils/env-utils.test.ts 13/13
28
+  ❯ src/server/sanitize-request.test.ts 6/6
29
+  ❯ src/server/utils/dpop-utils.test.ts 7/7
30
+  ❯ src/server/utils/jwk-utils.test.ts 3/3
31
+  ❯ src/server/utils/jwt-utils.test.ts 6/6
32
+  ❯ src/shared/encoding/sha256.test.ts 3/3
33
+
34
+  Test Files 6 passed (23)
35
+  Tests 29 passed (40)
36
+  Start at 16:07:04
37
+  Duration 200ms
38
+ [?2026l[?2026h ✓ src/server/proxy.test.ts (3 tests) 61ms
39
+ ✓ src/server/hono/hubspot-connect-routes/cimd-public-routes.test.ts (4 tests) 19ms
40
+ ✓ src/browser/app-connect-controller/init.test.ts (4 tests) 16ms
41
+ ✓ src/server/hono/hubspot-connect-routes/auth-logout.test.ts (2 tests) 16ms
42
+ ✓ src/server/hono/hubspot-connect-routes/auth-complete.test.ts (9 tests) 19ms
43
+ ✓ src/server/hono/hubspot-connect-routes/auth-init-session.test.ts (8 tests) 30ms
44
+ ✓ src/server/hono/hubspot-connect-routes/auth-refresh.test.ts (6 tests) 29ms
45
+
46
+
47
+
48
+  ❯ src/browser/app-connect-controller/init.test.ts 4/4
49
+  ❯ src/browser/app-connect-controller/utils/session-utils.test.ts [queued]
50
+  ❯ src/server/hono/hubspot-connect-routes/cimd-public-routes.test.ts 4/4
51
+  ❯ src/server/hono/utils/cors-middleware.test.ts 4/4
52
+  ❯ src/server/proxy.test.ts 3/3
53
+  ❯ src/server/sanitize-request.test.ts 6/6
54
+  ❯ src/server/utils/dpop-utils.test.ts 7/7
55
+  ❯ src/server/utils/jwk-utils.test.ts 3/3
32
56
   ❯ src/server/utils/jwt-utils.test.ts 6/6
33
57
 
34
-  Test Files 6 passed (21)
35
-  Tests 60 passed (78)
36
-  Start at 13:43:31
37
-  Duration 202ms
38
- [?2026l[?2026h ✓ src/server/hono/hubspot-connect-routes/cimd-public-routes.test.ts (4 tests) 16ms
39
- ✓ src/server/utils/dpop-utils.test.ts (7 tests) 20ms
40
- ✓ src/server/proxy.test.ts (3 tests) 56ms
41
- ✓ src/server/hono/hubspot-connect-routes/auth-logout.test.ts (2 tests) 15ms
42
- ✓ src/server/hono/hubspot-connect-routes/auth-init-session.test.ts (4 tests) 21ms
43
- ✓ src/server/hono/hubspot-connect-routes/auth-callback.test.ts (8 tests) 17ms
44
- ✓ src/server/hono/hubspot-connect-routes/auth-refresh.test.ts (6 tests) 18ms
45
- ✓ src/server/hono/hubspot-connect-routes/fetch-hubspot-client-metadata.test.ts (5 tests) 2ms
58
+  Test Files 13 passed (23)
59
+  Tests 65 passed (65)
60
+  Start at 16:07:04
61
+  Duration 402ms
62
+ [?2026l ✓ src/browser/app-connect-controller/utils/session-utils.test.ts (9 tests) 4ms
63
+ ✓ src/server/utils/env-utils.test.ts (29 tests) 4ms
64
+ ✓ src/server/hono/hubspot-connect-routes/load-hubspot-connect-routes-env.test.ts (10 tests) 2ms
65
+ ✓ src/browser/app-connect-controller/utils/store-utils.test.ts (11 tests) 3ms
46
66
  ✓ src/shared/encoding/base64.test.ts (7 tests) 2ms
47
- ✓ src/browser/app-connect-controller/view-state.test.ts (7 tests) 1ms
48
- ✓ src/server/sanitize-request.test.ts (6 tests) 11ms
49
67
  ✓ src/server/utils/cookie-utils.test.ts (8 tests) 2ms
68
+ ✓ src/server/hono/hubspot-connect-routes/fetch-hubspot-client-metadata.test.ts (5 tests) 1ms
69
+ ✓ src/server/hono/hubspot-connect-routes/utils.test.ts (10 tests) 2ms
70
+ ✓ src/browser/app-connect-controller/view-state.test.ts (7 tests) 2ms
71
+ ✓ src/browser/app-connect-controller/utils/memoize-utils.test.ts (4 tests) 1ms
50
72
 
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-  ❯ src/browser/app-connect-controller/utils/memoize-utils.test.ts 1/4
60
-  ❯ src/server/utils/jwk-utils.test.ts [queued]
61
-  ❯ src/shared/encoding/sha256.test.ts [queued]
62
-
63
-  Test Files 18 passed (21)
64
-  Tests 128 passed (131)
65
-  Start at 13:43:31
66
-  Duration 302ms
67
- [?2026l ✓ src/browser/app-connect-controller/utils/memoize-utils.test.ts (4 tests) 2ms
68
- ✓ src/shared/encoding/sha256.test.ts (3 tests) 3ms
69
- ✓ src/server/utils/jwk-utils.test.ts (3 tests) 4ms
70
-
71
-  Test Files  21 passed (21)
72
-  Tests  137 passed (137)
73
-  Start at  13:43:31
74
-  Duration  379ms (transform 631ms, setup 0ms, import 1.07s, tests 215ms, environment 1ms)
73
+  Test Files  23 passed (23)
74
+  Tests  165 passed (165)
75
+  Start at  16:07:04
76
+  Duration  468ms (transform 580ms, setup 0ms, import 1.09s, tests 268ms, environment 2ms)
75
77
 
76
78
  [?25h