@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
package/README.md
ADDED
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
# @gitgov/core: The Governance Engine
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@gitgov/core)
|
|
4
|
+
[](https://opensource.org/licenses/MPL-2.0)
|
|
5
|
+
[](./tsconfig.json)
|
|
6
|
+
|
|
7
|
+
`@gitgov/core` is the **universal SDK** for the GitGovernance ecosystem. It provides a type-safe, local-first, and schema-driven API to manage identities, agents, and workflows in software projects.
|
|
8
|
+
|
|
9
|
+
## š Quick Start
|
|
10
|
+
|
|
11
|
+
This example initializes a complete GitGovernance project in a new directory, creating the necessary configuration, the first user actor, and a root cycle for tasks.
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import {
|
|
15
|
+
ProjectAdapter,
|
|
16
|
+
ConfigManager,
|
|
17
|
+
RecordStore,
|
|
18
|
+
IdentityAdapter,
|
|
19
|
+
BacklogAdapter,
|
|
20
|
+
WorkflowMethodologyAdapter,
|
|
21
|
+
} from "@gitgov/core";
|
|
22
|
+
import path from "path";
|
|
23
|
+
import fs from "fs/promises";
|
|
24
|
+
|
|
25
|
+
// 1. Instantiate all core adapters and their dependencies
|
|
26
|
+
const identityAdapter = new IdentityAdapter();
|
|
27
|
+
const backlogAdapter = new BacklogAdapter({
|
|
28
|
+
taskStore: new RecordStore("tasks"),
|
|
29
|
+
cycleStore: new RecordStore("cycles"),
|
|
30
|
+
workflowMethodology: new WorkflowMethodologyAdapter(),
|
|
31
|
+
identity: identityAdapter,
|
|
32
|
+
});
|
|
33
|
+
const projectAdapter = new ProjectAdapter({
|
|
34
|
+
identityAdapter,
|
|
35
|
+
backlogAdapter,
|
|
36
|
+
workflowMethodologyAdapter: new WorkflowMethodologyAdapter(),
|
|
37
|
+
configManager: new ConfigManager(),
|
|
38
|
+
taskStore: new RecordStore("tasks"),
|
|
39
|
+
cycleStore: new RecordStore("cycles"),
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
// 2. Validate environment and initialize the project
|
|
43
|
+
const validation = await projectAdapter.validateEnvironment();
|
|
44
|
+
if (!validation.isValid) {
|
|
45
|
+
console.error("Environment issues:", validation.warnings);
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const result = await projectAdapter.initializeProject({
|
|
50
|
+
name: "My GitGovernance Project",
|
|
51
|
+
actorName: "Project Owner",
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// 3. Project is now ready!
|
|
55
|
+
console.log(`ā
Project initialized: ${result.projectId}`);
|
|
56
|
+
console.log(`š Root cycle: ${result.rootCycle}`);
|
|
57
|
+
console.log(
|
|
58
|
+
`š¤ Actor created: ${result.actor.displayName} (${result.actor.id})`
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
// Expected output:
|
|
62
|
+
// ā
Project initialized: my-gitgovernance-project
|
|
63
|
+
// š Root cycle: cycle:my-gitgovernance-project.root
|
|
64
|
+
// š¤ Actor created: Project Owner (human:project-owner)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## ā
What's Implemented (v1.0)
|
|
68
|
+
|
|
69
|
+
### Identity Management (Complete)
|
|
70
|
+
|
|
71
|
+
- **ActorRecord**: Cryptographic identities with Ed25519 keys
|
|
72
|
+
- **AgentRecord**: AI agent operational manifests
|
|
73
|
+
- **Full CRUD**: Create, read, list, revoke operations
|
|
74
|
+
- **Schema Validation**: JSON Schema-driven with detailed errors
|
|
75
|
+
- **Performance**: Schema validation caching
|
|
76
|
+
|
|
77
|
+
### Complete Adapter Ecosystem (7/7 Adapters)
|
|
78
|
+
|
|
79
|
+
- **ProjectAdapter**: Project initialization engine with 3-adapter orchestration (ā
Implemented)
|
|
80
|
+
- **BacklogAdapter**: Task and cycle lifecycle management with workflow validation (ā
Implemented)
|
|
81
|
+
- **MetricsAdapter**: Pure calculation engine for system analytics (ā
Implemented)
|
|
82
|
+
- **ChangelogAdapter**: System historian for change documentation (ā
Implemented)
|
|
83
|
+
- **ExecutionAdapter**: Immutable audit log for work execution (ā
Implemented)
|
|
84
|
+
- **FeedbackAdapter**: Structured communication and blocking management (ā
Implemented)
|
|
85
|
+
- **IdentityAdapter**: Cryptographic identity and agent management (ā
Implemented)
|
|
86
|
+
|
|
87
|
+
### Complete Record System (7/7 Records)
|
|
88
|
+
|
|
89
|
+
- **TaskRecord**: Factory and validation for task management
|
|
90
|
+
- **CycleRecord**: Factory and validation for cycle organization
|
|
91
|
+
- **ExecutionRecord**: Factory and validation for execution logging
|
|
92
|
+
- **ChangelogRecord**: Factory and validation for changelog generation
|
|
93
|
+
- **FeedbackRecord**: Factory and validation for feedback management
|
|
94
|
+
- **ActorRecord**: Factory and validation for identity management
|
|
95
|
+
- **AgentRecord**: Factory and validation for agent manifests
|
|
96
|
+
|
|
97
|
+
### Infrastructure Modules
|
|
98
|
+
|
|
99
|
+
- **Generic Store**: CRUD operations for all record types
|
|
100
|
+
- **Integration Testing**: Cross-module validation framework
|
|
101
|
+
- **WorkflowMethodologyAdapter**: Configurable workflow validation engine (ā
Implemented)
|
|
102
|
+
- **EventBusModule**: Event-driven architecture foundation with 9 event types (ā
Implemented)
|
|
103
|
+
|
|
104
|
+
```typescript
|
|
105
|
+
// Complete project initialization workflow
|
|
106
|
+
const projectAdapter = new ProjectAdapter({
|
|
107
|
+
identityAdapter: new IdentityAdapter(),
|
|
108
|
+
backlogAdapter: new BacklogAdapter(/* dependencies */),
|
|
109
|
+
workflowMethodologyAdapter: new WorkflowMethodologyAdapter(),
|
|
110
|
+
configManager: new ConfigManager(),
|
|
111
|
+
taskStore: new RecordStore("tasks"),
|
|
112
|
+
cycleStore: new RecordStore("cycles"),
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
// 1. Validate environment
|
|
116
|
+
const validation = await projectAdapter.validateEnvironment();
|
|
117
|
+
if (!validation.isValid) {
|
|
118
|
+
console.error("Environment issues:", validation.warnings);
|
|
119
|
+
process.exit(1);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// 2. Initialize complete project
|
|
123
|
+
const result = await projectAdapter.initializeProject({
|
|
124
|
+
name: "My GitGovernance Project",
|
|
125
|
+
actorName: "Project Owner",
|
|
126
|
+
template: "./templates/basic.json",
|
|
127
|
+
methodology: "scrum",
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
// 3. Project is now ready
|
|
131
|
+
console.log(`ā
Project initialized: ${result.projectId}`);
|
|
132
|
+
console.log(`š Root cycle: ${result.rootCycle}`);
|
|
133
|
+
console.log(`š¤ Actor: ${result.actor.displayName}`);
|
|
134
|
+
|
|
135
|
+
// 4. Get project information
|
|
136
|
+
const projectInfo = await projectAdapter.getProjectInfo();
|
|
137
|
+
console.log(`š Project: ${projectInfo?.name}`);
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## šļø Architecture
|
|
141
|
+
|
|
142
|
+
The package is built with a domain-driven architecture to separate responsibilities. The public API is exposed through `Adapters`.
|
|
143
|
+
|
|
144
|
+
```mermaid
|
|
145
|
+
graph TD
|
|
146
|
+
subgraph "@gitgov/core"
|
|
147
|
+
PA[ProjectAdapter] --> IA[IdentityAdapter];
|
|
148
|
+
PA --> BA[BacklogAdapter];
|
|
149
|
+
PA --> WMA[WorkflowMethodologyAdapter];
|
|
150
|
+
PA --> CM[ConfigManager];
|
|
151
|
+
PA --> F((Factories));
|
|
152
|
+
IA --> F;
|
|
153
|
+
IA --> V((Validation));
|
|
154
|
+
IA --> S((Store));
|
|
155
|
+
IA --> CR((Crypto));
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
subgraph "Consumidores"
|
|
159
|
+
CLI["@gitgov/cli"]
|
|
160
|
+
SAAS["@gitgov/saas"]
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
CLI --> PA;
|
|
164
|
+
SAAS --> PA;
|
|
165
|
+
|
|
166
|
+
style PA fill:#e8f5e8,stroke:#4caf50,stroke-width:2px
|
|
167
|
+
style IA fill:#e8f5e8,stroke:#4caf50,stroke-width:2px
|
|
168
|
+
style BA fill:#e8f5e8,stroke:#4caf50,stroke-width:2px
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Core Principles
|
|
172
|
+
|
|
173
|
+
1. **Protocol-Driven**: The canonical JSON Schemas that define the governance protocol are bundled with the package and are the single source of truth for all data validation.
|
|
174
|
+
2. **Type Safety**: Strict TypeScript with no `any` to prevent compile-time errors.
|
|
175
|
+
3. **Event Coherence Guarantee**: Event payloads are derived from canonical records using TypeScript Utility Types, ensuring 100% consistency between system state and system events.
|
|
176
|
+
4. **Rich Errors**: Detailed, field-level validation errors to make debugging easier.
|
|
177
|
+
5. **Performance**: A compiled schema cache (`SchemaValidationCache`) minimizes I/O and accelerates repetitive validations.
|
|
178
|
+
6. **Local-First**: Designed to operate directly on a Git repository as its database.
|
|
179
|
+
|
|
180
|
+
## š§ Advanced Usage
|
|
181
|
+
|
|
182
|
+
### Schema Validation
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
import {
|
|
186
|
+
validateActorRecordDetailed,
|
|
187
|
+
DetailedValidationError,
|
|
188
|
+
} from "@gitgov/core";
|
|
189
|
+
|
|
190
|
+
const result = validateActorRecordDetailed(userData);
|
|
191
|
+
if (!result.isValid) {
|
|
192
|
+
result.errors.forEach((error) => {
|
|
193
|
+
console.log(`ā ${error.field}: ${error.message}`);
|
|
194
|
+
console.log(` Got: ${JSON.stringify(error.value)}`);
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Custom Error Handling
|
|
200
|
+
|
|
201
|
+
```typescript
|
|
202
|
+
import {
|
|
203
|
+
DetailedValidationError,
|
|
204
|
+
RecordNotFoundError,
|
|
205
|
+
ProjectRootError,
|
|
206
|
+
} from "@gitgov/core";
|
|
207
|
+
|
|
208
|
+
function handleCoreErrors(error: unknown) {
|
|
209
|
+
if (error instanceof DetailedValidationError) {
|
|
210
|
+
return { type: "validation", fields: error.ajvErrors };
|
|
211
|
+
} else if (error instanceof RecordNotFoundError) {
|
|
212
|
+
return { type: "not_found", code: error.code };
|
|
213
|
+
} else if (error instanceof ProjectRootError) {
|
|
214
|
+
return { type: "setup", message: "Initialize Git repository first" };
|
|
215
|
+
}
|
|
216
|
+
return { type: "unknown", error };
|
|
217
|
+
}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### Performance Monitoring
|
|
221
|
+
|
|
222
|
+
```typescript
|
|
223
|
+
import { SchemaValidationCache } from "@gitgov/core";
|
|
224
|
+
|
|
225
|
+
// Monitor cache efficiency
|
|
226
|
+
const stats = SchemaValidationCache.getCacheStats();
|
|
227
|
+
console.log(`Cache hit ratio: ${stats.cachedSchemas} schemas loaded`);
|
|
228
|
+
|
|
229
|
+
// Clear cache when schemas are updated
|
|
230
|
+
SchemaValidationCache.clearCache();
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## š§Ŗ Testing & Development
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
# Run all tests (500+ passing)
|
|
237
|
+
npm test
|
|
238
|
+
|
|
239
|
+
# Type checking
|
|
240
|
+
npx tsc --noEmit
|
|
241
|
+
|
|
242
|
+
# Watch mode for development
|
|
243
|
+
npm test -- --watch
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Test Coverage
|
|
247
|
+
|
|
248
|
+
- **711 tests total** with EARS methodology
|
|
249
|
+
- **ProjectAdapter**: 18 tests (complete project initialization + template processing + error recovery)
|
|
250
|
+
- **BacklogAdapter**: 43 tests (complete workflow lifecycle + event handlers + E2E simulation)
|
|
251
|
+
- **MetricsAdapter**: 32 tests (Tier 1+2 calculations + performance validation)
|
|
252
|
+
- **ChangelogAdapter**: 31 tests (multi-entity changelog + conditional validation)
|
|
253
|
+
- **EventBusModule**: 32 tests (20 unit + 12 integration tests with cross-adapter scenarios)
|
|
254
|
+
- **FeedbackAdapter**: 15 tests (complete EARS coverage with dual event emission)
|
|
255
|
+
- **ExecutionAdapter**: 13 tests (complete EARS coverage with performance validation)
|
|
256
|
+
- **WorkflowMethodologyAdapter**: 51 tests (29 unit + 22 integration tests)
|
|
257
|
+
- **Identity Domain**: 66 tests (Adapter + ActorRecord/AgentRecord factories & validators)
|
|
258
|
+
- **Validation**: 62 tests (for Task, Cycle, Exec, CL, Feedback records + schema caching)
|
|
259
|
+
- **Factories**: 40 tests (for Task, Cycle, Exec, CL, Feedback records)
|
|
260
|
+
- **Store**: 26 tests (generic CRUD for all record types)
|
|
261
|
+
- **Crypto**: 23 tests (signatures + checksums for all 7 record types)
|
|
262
|
+
- **ConfigManager**: 20 tests (configuration + session state + project utilities)
|
|
263
|
+
- **Utils**: 10 tests (ID generation utilities)
|
|
264
|
+
- **Integration**: 18 tests (cross-module validation)
|
|
265
|
+
|
|
266
|
+
## š® Roadmap
|
|
267
|
+
|
|
268
|
+
### Next: CLI Integration & Polish
|
|
269
|
+
|
|
270
|
+
- CLI init command integration with ProjectAdapter
|
|
271
|
+
- Real adapter integration tests (replace mocks with actual adapters)
|
|
272
|
+
- IndexerModule for local cache optimization
|
|
273
|
+
- Performance benchmarking with enterprise datasets
|
|
274
|
+
- ConfigManager write methods (architectural improvement)
|
|
275
|
+
|
|
276
|
+
### Recently Completed
|
|
277
|
+
|
|
278
|
+
- ā
**ProjectAdapter**: Complete implementation with 3-adapter orchestration
|
|
279
|
+
- ā
**BacklogAdapter**: Complete implementation with event-driven coordination
|
|
280
|
+
- ā
**MetricsAdapter**: Complete calculation engine with Tier 1+2 functions
|
|
281
|
+
- ā
**ChangelogAdapter**: Complete implementation with conditional validation
|
|
282
|
+
- ā
**ExecutionAdapter**: Complete implementation with traceability
|
|
283
|
+
- ā
**FeedbackAdapter**: Complete implementation with dual event emission
|
|
284
|
+
|
|
285
|
+
## š Documentation
|
|
286
|
+
|
|
287
|
+
- **[Protocol Specs](./src/schemas/)**: Canonical schemas and rules
|
|
288
|
+
|
|
289
|
+
## š¤ Contributing
|
|
290
|
+
|
|
291
|
+
This package follows **a protocol-first approach**. Every feature must:
|
|
292
|
+
|
|
293
|
+
1. Have a corresponding specification (blueprint) in `specs/`
|
|
294
|
+
2. Include comprehensive tests with EARS references
|
|
295
|
+
3. Follow the established architectural patterns
|
|
296
|
+
4. Pass TypeScript strict compilation
|
|
297
|
+
5. Update relevant documentation
|
|
298
|
+
|
|
299
|
+
See [CONTRIBUTING.md](../../CONTRIBUTING.md) for detailed guidelines.
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
**Built with ā¤ļø by the GitGovernance Team**
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env tsx
|
|
2
|
+
/**
|
|
3
|
+
* Compile JSON schemas to TypeScript types
|
|
4
|
+
*
|
|
5
|
+
* This script reads the JSON schemas from src/schemas/ (with $ref references)
|
|
6
|
+
* and generates TypeScript types using json-schema-to-typescript.
|
|
7
|
+
* It handles $ref resolution automatically.
|
|
8
|
+
*/
|
|
9
|
+
declare function compileSchemas(): Promise<void>;
|
|
10
|
+
export { compileSchemas };
|
|
11
|
+
//# sourceMappingURL=compile-json-to-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-json-to-types.d.ts","sourceRoot":"","sources":["../../scripts/compile-json-to-types.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AA+DH,iBAAe,cAAc,kBA0E5B;AAOD,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
#!/usr/bin/env tsx
|
|
2
|
+
/**
|
|
3
|
+
* Compile JSON schemas to TypeScript types
|
|
4
|
+
*
|
|
5
|
+
* This script reads the JSON schemas from src/schemas/ (with $ref references)
|
|
6
|
+
* and generates TypeScript types using json-schema-to-typescript.
|
|
7
|
+
* It handles $ref resolution automatically.
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from 'fs';
|
|
10
|
+
import * as path from 'path';
|
|
11
|
+
import { compile } from 'json-schema-to-typescript';
|
|
12
|
+
import { fileURLToPath } from 'url';
|
|
13
|
+
// ESM equivalent of __dirname
|
|
14
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
15
|
+
const __dirname = path.dirname(__filename);
|
|
16
|
+
// Paths
|
|
17
|
+
const SCHEMAS_DIR = path.join(__dirname, '../src/schemas/generated');
|
|
18
|
+
const OUTPUT_DIR = path.join(__dirname, '../src/types/generated');
|
|
19
|
+
/**
|
|
20
|
+
* Generate schema mappings by reading all JSON files in the schemas directory
|
|
21
|
+
*/
|
|
22
|
+
function generateSchemaMappings(schemasDir) {
|
|
23
|
+
const mappings = {};
|
|
24
|
+
if (!fs.existsSync(schemasDir)) {
|
|
25
|
+
console.warn(`ā ļø Schemas directory not found: ${schemasDir}`);
|
|
26
|
+
return mappings;
|
|
27
|
+
}
|
|
28
|
+
const files = fs.readdirSync(schemasDir)
|
|
29
|
+
.filter(file => file.endsWith('.json'))
|
|
30
|
+
.sort();
|
|
31
|
+
for (const jsonFile of files) {
|
|
32
|
+
// Convert all schemas consistently: "actor_record_schema.json" ā "actor_record.ts"
|
|
33
|
+
const tsFileName = jsonFile.replace('_schema.json', '.ts');
|
|
34
|
+
mappings[jsonFile] = tsFileName;
|
|
35
|
+
}
|
|
36
|
+
return mappings;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Custom resolver for $ref references within our schemas directory
|
|
40
|
+
*/
|
|
41
|
+
function createRefResolver(schemasDir) {
|
|
42
|
+
return {
|
|
43
|
+
order: 1,
|
|
44
|
+
canRead: (file) => {
|
|
45
|
+
return typeof file.url === 'string' && file.url.startsWith('ref:');
|
|
46
|
+
},
|
|
47
|
+
read: (file) => {
|
|
48
|
+
const schemaName = file.url.replace('ref:', '');
|
|
49
|
+
const jsonPath = path.join(schemasDir, `${schemaName}.json`);
|
|
50
|
+
if (fs.existsSync(jsonPath)) {
|
|
51
|
+
const content = fs.readFileSync(jsonPath, 'utf8');
|
|
52
|
+
return JSON.parse(content);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
console.warn(`ā ļø Referenced schema not found: ${jsonPath}`);
|
|
56
|
+
return {}; // Return empty schema as fallback
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
async function compileSchemas() {
|
|
62
|
+
console.log('š Compiling JSON schemas to TypeScript types...');
|
|
63
|
+
// Create output directory if it doesn't exist
|
|
64
|
+
fs.mkdirSync(OUTPUT_DIR, { recursive: true });
|
|
65
|
+
const compiledTypes = [];
|
|
66
|
+
// Generate schema mappings dynamically
|
|
67
|
+
const schemaMappings = generateSchemaMappings(SCHEMAS_DIR);
|
|
68
|
+
// Process each schema mapping
|
|
69
|
+
for (const [jsonFile, tsFile] of Object.entries(schemaMappings)) {
|
|
70
|
+
const jsonPath = path.join(SCHEMAS_DIR, jsonFile);
|
|
71
|
+
const tsPath = path.join(OUTPUT_DIR, tsFile);
|
|
72
|
+
if (!fs.existsSync(jsonPath)) {
|
|
73
|
+
console.warn(`ā ļø Schema not found: ${jsonPath}`);
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
// Read JSON schema
|
|
78
|
+
const schemaContent = fs.readFileSync(jsonPath, 'utf8');
|
|
79
|
+
const schema = JSON.parse(schemaContent);
|
|
80
|
+
// Generate TypeScript type name
|
|
81
|
+
const typeName = path.basename(tsFile, '.ts')
|
|
82
|
+
.split('_')
|
|
83
|
+
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
|
|
84
|
+
.join('');
|
|
85
|
+
// Compile to TypeScript with custom options
|
|
86
|
+
const tsContent = await compile(schema, typeName, {
|
|
87
|
+
bannerComment: `/**
|
|
88
|
+
* This file was automatically generated from ${jsonFile}.
|
|
89
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source schema,
|
|
90
|
+
* and run 'pnpm compile:types' to regenerate this file.
|
|
91
|
+
*/`,
|
|
92
|
+
style: {
|
|
93
|
+
singleQuote: true,
|
|
94
|
+
},
|
|
95
|
+
// Custom resolver for handling $ref to other schemas
|
|
96
|
+
$refOptions: {
|
|
97
|
+
resolve: {
|
|
98
|
+
// Custom resolver for our schema references
|
|
99
|
+
file: createRefResolver(SCHEMAS_DIR)
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
// Additional options for better type generation
|
|
103
|
+
additionalProperties: false,
|
|
104
|
+
enableConstEnums: true,
|
|
105
|
+
strictIndexSignatures: true,
|
|
106
|
+
});
|
|
107
|
+
// Write TypeScript file
|
|
108
|
+
fs.writeFileSync(tsPath, tsContent);
|
|
109
|
+
console.log(`ā
${jsonFile} ā types/${tsFile}`);
|
|
110
|
+
compiledTypes.push(path.basename(tsFile, '.ts'));
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
console.error(`ā Failed to compile ${jsonFile}:`, error);
|
|
114
|
+
// Don't exit on error, continue with other schemas
|
|
115
|
+
console.log(` Continuing with other schemas...`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
console.log(`š Successfully compiled ${compiledTypes.length} schema types!`);
|
|
119
|
+
if (compiledTypes.length > 0) {
|
|
120
|
+
console.log(`š Types generated in: ${OUTPUT_DIR}`);
|
|
121
|
+
console.log(`š Available types: ${compiledTypes.join(', ')}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Run if called directly
|
|
125
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
126
|
+
compileSchemas().catch(console.error);
|
|
127
|
+
}
|
|
128
|
+
export { compileSchemas };
|
|
129
|
+
//# sourceMappingURL=compile-json-to-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-json-to-types.js","sourceRoot":"","sources":["../../scripts/compile-json-to-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnose-duplicates.d.ts","sourceRoot":"","sources":["../../scripts/diagnose-duplicates.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#!/usr/bin/env tsx
|
|
2
|
+
/**
|
|
3
|
+
* Diagnostic script to detect duplicate nodes and edges in GitGovernance data
|
|
4
|
+
* Usage: npx tsx packages/core/scripts/diagnose-duplicates.ts
|
|
5
|
+
*/
|
|
6
|
+
import { DiagramGenerator } from '../src/diagram_generator/index.js';
|
|
7
|
+
import { ConfigManager } from '../src/config_manager/index.js';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
async function diagnoseDuplicates() {
|
|
10
|
+
console.log('š Diagnosing duplicates in GitGovernance data...');
|
|
11
|
+
try {
|
|
12
|
+
// Find project root
|
|
13
|
+
const projectRoot = ConfigManager.findProjectRoot();
|
|
14
|
+
if (!projectRoot) {
|
|
15
|
+
throw new Error("Could not find project root.");
|
|
16
|
+
}
|
|
17
|
+
// Initialize generator
|
|
18
|
+
const generator = new DiagramGenerator({
|
|
19
|
+
layout: 'LR',
|
|
20
|
+
includeEpicTasks: true,
|
|
21
|
+
maxDepth: 4,
|
|
22
|
+
colorScheme: 'default',
|
|
23
|
+
showAssignments: false,
|
|
24
|
+
});
|
|
25
|
+
// Load records
|
|
26
|
+
const gitgovPath = path.join(projectRoot, '.gitgov');
|
|
27
|
+
const cycles = await generator.loadCycleRecords(gitgovPath);
|
|
28
|
+
const tasks = await generator.loadTaskRecords(gitgovPath);
|
|
29
|
+
console.log(`š Loaded ${cycles.length} cycles and ${tasks.length} tasks`);
|
|
30
|
+
// Detect duplicates using our new method
|
|
31
|
+
const duplicates = generator.analyzer.detectDuplicates(cycles, tasks);
|
|
32
|
+
if (duplicates.duplicateNodes.length === 0 && duplicates.duplicateEdges.length === 0) {
|
|
33
|
+
console.log('ā
No duplicates found!');
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
console.log('\nš“ Duplicates detected:');
|
|
37
|
+
if (duplicates.duplicateNodes.length > 0) {
|
|
38
|
+
console.log('\nš¦ Duplicate Nodes:');
|
|
39
|
+
duplicates.duplicateNodes.forEach(dup => {
|
|
40
|
+
console.log(` ⢠${dup.id} (appears ${dup.count} times)`);
|
|
41
|
+
console.log(` Sources: ${dup.sources.join(', ')}`);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
if (duplicates.duplicateEdges.length > 0) {
|
|
45
|
+
console.log('\nš Duplicate Edges:');
|
|
46
|
+
duplicates.duplicateEdges.forEach(dup => {
|
|
47
|
+
console.log(` ⢠${dup.edge} (appears ${dup.count} times)`);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Generate graph with deduplication
|
|
52
|
+
console.log('\nš Generating deduplicated graph...');
|
|
53
|
+
const graph = generator.analyzer.analyzeRelationships(cycles, tasks);
|
|
54
|
+
if (graph.metadata.duplicatesRemoved) {
|
|
55
|
+
const { nodes: nodesDup, edges: edgesDup } = graph.metadata.duplicatesRemoved;
|
|
56
|
+
if (nodesDup > 0 || edgesDup > 0) {
|
|
57
|
+
console.log(`āļø Removed ${nodesDup} duplicate nodes and ${edgesDup} duplicate edges`);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
console.log('ā
No duplicates were removed (clean data)');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
console.log(`š Final graph: ${graph.metadata.nodeCount} nodes, ${graph.metadata.edgeCount} edges`);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
console.error('ā Error during diagnosis:', error);
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// Run the diagnostic
|
|
71
|
+
diagnoseDuplicates();
|
|
72
|
+
//# sourceMappingURL=diagnose-duplicates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnose-duplicates.js","sourceRoot":"","sources":["../../scripts/diagnose-duplicates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/env tsx
|
|
2
|
+
/**
|
|
3
|
+
* Generate index.ts files for schemas and types directories
|
|
4
|
+
*
|
|
5
|
+
* This script creates appropriate index files for both:
|
|
6
|
+
* - schemas/: Complex object exports with JSON imports
|
|
7
|
+
* - types/: Simple re-exports of TypeScript types
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Generate schemas/index.ts with JSON imports and object exports
|
|
11
|
+
*/
|
|
12
|
+
declare function generateSchemasIndex(): void;
|
|
13
|
+
/**
|
|
14
|
+
* Generate types/index.ts with simple re-exports
|
|
15
|
+
*/
|
|
16
|
+
declare function generateTypesIndex(): void;
|
|
17
|
+
/**
|
|
18
|
+
* Generate both index files
|
|
19
|
+
*/
|
|
20
|
+
declare function generateIndexes(): Promise<void>;
|
|
21
|
+
export { generateIndexes, generateSchemasIndex, generateTypesIndex };
|
|
22
|
+
//# sourceMappingURL=generate-indexes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-indexes.d.ts","sourceRoot":"","sources":["../../scripts/generate-indexes.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AA4BH;;GAEG;AACH,iBAAS,oBAAoB,SAwF5B;AAED;;GAEG;AACH,iBAAS,kBAAkB,SAsC1B;AAED;;GAEG;AACH,iBAAe,eAAe,kBAW7B;AAOD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,CAAC"}
|