@hasna/todos 0.15.5 → 0.15.7
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/dist/cli/cloud-router.d.ts.map +1 -1
- package/dist/cli/commands/task-commands.d.ts.map +1 -1
- package/dist/cli/index.js +3086 -1332
- package/dist/contracts.js +213 -3
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/schema.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1950 -26
- package/dist/lib/comment-cursor.d.ts +40 -0
- package/dist/lib/comment-cursor.d.ts.map +1 -0
- package/dist/mcp/index.js +2096 -391
- package/dist/mcp.js +7 -3
- package/dist/project-registration/authority.d.ts +45 -0
- package/dist/project-registration/authority.d.ts.map +1 -0
- package/dist/project-registration/backend.d.ts +83 -0
- package/dist/project-registration/backend.d.ts.map +1 -0
- package/dist/project-registration/http.d.ts +24 -0
- package/dist/project-registration/http.d.ts.map +1 -0
- package/dist/project-registration/index.d.ts +8 -0
- package/dist/project-registration/index.d.ts.map +1 -0
- package/dist/project-registration/postgres.d.ts +30 -0
- package/dist/project-registration/postgres.d.ts.map +1 -0
- package/dist/project-registration/schema.d.ts +3 -0
- package/dist/project-registration/schema.d.ts.map +1 -0
- package/dist/project-registration/sqlite.d.ts +17 -0
- package/dist/project-registration/sqlite.d.ts.map +1 -0
- package/dist/project-registration/types.d.ts +155 -0
- package/dist/project-registration/types.d.ts.map +1 -0
- package/dist/project-registration.d.ts +2 -0
- package/dist/project-registration.d.ts.map +1 -0
- package/dist/project-registration.js +17689 -0
- package/dist/registry.d.ts +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +220 -3
- package/dist/release-provenance.json +5 -5
- package/dist/server/cloud.d.ts +3 -0
- package/dist/server/cloud.d.ts.map +1 -1
- package/dist/server/index.js +4386 -2681
- package/dist/server/v1.d.ts +2 -1
- package/dist/server/v1.d.ts.map +1 -1
- package/dist/storage.js +206 -0
- package/package.json +7 -3
package/dist/mcp.js
CHANGED
|
@@ -41,7 +41,7 @@ var __require = import.meta.require;
|
|
|
41
41
|
// package.json
|
|
42
42
|
var package_default = {
|
|
43
43
|
name: "@hasna/todos",
|
|
44
|
-
version: "0.15.
|
|
44
|
+
version: "0.15.7",
|
|
45
45
|
description: "Universal task management for AI coding agents - CLI + MCP server + interactive TUI",
|
|
46
46
|
type: "module",
|
|
47
47
|
main: "dist/index.js",
|
|
@@ -79,6 +79,10 @@ var package_default = {
|
|
|
79
79
|
"./testing": {
|
|
80
80
|
types: "./dist/testing.d.ts",
|
|
81
81
|
import: "./dist/testing.js"
|
|
82
|
+
},
|
|
83
|
+
"./project-registration": {
|
|
84
|
+
types: "./dist/project-registration.d.ts",
|
|
85
|
+
import: "./dist/project-registration.js"
|
|
82
86
|
}
|
|
83
87
|
},
|
|
84
88
|
workspaces: [
|
|
@@ -91,8 +95,8 @@ var package_default = {
|
|
|
91
95
|
"README.md"
|
|
92
96
|
],
|
|
93
97
|
scripts: {
|
|
94
|
-
build: "rm -rf dist dashboard/dist && cd dashboard && bun install --frozen-lockfile && bun run build && cd .. && bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/mcp/index.ts --outdir dist/mcp --target bun --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/server/index.ts --outdir dist/server --target bun && bun build src/sdk/index.ts --outdir dist/sdk --target bun --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/index.ts src/mcp.ts src/registry.ts src/contracts.ts src/storage.ts src/testing.ts --outdir dist --target bun --external '@hasna/contracts' --external '@hasna/contracts/*' && tsc --emitDeclarationOnly --outDir dist",
|
|
95
|
-
"build:server": "rm -rf dist && bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/mcp/index.ts --outdir dist/mcp --target bun --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/server/index.ts --outdir dist/server --target bun && bun build src/sdk/index.ts --outdir dist/sdk --target bun --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/index.ts src/mcp.ts src/registry.ts src/contracts.ts src/storage.ts src/testing.ts --outdir dist --target bun --external '@hasna/contracts' --external '@hasna/contracts/*'",
|
|
98
|
+
build: "rm -rf dist dashboard/dist && cd dashboard && bun install --frozen-lockfile && bun run build && cd .. && bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/mcp/index.ts --outdir dist/mcp --target bun --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/server/index.ts --outdir dist/server --target bun && bun build src/sdk/index.ts --outdir dist/sdk --target bun --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/index.ts src/mcp.ts src/registry.ts src/contracts.ts src/storage.ts src/testing.ts src/project-registration.ts --outdir dist --target bun --external '@hasna/contracts' --external '@hasna/contracts/*' && tsc --emitDeclarationOnly --outDir dist",
|
|
99
|
+
"build:server": "rm -rf dist && bun build src/cli/index.tsx --outdir dist/cli --target bun --external ink --external react --external chalk --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/mcp/index.ts --outdir dist/mcp --target bun --external @modelcontextprotocol/sdk --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/server/index.ts --outdir dist/server --target bun && bun build src/sdk/index.ts --outdir dist/sdk --target bun --external '@hasna/contracts' --external '@hasna/contracts/*' && bun build src/index.ts src/mcp.ts src/registry.ts src/contracts.ts src/storage.ts src/testing.ts src/project-registration.ts --outdir dist --target bun --external '@hasna/contracts' --external '@hasna/contracts/*'",
|
|
96
100
|
migrate: "bun run src/server/index.ts migrate",
|
|
97
101
|
"backfill:comment-redaction": "bun run src/server/index.ts redact-comments",
|
|
98
102
|
"generate:sdk": "bun run scripts/generate-sdk.ts",
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { TodosProjectRegistrationBackend } from "./backend.js";
|
|
3
|
+
import { type PostgresTodosProjectRegistrationBackendOptions, type TodosProjectRegistrationPostgresClient } from "./postgres.js";
|
|
4
|
+
import { type TodosProjectRegistrationAuthority, type TodosProjectRegistrationAuthorityOptions, type TodosProjectRegistrationCapability, type TodosProjectRegistrationDirection, type TodosProjectRegistrationInverseVerification, type TodosProjectRegistrationLookupRequest, type TodosProjectRegistrationLookupResult, type TodosProjectRegistrationReceipt, type TodosProjectRegistrationRecord, type TodosProjectRegistrationRequest, type TodosProjectRegistrationResourceKind } from "./types.js";
|
|
5
|
+
export declare function canonicalProjectRegistrationJson(value: unknown): string;
|
|
6
|
+
export declare function digestProjectRegistrationValue(value: unknown): string;
|
|
7
|
+
export declare function deriveTodosProjectRegistrationIdempotencyKey(input: {
|
|
8
|
+
operation_id: string;
|
|
9
|
+
step_id: string;
|
|
10
|
+
direction: TodosProjectRegistrationDirection;
|
|
11
|
+
target_selector: string;
|
|
12
|
+
request_digest: string;
|
|
13
|
+
precondition_digest: string;
|
|
14
|
+
}): string;
|
|
15
|
+
export declare class PackageOwnedTodosProjectRegistrationAuthority implements TodosProjectRegistrationAuthority {
|
|
16
|
+
private readonly backend;
|
|
17
|
+
readonly authority: "todos";
|
|
18
|
+
private readonly capabilityValue;
|
|
19
|
+
private readonly now;
|
|
20
|
+
private readonly faultInjector?;
|
|
21
|
+
constructor(backend: TodosProjectRegistrationBackend, options?: TodosProjectRegistrationAuthorityOptions);
|
|
22
|
+
capability(): Promise<TodosProjectRegistrationCapability>;
|
|
23
|
+
private fault;
|
|
24
|
+
private afterCommit;
|
|
25
|
+
private duplicateFor;
|
|
26
|
+
private terminalFor;
|
|
27
|
+
private existingForwardResolution;
|
|
28
|
+
private createObject;
|
|
29
|
+
create(request: TodosProjectRegistrationRequest): Promise<TodosProjectRegistrationReceipt>;
|
|
30
|
+
private recordWriteFailure;
|
|
31
|
+
readExact(request: {
|
|
32
|
+
resource_kind: TodosProjectRegistrationResourceKind;
|
|
33
|
+
target_id: string;
|
|
34
|
+
target: unknown;
|
|
35
|
+
response_byte_limit: number;
|
|
36
|
+
time_budget_ms: number;
|
|
37
|
+
}): Promise<TodosProjectRegistrationRecord>;
|
|
38
|
+
lookupReceipt(request: TodosProjectRegistrationLookupRequest): Promise<TodosProjectRegistrationLookupResult>;
|
|
39
|
+
private storedAcceptedReceipt;
|
|
40
|
+
compensate(request: TodosProjectRegistrationRequest): Promise<TodosProjectRegistrationReceipt>;
|
|
41
|
+
verifyInverse(request: TodosProjectRegistrationRequest): Promise<TodosProjectRegistrationInverseVerification>;
|
|
42
|
+
}
|
|
43
|
+
export declare function createLocalTodosProjectRegistrationAuthority(db: Database, options?: TodosProjectRegistrationAuthorityOptions): TodosProjectRegistrationAuthority;
|
|
44
|
+
export declare function createPostgresTodosProjectRegistrationAuthority(client: TodosProjectRegistrationPostgresClient, options?: TodosProjectRegistrationAuthorityOptions & PostgresTodosProjectRegistrationBackendOptions): TodosProjectRegistrationAuthority;
|
|
45
|
+
//# sourceMappingURL=authority.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../../src/project-registration/authority.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,OAAO,KAAK,EAEV,+BAA+B,EAIhC,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,KAAK,8CAA8C,EACnD,KAAK,sCAAsC,EAC5C,MAAM,eAAe,CAAC;AAEvB,OAAO,EAIL,KAAK,iCAAiC,EACtC,KAAK,wCAAwC,EAE7C,KAAK,kCAAkC,EACvC,KAAK,iCAAiC,EAEtC,KAAK,2CAA2C,EAChD,KAAK,qCAAqC,EAC1C,KAAK,oCAAoC,EACzC,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EAC1C,MAAM,YAAY,CAAC;AAmBpB,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEvE;AAaD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAIrE;AAED,wBAAgB,4CAA4C,CAAC,KAAK,EAAE;IAClE,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,iCAAiC,CAAC;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,GAAG,MAAM,CAKT;AA4oBD,qBAAa,6CACb,YAAW,iCAAiC;IAOxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,QAAQ,CAAC,SAAS,EAAG,OAAO,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA4D;gBAGxE,OAAO,EAAE,+BAA+B,EACzD,OAAO,GAAE,wCAA6C;IAqBlD,UAAU,IAAI,OAAO,CAAC,kCAAkC,CAAC;YAOjD,KAAK;YAiBL,WAAW;YASX,YAAY;YAgBZ,WAAW;YAuBX,yBAAyB;YAyDzB,YAAY;IAyFpB,MAAM,CACV,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,+BAA+B,CAAC;YAkG7B,kBAAkB;IA+D1B,SAAS,CAAC,OAAO,EAAE;QACvB,aAAa,EAAE,oCAAoC,CAAC;QACpD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IA0BrC,aAAa,CACjB,OAAO,EAAE,qCAAqC,GAC7C,OAAO,CAAC,oCAAoC,CAAC;YAoElC,qBAAqB;IAgC7B,UAAU,CACd,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,+BAA+B,CAAC;IAmLrC,aAAa,CACjB,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,2CAA2C,CAAC;CAqDxD;AAED,wBAAgB,4CAA4C,CAC1D,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,wCAA6C,GACrD,iCAAiC,CAKnC;AAED,wBAAgB,+CAA+C,CAC7D,MAAM,EAAE,sCAAsC,EAC9C,OAAO,GAAE,wCAAwC,GAC7C,8CAAmD,GACtD,iCAAiC,CAenC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { CreateProjectInput, CreateTaskListInput, Project, TaskList } from "../types/index.js";
|
|
2
|
+
import type { TodosProjectRegistrationDirection, TodosProjectRegistrationReceipt, TodosProjectRegistrationResourceKind } from "./types.js";
|
|
3
|
+
export interface TodosProjectRegistrationReceiptRow extends TodosProjectRegistrationReceipt {
|
|
4
|
+
target_selector: string;
|
|
5
|
+
normalized_call_digest: string;
|
|
6
|
+
}
|
|
7
|
+
export interface TodosProjectRegistrationAuthorityScope {
|
|
8
|
+
authority_id: string;
|
|
9
|
+
tenant_id: string;
|
|
10
|
+
corpus_id: string;
|
|
11
|
+
}
|
|
12
|
+
export type TodosProjectRegistrationBindingState = "pending" | "accepted" | "terminal_nonacceptance" | "removed";
|
|
13
|
+
export interface TodosProjectRegistrationBindingRow extends TodosProjectRegistrationAuthorityScope {
|
|
14
|
+
resource_kind: TodosProjectRegistrationResourceKind;
|
|
15
|
+
target_selector: string;
|
|
16
|
+
operation_id: string;
|
|
17
|
+
step_id: string;
|
|
18
|
+
direction: "forward";
|
|
19
|
+
idempotency_key: string;
|
|
20
|
+
request_digest: string;
|
|
21
|
+
precondition_digest: string;
|
|
22
|
+
normalized_call_digest: string;
|
|
23
|
+
state: TodosProjectRegistrationBindingState;
|
|
24
|
+
target_id: string | null;
|
|
25
|
+
accepted_receipt_id: string | null;
|
|
26
|
+
result_revision: string | null;
|
|
27
|
+
result_digest: string | null;
|
|
28
|
+
removed_receipt_id: string | null;
|
|
29
|
+
created_at: string;
|
|
30
|
+
updated_at: string;
|
|
31
|
+
}
|
|
32
|
+
export interface TodosProjectRegistrationCallIdentity extends TodosProjectRegistrationAuthorityScope {
|
|
33
|
+
operation_id: string;
|
|
34
|
+
step_id: string;
|
|
35
|
+
resource_kind: TodosProjectRegistrationResourceKind;
|
|
36
|
+
direction: TodosProjectRegistrationDirection;
|
|
37
|
+
idempotency_key: string;
|
|
38
|
+
target_selector: string;
|
|
39
|
+
}
|
|
40
|
+
export interface TodosProjectRegistrationStepIdentity extends TodosProjectRegistrationAuthorityScope {
|
|
41
|
+
operation_id: string;
|
|
42
|
+
step_id: string;
|
|
43
|
+
resource_kind: TodosProjectRegistrationResourceKind;
|
|
44
|
+
direction: TodosProjectRegistrationDirection;
|
|
45
|
+
}
|
|
46
|
+
export interface TodosProjectRegistrationBackendTransaction {
|
|
47
|
+
lockStep(identity: TodosProjectRegistrationStepIdentity): Promise<void>;
|
|
48
|
+
getReceiptForLookup(identity: TodosProjectRegistrationCallIdentity): Promise<TodosProjectRegistrationReceiptRow | null>;
|
|
49
|
+
getReceiptById(receiptId: string): Promise<TodosProjectRegistrationReceiptRow | null>;
|
|
50
|
+
getAcceptedReceiptForStep(identity: TodosProjectRegistrationStepIdentity): Promise<TodosProjectRegistrationReceiptRow | null>;
|
|
51
|
+
insertReceipt(receipt: TodosProjectRegistrationReceiptRow): Promise<boolean>;
|
|
52
|
+
getBinding(scope: TodosProjectRegistrationAuthorityScope, resourceKind: TodosProjectRegistrationResourceKind, targetSelector: string): Promise<TodosProjectRegistrationBindingRow | null>;
|
|
53
|
+
claimBinding(binding: TodosProjectRegistrationBindingRow): Promise<boolean>;
|
|
54
|
+
setBindingAccepted(scope: TodosProjectRegistrationAuthorityScope, resourceKind: TodosProjectRegistrationResourceKind, targetSelector: string, update: {
|
|
55
|
+
target_id: string;
|
|
56
|
+
accepted_receipt_id: string;
|
|
57
|
+
result_revision: string;
|
|
58
|
+
result_digest: string;
|
|
59
|
+
updated_at: string;
|
|
60
|
+
}): Promise<void>;
|
|
61
|
+
setBindingTerminal(scope: TodosProjectRegistrationAuthorityScope, resourceKind: TodosProjectRegistrationResourceKind, targetSelector: string, updatedAt: string): Promise<void>;
|
|
62
|
+
setBindingRemoved(scope: TodosProjectRegistrationAuthorityScope, resourceKind: TodosProjectRegistrationResourceKind, targetSelector: string, removedReceiptId: string, updatedAt: string): Promise<void>;
|
|
63
|
+
findProjectConflict(path: string, taskListSlug: string): Promise<Project | null>;
|
|
64
|
+
findTaskListConflict(projectId: string, slug: string): Promise<TaskList | null>;
|
|
65
|
+
createProject(input: CreateProjectInput): Promise<Project>;
|
|
66
|
+
createTaskList(input: CreateTaskListInput): Promise<TaskList>;
|
|
67
|
+
getProject(id: string): Promise<Project | null>;
|
|
68
|
+
getTaskList(id: string): Promise<TaskList | null>;
|
|
69
|
+
lockCompensationWrites(): Promise<void>;
|
|
70
|
+
hasDependents(resourceKind: TodosProjectRegistrationResourceKind, targetId: string): Promise<boolean>;
|
|
71
|
+
deleteProject(id: string): Promise<boolean>;
|
|
72
|
+
deleteTaskList(id: string): Promise<boolean>;
|
|
73
|
+
}
|
|
74
|
+
export interface TodosProjectRegistrationBackend {
|
|
75
|
+
readonly kind: "sqlite" | "postgresql";
|
|
76
|
+
transaction<T>(fn: (transaction: TodosProjectRegistrationBackendTransaction) => Promise<T>): Promise<T>;
|
|
77
|
+
getReceiptForLookup(identity: TodosProjectRegistrationCallIdentity): Promise<TodosProjectRegistrationReceiptRow | null>;
|
|
78
|
+
getReceiptById(receiptId: string): Promise<TodosProjectRegistrationReceiptRow | null>;
|
|
79
|
+
getBinding(scope: TodosProjectRegistrationAuthorityScope, resourceKind: TodosProjectRegistrationResourceKind, targetSelector: string): Promise<TodosProjectRegistrationBindingRow | null>;
|
|
80
|
+
getProject(id: string): Promise<Project | null>;
|
|
81
|
+
getTaskList(id: string): Promise<TaskList | null>;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/project-registration/backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type TodosProjectRegistrationAuthority, type TodosProjectRegistrationCapability, type TodosProjectRegistrationHttpClientOptions, type TodosProjectRegistrationInverseVerification, type TodosProjectRegistrationLookupRequest, type TodosProjectRegistrationLookupResult, type TodosProjectRegistrationReceipt, type TodosProjectRegistrationRecord, type TodosProjectRegistrationRequest, type TodosProjectRegistrationResourceKind } from "./types.js";
|
|
2
|
+
export declare function handleTodosProjectRegistrationHttpRequest(req: Request, url: URL, authority: TodosProjectRegistrationAuthority, basePath?: "/v1/project-registration" | "/api/project-registration"): Promise<Response | null>;
|
|
3
|
+
export declare class TodosProjectRegistrationHttpClient implements TodosProjectRegistrationAuthority {
|
|
4
|
+
readonly authority: "todos";
|
|
5
|
+
private readonly baseUrl;
|
|
6
|
+
private readonly fetchImpl;
|
|
7
|
+
private readonly headers;
|
|
8
|
+
constructor(options: TodosProjectRegistrationHttpClientOptions);
|
|
9
|
+
private request;
|
|
10
|
+
capability(): Promise<TodosProjectRegistrationCapability>;
|
|
11
|
+
create(request: TodosProjectRegistrationRequest): Promise<TodosProjectRegistrationReceipt>;
|
|
12
|
+
readExact(request: {
|
|
13
|
+
resource_kind: TodosProjectRegistrationResourceKind;
|
|
14
|
+
target_id: string;
|
|
15
|
+
target: unknown;
|
|
16
|
+
response_byte_limit: number;
|
|
17
|
+
time_budget_ms: number;
|
|
18
|
+
}): Promise<TodosProjectRegistrationRecord>;
|
|
19
|
+
lookupReceipt(request: TodosProjectRegistrationLookupRequest): Promise<TodosProjectRegistrationLookupResult>;
|
|
20
|
+
compensate(request: TodosProjectRegistrationRequest): Promise<TodosProjectRegistrationReceipt>;
|
|
21
|
+
verifyInverse(request: TodosProjectRegistrationRequest): Promise<TodosProjectRegistrationInverseVerification>;
|
|
22
|
+
}
|
|
23
|
+
export declare function createTodosProjectRegistrationHttpClient(options: TodosProjectRegistrationHttpClientOptions): TodosProjectRegistrationAuthority;
|
|
24
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/project-registration/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iCAAiC,EACtC,KAAK,kCAAkC,EACvC,KAAK,yCAAyC,EAC9C,KAAK,2CAA2C,EAChD,KAAK,qCAAqC,EAC1C,KAAK,oCAAoC,EACzC,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EAC1C,MAAM,YAAY,CAAC;AA2CpB,wBAAsB,yCAAyC,CAC7D,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,iCAAiC,EAC5C,QAAQ,GAAE,0BAA0B,GAAG,2BACX,GAC3B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAuE1B;AAOD,qBAAa,kCACb,YAAW,iCAAiC;IAC1C,QAAQ,CAAC,SAAS,EAAG,OAAO,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAErC,OAAO,EAAE,yCAAyC;YAUhD,OAAO;IA4Bf,UAAU,IAAI,OAAO,CAAC,kCAAkC,CAAC;IAOzD,MAAM,CACV,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,+BAA+B,CAAC;IAQrC,SAAS,CAAC,OAAO,EAAE;QACvB,aAAa,EAAE,oCAAoC,CAAC;QACpD,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAQrC,aAAa,CACjB,OAAO,EAAE,qCAAqC,GAC7C,OAAO,CAAC,oCAAoC,CAAC;IAO1C,UAAU,CACd,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,+BAA+B,CAAC;IAQrC,aAAa,CACjB,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,2CAA2C,CAAC;CASxD;AAED,wBAAgB,wCAAwC,CACtD,OAAO,EAAE,yCAAyC,GACjD,iCAAiC,CAEnC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { PackageOwnedTodosProjectRegistrationAuthority, canonicalProjectRegistrationJson, createLocalTodosProjectRegistrationAuthority, createPostgresTodosProjectRegistrationAuthority, deriveTodosProjectRegistrationIdempotencyKey, digestProjectRegistrationValue, } from "./authority.js";
|
|
2
|
+
export { TodosProjectRegistrationHttpClient, createTodosProjectRegistrationHttpClient, handleTodosProjectRegistrationHttpRequest, } from "./http.js";
|
|
3
|
+
export { PostgresTodosProjectRegistrationBackend, type PostgresTodosProjectRegistrationBackendOptions, type TodosProjectRegistrationPostgresClient, } from "./postgres.js";
|
|
4
|
+
export { postgresTodosProjectRegistrationSchemaSql, sqliteTodosProjectRegistrationSchemaSql, } from "./schema.js";
|
|
5
|
+
export { SqliteTodosProjectRegistrationBackend } from "./sqlite.js";
|
|
6
|
+
export { TODOS_PROJECT_REGISTRATION_CALLER_ROUTE, TODOS_PROJECT_REGISTRATION_ROUTE, TODOS_PROJECT_REGISTRATION_SCHEMA_VERSION, TodosProjectRegistrationError, } from "./types.js";
|
|
7
|
+
export type { TodosProjectRegistrationAuthority, TodosProjectRegistrationAuthorityOptions, TodosProjectRegistrationBounds, TodosProjectRegistrationCapability, TodosProjectRegistrationDirection, TodosProjectRegistrationErrorCode, TodosProjectRegistrationFaultPoint, TodosProjectRegistrationHttpClientOptions, TodosProjectRegistrationInverseVerification, TodosProjectRegistrationLookupRequest, TodosProjectRegistrationLookupResult, TodosProjectRegistrationOutcome, TodosProjectRegistrationReceipt, TodosProjectRegistrationRecord, TodosProjectRegistrationRequest, TodosProjectRegistrationResourceKind, TodosProjectRegistrationResponseControl, } from "./types.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/project-registration/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6CAA6C,EAC7C,gCAAgC,EAChC,4CAA4C,EAC5C,+CAA+C,EAC/C,4CAA4C,EAC5C,8BAA8B,GAC/B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kCAAkC,EAClC,wCAAwC,EACxC,yCAAyC,GAC1C,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,uCAAuC,EACvC,KAAK,8CAA8C,EACnD,KAAK,sCAAsC,GAC5C,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,yCAAyC,EACzC,uCAAuC,GACxC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,qCAAqC,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EACL,uCAAuC,EACvC,gCAAgC,EAChC,yCAAyC,EACzC,6BAA6B,GAC9B,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,iCAAiC,EACjC,wCAAwC,EACxC,8BAA8B,EAC9B,kCAAkC,EAClC,iCAAiC,EACjC,iCAAiC,EACjC,kCAAkC,EAClC,yCAAyC,EACzC,2CAA2C,EAC3C,qCAAqC,EACrC,oCAAoC,EACpC,+BAA+B,EAC/B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,oCAAoC,EACpC,uCAAuC,GACxC,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type TodosPostgresQueryClient } from "../storage/postgres-sync.js";
|
|
2
|
+
import type { Project, TaskList } from "../types/index.js";
|
|
3
|
+
import type { TodosProjectRegistrationBackend, TodosProjectRegistrationBackendTransaction, TodosProjectRegistrationAuthorityScope, TodosProjectRegistrationBindingRow, TodosProjectRegistrationCallIdentity, TodosProjectRegistrationReceiptRow } from "./backend.js";
|
|
4
|
+
import { type TodosProjectRegistrationResourceKind } from "./types.js";
|
|
5
|
+
export interface TodosProjectRegistrationPostgresClient extends TodosPostgresQueryClient {
|
|
6
|
+
transaction<T>(fn: (client: TodosPostgresQueryClient) => Promise<T>): Promise<T>;
|
|
7
|
+
}
|
|
8
|
+
export interface PostgresTodosProjectRegistrationBackendOptions {
|
|
9
|
+
service?: string;
|
|
10
|
+
tableName?: string;
|
|
11
|
+
cursorTableName?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class PostgresTodosProjectRegistrationBackend implements TodosProjectRegistrationBackend {
|
|
14
|
+
private readonly client;
|
|
15
|
+
readonly kind: "postgresql";
|
|
16
|
+
private readonly service;
|
|
17
|
+
private readonly tableName;
|
|
18
|
+
private readonly cursorTableName;
|
|
19
|
+
private schemaReady;
|
|
20
|
+
constructor(client: TodosProjectRegistrationPostgresClient, options?: PostgresTodosProjectRegistrationBackendOptions);
|
|
21
|
+
ensureSchema(): Promise<void>;
|
|
22
|
+
transaction<T>(fn: (transaction: TodosProjectRegistrationBackendTransaction) => Promise<T>): Promise<T>;
|
|
23
|
+
private direct;
|
|
24
|
+
getReceiptForLookup(identity: TodosProjectRegistrationCallIdentity): Promise<TodosProjectRegistrationReceiptRow | null>;
|
|
25
|
+
getReceiptById(receiptId: string): Promise<TodosProjectRegistrationReceiptRow | null>;
|
|
26
|
+
getBinding(scope: TodosProjectRegistrationAuthorityScope, resourceKind: TodosProjectRegistrationResourceKind, targetSelector: string): Promise<TodosProjectRegistrationBindingRow | null>;
|
|
27
|
+
getProject(id: string): Promise<Project | null>;
|
|
28
|
+
getTaskList(id: string): Promise<TaskList | null>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=postgres.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/project-registration/postgres.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EACV,+BAA+B,EAC/B,0CAA0C,EAC1C,sCAAsC,EACtC,kCAAkC,EAClC,oCAAoC,EACpC,kCAAkC,EAEnC,MAAM,cAAc,CAAC;AAEtB,OAAO,EAEL,KAAK,oCAAoC,EAC1C,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,sCACjB,SAAQ,wBAAwB;IAC9B,WAAW,CAAC,CAAC,EACX,EAAE,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,OAAO,CAAC,CAAC,CAAC,GACnD,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED,MAAM,WAAW,8CAA8C;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAoZD,qBAAa,uCACb,YAAW,+BAA+B;IAQtC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAU;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,WAAW,CAA8B;gBAG9B,MAAM,EAAE,sCAAsC,EAC/D,OAAO,GAAE,8CAAmD;IAUxD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7B,WAAW,CAAC,CAAC,EACjB,EAAE,EAAE,CAAC,WAAW,EAAE,0CAA0C,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1E,OAAO,CAAC,CAAC,CAAC;YAkBC,MAAM;IAUd,mBAAmB,CACvB,QAAQ,EAAE,oCAAoC,GAC7C,OAAO,CAAC,kCAAkC,GAAG,IAAI,CAAC;IAI/C,cAAc,CAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kCAAkC,GAAG,IAAI,CAAC;IAI/C,UAAU,CACd,KAAK,EAAE,sCAAsC,EAC7C,YAAY,EAAE,oCAAoC,EAClD,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,kCAAkC,GAAG,IAAI,CAAC;IAI/C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAI/C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAGxD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/project-registration/schema.ts"],"names":[],"mappings":"AAAA,wBAAgB,uCAAuC,IAAI,MAAM,CAmGhE;AAED,wBAAgB,yCAAyC,IAAI,MAAM,EAAE,CAiGpE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { Project, TaskList } from "../types/index.js";
|
|
3
|
+
import type { TodosProjectRegistrationBackend, TodosProjectRegistrationBackendTransaction, TodosProjectRegistrationAuthorityScope, TodosProjectRegistrationBindingRow, TodosProjectRegistrationCallIdentity, TodosProjectRegistrationReceiptRow } from "./backend.js";
|
|
4
|
+
import type { TodosProjectRegistrationResourceKind } from "./types.js";
|
|
5
|
+
export declare class SqliteTodosProjectRegistrationBackend implements TodosProjectRegistrationBackend {
|
|
6
|
+
private readonly db;
|
|
7
|
+
readonly kind: "sqlite";
|
|
8
|
+
private readonly direct;
|
|
9
|
+
constructor(db: Database);
|
|
10
|
+
transaction<T>(fn: (transaction: TodosProjectRegistrationBackendTransaction) => Promise<T>): Promise<T>;
|
|
11
|
+
getReceiptForLookup(identity: TodosProjectRegistrationCallIdentity): Promise<TodosProjectRegistrationReceiptRow | null>;
|
|
12
|
+
getReceiptById(receiptId: string): Promise<TodosProjectRegistrationReceiptRow | null>;
|
|
13
|
+
getBinding(scope: TodosProjectRegistrationAuthorityScope, resourceKind: TodosProjectRegistrationResourceKind, targetSelector: string): Promise<TodosProjectRegistrationBindingRow | null>;
|
|
14
|
+
getProject(id: string): Promise<Project | null>;
|
|
15
|
+
getTaskList(id: string): Promise<TaskList | null>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=sqlite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/project-registration/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EACV,+BAA+B,EAC/B,0CAA0C,EAC1C,sCAAsC,EACtC,kCAAkC,EAClC,oCAAoC,EACpC,kCAAkC,EAEnC,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,YAAY,CAAC;AAuWvE,qBAAa,qCACb,YAAW,+BAA+B;IAI5B,OAAO,CAAC,QAAQ,CAAC,EAAE;IAH/B,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;gBAEtC,EAAE,EAAE,QAAQ;IAKnC,WAAW,CAAC,CAAC,EACjB,EAAE,EAAE,CAAC,WAAW,EAAE,0CAA0C,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1E,OAAO,CAAC,CAAC,CAAC;IA4Bb,mBAAmB,CACjB,QAAQ,EAAE,oCAAoC,GAC7C,OAAO,CAAC,kCAAkC,GAAG,IAAI,CAAC;IAIrD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kCAAkC,GAAG,IAAI,CAAC;IAIrF,UAAU,CACR,KAAK,EAAE,sCAAsC,EAC7C,YAAY,EAAE,oCAAoC,EAClD,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,kCAAkC,GAAG,IAAI,CAAC;IAIrD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAI/C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAGlD"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
export declare const TODOS_PROJECT_REGISTRATION_ROUTE: "todos.project-registration.v1";
|
|
2
|
+
export declare const TODOS_PROJECT_REGISTRATION_CALLER_ROUTE: "projects.full-registration.v1";
|
|
3
|
+
export declare const TODOS_PROJECT_REGISTRATION_SCHEMA_VERSION: 1;
|
|
4
|
+
export type TodosProjectRegistrationResourceKind = "project" | "task_list";
|
|
5
|
+
export type TodosProjectRegistrationDirection = "forward" | "inverse";
|
|
6
|
+
export type TodosProjectRegistrationOutcome = "accepted" | "duplicate_of_accepted" | "terminal_nonacceptance";
|
|
7
|
+
export interface TodosProjectRegistrationBounds {
|
|
8
|
+
response_byte_limit: number;
|
|
9
|
+
time_budget_ms: number;
|
|
10
|
+
}
|
|
11
|
+
export interface TodosProjectRegistrationResponseControl extends TodosProjectRegistrationBounds {
|
|
12
|
+
response_bytes: number;
|
|
13
|
+
elapsed_ms: number;
|
|
14
|
+
complete: true;
|
|
15
|
+
truncated: false;
|
|
16
|
+
}
|
|
17
|
+
export interface TodosProjectRegistrationCapability {
|
|
18
|
+
authority: "todos";
|
|
19
|
+
route: typeof TODOS_PROJECT_REGISTRATION_ROUTE;
|
|
20
|
+
package_version: string;
|
|
21
|
+
authority_id: string;
|
|
22
|
+
tenant_id: string;
|
|
23
|
+
corpus_id: string;
|
|
24
|
+
supported_resources: TodosProjectRegistrationResourceKind[];
|
|
25
|
+
conditional_create: true;
|
|
26
|
+
immutable_receipts: true;
|
|
27
|
+
exact_terminal_lookup: true;
|
|
28
|
+
exact_readback: true;
|
|
29
|
+
conditional_inverse: true;
|
|
30
|
+
ambiguous_outcome_reconciliation: true;
|
|
31
|
+
}
|
|
32
|
+
export interface TodosProjectRegistrationReceipt {
|
|
33
|
+
receipt_id: string;
|
|
34
|
+
authority: "todos";
|
|
35
|
+
route: typeof TODOS_PROJECT_REGISTRATION_ROUTE;
|
|
36
|
+
package_version: string;
|
|
37
|
+
authority_id: string;
|
|
38
|
+
tenant_id: string;
|
|
39
|
+
corpus_id: string;
|
|
40
|
+
operation_id: string;
|
|
41
|
+
step_id: string;
|
|
42
|
+
resource_kind: TodosProjectRegistrationResourceKind;
|
|
43
|
+
direction: TodosProjectRegistrationDirection;
|
|
44
|
+
idempotency_key: string;
|
|
45
|
+
request_digest: string;
|
|
46
|
+
precondition_digest: string;
|
|
47
|
+
outcome: TodosProjectRegistrationOutcome;
|
|
48
|
+
reason: string | null;
|
|
49
|
+
target_id: string | null;
|
|
50
|
+
result_revision: string | null;
|
|
51
|
+
result_digest: string | null;
|
|
52
|
+
duplicate_of_receipt_id: string | null;
|
|
53
|
+
accepted_receipt_id: string | null;
|
|
54
|
+
created_by_operation: boolean;
|
|
55
|
+
created_at: string;
|
|
56
|
+
}
|
|
57
|
+
export interface TodosProjectRegistrationRecord {
|
|
58
|
+
target_id: string;
|
|
59
|
+
revision: string;
|
|
60
|
+
digest: string;
|
|
61
|
+
}
|
|
62
|
+
export interface TodosProjectRegistrationRequest extends TodosProjectRegistrationBounds {
|
|
63
|
+
operation_id: string;
|
|
64
|
+
step_id: string;
|
|
65
|
+
resource_kind: TodosProjectRegistrationResourceKind;
|
|
66
|
+
direction: TodosProjectRegistrationDirection;
|
|
67
|
+
authority_route: string;
|
|
68
|
+
package_version: string;
|
|
69
|
+
authority_id: string;
|
|
70
|
+
tenant_id: string;
|
|
71
|
+
corpus_id: string;
|
|
72
|
+
target_selector: string;
|
|
73
|
+
idempotency_key: string;
|
|
74
|
+
request_digest: string;
|
|
75
|
+
precondition_digest: string;
|
|
76
|
+
project_id: string;
|
|
77
|
+
project_slug: string;
|
|
78
|
+
project_name: string;
|
|
79
|
+
desired: Record<string, unknown>;
|
|
80
|
+
/**
|
|
81
|
+
* The Projects package supplies an opaque path handle. Todos deliberately
|
|
82
|
+
* does not inspect or serialize it: the registered Todos project uses a
|
|
83
|
+
* stable package-owned URI keyed by the complete Projects workspace id.
|
|
84
|
+
*/
|
|
85
|
+
target: unknown;
|
|
86
|
+
accepted_receipt?: TodosProjectRegistrationReceipt;
|
|
87
|
+
}
|
|
88
|
+
export interface TodosProjectRegistrationLookupRequest extends TodosProjectRegistrationBounds {
|
|
89
|
+
operation_id: string;
|
|
90
|
+
step_id: string;
|
|
91
|
+
resource_kind: TodosProjectRegistrationResourceKind;
|
|
92
|
+
direction: TodosProjectRegistrationDirection;
|
|
93
|
+
authority: "todos";
|
|
94
|
+
authority_route: string;
|
|
95
|
+
package_version: string;
|
|
96
|
+
authority_id: string;
|
|
97
|
+
tenant_id: string;
|
|
98
|
+
corpus_id: string;
|
|
99
|
+
target_selector: string;
|
|
100
|
+
idempotency_key: string;
|
|
101
|
+
target_id?: string;
|
|
102
|
+
max_items: 1;
|
|
103
|
+
}
|
|
104
|
+
export interface TodosProjectRegistrationLookupResult {
|
|
105
|
+
receipt: TodosProjectRegistrationReceipt;
|
|
106
|
+
response_control: TodosProjectRegistrationResponseControl;
|
|
107
|
+
}
|
|
108
|
+
export interface TodosProjectRegistrationInverseVerification {
|
|
109
|
+
target_id: string;
|
|
110
|
+
accepted_receipt_id: string;
|
|
111
|
+
absent: true;
|
|
112
|
+
digest: string;
|
|
113
|
+
}
|
|
114
|
+
export interface TodosProjectRegistrationAuthority {
|
|
115
|
+
readonly authority: "todos";
|
|
116
|
+
capability(): Promise<TodosProjectRegistrationCapability>;
|
|
117
|
+
create(request: TodosProjectRegistrationRequest): Promise<TodosProjectRegistrationReceipt>;
|
|
118
|
+
readExact(request: {
|
|
119
|
+
resource_kind: TodosProjectRegistrationResourceKind;
|
|
120
|
+
target_id: string;
|
|
121
|
+
target: unknown;
|
|
122
|
+
response_byte_limit: number;
|
|
123
|
+
time_budget_ms: number;
|
|
124
|
+
}): Promise<TodosProjectRegistrationRecord>;
|
|
125
|
+
lookupReceipt(request: TodosProjectRegistrationLookupRequest): Promise<TodosProjectRegistrationLookupResult>;
|
|
126
|
+
compensate(request: TodosProjectRegistrationRequest): Promise<TodosProjectRegistrationReceipt>;
|
|
127
|
+
verifyInverse(request: TodosProjectRegistrationRequest): Promise<TodosProjectRegistrationInverseVerification>;
|
|
128
|
+
}
|
|
129
|
+
export type TodosProjectRegistrationFaultPoint = "before_object_write" | "after_object_write" | "before_receipt_write" | "after_receipt_write" | "after_commit";
|
|
130
|
+
export interface TodosProjectRegistrationAuthorityOptions {
|
|
131
|
+
packageVersion?: string;
|
|
132
|
+
authorityId?: string;
|
|
133
|
+
tenantId?: string;
|
|
134
|
+
corpusId?: string;
|
|
135
|
+
now?: () => string;
|
|
136
|
+
faultInjector?: (point: TodosProjectRegistrationFaultPoint, context: {
|
|
137
|
+
operation_id: string;
|
|
138
|
+
step_id: string;
|
|
139
|
+
resource_kind: TodosProjectRegistrationResourceKind;
|
|
140
|
+
direction: TodosProjectRegistrationDirection;
|
|
141
|
+
}) => void | Promise<void>;
|
|
142
|
+
}
|
|
143
|
+
export type TodosProjectRegistrationErrorCode = "TODOS_PROJECT_REGISTRATION_INVALID_INPUT" | "TODOS_PROJECT_REGISTRATION_INVALID_BOUNDS" | "TODOS_PROJECT_REGISTRATION_RESPONSE_TOO_LARGE" | "TODOS_PROJECT_REGISTRATION_TIME_BUDGET_EXCEEDED" | "TODOS_PROJECT_REGISTRATION_CAPABILITY_MISMATCH" | "TODOS_PROJECT_REGISTRATION_DIGEST_MISMATCH" | "TODOS_PROJECT_REGISTRATION_IDEMPOTENCY_MISMATCH" | "TODOS_PROJECT_REGISTRATION_EXACT_ID_REQUIRED" | "TODOS_PROJECT_REGISTRATION_RECEIPT_NOT_FOUND" | "TODOS_PROJECT_REGISTRATION_RECORD_NOT_FOUND" | "TODOS_PROJECT_REGISTRATION_ACCEPTED_RECEIPT_NOT_FOUND" | "TODOS_PROJECT_REGISTRATION_ATOMICITY_UNAVAILABLE" | "TODOS_PROJECT_REGISTRATION_CONFLICT";
|
|
144
|
+
export declare class TodosProjectRegistrationError extends Error {
|
|
145
|
+
readonly code: TodosProjectRegistrationErrorCode;
|
|
146
|
+
readonly details: Record<string, unknown>;
|
|
147
|
+
constructor(code: TodosProjectRegistrationErrorCode, message: string, details?: Record<string, unknown>);
|
|
148
|
+
}
|
|
149
|
+
export interface TodosProjectRegistrationHttpClientOptions {
|
|
150
|
+
baseUrl: string;
|
|
151
|
+
apiKey?: string;
|
|
152
|
+
fetch?: typeof globalThis.fetch;
|
|
153
|
+
headers?: Record<string, string>;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/project-registration/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-registration.d.ts","sourceRoot":"","sources":["../src/project-registration.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
|