specweave 0.21.3 → 0.22.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +409 -6
- package/README.md +38 -8
- package/bin/specweave.js +5 -8
- package/dist/plugins/specweave-github/lib/CodeValidator.d.ts +101 -0
- package/dist/plugins/specweave-github/lib/CodeValidator.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/CodeValidator.js +219 -0
- package/dist/plugins/specweave-github/lib/CodeValidator.js.map +1 -0
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.d.ts +182 -0
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.d.ts.map +1 -0
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js +603 -0
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js.map +1 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +10 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-client-v2.js +26 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
- package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/task-sync.js +7 -0
- package/dist/plugins/specweave-github/lib/task-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/types.d.ts +34 -0
- package/dist/plugins/specweave-github/lib/types.d.ts.map +1 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +60 -5
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/migrate-to-profiles.d.ts +1 -0
- package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +1 -1
- package/dist/src/cli/commands/migrate-to-profiles.js +12 -1
- package/dist/src/cli/commands/migrate-to-profiles.js.map +1 -1
- package/dist/src/cli/commands/next-command.d.ts +52 -0
- package/dist/src/cli/commands/next-command.d.ts.map +1 -0
- package/dist/src/cli/commands/next-command.js +204 -0
- package/dist/src/cli/commands/next-command.js.map +1 -0
- package/dist/src/cli/commands/sync-specs.d.ts +16 -0
- package/dist/src/cli/commands/sync-specs.d.ts.map +1 -0
- package/dist/src/cli/commands/sync-specs.js +130 -0
- package/dist/src/cli/commands/sync-specs.js.map +1 -0
- package/dist/src/cli/count-tasks.d.ts +20 -0
- package/dist/src/cli/count-tasks.d.ts.map +1 -0
- package/dist/src/cli/count-tasks.js +50 -0
- package/dist/src/cli/count-tasks.js.map +1 -0
- package/dist/src/config/ConfigManager.d.ts.map +1 -1
- package/dist/src/config/ConfigManager.js +2 -1
- package/dist/src/config/ConfigManager.js.map +1 -1
- package/dist/src/config/types.d.ts +58 -58
- package/dist/src/core/cicd/state-manager.d.ts +8 -0
- package/dist/src/core/cicd/state-manager.d.ts.map +1 -1
- package/dist/src/core/cicd/state-manager.js +60 -15
- package/dist/src/core/cicd/state-manager.js.map +1 -1
- package/dist/src/core/cost-tracker.d.ts.map +1 -1
- package/dist/src/core/cost-tracker.js +2 -1
- package/dist/src/core/cost-tracker.js.map +1 -1
- package/dist/src/core/iac/template-engine.d.ts.map +1 -1
- package/dist/src/core/iac/template-engine.js +28 -0
- package/dist/src/core/iac/template-engine.js.map +1 -1
- package/dist/src/core/iac/template-generator.d.ts +53 -0
- package/dist/src/core/iac/template-generator.d.ts.map +1 -0
- package/dist/src/core/iac/template-generator.js +125 -0
- package/dist/src/core/iac/template-generator.js.map +1 -0
- package/dist/src/core/increment/status-auto-transition.js +3 -3
- package/dist/src/core/increment/status-auto-transition.js.map +1 -1
- package/dist/src/core/living-docs/CodeValidator.js +1 -1
- package/dist/src/core/living-docs/CodeValidator.js.map +1 -1
- package/dist/src/core/living-docs/CompletionPropagator.d.ts.map +1 -1
- package/dist/src/core/living-docs/CompletionPropagator.js +4 -3
- package/dist/src/core/living-docs/CompletionPropagator.js.map +1 -1
- package/dist/src/core/living-docs/SpecDistributor.d.ts +5 -0
- package/dist/src/core/living-docs/SpecDistributor.d.ts.map +1 -1
- package/dist/src/core/living-docs/SpecDistributor.js +12 -0
- package/dist/src/core/living-docs/SpecDistributor.js.map +1 -1
- package/dist/src/core/living-docs/content-distributor.d.ts.map +1 -1
- package/dist/src/core/living-docs/content-distributor.js +11 -1
- package/dist/src/core/living-docs/content-distributor.js.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.d.ts +166 -0
- package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -0
- package/dist/src/core/living-docs/living-docs-sync.js +726 -0
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -0
- package/dist/src/core/living-docs/project-detector.d.ts.map +1 -1
- package/dist/src/core/living-docs/project-detector.js +38 -0
- package/dist/src/core/living-docs/project-detector.js.map +1 -1
- package/dist/src/core/living-docs/task-project-specific-generator.d.ts +7 -3
- package/dist/src/core/living-docs/task-project-specific-generator.d.ts.map +1 -1
- package/dist/src/core/living-docs/task-project-specific-generator.js +40 -24
- package/dist/src/core/living-docs/task-project-specific-generator.js.map +1 -1
- package/dist/src/core/plugin-loader.d.ts +7 -0
- package/dist/src/core/plugin-loader.d.ts.map +1 -1
- package/dist/src/core/plugin-loader.js +18 -1
- package/dist/src/core/plugin-loader.js.map +1 -1
- package/dist/src/core/serverless/platform-data-loader.d.ts +8 -0
- package/dist/src/core/serverless/platform-data-loader.d.ts.map +1 -1
- package/dist/src/core/serverless/platform-data-loader.js +14 -0
- package/dist/src/core/serverless/platform-data-loader.js.map +1 -1
- package/dist/src/core/serverless/types.d.ts +1 -1
- package/dist/src/core/serverless/types.d.ts.map +1 -1
- package/dist/src/core/status-line/status-line-manager.d.ts +6 -2
- package/dist/src/core/status-line/status-line-manager.d.ts.map +1 -1
- package/dist/src/core/status-line/status-line-manager.js +11 -5
- package/dist/src/core/status-line/status-line-manager.js.map +1 -1
- package/dist/src/core/status-line/task-counter.d.ts +69 -0
- package/dist/src/core/status-line/task-counter.d.ts.map +1 -0
- package/dist/src/core/status-line/task-counter.js +107 -0
- package/dist/src/core/status-line/task-counter.js.map +1 -0
- package/dist/src/core/types/config.d.ts +23 -0
- package/dist/src/core/types/config.d.ts.map +1 -1
- package/dist/src/core/types/config.js +10 -0
- package/dist/src/core/types/config.js.map +1 -1
- package/dist/src/core/workflow/autonomous-executor.d.ts +111 -0
- package/dist/src/core/workflow/autonomous-executor.d.ts.map +1 -0
- package/dist/src/core/workflow/autonomous-executor.js +275 -0
- package/dist/src/core/workflow/autonomous-executor.js.map +1 -0
- package/dist/src/core/workflow/backlog-scanner.d.ts +94 -0
- package/dist/src/core/workflow/backlog-scanner.d.ts.map +1 -0
- package/dist/src/core/workflow/backlog-scanner.js +170 -0
- package/dist/src/core/workflow/backlog-scanner.js.map +1 -0
- package/dist/src/core/workflow/command-invoker.d.ts +86 -0
- package/dist/src/core/workflow/command-invoker.d.ts.map +1 -0
- package/dist/src/core/workflow/command-invoker.js +131 -0
- package/dist/src/core/workflow/command-invoker.js.map +1 -0
- package/dist/src/core/workflow/cost-estimator.d.ts +120 -0
- package/dist/src/core/workflow/cost-estimator.d.ts.map +1 -0
- package/dist/src/core/workflow/cost-estimator.js +222 -0
- package/dist/src/core/workflow/cost-estimator.js.map +1 -0
- package/dist/src/core/workflow/index.d.ts +20 -0
- package/dist/src/core/workflow/index.d.ts.map +1 -0
- package/dist/src/core/workflow/index.js +24 -0
- package/dist/src/core/workflow/index.js.map +1 -0
- package/dist/src/core/workflow/state-manager.d.ts +107 -0
- package/dist/src/core/workflow/state-manager.d.ts.map +1 -0
- package/dist/src/core/workflow/state-manager.js +126 -0
- package/dist/src/core/workflow/state-manager.js.map +1 -0
- package/dist/src/core/workflow/workflow-orchestrator.d.ts +93 -0
- package/dist/src/core/workflow/workflow-orchestrator.d.ts.map +1 -0
- package/dist/src/core/workflow/workflow-orchestrator.js +195 -0
- package/dist/src/core/workflow/workflow-orchestrator.js.map +1 -0
- package/dist/src/init/ArchitecturePresenter.d.ts +47 -0
- package/dist/src/init/ArchitecturePresenter.d.ts.map +1 -0
- package/dist/src/init/ArchitecturePresenter.js +180 -0
- package/dist/src/init/ArchitecturePresenter.js.map +1 -0
- package/dist/src/init/InitFlow.d.ts.map +1 -1
- package/dist/src/init/InitFlow.js +30 -1
- package/dist/src/init/InitFlow.js.map +1 -1
- package/dist/src/init/architecture/CostEstimator.d.ts +52 -0
- package/dist/src/init/architecture/CostEstimator.d.ts.map +1 -0
- package/dist/src/init/architecture/CostEstimator.js +107 -0
- package/dist/src/init/architecture/CostEstimator.js.map +1 -0
- package/dist/src/init/architecture/InfrastructureMapper.d.ts +41 -0
- package/dist/src/init/architecture/InfrastructureMapper.d.ts.map +1 -0
- package/dist/src/init/architecture/InfrastructureMapper.js +140 -0
- package/dist/src/init/architecture/InfrastructureMapper.js.map +1 -0
- package/dist/src/init/architecture/ProjectGenerator.d.ts +44 -0
- package/dist/src/init/architecture/ProjectGenerator.d.ts.map +1 -0
- package/dist/src/init/architecture/ProjectGenerator.js +216 -0
- package/dist/src/init/architecture/ProjectGenerator.js.map +1 -0
- package/dist/src/init/architecture/types.d.ts +10 -10
- package/dist/src/init/research/src/config/types.d.ts +8 -8
- package/dist/src/metrics/dora-calculator.js +2 -2
- package/dist/src/metrics/dora-calculator.js.map +1 -1
- package/dist/src/utils/pricing-constants.d.ts +5 -2
- package/dist/src/utils/pricing-constants.d.ts.map +1 -1
- package/dist/src/utils/pricing-constants.js +3 -2
- package/dist/src/utils/pricing-constants.js.map +1 -1
- package/package.json +9 -8
- package/plugins/specweave/agents/infrastructure/AGENT.md +88 -46
- package/plugins/specweave/agents/pm/AGENT.md +58 -1
- package/plugins/specweave/commands/specweave-archive-features.md +1 -1
- package/plugins/specweave/commands/specweave-archive-increments.md +1 -1
- package/plugins/specweave/commands/specweave-check-hooks.md +5 -0
- package/plugins/specweave/commands/specweave-done.md +12 -0
- package/plugins/specweave/commands/specweave-plan.md +1 -1
- package/plugins/specweave/commands/specweave-progress.md +108 -379
- package/plugins/specweave/commands/specweave-reopen.md +1 -1
- package/plugins/specweave/commands/specweave-restore-feature.md +1 -1
- package/plugins/specweave/commands/specweave-sync-specs.md +20 -48
- package/plugins/specweave/hooks/lib/update-status-line.sh +44 -35
- package/plugins/specweave/hooks/lib/validate-spec-status.sh +163 -0
- package/plugins/specweave/hooks/user-prompt-submit.sh +17 -35
- package/plugins/specweave/lib/hooks/update-tasks-md.js +52 -9
- package/plugins/specweave/lib/hooks/update-tasks-md.ts +77 -16
- package/plugins/specweave/templates/iac/aws-lambda/defaults.json +24 -0
- package/plugins/specweave/templates/iac/aws-lambda/templates/README.md.hbs +260 -0
- package/plugins/specweave/templates/iac/aws-lambda/templates/environments/dev.tfvars.hbs +34 -0
- package/plugins/specweave/templates/iac/aws-lambda/templates/environments/prod.tfvars.hbs +37 -0
- package/plugins/specweave/templates/iac/aws-lambda/templates/environments/staging.tfvars.hbs +35 -0
- package/plugins/specweave/templates/iac/aws-lambda/templates/outputs.tf.hbs +77 -0
- package/plugins/specweave/templates/iac/aws-lambda/templates/providers.tf.hbs +36 -0
- package/plugins/specweave/templates/iac/aws-lambda/templates/variables.tf.hbs +115 -0
- package/plugins/specweave/templates/iac/azure-functions/defaults.json +25 -0
- package/plugins/specweave/templates/iac/azure-functions/templates/README.md.hbs +268 -0
- package/plugins/specweave/templates/iac/azure-functions/templates/environments/dev.tfvars.hbs +34 -0
- package/plugins/specweave/templates/iac/azure-functions/templates/environments/prod.tfvars.hbs +46 -0
- package/plugins/specweave/templates/iac/azure-functions/templates/environments/staging.tfvars.hbs +34 -0
- package/plugins/specweave/templates/iac/azure-functions/templates/main.tf.hbs +225 -0
- package/plugins/specweave/templates/iac/azure-functions/templates/outputs.tf.hbs +89 -0
- package/plugins/specweave/templates/iac/azure-functions/templates/provider.tf.hbs +27 -0
- package/plugins/specweave/templates/iac/azure-functions/templates/providers.tf.hbs +35 -0
- package/plugins/specweave/templates/iac/azure-functions/templates/variables.tf.hbs +124 -0
- package/plugins/specweave/templates/iac/firebase/defaults.json +29 -0
- package/plugins/specweave/templates/iac/firebase/templates/README.md.hbs +35 -0
- package/plugins/specweave/templates/iac/firebase/templates/environments/dev.tfvars.hbs +7 -0
- package/plugins/specweave/templates/iac/firebase/templates/environments/prod.tfvars.hbs +7 -0
- package/plugins/specweave/templates/iac/firebase/templates/environments/staging.tfvars.hbs +7 -0
- package/plugins/specweave/templates/iac/firebase/templates/main.tf.hbs +90 -0
- package/plugins/specweave/templates/iac/firebase/templates/outputs.tf.hbs +15 -0
- package/plugins/specweave/templates/iac/firebase/templates/providers.tf.hbs +23 -0
- package/plugins/specweave/templates/iac/firebase/templates/variables.tf.hbs +42 -0
- package/plugins/specweave/templates/iac/gcp-cloud-functions/defaults.json +26 -0
- package/plugins/specweave/templates/iac/gcp-cloud-functions/templates/README.md.hbs +299 -0
- package/plugins/specweave/templates/iac/gcp-cloud-functions/templates/environments/dev.tfvars.hbs +36 -0
- package/plugins/specweave/templates/iac/gcp-cloud-functions/templates/environments/prod.tfvars.hbs +48 -0
- package/plugins/specweave/templates/iac/gcp-cloud-functions/templates/environments/staging.tfvars.hbs +41 -0
- package/plugins/specweave/templates/iac/gcp-cloud-functions/templates/main.tf.hbs +192 -0
- package/plugins/specweave/templates/iac/gcp-cloud-functions/templates/outputs.tf.hbs +66 -0
- package/plugins/specweave/templates/iac/gcp-cloud-functions/templates/providers.tf.hbs +25 -0
- package/plugins/specweave/templates/iac/gcp-cloud-functions/templates/variables.tf.hbs +119 -0
- package/plugins/specweave/templates/iac/supabase/defaults.json +15 -0
- package/plugins/specweave/templates/iac/supabase/templates/README.md.hbs +46 -0
- package/plugins/specweave/templates/iac/supabase/templates/main.tf.hbs +50 -0
- package/plugins/specweave-ado/lib/enhanced-ado-sync.js +170 -0
- package/plugins/specweave-github/agents/github-manager/AGENT.md +39 -7
- package/plugins/specweave-github/commands/specweave-github-create-issue.md +5 -5
- package/plugins/specweave-github/lib/CodeValidator.js +195 -0
- package/plugins/specweave-github/lib/CodeValidator.ts +284 -0
- package/plugins/specweave-github/lib/ThreeLayerSyncManager.js +545 -0
- package/plugins/specweave-github/lib/ThreeLayerSyncManager.ts +809 -0
- package/plugins/specweave-github/lib/github-client-v2.js +29 -0
- package/plugins/specweave-github/lib/github-client-v2.ts +30 -0
- package/plugins/specweave-github/lib/task-sync.js +4 -0
- package/plugins/specweave-github/lib/task-sync.ts +7 -0
- package/plugins/specweave-github/lib/types.ts +38 -0
- package/plugins/specweave-jira/lib/enhanced-jira-sync.js +3 -3
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +3222 -0
- package/src/templates/AGENTS.md.template +22 -1
- package/src/templates/CLAUDE.md.template +31 -0
- package/dist/src/core/living-docs/ThreeLayerSyncManager.d.ts +0 -116
- package/dist/src/core/living-docs/ThreeLayerSyncManager.d.ts.map +0 -1
- package/dist/src/core/living-docs/ThreeLayerSyncManager.js +0 -356
- package/dist/src/core/living-docs/ThreeLayerSyncManager.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-line-manager.js","sourceRoot":"","sources":["../../../../src/core/status-line/status-line-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"status-line-manager.js","sourceRoot":"","sources":["../../../../src/core/status-line/status-line-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Counter Utility
|
|
3
|
+
*
|
|
4
|
+
* Accurately counts tasks in tasks.md by parsing task headings
|
|
5
|
+
* and checking for completion markers within each task's section.
|
|
6
|
+
*
|
|
7
|
+
* Fixes overcounting bug where multiple completion markers in same task
|
|
8
|
+
* were counted separately.
|
|
9
|
+
*
|
|
10
|
+
* Algorithm:
|
|
11
|
+
* 1. Split content by ## T- or ### T- headings (task markers)
|
|
12
|
+
* 2. For each task section, check if it contains ANY completion marker
|
|
13
|
+
* 3. Count task ONCE regardless of how many markers it has
|
|
14
|
+
*
|
|
15
|
+
* Supported completion markers:
|
|
16
|
+
* - [x] at line start (legacy checkbox format)
|
|
17
|
+
* - **Status**: [x] inline (legacy status format)
|
|
18
|
+
* - **Completed**: <date> (current format)
|
|
19
|
+
*/
|
|
20
|
+
export interface TaskCount {
|
|
21
|
+
total: number;
|
|
22
|
+
completed: number;
|
|
23
|
+
percentage: number;
|
|
24
|
+
}
|
|
25
|
+
export interface Task {
|
|
26
|
+
id: string;
|
|
27
|
+
title: string;
|
|
28
|
+
completed: boolean;
|
|
29
|
+
section: string;
|
|
30
|
+
}
|
|
31
|
+
export declare class TaskCounter {
|
|
32
|
+
/**
|
|
33
|
+
* Count tasks in tasks.md content
|
|
34
|
+
*
|
|
35
|
+
* @param content - Raw tasks.md file content
|
|
36
|
+
* @returns Task counts with total, completed, and percentage
|
|
37
|
+
*/
|
|
38
|
+
static countTasks(content: string): TaskCount;
|
|
39
|
+
/**
|
|
40
|
+
* Parse tasks from tasks.md content
|
|
41
|
+
*
|
|
42
|
+
* Splits content into task sections and determines completion status
|
|
43
|
+
* for each task based on presence of completion markers.
|
|
44
|
+
*
|
|
45
|
+
* @param content - Raw tasks.md file content
|
|
46
|
+
* @returns Array of parsed tasks
|
|
47
|
+
*/
|
|
48
|
+
static parseTasks(content: string): Task[];
|
|
49
|
+
/**
|
|
50
|
+
* Check if task section contains ANY completion marker
|
|
51
|
+
*
|
|
52
|
+
* Checks for:
|
|
53
|
+
* - [x] at line start (legacy)
|
|
54
|
+
* - **Status**: [x] inline (legacy)
|
|
55
|
+
* - **Completed**: <date> (current)
|
|
56
|
+
*
|
|
57
|
+
* @param sectionContent - Content of task section
|
|
58
|
+
* @returns true if task is completed
|
|
59
|
+
*/
|
|
60
|
+
static isTaskCompleted(sectionContent: string): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Get detailed task breakdown (for debugging)
|
|
63
|
+
*
|
|
64
|
+
* @param content - Raw tasks.md file content
|
|
65
|
+
* @returns Array of tasks with details
|
|
66
|
+
*/
|
|
67
|
+
static getTaskDetails(content: string): Task[];
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=task-counter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-counter.d.ts","sourceRoot":"","sources":["../../../../src/core/status-line/task-counter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,WAAW;IACtB;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;IAU7C;;;;;;;;OAQG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE;IAsD1C;;;;;;;;;;OAUG;IACH,MAAM,CAAC,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAUvD;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE;CAG/C"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Counter Utility
|
|
3
|
+
*
|
|
4
|
+
* Accurately counts tasks in tasks.md by parsing task headings
|
|
5
|
+
* and checking for completion markers within each task's section.
|
|
6
|
+
*
|
|
7
|
+
* Fixes overcounting bug where multiple completion markers in same task
|
|
8
|
+
* were counted separately.
|
|
9
|
+
*
|
|
10
|
+
* Algorithm:
|
|
11
|
+
* 1. Split content by ## T- or ### T- headings (task markers)
|
|
12
|
+
* 2. For each task section, check if it contains ANY completion marker
|
|
13
|
+
* 3. Count task ONCE regardless of how many markers it has
|
|
14
|
+
*
|
|
15
|
+
* Supported completion markers:
|
|
16
|
+
* - [x] at line start (legacy checkbox format)
|
|
17
|
+
* - **Status**: [x] inline (legacy status format)
|
|
18
|
+
* - **Completed**: <date> (current format)
|
|
19
|
+
*/
|
|
20
|
+
export class TaskCounter {
|
|
21
|
+
/**
|
|
22
|
+
* Count tasks in tasks.md content
|
|
23
|
+
*
|
|
24
|
+
* @param content - Raw tasks.md file content
|
|
25
|
+
* @returns Task counts with total, completed, and percentage
|
|
26
|
+
*/
|
|
27
|
+
static countTasks(content) {
|
|
28
|
+
const tasks = this.parseTasks(content);
|
|
29
|
+
const total = tasks.length;
|
|
30
|
+
const completed = tasks.filter((t) => t.completed).length;
|
|
31
|
+
const percentage = total > 0 ? Math.floor((completed / total) * 100) : 0;
|
|
32
|
+
return { total, completed, percentage };
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Parse tasks from tasks.md content
|
|
36
|
+
*
|
|
37
|
+
* Splits content into task sections and determines completion status
|
|
38
|
+
* for each task based on presence of completion markers.
|
|
39
|
+
*
|
|
40
|
+
* @param content - Raw tasks.md file content
|
|
41
|
+
* @returns Array of parsed tasks
|
|
42
|
+
*/
|
|
43
|
+
static parseTasks(content) {
|
|
44
|
+
const tasks = [];
|
|
45
|
+
// Split by task headings (## T- or ### T-)
|
|
46
|
+
// Use regex to match heading pattern
|
|
47
|
+
const taskHeadingRegex = /^##+ (T-\d+[^:\n]*):?\s*(.*)$/gm;
|
|
48
|
+
let match;
|
|
49
|
+
const sections = [];
|
|
50
|
+
// Find all task headings and their positions
|
|
51
|
+
while ((match = taskHeadingRegex.exec(content)) !== null) {
|
|
52
|
+
const id = match[1].trim();
|
|
53
|
+
const title = match[2].trim();
|
|
54
|
+
const start = match.index;
|
|
55
|
+
// Close previous section
|
|
56
|
+
if (sections.length > 0) {
|
|
57
|
+
sections[sections.length - 1].end = start;
|
|
58
|
+
}
|
|
59
|
+
sections.push({ id, title, start });
|
|
60
|
+
}
|
|
61
|
+
// Close last section
|
|
62
|
+
if (sections.length > 0) {
|
|
63
|
+
sections[sections.length - 1].end = content.length;
|
|
64
|
+
}
|
|
65
|
+
// Parse each section
|
|
66
|
+
for (const section of sections) {
|
|
67
|
+
const sectionContent = content.substring(section.start, section.end ?? content.length);
|
|
68
|
+
const completed = this.isTaskCompleted(sectionContent);
|
|
69
|
+
tasks.push({
|
|
70
|
+
id: section.id,
|
|
71
|
+
title: section.title,
|
|
72
|
+
completed,
|
|
73
|
+
section: sectionContent,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return tasks;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Check if task section contains ANY completion marker
|
|
80
|
+
*
|
|
81
|
+
* Checks for:
|
|
82
|
+
* - [x] at line start (legacy)
|
|
83
|
+
* - **Status**: [x] inline (legacy)
|
|
84
|
+
* - **Completed**: <date> (current)
|
|
85
|
+
*
|
|
86
|
+
* @param sectionContent - Content of task section
|
|
87
|
+
* @returns true if task is completed
|
|
88
|
+
*/
|
|
89
|
+
static isTaskCompleted(sectionContent) {
|
|
90
|
+
const completionPatterns = [
|
|
91
|
+
/^\[x\]/m, // [x] at line start
|
|
92
|
+
/\*\*Status\*\*:\s*\[x\]/i, // **Status**: [x]
|
|
93
|
+
/\*\*Completed\*\*:\s*\S/i, // **Completed**: <something>
|
|
94
|
+
];
|
|
95
|
+
return completionPatterns.some((pattern) => pattern.test(sectionContent));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get detailed task breakdown (for debugging)
|
|
99
|
+
*
|
|
100
|
+
* @param content - Raw tasks.md file content
|
|
101
|
+
* @returns Array of tasks with details
|
|
102
|
+
*/
|
|
103
|
+
static getTaskDetails(content) {
|
|
104
|
+
return this.parseTasks(content);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=task-counter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-counter.js","sourceRoot":"","sources":["../../../../src/core/status-line/task-counter.ts"],"names":[],"mappings":"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"}
|
|
@@ -179,6 +179,27 @@ export interface ArchivingConfig {
|
|
|
179
179
|
/** Never archive these increments (by name or number) */
|
|
180
180
|
preserveList?: string[];
|
|
181
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Living Docs Configuration
|
|
184
|
+
*
|
|
185
|
+
* Controls how Living Documentation is generated and synced
|
|
186
|
+
*/
|
|
187
|
+
export interface LivingDocsConfig {
|
|
188
|
+
/** Copy-based sync configuration (v0.21.4+) */
|
|
189
|
+
copyBasedSync?: {
|
|
190
|
+
/** Enable copy-based sync (default: true) */
|
|
191
|
+
enabled?: boolean;
|
|
192
|
+
/** Auto-generate ## Implementation sections for backward compatibility (default: true) */
|
|
193
|
+
autoGenerate?: boolean;
|
|
194
|
+
};
|
|
195
|
+
/** Three-layer sync configuration (increment → living docs → external tools) */
|
|
196
|
+
threeLayerSync?: {
|
|
197
|
+
/** Enable three-layer sync (default: true) */
|
|
198
|
+
enabled?: boolean;
|
|
199
|
+
/** Auto-sync after task completion (default: true) */
|
|
200
|
+
autoSync?: boolean;
|
|
201
|
+
};
|
|
202
|
+
}
|
|
182
203
|
/**
|
|
183
204
|
* Complete SpecWeave Configuration
|
|
184
205
|
*
|
|
@@ -205,6 +226,8 @@ export interface SpecweaveConfig {
|
|
|
205
226
|
deduplication?: DeduplicationConfig;
|
|
206
227
|
/** Archiving configuration for increment management */
|
|
207
228
|
archiving?: ArchivingConfig;
|
|
229
|
+
/** Living docs configuration (v0.21.4+) */
|
|
230
|
+
livingDocs?: LivingDocsConfig;
|
|
208
231
|
/** Allow additional properties */
|
|
209
232
|
[key: string]: any;
|
|
210
233
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/core/types/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/core/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,4EAA4E;IAC5E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC,wCAAwC;IACxC,aAAa,CAAC,EAAE;QACd,mEAAmE;QACnE,YAAY,CAAC,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;QAE1C,yDAAyD;QACzD,eAAe,CAAC,EAAE;YAChB,yDAAyD;YACzD,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC;IAEF,mCAAmC;IACnC,SAAS,CAAC,EAAE;QACV,0CAA0C;QAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB,0CAA0C;QAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAE1C,kCAAkC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC1C;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,wEAAwE;IACxE,aAAa,CAAC,EAAE;QACd,MAAM,CAAC,EAAE;YACP,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,IAAI,CAAC,EAAE;YACL,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,GAAG,CAAC,EAAE;YACJ,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,eAAe,EAAE,QAAQ,CAAC;IAE1B,+CAA+C;IAC/C,qBAAqB,EAAE,MAAM,CAAC;IAE9B,8CAA8C;IAC9C,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,kEAAkE;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,aAAa,CAAC,EAAE;QACd,6CAA6C;QAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;QAElB,0FAA0F;QAC1F,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;IAEF,gFAAgF;IAChF,cAAc,CAAC,EAAE;QACf,8CAA8C;QAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;QAElB,sDAAsD;QACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,uBAAuB;IACvB,OAAO,CAAC,EAAE,eAAe,CAAC;IAE1B,gEAAgE;IAChE,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAElC,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAE7B,oDAAoD;IACpD,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAEhC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAEpC,uDAAuD;IACvD,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B,2CAA2C;IAC3C,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,kCAAkC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,eAAe,CAmGnD,CAAC"}
|
|
@@ -58,6 +58,16 @@ export const DEFAULT_CONFIG = {
|
|
|
58
58
|
archivePatterns: [], // No patterns by default
|
|
59
59
|
preserveList: [], // No preserved increments by default
|
|
60
60
|
},
|
|
61
|
+
livingDocs: {
|
|
62
|
+
copyBasedSync: {
|
|
63
|
+
enabled: true, // v0.21.4+: Copy-based sync (increment → living docs)
|
|
64
|
+
autoGenerate: true, // Auto-generate ## Implementation for backward compatibility
|
|
65
|
+
},
|
|
66
|
+
threeLayerSync: {
|
|
67
|
+
enabled: true, // Three-layer sync (increment → living docs → external)
|
|
68
|
+
autoSync: true, // Auto-sync after task completion
|
|
69
|
+
},
|
|
70
|
+
},
|
|
61
71
|
hooks: {
|
|
62
72
|
post_task_completion: {
|
|
63
73
|
sync_living_docs: true, // CRITICAL: Auto-sync living docs after every task
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/core/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/core/types/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Autonomous Executor - Fully autonomous workflow execution
|
|
3
|
+
*
|
|
4
|
+
* Executes complete workflows without human intervention, with safety guardrails:
|
|
5
|
+
* - Max iteration limits
|
|
6
|
+
* - Infinite loop detection
|
|
7
|
+
* - Cost threshold enforcement
|
|
8
|
+
* - Checkpoint/recovery system
|
|
9
|
+
*
|
|
10
|
+
* Part of increment 0039: Ultra-Smart Next Command
|
|
11
|
+
*
|
|
12
|
+
* @module core/workflow/autonomous-executor
|
|
13
|
+
* @since v0.22.0
|
|
14
|
+
*/
|
|
15
|
+
import { WorkflowPhase } from './types.js';
|
|
16
|
+
/**
|
|
17
|
+
* Autonomous execution configuration
|
|
18
|
+
*/
|
|
19
|
+
export interface AutonomousConfig {
|
|
20
|
+
/** Maximum iterations before stopping (default: 50) */
|
|
21
|
+
maxIterations?: number;
|
|
22
|
+
/** Cost threshold in USD (default: $20) */
|
|
23
|
+
costThreshold?: number;
|
|
24
|
+
/** Enable checkpoint saving (default: true) */
|
|
25
|
+
enableCheckpoints?: boolean;
|
|
26
|
+
/** Maximum retries per command (default: 3) */
|
|
27
|
+
maxRetries?: number;
|
|
28
|
+
/** Stop on first error (default: false) */
|
|
29
|
+
stopOnError?: boolean;
|
|
30
|
+
/** Verbose logging (default: false) */
|
|
31
|
+
verbose?: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Autonomous execution result
|
|
35
|
+
*/
|
|
36
|
+
export interface AutonomousResult {
|
|
37
|
+
/** Execution succeeded */
|
|
38
|
+
success: boolean;
|
|
39
|
+
/** Increment ID */
|
|
40
|
+
incrementId: string;
|
|
41
|
+
/** Total iterations */
|
|
42
|
+
iterations: number;
|
|
43
|
+
/** Commands executed */
|
|
44
|
+
commandsExecuted: string[];
|
|
45
|
+
/** Total cost (USD) */
|
|
46
|
+
totalCost: number;
|
|
47
|
+
/** Final phase */
|
|
48
|
+
finalPhase: WorkflowPhase;
|
|
49
|
+
/** Completion reason */
|
|
50
|
+
reason: string;
|
|
51
|
+
/** Error message if failed */
|
|
52
|
+
error?: string;
|
|
53
|
+
/** Checkpoint ID (for resume) */
|
|
54
|
+
checkpointId?: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Autonomous Executor - Fully autonomous workflow execution with safety guardrails
|
|
58
|
+
*/
|
|
59
|
+
export declare class AutonomousExecutor {
|
|
60
|
+
private config;
|
|
61
|
+
private orchestrator;
|
|
62
|
+
private stateManager;
|
|
63
|
+
private costEstimator;
|
|
64
|
+
private commandInvoker;
|
|
65
|
+
constructor(config?: AutonomousConfig);
|
|
66
|
+
/**
|
|
67
|
+
* Execute workflow autonomously
|
|
68
|
+
*
|
|
69
|
+
* @param incrementId - Increment ID to execute
|
|
70
|
+
* @param resumeCheckpointId - Optional checkpoint to resume from
|
|
71
|
+
* @returns Autonomous execution result
|
|
72
|
+
*/
|
|
73
|
+
execute(incrementId: string, resumeCheckpointId?: string): Promise<AutonomousResult>;
|
|
74
|
+
/**
|
|
75
|
+
* Execute single step in workflow
|
|
76
|
+
*/
|
|
77
|
+
private executeStep;
|
|
78
|
+
/**
|
|
79
|
+
* Preflight check before execution
|
|
80
|
+
*/
|
|
81
|
+
private preflightCheck;
|
|
82
|
+
/**
|
|
83
|
+
* Safety checks during execution
|
|
84
|
+
*/
|
|
85
|
+
private checkSafety;
|
|
86
|
+
/**
|
|
87
|
+
* Check if workflow is complete
|
|
88
|
+
*/
|
|
89
|
+
private isComplete;
|
|
90
|
+
/**
|
|
91
|
+
* Initialize execution state
|
|
92
|
+
*/
|
|
93
|
+
private initializeState;
|
|
94
|
+
/**
|
|
95
|
+
* Resume from checkpoint
|
|
96
|
+
*/
|
|
97
|
+
private resumeFromCheckpoint;
|
|
98
|
+
/**
|
|
99
|
+
* Save execution checkpoint
|
|
100
|
+
*/
|
|
101
|
+
private saveCheckpoint;
|
|
102
|
+
/**
|
|
103
|
+
* Terminate execution and return result
|
|
104
|
+
*/
|
|
105
|
+
private terminateExecution;
|
|
106
|
+
/**
|
|
107
|
+
* Log message (if verbose enabled)
|
|
108
|
+
*/
|
|
109
|
+
private log;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=autonomous-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autonomous-executor.d.ts","sourceRoot":"","sources":["../../../../src/core/workflow/autonomous-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,UAAU,EAAE,aAAa,CAAC;IAC1B,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAcD;;GAEG;AACH,qBAAa,kBAAkB;IAO3B,OAAO,CAAC,MAAM;IANhB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;gBAG7B,MAAM,GAAE,gBAAqB;IAgBvC;;;;;;OAMG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAqF5B;;OAEG;YACW,WAAW;IAuCzB;;OAEG;YACW,cAAc;IA0B5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBnB;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;YACW,oBAAoB;IAqBlC;;OAEG;YACW,cAAc;IAW5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;OAEG;IACH,OAAO,CAAC,GAAG;CAKZ"}
|