@gitgov/core 1.0.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/README.md +303 -0
- package/dist/scripts/compile-json-to-types.d.ts +11 -0
- package/dist/scripts/compile-json-to-types.d.ts.map +1 -0
- package/dist/scripts/compile-json-to-types.js +129 -0
- package/dist/scripts/compile-json-to-types.js.map +1 -0
- package/dist/scripts/diagnose-duplicates.d.ts +7 -0
- package/dist/scripts/diagnose-duplicates.d.ts.map +1 -0
- package/dist/scripts/diagnose-duplicates.js +72 -0
- package/dist/scripts/diagnose-duplicates.js.map +1 -0
- package/dist/scripts/generate-indexes.d.ts +22 -0
- package/dist/scripts/generate-indexes.d.ts.map +1 -0
- package/dist/scripts/generate-indexes.js +168 -0
- package/dist/scripts/generate-indexes.js.map +1 -0
- package/dist/scripts/sync-schemas.d.ts +10 -0
- package/dist/scripts/sync-schemas.d.ts.map +1 -0
- package/dist/scripts/sync-schemas.js +84 -0
- package/dist/scripts/sync-schemas.js.map +1 -0
- package/dist/scripts/sync-workflow-configs.d.ts +11 -0
- package/dist/scripts/sync-workflow-configs.d.ts.map +1 -0
- package/dist/scripts/sync-workflow-configs.js +61 -0
- package/dist/scripts/sync-workflow-configs.js.map +1 -0
- package/dist/scripts/update-diagram.d.ts +7 -0
- package/dist/scripts/update-diagram.d.ts.map +1 -0
- package/dist/scripts/update-diagram.js +47 -0
- package/dist/scripts/update-diagram.js.map +1 -0
- package/dist/scripts/validate-schemas.d.ts +18 -0
- package/dist/scripts/validate-schemas.d.ts.map +1 -0
- package/dist/scripts/validate-schemas.js +313 -0
- package/dist/scripts/validate-schemas.js.map +1 -0
- package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.d.ts +2 -0
- package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.d.ts.map +1 -0
- package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.js +507 -0
- package/dist/src/adapters/backlog_adapter/backlog_adapter.integration.test.js.map +1 -0
- package/dist/src/adapters/backlog_adapter/backlog_adapter.test.d.ts +2 -0
- package/dist/src/adapters/backlog_adapter/backlog_adapter.test.d.ts.map +1 -0
- package/dist/src/adapters/backlog_adapter/backlog_adapter.test.js +1282 -0
- package/dist/src/adapters/backlog_adapter/backlog_adapter.test.js.map +1 -0
- package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.d.ts +10 -0
- package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.d.ts.map +1 -0
- package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.js +144 -0
- package/dist/src/adapters/backlog_adapter/backlog_adapter_e2e.test.js.map +1 -0
- package/dist/src/adapters/backlog_adapter/index.d.ts +213 -0
- package/dist/src/adapters/backlog_adapter/index.d.ts.map +1 -0
- package/dist/src/adapters/backlog_adapter/index.js +924 -0
- package/dist/src/adapters/backlog_adapter/index.js.map +1 -0
- package/dist/src/adapters/changelog_adapter/changelog_adapter.test.d.ts +2 -0
- package/dist/src/adapters/changelog_adapter/changelog_adapter.test.d.ts.map +1 -0
- package/dist/src/adapters/changelog_adapter/changelog_adapter.test.js +505 -0
- package/dist/src/adapters/changelog_adapter/changelog_adapter.test.js.map +1 -0
- package/dist/src/adapters/changelog_adapter/index.d.ts +101 -0
- package/dist/src/adapters/changelog_adapter/index.d.ts.map +1 -0
- package/dist/src/adapters/changelog_adapter/index.js +197 -0
- package/dist/src/adapters/changelog_adapter/index.js.map +1 -0
- package/dist/src/adapters/execution_adapter/execution_adapter.test.d.ts +2 -0
- package/dist/src/adapters/execution_adapter/execution_adapter.test.d.ts.map +1 -0
- package/dist/src/adapters/execution_adapter/execution_adapter.test.js +266 -0
- package/dist/src/adapters/execution_adapter/execution_adapter.test.js.map +1 -0
- package/dist/src/adapters/execution_adapter/index.d.ts +90 -0
- package/dist/src/adapters/execution_adapter/index.d.ts.map +1 -0
- package/dist/src/adapters/execution_adapter/index.js +150 -0
- package/dist/src/adapters/execution_adapter/index.js.map +1 -0
- package/dist/src/adapters/feedback_adapter/feedback_adapter.test.d.ts +2 -0
- package/dist/src/adapters/feedback_adapter/feedback_adapter.test.d.ts.map +1 -0
- package/dist/src/adapters/feedback_adapter/feedback_adapter.test.js +256 -0
- package/dist/src/adapters/feedback_adapter/feedback_adapter.test.js.map +1 -0
- package/dist/src/adapters/feedback_adapter/index.d.ts +95 -0
- package/dist/src/adapters/feedback_adapter/index.d.ts.map +1 -0
- package/dist/src/adapters/feedback_adapter/index.js +192 -0
- package/dist/src/adapters/feedback_adapter/index.js.map +1 -0
- package/dist/src/adapters/identity_adapter/identity_adapter.test.d.ts +2 -0
- package/dist/src/adapters/identity_adapter/identity_adapter.test.d.ts.map +1 -0
- package/dist/src/adapters/identity_adapter/identity_adapter.test.js +624 -0
- package/dist/src/adapters/identity_adapter/identity_adapter.test.js.map +1 -0
- package/dist/src/adapters/identity_adapter/index.d.ts +82 -0
- package/dist/src/adapters/identity_adapter/index.d.ts.map +1 -0
- package/dist/src/adapters/identity_adapter/index.js +336 -0
- package/dist/src/adapters/identity_adapter/index.js.map +1 -0
- package/dist/src/adapters/index.d.ts +10 -0
- package/dist/src/adapters/index.d.ts.map +1 -0
- package/dist/src/adapters/index.js +10 -0
- package/dist/src/adapters/index.js.map +1 -0
- package/dist/src/adapters/indexer_adapter/index.d.ts +214 -0
- package/dist/src/adapters/indexer_adapter/index.d.ts.map +1 -0
- package/dist/src/adapters/indexer_adapter/index.js +643 -0
- package/dist/src/adapters/indexer_adapter/index.js.map +1 -0
- package/dist/src/adapters/indexer_adapter/indexer_adapter.test.d.ts +2 -0
- package/dist/src/adapters/indexer_adapter/indexer_adapter.test.d.ts.map +1 -0
- package/dist/src/adapters/indexer_adapter/indexer_adapter.test.js +409 -0
- package/dist/src/adapters/indexer_adapter/indexer_adapter.test.js.map +1 -0
- package/dist/src/adapters/metrics_adapter/index.d.ts +189 -0
- package/dist/src/adapters/metrics_adapter/index.d.ts.map +1 -0
- package/dist/src/adapters/metrics_adapter/index.js +592 -0
- package/dist/src/adapters/metrics_adapter/index.js.map +1 -0
- package/dist/src/adapters/metrics_adapter/metrics_adapter.test.d.ts +2 -0
- package/dist/src/adapters/metrics_adapter/metrics_adapter.test.d.ts.map +1 -0
- package/dist/src/adapters/metrics_adapter/metrics_adapter.test.js +558 -0
- package/dist/src/adapters/metrics_adapter/metrics_adapter.test.js.map +1 -0
- package/dist/src/adapters/project_adapter/index.d.ts +164 -0
- package/dist/src/adapters/project_adapter/index.d.ts.map +1 -0
- package/dist/src/adapters/project_adapter/index.js +445 -0
- package/dist/src/adapters/project_adapter/index.js.map +1 -0
- package/dist/src/adapters/project_adapter/project_adapter.test.d.ts +2 -0
- package/dist/src/adapters/project_adapter/project_adapter.test.d.ts.map +1 -0
- package/dist/src/adapters/project_adapter/project_adapter.test.js +627 -0
- package/dist/src/adapters/project_adapter/project_adapter.test.js.map +1 -0
- package/dist/src/adapters/workflow_methodology_adapter/index.d.ts +75 -0
- package/dist/src/adapters/workflow_methodology_adapter/index.d.ts.map +1 -0
- package/dist/src/adapters/workflow_methodology_adapter/index.js +205 -0
- package/dist/src/adapters/workflow_methodology_adapter/index.js.map +1 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.d.ts +2 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.d.ts.map +1 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.js +463 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter.test.js.map +1 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.d.ts +2 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.d.ts.map +1 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.js +287 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_integration.test.js.map +1 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.d.ts +2 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.d.ts.map +1 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.js +278 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_adapter_scrum_integration.test.js.map +1 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_default.json +188 -0
- package/dist/src/adapters/workflow_methodology_adapter/workflow_methodology_scrum.json +284 -0
- package/dist/src/config_manager/config_manager.test.d.ts +2 -0
- package/dist/src/config_manager/config_manager.test.d.ts.map +1 -0
- package/dist/src/config_manager/config_manager.test.js +321 -0
- package/dist/src/config_manager/config_manager.test.js.map +1 -0
- package/dist/src/config_manager/index.d.ts +107 -0
- package/dist/src/config_manager/index.d.ts.map +1 -0
- package/dist/src/config_manager/index.js +192 -0
- package/dist/src/config_manager/index.js.map +1 -0
- package/dist/src/crypto/checksum.d.ts +6 -0
- package/dist/src/crypto/checksum.d.ts.map +1 -0
- package/dist/src/crypto/checksum.js +38 -0
- package/dist/src/crypto/checksum.js.map +1 -0
- package/dist/src/crypto/checksum.test.d.ts +2 -0
- package/dist/src/crypto/checksum.test.d.ts.map +1 -0
- package/dist/src/crypto/checksum.test.js +167 -0
- package/dist/src/crypto/checksum.test.js.map +1 -0
- package/dist/src/crypto/index.d.ts +3 -0
- package/dist/src/crypto/index.d.ts.map +1 -0
- package/dist/src/crypto/index.js +3 -0
- package/dist/src/crypto/index.js.map +1 -0
- package/dist/src/crypto/signatures.d.ts +24 -0
- package/dist/src/crypto/signatures.d.ts.map +1 -0
- package/dist/src/crypto/signatures.js +67 -0
- package/dist/src/crypto/signatures.js.map +1 -0
- package/dist/src/crypto/signatures.test.d.ts +2 -0
- package/dist/src/crypto/signatures.test.d.ts.map +1 -0
- package/dist/src/crypto/signatures.test.js +378 -0
- package/dist/src/crypto/signatures.test.js.map +1 -0
- package/dist/src/diagram_generator/diagram_generator.d.ts +76 -0
- package/dist/src/diagram_generator/diagram_generator.d.ts.map +1 -0
- package/dist/src/diagram_generator/diagram_generator.js +233 -0
- package/dist/src/diagram_generator/diagram_generator.js.map +1 -0
- package/dist/src/diagram_generator/graph_validator.d.ts +19 -0
- package/dist/src/diagram_generator/graph_validator.d.ts.map +1 -0
- package/dist/src/diagram_generator/graph_validator.js +98 -0
- package/dist/src/diagram_generator/graph_validator.js.map +1 -0
- package/dist/src/diagram_generator/index.d.ts +4 -0
- package/dist/src/diagram_generator/index.d.ts.map +1 -0
- package/dist/src/diagram_generator/index.js +4 -0
- package/dist/src/diagram_generator/index.js.map +1 -0
- package/dist/src/diagram_generator/mermaid_renderer.d.ts +82 -0
- package/dist/src/diagram_generator/mermaid_renderer.d.ts.map +1 -0
- package/dist/src/diagram_generator/mermaid_renderer.js +306 -0
- package/dist/src/diagram_generator/mermaid_renderer.js.map +1 -0
- package/dist/src/diagram_generator/relationship_analyzer.d.ts +116 -0
- package/dist/src/diagram_generator/relationship_analyzer.d.ts.map +1 -0
- package/dist/src/diagram_generator/relationship_analyzer.js +381 -0
- package/dist/src/diagram_generator/relationship_analyzer.js.map +1 -0
- package/dist/src/event_bus/event_bus.d.ts +110 -0
- package/dist/src/event_bus/event_bus.d.ts.map +1 -0
- package/dist/src/event_bus/event_bus.js +161 -0
- package/dist/src/event_bus/event_bus.js.map +1 -0
- package/dist/src/event_bus/event_bus.test.d.ts +2 -0
- package/dist/src/event_bus/event_bus.test.d.ts.map +1 -0
- package/dist/src/event_bus/event_bus.test.js +332 -0
- package/dist/src/event_bus/event_bus.test.js.map +1 -0
- package/dist/src/event_bus/event_bus_integration.test.d.ts +2 -0
- package/dist/src/event_bus/event_bus_integration.test.d.ts.map +1 -0
- package/dist/src/event_bus/event_bus_integration.test.js +474 -0
- package/dist/src/event_bus/event_bus_integration.test.js.map +1 -0
- package/dist/src/event_bus/index.d.ts +3 -0
- package/dist/src/event_bus/index.d.ts.map +1 -0
- package/dist/src/event_bus/index.js +3 -0
- package/dist/src/event_bus/index.js.map +1 -0
- package/dist/src/event_bus/types.d.ts +203 -0
- package/dist/src/event_bus/types.d.ts.map +1 -0
- package/dist/src/event_bus/types.js +5 -0
- package/dist/src/event_bus/types.js.map +1 -0
- package/dist/src/factories/actor_factory.d.ts +6 -0
- package/dist/src/factories/actor_factory.d.ts.map +1 -0
- package/dist/src/factories/actor_factory.js +25 -0
- package/dist/src/factories/actor_factory.js.map +1 -0
- package/dist/src/factories/actor_factory.test.d.ts +2 -0
- package/dist/src/factories/actor_factory.test.d.ts.map +1 -0
- package/dist/src/factories/actor_factory.test.js +169 -0
- package/dist/src/factories/actor_factory.test.js.map +1 -0
- package/dist/src/factories/agent_factory.d.ts +6 -0
- package/dist/src/factories/agent_factory.d.ts.map +1 -0
- package/dist/src/factories/agent_factory.js +25 -0
- package/dist/src/factories/agent_factory.js.map +1 -0
- package/dist/src/factories/agent_factory.test.d.ts +2 -0
- package/dist/src/factories/agent_factory.test.d.ts.map +1 -0
- package/dist/src/factories/agent_factory.test.js +199 -0
- package/dist/src/factories/agent_factory.test.js.map +1 -0
- package/dist/src/factories/changelog_factory.d.ts +9 -0
- package/dist/src/factories/changelog_factory.d.ts.map +1 -0
- package/dist/src/factories/changelog_factory.js +46 -0
- package/dist/src/factories/changelog_factory.js.map +1 -0
- package/dist/src/factories/changelog_factory.test.d.ts +2 -0
- package/dist/src/factories/changelog_factory.test.d.ts.map +1 -0
- package/dist/src/factories/changelog_factory.test.js +368 -0
- package/dist/src/factories/changelog_factory.test.js.map +1 -0
- package/dist/src/factories/cycle_factory.d.ts +6 -0
- package/dist/src/factories/cycle_factory.d.ts.map +1 -0
- package/dist/src/factories/cycle_factory.js +28 -0
- package/dist/src/factories/cycle_factory.js.map +1 -0
- package/dist/src/factories/cycle_factory.test.d.ts +2 -0
- package/dist/src/factories/cycle_factory.test.d.ts.map +1 -0
- package/dist/src/factories/cycle_factory.test.js +175 -0
- package/dist/src/factories/cycle_factory.test.js.map +1 -0
- package/dist/src/factories/execution_factory.d.ts +9 -0
- package/dist/src/factories/execution_factory.d.ts.map +1 -0
- package/dist/src/factories/execution_factory.js +29 -0
- package/dist/src/factories/execution_factory.js.map +1 -0
- package/dist/src/factories/execution_factory.test.d.ts +2 -0
- package/dist/src/factories/execution_factory.test.d.ts.map +1 -0
- package/dist/src/factories/execution_factory.test.js +207 -0
- package/dist/src/factories/execution_factory.test.js.map +1 -0
- package/dist/src/factories/feedback_factory.d.ts +9 -0
- package/dist/src/factories/feedback_factory.d.ts.map +1 -0
- package/dist/src/factories/feedback_factory.js +30 -0
- package/dist/src/factories/feedback_factory.js.map +1 -0
- package/dist/src/factories/feedback_factory.test.d.ts +2 -0
- package/dist/src/factories/feedback_factory.test.d.ts.map +1 -0
- package/dist/src/factories/feedback_factory.test.js +256 -0
- package/dist/src/factories/feedback_factory.test.js.map +1 -0
- package/dist/src/factories/index.d.ts +9 -0
- package/dist/src/factories/index.d.ts.map +1 -0
- package/dist/src/factories/index.js +9 -0
- package/dist/src/factories/index.js.map +1 -0
- package/dist/src/factories/task_factory.d.ts +6 -0
- package/dist/src/factories/task_factory.d.ts.map +1 -0
- package/dist/src/factories/task_factory.js +30 -0
- package/dist/src/factories/task_factory.js.map +1 -0
- package/dist/src/factories/task_factory.test.d.ts +2 -0
- package/dist/src/factories/task_factory.test.d.ts.map +1 -0
- package/dist/src/factories/task_factory.test.js +197 -0
- package/dist/src/factories/task_factory.test.js.map +1 -0
- package/dist/src/factories/workflow_methodology_factory.d.ts +11 -0
- package/dist/src/factories/workflow_methodology_factory.d.ts.map +1 -0
- package/dist/src/factories/workflow_methodology_factory.js +173 -0
- package/dist/src/factories/workflow_methodology_factory.js.map +1 -0
- package/dist/src/factories/workflow_methodology_factory.test.d.ts +2 -0
- package/dist/src/factories/workflow_methodology_factory.test.d.ts.map +1 -0
- package/dist/src/factories/workflow_methodology_factory.test.js +244 -0
- package/dist/src/factories/workflow_methodology_factory.test.js.map +1 -0
- package/dist/src/index.d.ts +21 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +23 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/integration/cycles_tasks_integration.test.d.ts +2 -0
- package/dist/src/integration/cycles_tasks_integration.test.d.ts.map +1 -0
- package/dist/src/integration/cycles_tasks_integration.test.js +258 -0
- package/dist/src/integration/cycles_tasks_integration.test.js.map +1 -0
- package/dist/src/integration/schema_integration.test.d.ts +8 -0
- package/dist/src/integration/schema_integration.test.d.ts.map +1 -0
- package/dist/src/integration/schema_integration.test.js +279 -0
- package/dist/src/integration/schema_integration.test.js.map +1 -0
- package/dist/src/logger/index.d.ts +2 -0
- package/dist/src/logger/index.d.ts.map +1 -0
- package/dist/src/logger/index.js +2 -0
- package/dist/src/logger/index.js.map +1 -0
- package/dist/src/logger/logger.d.ts +10 -0
- package/dist/src/logger/logger.d.ts.map +1 -0
- package/dist/src/logger/logger.js +48 -0
- package/dist/src/logger/logger.js.map +1 -0
- package/dist/src/schemas/errors.d.ts +28 -0
- package/dist/src/schemas/errors.d.ts.map +1 -0
- package/dist/src/schemas/errors.js +31 -0
- package/dist/src/schemas/errors.js.map +1 -0
- package/dist/src/schemas/generated/actor_record_schema.json +91 -0
- package/dist/src/schemas/generated/agent_record_schema.json +142 -0
- package/dist/src/schemas/generated/changelog_record_schema.json +227 -0
- package/dist/src/schemas/generated/cycle_record_schema.json +80 -0
- package/dist/src/schemas/generated/embedded_metadata_schema.json +318 -0
- package/dist/src/schemas/generated/execution_record_schema.json +89 -0
- package/dist/src/schemas/generated/feedback_record_schema.json +83 -0
- package/dist/src/schemas/generated/index.d.ts +2221 -0
- package/dist/src/schemas/generated/index.d.ts.map +1 -0
- package/dist/src/schemas/generated/index.js +48 -0
- package/dist/src/schemas/generated/index.js.map +1 -0
- package/dist/src/schemas/generated/task_record_schema.json +103 -0
- package/dist/src/schemas/generated/workflow_methodology_record_schema.json +393 -0
- package/dist/src/schemas/index.d.ts +4 -0
- package/dist/src/schemas/index.d.ts.map +1 -0
- package/dist/src/schemas/index.js +4 -0
- package/dist/src/schemas/index.js.map +1 -0
- package/dist/src/schemas/schema_cache.d.ts +39 -0
- package/dist/src/schemas/schema_cache.d.ts.map +1 -0
- package/dist/src/schemas/schema_cache.js +109 -0
- package/dist/src/schemas/schema_cache.js.map +1 -0
- package/dist/src/schemas/schema_cache.test.d.ts +2 -0
- package/dist/src/schemas/schema_cache.test.d.ts.map +1 -0
- package/dist/src/schemas/schema_cache.test.js +163 -0
- package/dist/src/schemas/schema_cache.test.js.map +1 -0
- package/dist/src/store/index.d.ts +2 -0
- package/dist/src/store/index.d.ts.map +1 -0
- package/dist/src/store/index.js +2 -0
- package/dist/src/store/index.js.map +1 -0
- package/dist/src/store/record_store.d.ts +30 -0
- package/dist/src/store/record_store.d.ts.map +1 -0
- package/dist/src/store/record_store.js +83 -0
- package/dist/src/store/record_store.js.map +1 -0
- package/dist/src/store/record_store.test.d.ts +2 -0
- package/dist/src/store/record_store.test.d.ts.map +1 -0
- package/dist/src/store/record_store.test.js +646 -0
- package/dist/src/store/record_store.test.js.map +1 -0
- package/dist/src/types/common.types.d.ts +43 -0
- package/dist/src/types/common.types.d.ts.map +1 -0
- package/dist/src/types/common.types.js +13 -0
- package/dist/src/types/common.types.js.map +1 -0
- package/dist/src/types/embedded.types.d.ts +17 -0
- package/dist/src/types/embedded.types.d.ts.map +1 -0
- package/dist/src/types/embedded.types.js +2 -0
- package/dist/src/types/embedded.types.js.map +1 -0
- package/dist/src/types/generated/actor_record.d.ts +45 -0
- package/dist/src/types/generated/actor_record.d.ts.map +1 -0
- package/dist/src/types/generated/actor_record.js +7 -0
- package/dist/src/types/generated/actor_record.js.map +1 -0
- package/dist/src/types/generated/agent_record.d.ts +40 -0
- package/dist/src/types/generated/agent_record.d.ts.map +1 -0
- package/dist/src/types/generated/agent_record.js +7 -0
- package/dist/src/types/generated/agent_record.js.map +1 -0
- package/dist/src/types/generated/changelog_record.d.ts +100 -0
- package/dist/src/types/generated/changelog_record.d.ts.map +1 -0
- package/dist/src/types/generated/changelog_record.js +7 -0
- package/dist/src/types/generated/changelog_record.js.map +1 -0
- package/dist/src/types/generated/cycle_record.d.ts +36 -0
- package/dist/src/types/generated/cycle_record.d.ts.map +1 -0
- package/dist/src/types/generated/cycle_record.js +7 -0
- package/dist/src/types/generated/cycle_record.js.map +1 -0
- package/dist/src/types/generated/embedded_metadata.d.ts +94 -0
- package/dist/src/types/generated/embedded_metadata.d.ts.map +1 -0
- package/dist/src/types/generated/embedded_metadata.js +7 -0
- package/dist/src/types/generated/embedded_metadata.js.map +1 -0
- package/dist/src/types/generated/execution_record.d.ts +39 -0
- package/dist/src/types/generated/execution_record.d.ts.map +1 -0
- package/dist/src/types/generated/execution_record.js +7 -0
- package/dist/src/types/generated/execution_record.js.map +1 -0
- package/dist/src/types/generated/feedback_record.d.ts +43 -0
- package/dist/src/types/generated/feedback_record.d.ts.map +1 -0
- package/dist/src/types/generated/feedback_record.js +7 -0
- package/dist/src/types/generated/feedback_record.js.map +1 -0
- package/dist/src/types/generated/index.d.ts +15 -0
- package/dist/src/types/generated/index.d.ts.map +1 -0
- package/dist/src/types/generated/index.js +15 -0
- package/dist/src/types/generated/index.js.map +1 -0
- package/dist/src/types/generated/task_record.d.ts +47 -0
- package/dist/src/types/generated/task_record.d.ts.map +1 -0
- package/dist/src/types/generated/task_record.js +7 -0
- package/dist/src/types/generated/task_record.js.map +1 -0
- package/dist/src/types/generated/workflow_methodology_record.d.ts +211 -0
- package/dist/src/types/generated/workflow_methodology_record.d.ts.map +1 -0
- package/dist/src/types/generated/workflow_methodology_record.js +7 -0
- package/dist/src/types/generated/workflow_methodology_record.js.map +1 -0
- package/dist/src/types/index.d.ts +4 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +4 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/utils/id_generator.d.ts +44 -0
- package/dist/src/utils/id_generator.d.ts.map +1 -0
- package/dist/src/utils/id_generator.js +107 -0
- package/dist/src/utils/id_generator.js.map +1 -0
- package/dist/src/utils/id_generator.test.d.ts +2 -0
- package/dist/src/utils/id_generator.test.d.ts.map +1 -0
- package/dist/src/utils/id_generator.test.js +100 -0
- package/dist/src/utils/id_generator.test.js.map +1 -0
- package/dist/src/utils/index.d.ts +2 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +3 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/validation/actor_validator.d.ts +21 -0
- package/dist/src/validation/actor_validator.d.ts.map +1 -0
- package/dist/src/validation/actor_validator.js +48 -0
- package/dist/src/validation/actor_validator.js.map +1 -0
- package/dist/src/validation/actor_validator.test.d.ts +2 -0
- package/dist/src/validation/actor_validator.test.d.ts.map +1 -0
- package/dist/src/validation/actor_validator.test.js +83 -0
- package/dist/src/validation/actor_validator.test.js.map +1 -0
- package/dist/src/validation/agent_validator.d.ts +30 -0
- package/dist/src/validation/agent_validator.d.ts.map +1 -0
- package/dist/src/validation/agent_validator.js +66 -0
- package/dist/src/validation/agent_validator.js.map +1 -0
- package/dist/src/validation/agent_validator.test.d.ts +2 -0
- package/dist/src/validation/agent_validator.test.d.ts.map +1 -0
- package/dist/src/validation/agent_validator.test.js +73 -0
- package/dist/src/validation/agent_validator.test.js.map +1 -0
- package/dist/src/validation/changelog_validator.d.ts +23 -0
- package/dist/src/validation/changelog_validator.d.ts.map +1 -0
- package/dist/src/validation/changelog_validator.js +58 -0
- package/dist/src/validation/changelog_validator.js.map +1 -0
- package/dist/src/validation/changelog_validator.test.d.ts +2 -0
- package/dist/src/validation/changelog_validator.test.d.ts.map +1 -0
- package/dist/src/validation/changelog_validator.test.js +401 -0
- package/dist/src/validation/changelog_validator.test.js.map +1 -0
- package/dist/src/validation/common.d.ts +10 -0
- package/dist/src/validation/common.d.ts.map +1 -0
- package/dist/src/validation/common.js +12 -0
- package/dist/src/validation/common.js.map +1 -0
- package/dist/src/validation/cycle_validator.d.ts +24 -0
- package/dist/src/validation/cycle_validator.d.ts.map +1 -0
- package/dist/src/validation/cycle_validator.js +51 -0
- package/dist/src/validation/cycle_validator.js.map +1 -0
- package/dist/src/validation/cycle_validator.test.d.ts +2 -0
- package/dist/src/validation/cycle_validator.test.d.ts.map +1 -0
- package/dist/src/validation/cycle_validator.test.js +182 -0
- package/dist/src/validation/cycle_validator.test.js.map +1 -0
- package/dist/src/validation/embedded_metadata_validator.d.ts +26 -0
- package/dist/src/validation/embedded_metadata_validator.d.ts.map +1 -0
- package/dist/src/validation/embedded_metadata_validator.js +122 -0
- package/dist/src/validation/embedded_metadata_validator.js.map +1 -0
- package/dist/src/validation/embedded_metadata_validator.test.d.ts +2 -0
- package/dist/src/validation/embedded_metadata_validator.test.d.ts.map +1 -0
- package/dist/src/validation/embedded_metadata_validator.test.js +316 -0
- package/dist/src/validation/embedded_metadata_validator.test.js.map +1 -0
- package/dist/src/validation/errors.d.ts +67 -0
- package/dist/src/validation/errors.d.ts.map +1 -0
- package/dist/src/validation/errors.js +83 -0
- package/dist/src/validation/errors.js.map +1 -0
- package/dist/src/validation/execution_validator.d.ts +23 -0
- package/dist/src/validation/execution_validator.d.ts.map +1 -0
- package/dist/src/validation/execution_validator.js +58 -0
- package/dist/src/validation/execution_validator.js.map +1 -0
- package/dist/src/validation/execution_validator.test.d.ts +2 -0
- package/dist/src/validation/execution_validator.test.d.ts.map +1 -0
- package/dist/src/validation/execution_validator.test.js +167 -0
- package/dist/src/validation/execution_validator.test.js.map +1 -0
- package/dist/src/validation/feedback_validator.d.ts +23 -0
- package/dist/src/validation/feedback_validator.d.ts.map +1 -0
- package/dist/src/validation/feedback_validator.js +58 -0
- package/dist/src/validation/feedback_validator.js.map +1 -0
- package/dist/src/validation/feedback_validator.test.d.ts +2 -0
- package/dist/src/validation/feedback_validator.test.d.ts.map +1 -0
- package/dist/src/validation/feedback_validator.test.js +131 -0
- package/dist/src/validation/feedback_validator.test.js.map +1 -0
- package/dist/src/validation/index.d.ts +11 -0
- package/dist/src/validation/index.d.ts.map +1 -0
- package/dist/src/validation/index.js +10 -0
- package/dist/src/validation/index.js.map +1 -0
- package/dist/src/validation/task_validator.d.ts +24 -0
- package/dist/src/validation/task_validator.d.ts.map +1 -0
- package/dist/src/validation/task_validator.js +50 -0
- package/dist/src/validation/task_validator.js.map +1 -0
- package/dist/src/validation/task_validator.test.d.ts +2 -0
- package/dist/src/validation/task_validator.test.d.ts.map +1 -0
- package/dist/src/validation/task_validator.test.js +185 -0
- package/dist/src/validation/task_validator.test.js.map +1 -0
- package/dist/src/validation/workflow_methodology_validator.d.ts +32 -0
- package/dist/src/validation/workflow_methodology_validator.d.ts.map +1 -0
- package/dist/src/validation/workflow_methodology_validator.js +91 -0
- package/dist/src/validation/workflow_methodology_validator.js.map +1 -0
- package/dist/src/validation/workflow_methodology_validator.test.d.ts +2 -0
- package/dist/src/validation/workflow_methodology_validator.test.d.ts.map +1 -0
- package/dist/src/validation/workflow_methodology_validator.test.js +229 -0
- package/dist/src/validation/workflow_methodology_validator.test.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,592 @@
|
|
|
1
|
+
import { RecordStore } from '../../store';
|
|
2
|
+
/**
|
|
3
|
+
* MetricsAdapter - The System Analyst
|
|
4
|
+
*
|
|
5
|
+
* Implements Facade + Dependency Injection Pattern for testeable and configurable orchestration.
|
|
6
|
+
* Acts as Mediator between analytics system and multi-store data sources.
|
|
7
|
+
*/
|
|
8
|
+
export class MetricsAdapter {
|
|
9
|
+
taskStore;
|
|
10
|
+
cycleStore;
|
|
11
|
+
feedbackStore;
|
|
12
|
+
executionStore;
|
|
13
|
+
actorStore;
|
|
14
|
+
platformApi;
|
|
15
|
+
constructor(dependencies) {
|
|
16
|
+
this.taskStore = dependencies.taskStore;
|
|
17
|
+
this.cycleStore = dependencies.cycleStore;
|
|
18
|
+
this.feedbackStore = dependencies.feedbackStore; // Graceful degradation
|
|
19
|
+
this.executionStore = dependencies.executionStore; // Graceful degradation
|
|
20
|
+
this.actorStore = dependencies.actorStore; // Graceful degradation
|
|
21
|
+
this.platformApi = dependencies.platformApi; // Graceful degradation
|
|
22
|
+
}
|
|
23
|
+
// ===== PUBLIC API METHODS =====
|
|
24
|
+
/**
|
|
25
|
+
* [EARS-1] Gets aggregated system status using Tier 1 metrics.
|
|
26
|
+
*/
|
|
27
|
+
async getSystemStatus() {
|
|
28
|
+
// Read all tasks and cycles
|
|
29
|
+
const taskIds = await this.taskStore.list();
|
|
30
|
+
const tasks = [];
|
|
31
|
+
for (const id of taskIds) {
|
|
32
|
+
const record = await this.taskStore.read(id);
|
|
33
|
+
if (record)
|
|
34
|
+
tasks.push(record.payload);
|
|
35
|
+
}
|
|
36
|
+
const cycleIds = await this.cycleStore.list();
|
|
37
|
+
const cycles = [];
|
|
38
|
+
for (const id of cycleIds) {
|
|
39
|
+
const record = await this.cycleStore.read(id);
|
|
40
|
+
if (record)
|
|
41
|
+
cycles.push(record.payload);
|
|
42
|
+
}
|
|
43
|
+
// Calculate Tier 1 metrics
|
|
44
|
+
const health = this.calculateHealth(tasks);
|
|
45
|
+
// Count blocked and stale tasks
|
|
46
|
+
const blockedTasks = tasks.filter(task => task.status === 'paused').length;
|
|
47
|
+
const staleTasks = tasks.filter(task => {
|
|
48
|
+
const staleness = this.calculateTimeInCurrentStage(task);
|
|
49
|
+
return staleness > 7; // More than 7 days in current stage
|
|
50
|
+
}).length;
|
|
51
|
+
return {
|
|
52
|
+
tasks: {
|
|
53
|
+
total: tasks.length,
|
|
54
|
+
byStatus: this.countTasksByStatus(tasks),
|
|
55
|
+
byPriority: this.countTasksByPriority(tasks)
|
|
56
|
+
},
|
|
57
|
+
cycles: {
|
|
58
|
+
total: cycles.length,
|
|
59
|
+
active: cycles.filter(c => c.status === 'active').length,
|
|
60
|
+
completed: cycles.filter(c => c.status === 'completed').length
|
|
61
|
+
},
|
|
62
|
+
health: {
|
|
63
|
+
overallScore: health,
|
|
64
|
+
blockedTasks,
|
|
65
|
+
staleTasks
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* [EARS-2] Gets task health analysis using Tier 1 metrics.
|
|
71
|
+
*/
|
|
72
|
+
async getTaskHealth(taskId) {
|
|
73
|
+
// EARS-3: Validate task exists
|
|
74
|
+
const taskRecord = await this.taskStore.read(taskId);
|
|
75
|
+
if (!taskRecord) {
|
|
76
|
+
throw new Error(`RecordNotFoundError: Task not found: ${taskId}`);
|
|
77
|
+
}
|
|
78
|
+
const task = taskRecord.payload;
|
|
79
|
+
// Read related data for analysis
|
|
80
|
+
let feedbacks = [];
|
|
81
|
+
let executions = [];
|
|
82
|
+
if (this.feedbackStore) {
|
|
83
|
+
const feedbackIds = await this.feedbackStore.list();
|
|
84
|
+
for (const id of feedbackIds) {
|
|
85
|
+
const record = await this.feedbackStore.read(id);
|
|
86
|
+
if (record && record.payload.entityId === taskId) {
|
|
87
|
+
feedbacks.push(record.payload);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if (this.executionStore) {
|
|
92
|
+
const executionIds = await this.executionStore.list();
|
|
93
|
+
for (const id of executionIds) {
|
|
94
|
+
const record = await this.executionStore.read(id);
|
|
95
|
+
if (record && record.payload.taskId === taskId) {
|
|
96
|
+
executions.push(record.payload);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// Calculate Tier 1 metrics
|
|
101
|
+
const timeInCurrentStage = this.calculateTimeInCurrentStage(task);
|
|
102
|
+
const stalenessIndex = this.calculateStalenessIndex([task]);
|
|
103
|
+
const blockingFeedbacks = feedbacks.filter(f => f.type === 'blocking' && f.status === 'open').length;
|
|
104
|
+
const lastActivity = executions.length > 0 ? Math.max(...executions.map(e => this.getTimestampFromId(e.id))) : this.getTimestampFromId(task.id);
|
|
105
|
+
// Generate recommendations
|
|
106
|
+
const recommendations = [];
|
|
107
|
+
if (timeInCurrentStage > 7)
|
|
108
|
+
recommendations.push('Task has been stagnant for over 7 days');
|
|
109
|
+
if (blockingFeedbacks > 0)
|
|
110
|
+
recommendations.push(`${blockingFeedbacks} blocking feedback(s) need attention`);
|
|
111
|
+
if (stalenessIndex > 5)
|
|
112
|
+
recommendations.push('No recent execution activity detected');
|
|
113
|
+
// Calculate health score (0-100)
|
|
114
|
+
let healthScore = 100;
|
|
115
|
+
if (timeInCurrentStage > 7)
|
|
116
|
+
healthScore -= 30;
|
|
117
|
+
if (blockingFeedbacks > 0)
|
|
118
|
+
healthScore -= 40;
|
|
119
|
+
if (stalenessIndex > 5)
|
|
120
|
+
healthScore -= 20;
|
|
121
|
+
healthScore = Math.max(0, healthScore);
|
|
122
|
+
return {
|
|
123
|
+
taskId,
|
|
124
|
+
healthScore,
|
|
125
|
+
timeInCurrentStage,
|
|
126
|
+
stalenessIndex,
|
|
127
|
+
blockingFeedbacks,
|
|
128
|
+
lastActivity,
|
|
129
|
+
recommendations
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* [EARS-21] Gets productivity metrics using Tier 2 calculations.
|
|
134
|
+
*/
|
|
135
|
+
async getProductivityMetrics() {
|
|
136
|
+
// Read all tasks
|
|
137
|
+
const taskIds = await this.taskStore.list();
|
|
138
|
+
const tasks = [];
|
|
139
|
+
for (const id of taskIds) {
|
|
140
|
+
const record = await this.taskStore.read(id);
|
|
141
|
+
if (record)
|
|
142
|
+
tasks.push(record.payload);
|
|
143
|
+
}
|
|
144
|
+
// Calculate Tier 2 metrics
|
|
145
|
+
const throughput = this.calculateThroughput(tasks);
|
|
146
|
+
const leadTime = this.calculateLeadTime(tasks);
|
|
147
|
+
const cycleTime = this.calculateCycleTime(tasks);
|
|
148
|
+
const tasksCompleted7d = tasks.filter(task => {
|
|
149
|
+
if (task.status !== 'done')
|
|
150
|
+
return false;
|
|
151
|
+
const completedTime = this.getTimestampFromId(task.id);
|
|
152
|
+
const sevenDaysAgo = Math.floor(Date.now() / 1000) - (7 * 24 * 60 * 60);
|
|
153
|
+
return completedTime >= sevenDaysAgo;
|
|
154
|
+
}).length;
|
|
155
|
+
return {
|
|
156
|
+
throughput,
|
|
157
|
+
leadTime,
|
|
158
|
+
cycleTime,
|
|
159
|
+
tasksCompleted7d,
|
|
160
|
+
averageCompletionTime: leadTime // Alias for leadTime
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* [EARS-22] Gets collaboration metrics with agent activity analysis.
|
|
165
|
+
*/
|
|
166
|
+
async getCollaborationMetrics() {
|
|
167
|
+
// EARS-24: Graceful degradation if stores not available
|
|
168
|
+
if (!this.actorStore || !this.executionStore) {
|
|
169
|
+
return {
|
|
170
|
+
activeAgents: 0,
|
|
171
|
+
totalAgents: 0,
|
|
172
|
+
agentUtilization: 0,
|
|
173
|
+
humanAgentRatio: 0,
|
|
174
|
+
collaborationIndex: 0
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
// Read actors and executions
|
|
178
|
+
const actorIds = await this.actorStore.list();
|
|
179
|
+
const actors = [];
|
|
180
|
+
for (const id of actorIds) {
|
|
181
|
+
const record = await this.actorStore.read(id);
|
|
182
|
+
if (record)
|
|
183
|
+
actors.push(record.payload);
|
|
184
|
+
}
|
|
185
|
+
const executionIds = await this.executionStore.list();
|
|
186
|
+
const executions = [];
|
|
187
|
+
for (const id of executionIds) {
|
|
188
|
+
const record = await this.executionStore.read(id);
|
|
189
|
+
if (record)
|
|
190
|
+
executions.push(record.payload);
|
|
191
|
+
}
|
|
192
|
+
// Calculate Tier 2 metrics
|
|
193
|
+
const activeAgents = this.calculateActiveAgents(actors, executions);
|
|
194
|
+
const totalAgents = actors.filter(actor => actor.type === 'agent').length;
|
|
195
|
+
const totalHumans = actors.filter(actor => actor.type === 'human').length;
|
|
196
|
+
const agentUtilization = totalAgents > 0 ? (activeAgents / totalAgents) * 100 : 0;
|
|
197
|
+
const humanAgentRatio = totalHumans > 0 ? totalAgents / totalHumans : 0;
|
|
198
|
+
const collaborationIndex = Math.min(100, (activeAgents * 10) + (agentUtilization / 2));
|
|
199
|
+
return {
|
|
200
|
+
activeAgents,
|
|
201
|
+
totalAgents,
|
|
202
|
+
agentUtilization,
|
|
203
|
+
humanAgentRatio,
|
|
204
|
+
collaborationIndex
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
// ===== TIER 1: PURE CALCULATION FUNCTIONS (MVP CRITICAL) =====
|
|
208
|
+
/**
|
|
209
|
+
* [EARS-5] Calculates exact days since last state change.
|
|
210
|
+
*/
|
|
211
|
+
calculateTimeInCurrentStage(task) {
|
|
212
|
+
try {
|
|
213
|
+
// EARS-25: Use creation timestamp as fallback if no signatures
|
|
214
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
215
|
+
const taskCreationTime = this.getTimestampFromId(task.id);
|
|
216
|
+
// TODO: In a complete implementation, we would look at signatures to find last state change
|
|
217
|
+
// For MVP, we use creation time as approximation
|
|
218
|
+
const lastStateChange = taskCreationTime;
|
|
219
|
+
const diffSeconds = currentTime - lastStateChange;
|
|
220
|
+
const diffDays = diffSeconds / (24 * 60 * 60);
|
|
221
|
+
return Math.max(0, diffDays);
|
|
222
|
+
}
|
|
223
|
+
catch (error) {
|
|
224
|
+
// EARS-28: Validate timestamps
|
|
225
|
+
throw new Error(`InvalidDataError: Invalid timestamp data for task ${task.id}`);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* [EARS-6] Calculates days since last ExecutionRecord.
|
|
230
|
+
*/
|
|
231
|
+
calculateStalenessIndex(tasks) {
|
|
232
|
+
// EARS-13: Graceful degradation without executionStore
|
|
233
|
+
if (!this.executionStore) {
|
|
234
|
+
return 0;
|
|
235
|
+
}
|
|
236
|
+
// EARS-11: Validate input
|
|
237
|
+
if (!Array.isArray(tasks)) {
|
|
238
|
+
throw new Error('InvalidDataError: tasks must be an array');
|
|
239
|
+
}
|
|
240
|
+
// EARS-12: Handle empty datasets
|
|
241
|
+
if (tasks.length === 0) {
|
|
242
|
+
return 0;
|
|
243
|
+
}
|
|
244
|
+
try {
|
|
245
|
+
// For MVP, calculate based on task creation time
|
|
246
|
+
// In complete implementation, would check actual ExecutionRecords
|
|
247
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
248
|
+
const staleDays = tasks.map(task => {
|
|
249
|
+
const taskTime = this.getTimestampFromId(task.id);
|
|
250
|
+
return (currentTime - taskTime) / (24 * 60 * 60);
|
|
251
|
+
});
|
|
252
|
+
return Math.max(0, Math.max(...staleDays));
|
|
253
|
+
}
|
|
254
|
+
catch (error) {
|
|
255
|
+
throw new Error('InvalidDataError: Invalid data in staleness calculation');
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* [EARS-7] Calculates days of oldest active blocking feedback.
|
|
260
|
+
*/
|
|
261
|
+
calculateBlockingFeedbackAge(feedback) {
|
|
262
|
+
// EARS-14: Graceful degradation without feedbackStore
|
|
263
|
+
if (!this.feedbackStore) {
|
|
264
|
+
return 0;
|
|
265
|
+
}
|
|
266
|
+
// EARS-11: Validate input
|
|
267
|
+
if (!Array.isArray(feedback)) {
|
|
268
|
+
throw new Error('InvalidDataError: feedback must be an array');
|
|
269
|
+
}
|
|
270
|
+
// Filter blocking and open feedbacks
|
|
271
|
+
const blockingFeedbacks = feedback.filter(f => f.type === 'blocking' && f.status === 'open');
|
|
272
|
+
// EARS-12: Handle empty datasets
|
|
273
|
+
if (blockingFeedbacks.length === 0) {
|
|
274
|
+
return 0;
|
|
275
|
+
}
|
|
276
|
+
try {
|
|
277
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
278
|
+
const ages = blockingFeedbacks.map(f => {
|
|
279
|
+
const feedbackTime = this.getTimestampFromId(f.id);
|
|
280
|
+
return (currentTime - feedbackTime) / (24 * 60 * 60);
|
|
281
|
+
});
|
|
282
|
+
return Math.max(...ages);
|
|
283
|
+
}
|
|
284
|
+
catch (error) {
|
|
285
|
+
throw new Error('InvalidDataError: Invalid timestamp in blocking feedback calculation');
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* [EARS-8] Calculates health percentage using improved protocol formula.
|
|
290
|
+
*/
|
|
291
|
+
calculateHealth(tasks) {
|
|
292
|
+
// EARS-11: Validate input
|
|
293
|
+
if (!Array.isArray(tasks)) {
|
|
294
|
+
throw new Error('InvalidDataError: tasks must be an array');
|
|
295
|
+
}
|
|
296
|
+
// EARS-12: Handle empty datasets
|
|
297
|
+
if (tasks.length === 0) {
|
|
298
|
+
return 0;
|
|
299
|
+
}
|
|
300
|
+
try {
|
|
301
|
+
// Count tasks by status
|
|
302
|
+
const activeTasks = tasks.filter(task => task.status === 'active').length;
|
|
303
|
+
const doneTasks = tasks.filter(task => task.status === 'done').length;
|
|
304
|
+
const archivedTasks = tasks.filter(task => task.status === 'archived').length;
|
|
305
|
+
const readyTasks = tasks.filter(task => task.status === 'ready').length;
|
|
306
|
+
const reviewTasks = tasks.filter(task => task.status === 'review').length;
|
|
307
|
+
const pausedTasks = tasks.filter(task => task.status === 'paused').length;
|
|
308
|
+
const draftTasks = tasks.filter(task => task.status === 'draft').length;
|
|
309
|
+
// Calculate health based on workflow progress and blockers
|
|
310
|
+
// Healthy tasks: done (100%), archived (100%), active (80%), ready (60%), review (40%)
|
|
311
|
+
// Neutral tasks: draft (20%)
|
|
312
|
+
// Problematic tasks: paused (0%)
|
|
313
|
+
const healthyScore = (doneTasks * 100) + (archivedTasks * 100) + (activeTasks * 80) + (readyTasks * 60) + (reviewTasks * 40) + (draftTasks * 20) + (pausedTasks * 0);
|
|
314
|
+
const maxPossibleScore = tasks.length * 100;
|
|
315
|
+
if (maxPossibleScore === 0) {
|
|
316
|
+
return 0;
|
|
317
|
+
}
|
|
318
|
+
return Math.round((healthyScore / maxPossibleScore) * 100);
|
|
319
|
+
}
|
|
320
|
+
catch (error) {
|
|
321
|
+
throw new Error('InvalidDataError: Invalid data in health calculation');
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* [EARS-9] Returns status distribution with percentages.
|
|
326
|
+
*/
|
|
327
|
+
calculateBacklogDistribution(tasks) {
|
|
328
|
+
// EARS-11: Validate input
|
|
329
|
+
if (!Array.isArray(tasks)) {
|
|
330
|
+
throw new Error('InvalidDataError: tasks must be an array');
|
|
331
|
+
}
|
|
332
|
+
// EARS-12: Handle empty datasets
|
|
333
|
+
if (tasks.length === 0) {
|
|
334
|
+
return {};
|
|
335
|
+
}
|
|
336
|
+
const validStatuses = ['draft', 'review', 'ready', 'active', 'done', 'archived', 'paused'];
|
|
337
|
+
const distribution = {};
|
|
338
|
+
// EARS-29: Ignore tasks with invalid status
|
|
339
|
+
const validTasks = tasks.filter(task => validStatuses.includes(task.status));
|
|
340
|
+
// EARS-30: Handle division by zero
|
|
341
|
+
if (validTasks.length === 0) {
|
|
342
|
+
return {};
|
|
343
|
+
}
|
|
344
|
+
for (const status of validStatuses) {
|
|
345
|
+
const count = validTasks.filter(task => task.status === status).length;
|
|
346
|
+
distribution[status] = (count / validTasks.length) * 100;
|
|
347
|
+
}
|
|
348
|
+
return distribution;
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* [EARS-10] Counts tasks created in last 24 hours.
|
|
352
|
+
*/
|
|
353
|
+
calculateTasksCreatedToday(tasks) {
|
|
354
|
+
// EARS-11: Validate input
|
|
355
|
+
if (!Array.isArray(tasks)) {
|
|
356
|
+
throw new Error('InvalidDataError: tasks must be an array');
|
|
357
|
+
}
|
|
358
|
+
try {
|
|
359
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
360
|
+
const twentyFourHoursAgo = currentTime - (24 * 60 * 60);
|
|
361
|
+
return tasks.filter(task => {
|
|
362
|
+
const creationTime = this.getTimestampFromId(task.id);
|
|
363
|
+
return creationTime >= twentyFourHoursAgo;
|
|
364
|
+
}).length;
|
|
365
|
+
}
|
|
366
|
+
catch (error) {
|
|
367
|
+
throw new Error('InvalidDataError: Invalid timestamp in tasks created today calculation');
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
// ===== TIER 2: PURE CALCULATION FUNCTIONS (IMPORTANT) =====
|
|
371
|
+
/**
|
|
372
|
+
* [EARS-17] Counts tasks moved to 'done' in last 7 days.
|
|
373
|
+
*/
|
|
374
|
+
calculateThroughput(tasks) {
|
|
375
|
+
// EARS-11: Validate input
|
|
376
|
+
if (!Array.isArray(tasks)) {
|
|
377
|
+
throw new Error('InvalidDataError: tasks must be an array');
|
|
378
|
+
}
|
|
379
|
+
try {
|
|
380
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
381
|
+
const sevenDaysAgo = currentTime - (7 * 24 * 60 * 60);
|
|
382
|
+
return tasks.filter(task => {
|
|
383
|
+
if (task.status !== 'done')
|
|
384
|
+
return false;
|
|
385
|
+
// For MVP, use creation time as approximation of completion time
|
|
386
|
+
const completionTime = this.getTimestampFromId(task.id);
|
|
387
|
+
return completionTime >= sevenDaysAgo;
|
|
388
|
+
}).length;
|
|
389
|
+
}
|
|
390
|
+
catch (error) {
|
|
391
|
+
throw new Error('InvalidDataError: Invalid data in throughput calculation');
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* [EARS-18] Calculates average done-draft time for lead time.
|
|
396
|
+
*/
|
|
397
|
+
calculateLeadTime(tasks) {
|
|
398
|
+
// EARS-11: Validate input
|
|
399
|
+
if (!Array.isArray(tasks)) {
|
|
400
|
+
throw new Error('InvalidDataError: tasks must be an array');
|
|
401
|
+
}
|
|
402
|
+
// EARS-26: Filter only completed tasks
|
|
403
|
+
const completedTasks = tasks.filter(task => task.status === 'done');
|
|
404
|
+
// EARS-30: Handle division by zero
|
|
405
|
+
if (completedTasks.length === 0) {
|
|
406
|
+
return 0;
|
|
407
|
+
}
|
|
408
|
+
try {
|
|
409
|
+
// For MVP, calculate based on creation time
|
|
410
|
+
// In complete implementation, would use actual state change timestamps
|
|
411
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
412
|
+
const leadTimes = completedTasks.map(task => {
|
|
413
|
+
const creationTime = this.getTimestampFromId(task.id);
|
|
414
|
+
return (currentTime - creationTime) / (24 * 60 * 60); // Convert to days
|
|
415
|
+
});
|
|
416
|
+
return leadTimes.reduce((sum, time) => sum + time, 0) / leadTimes.length;
|
|
417
|
+
}
|
|
418
|
+
catch (error) {
|
|
419
|
+
throw new Error('InvalidDataError: Invalid timestamp in lead time calculation');
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* [EARS-19] Calculates average done-active time for cycle time.
|
|
424
|
+
*/
|
|
425
|
+
calculateCycleTime(tasks) {
|
|
426
|
+
// EARS-11: Validate input
|
|
427
|
+
if (!Array.isArray(tasks)) {
|
|
428
|
+
throw new Error('InvalidDataError: tasks must be an array');
|
|
429
|
+
}
|
|
430
|
+
// Filter completed tasks that were active
|
|
431
|
+
const activeTasks = tasks.filter(task => task.status === 'done');
|
|
432
|
+
// EARS-27: Return 0 for tasks that were never active
|
|
433
|
+
if (activeTasks.length === 0) {
|
|
434
|
+
return 0;
|
|
435
|
+
}
|
|
436
|
+
try {
|
|
437
|
+
// For MVP, use approximation based on creation time
|
|
438
|
+
// In complete implementation, would track actual active → done transitions
|
|
439
|
+
const cycleTimes = activeTasks.map(task => {
|
|
440
|
+
// Approximate cycle time as 30% of total time (active phase)
|
|
441
|
+
const creationTime = this.getTimestampFromId(task.id);
|
|
442
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
443
|
+
const totalTime = (currentTime - creationTime) / (24 * 60 * 60);
|
|
444
|
+
return totalTime * 0.3; // Approximate active time
|
|
445
|
+
});
|
|
446
|
+
return cycleTimes.reduce((sum, time) => sum + time, 0) / cycleTimes.length;
|
|
447
|
+
}
|
|
448
|
+
catch (error) {
|
|
449
|
+
throw new Error('InvalidDataError: Invalid data in cycle time calculation');
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* [EARS-20] Counts unique agents with executions in 24h.
|
|
454
|
+
*/
|
|
455
|
+
calculateActiveAgents(actors, executions) {
|
|
456
|
+
// EARS-11: Validate input
|
|
457
|
+
if (!Array.isArray(actors) || !Array.isArray(executions)) {
|
|
458
|
+
throw new Error('InvalidDataError: actors and executions must be arrays');
|
|
459
|
+
}
|
|
460
|
+
try {
|
|
461
|
+
const currentTime = Math.floor(Date.now() / 1000);
|
|
462
|
+
const twentyFourHoursAgo = currentTime - (24 * 60 * 60);
|
|
463
|
+
// Get recent executions
|
|
464
|
+
const recentExecutions = executions.filter(execution => {
|
|
465
|
+
const executionTime = this.getTimestampFromId(execution.id);
|
|
466
|
+
return executionTime >= twentyFourHoursAgo;
|
|
467
|
+
});
|
|
468
|
+
// Get unique agent IDs from recent executions
|
|
469
|
+
const activeAgentIds = new Set();
|
|
470
|
+
if (recentExecutions.length > 0) {
|
|
471
|
+
// Cross-reference executions with agent actors to find active agents
|
|
472
|
+
const agentActors = actors.filter(actor => actor.type === 'agent');
|
|
473
|
+
for (const agent of agentActors) {
|
|
474
|
+
// In a complete implementation, we would track execution authorship
|
|
475
|
+
// For now, if there are recent executions and agent actors, count them as active
|
|
476
|
+
activeAgentIds.add(agent.id);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
return activeAgentIds.size;
|
|
480
|
+
}
|
|
481
|
+
catch (error) {
|
|
482
|
+
throw new Error('InvalidDataError: Invalid data in active agents calculation');
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
// ===== HELPER METHODS =====
|
|
486
|
+
/**
|
|
487
|
+
* Extracts timestamp from ID (format: {timestamp}-{type}-{slug})
|
|
488
|
+
*/
|
|
489
|
+
getTimestampFromId(id) {
|
|
490
|
+
try {
|
|
491
|
+
const parts = id.split('-');
|
|
492
|
+
const timestamp = parseInt(parts[0] || '0', 10);
|
|
493
|
+
// EARS-28: Validate timestamps
|
|
494
|
+
if (isNaN(timestamp) || timestamp <= 0) {
|
|
495
|
+
throw new Error(`Invalid timestamp in ID: ${id}`);
|
|
496
|
+
}
|
|
497
|
+
return timestamp;
|
|
498
|
+
}
|
|
499
|
+
catch (error) {
|
|
500
|
+
throw new Error(`InvalidDataError: Cannot extract timestamp from ID: ${id}`);
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* Counts tasks by status
|
|
505
|
+
*/
|
|
506
|
+
countTasksByStatus(tasks) {
|
|
507
|
+
const counts = {};
|
|
508
|
+
for (const task of tasks) {
|
|
509
|
+
const status = task.status;
|
|
510
|
+
counts[status] = (counts[status] || 0) + 1;
|
|
511
|
+
}
|
|
512
|
+
return counts;
|
|
513
|
+
}
|
|
514
|
+
/**
|
|
515
|
+
* Counts tasks by priority
|
|
516
|
+
*/
|
|
517
|
+
countTasksByPriority(tasks) {
|
|
518
|
+
const counts = {};
|
|
519
|
+
for (const task of tasks) {
|
|
520
|
+
const priority = task.priority;
|
|
521
|
+
counts[priority] = (counts[priority] || 0) + 1;
|
|
522
|
+
}
|
|
523
|
+
return counts;
|
|
524
|
+
}
|
|
525
|
+
// ===== TIER 3-4: NOT IMPLEMENTED (FUTURE) =====
|
|
526
|
+
/**
|
|
527
|
+
* [EARS-15] Throws NotImplementedError for Tier 3 functions.
|
|
528
|
+
*/
|
|
529
|
+
calculateQuality(_tasks) {
|
|
530
|
+
throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
|
|
531
|
+
}
|
|
532
|
+
calculateReworkRate(_tasks) {
|
|
533
|
+
throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
|
|
534
|
+
}
|
|
535
|
+
calculateCompletionRate(_tasks) {
|
|
536
|
+
throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
|
|
537
|
+
}
|
|
538
|
+
calculateAuditScoreDistribution(_tasks) {
|
|
539
|
+
throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
|
|
540
|
+
}
|
|
541
|
+
calculateEpicPromotionRate(_tasks) {
|
|
542
|
+
throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
|
|
543
|
+
}
|
|
544
|
+
calculateTaskRefinementRate(_tasks) {
|
|
545
|
+
throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
|
|
546
|
+
}
|
|
547
|
+
calculatePlanningAccuracy(_tasks) {
|
|
548
|
+
throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
|
|
549
|
+
}
|
|
550
|
+
calculateDependencyDiscoveryRate(_tasks) {
|
|
551
|
+
throw new Error('NotImplementedError: Tier 3 metrics not implemented yet');
|
|
552
|
+
}
|
|
553
|
+
/**
|
|
554
|
+
* [EARS-16] Returns null for Premium metrics without Platform API.
|
|
555
|
+
*/
|
|
556
|
+
calculateCostBurnRate(_consumption) {
|
|
557
|
+
if (!this.platformApi) {
|
|
558
|
+
console.warn('Platform API not available for premium metrics');
|
|
559
|
+
return 0;
|
|
560
|
+
}
|
|
561
|
+
throw new Error('NotImplementedError: Tier 4 premium metrics not implemented yet');
|
|
562
|
+
}
|
|
563
|
+
calculateTokenConsumption(_consumption) {
|
|
564
|
+
if (!this.platformApi) {
|
|
565
|
+
console.warn('Platform API not available for premium metrics');
|
|
566
|
+
return 0;
|
|
567
|
+
}
|
|
568
|
+
throw new Error('NotImplementedError: Tier 4 premium metrics not implemented yet');
|
|
569
|
+
}
|
|
570
|
+
calculateTokenConsumptionByAgent(_consumption) {
|
|
571
|
+
if (!this.platformApi) {
|
|
572
|
+
console.warn('Platform API not available for premium metrics');
|
|
573
|
+
return {};
|
|
574
|
+
}
|
|
575
|
+
throw new Error('NotImplementedError: Tier 4 premium metrics not implemented yet');
|
|
576
|
+
}
|
|
577
|
+
calculateAiAccuracyRate(_tasks, _feedback) {
|
|
578
|
+
if (!this.platformApi) {
|
|
579
|
+
console.warn('Platform API not available for premium metrics');
|
|
580
|
+
return 0;
|
|
581
|
+
}
|
|
582
|
+
throw new Error('NotImplementedError: Tier 4 premium metrics not implemented yet');
|
|
583
|
+
}
|
|
584
|
+
calculateAgentExecutionTime(_executions) {
|
|
585
|
+
if (!this.platformApi) {
|
|
586
|
+
console.warn('Platform API not available for premium metrics');
|
|
587
|
+
return 0;
|
|
588
|
+
}
|
|
589
|
+
throw new Error('NotImplementedError: Tier 4 premium metrics not implemented yet');
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/metrics_adapter/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics_adapter.test.d.ts","sourceRoot":"","sources":["../../../../src/adapters/metrics_adapter/metrics_adapter.test.ts"],"names":[],"mappings":""}
|