@shipfox/api-triggers 8.0.0 → 9.0.2

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.
@@ -1,6 +1,6 @@
1
1
  $ shipfox-swc && shipfox-temporal-bundle dist/temporal/workflows/index.js
2
- Successfully compiled: 58 files with swc (456.94ms)
3
- 2026-07-22T14:52:01.867Z [INFO] asset workflow-bundle-69915b80080285c7230d.js 3.17 MiB [emitted] [immutable] (name: main)
2
+ Successfully compiled: 58 files with swc (312.65ms)
3
+ 2026-07-24T15:39:12.319Z [INFO] asset workflow-bundle-69915b80080285c7230d.js 3.17 MiB [emitted] [immutable] (name: main)
4
4
  orphan modules 33.5 KiB [orphan] 21 modules
5
5
  runtime modules 1.13 KiB 5 modules
6
6
  modules by path ../../../node_modules/.pnpm/ 970 KiB 196 modules
@@ -13,6 +13,6 @@ optional modules 30 bytes [optional]
13
13
  __temporal_custom_payload_converter (ignored) 15 bytes [optional] [built] [code generated]
14
14
  __temporal_custom_failure_converter (ignored) 15 bytes [optional] [built] [code generated]
15
15
  ../../shared/node/temporal/dist/workflow-error-interceptor.js 1.21 KiB [built] [code generated]
16
- webpack 5.107.2 compiled successfully in 7975 ms
17
- 2026-07-22T14:52:01.890Z [INFO] Workflow bundle created { size: '3.17MB' }
16
+ webpack 5.107.2 compiled successfully in 6458 ms
17
+ 2026-07-24T15:39:12.334Z [INFO] Workflow bundle created { size: '3.17MB' }
18
18
  /home/runner/work/shipfox/shipfox/libs/api/triggers/dist/temporal/workflows/index.js: 3329015 bytes
package/CHANGELOG.md CHANGED
@@ -1,5 +1,79 @@
1
1
  # @shipfox/api-triggers
2
2
 
3
+ ## 9.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 4b85404: Adds versioned architecture identity to participating package artifacts during publication.
8
+ - Updated dependencies [4b85404]
9
+ - @shipfox/api-auth-context@9.0.2
10
+ - @shipfox/api-definitions-dto@9.0.2
11
+ - @shipfox/api-integration-core-dto@9.0.2
12
+ - @shipfox/api-triggers-dto@9.0.2
13
+ - @shipfox/api-workflows-dto@9.0.2
14
+ - @shipfox/config@1.2.4
15
+ - @shipfox/expression@1.1.5
16
+ - @shipfox/inter-module@0.2.2
17
+ - @shipfox/node-drizzle@0.3.4
18
+ - @shipfox/node-error-monitoring@0.2.2
19
+ - @shipfox/node-fastify@0.3.2
20
+ - @shipfox/node-module@1.0.1
21
+ - @shipfox/node-opentelemetry@0.6.2
22
+ - @shipfox/node-outbox@0.2.6
23
+ - @shipfox/node-postgres@0.4.4
24
+ - @shipfox/node-temporal@0.4.2
25
+ - @shipfox/workflow-document@2.1.3
26
+
27
+ ## 9.0.1
28
+
29
+ ### Patch Changes
30
+
31
+ - 475ce59: Republishes all public packages after restoring release authorization.
32
+ - Updated dependencies [8436596]
33
+ - Updated dependencies [475ce59]
34
+ - Updated dependencies [154e03f]
35
+ - @shipfox/expression@1.1.4
36
+ - @shipfox/workflow-document@2.1.2
37
+ - @shipfox/api-auth-context@9.0.1
38
+ - @shipfox/api-definitions-dto@9.0.1
39
+ - @shipfox/api-integration-core-dto@9.0.1
40
+ - @shipfox/api-triggers-dto@9.0.1
41
+ - @shipfox/api-workflows-dto@9.0.1
42
+ - @shipfox/config@1.2.3
43
+ - @shipfox/inter-module@0.2.1
44
+ - @shipfox/node-drizzle@0.3.3
45
+ - @shipfox/node-error-monitoring@0.2.1
46
+ - @shipfox/node-fastify@0.3.1
47
+ - @shipfox/node-module@1.0.0
48
+ - @shipfox/node-opentelemetry@0.6.1
49
+ - @shipfox/node-outbox@0.2.5
50
+ - @shipfox/node-postgres@0.4.3
51
+ - @shipfox/node-temporal@0.4.1
52
+
53
+ ## 9.0.0
54
+
55
+ ### Patch Changes
56
+
57
+ - Updated dependencies [02974d6]
58
+ - Updated dependencies [4a6d124]
59
+ - @shipfox/api-integration-core-dto@9.0.0
60
+ - @shipfox/api-auth-context@9.0.0
61
+ - @shipfox/api-definitions-dto@6.0.0
62
+ - @shipfox/api-triggers-dto@5.0.0
63
+ - @shipfox/api-workflows-dto@9.0.0
64
+ - @shipfox/config@1.2.2
65
+ - @shipfox/inter-module@0.2.0
66
+ - @shipfox/expression@1.1.3
67
+ - @shipfox/node-drizzle@0.3.2
68
+ - @shipfox/node-error-monitoring@0.2.0
69
+ - @shipfox/node-fastify@0.3.0
70
+ - @shipfox/node-module@0.5.0
71
+ - @shipfox/node-opentelemetry@0.6.0
72
+ - @shipfox/node-outbox@0.2.4
73
+ - @shipfox/node-postgres@0.4.2
74
+ - @shipfox/node-temporal@0.4.0
75
+ - @shipfox/workflow-document@2.1.1
76
+
3
77
  ## 8.0.0
4
78
 
5
79
  ### Patch Changes
package/README.md CHANGED
@@ -306,14 +306,8 @@ turbo type --filter=@shipfox/api-triggers
306
306
  turbo test --filter=@shipfox/api-triggers
307
307
  ```
308
308
 
309
- Tests use Vitest and a real PostgreSQL database. Start local services
310
- before running the test suite:
311
-
312
- ```sh
313
- docker compose up -d
314
- ```
315
-
316
- The test environment uses the `api_test` database, set in `test/env.ts`.
309
+ For repository test conventions, read the [testing guide](../../../docs/guides/testing.md).
310
+ This package uses the `api_test` database, set in `test/env.ts`.
317
311
 
318
312
  ## License
319
313
 
package/dist/index.js CHANGED
@@ -21,7 +21,8 @@ export function createTriggersModule({ workflows }) {
21
21
  name: 'triggers',
22
22
  database: {
23
23
  db,
24
- migrationsPath
24
+ migrationsPath,
25
+ databaseNamespace: 'triggers'
25
26
  },
26
27
  routes: createTriggerRoutes(workflows),
27
28
  e2eRoutes: [
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {dirname, resolve} from 'node:path';\nimport {fileURLToPath} from 'node:url';\nimport {\n DEFINITION_DELETED,\n DEFINITION_RESOLVED,\n type DefinitionsEventMap,\n} from '@shipfox/api-definitions-dto';\nimport {\n INTEGRATION_EVENT_RECEIVED,\n type IntegrationsEventMap,\n} from '@shipfox/api-integration-core-dto';\nimport {\n WORKFLOWS_JOB_ACTIVATED,\n WORKFLOWS_JOB_TERMINATED,\n type WorkflowsEventMapDto,\n} from '@shipfox/api-workflows-dto';\nimport type {WorkflowsModuleClient} from '@shipfox/api-workflows-dto/inter-module';\nimport {type ShipfoxModule, subscriberFactory} from '@shipfox/node-module';\nimport {db, migrationsPath, triggersOutbox} from '#db/index.js';\nimport {registerTriggersServiceMetrics} from '#metrics/index.js';\nimport {triggersE2eRoutes} from '#presentation/e2e-routes.js';\nimport {createTriggerRoutes} from '#presentation/index.js';\nimport {\n createOnIntegrationEventReceived,\n onDefinitionDeleted,\n onDefinitionResolved,\n onJobActivated,\n onJobTerminated,\n} from '#presentation/subscribers/index.js';\nimport {\n createTriggersCronActivities,\n createTriggersMaintenanceActivities,\n} from '#temporal/activities/index.js';\nimport {TRIGGERS_CRON_TASK_QUEUE, TRIGGERS_MAINTENANCE_TASK_QUEUE} from '#temporal/constants.js';\n\nexport type {\n JobListenerMatcherKind,\n JobListenerSubscription,\n} from '#core/entities/job-listener-subscription.js';\nexport type {TriggerSubscription} from '#core/entities/subscription.js';\nexport {\n fireCronSubscription,\n fireManualSubscription,\n ManualTriggerNotFoundError,\n TriggerSubscriptionNotCronError,\n TriggerSubscriptionNotFoundError,\n TriggerSubscriptionNotManualError,\n TriggerWorkspaceMismatchError,\n} from '#core/index.js';\nexport {\n db,\n findMatchingJobListenerSubscriptions,\n findMatchingSubscriptions,\n getManualSubscriptionByDefinitionId,\n getTriggerSubscriptionById,\n jobListenerSubscriptions,\n listSubscriptionsByWorkflowDefinitionIds,\n migrationsPath,\n projectJobListenerSubscriptions,\n removeJobListenerSubscriptionsForJob,\n triggersOutbox,\n} from '#db/index.js';\n\nconst packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), '..');\nconst temporalWorkflowsPath = resolve(packageRoot, 'dist/temporal/workflows/index.js');\n\nconst subscriber = subscriberFactory<\n DefinitionsEventMap & IntegrationsEventMap & WorkflowsEventMapDto\n>();\n\nexport interface CreateTriggersModuleOptions {\n workflows: WorkflowsModuleClient;\n}\n\nexport function createTriggersModule({workflows}: CreateTriggersModuleOptions): ShipfoxModule {\n return {\n name: 'triggers',\n database: {db, migrationsPath},\n routes: createTriggerRoutes(workflows),\n e2eRoutes: [triggersE2eRoutes],\n metrics: registerTriggersServiceMetrics,\n publishers: [{name: 'triggers', table: triggersOutbox, db}],\n subscribers: [\n subscriber(DEFINITION_RESOLVED, onDefinitionResolved),\n subscriber(DEFINITION_DELETED, onDefinitionDeleted),\n subscriber(INTEGRATION_EVENT_RECEIVED, createOnIntegrationEventReceived(workflows)),\n subscriber(WORKFLOWS_JOB_ACTIVATED, onJobActivated),\n subscriber(WORKFLOWS_JOB_TERMINATED, onJobTerminated),\n ],\n workers: [\n {\n taskQueue: TRIGGERS_MAINTENANCE_TASK_QUEUE,\n workflowsPath: temporalWorkflowsPath,\n activities: createTriggersMaintenanceActivities,\n workflows: [\n {\n name: 'pruneTriggerEventsCron',\n id: 'triggers-prune-trigger-events',\n cronSchedule: '0 * * * *',\n },\n ],\n },\n {\n taskQueue: TRIGGERS_CRON_TASK_QUEUE,\n workflowsPath: temporalWorkflowsPath,\n activities: () => createTriggersCronActivities(workflows),\n workflows: [\n {\n name: 'cronTickCron',\n id: 'triggers-cron-tick',\n cronSchedule: '* * * * *',\n },\n ],\n },\n ],\n };\n}\n"],"names":["dirname","resolve","fileURLToPath","DEFINITION_DELETED","DEFINITION_RESOLVED","INTEGRATION_EVENT_RECEIVED","WORKFLOWS_JOB_ACTIVATED","WORKFLOWS_JOB_TERMINATED","subscriberFactory","db","migrationsPath","triggersOutbox","registerTriggersServiceMetrics","triggersE2eRoutes","createTriggerRoutes","createOnIntegrationEventReceived","onDefinitionDeleted","onDefinitionResolved","onJobActivated","onJobTerminated","createTriggersCronActivities","createTriggersMaintenanceActivities","TRIGGERS_CRON_TASK_QUEUE","TRIGGERS_MAINTENANCE_TASK_QUEUE","fireCronSubscription","fireManualSubscription","ManualTriggerNotFoundError","TriggerSubscriptionNotCronError","TriggerSubscriptionNotFoundError","TriggerSubscriptionNotManualError","TriggerWorkspaceMismatchError","findMatchingJobListenerSubscriptions","findMatchingSubscriptions","getManualSubscriptionByDefinitionId","getTriggerSubscriptionById","jobListenerSubscriptions","listSubscriptionsByWorkflowDefinitionIds","projectJobListenerSubscriptions","removeJobListenerSubscriptionsForJob","packageRoot","url","temporalWorkflowsPath","subscriber","createTriggersModule","workflows","name","database","routes","e2eRoutes","metrics","publishers","table","subscribers","workers","taskQueue","workflowsPath","activities","id","cronSchedule"],"mappings":"AAAA,SAAQA,OAAO,EAAEC,OAAO,QAAO,YAAY;AAC3C,SAAQC,aAAa,QAAO,WAAW;AACvC,SACEC,kBAAkB,EAClBC,mBAAmB,QAEd,+BAA+B;AACtC,SACEC,0BAA0B,QAErB,oCAAoC;AAC3C,SACEC,uBAAuB,EACvBC,wBAAwB,QAEnB,6BAA6B;AAEpC,SAA4BC,iBAAiB,QAAO,uBAAuB;AAC3E,SAAQC,EAAE,EAAEC,cAAc,EAAEC,cAAc,QAAO,eAAe;AAChE,SAAQC,8BAA8B,QAAO,oBAAoB;AACjE,SAAQC,iBAAiB,QAAO,8BAA8B;AAC9D,SAAQC,mBAAmB,QAAO,yBAAyB;AAC3D,SACEC,gCAAgC,EAChCC,mBAAmB,EACnBC,oBAAoB,EACpBC,cAAc,EACdC,eAAe,QACV,qCAAqC;AAC5C,SACEC,4BAA4B,EAC5BC,mCAAmC,QAC9B,gCAAgC;AACvC,SAAQC,wBAAwB,EAAEC,+BAA+B,QAAO,yBAAyB;AAOjG,SACEC,oBAAoB,EACpBC,sBAAsB,EACtBC,0BAA0B,EAC1BC,+BAA+B,EAC/BC,gCAAgC,EAChCC,iCAAiC,EACjCC,6BAA6B,QACxB,iBAAiB;AACxB,SACErB,EAAE,EACFsB,oCAAoC,EACpCC,yBAAyB,EACzBC,mCAAmC,EACnCC,0BAA0B,EAC1BC,wBAAwB,EACxBC,wCAAwC,EACxC1B,cAAc,EACd2B,+BAA+B,EAC/BC,oCAAoC,EACpC3B,cAAc,QACT,eAAe;AAEtB,MAAM4B,cAActC,QAAQD,QAAQE,cAAc,YAAYsC,GAAG,IAAI;AACrE,MAAMC,wBAAwBxC,QAAQsC,aAAa;AAEnD,MAAMG,aAAalC;AAQnB,OAAO,SAASmC,qBAAqB,EAACC,SAAS,EAA8B;IAC3E,OAAO;QACLC,MAAM;QACNC,UAAU;YAACrC;YAAIC;QAAc;QAC7BqC,QAAQjC,oBAAoB8B;QAC5BI,WAAW;YAACnC;SAAkB;QAC9BoC,SAASrC;QACTsC,YAAY;YAAC;gBAACL,MAAM;gBAAYM,OAAOxC;gBAAgBF;YAAE;SAAE;QAC3D2C,aAAa;YACXV,WAAWtC,qBAAqBa;YAChCyB,WAAWvC,oBAAoBa;YAC/B0B,WAAWrC,4BAA4BU,iCAAiC6B;YACxEF,WAAWpC,yBAAyBY;YACpCwB,WAAWnC,0BAA0BY;SACtC;QACDkC,SAAS;YACP;gBACEC,WAAW/B;gBACXgC,eAAed;gBACfe,YAAYnC;gBACZuB,WAAW;oBACT;wBACEC,MAAM;wBACNY,IAAI;wBACJC,cAAc;oBAChB;iBACD;YACH;YACA;gBACEJ,WAAWhC;gBACXiC,eAAed;gBACfe,YAAY,IAAMpC,6BAA6BwB;gBAC/CA,WAAW;oBACT;wBACEC,MAAM;wBACNY,IAAI;wBACJC,cAAc;oBAChB;iBACD;YACH;SACD;IACH;AACF"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {dirname, resolve} from 'node:path';\nimport {fileURLToPath} from 'node:url';\nimport {\n DEFINITION_DELETED,\n DEFINITION_RESOLVED,\n type DefinitionsEventMap,\n} from '@shipfox/api-definitions-dto';\nimport {\n INTEGRATION_EVENT_RECEIVED,\n type IntegrationsEventMap,\n} from '@shipfox/api-integration-core-dto';\nimport {\n WORKFLOWS_JOB_ACTIVATED,\n WORKFLOWS_JOB_TERMINATED,\n type WorkflowsEventMapDto,\n} from '@shipfox/api-workflows-dto';\nimport type {WorkflowsModuleClient} from '@shipfox/api-workflows-dto/inter-module';\nimport {type ShipfoxModule, subscriberFactory} from '@shipfox/node-module';\nimport {db, migrationsPath, triggersOutbox} from '#db/index.js';\nimport {registerTriggersServiceMetrics} from '#metrics/index.js';\nimport {triggersE2eRoutes} from '#presentation/e2e-routes.js';\nimport {createTriggerRoutes} from '#presentation/index.js';\nimport {\n createOnIntegrationEventReceived,\n onDefinitionDeleted,\n onDefinitionResolved,\n onJobActivated,\n onJobTerminated,\n} from '#presentation/subscribers/index.js';\nimport {\n createTriggersCronActivities,\n createTriggersMaintenanceActivities,\n} from '#temporal/activities/index.js';\nimport {TRIGGERS_CRON_TASK_QUEUE, TRIGGERS_MAINTENANCE_TASK_QUEUE} from '#temporal/constants.js';\n\nexport type {\n JobListenerMatcherKind,\n JobListenerSubscription,\n} from '#core/entities/job-listener-subscription.js';\nexport type {TriggerSubscription} from '#core/entities/subscription.js';\nexport {\n fireCronSubscription,\n fireManualSubscription,\n ManualTriggerNotFoundError,\n TriggerSubscriptionNotCronError,\n TriggerSubscriptionNotFoundError,\n TriggerSubscriptionNotManualError,\n TriggerWorkspaceMismatchError,\n} from '#core/index.js';\nexport {\n db,\n findMatchingJobListenerSubscriptions,\n findMatchingSubscriptions,\n getManualSubscriptionByDefinitionId,\n getTriggerSubscriptionById,\n jobListenerSubscriptions,\n listSubscriptionsByWorkflowDefinitionIds,\n migrationsPath,\n projectJobListenerSubscriptions,\n removeJobListenerSubscriptionsForJob,\n triggersOutbox,\n} from '#db/index.js';\n\nconst packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), '..');\nconst temporalWorkflowsPath = resolve(packageRoot, 'dist/temporal/workflows/index.js');\n\nconst subscriber = subscriberFactory<\n DefinitionsEventMap & IntegrationsEventMap & WorkflowsEventMapDto\n>();\n\nexport interface CreateTriggersModuleOptions {\n workflows: WorkflowsModuleClient;\n}\n\nexport function createTriggersModule({workflows}: CreateTriggersModuleOptions): ShipfoxModule {\n return {\n name: 'triggers',\n database: {db, migrationsPath, databaseNamespace: 'triggers'},\n routes: createTriggerRoutes(workflows),\n e2eRoutes: [triggersE2eRoutes],\n metrics: registerTriggersServiceMetrics,\n publishers: [{name: 'triggers', table: triggersOutbox, db}],\n subscribers: [\n subscriber(DEFINITION_RESOLVED, onDefinitionResolved),\n subscriber(DEFINITION_DELETED, onDefinitionDeleted),\n subscriber(INTEGRATION_EVENT_RECEIVED, createOnIntegrationEventReceived(workflows)),\n subscriber(WORKFLOWS_JOB_ACTIVATED, onJobActivated),\n subscriber(WORKFLOWS_JOB_TERMINATED, onJobTerminated),\n ],\n workers: [\n {\n taskQueue: TRIGGERS_MAINTENANCE_TASK_QUEUE,\n workflowsPath: temporalWorkflowsPath,\n activities: createTriggersMaintenanceActivities,\n workflows: [\n {\n name: 'pruneTriggerEventsCron',\n id: 'triggers-prune-trigger-events',\n cronSchedule: '0 * * * *',\n },\n ],\n },\n {\n taskQueue: TRIGGERS_CRON_TASK_QUEUE,\n workflowsPath: temporalWorkflowsPath,\n activities: () => createTriggersCronActivities(workflows),\n workflows: [\n {\n name: 'cronTickCron',\n id: 'triggers-cron-tick',\n cronSchedule: '* * * * *',\n },\n ],\n },\n ],\n };\n}\n"],"names":["dirname","resolve","fileURLToPath","DEFINITION_DELETED","DEFINITION_RESOLVED","INTEGRATION_EVENT_RECEIVED","WORKFLOWS_JOB_ACTIVATED","WORKFLOWS_JOB_TERMINATED","subscriberFactory","db","migrationsPath","triggersOutbox","registerTriggersServiceMetrics","triggersE2eRoutes","createTriggerRoutes","createOnIntegrationEventReceived","onDefinitionDeleted","onDefinitionResolved","onJobActivated","onJobTerminated","createTriggersCronActivities","createTriggersMaintenanceActivities","TRIGGERS_CRON_TASK_QUEUE","TRIGGERS_MAINTENANCE_TASK_QUEUE","fireCronSubscription","fireManualSubscription","ManualTriggerNotFoundError","TriggerSubscriptionNotCronError","TriggerSubscriptionNotFoundError","TriggerSubscriptionNotManualError","TriggerWorkspaceMismatchError","findMatchingJobListenerSubscriptions","findMatchingSubscriptions","getManualSubscriptionByDefinitionId","getTriggerSubscriptionById","jobListenerSubscriptions","listSubscriptionsByWorkflowDefinitionIds","projectJobListenerSubscriptions","removeJobListenerSubscriptionsForJob","packageRoot","url","temporalWorkflowsPath","subscriber","createTriggersModule","workflows","name","database","databaseNamespace","routes","e2eRoutes","metrics","publishers","table","subscribers","workers","taskQueue","workflowsPath","activities","id","cronSchedule"],"mappings":"AAAA,SAAQA,OAAO,EAAEC,OAAO,QAAO,YAAY;AAC3C,SAAQC,aAAa,QAAO,WAAW;AACvC,SACEC,kBAAkB,EAClBC,mBAAmB,QAEd,+BAA+B;AACtC,SACEC,0BAA0B,QAErB,oCAAoC;AAC3C,SACEC,uBAAuB,EACvBC,wBAAwB,QAEnB,6BAA6B;AAEpC,SAA4BC,iBAAiB,QAAO,uBAAuB;AAC3E,SAAQC,EAAE,EAAEC,cAAc,EAAEC,cAAc,QAAO,eAAe;AAChE,SAAQC,8BAA8B,QAAO,oBAAoB;AACjE,SAAQC,iBAAiB,QAAO,8BAA8B;AAC9D,SAAQC,mBAAmB,QAAO,yBAAyB;AAC3D,SACEC,gCAAgC,EAChCC,mBAAmB,EACnBC,oBAAoB,EACpBC,cAAc,EACdC,eAAe,QACV,qCAAqC;AAC5C,SACEC,4BAA4B,EAC5BC,mCAAmC,QAC9B,gCAAgC;AACvC,SAAQC,wBAAwB,EAAEC,+BAA+B,QAAO,yBAAyB;AAOjG,SACEC,oBAAoB,EACpBC,sBAAsB,EACtBC,0BAA0B,EAC1BC,+BAA+B,EAC/BC,gCAAgC,EAChCC,iCAAiC,EACjCC,6BAA6B,QACxB,iBAAiB;AACxB,SACErB,EAAE,EACFsB,oCAAoC,EACpCC,yBAAyB,EACzBC,mCAAmC,EACnCC,0BAA0B,EAC1BC,wBAAwB,EACxBC,wCAAwC,EACxC1B,cAAc,EACd2B,+BAA+B,EAC/BC,oCAAoC,EACpC3B,cAAc,QACT,eAAe;AAEtB,MAAM4B,cAActC,QAAQD,QAAQE,cAAc,YAAYsC,GAAG,IAAI;AACrE,MAAMC,wBAAwBxC,QAAQsC,aAAa;AAEnD,MAAMG,aAAalC;AAQnB,OAAO,SAASmC,qBAAqB,EAACC,SAAS,EAA8B;IAC3E,OAAO;QACLC,MAAM;QACNC,UAAU;YAACrC;YAAIC;YAAgBqC,mBAAmB;QAAU;QAC5DC,QAAQlC,oBAAoB8B;QAC5BK,WAAW;YAACpC;SAAkB;QAC9BqC,SAAStC;QACTuC,YAAY;YAAC;gBAACN,MAAM;gBAAYO,OAAOzC;gBAAgBF;YAAE;SAAE;QAC3D4C,aAAa;YACXX,WAAWtC,qBAAqBa;YAChCyB,WAAWvC,oBAAoBa;YAC/B0B,WAAWrC,4BAA4BU,iCAAiC6B;YACxEF,WAAWpC,yBAAyBY;YACpCwB,WAAWnC,0BAA0BY;SACtC;QACDmC,SAAS;YACP;gBACEC,WAAWhC;gBACXiC,eAAef;gBACfgB,YAAYpC;gBACZuB,WAAW;oBACT;wBACEC,MAAM;wBACNa,IAAI;wBACJC,cAAc;oBAChB;iBACD;YACH;YACA;gBACEJ,WAAWjC;gBACXkC,eAAef;gBACfgB,YAAY,IAAMrC,6BAA6BwB;gBAC/CA,WAAW;oBACT;wBACEC,MAAM;wBACNa,IAAI;wBACJC,cAAc;oBAChB;iBACD;YACH;SACD;IACH;AACF"}