@pennyfarthing/core 7.4.0 → 7.5.0
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/cli/utils/files.d.ts +0 -1
- package/dist/cli/utils/files.js +73 -56
- package/dist/cli/utils/manifest.d.ts +0 -1
- package/dist/cli/utils/manifest.js +48 -45
- package/dist/cli/utils/version.d.ts +0 -1
- package/dist/cli/utils/version.js +38 -32
- package/dist/index.d.ts +0 -1
- package/dist/index.js +39 -11
- package/dist/permissions/index.d.ts +0 -1
- package/dist/permissions/index.js +7 -4
- package/dist/permissions/permission-schema.d.ts +0 -1
- package/dist/permissions/permission-schema.js +13 -9
- package/dist/scripts/job-fair-aggregator.d.ts +0 -1
- package/dist/scripts/job-fair-aggregator.js +484 -341
- package/dist/workflow/index.d.ts +0 -1
- package/dist/workflow/index.js +12 -5
- package/dist/workflow/workflow-loader.d.ts +0 -1
- package/dist/workflow/workflow-loader.js +40 -34
- package/dist/workflow/workflow-permissions.d.ts +0 -1
- package/dist/workflow/workflow-permissions.js +14 -8
- package/dist/workflow/workflow-router.d.ts +0 -1
- package/dist/workflow/workflow-router.js +70 -51
- package/dist/workflow/workflow-schema.d.ts +0 -1
- package/dist/workflow/workflow-schema.js +62 -59
- package/package.json +1 -1
- package/dist/bmad/context-reader.d.ts +0 -71
- package/dist/bmad/context-reader.d.ts.map +0 -1
- package/dist/bmad/context-reader.js +0 -369
- package/dist/bmad/context-reader.js.map +0 -1
- package/dist/bmad/context-reader.test.d.ts +0 -71
- package/dist/bmad/context-reader.test.d.ts.map +0 -1
- package/dist/bmad/context-reader.test.js +0 -878
- package/dist/bmad/context-reader.test.js.map +0 -1
- package/dist/bmad/epics-parser.d.ts +0 -61
- package/dist/bmad/epics-parser.d.ts.map +0 -1
- package/dist/bmad/epics-parser.js +0 -331
- package/dist/bmad/epics-parser.js.map +0 -1
- package/dist/bmad/epics-parser.test.d.ts +0 -7
- package/dist/bmad/epics-parser.test.d.ts.map +0 -1
- package/dist/bmad/epics-parser.test.js +0 -449
- package/dist/bmad/epics-parser.test.js.map +0 -1
- package/dist/bmad/index.d.ts +0 -11
- package/dist/bmad/index.d.ts.map +0 -1
- package/dist/bmad/index.js +0 -24
- package/dist/bmad/index.js.map +0 -1
- package/dist/bmad/status-sync.d.ts +0 -173
- package/dist/bmad/status-sync.d.ts.map +0 -1
- package/dist/bmad/status-sync.js +0 -463
- package/dist/bmad/status-sync.js.map +0 -1
- package/dist/bmad/status-sync.test.d.ts +0 -7
- package/dist/bmad/status-sync.test.d.ts.map +0 -1
- package/dist/bmad/status-sync.test.js +0 -702
- package/dist/bmad/status-sync.test.js.map +0 -1
- package/dist/bmad/story-exporter.d.ts +0 -55
- package/dist/bmad/story-exporter.d.ts.map +0 -1
- package/dist/bmad/story-exporter.js +0 -170
- package/dist/bmad/story-exporter.js.map +0 -1
- package/dist/bmad/story-exporter.test.d.ts +0 -51
- package/dist/bmad/story-exporter.test.d.ts.map +0 -1
- package/dist/bmad/story-exporter.test.js +0 -603
- package/dist/bmad/story-exporter.test.js.map +0 -1
- package/dist/bmad/story-parser.d.ts +0 -44
- package/dist/bmad/story-parser.d.ts.map +0 -1
- package/dist/bmad/story-parser.js +0 -307
- package/dist/bmad/story-parser.js.map +0 -1
- package/dist/bmad/story-parser.test.d.ts +0 -44
- package/dist/bmad/story-parser.test.d.ts.map +0 -1
- package/dist/bmad/story-parser.test.js +0 -693
- package/dist/bmad/story-parser.test.js.map +0 -1
- package/dist/cli/commands/command.d.ts +0 -28
- package/dist/cli/commands/command.d.ts.map +0 -1
- package/dist/cli/commands/command.js +0 -399
- package/dist/cli/commands/command.js.map +0 -1
- package/dist/cli/commands/cyclist.d.ts +0 -46
- package/dist/cli/commands/cyclist.d.ts.map +0 -1
- package/dist/cli/commands/cyclist.js +0 -196
- package/dist/cli/commands/cyclist.js.map +0 -1
- package/dist/cli/commands/cyclist.test.d.ts +0 -13
- package/dist/cli/commands/cyclist.test.d.ts.map +0 -1
- package/dist/cli/commands/cyclist.test.js +0 -245
- package/dist/cli/commands/cyclist.test.js.map +0 -1
- package/dist/cli/commands/doctor.d.ts +0 -9
- package/dist/cli/commands/doctor.d.ts.map +0 -1
- package/dist/cli/commands/doctor.js +0 -652
- package/dist/cli/commands/doctor.js.map +0 -1
- package/dist/cli/commands/init.d.ts +0 -8
- package/dist/cli/commands/init.d.ts.map +0 -1
- package/dist/cli/commands/init.js +0 -524
- package/dist/cli/commands/init.js.map +0 -1
- package/dist/cli/commands/skill.d.ts +0 -28
- package/dist/cli/commands/skill.d.ts.map +0 -1
- package/dist/cli/commands/skill.js +0 -416
- package/dist/cli/commands/skill.js.map +0 -1
- package/dist/cli/commands/theme.d.ts +0 -21
- package/dist/cli/commands/theme.d.ts.map +0 -1
- package/dist/cli/commands/theme.js +0 -201
- package/dist/cli/commands/theme.js.map +0 -1
- package/dist/cli/commands/uninstall.d.ts +0 -8
- package/dist/cli/commands/uninstall.d.ts.map +0 -1
- package/dist/cli/commands/uninstall.js +0 -237
- package/dist/cli/commands/uninstall.js.map +0 -1
- package/dist/cli/commands/update.d.ts +0 -9
- package/dist/cli/commands/update.d.ts.map +0 -1
- package/dist/cli/commands/update.js +0 -418
- package/dist/cli/commands/update.js.map +0 -1
- package/dist/cli/commands/version.d.ts +0 -2
- package/dist/cli/commands/version.d.ts.map +0 -1
- package/dist/cli/commands/version.js +0 -28
- package/dist/cli/commands/version.js.map +0 -1
- package/dist/cli/customization.test.d.ts +0 -12
- package/dist/cli/customization.test.d.ts.map +0 -1
- package/dist/cli/customization.test.js +0 -84
- package/dist/cli/customization.test.js.map +0 -1
- package/dist/cli/cyclist-migration.test.d.ts +0 -16
- package/dist/cli/cyclist-migration.test.d.ts.map +0 -1
- package/dist/cli/cyclist-migration.test.js +0 -225
- package/dist/cli/cyclist-migration.test.js.map +0 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -174
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/ocean-profiles.test.d.ts +0 -13
- package/dist/cli/ocean-profiles.test.d.ts.map +0 -1
- package/dist/cli/ocean-profiles.test.js +0 -134
- package/dist/cli/ocean-profiles.test.js.map +0 -1
- package/dist/cli/theme-maker.test.d.ts +0 -11
- package/dist/cli/theme-maker.test.d.ts.map +0 -1
- package/dist/cli/theme-maker.test.js +0 -356
- package/dist/cli/theme-maker.test.js.map +0 -1
- package/dist/cli/utils/constants.d.ts +0 -66
- package/dist/cli/utils/constants.d.ts.map +0 -1
- package/dist/cli/utils/constants.js +0 -54
- package/dist/cli/utils/constants.js.map +0 -1
- package/dist/cli/utils/files.d.ts.map +0 -1
- package/dist/cli/utils/files.js.map +0 -1
- package/dist/cli/utils/logger.d.ts +0 -26
- package/dist/cli/utils/logger.d.ts.map +0 -1
- package/dist/cli/utils/logger.js +0 -88
- package/dist/cli/utils/logger.js.map +0 -1
- package/dist/cli/utils/manifest.d.ts.map +0 -1
- package/dist/cli/utils/manifest.js.map +0 -1
- package/dist/cli/utils/node-modules.d.ts +0 -6
- package/dist/cli/utils/node-modules.d.ts.map +0 -1
- package/dist/cli/utils/node-modules.js +0 -31
- package/dist/cli/utils/node-modules.js.map +0 -1
- package/dist/cli/utils/prompts.d.ts +0 -34
- package/dist/cli/utils/prompts.d.ts.map +0 -1
- package/dist/cli/utils/prompts.js +0 -93
- package/dist/cli/utils/prompts.js.map +0 -1
- package/dist/cli/utils/symlinks.d.ts +0 -29
- package/dist/cli/utils/symlinks.d.ts.map +0 -1
- package/dist/cli/utils/symlinks.js +0 -181
- package/dist/cli/utils/symlinks.js.map +0 -1
- package/dist/cli/utils/themes.d.ts +0 -101
- package/dist/cli/utils/themes.d.ts.map +0 -1
- package/dist/cli/utils/themes.js +0 -373
- package/dist/cli/utils/themes.js.map +0 -1
- package/dist/cli/utils/themes.test.d.ts +0 -12
- package/dist/cli/utils/themes.test.d.ts.map +0 -1
- package/dist/cli/utils/themes.test.js +0 -147
- package/dist/cli/utils/themes.test.js.map +0 -1
- package/dist/cli/utils/version.d.ts.map +0 -1
- package/dist/cli/utils/version.js.map +0 -1
- package/dist/cli/workspace.test.d.ts +0 -8
- package/dist/cli/workspace.test.d.ts.map +0 -1
- package/dist/cli/workspace.test.js +0 -151
- package/dist/cli/workspace.test.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/jira/jira-epic-creation.d.ts +0 -109
- package/dist/jira/jira-epic-creation.d.ts.map +0 -1
- package/dist/jira/jira-epic-creation.js +0 -253
- package/dist/jira/jira-epic-creation.js.map +0 -1
- package/dist/jira/jira-epic-creation.test.d.ts +0 -16
- package/dist/jira/jira-epic-creation.test.d.ts.map +0 -1
- package/dist/jira/jira-epic-creation.test.js +0 -387
- package/dist/jira/jira-epic-creation.test.js.map +0 -1
- package/dist/jira/jira-sprint-sync.d.ts +0 -247
- package/dist/jira/jira-sprint-sync.d.ts.map +0 -1
- package/dist/jira/jira-sprint-sync.js +0 -670
- package/dist/jira/jira-sprint-sync.js.map +0 -1
- package/dist/jira/jira-sprint-sync.test.d.ts +0 -16
- package/dist/jira/jira-sprint-sync.test.d.ts.map +0 -1
- package/dist/jira/jira-sprint-sync.test.js +0 -845
- package/dist/jira/jira-sprint-sync.test.js.map +0 -1
- package/dist/permissions/index.d.ts.map +0 -1
- package/dist/permissions/index.js.map +0 -1
- package/dist/permissions/permission-schema.d.ts.map +0 -1
- package/dist/permissions/permission-schema.js.map +0 -1
- package/dist/permissions/permission-schema.test.d.ts +0 -40
- package/dist/permissions/permission-schema.test.d.ts.map +0 -1
- package/dist/permissions/permission-schema.test.js +0 -367
- package/dist/permissions/permission-schema.test.js.map +0 -1
- package/dist/scripts/add-ocean-profiles.d.ts +0 -9
- package/dist/scripts/add-ocean-profiles.d.ts.map +0 -1
- package/dist/scripts/add-ocean-profiles.js +0 -695
- package/dist/scripts/add-ocean-profiles.js.map +0 -1
- package/dist/scripts/benchmark-integration.d.ts +0 -182
- package/dist/scripts/benchmark-integration.d.ts.map +0 -1
- package/dist/scripts/benchmark-integration.js +0 -691
- package/dist/scripts/benchmark-integration.js.map +0 -1
- package/dist/scripts/benchmark-integration.test.d.ts +0 -13
- package/dist/scripts/benchmark-integration.test.d.ts.map +0 -1
- package/dist/scripts/benchmark-integration.test.js +0 -680
- package/dist/scripts/benchmark-integration.test.js.map +0 -1
- package/dist/scripts/debugging-scenarios.test.d.ts +0 -18
- package/dist/scripts/debugging-scenarios.test.d.ts.map +0 -1
- package/dist/scripts/debugging-scenarios.test.js +0 -317
- package/dist/scripts/debugging-scenarios.test.js.map +0 -1
- package/dist/scripts/generate-all-spiders.d.ts +0 -10
- package/dist/scripts/generate-all-spiders.d.ts.map +0 -1
- package/dist/scripts/generate-all-spiders.js +0 -306
- package/dist/scripts/generate-all-spiders.js.map +0 -1
- package/dist/scripts/generate-report.d.ts +0 -65
- package/dist/scripts/generate-report.d.ts.map +0 -1
- package/dist/scripts/generate-report.js +0 -378
- package/dist/scripts/generate-report.js.map +0 -1
- package/dist/scripts/generate-report.test.d.ts +0 -13
- package/dist/scripts/generate-report.test.d.ts.map +0 -1
- package/dist/scripts/generate-report.test.js +0 -363
- package/dist/scripts/generate-report.test.js.map +0 -1
- package/dist/scripts/generate-spider-report.d.ts +0 -65
- package/dist/scripts/generate-spider-report.d.ts.map +0 -1
- package/dist/scripts/generate-spider-report.js +0 -366
- package/dist/scripts/generate-spider-report.js.map +0 -1
- package/dist/scripts/generate-spider-report.test.d.ts +0 -13
- package/dist/scripts/generate-spider-report.test.d.ts.map +0 -1
- package/dist/scripts/generate-spider-report.test.js +0 -367
- package/dist/scripts/generate-spider-report.test.js.map +0 -1
- package/dist/scripts/generate-spider.d.ts +0 -47
- package/dist/scripts/generate-spider.d.ts.map +0 -1
- package/dist/scripts/generate-spider.js +0 -338
- package/dist/scripts/generate-spider.js.map +0 -1
- package/dist/scripts/generate-spider.test.d.ts +0 -14
- package/dist/scripts/generate-spider.test.d.ts.map +0 -1
- package/dist/scripts/generate-spider.test.js +0 -271
- package/dist/scripts/generate-spider.test.js.map +0 -1
- package/dist/scripts/job-fair-aggregator.d.ts.map +0 -1
- package/dist/scripts/job-fair-aggregator.js.map +0 -1
- package/dist/scripts/job-fair-aggregator.test.d.ts +0 -14
- package/dist/scripts/job-fair-aggregator.test.d.ts.map +0 -1
- package/dist/scripts/job-fair-aggregator.test.js +0 -616
- package/dist/scripts/job-fair-aggregator.test.js.map +0 -1
- package/dist/scripts/run-ci.test.d.ts +0 -20
- package/dist/scripts/run-ci.test.d.ts.map +0 -1
- package/dist/scripts/run-ci.test.js +0 -127
- package/dist/scripts/run-ci.test.js.map +0 -1
- package/dist/scripts/theme-detail.test.d.ts +0 -10
- package/dist/scripts/theme-detail.test.d.ts.map +0 -1
- package/dist/scripts/theme-detail.test.js +0 -199
- package/dist/scripts/theme-detail.test.js.map +0 -1
- package/dist/scripts/validate-ocean-profiles.d.ts +0 -9
- package/dist/scripts/validate-ocean-profiles.d.ts.map +0 -1
- package/dist/scripts/validate-ocean-profiles.js +0 -130
- package/dist/scripts/validate-ocean-profiles.js.map +0 -1
- package/dist/workflow/gate-handler.d.ts +0 -94
- package/dist/workflow/gate-handler.d.ts.map +0 -1
- package/dist/workflow/gate-handler.js +0 -189
- package/dist/workflow/gate-handler.js.map +0 -1
- package/dist/workflow/gate-handler.test.d.ts +0 -14
- package/dist/workflow/gate-handler.test.d.ts.map +0 -1
- package/dist/workflow/gate-handler.test.js +0 -543
- package/dist/workflow/gate-handler.test.js.map +0 -1
- package/dist/workflow/generic-handoff.d.ts +0 -281
- package/dist/workflow/generic-handoff.d.ts.map +0 -1
- package/dist/workflow/generic-handoff.js +0 -411
- package/dist/workflow/generic-handoff.js.map +0 -1
- package/dist/workflow/generic-handoff.test.d.ts +0 -21
- package/dist/workflow/generic-handoff.test.d.ts.map +0 -1
- package/dist/workflow/generic-handoff.test.js +0 -499
- package/dist/workflow/generic-handoff.test.js.map +0 -1
- package/dist/workflow/generic-sm-finish.d.ts +0 -89
- package/dist/workflow/generic-sm-finish.d.ts.map +0 -1
- package/dist/workflow/generic-sm-finish.js +0 -157
- package/dist/workflow/generic-sm-finish.js.map +0 -1
- package/dist/workflow/generic-sm-setup.d.ts +0 -138
- package/dist/workflow/generic-sm-setup.d.ts.map +0 -1
- package/dist/workflow/generic-sm-setup.js +0 -382
- package/dist/workflow/generic-sm-setup.js.map +0 -1
- package/dist/workflow/index.d.ts.map +0 -1
- package/dist/workflow/index.js.map +0 -1
- package/dist/workflow/session-state.d.ts +0 -92
- package/dist/workflow/session-state.d.ts.map +0 -1
- package/dist/workflow/session-state.js +0 -198
- package/dist/workflow/session-state.js.map +0 -1
- package/dist/workflow/session-state.test.d.ts +0 -8
- package/dist/workflow/session-state.test.d.ts.map +0 -1
- package/dist/workflow/session-state.test.js +0 -551
- package/dist/workflow/session-state.test.js.map +0 -1
- package/dist/workflow/sm-subagents.test.d.ts +0 -23
- package/dist/workflow/sm-subagents.test.d.ts.map +0 -1
- package/dist/workflow/sm-subagents.test.js +0 -727
- package/dist/workflow/sm-subagents.test.js.map +0 -1
- package/dist/workflow/step-parser.d.ts +0 -45
- package/dist/workflow/step-parser.d.ts.map +0 -1
- package/dist/workflow/step-parser.js +0 -147
- package/dist/workflow/step-parser.js.map +0 -1
- package/dist/workflow/step-parser.test.d.ts +0 -14
- package/dist/workflow/step-parser.test.d.ts.map +0 -1
- package/dist/workflow/step-parser.test.js +0 -470
- package/dist/workflow/step-parser.test.js.map +0 -1
- package/dist/workflow/story-workflow-routing.test.d.ts +0 -17
- package/dist/workflow/story-workflow-routing.test.d.ts.map +0 -1
- package/dist/workflow/story-workflow-routing.test.js +0 -559
- package/dist/workflow/story-workflow-routing.test.js.map +0 -1
- package/dist/workflow/test-cache.d.ts +0 -131
- package/dist/workflow/test-cache.d.ts.map +0 -1
- package/dist/workflow/test-cache.js +0 -226
- package/dist/workflow/test-cache.js.map +0 -1
- package/dist/workflow/test-cache.test.d.ts +0 -17
- package/dist/workflow/test-cache.test.d.ts.map +0 -1
- package/dist/workflow/test-cache.test.js +0 -438
- package/dist/workflow/test-cache.test.js.map +0 -1
- package/dist/workflow/trimodal.d.ts +0 -86
- package/dist/workflow/trimodal.d.ts.map +0 -1
- package/dist/workflow/trimodal.js +0 -118
- package/dist/workflow/trimodal.js.map +0 -1
- package/dist/workflow/trimodal.test.d.ts +0 -11
- package/dist/workflow/trimodal.test.d.ts.map +0 -1
- package/dist/workflow/trimodal.test.js +0 -395
- package/dist/workflow/trimodal.test.js.map +0 -1
- package/dist/workflow/variable-resolver.d.ts +0 -67
- package/dist/workflow/variable-resolver.d.ts.map +0 -1
- package/dist/workflow/variable-resolver.js +0 -156
- package/dist/workflow/variable-resolver.js.map +0 -1
- package/dist/workflow/variable-resolver.test.d.ts +0 -14
- package/dist/workflow/variable-resolver.test.d.ts.map +0 -1
- package/dist/workflow/variable-resolver.test.js +0 -400
- package/dist/workflow/variable-resolver.test.js.map +0 -1
- package/dist/workflow/workflow-executor.d.ts +0 -163
- package/dist/workflow/workflow-executor.d.ts.map +0 -1
- package/dist/workflow/workflow-executor.js +0 -197
- package/dist/workflow/workflow-executor.js.map +0 -1
- package/dist/workflow/workflow-executor.test.d.ts +0 -8
- package/dist/workflow/workflow-executor.test.d.ts.map +0 -1
- package/dist/workflow/workflow-executor.test.js +0 -444
- package/dist/workflow/workflow-executor.test.js.map +0 -1
- package/dist/workflow/workflow-loader.d.ts.map +0 -1
- package/dist/workflow/workflow-loader.js.map +0 -1
- package/dist/workflow/workflow-loader.test.d.ts +0 -15
- package/dist/workflow/workflow-loader.test.d.ts.map +0 -1
- package/dist/workflow/workflow-loader.test.js +0 -354
- package/dist/workflow/workflow-loader.test.js.map +0 -1
- package/dist/workflow/workflow-migration.test.d.ts +0 -17
- package/dist/workflow/workflow-migration.test.d.ts.map +0 -1
- package/dist/workflow/workflow-migration.test.js +0 -371
- package/dist/workflow/workflow-migration.test.js.map +0 -1
- package/dist/workflow/workflow-permissions.d.ts.map +0 -1
- package/dist/workflow/workflow-permissions.js.map +0 -1
- package/dist/workflow/workflow-permissions.test.d.ts +0 -15
- package/dist/workflow/workflow-permissions.test.d.ts.map +0 -1
- package/dist/workflow/workflow-permissions.test.js +0 -301
- package/dist/workflow/workflow-permissions.test.js.map +0 -1
- package/dist/workflow/workflow-router.d.ts.map +0 -1
- package/dist/workflow/workflow-router.js.map +0 -1
- package/dist/workflow/workflow-router.test.d.ts +0 -20
- package/dist/workflow/workflow-router.test.d.ts.map +0 -1
- package/dist/workflow/workflow-router.test.js +0 -607
- package/dist/workflow/workflow-router.test.js.map +0 -1
- package/dist/workflow/workflow-schema.d.ts.map +0 -1
- package/dist/workflow/workflow-schema.js.map +0 -1
- package/dist/workflow/workflow-schema.test.d.ts +0 -45
- package/dist/workflow/workflow-schema.test.d.ts.map +0 -1
- package/dist/workflow/workflow-schema.test.js +0 -512
- package/dist/workflow/workflow-schema.test.js.map +0 -1
- package/dist/workflow/workflow-stepped-schema.test.d.ts +0 -18
- package/dist/workflow/workflow-stepped-schema.test.d.ts.map +0 -1
- package/dist/workflow/workflow-stepped-schema.test.js +0 -608
- package/dist/workflow/workflow-stepped-schema.test.js.map +0 -1
|
@@ -1,306 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Batch OCEAN Spider Chart Generator
|
|
3
|
-
*
|
|
4
|
-
* Generates SVG spider charts for all 630 characters (63 themes × 10 agents)
|
|
5
|
-
* and creates markdown indices for navigation.
|
|
6
|
-
*
|
|
7
|
-
* Parallel to generate-all-faces.ts but produces spider charts instead of Chernoff faces.
|
|
8
|
-
*/
|
|
9
|
-
import { writeFileSync, mkdirSync, existsSync, readdirSync, readFileSync } from 'fs';
|
|
10
|
-
import { join, dirname } from 'path';
|
|
11
|
-
import { fileURLToPath } from 'url';
|
|
12
|
-
import { parse as parseYaml } from 'yaml';
|
|
13
|
-
import { generateSpider, generateTeamOverlay, ROLE_COLORS } from './generate-spider.js';
|
|
14
|
-
import { findMonorepoRoot } from '../cli/utils/files.js';
|
|
15
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
16
|
-
const __dirname = dirname(__filename);
|
|
17
|
-
// Find monorepo root by walking up from current directory
|
|
18
|
-
const projectRoot = findMonorepoRoot(__dirname);
|
|
19
|
-
const spidersDir = join(projectRoot, 'pennyfarthing-dist', 'personas', 'spiders');
|
|
20
|
-
const themesDir = join(projectRoot, 'pennyfarthing-dist', 'personas', 'themes');
|
|
21
|
-
// Dynamically load all themes from the themes directory
|
|
22
|
-
function getAllThemes() {
|
|
23
|
-
const files = readdirSync(themesDir).filter((f) => f.endsWith('.yaml'));
|
|
24
|
-
return files.map((f) => f.replace('.yaml', '')).sort();
|
|
25
|
-
}
|
|
26
|
-
const THEMES = getAllThemes();
|
|
27
|
-
// 10 agents per theme
|
|
28
|
-
const AGENTS = [
|
|
29
|
-
'orchestrator',
|
|
30
|
-
'sm',
|
|
31
|
-
'tea',
|
|
32
|
-
'dev',
|
|
33
|
-
'reviewer',
|
|
34
|
-
'architect',
|
|
35
|
-
'pm',
|
|
36
|
-
'tech-writer',
|
|
37
|
-
'ux-designer',
|
|
38
|
-
'devops',
|
|
39
|
-
];
|
|
40
|
-
// Human-readable agent names for markdown
|
|
41
|
-
const AGENT_NAMES = {
|
|
42
|
-
orchestrator: 'Orchestrator',
|
|
43
|
-
sm: 'Scrum Master',
|
|
44
|
-
tea: 'Test Engineer',
|
|
45
|
-
dev: 'Developer',
|
|
46
|
-
reviewer: 'Reviewer',
|
|
47
|
-
architect: 'Architect',
|
|
48
|
-
pm: 'Product Manager',
|
|
49
|
-
'tech-writer': 'Tech Writer',
|
|
50
|
-
'ux-designer': 'UX Designer',
|
|
51
|
-
devops: 'DevOps',
|
|
52
|
-
};
|
|
53
|
-
const themeCache = new Map();
|
|
54
|
-
// Convert name to URL-safe slug (lowercase kebab-case)
|
|
55
|
-
function toSlug(name) {
|
|
56
|
-
return name
|
|
57
|
-
.toLowerCase()
|
|
58
|
-
.replace(/[^a-z0-9]+/g, '-')
|
|
59
|
-
.replace(/^-|-$/g, '');
|
|
60
|
-
}
|
|
61
|
-
// Generate OCEAN suffix from scores
|
|
62
|
-
function oceanSuffix(ocean) {
|
|
63
|
-
return `${ocean.O}${ocean.C}${ocean.E}${ocean.A}${ocean.N}`;
|
|
64
|
-
}
|
|
65
|
-
// Load agent data for all agents in a theme
|
|
66
|
-
function getAgentData(theme) {
|
|
67
|
-
if (themeCache.has(theme)) {
|
|
68
|
-
return themeCache.get(theme);
|
|
69
|
-
}
|
|
70
|
-
const themePath = join(themesDir, `${theme}.yaml`);
|
|
71
|
-
const content = readFileSync(themePath, 'utf-8');
|
|
72
|
-
const data = parseYaml(content);
|
|
73
|
-
const agents = {};
|
|
74
|
-
if (data?.agents) {
|
|
75
|
-
for (const agent of AGENTS) {
|
|
76
|
-
const agentInfo = data.agents[agent];
|
|
77
|
-
if (agentInfo) {
|
|
78
|
-
const character = agentInfo.character || AGENT_NAMES[agent];
|
|
79
|
-
const shortName = agentInfo.shortName || character.split(' ')[0];
|
|
80
|
-
const baseSlug = toSlug(shortName);
|
|
81
|
-
const ocean = agentInfo.ocean || { O: 3, C: 3, E: 3, A: 3, N: 3 };
|
|
82
|
-
const slug = `${baseSlug}-${oceanSuffix(ocean)}`;
|
|
83
|
-
agents[agent] = { character, shortName, slug };
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
agents[agent] = {
|
|
87
|
-
character: AGENT_NAMES[agent],
|
|
88
|
-
shortName: AGENT_NAMES[agent],
|
|
89
|
-
slug: agent,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
themeCache.set(theme, agents);
|
|
95
|
-
return agents;
|
|
96
|
-
}
|
|
97
|
-
// Load character names for all agents in a theme (backward compat)
|
|
98
|
-
function getCharacterNames(theme) {
|
|
99
|
-
const agents = getAgentData(theme);
|
|
100
|
-
const names = {};
|
|
101
|
-
for (const agent of AGENTS) {
|
|
102
|
-
names[agent] = agents[agent]?.character || AGENT_NAMES[agent];
|
|
103
|
-
}
|
|
104
|
-
return names;
|
|
105
|
-
}
|
|
106
|
-
// Get a specific character name
|
|
107
|
-
function getCharacterName(theme, agent) {
|
|
108
|
-
const names = getCharacterNames(theme);
|
|
109
|
-
return names[agent] || AGENT_NAMES[agent];
|
|
110
|
-
}
|
|
111
|
-
// Escape quotes for use in HTML attributes
|
|
112
|
-
function escapeForAttr(str) {
|
|
113
|
-
return str.replace(/"/g, '"');
|
|
114
|
-
}
|
|
115
|
-
// Escape quotes for use in markdown text
|
|
116
|
-
function escapeForMarkdown(str) {
|
|
117
|
-
return str.replace(/"/g, "'");
|
|
118
|
-
}
|
|
119
|
-
// Format theme name for display
|
|
120
|
-
function formatTheme(theme) {
|
|
121
|
-
return theme
|
|
122
|
-
.split('-')
|
|
123
|
-
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
124
|
-
.join(' ');
|
|
125
|
-
}
|
|
126
|
-
function ensureDir(dir) {
|
|
127
|
-
if (!existsSync(dir)) {
|
|
128
|
-
mkdirSync(dir, { recursive: true });
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
function generateSvgFiles() {
|
|
132
|
-
console.log('Generating SVG files...');
|
|
133
|
-
const byThemeDir = join(spidersDir, 'by-theme');
|
|
134
|
-
const byRoleDir = join(spidersDir, 'by-role');
|
|
135
|
-
// Create directory structure
|
|
136
|
-
ensureDir(byThemeDir);
|
|
137
|
-
ensureDir(byRoleDir);
|
|
138
|
-
for (const theme of THEMES) {
|
|
139
|
-
ensureDir(join(byThemeDir, theme));
|
|
140
|
-
}
|
|
141
|
-
for (const agent of AGENTS) {
|
|
142
|
-
ensureDir(join(byRoleDir, agent));
|
|
143
|
-
}
|
|
144
|
-
// Generate spider charts
|
|
145
|
-
let count = 0;
|
|
146
|
-
for (const theme of THEMES) {
|
|
147
|
-
const agentData = getAgentData(theme);
|
|
148
|
-
for (const agent of AGENTS) {
|
|
149
|
-
const svg = generateSpider(theme, agent);
|
|
150
|
-
const slug = agentData[agent]?.slug || agent;
|
|
151
|
-
// Write to by-theme directory using slug-based naming
|
|
152
|
-
const themeFilePath = join(byThemeDir, theme, `${slug}.svg`);
|
|
153
|
-
writeFileSync(themeFilePath, svg);
|
|
154
|
-
// Write to by-role directory (keeps role-based for cross-theme comparison)
|
|
155
|
-
const roleFilePath = join(byRoleDir, agent, `${theme}.svg`);
|
|
156
|
-
writeFileSync(roleFilePath, svg);
|
|
157
|
-
count++;
|
|
158
|
-
}
|
|
159
|
-
// Generate team overlay for this theme
|
|
160
|
-
const teamOverlay = generateTeamOverlay(theme);
|
|
161
|
-
const teamOverlayPath = join(byThemeDir, theme, 'team-overlay.svg');
|
|
162
|
-
writeFileSync(teamOverlayPath, teamOverlay);
|
|
163
|
-
}
|
|
164
|
-
console.log(`Generated ${count} individual + ${THEMES.length} team overlay SVG files.`);
|
|
165
|
-
}
|
|
166
|
-
// Fixed image size for consistent display
|
|
167
|
-
const IMG_SIZE = 100;
|
|
168
|
-
function imgTag(src, alt) {
|
|
169
|
-
return `<img src="${src}" alt="${escapeForAttr(alt)}" width="${IMG_SIZE}" height="${IMG_SIZE}">`;
|
|
170
|
-
}
|
|
171
|
-
// Generate role color legend markdown (reserved for future use)
|
|
172
|
-
function _generateRoleColorLegend() {
|
|
173
|
-
const roleOrder = [
|
|
174
|
-
['orchestrator', 'Orchestrator'],
|
|
175
|
-
['sm', 'Scrum Master'],
|
|
176
|
-
['tea', 'Test Engineer'],
|
|
177
|
-
['dev', 'Developer'],
|
|
178
|
-
['reviewer', 'Reviewer'],
|
|
179
|
-
['architect', 'Architect'],
|
|
180
|
-
['pm', 'Product Manager'],
|
|
181
|
-
['tech-writer', 'Tech Writer'],
|
|
182
|
-
['ux-designer', 'UX Designer'],
|
|
183
|
-
['devops', 'DevOps'],
|
|
184
|
-
];
|
|
185
|
-
return roleOrder
|
|
186
|
-
.map(([role, name]) => `| }/000000?text=+) \`${ROLE_COLORS[role]}\` | ${name} |`)
|
|
187
|
-
.join('\n');
|
|
188
|
-
}
|
|
189
|
-
const LEGEND = `## Reading the Spider Charts
|
|
190
|
-
|
|
191
|
-
Each spider chart visualizes OCEAN personality scores on a pentagon:
|
|
192
|
-
|
|
193
|
-
| Vertex | Trait | Meaning |
|
|
194
|
-
|--------|-------|---------|
|
|
195
|
-
| **O** | Openness | Curiosity, creativity, willingness to try new things |
|
|
196
|
-
| **C** | Conscientiousness | Organization, discipline, goal-directed behavior |
|
|
197
|
-
| **E** | Extraversion | Sociability, assertiveness, positive emotions |
|
|
198
|
-
| **A** | Agreeableness | Cooperation, trust, helpfulness |
|
|
199
|
-
| **N** | Neuroticism | Emotional instability, anxiety, moodiness |
|
|
200
|
-
|
|
201
|
-
- Score 1 = 20% from center (inner ring)
|
|
202
|
-
- Score 5 = 100% from center (outer ring)
|
|
203
|
-
- Grid lines show levels 1-5
|
|
204
|
-
|
|
205
|
-
## Role Colors
|
|
206
|
-
|
|
207
|
-
Each role has a consistent color across all charts. **Bold** = tactical (emphasized in overlays).
|
|
208
|
-
|
|
209
|
-
| Color | Role |
|
|
210
|
-
|:-----:|:-----|
|
|
211
|
-
| <span style="color:${ROLE_COLORS['orchestrator']}">${ROLE_COLORS['orchestrator']}</span> | Orchestrator |
|
|
212
|
-
| <span style="color:${ROLE_COLORS['sm']}">**${ROLE_COLORS['sm']}**</span> | **Scrum Master** |
|
|
213
|
-
| <span style="color:${ROLE_COLORS['tea']}">**${ROLE_COLORS['tea']}**</span> | **Test Engineer** |
|
|
214
|
-
| <span style="color:${ROLE_COLORS['dev']}">**${ROLE_COLORS['dev']}**</span> | **Developer** |
|
|
215
|
-
| <span style="color:${ROLE_COLORS['reviewer']}">**${ROLE_COLORS['reviewer']}**</span> | **Reviewer** |
|
|
216
|
-
| <span style="color:${ROLE_COLORS['architect']}">${ROLE_COLORS['architect']}</span> | Architect |
|
|
217
|
-
| <span style="color:${ROLE_COLORS['pm']}">${ROLE_COLORS['pm']}</span> | Product Manager |
|
|
218
|
-
| <span style="color:${ROLE_COLORS['tech-writer']}">${ROLE_COLORS['tech-writer']}</span> | Tech Writer |
|
|
219
|
-
| <span style="color:${ROLE_COLORS['ux-designer']}">${ROLE_COLORS['ux-designer']}</span> | UX Designer |
|
|
220
|
-
| <span style="color:${ROLE_COLORS['devops']}">${ROLE_COLORS['devops']}</span> | DevOps |
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
`;
|
|
225
|
-
// Generate image tag with character name caption (reserved for future use)
|
|
226
|
-
function _imgWithName(src, characterName, agentRole) {
|
|
227
|
-
const safeName = escapeForMarkdown(characterName);
|
|
228
|
-
return `${imgTag(src, characterName)}<br/>**${safeName}**<br/><small>${agentRole}</small>`;
|
|
229
|
-
}
|
|
230
|
-
// Larger image size for team overlay
|
|
231
|
-
const OVERLAY_IMG_SIZE = 200;
|
|
232
|
-
function overlayImgTag(src, alt) {
|
|
233
|
-
return `<img src="${src}" alt="${escapeForAttr(alt)}" width="${OVERLAY_IMG_SIZE}" height="${OVERLAY_IMG_SIZE}">`;
|
|
234
|
-
}
|
|
235
|
-
function generateTeamPhotos() {
|
|
236
|
-
console.log('Generating team-spiders.md...');
|
|
237
|
-
let md = `# Team Spider Charts
|
|
238
|
-
|
|
239
|
-
OCEAN spider charts for each theme's agent team. Each theme shows a combined team overlay followed by individual role charts.
|
|
240
|
-
|
|
241
|
-
${LEGEND}`;
|
|
242
|
-
for (const theme of THEMES) {
|
|
243
|
-
const themeTitle = formatTheme(theme);
|
|
244
|
-
const charNames = getCharacterNames(theme);
|
|
245
|
-
md += `## ${themeTitle}\n\n`;
|
|
246
|
-
// Team overlay at top
|
|
247
|
-
md += `### Team Overview\n\n`;
|
|
248
|
-
md += `${overlayImgTag(`by-theme/${theme}/team-overlay.svg`, `${themeTitle} Team Overlay`)}\n\n`;
|
|
249
|
-
// Vertical list: one agent per row for easy comparison
|
|
250
|
-
md += `### Individual Roles\n\n`;
|
|
251
|
-
md += '| Role | Spider | Character |\n';
|
|
252
|
-
md += '|:-----|:------:|:----------|\n';
|
|
253
|
-
const agentData = getAgentData(theme);
|
|
254
|
-
for (const agent of AGENTS) {
|
|
255
|
-
const charName = escapeForMarkdown(charNames[agent]);
|
|
256
|
-
const slug = agentData[agent]?.slug || agent;
|
|
257
|
-
const imgSrc = `by-theme/${theme}/${slug}.svg`;
|
|
258
|
-
md += `| ${AGENT_NAMES[agent]} | ${imgTag(imgSrc, charNames[agent])} | **${charName}** |\n`;
|
|
259
|
-
}
|
|
260
|
-
md += '\n';
|
|
261
|
-
}
|
|
262
|
-
writeFileSync(join(spidersDir, 'team-spiders.md'), md);
|
|
263
|
-
console.log('Generated team-spiders.md');
|
|
264
|
-
}
|
|
265
|
-
// Generate image tag with character name for role gallery (reserved for future use)
|
|
266
|
-
function _imgWithCharacter(src, theme, agent) {
|
|
267
|
-
const charName = getCharacterName(theme, agent);
|
|
268
|
-
const safeName = escapeForMarkdown(charName);
|
|
269
|
-
return `${imgTag(src, charName)}<br/>**${safeName}**`;
|
|
270
|
-
}
|
|
271
|
-
function generateRoleGallery() {
|
|
272
|
-
console.log('Generating role-spiders.md...');
|
|
273
|
-
let md = `# Role Spider Gallery
|
|
274
|
-
|
|
275
|
-
Each agent role across all ${THEMES.length} themes. Vertical layout for easy visual comparison of how personality profiles vary.
|
|
276
|
-
|
|
277
|
-
${LEGEND}`;
|
|
278
|
-
for (const agent of AGENTS) {
|
|
279
|
-
const agentName = AGENT_NAMES[agent];
|
|
280
|
-
md += `## ${agentName}\n\n`;
|
|
281
|
-
// Vertical list: one theme per row for easy comparison
|
|
282
|
-
md += '| Theme | Spider | Character |\n';
|
|
283
|
-
md += '|:------|:------:|:----------|\n';
|
|
284
|
-
for (const theme of THEMES) {
|
|
285
|
-
const charName = escapeForMarkdown(getCharacterName(theme, agent));
|
|
286
|
-
const imgSrc = `by-role/${agent}/${theme}.svg`;
|
|
287
|
-
md += `| ${formatTheme(theme)} | ${imgTag(imgSrc, charName)} | **${charName}** |\n`;
|
|
288
|
-
}
|
|
289
|
-
md += '\n';
|
|
290
|
-
}
|
|
291
|
-
writeFileSync(join(spidersDir, 'role-spiders.md'), md);
|
|
292
|
-
console.log('Generated role-spiders.md');
|
|
293
|
-
}
|
|
294
|
-
// Main execution
|
|
295
|
-
console.log('=== Batch OCEAN Spider Chart Generator ===');
|
|
296
|
-
console.log(`Output directory: ${spidersDir}`);
|
|
297
|
-
console.log(`Themes: ${THEMES.length}`);
|
|
298
|
-
console.log(`Agents: ${AGENTS.length}`);
|
|
299
|
-
console.log(`Total spider charts: ${THEMES.length * AGENTS.length}`);
|
|
300
|
-
console.log('');
|
|
301
|
-
generateSvgFiles();
|
|
302
|
-
generateTeamPhotos();
|
|
303
|
-
generateRoleGallery();
|
|
304
|
-
console.log('');
|
|
305
|
-
console.log('Done!');
|
|
306
|
-
//# sourceMappingURL=generate-all-spiders.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-all-spiders.js","sourceRoot":"","sources":["../../src/scripts/generate-all-spiders.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OCEAN Face Report Generator
|
|
3
|
-
*
|
|
4
|
-
* Story 11-7: Build slice/report generator
|
|
5
|
-
*
|
|
6
|
-
* Generates filtered face reports and character comparisons with markdown output.
|
|
7
|
-
* Supports filtering by role, theme, and OCEAN dimensions.
|
|
8
|
-
*/
|
|
9
|
-
export interface OceanScores {
|
|
10
|
-
O: number;
|
|
11
|
-
C: number;
|
|
12
|
-
E: number;
|
|
13
|
-
A: number;
|
|
14
|
-
N: number;
|
|
15
|
-
}
|
|
16
|
-
export interface CharacterInfo {
|
|
17
|
-
theme: string;
|
|
18
|
-
agent: string;
|
|
19
|
-
character: string;
|
|
20
|
-
ocean: OceanScores;
|
|
21
|
-
}
|
|
22
|
-
export interface OceanFilter {
|
|
23
|
-
dimension: keyof OceanScores;
|
|
24
|
-
operator: '>=' | '<=' | '=' | '>' | '<';
|
|
25
|
-
value: number;
|
|
26
|
-
}
|
|
27
|
-
export interface ReportOptions {
|
|
28
|
-
role?: string;
|
|
29
|
-
theme?: string;
|
|
30
|
-
ocean?: string;
|
|
31
|
-
}
|
|
32
|
-
export interface ReportResult {
|
|
33
|
-
characters: CharacterInfo[];
|
|
34
|
-
markdown: string;
|
|
35
|
-
filter: ReportOptions;
|
|
36
|
-
}
|
|
37
|
-
export interface ComparisonResult {
|
|
38
|
-
characters: CharacterInfo[];
|
|
39
|
-
markdown: string;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Parse an OCEAN filter expression like "O>=4" or "A<=2"
|
|
43
|
-
*/
|
|
44
|
-
export declare function parseOceanFilter(expr: string): OceanFilter;
|
|
45
|
-
/**
|
|
46
|
-
* Filter characters by OCEAN dimension expression
|
|
47
|
-
*/
|
|
48
|
-
export declare function filterByOcean(expression: string): CharacterInfo[];
|
|
49
|
-
/**
|
|
50
|
-
* Filter characters by agent role
|
|
51
|
-
*/
|
|
52
|
-
export declare function filterByRole(role: string): CharacterInfo[];
|
|
53
|
-
/**
|
|
54
|
-
* Filter characters by theme (returns all 10 agents for that theme)
|
|
55
|
-
*/
|
|
56
|
-
export declare function filterByTheme(theme: string): CharacterInfo[];
|
|
57
|
-
/**
|
|
58
|
-
* Compare 2-4 characters side-by-side
|
|
59
|
-
*/
|
|
60
|
-
export declare function compareCharacters(specs: string[]): ComparisonResult;
|
|
61
|
-
/**
|
|
62
|
-
* Generate a filtered report with markdown output
|
|
63
|
-
*/
|
|
64
|
-
export declare function generateReport(options: ReportOptions): ReportResult;
|
|
65
|
-
//# sourceMappingURL=generate-report.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-report.d.ts","sourceRoot":"","sources":["../../src/scripts/generate-report.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoBH,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,WAAW,CAAC;IAC7B,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgKD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAsC1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,EAAE,CAKjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAO1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAgB5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAkCnE;AAwDD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CAgCnE"}
|