@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,111 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
export interface EnvironmentSnapshotFile {
|
|
3
|
+
path: string;
|
|
4
|
+
sha256: string;
|
|
5
|
+
size_bytes: number;
|
|
6
|
+
}
|
|
7
|
+
export interface EnvironmentSnapshotManifest extends EnvironmentSnapshotFile {
|
|
8
|
+
redacted: Record<string, unknown>;
|
|
9
|
+
}
|
|
10
|
+
export interface EnvironmentSnapshot {
|
|
11
|
+
schema_version: 1;
|
|
12
|
+
id: string;
|
|
13
|
+
captured_at: string;
|
|
14
|
+
root: string;
|
|
15
|
+
machine: {
|
|
16
|
+
hostname: string;
|
|
17
|
+
platform: string;
|
|
18
|
+
arch: string;
|
|
19
|
+
};
|
|
20
|
+
target: {
|
|
21
|
+
task_id: string | null;
|
|
22
|
+
run_id: string | null;
|
|
23
|
+
agent_id: string | null;
|
|
24
|
+
};
|
|
25
|
+
runtime: {
|
|
26
|
+
bun: string | null;
|
|
27
|
+
node: string;
|
|
28
|
+
executable: string;
|
|
29
|
+
};
|
|
30
|
+
package_manager: {
|
|
31
|
+
manager: "bun" | "npm" | "unknown";
|
|
32
|
+
user_agent: string | null;
|
|
33
|
+
manifests: EnvironmentSnapshotManifest[];
|
|
34
|
+
lockfiles: EnvironmentSnapshotFile[];
|
|
35
|
+
};
|
|
36
|
+
git: {
|
|
37
|
+
present: boolean;
|
|
38
|
+
branch: string | null;
|
|
39
|
+
commit: string | null;
|
|
40
|
+
is_dirty: boolean;
|
|
41
|
+
status_porcelain: string[];
|
|
42
|
+
status_summary: {
|
|
43
|
+
added: number;
|
|
44
|
+
modified: number;
|
|
45
|
+
deleted: number;
|
|
46
|
+
renamed: number;
|
|
47
|
+
untracked: number;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
config_hashes: EnvironmentSnapshotFile[];
|
|
51
|
+
command_env: {
|
|
52
|
+
command: string | null;
|
|
53
|
+
env_keys: string[];
|
|
54
|
+
env: Record<string, string> | null;
|
|
55
|
+
redacted_keys: string[];
|
|
56
|
+
};
|
|
57
|
+
warnings: string[];
|
|
58
|
+
}
|
|
59
|
+
export interface CaptureEnvironmentSnapshotInput {
|
|
60
|
+
root?: string;
|
|
61
|
+
task_id?: string;
|
|
62
|
+
run_id?: string;
|
|
63
|
+
agent_id?: string;
|
|
64
|
+
command?: string;
|
|
65
|
+
env?: NodeJS.ProcessEnv;
|
|
66
|
+
include_env_values?: boolean;
|
|
67
|
+
now?: string | Date;
|
|
68
|
+
}
|
|
69
|
+
export interface RecordEnvironmentSnapshotInput extends CaptureEnvironmentSnapshotInput {
|
|
70
|
+
output_path?: string;
|
|
71
|
+
store_content?: boolean;
|
|
72
|
+
}
|
|
73
|
+
export interface RecordedEnvironmentSnapshot {
|
|
74
|
+
snapshot: EnvironmentSnapshot;
|
|
75
|
+
output_path: string;
|
|
76
|
+
task_verification_id: string | null;
|
|
77
|
+
run_artifact_id: string | null;
|
|
78
|
+
}
|
|
79
|
+
export interface EnvironmentSnapshotComparison {
|
|
80
|
+
schema_version: 1;
|
|
81
|
+
left_id: string;
|
|
82
|
+
right_id: string;
|
|
83
|
+
same_root: boolean;
|
|
84
|
+
same_machine: boolean;
|
|
85
|
+
same_runtime: boolean;
|
|
86
|
+
same_git_commit: boolean;
|
|
87
|
+
dirty_state_changed: boolean;
|
|
88
|
+
changed_config_hashes: Array<{
|
|
89
|
+
path: string;
|
|
90
|
+
left_sha256: string | null;
|
|
91
|
+
right_sha256: string | null;
|
|
92
|
+
}>;
|
|
93
|
+
changed_lockfiles: Array<{
|
|
94
|
+
path: string;
|
|
95
|
+
left_sha256: string | null;
|
|
96
|
+
right_sha256: string | null;
|
|
97
|
+
}>;
|
|
98
|
+
changed_manifests: Array<{
|
|
99
|
+
path: string;
|
|
100
|
+
left_sha256: string | null;
|
|
101
|
+
right_sha256: string | null;
|
|
102
|
+
}>;
|
|
103
|
+
warnings: string[];
|
|
104
|
+
}
|
|
105
|
+
export declare function captureEnvironmentSnapshot(input?: CaptureEnvironmentSnapshotInput): EnvironmentSnapshot;
|
|
106
|
+
export declare function writeEnvironmentSnapshot(snapshot: EnvironmentSnapshot, outputPath?: string): string;
|
|
107
|
+
export declare function readEnvironmentSnapshot(path: string): EnvironmentSnapshot;
|
|
108
|
+
export declare function recordEnvironmentSnapshot(input?: RecordEnvironmentSnapshotInput, db?: Database): RecordedEnvironmentSnapshot;
|
|
109
|
+
export declare function compareEnvironmentSnapshots(left: EnvironmentSnapshot, right: EnvironmentSnapshot): EnvironmentSnapshotComparison;
|
|
110
|
+
export declare function compareEnvironmentSnapshotFiles(leftPath: string, rightPath: string): EnvironmentSnapshotComparison;
|
|
111
|
+
//# sourceMappingURL=environment-snapshots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-snapshots.d.ts","sourceRoot":"","sources":["../../src/lib/environment-snapshots.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type LocalEventHookConfig, type LocalEventHookTarget } from "./config.js";
|
|
2
|
-
export declare const LOCAL_EVENT_TYPES: readonly ["task.assigned", "task.blocked", "task.started", "task.completed", "task.failed", "task.unblocked", "task.status_changed", "plan.updated", "run.started", "run.completed", "run.failed", "run.cancelled", "approval.decided", "import.finished", "export.finished"];
|
|
2
|
+
export declare const LOCAL_EVENT_TYPES: readonly ["task.assigned", "task.blocked", "task.started", "task.completed", "task.due", "task.due_soon", "task.failed", "task.sla_breached", "task.stale", "task.unblocked", "task.status_changed", "calendar.reminder", "plan.updated", "run.started", "run.completed", "run.failed", "run.cancelled", "approval.decided", "import.finished", "export.finished"];
|
|
3
3
|
export type LocalEventType = typeof LOCAL_EVENT_TYPES[number] | string;
|
|
4
4
|
export interface LocalEventHookInput {
|
|
5
5
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-hooks.d.ts","sourceRoot":"","sources":["../../src/lib/event-hooks.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"event-hooks.d.ts","sourceRoot":"","sources":["../../src/lib/event-hooks.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,iBAAiB,oWAqBpB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE;QACN,OAAO,EAAE,cAAc,CAAC;QACxB,UAAU,EAAE,IAAI,CAAC;KAClB,CAAC;IACF,SAAS,EAAE;QACT,SAAS,EAAE,QAAQ,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmLD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAYrF;AAED,wBAAgB,mBAAmB,IAAI,oBAAoB,EAAE,CAE5D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAE3E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ1D;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAKrH;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI,CAEjF;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,2BAA2B,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAIjJ"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import { type InboxItem } from "../db/inbox.js";
|
|
3
|
+
import type { Task, TaskPriority } from "../types/index.js";
|
|
4
|
+
import { type DuplicateTaskCandidate } from "./task-dedupe.js";
|
|
5
|
+
export declare const EXTERNAL_ISSUE_IMPORT_SCHEMA_VERSION = 1;
|
|
6
|
+
export type ExternalIssueProvider = "github" | "linear" | "jira" | "url";
|
|
7
|
+
export interface ExternalIssueRecord {
|
|
8
|
+
provider: ExternalIssueProvider;
|
|
9
|
+
external_id: string;
|
|
10
|
+
key: string | null;
|
|
11
|
+
title: string;
|
|
12
|
+
body: string | null;
|
|
13
|
+
url: string | null;
|
|
14
|
+
state: string | null;
|
|
15
|
+
labels: string[];
|
|
16
|
+
assignee: string | null;
|
|
17
|
+
priority: TaskPriority | null;
|
|
18
|
+
metadata: Record<string, unknown>;
|
|
19
|
+
}
|
|
20
|
+
export interface ExternalIssueImportInput {
|
|
21
|
+
provider?: ExternalIssueProvider;
|
|
22
|
+
text?: string;
|
|
23
|
+
json?: unknown;
|
|
24
|
+
source_url?: string;
|
|
25
|
+
source_name?: string;
|
|
26
|
+
project_id?: string;
|
|
27
|
+
task_list_id?: string;
|
|
28
|
+
agent_id?: string;
|
|
29
|
+
default_priority?: TaskPriority;
|
|
30
|
+
apply?: boolean;
|
|
31
|
+
allow_network?: boolean;
|
|
32
|
+
create_inbox?: boolean;
|
|
33
|
+
dedupe?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface ExternalIssueExistingMatch {
|
|
36
|
+
issue: ExternalIssueRecord;
|
|
37
|
+
task: Task;
|
|
38
|
+
reason: string;
|
|
39
|
+
}
|
|
40
|
+
export interface ExternalIssueImportResult {
|
|
41
|
+
schema_version: 1;
|
|
42
|
+
local_only: true;
|
|
43
|
+
network_used: boolean;
|
|
44
|
+
dry_run: boolean;
|
|
45
|
+
imported_at: string;
|
|
46
|
+
source: {
|
|
47
|
+
provider: ExternalIssueProvider | null;
|
|
48
|
+
source_url: string | null;
|
|
49
|
+
source_name: string | null;
|
|
50
|
+
};
|
|
51
|
+
issues: ExternalIssueRecord[];
|
|
52
|
+
created_tasks: Task[];
|
|
53
|
+
inbox_items: InboxItem[];
|
|
54
|
+
existing_matches: ExternalIssueExistingMatch[];
|
|
55
|
+
duplicate_candidates: DuplicateTaskCandidate[];
|
|
56
|
+
warnings: string[];
|
|
57
|
+
commands: string[];
|
|
58
|
+
}
|
|
59
|
+
export declare function importExternalIssues(input: ExternalIssueImportInput, db?: Database): ExternalIssueImportResult;
|
|
60
|
+
//# sourceMappingURL=external-issue-importers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-issue-importers.d.ts","sourceRoot":"","sources":["../../src/lib/external-issue-importers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAGnF,eAAO,MAAM,oCAAoC,IAAI,CAAC;AAEtD,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,cAAc,EAAE,CAAC,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAAC;QACvC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC;IACF,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,gBAAgB,EAAE,0BAA0B,EAAE,CAAC;IAC/C,oBAAoB,EAAE,sBAAsB,EAAE,CAAC;IAC/C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAoYD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,wBAAwB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,yBAAyB,CAsG9G"}
|
package/dist/lib/extract.d.ts
CHANGED
|
@@ -9,6 +9,34 @@ export interface ExtractedComment {
|
|
|
9
9
|
line: number;
|
|
10
10
|
/** Full line content from the source file */
|
|
11
11
|
raw: string;
|
|
12
|
+
/** Stable fingerprint used to dedupe across line moves */
|
|
13
|
+
fingerprint: string;
|
|
14
|
+
/** Nearest enclosing or preceding symbol, when recognized locally */
|
|
15
|
+
symbol?: string;
|
|
16
|
+
symbol_kind?: SourceSymbolKind;
|
|
17
|
+
}
|
|
18
|
+
export type SourceSymbolKind = "function" | "class" | "interface" | "type" | "variable" | "method";
|
|
19
|
+
export interface SourceSymbol {
|
|
20
|
+
name: string;
|
|
21
|
+
kind: SourceSymbolKind;
|
|
22
|
+
file: string;
|
|
23
|
+
line: number;
|
|
24
|
+
raw: string;
|
|
25
|
+
}
|
|
26
|
+
export interface SourceIndexFile {
|
|
27
|
+
file: string;
|
|
28
|
+
checksum: string;
|
|
29
|
+
symbols: SourceSymbol[];
|
|
30
|
+
comments: ExtractedComment[];
|
|
31
|
+
}
|
|
32
|
+
export interface CodebaseIndex {
|
|
33
|
+
root: string;
|
|
34
|
+
generated_at: string;
|
|
35
|
+
files: SourceIndexFile[];
|
|
36
|
+
total_comments: number;
|
|
37
|
+
total_symbols: number;
|
|
38
|
+
respects_gitignore: boolean;
|
|
39
|
+
excludes: string[];
|
|
12
40
|
}
|
|
13
41
|
export interface ExtractOptions {
|
|
14
42
|
/** Directory or file to scan */
|
|
@@ -29,6 +57,12 @@ export interface ExtractOptions {
|
|
|
29
57
|
dry_run?: boolean;
|
|
30
58
|
/** File extensions to scan (default: common code extensions) */
|
|
31
59
|
extensions?: string[];
|
|
60
|
+
/** Extra glob-ish path patterns to exclude */
|
|
61
|
+
exclude?: string[];
|
|
62
|
+
/** Respect .gitignore files from the scanned root (default true) */
|
|
63
|
+
respect_gitignore?: boolean;
|
|
64
|
+
/** Include a local codebase index in the result */
|
|
65
|
+
include_index?: boolean;
|
|
32
66
|
}
|
|
33
67
|
export interface ExtractResult {
|
|
34
68
|
/** All comments found */
|
|
@@ -37,6 +71,27 @@ export interface ExtractResult {
|
|
|
37
71
|
tasks: Task[];
|
|
38
72
|
/** Number of duplicates skipped */
|
|
39
73
|
skipped: number;
|
|
74
|
+
/** Local codebase index, when requested */
|
|
75
|
+
index?: CodebaseIndex;
|
|
76
|
+
}
|
|
77
|
+
export interface WatchSourceTodosOptions extends ExtractOptions {
|
|
78
|
+
/** Poll interval for repeated local scans */
|
|
79
|
+
interval_ms?: number;
|
|
80
|
+
/** Run a single scan and return */
|
|
81
|
+
once?: boolean;
|
|
82
|
+
/** Maximum scans before returning. Defaults to 1 when once=true, otherwise Infinity. */
|
|
83
|
+
max_runs?: number;
|
|
84
|
+
}
|
|
85
|
+
export interface SourceTodoWatchRun {
|
|
86
|
+
run: number;
|
|
87
|
+
scanned_at: string;
|
|
88
|
+
changed_files: string[];
|
|
89
|
+
result: ExtractResult;
|
|
90
|
+
}
|
|
91
|
+
export interface SourceTodoWatchResult {
|
|
92
|
+
root: string;
|
|
93
|
+
interval_ms: number;
|
|
94
|
+
runs: SourceTodoWatchRun[];
|
|
40
95
|
}
|
|
41
96
|
/** Priority mapping from comment tag */
|
|
42
97
|
export declare function tagToPriority(tag: ExtractTag): TaskPriority;
|
|
@@ -44,8 +99,10 @@ export declare function tagToPriority(tag: ExtractTag): TaskPriority;
|
|
|
44
99
|
* Extract TODO-style comments from a single file's contents.
|
|
45
100
|
*/
|
|
46
101
|
export declare function extractFromSource(source: string, filePath: string, tags?: ExtractTag[]): ExtractedComment[];
|
|
102
|
+
export declare function buildCodebaseIndex(options: ExtractOptions): CodebaseIndex;
|
|
47
103
|
/**
|
|
48
104
|
* Scan a directory or file for TODO-style comments and optionally create tasks.
|
|
49
105
|
*/
|
|
50
106
|
export declare function extractTodos(options: ExtractOptions, db?: Database): ExtractResult;
|
|
107
|
+
export declare function watchSourceTodos(options: WatchSourceTodosOptions, onRun?: (run: SourceTodoWatchRun) => void | Promise<void>): Promise<SourceTodoWatchResult>;
|
|
51
108
|
//# sourceMappingURL=extract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/lib/extract.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/lib/extract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Database } from "bun:sqlite";
|
|
2
2
|
import { type ExportedArtifactContent } from "./artifact-store.js";
|
|
3
|
-
import type { Project, Plan, Task, TaskComment, TaskDependency, TaskList } from "../types/index.js";
|
|
3
|
+
import type { LocalCalendarItem, Project, Plan, Task, TaskBoard, TaskComment, TaskDependency, TaskList } from "../types/index.js";
|
|
4
4
|
import type { TaskCommit, TaskGitRef, TaskVerification } from "../db/task-commits.js";
|
|
5
5
|
import type { TaskFile } from "../db/task-files.js";
|
|
6
6
|
import type { TaskRun, TaskRunArtifact, TaskRunCommand, TaskRunEvent } from "../db/task-runs.js";
|
|
@@ -32,6 +32,8 @@ export interface TodosLocalBridgeData {
|
|
|
32
32
|
task_git_refs: TaskGitRef[];
|
|
33
33
|
task_verifications: TaskVerification[];
|
|
34
34
|
saved_views: SavedSearchView[];
|
|
35
|
+
task_boards: TaskBoard[];
|
|
36
|
+
local_calendar_items: LocalCalendarItem[];
|
|
35
37
|
}
|
|
36
38
|
export interface TodosLocalBridgeBundle {
|
|
37
39
|
schemaVersion: typeof TODOS_LOCAL_BRIDGE_SCHEMA_VERSION;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-bridge.d.ts","sourceRoot":"","sources":["../../src/lib/local-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAI7D,OAAO,EAA4D,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC7H,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"local-bridge.d.ts","sourceRoot":"","sources":["../../src/lib/local-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { type LocalExtensionManifest, type LocalExtensionRecord } from "./config.js";
|
|
2
|
+
import { type RunnerSandboxCheck } from "./runner-sandbox.js";
|
|
3
|
+
export interface ExtensionSourceInspection {
|
|
4
|
+
source: string;
|
|
5
|
+
source_type: "manifest" | "directory" | "bundle";
|
|
6
|
+
manifest_path: string;
|
|
7
|
+
manifest: LocalExtensionManifest;
|
|
8
|
+
checksum: string;
|
|
9
|
+
validation: ExtensionValidationResult;
|
|
10
|
+
bundle: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface ExtensionValidationResult {
|
|
13
|
+
ok: boolean;
|
|
14
|
+
errors: string[];
|
|
15
|
+
warnings: string[];
|
|
16
|
+
compatible: boolean;
|
|
17
|
+
todos_version: string;
|
|
18
|
+
compatibility_range: string | null;
|
|
19
|
+
permission_declarations: string[];
|
|
20
|
+
cli_mcp_checks: ExtensionCompatibilityCheck[];
|
|
21
|
+
sandbox_checks: ExtensionSandboxCheck[];
|
|
22
|
+
}
|
|
23
|
+
export interface ExtensionCompatibilityCheck {
|
|
24
|
+
surface: "cli" | "mcp" | "hook" | "permissions";
|
|
25
|
+
name: string;
|
|
26
|
+
ok: boolean;
|
|
27
|
+
errors: string[];
|
|
28
|
+
warnings: string[];
|
|
29
|
+
}
|
|
30
|
+
export interface ExtensionSandboxCheck {
|
|
31
|
+
command_name: string;
|
|
32
|
+
command: string;
|
|
33
|
+
allowed: boolean;
|
|
34
|
+
requires_approval: boolean;
|
|
35
|
+
reasons: string[];
|
|
36
|
+
audit_evidence: RunnerSandboxCheck["audit_evidence"];
|
|
37
|
+
}
|
|
38
|
+
export interface ExtensionCompatibilityReport {
|
|
39
|
+
source: string | null;
|
|
40
|
+
manifest: LocalExtensionManifest;
|
|
41
|
+
validation: ExtensionValidationResult;
|
|
42
|
+
ok: boolean;
|
|
43
|
+
summary: {
|
|
44
|
+
commands: number;
|
|
45
|
+
mcp_tools: number;
|
|
46
|
+
hooks: number;
|
|
47
|
+
permissions: number;
|
|
48
|
+
sandbox_checks: number;
|
|
49
|
+
failed_sandbox_checks: number;
|
|
50
|
+
};
|
|
51
|
+
errors: string[];
|
|
52
|
+
warnings: string[];
|
|
53
|
+
}
|
|
54
|
+
export interface InstallLocalExtensionInput {
|
|
55
|
+
source: string;
|
|
56
|
+
trust?: boolean;
|
|
57
|
+
checksum?: string;
|
|
58
|
+
signature?: string;
|
|
59
|
+
public_key?: string;
|
|
60
|
+
}
|
|
61
|
+
export interface VerifyExtensionSignatureInput {
|
|
62
|
+
checksum: string;
|
|
63
|
+
signature?: string;
|
|
64
|
+
public_key?: string;
|
|
65
|
+
}
|
|
66
|
+
export declare function verifyExtensionSignature(input: VerifyExtensionSignatureInput): boolean;
|
|
67
|
+
export declare function inspectExtensionSource(source: string): ExtensionSourceInspection;
|
|
68
|
+
export declare function validateExtensionManifest(manifest: LocalExtensionManifest): ExtensionValidationResult;
|
|
69
|
+
export declare function testExtensionCompatibility(sourceOrManifest: string | LocalExtensionManifest): ExtensionCompatibilityReport;
|
|
70
|
+
export declare function installLocalExtension(input: InstallLocalExtensionInput): LocalExtensionRecord;
|
|
71
|
+
export declare function listLocalExtensions(): LocalExtensionRecord[];
|
|
72
|
+
export declare function getLocalExtension(name: string): LocalExtensionRecord | null;
|
|
73
|
+
export declare function removeLocalExtension(name: string): boolean;
|
|
74
|
+
export declare function renderExtensionSummary(record: LocalExtensionRecord): string;
|
|
75
|
+
//# sourceMappingURL=local-extensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-extensions.d.ts","sourceRoot":"","sources":["../../src/lib/local-extensions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import { type LocalEventHookDispatchResult, type LocalEventType } from "./event-hooks.js";
|
|
3
|
+
import { type TerminalNotificationEvaluation } from "./terminal-notifications.js";
|
|
4
|
+
export declare const LOCAL_NOTIFICATION_SCHEMA_VERSION = 1;
|
|
5
|
+
export type LocalNotificationKind = "task_due" | "task_due_soon" | "task_sla" | "task_stale" | "run_completed" | "run_failed" | "calendar_reminder";
|
|
6
|
+
export type LocalNotificationSeverity = "info" | "warning" | "critical";
|
|
7
|
+
export interface LocalNotificationQuietHours {
|
|
8
|
+
start: string;
|
|
9
|
+
end: string;
|
|
10
|
+
timezone?: "utc" | "local";
|
|
11
|
+
}
|
|
12
|
+
export interface CheckLocalNotificationsInput {
|
|
13
|
+
project_id?: string;
|
|
14
|
+
agent_id?: string;
|
|
15
|
+
now?: string;
|
|
16
|
+
due_within_minutes?: number;
|
|
17
|
+
stale_minutes?: number;
|
|
18
|
+
run_since?: string;
|
|
19
|
+
include_runs?: boolean;
|
|
20
|
+
include_calendar?: boolean;
|
|
21
|
+
emit_hooks?: boolean;
|
|
22
|
+
evaluate_terminal?: boolean;
|
|
23
|
+
quiet_hours?: LocalNotificationQuietHours;
|
|
24
|
+
limit?: number;
|
|
25
|
+
}
|
|
26
|
+
export interface LocalNotificationAlert {
|
|
27
|
+
id: string;
|
|
28
|
+
kind: LocalNotificationKind;
|
|
29
|
+
event_type: LocalEventType;
|
|
30
|
+
severity: LocalNotificationSeverity;
|
|
31
|
+
title: string;
|
|
32
|
+
message: string;
|
|
33
|
+
task_id: string | null;
|
|
34
|
+
run_id: string | null;
|
|
35
|
+
project_id: string | null;
|
|
36
|
+
agent_id: string | null;
|
|
37
|
+
due_at: string | null;
|
|
38
|
+
triggered_at: string;
|
|
39
|
+
quieted: boolean;
|
|
40
|
+
payload: Record<string, unknown>;
|
|
41
|
+
}
|
|
42
|
+
export interface CheckLocalNotificationsResult {
|
|
43
|
+
schema_version: 1;
|
|
44
|
+
local_only: true;
|
|
45
|
+
checked_at: string;
|
|
46
|
+
quiet_hours: LocalNotificationQuietHours | null;
|
|
47
|
+
quiet_active: boolean;
|
|
48
|
+
alerts: LocalNotificationAlert[];
|
|
49
|
+
hook_results: LocalEventHookDispatchResult[];
|
|
50
|
+
terminal_evaluations: TerminalNotificationEvaluation[];
|
|
51
|
+
counts: Record<LocalNotificationKind, number>;
|
|
52
|
+
warnings: string[];
|
|
53
|
+
}
|
|
54
|
+
export declare function checkLocalNotifications(input?: CheckLocalNotificationsInput, db?: Database): Promise<CheckLocalNotificationsResult>;
|
|
55
|
+
//# sourceMappingURL=local-notifications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-notifications.d.ts","sourceRoot":"","sources":["../../src/lib/local-notifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK3C,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,6BAA6B,CAAC;AAGrC,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAC7B,UAAU,GACV,eAAe,GACf,UAAU,GACV,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,mBAAmB,CAAC;AAExB,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAQxE,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,qBAAqB,CAAC;IAC5B,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,yBAAyB,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,CAAC,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAChD,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,YAAY,EAAE,4BAA4B,EAAE,CAAC;IAC7C,oBAAoB,EAAE,8BAA8B,EAAE,CAAC;IACvD,MAAM,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA6ID,wBAAsB,uBAAuB,CAAC,KAAK,GAAE,4BAAiC,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAkF7I"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
export declare const TODOS_LOCAL_SNAPSHOT_SCHEMA_VERSION = 1;
|
|
3
|
+
export type LocalSnapshotType = "projects" | "tasks" | "plans" | "runs" | "dependencies" | "events" | "evidence";
|
|
4
|
+
export interface LocalSnapshotCatalogEntry {
|
|
5
|
+
type: LocalSnapshotType;
|
|
6
|
+
uri: string;
|
|
7
|
+
title: string;
|
|
8
|
+
description: string;
|
|
9
|
+
json_contract: "local_snapshot";
|
|
10
|
+
}
|
|
11
|
+
export interface LocalSnapshotOptions {
|
|
12
|
+
type: LocalSnapshotType;
|
|
13
|
+
project_id?: string;
|
|
14
|
+
generatedAt?: string;
|
|
15
|
+
limit?: number;
|
|
16
|
+
since?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface LocalSnapshot {
|
|
19
|
+
schema_version: typeof TODOS_LOCAL_SNAPSHOT_SCHEMA_VERSION;
|
|
20
|
+
kind: "hasna.todos.local-snapshot";
|
|
21
|
+
type: LocalSnapshotType;
|
|
22
|
+
local_only: true;
|
|
23
|
+
no_network: true;
|
|
24
|
+
redacted: true;
|
|
25
|
+
generated_at: string;
|
|
26
|
+
package: {
|
|
27
|
+
packageName: "@hasna/todos";
|
|
28
|
+
repository: "hasna/todos";
|
|
29
|
+
version: string;
|
|
30
|
+
};
|
|
31
|
+
filters: {
|
|
32
|
+
project_id: string | null;
|
|
33
|
+
since: string | null;
|
|
34
|
+
limit: number;
|
|
35
|
+
};
|
|
36
|
+
cursor: string;
|
|
37
|
+
fingerprint: string;
|
|
38
|
+
count: number;
|
|
39
|
+
items: unknown[];
|
|
40
|
+
resources: {
|
|
41
|
+
self: string;
|
|
42
|
+
poll_tool: "poll_local_snapshots";
|
|
43
|
+
markdown_tool: "get_local_snapshot";
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export interface LocalSnapshotPollResult {
|
|
47
|
+
schema_version: 1;
|
|
48
|
+
local_only: true;
|
|
49
|
+
no_network: true;
|
|
50
|
+
generated_at: string;
|
|
51
|
+
since: string | null;
|
|
52
|
+
cursor: string;
|
|
53
|
+
changed: boolean;
|
|
54
|
+
snapshots: LocalSnapshot[];
|
|
55
|
+
}
|
|
56
|
+
export declare function listLocalSnapshotResources(): LocalSnapshotCatalogEntry[];
|
|
57
|
+
export declare function getLocalSnapshot(options: LocalSnapshotOptions, db?: Database): LocalSnapshot;
|
|
58
|
+
export declare function pollLocalSnapshots(options?: {
|
|
59
|
+
types?: LocalSnapshotType[];
|
|
60
|
+
project_id?: string;
|
|
61
|
+
since?: string;
|
|
62
|
+
generatedAt?: string;
|
|
63
|
+
limit?: number;
|
|
64
|
+
}, db?: Database): LocalSnapshotPollResult;
|
|
65
|
+
export declare function renderLocalSnapshotMarkdown(snapshot: LocalSnapshot): string;
|
|
66
|
+
//# sourceMappingURL=local-snapshots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-snapshots.d.ts","sourceRoot":"","sources":["../../src/lib/local-snapshots.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAM3C,eAAO,MAAM,mCAAmC,IAAI,CAAC;AAErD,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,OAAO,GACP,OAAO,GACP,MAAM,GACN,cAAc,GACd,QAAQ,GACR,UAAU,CAAC;AAEf,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,iBAAiB,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,gBAAgB,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,OAAO,mCAAmC,CAAC;IAC3D,IAAI,EAAE,4BAA4B,CAAC;IACnC,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE;QACP,WAAW,EAAE,cAAc,CAAC;QAC5B,UAAU,EAAE,aAAa,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,sBAAsB,CAAC;QAClC,aAAa,EAAE,oBAAoB,CAAC;KACrC,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,CAAC,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AA6OD,wBAAgB,0BAA0B,IAAI,yBAAyB,EAAE,CAExE;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,oBAAoB,EAC7B,EAAE,CAAC,EAAE,QAAQ,GACZ,aAAa,CAsCf;AAED,wBAAgB,kBAAkB,CAChC,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CACX,EACN,EAAE,CAAC,EAAE,QAAQ,GACZ,uBAAuB,CAsBzB;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAqB3E"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
export type MentionReferenceKind = "file" | "symbol" | "commit" | "branch" | "pull_request" | "plan" | "run" | "agent" | "task" | "unknown";
|
|
3
|
+
export interface MentionResolverInput {
|
|
4
|
+
mentions: string[];
|
|
5
|
+
workspace?: string;
|
|
6
|
+
include_symbol_context?: boolean;
|
|
7
|
+
max_symbol_matches?: number;
|
|
8
|
+
now?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface MentionBacklink {
|
|
11
|
+
kind: MentionReferenceKind;
|
|
12
|
+
key: string;
|
|
13
|
+
label: string;
|
|
14
|
+
target: string;
|
|
15
|
+
}
|
|
16
|
+
export interface MentionResolution {
|
|
17
|
+
input: string;
|
|
18
|
+
kind: MentionReferenceKind;
|
|
19
|
+
target: string;
|
|
20
|
+
resolved: boolean;
|
|
21
|
+
canonical: string | null;
|
|
22
|
+
title: string | null;
|
|
23
|
+
path: string | null;
|
|
24
|
+
line: number | null;
|
|
25
|
+
column: number | null;
|
|
26
|
+
symbol: string | null;
|
|
27
|
+
id: string | null;
|
|
28
|
+
sha: string | null;
|
|
29
|
+
backlinks: MentionBacklink[];
|
|
30
|
+
warnings: string[];
|
|
31
|
+
}
|
|
32
|
+
export interface MentionResolutionReport {
|
|
33
|
+
schema_version: 1;
|
|
34
|
+
local_only: true;
|
|
35
|
+
no_network: true;
|
|
36
|
+
generated_at: string;
|
|
37
|
+
workspace: string;
|
|
38
|
+
references: MentionResolution[];
|
|
39
|
+
backlinks: MentionBacklink[];
|
|
40
|
+
warnings: string[];
|
|
41
|
+
}
|
|
42
|
+
export declare function resolveMentions(input: MentionResolverInput, db?: Database): MentionResolutionReport;
|
|
43
|
+
//# sourceMappingURL=mention-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mention-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/mention-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAS3C,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,cAAc,GACd,MAAM,GACN,KAAK,GACL,OAAO,GACP,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,oBAAoB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,CAAC,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAiZD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,uBAAuB,CAkCnG"}
|