@hasna/todos 0.11.43 → 0.11.45
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 +573 -11
- package/dist/cli/commands/agent-reliability-commands.d.ts +3 -0
- package/dist/cli/commands/agent-reliability-commands.d.ts.map +1 -0
- package/dist/cli/commands/audit-ledger-commands.d.ts +3 -0
- package/dist/cli/commands/audit-ledger-commands.d.ts.map +1 -0
- package/dist/cli/commands/capacity-commands.d.ts +3 -0
- package/dist/cli/commands/capacity-commands.d.ts.map +1 -0
- package/dist/cli/commands/config-serve-commands.d.ts.map +1 -1
- package/dist/cli/commands/environment-snapshots.d.ts +3 -0
- package/dist/cli/commands/environment-snapshots.d.ts.map +1 -0
- package/dist/cli/commands/knowledge-commands.d.ts +3 -0
- package/dist/cli/commands/knowledge-commands.d.ts.map +1 -0
- package/dist/cli/commands/local-snapshot-commands.d.ts +3 -0
- package/dist/cli/commands/local-snapshot-commands.d.ts.map +1 -0
- package/dist/cli/commands/machines.d.ts.map +1 -1
- package/dist/cli/commands/mcp-hooks-commands.d.ts.map +1 -1
- package/dist/cli/commands/onboarding-commands.d.ts +3 -0
- package/dist/cli/commands/onboarding-commands.d.ts.map +1 -0
- package/dist/cli/commands/project-commands.d.ts.map +1 -1
- package/dist/cli/commands/query-commands.d.ts.map +1 -1
- package/dist/cli/commands/release-compatibility-commands.d.ts +3 -0
- package/dist/cli/commands/release-compatibility-commands.d.ts.map +1 -0
- package/dist/cli/commands/retrospective-commands.d.ts +3 -0
- package/dist/cli/commands/retrospective-commands.d.ts.map +1 -0
- package/dist/cli/commands/review-queue-commands.d.ts +3 -0
- package/dist/cli/commands/review-queue-commands.d.ts.map +1 -0
- package/dist/cli/commands/risk-commands.d.ts +3 -0
- package/dist/cli/commands/risk-commands.d.ts.map +1 -0
- package/dist/cli/commands/roadmap-commands.d.ts +3 -0
- package/dist/cli/commands/roadmap-commands.d.ts.map +1 -0
- package/dist/cli/commands/sdk-fixture-commands.d.ts +3 -0
- package/dist/cli/commands/sdk-fixture-commands.d.ts.map +1 -0
- package/dist/cli/commands/task-commands.d.ts.map +1 -1
- package/dist/cli/index.js +26227 -9412
- package/dist/cli-mcp-parity.d.ts +1 -1
- package/dist/cli-mcp-parity.d.ts.map +1 -1
- package/dist/contracts.d.ts +19 -0
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +10174 -679
- package/dist/db/agent-metrics.d.ts +101 -0
- package/dist/db/agent-metrics.d.ts.map +1 -1
- package/dist/db/boards.d.ts +56 -0
- package/dist/db/boards.d.ts.map +1 -0
- package/dist/db/calendar.d.ts +52 -0
- package/dist/db/calendar.d.ts.map +1 -0
- package/dist/db/comments.d.ts.map +1 -1
- package/dist/db/handoffs.d.ts +25 -0
- package/dist/db/handoffs.d.ts.map +1 -1
- package/dist/db/machines.d.ts +19 -6
- package/dist/db/machines.d.ts.map +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/project-knowledge.d.ts +88 -0
- package/dist/db/project-knowledge.d.ts.map +1 -0
- package/dist/db/project-risks.d.ts +139 -0
- package/dist/db/project-risks.d.ts.map +1 -0
- package/dist/db/retrospectives.d.ts +98 -0
- package/dist/db/retrospectives.d.ts.map +1 -0
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/task-crud.d.ts.map +1 -1
- package/dist/db/task-relations.d.ts +69 -9
- package/dist/db/task-relations.d.ts.map +1 -1
- package/dist/db/tasks.d.ts +6 -2
- package/dist/db/tasks.d.ts.map +1 -1
- package/dist/index.d.ts +62 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19485 -8856
- package/dist/json-contracts.d.ts.map +1 -1
- package/dist/lib/agent-replay-simulator.d.ts +66 -0
- package/dist/lib/agent-replay-simulator.d.ts.map +1 -0
- package/dist/lib/audit-ledger.d.ts +59 -0
- package/dist/lib/audit-ledger.d.ts.map +1 -0
- package/dist/lib/branch-work-plans.d.ts +46 -0
- package/dist/lib/branch-work-plans.d.ts.map +1 -0
- package/dist/lib/capacity-forecasts.d.ts +70 -0
- package/dist/lib/capacity-forecasts.d.ts.map +1 -0
- package/dist/lib/config.d.ts +179 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/context-packs.d.ts +26 -3
- package/dist/lib/context-packs.d.ts.map +1 -1
- package/dist/lib/environment-snapshots.d.ts +111 -0
- package/dist/lib/environment-snapshots.d.ts.map +1 -0
- package/dist/lib/event-hooks.d.ts +1 -1
- package/dist/lib/event-hooks.d.ts.map +1 -1
- package/dist/lib/external-issue-importers.d.ts +60 -0
- package/dist/lib/external-issue-importers.d.ts.map +1 -0
- package/dist/lib/extract.d.ts +57 -0
- package/dist/lib/extract.d.ts.map +1 -1
- package/dist/lib/local-bridge.d.ts +3 -1
- package/dist/lib/local-bridge.d.ts.map +1 -1
- package/dist/lib/local-extensions.d.ts +75 -0
- package/dist/lib/local-extensions.d.ts.map +1 -0
- package/dist/lib/local-notifications.d.ts +55 -0
- package/dist/lib/local-notifications.d.ts.map +1 -0
- package/dist/lib/local-snapshots.d.ts +66 -0
- package/dist/lib/local-snapshots.d.ts.map +1 -0
- package/dist/lib/mention-resolver.d.ts +43 -0
- package/dist/lib/mention-resolver.d.ts.map +1 -0
- package/dist/lib/natural-language-intake.d.ts +56 -0
- package/dist/lib/natural-language-intake.d.ts.map +1 -0
- package/dist/lib/onboarding-fixtures.d.ts +31 -0
- package/dist/lib/onboarding-fixtures.d.ts.map +1 -0
- package/dist/lib/public-release-gate.d.ts +7 -0
- package/dist/lib/public-release-gate.d.ts.map +1 -1
- package/dist/lib/redaction.d.ts +9 -0
- package/dist/lib/redaction.d.ts.map +1 -1
- package/dist/lib/release-compatibility.d.ts +59 -0
- package/dist/lib/release-compatibility.d.ts.map +1 -0
- package/dist/lib/release-notes.d.ts +81 -0
- package/dist/lib/release-notes.d.ts.map +1 -0
- package/dist/lib/retention-cleanup.d.ts +63 -0
- package/dist/lib/retention-cleanup.d.ts.map +1 -0
- package/dist/lib/review-queues.d.ts +98 -0
- package/dist/lib/review-queues.d.ts.map +1 -0
- package/dist/lib/roadmaps.d.ts +133 -0
- package/dist/lib/roadmaps.d.ts.map +1 -0
- package/dist/lib/sdk-integration-fixtures.d.ts +65 -0
- package/dist/lib/sdk-integration-fixtures.d.ts.map +1 -0
- package/dist/lib/terminal-notifications.d.ts +53 -0
- package/dist/lib/terminal-notifications.d.ts.map +1 -0
- package/dist/lib/todos-md.d.ts.map +1 -1
- package/dist/lib/workflow-prompts.d.ts +38 -0
- package/dist/lib/workflow-prompts.d.ts.map +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +20925 -9542
- package/dist/mcp/token-utils.d.ts.map +1 -1
- package/dist/mcp/tools/code-tools.d.ts.map +1 -1
- package/dist/mcp/tools/environment-snapshots.d.ts +8 -0
- package/dist/mcp/tools/environment-snapshots.d.ts.map +1 -0
- package/dist/mcp/tools/machines.d.ts.map +1 -1
- package/dist/mcp/tools/task-adv-tools.d.ts.map +1 -1
- package/dist/mcp/tools/task-auto-tools.d.ts.map +1 -1
- package/dist/mcp/tools/task-crud.d.ts.map +1 -1
- package/dist/mcp/tools/task-meta-tools.d.ts.map +1 -1
- package/dist/mcp/tools/task-project-tools.d.ts.map +1 -1
- package/dist/mcp/tools/task-rel-tools.d.ts.map +1 -1
- package/dist/mcp/tools/task-resources.d.ts.map +1 -1
- package/dist/mcp/tools/workflow-prompts.d.ts +3 -0
- package/dist/mcp/tools/workflow-prompts.d.ts.map +1 -0
- package/dist/mcp.js +97 -2
- package/dist/registry.js +14462 -5998
- package/dist/release-provenance.json +3 -3
- package/dist/server/index.js +493 -123
- package/dist/storage.js +2353 -139
- package/dist/types/index.d.ts +214 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { Plan, Project, Task, TaskPriority } from "../types/index.js";
|
|
3
|
+
export interface NaturalLanguageProjectPreview {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string | null;
|
|
6
|
+
path: string;
|
|
7
|
+
}
|
|
8
|
+
export interface NaturalLanguagePlanPreview {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string | null;
|
|
11
|
+
}
|
|
12
|
+
export interface NaturalLanguageDependencyPreview {
|
|
13
|
+
task_title: string;
|
|
14
|
+
depends_on_title: string;
|
|
15
|
+
resolved: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface NaturalLanguageTaskPreview {
|
|
18
|
+
title: string;
|
|
19
|
+
description: string | null;
|
|
20
|
+
priority: TaskPriority;
|
|
21
|
+
tags: string[];
|
|
22
|
+
assigned_to: string | null;
|
|
23
|
+
due_at: string | null;
|
|
24
|
+
depends_on: string[];
|
|
25
|
+
acceptance_criteria: string[];
|
|
26
|
+
}
|
|
27
|
+
export interface NaturalLanguageIntakeInput {
|
|
28
|
+
text: string;
|
|
29
|
+
project_id?: string;
|
|
30
|
+
task_list_id?: string;
|
|
31
|
+
default_priority?: TaskPriority;
|
|
32
|
+
reference_date?: string;
|
|
33
|
+
apply?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface NaturalLanguageIntakePreview {
|
|
36
|
+
schema_version: 1;
|
|
37
|
+
local_only: true;
|
|
38
|
+
dry_run: boolean;
|
|
39
|
+
source_text: string;
|
|
40
|
+
project_id: string | null;
|
|
41
|
+
task_list_id: string | null;
|
|
42
|
+
detected_project_name: string | null;
|
|
43
|
+
detected_plan_name: string | null;
|
|
44
|
+
project: NaturalLanguageProjectPreview | null;
|
|
45
|
+
plan: NaturalLanguagePlanPreview | null;
|
|
46
|
+
tasks: NaturalLanguageTaskPreview[];
|
|
47
|
+
dependencies: NaturalLanguageDependencyPreview[];
|
|
48
|
+
acceptance_criteria: string[];
|
|
49
|
+
created_project: Project | null;
|
|
50
|
+
created_plan: Plan | null;
|
|
51
|
+
created_tasks: Task[];
|
|
52
|
+
warnings: string[];
|
|
53
|
+
commands: string[];
|
|
54
|
+
}
|
|
55
|
+
export declare function previewNaturalLanguageIntake(input: NaturalLanguageIntakeInput, db?: Database): NaturalLanguageIntakePreview;
|
|
56
|
+
//# sourceMappingURL=natural-language-intake.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"natural-language-intake.d.ts","sourceRoot":"","sources":["../../src/lib/natural-language-intake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK3C,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAI3E,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,gCAAgC;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,CAAC,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,6BAA6B,GAAG,IAAI,CAAC;IAC9C,IAAI,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACxC,KAAK,EAAE,0BAA0B,EAAE,CAAC;IACpC,YAAY,EAAE,gCAAgC,EAAE,CAAC;IACjD,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAmHD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,0BAA0B,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,4BAA4B,CA6G3H"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type ImportLocalBridgeOptions, type LocalBridgeImportResult, type TodosLocalBridgeBundle, type TodosLocalBridgeData } from "./local-bridge.js";
|
|
2
|
+
export declare const TODOS_ONBOARDING_FIXTURE_LIBRARY_VERSION = "2026-05-22";
|
|
3
|
+
export declare const TODOS_ONBOARDING_FIXTURE_SOURCE = "bundled-local-onboarding-fixtures";
|
|
4
|
+
export interface OnboardingFixtureSummary {
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
version: string;
|
|
8
|
+
local_only: true;
|
|
9
|
+
no_network: true;
|
|
10
|
+
redacted: true;
|
|
11
|
+
workflow: string[];
|
|
12
|
+
stats: Record<keyof TodosLocalBridgeData, number>;
|
|
13
|
+
}
|
|
14
|
+
export interface OnboardingFixture {
|
|
15
|
+
summary: Omit<OnboardingFixtureSummary, "stats">;
|
|
16
|
+
bundle: TodosLocalBridgeBundle;
|
|
17
|
+
}
|
|
18
|
+
export interface WriteOnboardingFixtureResult {
|
|
19
|
+
directory: string;
|
|
20
|
+
written: number;
|
|
21
|
+
files: string[];
|
|
22
|
+
}
|
|
23
|
+
export interface ImportOnboardingFixtureOptions extends ImportLocalBridgeOptions {
|
|
24
|
+
name?: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function listOnboardingFixtures(): OnboardingFixtureSummary[];
|
|
27
|
+
export declare function getOnboardingFixture(name?: string): OnboardingFixture;
|
|
28
|
+
export declare function getOnboardingFixtureBundle(name?: string): TodosLocalBridgeBundle;
|
|
29
|
+
export declare function writeOnboardingFixtureFiles(directory: string): WriteOnboardingFixtureResult;
|
|
30
|
+
export declare function importOnboardingFixture(options?: ImportOnboardingFixtureOptions): LocalBridgeImportResult;
|
|
31
|
+
//# sourceMappingURL=onboarding-fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboarding-fixtures.d.ts","sourceRoot":"","sources":["../../src/lib/onboarding-fixtures.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,wCAAwC,eAAe,CAAC;AACrE,eAAO,MAAM,+BAA+B,sCAAsC,CAAC;AAEnF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,oBAAoB,EAAE,MAAM,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,8BAA+B,SAAQ,wBAAwB;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAmXD,wBAAgB,sBAAsB,IAAI,wBAAwB,EAAE,CAMnE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,SAAuB,GAAG,iBAAiB,CAUnF;AAED,wBAAgB,0BAA0B,CAAC,IAAI,SAAuB,GAAG,sBAAsB,CAE9F;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,4BAA4B,CAS3F;AAED,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,8BAAmC,GAC3C,uBAAuB,CAMzB"}
|
|
@@ -40,6 +40,11 @@ export type ReleaseProvenance = {
|
|
|
40
40
|
gitCommit?: string;
|
|
41
41
|
generatedAt?: string;
|
|
42
42
|
};
|
|
43
|
+
export type InstallSmokeCommand = {
|
|
44
|
+
command: string;
|
|
45
|
+
args: string[];
|
|
46
|
+
required?: boolean;
|
|
47
|
+
};
|
|
43
48
|
export declare function validateRootPackageMetadata(packageJson: PackageJson): ReleaseGateFailure[];
|
|
44
49
|
export declare function validateSdkPackageMetadata(packageJson: PackageJson): ReleaseGateFailure[];
|
|
45
50
|
export declare function validatePublicTextSurfaces(files: TextFile[]): ReleaseGateFailure[];
|
|
@@ -47,4 +52,6 @@ export declare function validatePackedPackageFiles(paths: string[]): ReleaseGate
|
|
|
47
52
|
export declare function validatePackedProvenanceMetadata(packageJson: PackageJson): ReleaseGateFailure[];
|
|
48
53
|
export declare function validateReleaseProvenanceMetadata(provenance: ReleaseProvenance, packageJson: PackageJson): ReleaseGateFailure[];
|
|
49
54
|
export declare function validateNpmView(packageName: string, rawJson: string): ReleaseGateFailure[];
|
|
55
|
+
export declare function getInstallSmokeCommands(tarball?: string, port?: string): InstallSmokeCommand[];
|
|
56
|
+
export declare function validateInstallSmokeCommands(commands: InstallSmokeCommand[]): ReleaseGateFailure[];
|
|
50
57
|
//# sourceMappingURL=public-release-gate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-release-gate.d.ts","sourceRoot":"","sources":["../../src/lib/public-release-gate.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;
|
|
1
|
+
{"version":3,"file":"public-release-gate.d.ts","sourceRoot":"","sources":["../../src/lib/public-release-gate.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAkDF,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,kBAAkB,EAAE,CAgD1F;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,WAAW,GAAG,kBAAkB,EAAE,CAQzF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,CAoBlF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAyBhF;AAED,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,WAAW,GAAG,kBAAkB,EAAE,CAE/F;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,WAAW,GACvB,kBAAkB,EAAE,CAiCtB;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAiB1F;AAED,wBAAgB,uBAAuB,CAAC,OAAO,SAAc,EAAE,IAAI,SAAW,GAAG,mBAAmB,EAAE,CAKrG;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,kBAAkB,EAAE,CA2BlG"}
|
package/dist/lib/redaction.d.ts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
import { type SecretSafetyConfig } from "./config.js";
|
|
2
|
+
export interface SecretFinding {
|
|
3
|
+
pattern: string;
|
|
4
|
+
count: number;
|
|
5
|
+
}
|
|
1
6
|
export declare function redactEvidenceText(value: string): string;
|
|
2
7
|
export declare function redactValue<T>(value: T): T;
|
|
8
|
+
export declare function listSecretFindings(value: string): SecretFinding[];
|
|
9
|
+
export declare function hasSecretFindings(value: string): boolean;
|
|
10
|
+
export declare function getSecretSafetyConfig(): SecretSafetyConfig;
|
|
11
|
+
export declare function upsertSecretSafetyConfig(input: SecretSafetyConfig): SecretSafetyConfig;
|
|
3
12
|
//# sourceMappingURL=redaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../../src/lib/redaction.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../../src/lib/redaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AA6CD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUxD;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAe1C;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAOjE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,qBAAqB,IAAI,kBAAkB,CAK1D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,CAQtF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export declare const LOCAL_RELEASE_COMPATIBILITY_SCHEMA_VERSION = 1;
|
|
2
|
+
export type ReleaseCompatibilityStatus = "passed" | "failed" | "warning";
|
|
3
|
+
export interface ReleaseCompatibilityCheck {
|
|
4
|
+
id: string;
|
|
5
|
+
status: ReleaseCompatibilityStatus;
|
|
6
|
+
message: string;
|
|
7
|
+
details?: Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export interface ReleaseCompatibilityReport {
|
|
10
|
+
schema_version: 1;
|
|
11
|
+
local_only: true;
|
|
12
|
+
no_network: true;
|
|
13
|
+
generated_at: string;
|
|
14
|
+
root: string;
|
|
15
|
+
package: {
|
|
16
|
+
name: string | null;
|
|
17
|
+
version: string | null;
|
|
18
|
+
repository: string | null;
|
|
19
|
+
public: boolean;
|
|
20
|
+
};
|
|
21
|
+
migrations: {
|
|
22
|
+
current_level: number;
|
|
23
|
+
simulated_levels: number[];
|
|
24
|
+
checked_tables: string[];
|
|
25
|
+
checked_columns: Record<string, string[]>;
|
|
26
|
+
};
|
|
27
|
+
exports: {
|
|
28
|
+
expected: string[];
|
|
29
|
+
actual: string[];
|
|
30
|
+
};
|
|
31
|
+
bins: {
|
|
32
|
+
expected: string[];
|
|
33
|
+
actual: string[];
|
|
34
|
+
};
|
|
35
|
+
install_plan: {
|
|
36
|
+
package: "@hasna/todos";
|
|
37
|
+
manager: "bun";
|
|
38
|
+
commands: string[];
|
|
39
|
+
smoke_tests: string[];
|
|
40
|
+
rollback: string[];
|
|
41
|
+
};
|
|
42
|
+
changelog: {
|
|
43
|
+
command: string;
|
|
44
|
+
mcp_tool: string;
|
|
45
|
+
json_contract: string;
|
|
46
|
+
};
|
|
47
|
+
checks: ReleaseCompatibilityCheck[];
|
|
48
|
+
warnings: string[];
|
|
49
|
+
issues: string[];
|
|
50
|
+
ok: boolean;
|
|
51
|
+
}
|
|
52
|
+
export interface CreateReleaseCompatibilityReportOptions {
|
|
53
|
+
root?: string;
|
|
54
|
+
generated_at?: string;
|
|
55
|
+
simulated_levels?: number[];
|
|
56
|
+
}
|
|
57
|
+
export declare function createReleaseCompatibilityReport(options?: CreateReleaseCompatibilityReportOptions): ReleaseCompatibilityReport;
|
|
58
|
+
export declare function renderReleaseCompatibilityMarkdown(report: ReleaseCompatibilityReport): string;
|
|
59
|
+
//# sourceMappingURL=release-compatibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-compatibility.d.ts","sourceRoot":"","sources":["../../src/lib/release-compatibility.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,0CAA0C,IAAI,CAAC;AAE5D,MAAM,MAAM,0BAA0B,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEzE,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,0BAA0B,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IACzC,cAAc,EAAE,CAAC,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;KAC3C,CAAC;IACF,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,YAAY,EAAE;QACZ,OAAO,EAAE,cAAc,CAAC;QACxB,OAAO,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,SAAS,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;CACb;AAED,MAAM,WAAW,uCAAuC;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAiMD,wBAAgB,gCAAgC,CAC9C,OAAO,GAAE,uCAA4C,GACpD,0BAA0B,CAoF5B;AAED,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,0BAA0B,GAAG,MAAM,CAwB7F"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { Plan, Task } from "../types/index.js";
|
|
3
|
+
import { type TaskCommit, type TaskVerification } from "../db/task-commits.js";
|
|
4
|
+
export interface GenerateReleaseNotesInput {
|
|
5
|
+
project_id?: string;
|
|
6
|
+
plan_id?: string;
|
|
7
|
+
task_ids?: string[];
|
|
8
|
+
tag?: string;
|
|
9
|
+
since?: string;
|
|
10
|
+
until?: string;
|
|
11
|
+
title?: string;
|
|
12
|
+
version?: string;
|
|
13
|
+
generated_at?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ReleaseNotesScope {
|
|
16
|
+
project_id: string | null;
|
|
17
|
+
project_name: string | null;
|
|
18
|
+
plan_id: string | null;
|
|
19
|
+
plan_name: string | null;
|
|
20
|
+
task_ids: string[];
|
|
21
|
+
tag: string | null;
|
|
22
|
+
since: string | null;
|
|
23
|
+
until: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface ReleaseNotesTask {
|
|
26
|
+
id: string;
|
|
27
|
+
short_id: string | null;
|
|
28
|
+
title: string;
|
|
29
|
+
description: string | null;
|
|
30
|
+
priority: Task["priority"];
|
|
31
|
+
project_id: string | null;
|
|
32
|
+
plan_id: string | null;
|
|
33
|
+
tags: string[];
|
|
34
|
+
completed_at: string | null;
|
|
35
|
+
breaking_changes: string[];
|
|
36
|
+
migration_notes: string[];
|
|
37
|
+
commits: TaskCommit[];
|
|
38
|
+
verifications: TaskVerification[];
|
|
39
|
+
}
|
|
40
|
+
export interface ReleaseNotesPlan {
|
|
41
|
+
id: string;
|
|
42
|
+
name: string;
|
|
43
|
+
status: Plan["status"];
|
|
44
|
+
task_count: number;
|
|
45
|
+
completed_count: number;
|
|
46
|
+
}
|
|
47
|
+
export interface ReleaseNotesDocument {
|
|
48
|
+
schema_version: 1;
|
|
49
|
+
generated_at: string;
|
|
50
|
+
title: string;
|
|
51
|
+
version: string | null;
|
|
52
|
+
local_only: true;
|
|
53
|
+
scope: ReleaseNotesScope;
|
|
54
|
+
summary: {
|
|
55
|
+
tasks: number;
|
|
56
|
+
plans: number;
|
|
57
|
+
commits: number;
|
|
58
|
+
verifications: number;
|
|
59
|
+
passed_verifications: number;
|
|
60
|
+
breaking_changes: number;
|
|
61
|
+
migration_notes: number;
|
|
62
|
+
};
|
|
63
|
+
plans: ReleaseNotesPlan[];
|
|
64
|
+
tasks: ReleaseNotesTask[];
|
|
65
|
+
commits: TaskCommit[];
|
|
66
|
+
verifications: TaskVerification[];
|
|
67
|
+
breaking_changes: Array<{
|
|
68
|
+
task_id: string;
|
|
69
|
+
title: string;
|
|
70
|
+
note: string;
|
|
71
|
+
}>;
|
|
72
|
+
migration_notes: Array<{
|
|
73
|
+
task_id: string;
|
|
74
|
+
title: string;
|
|
75
|
+
note: string;
|
|
76
|
+
}>;
|
|
77
|
+
warnings: string[];
|
|
78
|
+
}
|
|
79
|
+
export declare function generateReleaseNotes(input?: GenerateReleaseNotesInput, db?: Database): ReleaseNotesDocument;
|
|
80
|
+
export declare function renderReleaseNotesMarkdown(document: ReleaseNotesDocument): string;
|
|
81
|
+
//# sourceMappingURL=release-notes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"release-notes.d.ts","sourceRoot":"","sources":["../../src/lib/release-notes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { TaskStatus } from "../types/index.js";
|
|
3
|
+
export declare const RETENTION_CLEANUP_CONFIRMATION = "delete-local-retention-data";
|
|
4
|
+
export type RetentionCleanupScope = "comments" | "runs" | "verifications" | "expired_artifacts";
|
|
5
|
+
export type RetentionCleanupRunStatus = "running" | "completed" | "failed" | "cancelled";
|
|
6
|
+
export interface RetentionCleanupInput {
|
|
7
|
+
older_than_days: number;
|
|
8
|
+
project_id?: string;
|
|
9
|
+
task_statuses?: TaskStatus[];
|
|
10
|
+
run_statuses?: RetentionCleanupRunStatus[];
|
|
11
|
+
include?: RetentionCleanupScope[];
|
|
12
|
+
now?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ApplyRetentionCleanupInput extends RetentionCleanupInput {
|
|
15
|
+
confirm?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface RetentionCleanupRecordCandidate {
|
|
18
|
+
id: string;
|
|
19
|
+
task_id: string;
|
|
20
|
+
project_id: string | null;
|
|
21
|
+
task_status: string;
|
|
22
|
+
created_at: string;
|
|
23
|
+
status?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface RetentionCleanupArtifactFileCandidate {
|
|
26
|
+
relative_path: string;
|
|
27
|
+
artifact_ids: string[];
|
|
28
|
+
expires_at: string;
|
|
29
|
+
size_bytes: number | null;
|
|
30
|
+
}
|
|
31
|
+
export interface RetentionCleanupCounts {
|
|
32
|
+
comments: number;
|
|
33
|
+
runs: number;
|
|
34
|
+
verifications: number;
|
|
35
|
+
artifact_files: number;
|
|
36
|
+
}
|
|
37
|
+
export interface RetentionCleanupReport {
|
|
38
|
+
schema_version: 1;
|
|
39
|
+
local_only: true;
|
|
40
|
+
dry_run: boolean;
|
|
41
|
+
generated_at: string;
|
|
42
|
+
cutoff_at: string;
|
|
43
|
+
confirmation_required: typeof RETENTION_CLEANUP_CONFIRMATION;
|
|
44
|
+
filters: {
|
|
45
|
+
older_than_days: number;
|
|
46
|
+
project_id: string | null;
|
|
47
|
+
task_statuses: string[];
|
|
48
|
+
run_statuses: string[];
|
|
49
|
+
include: RetentionCleanupScope[];
|
|
50
|
+
};
|
|
51
|
+
candidate_counts: RetentionCleanupCounts;
|
|
52
|
+
deleted_counts: RetentionCleanupCounts;
|
|
53
|
+
candidates: {
|
|
54
|
+
comments: RetentionCleanupRecordCandidate[];
|
|
55
|
+
runs: RetentionCleanupRecordCandidate[];
|
|
56
|
+
verifications: RetentionCleanupRecordCandidate[];
|
|
57
|
+
artifact_files: RetentionCleanupArtifactFileCandidate[];
|
|
58
|
+
};
|
|
59
|
+
warnings: string[];
|
|
60
|
+
}
|
|
61
|
+
export declare function previewRetentionCleanup(input: RetentionCleanupInput, db?: Database): RetentionCleanupReport;
|
|
62
|
+
export declare function applyRetentionCleanup(input: ApplyRetentionCleanupInput, db?: Database): RetentionCleanupReport;
|
|
63
|
+
//# sourceMappingURL=retention-cleanup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retention-cleanup.d.ts","sourceRoot":"","sources":["../../src/lib/retention-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAI7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAE5E,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,MAAM,GAAG,eAAe,GAAG,mBAAmB,CAAC;AAChG,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEzF,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC3C,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,+BAA+B;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qCAAqC;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,CAAC,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,OAAO,8BAA8B,CAAC;IAC7D,OAAO,EAAE;QACP,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,OAAO,EAAE,qBAAqB,EAAE,CAAC;KAClC,CAAC;IACF,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,cAAc,EAAE,sBAAsB,CAAC;IACvC,UAAU,EAAE;QACV,QAAQ,EAAE,+BAA+B,EAAE,CAAC;QAC5C,IAAI,EAAE,+BAA+B,EAAE,CAAC;QACxC,aAAa,EAAE,+BAA+B,EAAE,CAAC;QACjD,cAAc,EAAE,qCAAqC,EAAE,CAAC;KACzD,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAoPD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,sBAAsB,CAE3G;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,sBAAsB,CA4B9G"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { TaskPriority, TaskStatus } from "../types/index.js";
|
|
3
|
+
import { type ReviewRoutingRuleConfig } from "./config.js";
|
|
4
|
+
import { type TaskReview } from "./task-contracts.js";
|
|
5
|
+
export type ReviewQueueState = "requested" | "claimed" | "approved" | "changes_requested" | "returned" | "reopened";
|
|
6
|
+
export interface ReviewQueueHistoryEntry {
|
|
7
|
+
state: ReviewQueueState;
|
|
8
|
+
actor: string;
|
|
9
|
+
note: string | null;
|
|
10
|
+
at: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ReviewQueueMetadata {
|
|
13
|
+
schema_version: 1;
|
|
14
|
+
state: ReviewQueueState;
|
|
15
|
+
queue: string;
|
|
16
|
+
requester: string | null;
|
|
17
|
+
reviewer: string | null;
|
|
18
|
+
claimed_by: string | null;
|
|
19
|
+
reason: string | null;
|
|
20
|
+
notes: string | null;
|
|
21
|
+
changes_requested: string[];
|
|
22
|
+
routing_rule: string | null;
|
|
23
|
+
requested_at: string | null;
|
|
24
|
+
claimed_at: string | null;
|
|
25
|
+
decided_at: string | null;
|
|
26
|
+
updated_at: string;
|
|
27
|
+
history: ReviewQueueHistoryEntry[];
|
|
28
|
+
}
|
|
29
|
+
export interface ReviewQueueItem {
|
|
30
|
+
task_id: string;
|
|
31
|
+
short_id: string | null;
|
|
32
|
+
title: string;
|
|
33
|
+
status: TaskStatus;
|
|
34
|
+
priority: TaskPriority;
|
|
35
|
+
project_id: string | null;
|
|
36
|
+
assigned_to: string | null;
|
|
37
|
+
tags: string[];
|
|
38
|
+
queue: string;
|
|
39
|
+
state: ReviewQueueState;
|
|
40
|
+
requester: string | null;
|
|
41
|
+
reviewer: string | null;
|
|
42
|
+
claimed_by: string | null;
|
|
43
|
+
reason: string | null;
|
|
44
|
+
notes: string | null;
|
|
45
|
+
changes_requested: string[];
|
|
46
|
+
routing_rule: string | null;
|
|
47
|
+
requested_at: string | null;
|
|
48
|
+
claimed_at: string | null;
|
|
49
|
+
decided_at: string | null;
|
|
50
|
+
updated_at: string;
|
|
51
|
+
review: TaskReview | null;
|
|
52
|
+
}
|
|
53
|
+
export interface ReviewQueueListOptions {
|
|
54
|
+
queue?: string;
|
|
55
|
+
state?: ReviewQueueState;
|
|
56
|
+
reviewer?: string;
|
|
57
|
+
requester?: string;
|
|
58
|
+
project_id?: string;
|
|
59
|
+
limit?: number;
|
|
60
|
+
}
|
|
61
|
+
export interface RequestReviewQueueInput {
|
|
62
|
+
task_id: string;
|
|
63
|
+
requester: string;
|
|
64
|
+
reviewer?: string;
|
|
65
|
+
queue?: string;
|
|
66
|
+
reason?: string;
|
|
67
|
+
notes?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface ClaimReviewInput {
|
|
70
|
+
task_id: string;
|
|
71
|
+
reviewer: string;
|
|
72
|
+
note?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface DecideReviewInput {
|
|
75
|
+
task_id: string;
|
|
76
|
+
reviewer: string;
|
|
77
|
+
note?: string;
|
|
78
|
+
changes_requested?: string[];
|
|
79
|
+
}
|
|
80
|
+
export interface UpsertReviewRoutingRuleInput {
|
|
81
|
+
name: string;
|
|
82
|
+
queue?: string;
|
|
83
|
+
reviewers?: string[];
|
|
84
|
+
tags?: string[];
|
|
85
|
+
priorities?: TaskPriority[];
|
|
86
|
+
project_id?: string;
|
|
87
|
+
enabled?: boolean;
|
|
88
|
+
}
|
|
89
|
+
export declare function listReviewRoutingRules(): ReviewRoutingRuleConfig[];
|
|
90
|
+
export declare function upsertReviewRoutingRule(input: UpsertReviewRoutingRuleInput): ReviewRoutingRuleConfig;
|
|
91
|
+
export declare function removeReviewRoutingRule(name: string): boolean;
|
|
92
|
+
export declare function requestReviewQueue(input: RequestReviewQueueInput, db?: Database): ReviewQueueItem;
|
|
93
|
+
export declare function claimReviewItem(input: ClaimReviewInput, db?: Database): ReviewQueueItem;
|
|
94
|
+
export declare function approveReviewItem(input: DecideReviewInput, db?: Database): ReviewQueueItem;
|
|
95
|
+
export declare function returnReviewItem(input: DecideReviewInput, db?: Database): ReviewQueueItem;
|
|
96
|
+
export declare function reopenReviewItem(input: DecideReviewInput, db?: Database): ReviewQueueItem;
|
|
97
|
+
export declare function listReviewQueue(options?: ReviewQueueListOptions, db?: Database): ReviewQueueItem[];
|
|
98
|
+
//# sourceMappingURL=review-queues.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-queues.d.ts","sourceRoot":"","sources":["../../src/lib/review-queues.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import { getTaskRun } from "../db/task-runs.js";
|
|
3
|
+
import type { Task, Plan } from "../types/index.js";
|
|
4
|
+
import { type LocalMilestoneConfig, type LocalMilestoneStatus, type LocalReleaseGroupConfig, type LocalRoadmapConfig, type LocalRoadmapStatus } from "./config.js";
|
|
5
|
+
export type { LocalMilestoneConfig, LocalMilestoneStatus, LocalReleaseGroupConfig, LocalRoadmapConfig, LocalRoadmapStatus, LocalRoadmapStoreConfig, } from "./config.js";
|
|
6
|
+
export declare const LOCAL_ROADMAP_SCHEMA_VERSION = 1;
|
|
7
|
+
export interface CreateRoadmapInput {
|
|
8
|
+
name: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
project_id?: string;
|
|
11
|
+
status?: LocalRoadmapStatus;
|
|
12
|
+
owner?: string;
|
|
13
|
+
agent_id?: string;
|
|
14
|
+
release?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface UpdateRoadmapInput {
|
|
17
|
+
name?: string;
|
|
18
|
+
description?: string | null;
|
|
19
|
+
project_id?: string | null;
|
|
20
|
+
status?: LocalRoadmapStatus;
|
|
21
|
+
owner?: string | null;
|
|
22
|
+
agent_id?: string | null;
|
|
23
|
+
release?: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface CreateMilestoneInput {
|
|
26
|
+
roadmap_id: string;
|
|
27
|
+
title: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
due_at?: string;
|
|
30
|
+
status?: LocalMilestoneStatus;
|
|
31
|
+
owner?: string;
|
|
32
|
+
agent_id?: string;
|
|
33
|
+
task_ids?: string[];
|
|
34
|
+
plan_ids?: string[];
|
|
35
|
+
run_ids?: string[];
|
|
36
|
+
release?: string;
|
|
37
|
+
tags?: string[];
|
|
38
|
+
}
|
|
39
|
+
export interface UpdateMilestoneInput {
|
|
40
|
+
title?: string;
|
|
41
|
+
description?: string | null;
|
|
42
|
+
due_at?: string | null;
|
|
43
|
+
status?: LocalMilestoneStatus;
|
|
44
|
+
owner?: string | null;
|
|
45
|
+
agent_id?: string | null;
|
|
46
|
+
task_ids?: string[];
|
|
47
|
+
plan_ids?: string[];
|
|
48
|
+
run_ids?: string[];
|
|
49
|
+
release?: string | null;
|
|
50
|
+
tags?: string[];
|
|
51
|
+
}
|
|
52
|
+
export interface UpsertReleaseGroupInput {
|
|
53
|
+
roadmap_id: string;
|
|
54
|
+
name: string;
|
|
55
|
+
version?: string;
|
|
56
|
+
status?: LocalMilestoneStatus;
|
|
57
|
+
milestone_ids?: string[];
|
|
58
|
+
task_ids?: string[];
|
|
59
|
+
plan_ids?: string[];
|
|
60
|
+
run_ids?: string[];
|
|
61
|
+
notes?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface RoadmapProgressSummary {
|
|
64
|
+
task_count: number;
|
|
65
|
+
completed_count: number;
|
|
66
|
+
in_progress_count: number;
|
|
67
|
+
pending_count: number;
|
|
68
|
+
blocked_count: number;
|
|
69
|
+
plan_count: number;
|
|
70
|
+
run_count: number;
|
|
71
|
+
percent_complete: number;
|
|
72
|
+
readiness: "empty" | "ready" | "blocked" | "in_progress" | "complete";
|
|
73
|
+
}
|
|
74
|
+
export interface MilestoneSummary extends LocalMilestoneConfig {
|
|
75
|
+
tasks: Task[];
|
|
76
|
+
plans: Plan[];
|
|
77
|
+
runs: Array<NonNullable<ReturnType<typeof getTaskRun>>>;
|
|
78
|
+
blockers: Array<{
|
|
79
|
+
task_id: string;
|
|
80
|
+
blockers: Array<{
|
|
81
|
+
id: string;
|
|
82
|
+
title: string;
|
|
83
|
+
status: string;
|
|
84
|
+
}>;
|
|
85
|
+
}>;
|
|
86
|
+
progress: RoadmapProgressSummary;
|
|
87
|
+
}
|
|
88
|
+
export interface RoadmapSummary extends LocalRoadmapConfig {
|
|
89
|
+
milestones: MilestoneSummary[];
|
|
90
|
+
releases: LocalReleaseGroupConfig[];
|
|
91
|
+
progress: RoadmapProgressSummary;
|
|
92
|
+
}
|
|
93
|
+
export interface RoadmapBundle {
|
|
94
|
+
schema_version: typeof LOCAL_ROADMAP_SCHEMA_VERSION;
|
|
95
|
+
kind: "hasna.todos.roadmap-bundle";
|
|
96
|
+
local_only: true;
|
|
97
|
+
exported_at: string;
|
|
98
|
+
roadmap: LocalRoadmapConfig;
|
|
99
|
+
milestones: LocalMilestoneConfig[];
|
|
100
|
+
releases: LocalReleaseGroupConfig[];
|
|
101
|
+
}
|
|
102
|
+
export interface ImportRoadmapBundleResult {
|
|
103
|
+
applied: boolean;
|
|
104
|
+
roadmap_id: string;
|
|
105
|
+
milestones: number;
|
|
106
|
+
releases: number;
|
|
107
|
+
}
|
|
108
|
+
export declare function createRoadmap(input: CreateRoadmapInput): LocalRoadmapConfig;
|
|
109
|
+
export declare function listRoadmaps(options?: {
|
|
110
|
+
project_id?: string;
|
|
111
|
+
status?: LocalRoadmapStatus;
|
|
112
|
+
}): LocalRoadmapConfig[];
|
|
113
|
+
export declare function getRoadmap(idOrName: string): LocalRoadmapConfig | null;
|
|
114
|
+
export declare function updateRoadmap(idOrName: string, input: UpdateRoadmapInput): LocalRoadmapConfig;
|
|
115
|
+
export declare function deleteRoadmap(idOrName: string): boolean;
|
|
116
|
+
export declare function createMilestone(input: CreateMilestoneInput): LocalMilestoneConfig;
|
|
117
|
+
export declare function listMilestones(options?: {
|
|
118
|
+
roadmap_id?: string;
|
|
119
|
+
release?: string;
|
|
120
|
+
status?: LocalMilestoneStatus;
|
|
121
|
+
}): LocalMilestoneConfig[];
|
|
122
|
+
export declare function updateMilestone(idOrTitle: string, input: UpdateMilestoneInput): LocalMilestoneConfig;
|
|
123
|
+
export declare function deleteMilestone(idOrTitle: string): boolean;
|
|
124
|
+
export declare function upsertReleaseGroup(input: UpsertReleaseGroupInput): LocalReleaseGroupConfig;
|
|
125
|
+
export declare function listReleaseGroups(roadmapId?: string): LocalReleaseGroupConfig[];
|
|
126
|
+
export declare function summarizeMilestone(idOrTitle: string, db?: Database): MilestoneSummary;
|
|
127
|
+
export declare function summarizeRoadmap(idOrName: string, db?: Database): RoadmapSummary;
|
|
128
|
+
export declare function exportRoadmapBundle(idOrName: string): RoadmapBundle;
|
|
129
|
+
export declare function importRoadmapBundle(bundle: RoadmapBundle, options?: {
|
|
130
|
+
apply?: boolean;
|
|
131
|
+
}): ImportRoadmapBundleResult;
|
|
132
|
+
export declare function renderRoadmapMarkdown(idOrName: string, db?: Database): string;
|
|
133
|
+
//# sourceMappingURL=roadmaps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roadmaps.d.ts","sourceRoot":"","sources":["../../src/lib/roadmaps.ts"],"names":[],"mappings":"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"}
|