@hasna/todos 0.11.40 → 0.11.42
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 +527 -1
- package/dashboard/dist/assets/{index-B-w1tUlm.js → index-CVF1vn7Z.js} +23 -23
- package/dashboard/dist/assets/index-DJm6m6Yy.css +1 -0
- package/dashboard/dist/index.html +2 -2
- package/dist/cli/commands/agent-commands.d.ts.map +1 -1
- package/dist/cli/commands/config-serve-commands.d.ts.map +1 -1
- package/dist/cli/commands/mcp-hooks-commands.d.ts.map +1 -1
- package/dist/cli/commands/plan-template-commands.d.ts.map +1 -1
- 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/index.js +17662 -8245
- package/dist/cli-mcp-parity.d.ts +41 -0
- package/dist/cli-mcp-parity.d.ts.map +1 -0
- package/dist/contracts.d.ts +4 -0
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +6396 -24
- package/dist/db/database.d.ts +2 -1
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/handoffs.d.ts +27 -1
- package/dist/db/handoffs.d.ts.map +1 -1
- package/dist/db/inbox.d.ts +47 -0
- package/dist/db/inbox.d.ts.map +1 -0
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/plans.d.ts.map +1 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/db/task-commits.d.ts +51 -0
- package/dist/db/task-commits.d.ts.map +1 -1
- package/dist/db/task-crud.d.ts.map +1 -1
- package/dist/db/task-lifecycle.d.ts +16 -1
- package/dist/db/task-lifecycle.d.ts.map +1 -1
- package/dist/db/task-runs.d.ts +130 -0
- package/dist/db/task-runs.d.ts.map +1 -0
- package/dist/db/tasks.d.ts +2 -2
- package/dist/db/tasks.d.ts.map +1 -1
- package/dist/index.d.ts +49 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13353 -6350
- package/dist/json-contracts.d.ts.map +1 -1
- package/dist/lib/activity-timeline.d.ts +43 -0
- package/dist/lib/activity-timeline.d.ts.map +1 -0
- package/dist/lib/agent-run-dispatcher.d.ts +62 -0
- package/dist/lib/agent-run-dispatcher.d.ts.map +1 -0
- package/dist/lib/approval-gates.d.ts +52 -0
- package/dist/lib/approval-gates.d.ts.map +1 -0
- package/dist/lib/artifact-store.d.ts +68 -0
- package/dist/lib/artifact-store.d.ts.map +1 -0
- package/dist/lib/auto-assign.d.ts +3 -5
- package/dist/lib/auto-assign.d.ts.map +1 -1
- package/dist/lib/config.d.ts +121 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/context-packs.d.ts +140 -0
- package/dist/lib/context-packs.d.ts.map +1 -0
- package/dist/lib/doctor.d.ts +46 -0
- package/dist/lib/doctor.d.ts.map +1 -0
- package/dist/lib/event-hooks.d.ts +58 -0
- package/dist/lib/event-hooks.d.ts.map +1 -0
- package/dist/lib/local-bridge.d.ts +79 -0
- package/dist/lib/local-bridge.d.ts.map +1 -0
- package/dist/lib/local-encryption.d.ts +94 -0
- package/dist/lib/local-encryption.d.ts.map +1 -0
- package/dist/lib/local-fields.d.ts +33 -0
- package/dist/lib/local-fields.d.ts.map +1 -0
- package/dist/lib/policy-packs.d.ts +87 -0
- package/dist/lib/policy-packs.d.ts.map +1 -0
- package/dist/lib/project-bootstrap.d.ts +35 -0
- package/dist/lib/project-bootstrap.d.ts.map +1 -0
- package/dist/lib/public-release-gate.d.ts +50 -0
- package/dist/lib/public-release-gate.d.ts.map +1 -0
- package/dist/lib/redaction.d.ts +3 -0
- package/dist/lib/redaction.d.ts.map +1 -0
- package/dist/lib/runner-sandbox.d.ts +50 -0
- package/dist/lib/runner-sandbox.d.ts.map +1 -0
- package/dist/lib/saved-search-views.d.ts +60 -0
- package/dist/lib/saved-search-views.d.ts.map +1 -0
- package/dist/lib/task-contracts.d.ts +75 -0
- package/dist/lib/task-contracts.d.ts.map +1 -0
- package/dist/lib/task-dedupe.d.ts +45 -0
- package/dist/lib/task-dedupe.d.ts.map +1 -0
- package/dist/lib/todos-md.d.ts +21 -0
- package/dist/lib/todos-md.d.ts.map +1 -0
- package/dist/lib/verification-providers.d.ts +54 -0
- package/dist/lib/verification-providers.d.ts.map +1 -0
- package/dist/lib/workspace-trust.d.ts +38 -0
- package/dist/lib/workspace-trust.d.ts.map +1 -0
- package/dist/mcp/index.js +9717 -3197
- package/dist/mcp/token-utils.d.ts +2 -2
- package/dist/mcp/token-utils.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-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/task-workflow-tools.d.ts.map +1 -1
- package/dist/mcp.js +88 -2
- package/dist/registry.d.ts +2 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +7061 -60
- package/dist/release-provenance.json +7 -0
- package/dist/sdk/types.d.ts +26 -1
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/server/index.js +1330 -129
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/storage.js +1054 -15
- package/dist/test/no-network.d.ts +7 -0
- package/dist/test/no-network.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +10 -4
- package/dashboard/dist/assets/index-BXQ39iMX.css +0 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
export type TaskRiskLevel = "low" | "medium" | "high" | "critical";
|
|
3
|
+
export type TaskReviewState = "none" | "requested" | "approved" | "changes_requested" | "reopened";
|
|
4
|
+
export type RecordableTaskReviewState = Exclude<TaskReviewState, "none" | "requested">;
|
|
5
|
+
export interface SetTaskContractInput {
|
|
6
|
+
task_id: string;
|
|
7
|
+
acceptance_criteria?: string[];
|
|
8
|
+
verification_commands?: string[];
|
|
9
|
+
expected_artifacts?: string[];
|
|
10
|
+
relevant_files?: string[];
|
|
11
|
+
risk_level?: TaskRiskLevel;
|
|
12
|
+
done_definition?: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface TaskContract {
|
|
15
|
+
task_id: string;
|
|
16
|
+
acceptance_criteria: string[];
|
|
17
|
+
verification_commands: string[];
|
|
18
|
+
expected_artifacts: string[];
|
|
19
|
+
relevant_files: string[];
|
|
20
|
+
risk_level: TaskRiskLevel | null;
|
|
21
|
+
done_definition: string[];
|
|
22
|
+
updated_at: string;
|
|
23
|
+
}
|
|
24
|
+
export interface RequestTaskReviewInput {
|
|
25
|
+
task_id: string;
|
|
26
|
+
requester: string;
|
|
27
|
+
reviewer?: string;
|
|
28
|
+
notes?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface RecordTaskReviewInput {
|
|
31
|
+
task_id: string;
|
|
32
|
+
state: RecordableTaskReviewState;
|
|
33
|
+
reviewer: string;
|
|
34
|
+
notes?: string;
|
|
35
|
+
changes_requested?: string[];
|
|
36
|
+
}
|
|
37
|
+
export interface TaskReviewHistoryEntry {
|
|
38
|
+
state: Exclude<TaskReviewState, "none">;
|
|
39
|
+
actor: string;
|
|
40
|
+
notes: string | null;
|
|
41
|
+
changes_requested: string[];
|
|
42
|
+
at: string;
|
|
43
|
+
}
|
|
44
|
+
export interface TaskReview {
|
|
45
|
+
task_id: string;
|
|
46
|
+
state: TaskReviewState;
|
|
47
|
+
requester: string | null;
|
|
48
|
+
reviewer: string | null;
|
|
49
|
+
notes: string | null;
|
|
50
|
+
changes_requested: string[];
|
|
51
|
+
requested_at: string | null;
|
|
52
|
+
reviewed_at: string | null;
|
|
53
|
+
history: TaskReviewHistoryEntry[];
|
|
54
|
+
}
|
|
55
|
+
export interface TaskDoneContractResult {
|
|
56
|
+
ok: boolean;
|
|
57
|
+
task_id: string;
|
|
58
|
+
missing: string[];
|
|
59
|
+
contract: TaskContract;
|
|
60
|
+
review: TaskReview;
|
|
61
|
+
evidence: {
|
|
62
|
+
task_status: string;
|
|
63
|
+
acceptance_criteria: number;
|
|
64
|
+
passed_verifications: string[];
|
|
65
|
+
artifacts: string[];
|
|
66
|
+
review_state: TaskReviewState;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export declare function setTaskContract(input: SetTaskContractInput, db?: Database): TaskContract;
|
|
70
|
+
export declare function getTaskContract(taskId: string, db?: Database): TaskContract | null;
|
|
71
|
+
export declare function requestTaskReview(input: RequestTaskReviewInput, db?: Database): TaskReview;
|
|
72
|
+
export declare function recordTaskReview(input: RecordTaskReviewInput, db?: Database): TaskReview;
|
|
73
|
+
export declare function getTaskReview(taskId: string, db?: Database): TaskReview | null;
|
|
74
|
+
export declare function checkTaskDoneContract(taskId: string, db?: Database): TaskDoneContractResult;
|
|
75
|
+
//# sourceMappingURL=task-contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-contracts.d.ts","sourceRoot":"","sources":["../../src/lib/task-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { Task } from "../types/index.js";
|
|
3
|
+
export interface FindDuplicateTasksOptions {
|
|
4
|
+
threshold?: number;
|
|
5
|
+
limit?: number;
|
|
6
|
+
include_archived?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface DuplicateTaskCandidate {
|
|
9
|
+
primary_task: Task;
|
|
10
|
+
duplicate_task: Task;
|
|
11
|
+
score: number;
|
|
12
|
+
reasons: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface MergeDuplicateTaskInput {
|
|
15
|
+
primary_task_id: string;
|
|
16
|
+
duplicate_task_id: string;
|
|
17
|
+
agent_id?: string;
|
|
18
|
+
reason?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface TaskMergeMovedCounts {
|
|
21
|
+
comments: number;
|
|
22
|
+
dependencies: number;
|
|
23
|
+
dependents: number;
|
|
24
|
+
runs: number;
|
|
25
|
+
run_events: number;
|
|
26
|
+
run_commands: number;
|
|
27
|
+
run_artifacts: number;
|
|
28
|
+
files: number;
|
|
29
|
+
inbox_items: number;
|
|
30
|
+
verifications: number;
|
|
31
|
+
history: number;
|
|
32
|
+
relationships: number;
|
|
33
|
+
git_refs: number;
|
|
34
|
+
commits: number;
|
|
35
|
+
checklists: number;
|
|
36
|
+
}
|
|
37
|
+
export interface TaskMergeResult {
|
|
38
|
+
primary_task: Task;
|
|
39
|
+
archived_duplicate: Task;
|
|
40
|
+
relationship_id: string;
|
|
41
|
+
moved: TaskMergeMovedCounts;
|
|
42
|
+
}
|
|
43
|
+
export declare function findDuplicateTasks(options?: FindDuplicateTasksOptions, db?: Database): DuplicateTaskCandidate[];
|
|
44
|
+
export declare function mergeDuplicateTask(input: MergeDuplicateTaskInput, db?: Database): TaskMergeResult;
|
|
45
|
+
//# sourceMappingURL=task-dedupe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-dedupe.d.ts","sourceRoot":"","sources":["../../src/lib/task-dedupe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAM9C,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,IAAI,CAAC;IACnB,cAAc,EAAE,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,IAAI,CAAC;IACnB,kBAAkB,EAAE,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAqND,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,sBAAsB,EAAE,CAqBnH;AAqJD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,eAAe,CAiGjG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import { type ExportLocalBridgeOptions, type ImportLocalBridgeOptions, type LocalBridgeImportResult, type TodosLocalBridgeData } from "./local-bridge.js";
|
|
3
|
+
export declare const TODOS_MARKDOWN_SCHEMA = "hasna.todos.md/v1";
|
|
4
|
+
export declare const TODOS_MARKDOWN_BRIDGE_MARKER = "hasna.todos.bridge";
|
|
5
|
+
export interface ImportTodosMarkdownOptions {
|
|
6
|
+
dryRun?: boolean;
|
|
7
|
+
conflictStrategy?: ImportLocalBridgeOptions["conflictStrategy"];
|
|
8
|
+
}
|
|
9
|
+
export interface TodosMarkdownImportResult {
|
|
10
|
+
ok: boolean;
|
|
11
|
+
dry_run: boolean;
|
|
12
|
+
mode: "embedded_bridge" | "plain_markdown";
|
|
13
|
+
inserted: Record<keyof TodosLocalBridgeData, number>;
|
|
14
|
+
merged: Record<keyof TodosLocalBridgeData, number>;
|
|
15
|
+
skipped: Record<keyof TodosLocalBridgeData, number>;
|
|
16
|
+
conflicts: LocalBridgeImportResult["conflicts"];
|
|
17
|
+
issues: string[];
|
|
18
|
+
}
|
|
19
|
+
export declare function exportTodosMarkdown(options?: ExportLocalBridgeOptions, db?: Database): string;
|
|
20
|
+
export declare function importTodosMarkdown(markdown: string, options?: ImportTodosMarkdownOptions, db?: Database): TodosMarkdownImportResult;
|
|
21
|
+
//# sourceMappingURL=todos-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"todos-md.d.ts","sourceRoot":"","sources":["../../src/lib/todos-md.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQ3C,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAE5B,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AAEjE,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC,MAAM,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC,MAAM,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC,MAAM,oBAAoB,EAAE,MAAM,CAAC,CAAC;IACpD,SAAS,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAsID,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,wBAA6B,EACtC,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAqDR;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,0BAA+B,EACxC,EAAE,CAAC,EAAE,QAAQ,GACZ,yBAAyB,CA4E3B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import { type VerificationProviderConfig, type VerificationProviderKind, type VerificationProviderRetryConfig } from "./config.js";
|
|
3
|
+
export type VerificationProviderStatus = "passed" | "failed" | "unknown";
|
|
4
|
+
export interface UpsertVerificationProviderInput {
|
|
5
|
+
name: string;
|
|
6
|
+
kind: VerificationProviderKind;
|
|
7
|
+
command?: string;
|
|
8
|
+
cwd?: string;
|
|
9
|
+
env?: Record<string, string>;
|
|
10
|
+
capabilities?: string[];
|
|
11
|
+
retry?: VerificationProviderRetryConfig;
|
|
12
|
+
timeout_ms?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface VerificationProviderCapabilities {
|
|
15
|
+
name: string;
|
|
16
|
+
kind: VerificationProviderKind;
|
|
17
|
+
configured: boolean;
|
|
18
|
+
local_only: true;
|
|
19
|
+
network_required: false;
|
|
20
|
+
capabilities: string[];
|
|
21
|
+
retry: Required<VerificationProviderRetryConfig>;
|
|
22
|
+
}
|
|
23
|
+
export interface RunVerificationProviderInput {
|
|
24
|
+
name: string;
|
|
25
|
+
task_id?: string;
|
|
26
|
+
agent_id?: string;
|
|
27
|
+
command?: string;
|
|
28
|
+
cwd?: string;
|
|
29
|
+
env?: Record<string, string>;
|
|
30
|
+
log_text?: string;
|
|
31
|
+
log_path?: string;
|
|
32
|
+
url?: string;
|
|
33
|
+
artifact_path?: string;
|
|
34
|
+
metadata?: Record<string, unknown>;
|
|
35
|
+
}
|
|
36
|
+
export interface VerificationProviderResult {
|
|
37
|
+
provider: string;
|
|
38
|
+
kind: VerificationProviderKind;
|
|
39
|
+
status: VerificationProviderStatus;
|
|
40
|
+
command: string;
|
|
41
|
+
attempts: number;
|
|
42
|
+
exit_code: number | null;
|
|
43
|
+
output_summary: string | null;
|
|
44
|
+
artifact_path: string | null;
|
|
45
|
+
run_at: string;
|
|
46
|
+
task_id: string | null;
|
|
47
|
+
metadata: Record<string, unknown>;
|
|
48
|
+
}
|
|
49
|
+
export declare function upsertVerificationProvider(input: UpsertVerificationProviderInput): VerificationProviderConfig;
|
|
50
|
+
export declare function listVerificationProviders(): VerificationProviderConfig[];
|
|
51
|
+
export declare function removeVerificationProvider(name: string): boolean;
|
|
52
|
+
export declare function discoverVerificationProviderCapabilities(name: string): VerificationProviderCapabilities;
|
|
53
|
+
export declare function runVerificationProvider(input: RunVerificationProviderInput, db?: Database): Promise<VerificationProviderResult>;
|
|
54
|
+
//# sourceMappingURL=verification-providers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-providers.d.ts","sourceRoot":"","sources":["../../src/lib/verification-providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAK3C,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACrC,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,0BAA0B,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEzE,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,+BAA+B,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,wBAAwB,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,IAAI,CAAC;IACjB,gBAAgB,EAAE,KAAK,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,QAAQ,CAAC,+BAA+B,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,wBAAwB,CAAC;IAC/B,MAAM,EAAE,0BAA0B,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAuCD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,+BAA+B,GAAG,0BAA0B,CA0B7G;AAED,wBAAgB,yBAAyB,IAAI,0BAA0B,EAAE,CAExE;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQhE;AAED,wBAAgB,wCAAwC,CAAC,IAAI,EAAE,MAAM,GAAG,gCAAgC,CAYvG;AA8GD,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,0BAA0B,CAAC,CA8CrI"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type WorkspacePermissionPreset, type WorkspaceTrustProfile } from "./config.js";
|
|
2
|
+
export interface UpsertWorkspaceTrustInput {
|
|
3
|
+
root: string;
|
|
4
|
+
trusted?: boolean;
|
|
5
|
+
preset?: WorkspacePermissionPreset;
|
|
6
|
+
command_allowlist?: string[];
|
|
7
|
+
command_denylist?: string[];
|
|
8
|
+
tool_permissions?: string[];
|
|
9
|
+
write_scopes?: string[];
|
|
10
|
+
env_redactions?: string[];
|
|
11
|
+
require_prompt_for_unsafe?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface WorkspaceTrustStatus {
|
|
14
|
+
root: string;
|
|
15
|
+
trusted: boolean;
|
|
16
|
+
matched_root: string | null;
|
|
17
|
+
profile: WorkspaceTrustProfile;
|
|
18
|
+
}
|
|
19
|
+
export interface WorkspacePermissionCheckInput {
|
|
20
|
+
path?: string;
|
|
21
|
+
command?: string;
|
|
22
|
+
tool?: string;
|
|
23
|
+
write_path?: string;
|
|
24
|
+
env?: Record<string, string | undefined>;
|
|
25
|
+
}
|
|
26
|
+
export interface WorkspacePermissionCheck {
|
|
27
|
+
allowed: boolean;
|
|
28
|
+
requires_prompt: boolean;
|
|
29
|
+
reasons: string[];
|
|
30
|
+
status: WorkspaceTrustStatus;
|
|
31
|
+
redacted_env_keys: string[];
|
|
32
|
+
}
|
|
33
|
+
export declare function listWorkspaceTrustProfiles(): WorkspaceTrustProfile[];
|
|
34
|
+
export declare function getWorkspaceTrustStatus(path?: string): WorkspaceTrustStatus;
|
|
35
|
+
export declare function upsertWorkspaceTrustProfile(input: UpsertWorkspaceTrustInput): WorkspaceTrustProfile;
|
|
36
|
+
export declare function removeWorkspaceTrustProfile(root: string): boolean;
|
|
37
|
+
export declare function checkWorkspacePermission(input?: WorkspacePermissionCheckInput): WorkspacePermissionCheck;
|
|
38
|
+
//# sourceMappingURL=workspace-trust.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-trust.d.ts","sourceRoot":"","sources":["../../src/lib/workspace-trust.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,qBAAqB,CAAC;CAChC;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AA2FD,wBAAgB,0BAA0B,IAAI,qBAAqB,EAAE,CAEpE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,SAAgB,GAAG,oBAAoB,CASlF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,yBAAyB,GAAG,qBAAqB,CA+BnG;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQjE;AAgBD,wBAAgB,wBAAwB,CAAC,KAAK,GAAE,6BAAkC,GAAG,wBAAwB,CA6B5G"}
|