@seeka-labs/cli-apps 3.8.8 → 3.8.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +2 -2
- package/dist/init-template/README.azurefunc.md +1 -1
- package/dist/init-template/app/browser/package.json +1 -1
- package/dist/init-template/app/lib/package.json +3 -2
- package/dist/init-template/app/lib/src/validation/index.ts +13 -13
- package/dist/init-template/app/server-azurefunc/package.json +1 -1
- package/dist/init-template/app/server-azurefunc/src/app/api/router.ts +2 -0
- package/dist/init-template/app/server-azurefunc/src/app/models/index.ts +12 -12
- package/dist/init-template/app/server-azurefunc/src/app/services/activites.ts +8 -8
- package/dist/init-template/app/server-azurefunc/src/functions/ui.ts +2 -2
- package/dist/init-template/app/ui/package.json +1 -1
- package/dist/init-template/package.json +3 -2
- package/package.json +2 -3
- package/README.md +0 -286
- package/dist/ai-context/internal/examples/_index.md +0 -240
- package/dist/ai-context/internal/examples/v1/activecampaign/.eslintrc.cjs +0 -10
- package/dist/ai-context/internal/examples/v1/activecampaign/README.md +0 -88
- package/dist/ai-context/internal/examples/v1/activecampaign/_ai-summary.md +0 -37
- package/dist/ai-context/internal/examples/v1/activecampaign/host.json +0 -20
- package/dist/ai-context/internal/examples/v1/activecampaign/package.json +0 -43
- package/dist/ai-context/internal/examples/v1/activecampaign/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v1/activecampaign/src/functions/seekaAppWebhook.ts +0 -284
- package/dist/ai-context/internal/examples/v1/activecampaign/src/lib/active-campaign/api/index.ts +0 -41
- package/dist/ai-context/internal/examples/v1/activecampaign/src/lib/active-campaign/contacts/index.ts +0 -56
- package/dist/ai-context/internal/examples/v1/activecampaign/src/lib/active-campaign/custom-fields/index.ts +0 -8
- package/dist/ai-context/internal/examples/v1/activecampaign/src/lib/active-campaign/pipelines/deals/index.ts +0 -96
- package/dist/ai-context/internal/examples/v1/activecampaign/src/lib/active-campaign/pipelines/index.ts +0 -206
- package/dist/ai-context/internal/examples/v1/activecampaign/src/lib/logging/index.ts +0 -77
- package/dist/ai-context/internal/examples/v1/activecampaign/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v1/activecampaign/src/lib/state/redis/index.ts +0 -64
- package/dist/ai-context/internal/examples/v1/activecampaign/src/lib/state/seeka/installations.ts +0 -96
- package/dist/ai-context/internal/examples/v1/activecampaign/tsconfig.json +0 -22
- package/dist/ai-context/internal/examples/v1/complianz/.eslintrc.cjs +0 -19
- package/dist/ai-context/internal/examples/v1/complianz/README.md +0 -105
- package/dist/ai-context/internal/examples/v1/complianz/_ai-summary.md +0 -36
- package/dist/ai-context/internal/examples/v1/complianz/host.json +0 -20
- package/dist/ai-context/internal/examples/v1/complianz/jest.config.js +0 -5
- package/dist/ai-context/internal/examples/v1/complianz/package.json +0 -48
- package/dist/ai-context/internal/examples/v1/complianz/src/browser/.eslintrc.cjs +0 -1
- package/dist/ai-context/internal/examples/v1/complianz/src/browser/.yarnrc +0 -1
- package/dist/ai-context/internal/examples/v1/complianz/src/browser/package.json +0 -37
- package/dist/ai-context/internal/examples/v1/complianz/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v1/complianz/src/functions/seekaAppWebhook.ts +0 -190
- package/dist/ai-context/internal/examples/v1/complianz/src/index.test.ts +0 -7
- package/dist/ai-context/internal/examples/v1/complianz/src/lib/browser/index.ts +0 -53
- package/dist/ai-context/internal/examples/v1/complianz/src/lib/browser/models/index.ts +0 -5
- package/dist/ai-context/internal/examples/v1/complianz/src/lib/logging/index.ts +0 -77
- package/dist/ai-context/internal/examples/v1/complianz/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v1/complianz/src/lib/state/redis/index.ts +0 -65
- package/dist/ai-context/internal/examples/v1/complianz/src/lib/state/seeka/installations.ts +0 -62
- package/dist/ai-context/internal/examples/v1/complianz/tsconfig.json +0 -18
- package/dist/ai-context/internal/examples/v1/ivvy/.eslintrc.cjs +0 -10
- package/dist/ai-context/internal/examples/v1/ivvy/README.md +0 -70
- package/dist/ai-context/internal/examples/v1/ivvy/_ai-summary.md +0 -27
- package/dist/ai-context/internal/examples/v1/ivvy/package.json +0 -58
- package/dist/ai-context/internal/examples/v1/ivvy/src/app/index.ts +0 -31
- package/dist/ai-context/internal/examples/v1/ivvy/src/index.ts +0 -32
- package/dist/ai-context/internal/examples/v1/ivvy/src/lib/ivvy/api/models/booking.ts +0 -114
- package/dist/ai-context/internal/examples/v1/ivvy/src/lib/ivvy/api/models/common.ts +0 -49
- package/dist/ai-context/internal/examples/v1/ivvy/src/lib/ivvy/api/models/invoice.ts +0 -75
- package/dist/ai-context/internal/examples/v1/ivvy/src/lib/ivvy/api/models/webhooks.ts +0 -33
- package/dist/ai-context/internal/examples/v1/ivvy/src/lib/ivvy/api/requests.ts +0 -106
- package/dist/ai-context/internal/examples/v1/ivvy/src/lib/ivvy/api/webhooks.ts +0 -117
- package/dist/ai-context/internal/examples/v1/ivvy/src/lib/ivvy/services/index.ts +0 -127
- package/dist/ai-context/internal/examples/v1/ivvy/src/lib/logging/index.ts +0 -105
- package/dist/ai-context/internal/examples/v1/ivvy/src/lib/polyfills/fetch.ts +0 -21
- package/dist/ai-context/internal/examples/v1/ivvy/src/lib/services/index.ts +0 -40
- package/dist/ai-context/internal/examples/v1/ivvy/src/lib/state/redis/index.ts +0 -63
- package/dist/ai-context/internal/examples/v1/ivvy/src/lib/state/seeka/installations.ts +0 -61
- package/dist/ai-context/internal/examples/v1/ivvy/src/routes/ivvyWebhook.ts +0 -67
- package/dist/ai-context/internal/examples/v1/ivvy/src/routes/seekaAppWebhook.ts +0 -141
- package/dist/ai-context/internal/examples/v1/ivvy/tsconfig.json +0 -33
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/.eslintrc.cjs +0 -11
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/README.md +0 -66
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/_ai-summary.md +0 -38
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/host.json +0 -20
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/package.json +0 -47
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/functions/meanduContactPolling.ts +0 -38
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/functions/meanduContactSync.ts +0 -69
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/functions/seekaAppWebhook.ts +0 -162
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/lib/jobs/index.ts +0 -96
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/lib/logging/index.ts +0 -91
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/lib/meandu/api/index.ts +0 -46
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/lib/meandu/auth/index.ts +0 -32
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/lib/meandu/contacts/index.ts +0 -149
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/lib/meandu/fields/index.ts +0 -105
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/lib/meandu/jobs/contact-sync/index.ts +0 -143
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/lib/services/index.ts +0 -40
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/lib/state/redis/index.ts +0 -64
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/src/lib/state/seeka/installations.ts +0 -61
- package/dist/ai-context/internal/examples/v1/me-and-u-connect/tsconfig.json +0 -22
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/.eslintrc.cjs +0 -11
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/.nvmrc +0 -1
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/README.md +0 -134
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/_ai-summary.md +0 -41
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/host.json +0 -20
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/package.json +0 -46
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/functions/pollForNewMeAndUData.ts +0 -47
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/functions/processNewMeAndUMarketingOptIns.ts +0 -69
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/functions/processNewMeAndUOrders.ts +0 -69
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/functions/seekaAppWebhook.ts +0 -216
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/lib/jobs/index.ts +0 -97
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/lib/logging/index.ts +0 -93
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/lib/me-and-u/consent/index.ts +0 -196
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/lib/me-and-u/index.ts +0 -96
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/lib/me-and-u/menus/index.ts +0 -125
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/lib/me-and-u/orders/index.ts +0 -264
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/lib/state/redis/index.ts +0 -65
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/src/lib/state/seeka/installations.ts +0 -78
- package/dist/ai-context/internal/examples/v1/me-and-u-manage/tsconfig.json +0 -22
- package/dist/ai-context/internal/examples/v1/nowbookit/.eslintrc.cjs +0 -10
- package/dist/ai-context/internal/examples/v1/nowbookit/README.md +0 -82
- package/dist/ai-context/internal/examples/v1/nowbookit/_ai-summary.md +0 -39
- package/dist/ai-context/internal/examples/v1/nowbookit/host.json +0 -20
- package/dist/ai-context/internal/examples/v1/nowbookit/package.json +0 -44
- package/dist/ai-context/internal/examples/v1/nowbookit/src/functions/pollingExample.ts +0 -37
- package/dist/ai-context/internal/examples/v1/nowbookit/src/functions/queueExample.ts +0 -31
- package/dist/ai-context/internal/examples/v1/nowbookit/src/functions/seekaAppWebhook.ts +0 -193
- package/dist/ai-context/internal/examples/v1/nowbookit/src/lib/jobs/index.ts +0 -51
- package/dist/ai-context/internal/examples/v1/nowbookit/src/lib/logging/index.ts +0 -90
- package/dist/ai-context/internal/examples/v1/nowbookit/src/lib/services/index.ts +0 -40
- package/dist/ai-context/internal/examples/v1/nowbookit/src/lib/state/redis/index.ts +0 -64
- package/dist/ai-context/internal/examples/v1/nowbookit/src/lib/state/seeka/installations.ts +0 -61
- package/dist/ai-context/internal/examples/v1/nowbookit/tsconfig.json +0 -22
- package/dist/ai-context/internal/examples/v1/sevenrooms/.eslintrc.cjs +0 -11
- package/dist/ai-context/internal/examples/v1/sevenrooms/.nvmrc +0 -1
- package/dist/ai-context/internal/examples/v1/sevenrooms/.yarnrc.yml +0 -1
- package/dist/ai-context/internal/examples/v1/sevenrooms/README.md +0 -131
- package/dist/ai-context/internal/examples/v1/sevenrooms/_ai-summary.md +0 -42
- package/dist/ai-context/internal/examples/v1/sevenrooms/host.json +0 -20
- package/dist/ai-context/internal/examples/v1/sevenrooms/package.json +0 -47
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/browser/.eslintrc.cjs +0 -1
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/browser/.yarnrc +0 -1
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/browser/package.json +0 -31
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/functions/handleSevenRoomsWebhookQueueItem.ts +0 -71
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/functions/seekaAppWebhook.ts +0 -255
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/functions/sevenRoomsWebhook.ts +0 -202
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/browser/index.ts +0 -68
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/jobs/index.ts +0 -69
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/logging/index.ts +0 -106
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/models/index.ts +0 -17
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/sevenrooms/auth/index.ts +0 -70
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/sevenrooms/charges/index.ts +0 -202
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/sevenrooms/clients/index.ts +0 -505
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/sevenrooms/helpers.ts +0 -38
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/sevenrooms/models.ts +0 -193
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/sevenrooms/reservations/index.ts +0 -365
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/sevenrooms/venues/index.ts +0 -54
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/state/redis/index.ts +0 -102
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/state/seeka/installations.ts +0 -140
- package/dist/ai-context/internal/examples/v1/sevenrooms/src/lib/state/seeka/models.ts +0 -34
- package/dist/ai-context/internal/examples/v1/sevenrooms/tsconfig.json +0 -18
- package/dist/ai-context/internal/examples/v1/tradable-bits/.eslintrc.cjs +0 -10
- package/dist/ai-context/internal/examples/v1/tradable-bits/README.md +0 -104
- package/dist/ai-context/internal/examples/v1/tradable-bits/_ai-summary.md +0 -40
- package/dist/ai-context/internal/examples/v1/tradable-bits/host.json +0 -20
- package/dist/ai-context/internal/examples/v1/tradable-bits/package.json +0 -43
- package/dist/ai-context/internal/examples/v1/tradable-bits/src/browser/.eslintrc.cjs +0 -1
- package/dist/ai-context/internal/examples/v1/tradable-bits/src/browser/.yarnrc +0 -1
- package/dist/ai-context/internal/examples/v1/tradable-bits/src/browser/package.json +0 -37
- package/dist/ai-context/internal/examples/v1/tradable-bits/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v1/tradable-bits/src/functions/seekaAppWebhook.ts +0 -157
- package/dist/ai-context/internal/examples/v1/tradable-bits/src/lib/browser/index.ts +0 -54
- package/dist/ai-context/internal/examples/v1/tradable-bits/src/lib/logging/index.ts +0 -77
- package/dist/ai-context/internal/examples/v1/tradable-bits/src/lib/models/index.ts +0 -6
- package/dist/ai-context/internal/examples/v1/tradable-bits/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v1/tradable-bits/src/lib/state/redis/index.ts +0 -64
- package/dist/ai-context/internal/examples/v1/tradable-bits/src/lib/state/seeka/installations.ts +0 -64
- package/dist/ai-context/internal/examples/v1/tradable-bits/tsconfig.json +0 -18
- package/dist/ai-context/internal/examples/v1/transcend/.eslintrc.cjs +0 -19
- package/dist/ai-context/internal/examples/v1/transcend/README.md +0 -112
- package/dist/ai-context/internal/examples/v1/transcend/_ai-summary.md +0 -27
- package/dist/ai-context/internal/examples/v1/transcend/host.json +0 -29
- package/dist/ai-context/internal/examples/v1/transcend/jest.config.js +0 -5
- package/dist/ai-context/internal/examples/v1/transcend/package.json +0 -46
- package/dist/ai-context/internal/examples/v1/transcend/src/browser/.eslintrc.cjs +0 -1
- package/dist/ai-context/internal/examples/v1/transcend/src/browser/.yarnrc +0 -1
- package/dist/ai-context/internal/examples/v1/transcend/src/browser/package.json +0 -37
- package/dist/ai-context/internal/examples/v1/transcend/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v1/transcend/src/functions/seekaAppWebhook.ts +0 -214
- package/dist/ai-context/internal/examples/v1/transcend/src/index.test.ts +0 -7
- package/dist/ai-context/internal/examples/v1/transcend/src/lib/browser/index.ts +0 -53
- package/dist/ai-context/internal/examples/v1/transcend/src/lib/browser/models/index.ts +0 -29
- package/dist/ai-context/internal/examples/v1/transcend/src/lib/logging/index.ts +0 -77
- package/dist/ai-context/internal/examples/v1/transcend/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v1/transcend/src/lib/state/redis/index.ts +0 -65
- package/dist/ai-context/internal/examples/v1/transcend/src/lib/state/seeka/installations.ts +0 -64
- package/dist/ai-context/internal/examples/v1/transcend/tsconfig.json +0 -18
- package/dist/ai-context/internal/examples/v2/calendly/.yarnrc.yml +0 -11
- package/dist/ai-context/internal/examples/v2/calendly/README.md +0 -15
- package/dist/ai-context/internal/examples/v2/calendly/_ai-summary.md +0 -25
- package/dist/ai-context/internal/examples/v2/calendly/app/browser/README.md +0 -1
- package/dist/ai-context/internal/examples/v2/calendly/app/browser/package.json +0 -33
- package/dist/ai-context/internal/examples/v2/calendly/app/browser/src/browser.ts +0 -12
- package/dist/ai-context/internal/examples/v2/calendly/app/browser/src/plugin/index.ts +0 -164
- package/dist/ai-context/internal/examples/v2/calendly/app/browser/tsconfig.json +0 -34
- package/dist/ai-context/internal/examples/v2/calendly/app/lib/package.json +0 -25
- package/dist/ai-context/internal/examples/v2/calendly/app/lib/src/index.ts +0 -3
- package/dist/ai-context/internal/examples/v2/calendly/app/lib/src/models/index.ts +0 -30
- package/dist/ai-context/internal/examples/v2/calendly/app/lib/tsconfig.json +0 -22
- package/dist/ai-context/internal/examples/v2/calendly/app/server/.eslintrc.cjs +0 -11
- package/dist/ai-context/internal/examples/v2/calendly/app/server/.nvmrc +0 -1
- package/dist/ai-context/internal/examples/v2/calendly/app/server/README.md +0 -105
- package/dist/ai-context/internal/examples/v2/calendly/app/server/host.json +0 -25
- package/dist/ai-context/internal/examples/v2/calendly/app/server/package.json +0 -48
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/functions/calendlyAuth.ts +0 -83
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/functions/calendlyWebhook.ts +0 -97
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/functions/enrichSeekaProfile.ts +0 -117
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/functions/seekaAppWebhook.ts +0 -158
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/functions/ui.ts +0 -178
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/lib/api/auth.ts +0 -91
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/lib/api/routes/deleteCalendlyAuth.ts +0 -15
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/lib/api/routes/getCalendlyAuth.ts +0 -12
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/lib/api/routes/setTrackingSettings.ts +0 -26
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/lib/browser/index.ts +0 -53
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/lib/calendly/attendee.ts +0 -198
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/lib/calendly/auth.ts +0 -103
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/lib/calendly/webhooks.ts +0 -189
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/lib/logging/index.ts +0 -81
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/lib/state/redis/index.ts +0 -102
- package/dist/ai-context/internal/examples/v2/calendly/app/server/src/lib/state/seeka/installations.ts +0 -100
- package/dist/ai-context/internal/examples/v2/calendly/app/server/tsconfig.json +0 -21
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/README.md +0 -40
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/index.html +0 -22
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/package.json +0 -74
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/public/favicon.ico +0 -0
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/public/index.html +0 -21
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/public/manifest.json +0 -15
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/App.tsx +0 -74
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/assets/calendly-icon.svg +0 -25
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/components/calendly/login/index.tsx +0 -129
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/components/setup/steps/auth/index.tsx +0 -46
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/components/setup/steps/index.tsx +0 -36
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/components/setup/steps/success/index.tsx +0 -18
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/components/setup/steps/tracking/index.tsx +0 -128
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/index.tsx +0 -45
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/react-app-env.d.ts +0 -1
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/routes/home/index.tsx +0 -11
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/api/redux/index.tsx +0 -16
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/shared/auth/tokenProvider/index.tsx +0 -54
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/shared/auth/useTokens/index.ts +0 -8
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/activities/index.tsx +0 -188
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/activityNameSelect/index.tsx +0 -156
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/activitySourceActivityNameFilterSelect/index.tsx +0 -247
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/activitySourceFilterSelect/index.tsx +0 -132
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/activitySourceSelect/index.tsx +0 -74
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/event-pipeline/filter-row/index.tsx +0 -263
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/shared/form/provider/index.tsx +0 -16
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/shared/loading-spinner/index.tsx +0 -9
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/utils/index.ts +0 -11
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/wizard/heading/index.tsx +0 -33
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/wizard/step/actions/index.tsx +0 -12
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/wizard/step/content/index.tsx +0 -24
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/seeka-labs-app-sdk-ui/wizard/step/index.tsx +0 -16
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/src/vite-env.d.ts +0 -12
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/tsconfig.json +0 -35
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/tsconfig.node.json +0 -10
- package/dist/ai-context/internal/examples/v2/calendly/app/ui/vite.config.mts +0 -44
- package/dist/ai-context/internal/examples/v2/calendly/package.json +0 -29
- package/dist/ai-context/internal/examples/v2/calendly/tsconfig.json +0 -27
- package/dist/ai-context/internal/examples/v2/clarity/.yarnrc.yml +0 -8
- package/dist/ai-context/internal/examples/v2/clarity/README.md +0 -7
- package/dist/ai-context/internal/examples/v2/clarity/_ai-summary.md +0 -26
- package/dist/ai-context/internal/examples/v2/clarity/app/browser/README.md +0 -1
- package/dist/ai-context/internal/examples/v2/clarity/app/browser/jest.config.js +0 -11
- package/dist/ai-context/internal/examples/v2/clarity/app/browser/package.json +0 -39
- package/dist/ai-context/internal/examples/v2/clarity/app/browser/src/browser.ts +0 -12
- package/dist/ai-context/internal/examples/v2/clarity/app/browser/src/plugin/index.test.ts +0 -6
- package/dist/ai-context/internal/examples/v2/clarity/app/browser/src/plugin/index.ts +0 -119
- package/dist/ai-context/internal/examples/v2/clarity/app/browser/tsconfig.json +0 -35
- package/dist/ai-context/internal/examples/v2/clarity/app/server/.eslintrc.cjs +0 -11
- package/dist/ai-context/internal/examples/v2/clarity/app/server/README.md +0 -105
- package/dist/ai-context/internal/examples/v2/clarity/app/server/host.json +0 -20
- package/dist/ai-context/internal/examples/v2/clarity/app/server/package.json +0 -48
- package/dist/ai-context/internal/examples/v2/clarity/app/server/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v2/clarity/app/server/src/functions/seekaAppWebhook.ts +0 -163
- package/dist/ai-context/internal/examples/v2/clarity/app/server/src/lib/browser/index.ts +0 -54
- package/dist/ai-context/internal/examples/v2/clarity/app/server/src/lib/logging/index.ts +0 -77
- package/dist/ai-context/internal/examples/v2/clarity/app/server/src/lib/models/index.ts +0 -6
- package/dist/ai-context/internal/examples/v2/clarity/app/server/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v2/clarity/app/server/src/lib/state/redis/index.ts +0 -96
- package/dist/ai-context/internal/examples/v2/clarity/app/server/src/lib/state/seeka/installations.ts +0 -64
- package/dist/ai-context/internal/examples/v2/clarity/app/server/tsconfig.json +0 -18
- package/dist/ai-context/internal/examples/v2/clarity/package.json +0 -19
- package/dist/ai-context/internal/examples/v2/clarity/tsconfig.json +0 -25
- package/dist/ai-context/internal/examples/v2/google-bigquery/.yarnrc.yml +0 -3
- package/dist/ai-context/internal/examples/v2/google-bigquery/_ai-summary.md +0 -39
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/CHANGELOG.md +0 -139
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/LICENSE +0 -21
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/README.md +0 -70
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/bin/jsbq +0 -101
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/package.json +0 -66
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/src/converter.js +0 -282
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/src/errors.js +0 -21
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/src/gbq.js +0 -31
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/src/log.js +0 -37
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/src/utils.js +0 -17
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/tablediff/README.md +0 -6
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/tablediff/create_tables.sh +0 -13
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/tablediff/tablediff.sh +0 -13
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/continueOnError/additionalProperties/expected.json +0 -23
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/continueOnError/additionalProperties/input.json +0 -21
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/continueOnErrorAndPreventAdditionalObjectProperties/additionalProperties/expected.json +0 -5
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/continueOnErrorAndPreventAdditionalObjectProperties/additionalProperties/input.json +0 -21
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/converter.js +0 -112
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/preventAdditionalObjectProperties/additionalPropertiesFalse/expected.json +0 -16
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/preventAdditionalObjectProperties/additionalPropertiesFalse/input.json +0 -14
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/preventAdditionalObjectProperties/unevaluatedPropertiesFalse/expected.json +0 -16
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/preventAdditionalObjectProperties/unevaluatedPropertiesFalse/input.json +0 -14
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/allOf/expected.json +0 -23
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/allOf/input.json +0 -30
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/allOf_nested/expected.json +0 -35
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/allOf_nested/input.json +0 -47
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/anyOfMultipleTypes/expected.json +0 -11
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/anyOfMultipleTypes/input.json +0 -19
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/complex/expected.json +0 -23
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/complex/input.json +0 -20
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/date/expected.json +0 -11
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/date/input.json +0 -12
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/fieldDescription/expected.json +0 -12
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/fieldDescription/input.json +0 -12
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/json/expected.json +0 -12
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/json/input.json +0 -12
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/nestedDescription/expected.json +0 -12
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/nestedDescription/input.json +0 -23
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/nestedOneOf/expected.json +0 -11
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/nestedOneOf/input.json +0 -26
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/nestedRepeated/expected.json +0 -18
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/nestedRepeated/input.json +0 -20
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/nullable/expected.json +0 -16
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/nullable/input.json +0 -15
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/numeric/expected.json +0 -11
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/numeric/input.json +0 -11
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/objectDescription/expected.json +0 -19
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/objectDescription/input.json +0 -18
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/oneOfWithDateFormat/expected.json +0 -28
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/oneOfWithDateFormat/input.json +0 -35
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/oneOfWithDuplicateDescriptions/expected.json +0 -29
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/oneOfWithDuplicateDescriptions/input.json +0 -35
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/oneOfWithNull/expected.json +0 -11
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/oneOfWithNull/input.json +0 -17
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/oneof/expected.json +0 -31
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/oneof/input.json +0 -65
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/repeated/expected.json +0 -11
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/repeated/input.json +0 -14
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/simple/expected.json +0 -16
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/simple/input.json +0 -14
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/time/expected.json +0 -11
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/time/input.json +0 -12
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/timestamp/expected.json +0 -11
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/timestamp/input.json +0 -12
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/typeArray/expected.json +0 -16
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/integration/samples/typeArray/input.json +0 -15
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/unit/converter.js +0 -216
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/jsonschema-bigquery-custom/test/unit/utils.js +0 -20
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/.eslintrc.cjs +0 -19
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/.nvmrc +0 -1
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/README.md +0 -225
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/host.json +0 -30
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/jest.config.js +0 -5
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/package.json +0 -58
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/functions/pushRowsToBigQueryTable.ts +0 -149
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/functions/seekaAppWebhook.ts +0 -219
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/google-big-query/index.ts +0 -162
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/google-big-query/migrations/activities/001_addtimestamp.sql +0 -14
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/google-big-query/migrations/activities/002_addrowversion.sql +0 -14
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/google-big-query/migrations/index.ts +0 -280
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/google-big-query/migrations/state.ts +0 -98
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/google-big-query/models/index.ts +0 -15
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/google-big-query/schema/activities/index.ts +0 -86
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/google-big-query/schema/index.test.ts +0 -208
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/google-big-query/schema/index.ts +0 -95
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/google-big-query/utils.ts +0 -5
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/jobs/index.ts +0 -92
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/logging/index.ts +0 -108
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/model.ts +0 -6
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/state/redis/index.ts +0 -86
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/src/lib/state/seeka/installations.ts +0 -70
- package/dist/ai-context/internal/examples/v2/google-bigquery/app/server/tsconfig.json +0 -18
- package/dist/ai-context/internal/examples/v2/google-bigquery/package.json +0 -28
- package/dist/ai-context/internal/examples/v2/google-bigquery/tsconfig.json +0 -24
- package/dist/ai-context/internal/examples/v2/klaviyo-events/.yarnrc.yml +0 -3
- package/dist/ai-context/internal/examples/v2/klaviyo-events/README.md +0 -1
- package/dist/ai-context/internal/examples/v2/klaviyo-events/_ai-summary.md +0 -37
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/.eslintrc.cjs +0 -11
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/.nvmrc +0 -1
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/README.md +0 -191
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/host.json +0 -25
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/package.json +0 -48
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/src/functions/handleSeekaActivityQueueHandler.ts +0 -45
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/src/functions/seekaAppWebhook.ts +0 -199
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/src/lib/jobs/index.ts +0 -72
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/src/lib/klaviyo/index.ts +0 -15
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/src/lib/klaviyo/utils/index.ts +0 -152
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/src/lib/logging/index.ts +0 -106
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/src/lib/state/redis/index.ts +0 -102
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/src/lib/state/seeka/installations.ts +0 -64
- package/dist/ai-context/internal/examples/v2/klaviyo-events/app/server/tsconfig.json +0 -21
- package/dist/ai-context/internal/examples/v2/klaviyo-events/package.json +0 -25
- package/dist/ai-context/internal/examples/v2/klaviyo-events/tsconfig.json +0 -24
- package/dist/ai-context/internal/examples/v2/navitas/.yarnrc.yml +0 -8
- package/dist/ai-context/internal/examples/v2/navitas/README.md +0 -31
- package/dist/ai-context/internal/examples/v2/navitas/_ai-summary.md +0 -25
- package/dist/ai-context/internal/examples/v2/navitas/app/browser/README.md +0 -1
- package/dist/ai-context/internal/examples/v2/navitas/app/browser/package.json +0 -33
- package/dist/ai-context/internal/examples/v2/navitas/app/browser/src/browser.ts +0 -12
- package/dist/ai-context/internal/examples/v2/navitas/app/browser/src/plugin/index.ts +0 -172
- package/dist/ai-context/internal/examples/v2/navitas/app/browser/tsconfig.json +0 -34
- package/dist/ai-context/internal/examples/v2/navitas/app/server/.eslintrc.cjs +0 -11
- package/dist/ai-context/internal/examples/v2/navitas/app/server/.nvmrc +0 -1
- package/dist/ai-context/internal/examples/v2/navitas/app/server/README.md +0 -104
- package/dist/ai-context/internal/examples/v2/navitas/app/server/host.json +0 -25
- package/dist/ai-context/internal/examples/v2/navitas/app/server/package.json +0 -50
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/functions/salesforceWebhook.ts +0 -156
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/functions/salesforceWebhookQueueHandler.ts +0 -43
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/functions/seekaAppWebhook.ts +0 -158
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/functions/stateChangeQueueHandler.ts +0 -42
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/browser/index.ts +0 -51
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/jobs/index.ts +0 -73
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/logging/index.ts +0 -108
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/models/index.ts +0 -4
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/salesforce/enrolment/forms/index.ts +0 -180
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/salesforce/index.ts +0 -47
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/salesforce/journeys/index.ts +0 -192
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/salesforce/leads/index.ts +0 -177
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/salesforce/models/index.ts +0 -179
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/salesforce/opportunities/index.ts +0 -193
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/state/navitas/journey.ts +0 -165
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/state/navitas/state/models.ts +0 -43
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/state/navitas/state/state-change.ts +0 -53
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/state/redis/index.ts +0 -102
- package/dist/ai-context/internal/examples/v2/navitas/app/server/src/lib/state/seeka/installations.ts +0 -66
- package/dist/ai-context/internal/examples/v2/navitas/app/server/tsconfig.json +0 -21
- package/dist/ai-context/internal/examples/v2/navitas/bigquery-views/acap/seekacd-stream-activity-brand-pageview.sql +0 -93
- package/dist/ai-context/internal/examples/v2/navitas/bigquery-views/sae/seekacd-stream-activity-brand-pageview.sql +0 -93
- package/dist/ai-context/internal/examples/v2/navitas/lib/google-bigquery/.nvmrc +0 -1
- package/dist/ai-context/internal/examples/v2/navitas/lib/google-bigquery/package.json +0 -48
- package/dist/ai-context/internal/examples/v2/navitas/package.json +0 -23
- package/dist/ai-context/internal/examples/v2/navitas/tsconfig.json +0 -26
- package/dist/ai-context/internal/examples/v2/trustarc/.yarnrc.yml +0 -8
- package/dist/ai-context/internal/examples/v2/trustarc/README.md +0 -7
- package/dist/ai-context/internal/examples/v2/trustarc/_ai-summary.md +0 -23
- package/dist/ai-context/internal/examples/v2/trustarc/app/browser/README.md +0 -1
- package/dist/ai-context/internal/examples/v2/trustarc/app/browser/jest.config.js +0 -11
- package/dist/ai-context/internal/examples/v2/trustarc/app/browser/package.json +0 -39
- package/dist/ai-context/internal/examples/v2/trustarc/app/browser/src/browser.ts +0 -12
- package/dist/ai-context/internal/examples/v2/trustarc/app/browser/src/plugin/index.test.ts +0 -6
- package/dist/ai-context/internal/examples/v2/trustarc/app/browser/src/plugin/index.ts +0 -236
- package/dist/ai-context/internal/examples/v2/trustarc/app/browser/tsconfig.json +0 -35
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/.eslintrc.cjs +0 -11
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/README.md +0 -105
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/host.json +0 -20
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/package.json +0 -51
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/src/functions/seekaAppWebhook.ts +0 -232
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/src/lib/browser/index.ts +0 -54
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/src/lib/jobs/index.ts +0 -96
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/src/lib/logging/index.ts +0 -93
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/src/lib/models/index.ts +0 -13
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/src/lib/state/redis/index.ts +0 -96
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/src/lib/state/seeka/installations.ts +0 -65
- package/dist/ai-context/internal/examples/v2/trustarc/app/server-azure-function/tsconfig.json +0 -18
- package/dist/ai-context/internal/examples/v2/trustarc/package.json +0 -22
- package/dist/ai-context/internal/examples/v2/trustarc/tsconfig.json +0 -25
- package/dist/ai-context/internal/examples/v2/typeform/.yarnrc.yml +0 -11
- package/dist/ai-context/internal/examples/v2/typeform/README.md +0 -15
- package/dist/ai-context/internal/examples/v2/typeform/_ai-summary.md +0 -31
- package/dist/ai-context/internal/examples/v2/typeform/app/browser/README.md +0 -1
- package/dist/ai-context/internal/examples/v2/typeform/app/browser/package.json +0 -34
- package/dist/ai-context/internal/examples/v2/typeform/app/browser/src/browser.ts +0 -12
- package/dist/ai-context/internal/examples/v2/typeform/app/browser/src/plugin/index.ts +0 -197
- package/dist/ai-context/internal/examples/v2/typeform/app/browser/tsconfig.json +0 -34
- package/dist/ai-context/internal/examples/v2/typeform/app/lib/package.json +0 -32
- package/dist/ai-context/internal/examples/v2/typeform/app/lib/src/index.ts +0 -2
- package/dist/ai-context/internal/examples/v2/typeform/app/lib/src/models/index.ts +0 -23
- package/dist/ai-context/internal/examples/v2/typeform/app/lib/tsconfig.json +0 -22
- package/dist/ai-context/internal/examples/v2/typeform/app/server/.eslintrc.cjs +0 -19
- package/dist/ai-context/internal/examples/v2/typeform/app/server/.nvmrc +0 -1
- package/dist/ai-context/internal/examples/v2/typeform/app/server/README.md +0 -105
- package/dist/ai-context/internal/examples/v2/typeform/app/server/host.json +0 -25
- package/dist/ai-context/internal/examples/v2/typeform/app/server/package.json +0 -50
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/functions/seekaAppWebhook.ts +0 -278
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/functions/typeformAuthCallback.ts +0 -87
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/functions/typeformAuthRedirect.ts +0 -78
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/functions/typeformWebhook.ts +0 -109
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/functions/ui.ts +0 -182
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/index.test.ts +0 -7
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/lib/api/auth.ts +0 -91
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/lib/api/routes/disconnectTypeform.ts +0 -18
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/lib/api/routes/getTypeformAuthInfo.ts +0 -12
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/lib/api/routes/setFormBindings.ts +0 -43
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/lib/browser/index.ts +0 -52
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/lib/logging/index.ts +0 -89
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/lib/state/redis/index.ts +0 -102
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/lib/state/seeka/installations.ts +0 -64
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/lib/typeform/auth.ts +0 -108
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/lib/typeform/forms.ts +0 -259
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/lib/typeform/models.ts +0 -105
- package/dist/ai-context/internal/examples/v2/typeform/app/server/src/lib/typeform/webhooks.ts +0 -182
- package/dist/ai-context/internal/examples/v2/typeform/app/server/tsconfig.json +0 -18
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/README.md +0 -40
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/index.html +0 -22
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/package.json +0 -72
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/public/favicon.ico +0 -0
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/App.tsx +0 -79
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/components/setup/steps/auth/index.tsx +0 -36
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/components/setup/steps/complete/index.tsx +0 -22
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/components/setup/steps/form-binding/index.tsx +0 -215
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/components/setup/steps/form-binding/row/index.tsx +0 -104
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/components/setup/steps/index.tsx +0 -31
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/components/typeform/login/index.tsx +0 -140
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/index.tsx +0 -45
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/routes/home/index.tsx +0 -10
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/api/redux/index.tsx +0 -16
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/shared/auth/tokenProvider/index.tsx +0 -53
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/shared/auth/useTokens/index.ts +0 -8
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/activityNameSelect/index.tsx +0 -237
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/activitySourceSelect/index.tsx +0 -135
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/shared/form/provider/index.tsx +0 -16
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/shared/form/utils/index.ts +0 -133
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/shared/form/validation/activityPipelineActivityFilter/index.ts +0 -85
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/shared/loading-spinner/index.tsx +0 -13
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/shared/theme/index.ts +0 -24
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/utils/index.ts +0 -11
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/wizard/heading/index.tsx +0 -33
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/wizard/step/actions/index.tsx +0 -12
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/wizard/step/content/index.tsx +0 -24
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/seeka-labs-app-sdk-ui/wizard/step/index.tsx +0 -16
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/src/vite-env.d.ts +0 -12
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/tsconfig.json +0 -35
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/tsconfig.node.json +0 -10
- package/dist/ai-context/internal/examples/v2/typeform/app/ui/vite.config.mts +0 -46
- package/dist/ai-context/internal/examples/v2/typeform/package.json +0 -29
- package/dist/ai-context/internal/examples/v2/typeform/tsconfig.json +0 -37
- package/dist/ai-context/internal/examples/v2/webhook/.yarnrc.yml +0 -11
- package/dist/ai-context/internal/examples/v2/webhook/README.md +0 -14
- package/dist/ai-context/internal/examples/v2/webhook/_ai-summary.md +0 -36
- package/dist/ai-context/internal/examples/v2/webhook/app/server/.eslintrc.cjs +0 -11
- package/dist/ai-context/internal/examples/v2/webhook/app/server/.nvmrc +0 -1
- package/dist/ai-context/internal/examples/v2/webhook/app/server/README.md +0 -104
- package/dist/ai-context/internal/examples/v2/webhook/app/server/host.json +0 -25
- package/dist/ai-context/internal/examples/v2/webhook/app/server/package.json +0 -50
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/functions/inboundWebhook.ts +0 -133
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/functions/inboundWebhookQueueHandler.ts +0 -45
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/functions/seekaAppWebhook.ts +0 -153
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/functions/ui.ts +0 -176
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/lib/api/auth.ts +0 -91
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/lib/api/routes/setSampleState.ts +0 -25
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/lib/jobs/index.ts +0 -72
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/lib/logging/index.ts +0 -106
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/lib/state/redis/index.ts +0 -102
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/lib/state/seeka/installations.ts +0 -85
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/lib/utils/object.ts +0 -7
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/lib/webhooks/index.ts +0 -171
- package/dist/ai-context/internal/examples/v2/webhook/app/server/src/lib/webhooks/models/index.ts +0 -9
- package/dist/ai-context/internal/examples/v2/webhook/app/server/tsconfig.json +0 -21
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/README.md +0 -40
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/index.html +0 -22
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/package.json +0 -67
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/public/favicon.ico +0 -0
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/public/index.html +0 -21
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/public/manifest.json +0 -15
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/src/App.tsx +0 -72
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/src/index.tsx +0 -45
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/src/routes/home/index.tsx +0 -26
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/src/seeka-labs-app-sdk-ui/shared/auth/tokenProvider/index.tsx +0 -53
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/src/seeka-labs-app-sdk-ui/shared/auth/useTokens/index.ts +0 -8
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/src/seeka-labs-app-sdk-ui/shared/loading-spinner/index.tsx +0 -13
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/src/seeka-labs-app-sdk-ui/shared/theme/index.ts +0 -24
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/src/seeka-labs-app-sdk-ui/utils/index.ts +0 -11
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/src/seeka-labs-app-sdk-ui/wizard/heading/index.tsx +0 -33
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/src/seeka-labs-app-sdk-ui/wizard/step/actions/index.tsx +0 -12
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/src/seeka-labs-app-sdk-ui/wizard/step/content/index.tsx +0 -24
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/src/seeka-labs-app-sdk-ui/wizard/step/index.tsx +0 -16
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/src/vite-env.d.ts +0 -12
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/tsconfig.json +0 -45
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/tsconfig.node.json +0 -12
- package/dist/ai-context/internal/examples/v2/webhook/app/ui/vite.config.mts +0 -46
- package/dist/ai-context/internal/examples/v2/webhook/package.json +0 -29
- package/dist/ai-context/internal/examples/v2/webhook/tsconfig.json +0 -25
- package/dist/ai-context/internal/examples/v2/yeastar/.yarnrc.yml +0 -11
- package/dist/ai-context/internal/examples/v2/yeastar/README.md +0 -14
- package/dist/ai-context/internal/examples/v2/yeastar/_ai-summary.md +0 -24
- package/dist/ai-context/internal/examples/v2/yeastar/app/lib/package.json +0 -25
- package/dist/ai-context/internal/examples/v2/yeastar/app/lib/src/index.ts +0 -3
- package/dist/ai-context/internal/examples/v2/yeastar/app/lib/src/models/index.ts +0 -18
- package/dist/ai-context/internal/examples/v2/yeastar/app/lib/tsconfig.json +0 -22
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/.eslintrc.cjs +0 -11
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/.nvmrc +0 -1
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/README.md +0 -105
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/host.json +0 -25
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/package.json +0 -55
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/definitions.d.ts +0 -4
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/functions/healthCheck.ts +0 -14
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/functions/seekaAppWebhook.ts +0 -221
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/functions/ui.ts +0 -174
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/functions/yeastarCallJournal.ts +0 -83
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/functions/yeastarContactCreate.ts +0 -86
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/functions/yeastarContactPopup.ts +0 -84
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/functions/yeastarContactsSearch.ts +0 -95
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/functions/yeastarGetUsers.ts +0 -120
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/lib/api/auth.ts +0 -91
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/lib/api/routes/setTrackingSettings.ts +0 -26
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/lib/api/routes/yeastar/config/YeastarTemplate.xml +0 -138
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/lib/api/routes/yeastar/config/getYeastarCrmConfig.ts +0 -30
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/lib/api/routes/yeastar/users/setYeastarUsers.ts +0 -26
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/lib/jobs/index.ts +0 -72
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/lib/logging/index.ts +0 -98
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/lib/services/index.ts +0 -41
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/lib/state/redis/index.ts +0 -102
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/lib/state/seeka/installations.ts +0 -67
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/src/lib/yeastar/calls.ts +0 -120
- package/dist/ai-context/internal/examples/v2/yeastar/app/server/tsconfig.json +0 -21
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/README.md +0 -40
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/index.html +0 -22
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/package.json +0 -74
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/public/favicon.ico +0 -0
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/public/index.html +0 -21
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/public/manifest.json +0 -15
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/App.tsx +0 -73
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/assets/yeastar-icon.svg +0 -1
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/components/setup/steps/account/index.tsx +0 -39
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/components/setup/steps/index.tsx +0 -31
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/components/setup/steps/tracking/index.tsx +0 -125
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/components/setup/steps/user-mapping/index.tsx +0 -147
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/components/setup/steps/user-mapping/row/index.tsx +0 -69
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/index.tsx +0 -45
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/react-app-env.d.ts +0 -1
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/routes/home/index.tsx +0 -11
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/api/redux/index.tsx +0 -16
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/shared/auth/tokenProvider/index.tsx +0 -53
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/shared/auth/useTokens/index.ts +0 -8
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/activities/index.tsx +0 -188
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/activityNameSelect/index.tsx +0 -156
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/activitySourceActivityNameFilterSelect/index.tsx +0 -247
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/activitySourceFilterSelect/index.tsx +0 -132
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/activitySourceSelect/index.tsx +0 -74
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/shared/form/fields/event-pipeline/filter-row/index.tsx +0 -263
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/shared/form/provider/index.tsx +0 -16
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/shared/loading-spinner/index.tsx +0 -9
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/utils/index.ts +0 -11
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/wizard/heading/index.tsx +0 -33
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/wizard/step/actions/index.tsx +0 -12
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/wizard/step/content/index.tsx +0 -24
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/seeka-labs-app-sdk-ui/wizard/step/index.tsx +0 -16
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/src/vite-env.d.ts +0 -12
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/tsconfig.json +0 -35
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/tsconfig.node.json +0 -10
- package/dist/ai-context/internal/examples/v2/yeastar/app/ui/vite.config.mts +0 -46
- package/dist/ai-context/internal/examples/v2/yeastar/developers/YeastarTemplate.xml +0 -138
- package/dist/ai-context/internal/examples/v2/yeastar/package.json +0 -29
- package/dist/ai-context/internal/examples/v2/yeastar/tsconfig.json +0 -26
- package/dist/ai-context/internal/examples/v3/google-ads/.nvmrc +0 -1
- package/dist/ai-context/internal/examples/v3/google-ads/.yarnrc.yml +0 -7
- package/dist/ai-context/internal/examples/v3/google-ads/README.md +0 -60
- package/dist/ai-context/internal/examples/v3/google-ads/_ai-summary.md +0 -35
- package/dist/ai-context/internal/examples/v3/google-ads/app/.eslintrc.cjs +0 -13
- package/dist/ai-context/internal/examples/v3/google-ads/app/browser/README.md +0 -1
- package/dist/ai-context/internal/examples/v3/google-ads/app/browser/package.json +0 -37
- package/dist/ai-context/internal/examples/v3/google-ads/app/browser/src/browser.ts +0 -12
- package/dist/ai-context/internal/examples/v3/google-ads/app/browser/src/plugin/index.ts +0 -273
- package/dist/ai-context/internal/examples/v3/google-ads/app/browser/tsconfig.json +0 -34
- package/dist/ai-context/internal/examples/v3/google-ads/app/lib/package.json +0 -44
- package/dist/ai-context/internal/examples/v3/google-ads/app/lib/src/index.ts +0 -5
- package/dist/ai-context/internal/examples/v3/google-ads/app/lib/src/models/index.ts +0 -113
- package/dist/ai-context/internal/examples/v3/google-ads/app/lib/src/utils/index.ts +0 -66
- package/dist/ai-context/internal/examples/v3/google-ads/app/lib/src/validation/index.ts +0 -10
- package/dist/ai-context/internal/examples/v3/google-ads/app/lib/tsconfig.json +0 -22
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/.eslintrc.cjs +0 -4
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/README.md +0 -105
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/host.json +0 -31
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/package.json +0 -72
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/api/router.ts +0 -26
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/api/routes/disconnectGoogle.ts +0 -21
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/api/routes/getAccessibleCustomers.ts +0 -16
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/api/routes/getGoogleAuthInfo.ts +0 -23
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/api/routes/getGoogleConversionActions.ts +0 -32
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/api/routes/getGoogleCustomerInfo.ts +0 -32
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/api/routes/setConversionMappings.ts +0 -46
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/api/routes/setGoogleCustomerId.ts +0 -39
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/api/routes/setTrackingSettings.ts +0 -41
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/jobs/index.ts +0 -62
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/logging/index.ts +0 -4
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/models/index.ts +0 -12
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/services/activites.ts +0 -8
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/services/google/ads.ts +0 -47
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/services/google/auth.ts +0 -126
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/services/google/conversions/actions.ts +0 -102
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/services/google/conversions/mediate.ts +0 -177
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/services/google/conversions/models.ts +0 -10
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/services/google/conversions/services/adjustment.ts +0 -101
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/services/google/conversions/services/call.ts +0 -86
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/services/google/conversions/services/click.ts +0 -109
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/services/google/conversions/utils.ts +0 -263
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/services/google/customers.ts +0 -301
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/app/services/google/queues/models.ts +0 -16
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/functions/googleAuthCallback.ts +0 -133
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/functions/googleAuthRedirect.ts +0 -69
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/functions/healthCheck.ts +0 -20
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/functions/legacyMediateSeekaActivityQueueHandler.ts +0 -46
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/functions/seekaAppWebhook.ts +0 -223
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/functions/trackGoogleAdsConversionQueueHandler.ts +0 -69
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/src/functions/ui.ts +0 -53
- package/dist/ai-context/internal/examples/v3/google-ads/app/server/tsconfig.json +0 -24
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/README.md +0 -40
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/index.html +0 -21
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/package.json +0 -72
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/public/favicon.ico +0 -0
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/src/App.tsx +0 -72
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/src/assets/app-icon.svg +0 -5
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/src/components/customer/index.tsx +0 -185
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/src/components/google/login/index.tsx +0 -123
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/src/components/setup/steps/account/index.tsx +0 -222
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/src/components/setup/steps/auth/index.tsx +0 -42
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/src/components/setup/steps/complete/index.tsx +0 -37
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/src/components/setup/steps/conversion-mapping/index.tsx +0 -281
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/src/components/setup/steps/conversion-mapping/row/index.tsx +0 -253
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/src/components/setup/steps/index.tsx +0 -70
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/src/index.tsx +0 -45
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/src/routes/home/index.tsx +0 -30
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/src/vite-env.d.ts +0 -13
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/tsconfig.json +0 -35
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/tsconfig.node.json +0 -10
- package/dist/ai-context/internal/examples/v3/google-ads/app/ui/vite.config.mts +0 -48
- package/dist/ai-context/internal/examples/v3/google-ads/package.json +0 -45
- package/dist/ai-context/internal/examples/v3/google-ads/tsconfig.json +0 -24
- package/dist/init-template/app/ui/.env +0 -7
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
import { ActivityPayloadBase, TrackingActivityNames } from "@seeka-labs/sdk-apps-server";
|
|
2
|
-
import { ActiveCampaignPipelineLookupInfo, DealMappingDefinitionStage, SeekaAppInstallState, createOrUpdateInstallation } from "../../state/seeka/installations";
|
|
3
|
-
import { DealMappingDefinition } from "../..//state/seeka/installations";
|
|
4
|
-
import { Logger } from "winston";
|
|
5
|
-
import { get } from "lodash";
|
|
6
|
-
import { makeActiveCampaignApiRequest } from "../api";
|
|
7
|
-
|
|
8
|
-
export const getMatchingPipelineMapper = (installation: SeekaAppInstallState, activity: ActivityPayloadBase, logger: Logger): { mapper: DealMappingDefinition, activeCampaignPipeline: ActiveCampaignPipelineLookupInfo, stage: DealMappingDefinitionStage } | null => {
|
|
9
|
-
if (!installation.installationSettings.enableDealPipelines) return null;
|
|
10
|
-
|
|
11
|
-
const mappers = installation.installationSettings.dealMappers || [];
|
|
12
|
-
if (!mappers) return null;
|
|
13
|
-
|
|
14
|
-
const eventName = activity.activityName === TrackingActivityNames.Custom ? activity.activityNameCustom : activity.activityName.toString();
|
|
15
|
-
const eventNameUpper = eventName.toUpperCase();
|
|
16
|
-
for (const mapper of mappers) {
|
|
17
|
-
if (mapper.dealTriggerEventName && mapper.dealTriggerEventName.toUpperCase() === eventNameUpper) {
|
|
18
|
-
logger.verbose('Found matching pipeline mapper', { mapper, activityName: eventName });
|
|
19
|
-
|
|
20
|
-
const stageNameLookupPropValue = getPropFromActivity(activity, mapper.dealStageNameParam);
|
|
21
|
-
if (!stageNameLookupPropValue) {
|
|
22
|
-
logger.verbose('No stage name could be located from activity', { activity, mapper, dealStageNameParam: mapper.dealStageNameParam });
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
logger.verbose('Found stage name lookup prop value', { stageNameLookupPropValue });
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// Match to stage
|
|
30
|
-
const pipelineInfo = installation.installationState.dealMapperNamesToActiveCampaignPipelineInfo[mapper.pipelineName];
|
|
31
|
-
if (pipelineInfo) {
|
|
32
|
-
logger.debug('Found pipeline info for mapper', { mapper, pipelineInfo });
|
|
33
|
-
return {
|
|
34
|
-
mapper: mapper,
|
|
35
|
-
activeCampaignPipeline: pipelineInfo,
|
|
36
|
-
stage: mapper.dealStages.find(s => s.name === stageNameLookupPropValue)
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const getPropFromActivity = (activity: ActivityPayloadBase, propName: string): string | undefined => {
|
|
46
|
-
if (propName.startsWith('custom')) {
|
|
47
|
-
return activity.properties[propName.replace('custom.', '')] || undefined;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return get(activity, propName) || undefined;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const createPipelineInActiveCampaign = async (installation: SeekaAppInstallState, pipeline: ActiveCampaignPipeline, logger: Logger): Promise<ActiveCampaignPipelineWithId> => {
|
|
54
|
-
// https://developers.activecampaign.com/reference/create-a-pipeline
|
|
55
|
-
const response = await makeActiveCampaignApiRequest<ActiveCampaignCreatePipelineResponse>(`/api/3/dealGroups`, 'POST', {
|
|
56
|
-
dealGroup: pipeline
|
|
57
|
-
}, installation, logger);
|
|
58
|
-
|
|
59
|
-
return response.dealGroup;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const listPipelinesInActiveCampaign = async (installation: SeekaAppInstallState, logger: Logger): Promise<ActiveCampaignListPipelinesResponse> => {
|
|
63
|
-
// https://developers.activecampaign.com/reference/list-all-pipelines
|
|
64
|
-
// TODO: Support retrieving more than 100 pipelines
|
|
65
|
-
const response = await makeActiveCampaignApiRequest<ActiveCampaignListPipelinesResponse>(`/api/3/dealGroups?limit=100`, 'GET', undefined, installation, logger);
|
|
66
|
-
|
|
67
|
-
return response;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
const updatePipelineStageInActiveCampaign = async (installation: SeekaAppInstallState, pipelineId: string, stageId: string, order: number, logger: Logger): Promise<void> => {
|
|
71
|
-
await makeActiveCampaignApiRequest<unknown>(`/api/3/dealStages/${stageId}`, 'PUT', {
|
|
72
|
-
dealStage: {
|
|
73
|
-
// "cardRegion1": "title",
|
|
74
|
-
// "cardRegion2": "next-action",
|
|
75
|
-
// "cardRegion3": "show-avatar",
|
|
76
|
-
// "cardRegion4": "contact-fullname-orgname",
|
|
77
|
-
// "cardRegion5": "value",
|
|
78
|
-
// "color": "32B0FC",
|
|
79
|
-
// "dealOrder": "next-action DESC",
|
|
80
|
-
"group": pipelineId,
|
|
81
|
-
"order": order,
|
|
82
|
-
// "width": 360
|
|
83
|
-
}
|
|
84
|
-
}, installation, logger);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
const createPipelineStageInActiveCampaign = async (installation: SeekaAppInstallState, pipelineId: string, stageName: string, order: number, logger: Logger): Promise<ActiveCampaignPipelineStage> => {
|
|
88
|
-
const response = await makeActiveCampaignApiRequest<{ dealStage: ActiveCampaignPipelineStage }>(`/api/3/dealStages`, 'POST', {
|
|
89
|
-
dealStage: {
|
|
90
|
-
// "cardRegion1": "title",
|
|
91
|
-
// "cardRegion2": "next-action",
|
|
92
|
-
// "cardRegion3": "show-avatar",
|
|
93
|
-
// "cardRegion4": "contact-fullname-orgname",
|
|
94
|
-
// "cardRegion5": "value",
|
|
95
|
-
// "color": "32B0FC",
|
|
96
|
-
// "dealOrder": "next-action DESC",
|
|
97
|
-
"group": pipelineId,
|
|
98
|
-
"order": order,
|
|
99
|
-
"title": stageName,
|
|
100
|
-
// "width": 360
|
|
101
|
-
}
|
|
102
|
-
}, installation, logger);
|
|
103
|
-
|
|
104
|
-
return { ...response.dealStage };
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// const tryGetPipelineFromActiveCampaign = async (installation: SeekaAppInstallState, pipelineName: string, logger: Logger) => {
|
|
108
|
-
|
|
109
|
-
// }
|
|
110
|
-
|
|
111
|
-
export const maintainPipelinesForInstallation = async (installation: SeekaAppInstallState, logger: Logger) => {
|
|
112
|
-
if (!installation.installationSettings.enableDealPipelines || !installation.installationSettings.dealMappers || installation.installationSettings.dealMappers.length === 0) return;
|
|
113
|
-
|
|
114
|
-
const pipelineMappings = installation.installationState.dealMapperNamesToActiveCampaignPipelineInfo;
|
|
115
|
-
|
|
116
|
-
const existingPipelines = await listPipelinesInActiveCampaign(installation, logger);
|
|
117
|
-
|
|
118
|
-
for (const mapper of installation.installationSettings.dealMappers) {
|
|
119
|
-
// Try find pipeline in ActiveCampaign
|
|
120
|
-
let activeCampaignPipeline: ActiveCampaignPipelineWithId | undefined = existingPipelines.dealGroups.find(p => p.title === mapper.pipelineName);
|
|
121
|
-
|
|
122
|
-
if (!activeCampaignPipeline) {
|
|
123
|
-
// Create pipeline in ActiveCampaign
|
|
124
|
-
activeCampaignPipeline = await createPipelineInActiveCampaign(installation, {
|
|
125
|
-
title: mapper.pipelineName,
|
|
126
|
-
autoassign: ActiveCampaignPipelineAutoassignType.RoundRobin,
|
|
127
|
-
currency: mapper.dealCurrencyCode?.toLowerCase()
|
|
128
|
-
}, logger);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
pipelineMappings[mapper.pipelineName] = {
|
|
132
|
-
pipelineId: activeCampaignPipeline.id,
|
|
133
|
-
stageNamesToStageIds: {}
|
|
134
|
-
};
|
|
135
|
-
|
|
136
|
-
// Maintain stages
|
|
137
|
-
const pipelineInfo = pipelineMappings[mapper.pipelineName];
|
|
138
|
-
if (!pipelineInfo) {
|
|
139
|
-
logger.error('Pipeline info not found for mapper', { mapper });
|
|
140
|
-
continue;
|
|
141
|
-
}
|
|
142
|
-
if (!mapper.dealStages || mapper.dealStages.length === 0) {
|
|
143
|
-
logger.error('No deal stages found on mapper', { mapper });
|
|
144
|
-
continue;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
mapper.dealStages.forEach(async (stage, index) => {
|
|
148
|
-
const stageName = stage.name;
|
|
149
|
-
const activeCampaignIndex = index + 1;
|
|
150
|
-
// Try find stage in ActiveCampaign
|
|
151
|
-
let pipelineStage: ActiveCampaignPipelineStage | undefined = existingPipelines.dealStages.find(s => s.title === stageName && s.group === pipelineInfo.pipelineId);
|
|
152
|
-
|
|
153
|
-
if (!pipelineStage) {
|
|
154
|
-
// Create stage in ActiveCampaign
|
|
155
|
-
logger.verbose('Stage doesnt exist in mapping, creating in ActiveCampaign', { stageName, pipelineName: mapper.pipelineName });
|
|
156
|
-
pipelineStage = await createPipelineStageInActiveCampaign(installation, pipelineInfo.pipelineId, stageName, activeCampaignIndex, logger);
|
|
157
|
-
}
|
|
158
|
-
else if (pipelineStage.order !== activeCampaignIndex.toString()) {
|
|
159
|
-
// Update state order
|
|
160
|
-
logger.verbose('Stage already exists in mapping and order is different, updating it in ActiveCampaign', { stageName, pipelineName: mapper.pipelineName });
|
|
161
|
-
await updatePipelineStageInActiveCampaign(installation, pipelineInfo.pipelineId, pipelineInfo.stageNamesToStageIds[stageName], activeCampaignIndex, logger)
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
pipelineInfo.stageNamesToStageIds[stageName] = pipelineStage.id;
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
installation.installationState.dealMapperNamesToActiveCampaignPipelineInfo = pipelineMappings;
|
|
169
|
-
|
|
170
|
-
await createOrUpdateInstallation(installation, logger);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
export interface ActiveCampaignPipeline {
|
|
174
|
-
allgroups?: number;
|
|
175
|
-
allusers?: number;
|
|
176
|
-
autoassign?: ActiveCampaignPipelineAutoassignType;
|
|
177
|
-
currency?: string;
|
|
178
|
-
title: string
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
export enum ActiveCampaignPipelineAutoassignType {
|
|
182
|
-
Disabled = 0,
|
|
183
|
-
RoundRobin = 1,
|
|
184
|
-
DealValue = 2,
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
export interface ActiveCampaignCreatePipelineResponse {
|
|
188
|
-
dealGroup: ActiveCampaignPipelineWithId
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
export interface ActiveCampaignListPipelinesResponse {
|
|
192
|
-
dealGroups: ActiveCampaignPipelineWithId[]
|
|
193
|
-
dealStages: ActiveCampaignPipelineStage[]
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
export interface ActiveCampaignPipelineWithId extends ActiveCampaignPipeline {
|
|
197
|
-
id: string
|
|
198
|
-
stages: string[]
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
export interface ActiveCampaignPipelineStage {
|
|
202
|
-
id: string
|
|
203
|
-
title: string
|
|
204
|
-
group: string
|
|
205
|
-
order: string
|
|
206
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import * as winston from 'winston';
|
|
2
|
-
|
|
3
|
-
import { InvocationContext } from '@azure/functions';
|
|
4
|
-
import { SeqTransport } from '@datalust/winston-seq';
|
|
5
|
-
|
|
6
|
-
import * as packageJson from '../../../package.json';
|
|
7
|
-
|
|
8
|
-
import type {
|
|
9
|
-
SeekaWebhookPayload, SeekaWebhookPayloadOfSeekaAppWebhookContext
|
|
10
|
-
} from '@seeka-labs/sdk-apps-server';
|
|
11
|
-
|
|
12
|
-
const loggerTransports: winston.transport[] = [
|
|
13
|
-
new winston.transports.Console({
|
|
14
|
-
level: process.env.LOGGING_LEVEL,
|
|
15
|
-
format: winston.format.combine(
|
|
16
|
-
winston.format.errors({ stack: true }),
|
|
17
|
-
winston.format.cli(),
|
|
18
|
-
winston.format.splat(),
|
|
19
|
-
),
|
|
20
|
-
handleExceptions: true,
|
|
21
|
-
handleRejections: true,
|
|
22
|
-
}),
|
|
23
|
-
]
|
|
24
|
-
if (process.env.LOGGING_SEQ_SERVERURL) {
|
|
25
|
-
loggerTransports.push(
|
|
26
|
-
new SeqTransport({
|
|
27
|
-
level: process.env.LOGGING_LEVEL,
|
|
28
|
-
serverUrl: process.env.LOGGING_SEQ_SERVERURL,
|
|
29
|
-
apiKey: process.env.LOGGING_SEQ_APIKEY,
|
|
30
|
-
onError: ((e) => { console.error('Failed to configure Seq logging transport', e) }),
|
|
31
|
-
format: winston.format.combine(
|
|
32
|
-
winston.format.errors({ stack: true }),
|
|
33
|
-
winston.format.json(),
|
|
34
|
-
),
|
|
35
|
-
handleExceptions: true,
|
|
36
|
-
handleRejections: true,
|
|
37
|
-
}) as never
|
|
38
|
-
)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export const logger = winston.createLogger({
|
|
42
|
-
level: process.env.LOGGING_LEVEL,
|
|
43
|
-
defaultMeta: {
|
|
44
|
-
seekaAppId: process.env.SEEKA_APP_ID,
|
|
45
|
-
Hosting_Provider: 'azure',
|
|
46
|
-
Release_Version: `v${packageJson.version}`,
|
|
47
|
-
Hosting_Region: process.env.REGION_NAME,
|
|
48
|
-
Service_Instance_Id: process.env.WEBSITE_ROLE_INSTANCE_ID,
|
|
49
|
-
AzureFunctions_FunctionName: process.env.WEBSITE_SITE_NAME,
|
|
50
|
-
Service: `app/${packageJson.name}`,
|
|
51
|
-
},
|
|
52
|
-
transports: loggerTransports,
|
|
53
|
-
exitOnError: false,
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
export const childLogger = (meta: object) => logger.child(meta);
|
|
57
|
-
|
|
58
|
-
export const webhookLogger = (payload: SeekaWebhookPayload, functionContext: InvocationContext) => {
|
|
59
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
60
|
-
const meta: any = {
|
|
61
|
-
seekaWebhookType: payload.type,
|
|
62
|
-
seekaWebhookIsTest: payload.isTest,
|
|
63
|
-
RequestId: payload.requestId,
|
|
64
|
-
AzureFunctions_InvocationId: functionContext.invocationId,
|
|
65
|
-
CausationId: payload.causationId,
|
|
66
|
-
CorrelationId: payload.causationId,
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
const context = (payload as SeekaWebhookPayloadOfSeekaAppWebhookContext).context;
|
|
70
|
-
if (context) {
|
|
71
|
-
meta.seekaAppInstallId = context.applicationInstallId;
|
|
72
|
-
meta.seekaAppInstallOrganisationBrandId = context.organisationBrandId;
|
|
73
|
-
meta.seekaAppInstallOrganisationId = context.organisationId;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return childLogger(meta)
|
|
77
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { connect, disconnect, isConnected } from "../state/redis";
|
|
2
|
-
import { Logger } from "winston";
|
|
3
|
-
import * as winston from "winston";
|
|
4
|
-
|
|
5
|
-
export const startServices = async (logger: Logger) => {
|
|
6
|
-
logger.debug(`Trying to connect to Redis - ${process.env.REDIS_CONNECTION_HOST}`)
|
|
7
|
-
try {
|
|
8
|
-
if (isConnected()) {
|
|
9
|
-
logger.verbose(`Redis already connected - ${process.env.REDIS_CONNECTION_HOST}`)
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
logger.profile('service.redis.connect')
|
|
13
|
-
await connect();
|
|
14
|
-
logger.profile('service.redis.connect')
|
|
15
|
-
logger.info(`Redis connected - ${process.env.REDIS_CONNECTION_HOST}`)
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
catch (err) {
|
|
19
|
-
logger.error(`Failed to connect to Redis - ${process.env.REDIS_CONNECTION_HOST}`, { exception: winston.exceptions.getAllInfo(err) })
|
|
20
|
-
throw err;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export const stopServices = async (logger: Logger) => {
|
|
25
|
-
logger.debug(`Trying to disconnect from Redis - ${process.env.REDIS_CONNECTION_HOST}`)
|
|
26
|
-
try {
|
|
27
|
-
if (isConnected() === false) {
|
|
28
|
-
logger.verbose(`Redis already disconnected - ${process.env.REDIS_CONNECTION_HOST}`)
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
logger.profile('service.redis.disconnect')
|
|
32
|
-
await disconnect();
|
|
33
|
-
logger.profile('service.redis.disconnect')
|
|
34
|
-
logger.info(`Redis disconnected - ${process.env.REDIS_CONNECTION_HOST}`)
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
catch (err) {
|
|
38
|
-
logger.error(`Failed to disconnect from Redis - ${process.env.REDIS_CONNECTION_HOST}`, { exception: winston.exceptions.getAllInfo(err) })
|
|
39
|
-
throw err;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { createClient } from 'redis';
|
|
2
|
-
|
|
3
|
-
import { logger } from '../../logging';
|
|
4
|
-
|
|
5
|
-
const redisProtocol = process.env.REDIS_CONNECTION_TLS === 'true' ? 'rediss://' : 'redis://';
|
|
6
|
-
const redisConn = `${redisProtocol}${process.env.REDIS_CONNECTION_USER}:${process.env.REDIS_CONNECTION_PASSWORD}@${process.env.REDIS_CONNECTION_HOST}:${process.env.REDIS_CONNECTION_PORT}`;
|
|
7
|
-
|
|
8
|
-
const redisClient = createClient({
|
|
9
|
-
url: redisConn
|
|
10
|
-
})
|
|
11
|
-
.on('error', err => logger.error('Redis Client ', { error: err }));
|
|
12
|
-
|
|
13
|
-
export const connect = async () => {
|
|
14
|
-
await redisClient.connect();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export const isConnected = () => {
|
|
18
|
-
return redisClient.isOpen;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export const disconnect = async () => {
|
|
22
|
-
await redisClient.disconnect();
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const getKeyPrefix = (stateType: string) => `seeka:app:${process.env.SEEKA_APP_ID}:${stateType}`
|
|
26
|
-
const getKey = (stateType: string, key: string) => `${getKeyPrefix(stateType)}:${key}`
|
|
27
|
-
|
|
28
|
-
export async function getOrCreate<TState>(stateType: string, key: string, toCreate: TState): Promise<TState> {
|
|
29
|
-
const fullKey = getKey(stateType, key);
|
|
30
|
-
const existingStr = await redisClient.get(fullKey);
|
|
31
|
-
if (existingStr) return JSON.parse(existingStr);
|
|
32
|
-
|
|
33
|
-
await redisClient.set(fullKey, JSON.stringify(toCreate));
|
|
34
|
-
|
|
35
|
-
return toCreate;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export async function tryGet<TState>(stateType: string, key: string): Promise<TState | null> {
|
|
39
|
-
const fullKey = getKey(stateType, key);
|
|
40
|
-
const existingStr = await redisClient.get(fullKey);
|
|
41
|
-
if (existingStr) return JSON.parse(existingStr);
|
|
42
|
-
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export async function getList<TState>(stateType: string): Promise<TState[]> {
|
|
47
|
-
const prefix = getKeyPrefix(stateType);
|
|
48
|
-
const allKeys = await redisClient.keys(`${prefix}:*`);
|
|
49
|
-
const listStr = await redisClient.mGet(allKeys);
|
|
50
|
-
|
|
51
|
-
if (listStr) return listStr.filter(e => Boolean(e)).map(e => JSON.parse(e as string));
|
|
52
|
-
|
|
53
|
-
return [];
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export async function set<TState>(stateType: string, key: string, toCreate: TState): Promise<void> {
|
|
57
|
-
const fullKey = getKey(stateType, key);
|
|
58
|
-
await redisClient.set(fullKey, JSON.stringify(toCreate));
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export async function remove(stateType: string, key: string): Promise<void> {
|
|
62
|
-
const fullKey = getKey(stateType, key);
|
|
63
|
-
await redisClient.del(fullKey);
|
|
64
|
-
}
|
package/dist/ai-context/internal/examples/v1/activecampaign/src/lib/state/seeka/installations.ts
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import type { Logger } from 'winston';
|
|
2
|
-
|
|
3
|
-
import { getList, remove, set, tryGet } from '../redis';
|
|
4
|
-
import { ActiveCampaignPipelineDealStatus } from '../../active-campaign/pipelines/deals';
|
|
5
|
-
|
|
6
|
-
export interface SeekaAppInstallState {
|
|
7
|
-
/** ID of the organisation that installed the app */
|
|
8
|
-
organisationId: string;
|
|
9
|
-
/** ID of the brand that installed the app */
|
|
10
|
-
organisationBrandId: string;
|
|
11
|
-
/** ID of the installation of the app */
|
|
12
|
-
applicationInstallId: string;
|
|
13
|
-
// Installation settings provided by the user installing the app
|
|
14
|
-
installationSettings: ActiveCampaignInstallSettings;
|
|
15
|
-
// State relating to the app and installation of the app
|
|
16
|
-
installationState: ActiveCampaignInstallState;
|
|
17
|
-
|
|
18
|
-
// When the app was installed
|
|
19
|
-
installedAt: string; // new Date().toISOString()
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export interface ActiveCampaignInstallState {
|
|
23
|
-
dealMapperNamesToActiveCampaignPipelineInfo?: { [key: string]: ActiveCampaignPipelineLookupInfo }
|
|
24
|
-
grantedPermissions?: string[]
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export interface ActiveCampaignPipelineLookupInfo {
|
|
28
|
-
pipelineId: string
|
|
29
|
-
stageNamesToStageIds: { [key: string]: string }
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export interface DealMappingDefinition {
|
|
33
|
-
pipelineName?: string
|
|
34
|
-
dealTriggerEventName?: string
|
|
35
|
-
dealCurrencyCode?: string
|
|
36
|
-
dealIdParam?: string
|
|
37
|
-
dealStageNameParam?: string
|
|
38
|
-
dealStages?: DealMappingDefinitionStage[]
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface DealMappingDefinitionStage {
|
|
42
|
-
name: string
|
|
43
|
-
status: DealMappingDefinitionStageStatus
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export type DealMappingDefinitionStageStatus = 'open' | 'won' | 'lost'
|
|
47
|
-
|
|
48
|
-
export interface ActiveCampaignInstallSettings {
|
|
49
|
-
activeCampaignApiUrl?: string
|
|
50
|
-
activeCampaignApiKey?: string
|
|
51
|
-
enableDealPipelines?: boolean
|
|
52
|
-
dealMappers?: DealMappingDefinition[]
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const stateType = 'install'
|
|
56
|
-
|
|
57
|
-
export const tryGetInstallation = async (applicationInstallId: string, throwWhenNotFound: boolean, logger: Logger): Promise<SeekaAppInstallState | null> => {
|
|
58
|
-
const installation = await tryGet<SeekaAppInstallState>(stateType, applicationInstallId);
|
|
59
|
-
if (installation == null && throwWhenNotFound) {
|
|
60
|
-
throw new Error(`Seeka installation ${applicationInstallId} not found`);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// TODO: Decrypt the ActiveCampaign API key at rest
|
|
64
|
-
|
|
65
|
-
return installation;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export const listInstallations = async (logger: Logger): Promise<SeekaAppInstallState[]> => {
|
|
69
|
-
const installations = await getList<SeekaAppInstallState>(stateType);
|
|
70
|
-
|
|
71
|
-
return installations;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
export const createOrUpdateInstallation = async (state: SeekaAppInstallState, logger: Logger): Promise<SeekaAppInstallState> => {
|
|
76
|
-
if (!state.installationState) state.installationState = {};
|
|
77
|
-
if (!state.installedAt) state.installedAt = new Date().toISOString();
|
|
78
|
-
if (!state.installationSettings) state.installationSettings = {};
|
|
79
|
-
if (!state.installationState.dealMapperNamesToActiveCampaignPipelineInfo) state.installationState.dealMapperNamesToActiveCampaignPipelineInfo = {};
|
|
80
|
-
|
|
81
|
-
// TODO: Encrypt the ActiveCampaign API key at rest
|
|
82
|
-
|
|
83
|
-
const creating = (await tryGetInstallation(state.applicationInstallId, false, logger)) === null;
|
|
84
|
-
|
|
85
|
-
await set(stateType, state.applicationInstallId, state);
|
|
86
|
-
|
|
87
|
-
logger.info(creating ? 'Created installation state' : 'Updated installation state', { applicationInstallId: state.applicationInstallId, organisationId: state.organisationId, organisationBrandId: state.organisationBrandId });
|
|
88
|
-
|
|
89
|
-
return state;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export const deleteInstallation = async (applicationInstallId: string, logger: Logger): Promise<void> => {
|
|
93
|
-
await remove(stateType, applicationInstallId);
|
|
94
|
-
|
|
95
|
-
logger.info('Deleted installation state', { applicationInstallId });
|
|
96
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"allowJs": true,
|
|
4
|
-
"skipLibCheck": true,
|
|
5
|
-
"strict": false,
|
|
6
|
-
"esModuleInterop": false,
|
|
7
|
-
"outDir": "dist",
|
|
8
|
-
"rootDir": ".",
|
|
9
|
-
"sourceMap": true,
|
|
10
|
-
"module": "CommonJS",
|
|
11
|
-
"target": "ES6",
|
|
12
|
-
"resolveJsonModule": true,
|
|
13
|
-
"isolatedModules": false,
|
|
14
|
-
},
|
|
15
|
-
"include": [
|
|
16
|
-
"src/**/*.ts"
|
|
17
|
-
],
|
|
18
|
-
"exclude": [
|
|
19
|
-
"node_modules",
|
|
20
|
-
"dist"
|
|
21
|
-
]
|
|
22
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/* eslint-env node */
|
|
2
|
-
module.exports = {
|
|
3
|
-
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
|
|
4
|
-
parser: '@typescript-eslint/parser',
|
|
5
|
-
plugins: ['@typescript-eslint'],
|
|
6
|
-
root: true,
|
|
7
|
-
rules: {
|
|
8
|
-
"@typescript-eslint/no-unused-vars": "warn",
|
|
9
|
-
"@typescript-eslint/no-explicit-any": "off"
|
|
10
|
-
},
|
|
11
|
-
overrides: [
|
|
12
|
-
{
|
|
13
|
-
files: ["**/*/*.test.ts"],
|
|
14
|
-
env: {
|
|
15
|
-
jest: true
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
]
|
|
19
|
-
};
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
# Seeka app - Azure functions
|
|
2
|
-
|
|
3
|
-
## Development
|
|
4
|
-
|
|
5
|
-
- See [Configure your environment](https://learn.microsoft.com/en-us/azure/azure-functions/create-first-function-vs-code-typescript?pivots=nodejs-model-v4#configure-your-environment) for dependencies
|
|
6
|
-
- For emulating Azure storage queues, blobs and tables: `docker run --name azurite -p 10000:10000 -p 10001:10001 -p 10002:10002 --detach mcr.microsoft.com/azure-storage/azurite`
|
|
7
|
-
- Set `AzureWebJobsStorage` setting in local.settings.json to `UseDevelopmentStorage=true`
|
|
8
|
-
- If not using WSL:
|
|
9
|
-
`UseDevelopmentStorage=true`
|
|
10
|
-
- If using WSL, the following may be required to allow your app to reach Azure storage emulator:
|
|
11
|
-
|
|
12
|
-
Replace `MY-MACHINE-NAME` with your hostname. Below connection string allows running Azurite on your host machine and lets WSL connect to it
|
|
13
|
-
`DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://MY-MACHINE-NAME.local:10000/devstoreaccount1;QueueEndpoint=http://MY-MACHINE-NAME.local:10001/devstoreaccount1;TableEndpoint=http://MY-MACHINE-NAME.local:10002/devstoreaccount1;`
|
|
14
|
-
- Install Azure Storage explorer and create your queues (see `./src/lib/jobs/index.ts` for `queueNames`). Azure Storage explorer can be used to view your queue items.
|
|
15
|
-
- `yarn install`
|
|
16
|
-
- `yarn dev`
|
|
17
|
-
|
|
18
|
-
### Debugging
|
|
19
|
-
Supports VSCode debugging via the debugger and utilisation of breakpoints.
|
|
20
|
-
This is only tested on Linux but may work on Windows.
|
|
21
|
-
If using Windows then use WSL with an Ubuntu distro for support of attaching the VS code debugger
|
|
22
|
-
|
|
23
|
-
### Live urls
|
|
24
|
-
You can expose your app locally to the internet via Ngrok to test your app before deploying.
|
|
25
|
-
|
|
26
|
-
#### Setup
|
|
27
|
-
1. Sign up for a Ngrok account
|
|
28
|
-
2. Get your auth token
|
|
29
|
-
3. `yarn ngrok config add-authtoken [auth token here]` replacing `[auth token]` with the auth token retrieved from your Ngrok dashboard
|
|
30
|
-
|
|
31
|
-
#### Running
|
|
32
|
-
1. `yarn start` OR start debugging in VSCode
|
|
33
|
-
2. In separate terminal window run `yarn tunnel` and observe the log entry that starts with `Live url exposed`.
|
|
34
|
-
3. Input the URL into your Seeka app configuration as the "Webook URL" via the Seeka UI.
|
|
35
|
-
|
|
36
|
-
## Included sample functions
|
|
37
|
-
### Seeka app webhook
|
|
38
|
-
`src/functions/seekaAppWebhook.ts`
|
|
39
|
-
|
|
40
|
-
Handles inbound webhooks sent from Seeka to your app.
|
|
41
|
-
|
|
42
|
-
### Queue example
|
|
43
|
-
`src/functions/queueExample.ts`
|
|
44
|
-
|
|
45
|
-
Handles taking a message and placing it on an Azure storage queue for later processing. This concept can be used to offload long running operations based on data sent to your app from Seeka and can help to ensure Azure Function time execution limits are respected.
|
|
46
|
-
|
|
47
|
-
### Polling example
|
|
48
|
-
`src/functions/pollingExample.ts`
|
|
49
|
-
|
|
50
|
-
Handles scheduled invoking of a function. This concept can be used to "fan out" long running operations based on data sent to your app from Seeka and can help to ensure Azure Function time execution limits are respected by splitting long running operations into smaller, less time consuming parts.
|
|
51
|
-
|
|
52
|
-
## Invoking functions
|
|
53
|
-
### Development environment
|
|
54
|
-
Scheduled / timer function: `curl -i -d '{"input": null}' -H "Content-Type: application/json" -X POST http://localhost:7072/admin/functions/pollingExample`
|
|
55
|
-
|
|
56
|
-
### Azure cloud
|
|
57
|
-
Scheduled / timer function: `curl -i -d '{"input": null}' -H "Content-Type: application/json" -H "x-functions-key: <key from azure portal>" -X POST https://seeka-app-complianz.azurewebsites.net/admin/functions/pollingExample`
|
|
58
|
-
|
|
59
|
-
See [this doc](https://learn.microsoft.com/en-us/azure/azure-functions/functions-manually-run-non-http?tabs=azure-portal#get-the-master-key) on how to get the functions (master) key
|
|
60
|
-
|
|
61
|
-
## Logging
|
|
62
|
-
Centralised logging handled by [Winston](https://www.npmjs.com/package/winston). Winston is installed in this template and is also used in the Seeka SDK NPM packages.
|
|
63
|
-
|
|
64
|
-
[Seq](https://datalust.co/seq) Winston transport is installed in this template (optional).
|
|
65
|
-
|
|
66
|
-
To configure Seq options, see `_SEQ_` environment variables.
|
|
67
|
-
|
|
68
|
-
To install Seq on your development machine
|
|
69
|
-
1. Run `docker run --name seq -d --restart=always -e ACCEPT_EULA=Y -p 5341:80 datalust/seq:2024.2`
|
|
70
|
-
2. Update your `LOGGING_SEQ_SERVERURL` environment variable to `http://localhost:5341` or `http://[YOUR MACHINE NAME].local:5341` if using WSL.
|
|
71
|
-
|
|
72
|
-
If creating an API key for Seq, only permission that is required is `Ingest`.
|
|
73
|
-
|
|
74
|
-
## State management
|
|
75
|
-
Installations of your app and other state required for your app to function is stored in Redis. Another state provider can be swapped out for Redis, see `src/lib/state/seeka/installations.ts` for the file that manages the state of the installations.
|
|
76
|
-
|
|
77
|
-
### Upstash (optional)
|
|
78
|
-
If you dont want to use Upstash for Redis then the connection strings in `.env` can be swapped with your Redis instance.
|
|
79
|
-
|
|
80
|
-
> If using Upstash then create a database before following the below guide to deploying your AWS lambda function.
|
|
81
|
-
|
|
82
|
-
> When choosing region - use a region that is closest to the Azure region that your function app is hosted in to reduce latency between the function and the Redis database.
|
|
83
|
-
|
|
84
|
-
## Deployment
|
|
85
|
-
This project comes ready to deploy for free to Azure functions with database backed by Redis hosted by Upstash and queues, blobs and tables backed by Azure Storage.
|
|
86
|
-
|
|
87
|
-
1. Create Azure function app via the portal with below settings
|
|
88
|
-
- Function app name: seeka-app-complianz
|
|
89
|
-
- Code or container image: Code
|
|
90
|
-
- Runtime stack: Node.js
|
|
91
|
-
- Version: 18 LTS
|
|
92
|
-
- Region: Closest region to where your upstash "master / write" database is located
|
|
93
|
-
- Operating system: linux
|
|
94
|
-
- Hosting: Consumption
|
|
95
|
-
- Enable public access: On
|
|
96
|
-
2. Set environment variables of the Azure web app - reference local.settings.json "Values"
|
|
97
|
-
3. If your app receives calls directly from the browser (eg. your browser app plugin) then CORS needs to be enabled for all origins from within the settings of the Function app in Azure portal.
|
|
98
|
-
3. `yarn deploy`
|
|
99
|
-
|
|
100
|
-
### Continuous delivery
|
|
101
|
-
This template includes a GitLab CD pipeline that can be used to trigger deployments of your app when changes are pushed to your Git repository.
|
|
102
|
-
|
|
103
|
-
## References
|
|
104
|
-
- https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azurite
|
|
105
|
-
- https://learn.microsoft.com/en-us/azure/storage/queues/storage-quickstart-queues-nodejs?tabs=connection-string%2Croles-azure-portal%2Cenvironment-variable-windows%2Csign-in-azure-cli
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# AI Summary for Seeka App: Complianz
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
The Complianz app is designed for consent management integration, ensuring compliance with GDPR and privacy regulations. It leverages Azure Functions to handle various consent-related operations and integrates with Seeka's ecosystem to manage app installations and webhooks.
|
|
5
|
-
|
|
6
|
-
## Purpose and Functionality
|
|
7
|
-
- **Consent Management**: The app facilitates GDPR compliance by managing user consents.
|
|
8
|
-
- **Webhook Handling**: Processes inbound webhooks from Seeka to manage app installation states.
|
|
9
|
-
- **Queue and Polling**: Utilizes Azure storage queues for offloading long-running operations and scheduled polling for task distribution.
|
|
10
|
-
|
|
11
|
-
## Key Implementation Patterns
|
|
12
|
-
- **Azure Functions**: The app is structured around Azure Functions, providing a serverless architecture for handling HTTP requests and background tasks.
|
|
13
|
-
- **Webhook Processing**: Implements a robust webhook handling mechanism with signature validation and state management.
|
|
14
|
-
- **State Management**: Uses Redis for storing installation states, which can be swapped with other state providers if needed.
|
|
15
|
-
|
|
16
|
-
## External APIs/Services Integrated
|
|
17
|
-
- **Azure Functions**: Core service for running serverless functions.
|
|
18
|
-
- **Redis**: Used for managing state related to app installations.
|
|
19
|
-
- **Ngrok**: Facilitates local development by exposing the app to the internet for testing.
|
|
20
|
-
- **Seq and Winston**: Used for centralized logging and monitoring.
|
|
21
|
-
|
|
22
|
-
## Important Data Transformations
|
|
23
|
-
- **Webhook Payload Processing**: Transforms incoming webhook payloads to manage app states and settings.
|
|
24
|
-
- **Queue Message Handling**: Processes messages placed in Azure storage queues for deferred execution of tasks.
|
|
25
|
-
|
|
26
|
-
## Notable Code Patterns
|
|
27
|
-
- **Centralized Logging**: Utilizes Winston for logging, with optional Seq integration for enhanced log management.
|
|
28
|
-
- **Environment Configuration**: Supports local and cloud environments with detailed setup instructions for development and deployment.
|
|
29
|
-
- **Error Handling**: Implements comprehensive error handling and logging for webhook processing to ensure reliability and traceability.
|
|
30
|
-
|
|
31
|
-
## Reusable Code Patterns
|
|
32
|
-
- **Webhook Signature Validation**: The pattern for validating webhook signatures can be reused in other applications requiring secure webhook processing.
|
|
33
|
-
- **State Management with Redis**: The abstraction for managing installation states in Redis can be adapted for other applications needing similar state persistence.
|
|
34
|
-
- **Azure Function Setup**: The setup and deployment scripts for Azure Functions provide a template for other serverless applications.
|
|
35
|
-
|
|
36
|
-
This summary provides a high-level understanding of the Complianz app's architecture and implementation, highlighting key patterns and integrations that can be leveraged in similar applications.
|