@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,367 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tests for Story 11-12: Spider chart report generator
|
|
3
|
-
*
|
|
4
|
-
* These tests verify:
|
|
5
|
-
* AC1: generate-spider-report.ts mirrors generate-report.ts interface
|
|
6
|
-
* AC2: Supports role, theme, and OCEAN filters
|
|
7
|
-
* AC3: Comparison mode uses spider overlay charts
|
|
8
|
-
* AC4: Output as markdown with embedded SVGs
|
|
9
|
-
*
|
|
10
|
-
* Run with: npm test
|
|
11
|
-
*/
|
|
12
|
-
import { describe, it } from 'node:test';
|
|
13
|
-
import assert from 'node:assert';
|
|
14
|
-
// ============================================================================
|
|
15
|
-
// AC1: Generator Module Exists and Exports (mirrors generate-report.ts)
|
|
16
|
-
// ============================================================================
|
|
17
|
-
describe('AC1: Spider Report Generator Module Exists', () => {
|
|
18
|
-
it('should export generateReport function', async () => {
|
|
19
|
-
const module = await import('./generate-spider-report.js');
|
|
20
|
-
assert.ok(typeof module.generateReport === 'function', 'generateReport should be a function');
|
|
21
|
-
});
|
|
22
|
-
it('should export filterByOcean function', async () => {
|
|
23
|
-
const module = await import('./generate-spider-report.js');
|
|
24
|
-
assert.ok(typeof module.filterByOcean === 'function', 'filterByOcean should be a function');
|
|
25
|
-
});
|
|
26
|
-
it('should export filterByRole function', async () => {
|
|
27
|
-
const module = await import('./generate-spider-report.js');
|
|
28
|
-
assert.ok(typeof module.filterByRole === 'function', 'filterByRole should be a function');
|
|
29
|
-
});
|
|
30
|
-
it('should export filterByTheme function', async () => {
|
|
31
|
-
const module = await import('./generate-spider-report.js');
|
|
32
|
-
assert.ok(typeof module.filterByTheme === 'function', 'filterByTheme should be a function');
|
|
33
|
-
});
|
|
34
|
-
it('should export compareCharacters function', async () => {
|
|
35
|
-
const module = await import('./generate-spider-report.js');
|
|
36
|
-
assert.ok(typeof module.compareCharacters === 'function', 'compareCharacters should be a function');
|
|
37
|
-
});
|
|
38
|
-
it('should export parseOceanFilter function', async () => {
|
|
39
|
-
const module = await import('./generate-spider-report.js');
|
|
40
|
-
assert.ok(typeof module.parseOceanFilter === 'function', 'parseOceanFilter should be a function');
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
// ============================================================================
|
|
44
|
-
// AC2: OCEAN Filter Support (same as generate-report.ts)
|
|
45
|
-
// ============================================================================
|
|
46
|
-
describe('AC2: OCEAN Filter Parsing', () => {
|
|
47
|
-
it('should parse "O>=4" into dimension O, operator >=, value 4', async () => {
|
|
48
|
-
const { parseOceanFilter } = await import('./generate-spider-report.js');
|
|
49
|
-
const filter = parseOceanFilter('O>=4');
|
|
50
|
-
assert.strictEqual(filter.dimension, 'O');
|
|
51
|
-
assert.strictEqual(filter.operator, '>=');
|
|
52
|
-
assert.strictEqual(filter.value, 4);
|
|
53
|
-
});
|
|
54
|
-
it('should parse "A<=2" into dimension A, operator <=, value 2', async () => {
|
|
55
|
-
const { parseOceanFilter } = await import('./generate-spider-report.js');
|
|
56
|
-
const filter = parseOceanFilter('A<=2');
|
|
57
|
-
assert.strictEqual(filter.dimension, 'A');
|
|
58
|
-
assert.strictEqual(filter.operator, '<=');
|
|
59
|
-
assert.strictEqual(filter.value, 2);
|
|
60
|
-
});
|
|
61
|
-
it('should parse "C=5" into dimension C, operator =, value 5', async () => {
|
|
62
|
-
const { parseOceanFilter } = await import('./generate-spider-report.js');
|
|
63
|
-
const filter = parseOceanFilter('C=5');
|
|
64
|
-
assert.strictEqual(filter.dimension, 'C');
|
|
65
|
-
assert.strictEqual(filter.operator, '=');
|
|
66
|
-
assert.strictEqual(filter.value, 5);
|
|
67
|
-
});
|
|
68
|
-
it('should parse "N>3" into dimension N, operator >, value 3', async () => {
|
|
69
|
-
const { parseOceanFilter } = await import('./generate-spider-report.js');
|
|
70
|
-
const filter = parseOceanFilter('N>3');
|
|
71
|
-
assert.strictEqual(filter.dimension, 'N');
|
|
72
|
-
assert.strictEqual(filter.operator, '>');
|
|
73
|
-
assert.strictEqual(filter.value, 3);
|
|
74
|
-
});
|
|
75
|
-
it('should parse "E<2" into dimension E, operator <, value 2', async () => {
|
|
76
|
-
const { parseOceanFilter } = await import('./generate-spider-report.js');
|
|
77
|
-
const filter = parseOceanFilter('E<2');
|
|
78
|
-
assert.strictEqual(filter.dimension, 'E');
|
|
79
|
-
assert.strictEqual(filter.operator, '<');
|
|
80
|
-
assert.strictEqual(filter.value, 2);
|
|
81
|
-
});
|
|
82
|
-
it('should throw error for invalid dimension "X>=4"', async () => {
|
|
83
|
-
const { parseOceanFilter } = await import('./generate-spider-report.js');
|
|
84
|
-
assert.throws(() => parseOceanFilter('X>=4'), /invalid.*dimension/i, 'Should throw for invalid OCEAN dimension');
|
|
85
|
-
});
|
|
86
|
-
it('should throw error for invalid operator "O~4"', async () => {
|
|
87
|
-
const { parseOceanFilter } = await import('./generate-spider-report.js');
|
|
88
|
-
assert.throws(() => parseOceanFilter('O~4'), /invalid.*operator/i, 'Should throw for invalid operator');
|
|
89
|
-
});
|
|
90
|
-
it('should throw error for invalid value "O>=six"', async () => {
|
|
91
|
-
const { parseOceanFilter } = await import('./generate-spider-report.js');
|
|
92
|
-
assert.throws(() => parseOceanFilter('O>=six'), /invalid.*value/i, 'Should throw for non-numeric value');
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
describe('AC2: OCEAN Filtering Results', () => {
|
|
96
|
-
it('should return only characters with O >= 4 when filtering by "O>=4"', async () => {
|
|
97
|
-
const { filterByOcean } = await import('./generate-spider-report.js');
|
|
98
|
-
const results = filterByOcean('O>=4');
|
|
99
|
-
assert.ok(Array.isArray(results), 'Should return array');
|
|
100
|
-
assert.ok(results.length > 0, 'Should return at least one character');
|
|
101
|
-
// Verify all returned characters have O >= 4
|
|
102
|
-
for (const char of results) {
|
|
103
|
-
assert.ok(char.ocean.O >= 4, `Character ${char.theme}:${char.agent} should have O >= 4, got ${char.ocean.O}`);
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
it('should return only characters with A <= 2 when filtering by "A<=2"', async () => {
|
|
107
|
-
const { filterByOcean } = await import('./generate-spider-report.js');
|
|
108
|
-
const results = filterByOcean('A<=2');
|
|
109
|
-
assert.ok(Array.isArray(results), 'Should return array');
|
|
110
|
-
for (const char of results) {
|
|
111
|
-
assert.ok(char.ocean.A <= 2, `Character ${char.theme}:${char.agent} should have A <= 2, got ${char.ocean.A}`);
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
it('should return characters with exact match for "C=5"', async () => {
|
|
115
|
-
const { filterByOcean } = await import('./generate-spider-report.js');
|
|
116
|
-
const results = filterByOcean('C=5');
|
|
117
|
-
for (const char of results) {
|
|
118
|
-
assert.strictEqual(char.ocean.C, 5, `Character ${char.theme}:${char.agent} should have C = 5`);
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
describe('AC2: Role Filter Support', () => {
|
|
123
|
-
it('should return only reviewers when filtering by role "reviewer"', async () => {
|
|
124
|
-
const { filterByRole } = await import('./generate-spider-report.js');
|
|
125
|
-
const results = filterByRole('reviewer');
|
|
126
|
-
assert.ok(Array.isArray(results), 'Should return array');
|
|
127
|
-
assert.ok(results.length > 0, 'Should return at least one character');
|
|
128
|
-
for (const char of results) {
|
|
129
|
-
assert.strictEqual(char.agent, 'reviewer', `Should only return reviewers, got ${char.agent}`);
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
it('should return all agents for a role across all themes', async () => {
|
|
133
|
-
const { filterByRole } = await import('./generate-spider-report.js');
|
|
134
|
-
const results = filterByRole('sm');
|
|
135
|
-
// Should have one SM per theme (63 themes)
|
|
136
|
-
assert.ok(results.length >= 60, `Should have 60+ SMs, got ${results.length}`);
|
|
137
|
-
});
|
|
138
|
-
it('should throw error for invalid role', async () => {
|
|
139
|
-
const { filterByRole } = await import('./generate-spider-report.js');
|
|
140
|
-
assert.throws(() => filterByRole('invalid-role'), /invalid.*role/i, 'Should throw for invalid role');
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
describe('AC2: Theme Filter Support', () => {
|
|
144
|
-
it('should return all 10 agents for deadwood theme', async () => {
|
|
145
|
-
const { filterByTheme } = await import('./generate-spider-report.js');
|
|
146
|
-
const results = filterByTheme('deadwood');
|
|
147
|
-
assert.ok(Array.isArray(results), 'Should return array');
|
|
148
|
-
assert.strictEqual(results.length, 10, 'Should return exactly 10 agents');
|
|
149
|
-
for (const char of results) {
|
|
150
|
-
assert.strictEqual(char.theme, 'deadwood', `Should only return deadwood characters, got ${char.theme}`);
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
it('should return agents with character names from theme', async () => {
|
|
154
|
-
const { filterByTheme } = await import('./generate-spider-report.js');
|
|
155
|
-
const results = filterByTheme('deadwood');
|
|
156
|
-
const sm = results.find((r) => r.agent === 'sm');
|
|
157
|
-
assert.ok(sm, 'Should have an SM agent');
|
|
158
|
-
assert.ok(sm.character, 'SM should have a character name');
|
|
159
|
-
assert.ok(sm.character.length > 0, 'Character name should not be empty');
|
|
160
|
-
});
|
|
161
|
-
it('should throw error for non-existent theme', async () => {
|
|
162
|
-
const { filterByTheme } = await import('./generate-spider-report.js');
|
|
163
|
-
assert.throws(() => filterByTheme('nonexistent-theme'), /theme.*not found/i, 'Should throw for non-existent theme');
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
describe('AC2: Combined Filters', () => {
|
|
167
|
-
it('should support combining role and OCEAN filters', async () => {
|
|
168
|
-
const { generateReport } = await import('./generate-spider-report.js');
|
|
169
|
-
const results = generateReport({ role: 'reviewer', ocean: 'A<=2' });
|
|
170
|
-
assert.ok(Array.isArray(results.characters), 'Should return characters array');
|
|
171
|
-
for (const char of results.characters) {
|
|
172
|
-
assert.strictEqual(char.agent, 'reviewer', 'Should be reviewer');
|
|
173
|
-
assert.ok(char.ocean.A <= 2, `Should have A <= 2, got ${char.ocean.A}`);
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
it('should support combining theme and OCEAN filters', async () => {
|
|
177
|
-
const { generateReport } = await import('./generate-spider-report.js');
|
|
178
|
-
const results = generateReport({ theme: 'deadwood', ocean: 'N>=4' });
|
|
179
|
-
for (const char of results.characters) {
|
|
180
|
-
assert.strictEqual(char.theme, 'deadwood', 'Should be deadwood');
|
|
181
|
-
assert.ok(char.ocean.N >= 4, `Should have N >= 4, got ${char.ocean.N}`);
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
});
|
|
185
|
-
// ============================================================================
|
|
186
|
-
// AC3: Comparison Mode Uses Spider Overlay Charts
|
|
187
|
-
// ============================================================================
|
|
188
|
-
describe('AC3: Character Comparison with Spider Overlay', () => {
|
|
189
|
-
it('should compare 2 characters using overlay chart', async () => {
|
|
190
|
-
const { compareCharacters } = await import('./generate-spider-report.js');
|
|
191
|
-
const result = compareCharacters(['deadwood:sm', 'firefly:sm']);
|
|
192
|
-
assert.ok(result.characters, 'Should have characters array');
|
|
193
|
-
assert.strictEqual(result.characters.length, 2, 'Should have 2 characters');
|
|
194
|
-
assert.strictEqual(result.characters[0].theme, 'deadwood');
|
|
195
|
-
assert.strictEqual(result.characters[1].theme, 'firefly');
|
|
196
|
-
});
|
|
197
|
-
it('should compare 3 characters using overlay chart', async () => {
|
|
198
|
-
const { compareCharacters } = await import('./generate-spider-report.js');
|
|
199
|
-
const result = compareCharacters(['deadwood:sm', 'firefly:sm', 'fargo:sm']);
|
|
200
|
-
assert.strictEqual(result.characters.length, 3, 'Should have 3 characters');
|
|
201
|
-
});
|
|
202
|
-
it('should compare 4 characters using overlay chart', async () => {
|
|
203
|
-
const { compareCharacters } = await import('./generate-spider-report.js');
|
|
204
|
-
const result = compareCharacters([
|
|
205
|
-
'deadwood:sm',
|
|
206
|
-
'firefly:sm',
|
|
207
|
-
'fargo:sm',
|
|
208
|
-
'succession:sm',
|
|
209
|
-
]);
|
|
210
|
-
assert.strictEqual(result.characters.length, 4, 'Should have 4 characters');
|
|
211
|
-
});
|
|
212
|
-
it('should include OCEAN scores for each compared character', async () => {
|
|
213
|
-
const { compareCharacters } = await import('./generate-spider-report.js');
|
|
214
|
-
const result = compareCharacters(['deadwood:sm', 'firefly:sm']);
|
|
215
|
-
for (const char of result.characters) {
|
|
216
|
-
assert.ok(char.ocean, 'Character should have OCEAN scores');
|
|
217
|
-
assert.ok(typeof char.ocean.O === 'number', 'O should be a number');
|
|
218
|
-
assert.ok(typeof char.ocean.C === 'number', 'C should be a number');
|
|
219
|
-
assert.ok(typeof char.ocean.E === 'number', 'E should be a number');
|
|
220
|
-
assert.ok(typeof char.ocean.A === 'number', 'A should be a number');
|
|
221
|
-
assert.ok(typeof char.ocean.N === 'number', 'N should be a number');
|
|
222
|
-
}
|
|
223
|
-
});
|
|
224
|
-
it('should include character name for each compared character', async () => {
|
|
225
|
-
const { compareCharacters } = await import('./generate-spider-report.js');
|
|
226
|
-
const result = compareCharacters(['deadwood:sm', 'firefly:sm']);
|
|
227
|
-
for (const char of result.characters) {
|
|
228
|
-
assert.ok(char.character, 'Character should have a name');
|
|
229
|
-
assert.ok(char.character.length > 0, 'Character name should not be empty');
|
|
230
|
-
}
|
|
231
|
-
});
|
|
232
|
-
it('should reject comparison with fewer than 2 characters', async () => {
|
|
233
|
-
const { compareCharacters } = await import('./generate-spider-report.js');
|
|
234
|
-
assert.throws(() => compareCharacters(['deadwood:sm']), /at least 2/i, 'Should require at least 2 characters');
|
|
235
|
-
});
|
|
236
|
-
it('should reject comparison with more than 4 characters', async () => {
|
|
237
|
-
const { compareCharacters } = await import('./generate-spider-report.js');
|
|
238
|
-
assert.throws(() => compareCharacters([
|
|
239
|
-
'deadwood:sm',
|
|
240
|
-
'firefly:sm',
|
|
241
|
-
'fargo:sm',
|
|
242
|
-
'succession:sm',
|
|
243
|
-
'breaking-bad:sm',
|
|
244
|
-
]), /at most 4/i, 'Should allow at most 4 characters');
|
|
245
|
-
});
|
|
246
|
-
it('should parse "theme:agent" format correctly', async () => {
|
|
247
|
-
const { compareCharacters } = await import('./generate-spider-report.js');
|
|
248
|
-
const result = compareCharacters(['deadwood:reviewer', 'firefly:tea']);
|
|
249
|
-
assert.strictEqual(result.characters[0].theme, 'deadwood');
|
|
250
|
-
assert.strictEqual(result.characters[0].agent, 'reviewer');
|
|
251
|
-
assert.strictEqual(result.characters[1].theme, 'firefly');
|
|
252
|
-
assert.strictEqual(result.characters[1].agent, 'tea');
|
|
253
|
-
});
|
|
254
|
-
it('should throw error for invalid theme:agent format', async () => {
|
|
255
|
-
const { compareCharacters } = await import('./generate-spider-report.js');
|
|
256
|
-
assert.throws(() => compareCharacters(['deadwood-sm', 'firefly:sm']), /invalid.*format/i, 'Should throw for missing colon separator');
|
|
257
|
-
});
|
|
258
|
-
it('should throw error for non-existent theme in comparison', async () => {
|
|
259
|
-
const { compareCharacters } = await import('./generate-spider-report.js');
|
|
260
|
-
assert.throws(() => compareCharacters(['nonexistent:sm', 'firefly:sm']), /theme.*not found/i, 'Should throw for non-existent theme');
|
|
261
|
-
});
|
|
262
|
-
it('should throw error for non-existent agent in comparison', async () => {
|
|
263
|
-
const { compareCharacters } = await import('./generate-spider-report.js');
|
|
264
|
-
assert.throws(() => compareCharacters(['deadwood:nonexistent', 'firefly:sm']), /agent.*not found/i, 'Should throw for non-existent agent');
|
|
265
|
-
});
|
|
266
|
-
it('should generate overlay spider chart in comparison markdown', async () => {
|
|
267
|
-
const { compareCharacters } = await import('./generate-spider-report.js');
|
|
268
|
-
const result = compareCharacters(['deadwood:sm', 'firefly:sm']);
|
|
269
|
-
// Overlay spider charts are embedded as data URLs
|
|
270
|
-
assert.ok(result.markdown.includes('data:image/svg+xml;base64,'), 'Should embed spider chart as data URL');
|
|
271
|
-
});
|
|
272
|
-
});
|
|
273
|
-
// ============================================================================
|
|
274
|
-
// AC4: Markdown Output with Embedded Spider SVGs
|
|
275
|
-
// ============================================================================
|
|
276
|
-
describe('AC4: Markdown Output Format', () => {
|
|
277
|
-
it('should output valid markdown string', async () => {
|
|
278
|
-
const { generateReport } = await import('./generate-spider-report.js');
|
|
279
|
-
const result = generateReport({ role: 'sm' });
|
|
280
|
-
assert.ok(typeof result.markdown === 'string', 'Should have markdown property');
|
|
281
|
-
assert.ok(result.markdown.length > 0, 'Markdown should not be empty');
|
|
282
|
-
});
|
|
283
|
-
it('should include markdown header', async () => {
|
|
284
|
-
const { generateReport } = await import('./generate-spider-report.js');
|
|
285
|
-
const result = generateReport({ role: 'sm' });
|
|
286
|
-
assert.ok(result.markdown.includes('#'), 'Should have markdown header');
|
|
287
|
-
});
|
|
288
|
-
it('should embed spider chart SVGs as data URLs in markdown', async () => {
|
|
289
|
-
const { generateReport } = await import('./generate-spider-report.js');
|
|
290
|
-
const result = generateReport({ role: 'sm' });
|
|
291
|
-
// Spider charts are embedded as base64 data URLs
|
|
292
|
-
assert.ok(result.markdown.includes('data:image/svg+xml;base64,'), 'Should embed SVGs as data URLs');
|
|
293
|
-
});
|
|
294
|
-
it('should include character names in output', async () => {
|
|
295
|
-
const { generateReport } = await import('./generate-spider-report.js');
|
|
296
|
-
const result = generateReport({ theme: 'deadwood' });
|
|
297
|
-
// Deadwood SM is Seth Bullock
|
|
298
|
-
assert.ok(result.markdown.includes('Bullock') || result.markdown.includes('Seth'), 'Should include character names');
|
|
299
|
-
});
|
|
300
|
-
it('should include OCEAN scores table for filtered results', async () => {
|
|
301
|
-
const { generateReport } = await import('./generate-spider-report.js');
|
|
302
|
-
const result = generateReport({ ocean: 'O>=4' });
|
|
303
|
-
// Should have a table with OCEAN scores
|
|
304
|
-
assert.ok(result.markdown.includes('|') && result.markdown.includes('O'), 'Should include OCEAN table');
|
|
305
|
-
});
|
|
306
|
-
it('should format comparison with overlay spider chart and details table', async () => {
|
|
307
|
-
const { compareCharacters } = await import('./generate-spider-report.js');
|
|
308
|
-
const result = compareCharacters(['deadwood:sm', 'firefly:sm']);
|
|
309
|
-
assert.ok(result.markdown, 'Should have markdown output');
|
|
310
|
-
// Should have spider chart comparison title
|
|
311
|
-
assert.ok(result.markdown.includes('Spider Chart Comparison'), 'Should have comparison title');
|
|
312
|
-
// Should have character details section
|
|
313
|
-
assert.ok(result.markdown.includes('Character Details'), 'Should have character details section');
|
|
314
|
-
});
|
|
315
|
-
it('should include spider chart title in report header', async () => {
|
|
316
|
-
const { generateReport } = await import('./generate-spider-report.js');
|
|
317
|
-
const result = generateReport({ role: 'sm' });
|
|
318
|
-
assert.ok(result.markdown.includes('Spider Chart Report'), 'Should reference spider charts in header');
|
|
319
|
-
});
|
|
320
|
-
});
|
|
321
|
-
// ============================================================================
|
|
322
|
-
// Integration: Full Report Generation
|
|
323
|
-
// ============================================================================
|
|
324
|
-
describe('Integration: Full Spider Report Pipeline', () => {
|
|
325
|
-
it('should generate complete report with filter, characters, and markdown', async () => {
|
|
326
|
-
const { generateReport } = await import('./generate-spider-report.js');
|
|
327
|
-
const result = generateReport({ role: 'reviewer' });
|
|
328
|
-
assert.ok(result.characters, 'Should have characters');
|
|
329
|
-
assert.ok(result.markdown, 'Should have markdown');
|
|
330
|
-
assert.ok(result.filter, 'Should echo back filter criteria');
|
|
331
|
-
assert.strictEqual(result.filter.role, 'reviewer');
|
|
332
|
-
});
|
|
333
|
-
it('should generate report with multiple combined filters', async () => {
|
|
334
|
-
const { generateReport } = await import('./generate-spider-report.js');
|
|
335
|
-
const result = generateReport({
|
|
336
|
-
role: 'sm',
|
|
337
|
-
ocean: 'C>=4',
|
|
338
|
-
});
|
|
339
|
-
// All results should match both criteria
|
|
340
|
-
for (const char of result.characters) {
|
|
341
|
-
assert.strictEqual(char.agent, 'sm');
|
|
342
|
-
assert.ok(char.ocean.C >= 4);
|
|
343
|
-
}
|
|
344
|
-
});
|
|
345
|
-
it('should return results matching O=1 filter', async () => {
|
|
346
|
-
const { generateReport } = await import('./generate-spider-report.js');
|
|
347
|
-
const result = generateReport({
|
|
348
|
-
ocean: 'O=1',
|
|
349
|
-
});
|
|
350
|
-
// This should return results that match O=1
|
|
351
|
-
for (const char of result.characters) {
|
|
352
|
-
assert.strictEqual(char.ocean.O, 1);
|
|
353
|
-
}
|
|
354
|
-
});
|
|
355
|
-
it('should handle empty result set gracefully', async () => {
|
|
356
|
-
const { generateReport } = await import('./generate-spider-report.js');
|
|
357
|
-
// Very restrictive filter that likely returns nothing
|
|
358
|
-
const result = generateReport({
|
|
359
|
-
role: 'sm',
|
|
360
|
-
ocean: 'O=1',
|
|
361
|
-
theme: 'deadwood', // Valid theme for testing
|
|
362
|
-
});
|
|
363
|
-
assert.ok(Array.isArray(result.characters), 'Should return array even if empty');
|
|
364
|
-
assert.ok(typeof result.markdown === 'string', 'Should return markdown even if empty');
|
|
365
|
-
});
|
|
366
|
-
});
|
|
367
|
-
//# sourceMappingURL=generate-spider-report.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-spider-report.test.js","sourceRoot":"","sources":["../../src/scripts/generate-spider-report.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OCEAN Spider Chart Generator
|
|
3
|
-
*
|
|
4
|
-
* Story 11-10: Build OCEAN spider chart generator (complement to Chernoff faces)
|
|
5
|
-
*
|
|
6
|
-
* Generates pentagon-shaped spider charts showing OCEAN personality profiles.
|
|
7
|
-
* Charts are unfilled (stroke only) to enable clean stacking for comparisons.
|
|
8
|
-
*/
|
|
9
|
-
export interface OceanScores {
|
|
10
|
-
O: number;
|
|
11
|
-
C: number;
|
|
12
|
-
E: number;
|
|
13
|
-
A: number;
|
|
14
|
-
N: number;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Load OCEAN scores for a specific theme and agent
|
|
18
|
-
*/
|
|
19
|
-
export declare function loadThemeOcean(theme: string, agent: string): OceanScores;
|
|
20
|
-
export declare const ROLE_COLORS: Record<string, string>;
|
|
21
|
-
/**
|
|
22
|
-
* Generate SVG spider chart from OCEAN scores
|
|
23
|
-
*/
|
|
24
|
-
export declare function generateSpiderFromOcean(ocean: OceanScores, color?: string): string;
|
|
25
|
-
/**
|
|
26
|
-
* Generate SVG spider chart from theme and agent
|
|
27
|
-
* Uses role-specific color for consistent visual training
|
|
28
|
-
*/
|
|
29
|
-
export declare function generateSpider(theme: string, agent: string): string;
|
|
30
|
-
/**
|
|
31
|
-
* Character specification for overlay mode
|
|
32
|
-
*/
|
|
33
|
-
export interface CharacterSpec {
|
|
34
|
-
theme: string;
|
|
35
|
-
agent: string;
|
|
36
|
-
label?: string;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Generate overlay spider chart comparing multiple characters
|
|
40
|
-
*/
|
|
41
|
-
export declare function generateOverlaySpider(characters: CharacterSpec[]): string;
|
|
42
|
-
/**
|
|
43
|
-
* Generate team overlay spider chart showing all 10 agents for a theme
|
|
44
|
-
* Uses role-specific colors for consistent visual training
|
|
45
|
-
*/
|
|
46
|
-
export declare function generateTeamOverlay(theme: string): string;
|
|
47
|
-
//# sourceMappingURL=generate-spider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-spider.d.ts","sourceRoot":"","sources":["../../src/scripts/generate-spider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgBH,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;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAYxE;AAoBD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAW9C,CAAC;AAmHF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,GAAE,MAAkB,GAAG,MAAM,CA+B7F;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAInE;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA4BD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,MAAM,CAkDzE;AAmCD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAyCzD"}
|