nawabari 0.1.0 → 0.3.0
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 +347 -5
- package/dist/cli.js +770 -51
- package/dist/cli.js.map +1 -1
- package/dist/contract.d.ts +9 -0
- package/dist/contract.js +291 -0
- package/dist/contract.js.map +1 -0
- package/dist/domain/doctor.d.ts +1 -1
- package/dist/domain/doctor.js +99 -90
- package/dist/domain/doctor.js.map +1 -1
- package/dist/domain/errors.d.ts +1 -1
- package/dist/domain/errors.js +5 -1
- package/dist/domain/errors.js.map +1 -1
- package/dist/domain/session-backend.d.ts +15 -3
- package/dist/domain/session-backend.js +348 -7
- package/dist/domain/session-backend.js.map +1 -1
- package/dist/domain/session.d.ts +247 -2
- package/dist/domain/session.js +42 -0
- package/dist/domain/session.js.map +1 -1
- package/dist/errors.d.ts +2 -2
- package/dist/errors.js.map +1 -1
- package/dist/git.d.ts +102 -0
- package/dist/git.js +714 -30
- package/dist/git.js.map +1 -1
- package/dist/operation-authorization.d.ts +76 -0
- package/dist/operation-authorization.js +41 -0
- package/dist/operation-authorization.js.map +1 -0
- package/dist/output-budget.d.ts +16 -0
- package/dist/output-budget.js +58 -0
- package/dist/output-budget.js.map +1 -0
- package/dist/presentation.js +76 -22
- package/dist/presentation.js.map +1 -1
- package/dist/repository-evidence.d.ts +74 -0
- package/dist/repository-evidence.js +7 -0
- package/dist/repository-evidence.js.map +1 -0
- package/dist/resource-claims.d.ts +87 -0
- package/dist/resource-claims.js +450 -0
- package/dist/resource-claims.js.map +1 -0
- package/dist/session-registry.d.ts +251 -1
- package/dist/session-registry.js +2094 -257
- package/dist/session-registry.js.map +1 -1
- package/package.json +2 -1
package/dist/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAkCnD,MAAM,CAAC,MAAM,UAAU,GAAqB;IAC1C,GAAG,CAAC,IAAI,EAAE,GAAG;QACX,IAAI,CAAC;YACH,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;gBACpC,GAAG;gBACH,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,OAAO,EAAE,MAAM;gBACf,GAAG,EAAE;oBACH,GAAG,OAAO,CAAC,GAAG;oBACd,mBAAmB,EAAE,GAAG;oBACxB,kBAAkB,EAAE,GAAG;iBACxB;aACF,CAAC,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,IAAI,oBAAoB,CAC5B,oBAAoB,EACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,EACxC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAChC,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,UAAoC,EAAE;IAC7E,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,+BAA+B,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC;IAEtC,IAAI,YAAoB,CAAC;IACzB,IAAI,kBAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,EAAE,+BAA+B,CAAC,CAAC;QACnH,MAAM,wBAAwB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,kBAAkB,CAAC,EAAE,GAAG,CAAC,CAAC;QACjF,MAAM,sBAAsB,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACtE,CAAC,CAAC,wBAAwB;YAC1B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QAChD,kBAAkB,GAAG,kBAAkB,CAAC,sBAAsB,EAAE,+BAA+B,CAAC,CAAC;IACnG,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,+BAA+B,EAAE,CAAC;YAC5F,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,oBAAoB,CAC5B,sBAAsB,EACtB,uCAAuC,GAAG,EAAE,EAC5C,EAAE,GAAG,EAAE,EACP,KAAK,CACN,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,YAAY,EAAE,kBAAkB;QAChC,kBAAkB;QAClB,YAAY;KACb,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,UAAkC,EAAE;IAC1E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC3E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC;IACtC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IACzF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAE/C,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,UAAU,EAAE,UAAU,CAAC,YAAY;QACnC,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,QAAQ;QACR,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC;KACjD,CAAC,CAAC;AACL,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,gBAAgB,CAAC,GAAqB,EAAE,GAAW;IACjE,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,IAAI,WAA+B,CAAC;IACpC,IAAI,aAAa,GAAkB,IAAI,CAAC;IAExC,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO;QACtC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,mBAAmB,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QAC3G,WAAW,GAAG,SAAS,CAAC;QACxB,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,KAAK,EAAE,CAAC;YACR,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACvC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,oBAAoB,CAAC,mBAAmB,EAAE,4BAA4B,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,oBAAoB,CAAC,mBAAmB,EAAE,kCAAkC,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACtH,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,EAAE,CAAC;IACzF,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAExC,IACE,SAAS,CAAC,MAAM,KAAK,CAAC;QACtB,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QACzB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QACvB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxB,SAAS,KAAK,GAAG;QACjB,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;QACvB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC3B,UAAU,CAAC,IAAI,CACb,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CACnG;QACD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QACxB,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,EAC1C,CAAC;QACD,MAAM,IAAI,oBAAoB,CAAC,mBAAmB,EAAE,4BAA4B,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAqB,EAAE,GAAW;IAClE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QAChF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,oBAAoB,CAAC,6BAA6B,EAAE,mBAAmB,GAAG,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACjH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,oBAAoB,IAAI,KAAK,CAAC,IAAI,KAAK,6BAA6B,EAAE,CAAC;YAC1F,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,IAAI,oBAAoB,CAC5B,6BAA6B,EAC7B,4CAA4C,GAAG,EAAE,EACjD,EAAE,GAAG,EAAE,EACP,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,SAAiB,EACjB,SAA0E;IAE1E,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,oBAAoB,CAAC,SAAS,EAAE,0CAA0C,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,IAAI,oBAAoB,CAC5B,SAAS,EACT,yCAAyC,QAAQ,EAAE,EACnD,EAAE,IAAI,EAAE,QAAQ,EAAE,EAClB,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { type ResourceClaimMode } from "./resource-claims.js";
|
|
2
|
+
import type { RegistryErrorCode } from "./errors.js";
|
|
3
|
+
/** Version of the local operation vocabulary and its access policy. */
|
|
4
|
+
export declare const OPERATION_AUTHORIZATION_SCHEMA_VERSION: 1;
|
|
5
|
+
/**
|
|
6
|
+
* Operations are intentionally capability-shaped names. They describe the
|
|
7
|
+
* local mutation class only; they do not encode GitHub, Mottainai, or task
|
|
8
|
+
* semantics.
|
|
9
|
+
*/
|
|
10
|
+
export declare const OPERATION_VOCABULARY: readonly ["source-write", "stage", "commit", "branch-mutation", "push", "cleanup"];
|
|
11
|
+
export type OperationName = (typeof OPERATION_VOCABULARY)[number];
|
|
12
|
+
/** The one authoritative operation-to-claim-access mapping. */
|
|
13
|
+
export declare const OPERATION_REQUIRED_ACCESS: Readonly<Record<OperationName, ResourceClaimMode>>;
|
|
14
|
+
/**
|
|
15
|
+
* Complete decision vocabulary: the operation-authorization-specific codes
|
|
16
|
+
* plus every RegistryErrorCode, since any registry error encountered while
|
|
17
|
+
* authorizing an operation is propagated verbatim as the denial code.
|
|
18
|
+
*/
|
|
19
|
+
export type OperationAuthorizationCode = "ALLOWED" | "OPERATION_REJECTED" | RegistryErrorCode;
|
|
20
|
+
export declare function isOperationName(value: unknown): value is OperationName;
|
|
21
|
+
export declare function requiredAccessForOperation(operation: OperationName): ResourceClaimMode;
|
|
22
|
+
/**
|
|
23
|
+
* Keep the authorization surface compatible while delegating mode strength to
|
|
24
|
+
* the resource-claim authority.
|
|
25
|
+
*/
|
|
26
|
+
export declare function claimModeGrantsAccess(granted: ResourceClaimMode, required: ResourceClaimMode): boolean;
|
|
27
|
+
export interface OperationAuthorizationOptions {
|
|
28
|
+
readonly operation: string;
|
|
29
|
+
readonly resources: readonly string[];
|
|
30
|
+
readonly sessionId?: string | null;
|
|
31
|
+
}
|
|
32
|
+
export interface AuthorizedResource {
|
|
33
|
+
readonly resource: string;
|
|
34
|
+
readonly claimIds: readonly string[];
|
|
35
|
+
}
|
|
36
|
+
export interface OperationAuthorizationDecision {
|
|
37
|
+
readonly schemaVersion: typeof OPERATION_AUTHORIZATION_SCHEMA_VERSION;
|
|
38
|
+
readonly allowed: boolean;
|
|
39
|
+
readonly code: OperationAuthorizationCode;
|
|
40
|
+
readonly operation: string;
|
|
41
|
+
readonly requiredAccess: ResourceClaimMode | null;
|
|
42
|
+
readonly repositoryId: string;
|
|
43
|
+
readonly worktreePath: string;
|
|
44
|
+
readonly branchName: string | null;
|
|
45
|
+
readonly sessionId: string | null;
|
|
46
|
+
readonly ownerSessionId: string | null;
|
|
47
|
+
readonly requestedSessionId: string | null;
|
|
48
|
+
readonly state: string | null;
|
|
49
|
+
readonly resources: readonly AuthorizedResource[];
|
|
50
|
+
readonly details: Readonly<Record<string, boolean | number | string | readonly string[]>>;
|
|
51
|
+
}
|
|
52
|
+
export declare const CHECKPOINT_EVIDENCE_SCHEMA_VERSION: 1;
|
|
53
|
+
export declare const CHECKPOINT_MAX_PATHS: 4096;
|
|
54
|
+
export interface GitCheckpointPaths {
|
|
55
|
+
readonly changed: readonly string[];
|
|
56
|
+
readonly staged: readonly string[];
|
|
57
|
+
readonly unstaged: readonly string[];
|
|
58
|
+
readonly untracked: readonly string[];
|
|
59
|
+
}
|
|
60
|
+
export interface CheckpointEvidence {
|
|
61
|
+
readonly schemaVersion: typeof CHECKPOINT_EVIDENCE_SCHEMA_VERSION;
|
|
62
|
+
readonly source: "git";
|
|
63
|
+
readonly guarantee: "git-observable-only";
|
|
64
|
+
readonly repositoryId: string;
|
|
65
|
+
readonly worktreePath: string;
|
|
66
|
+
readonly branchName: string;
|
|
67
|
+
readonly headId: string;
|
|
68
|
+
readonly sessionId: string;
|
|
69
|
+
readonly paths: GitCheckpointPaths;
|
|
70
|
+
readonly inClaim: readonly string[];
|
|
71
|
+
readonly outOfClaim: readonly string[];
|
|
72
|
+
readonly maxPaths: typeof CHECKPOINT_MAX_PATHS;
|
|
73
|
+
}
|
|
74
|
+
export interface CheckpointOptions {
|
|
75
|
+
readonly sessionId?: string | null;
|
|
76
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { claimModeGrantsAccess as resourceClaimModeGrantsAccess } from "./resource-claims.js";
|
|
2
|
+
/** Version of the local operation vocabulary and its access policy. */
|
|
3
|
+
export const OPERATION_AUTHORIZATION_SCHEMA_VERSION = 1;
|
|
4
|
+
/**
|
|
5
|
+
* Operations are intentionally capability-shaped names. They describe the
|
|
6
|
+
* local mutation class only; they do not encode GitHub, Mottainai, or task
|
|
7
|
+
* semantics.
|
|
8
|
+
*/
|
|
9
|
+
export const OPERATION_VOCABULARY = Object.freeze([
|
|
10
|
+
"source-write",
|
|
11
|
+
"stage",
|
|
12
|
+
"commit",
|
|
13
|
+
"branch-mutation",
|
|
14
|
+
"push",
|
|
15
|
+
"cleanup",
|
|
16
|
+
]);
|
|
17
|
+
/** The one authoritative operation-to-claim-access mapping. */
|
|
18
|
+
export const OPERATION_REQUIRED_ACCESS = Object.freeze({
|
|
19
|
+
"source-write": "write",
|
|
20
|
+
stage: "write",
|
|
21
|
+
commit: "exclusive-write",
|
|
22
|
+
"branch-mutation": "exclusive-write",
|
|
23
|
+
push: "exclusive-write",
|
|
24
|
+
cleanup: "exclusive-write",
|
|
25
|
+
});
|
|
26
|
+
export function isOperationName(value) {
|
|
27
|
+
return typeof value === "string" && OPERATION_VOCABULARY.includes(value);
|
|
28
|
+
}
|
|
29
|
+
export function requiredAccessForOperation(operation) {
|
|
30
|
+
return OPERATION_REQUIRED_ACCESS[operation];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Keep the authorization surface compatible while delegating mode strength to
|
|
34
|
+
* the resource-claim authority.
|
|
35
|
+
*/
|
|
36
|
+
export function claimModeGrantsAccess(granted, required) {
|
|
37
|
+
return resourceClaimModeGrantsAccess(granted, required);
|
|
38
|
+
}
|
|
39
|
+
export const CHECKPOINT_EVIDENCE_SCHEMA_VERSION = 1;
|
|
40
|
+
export const CHECKPOINT_MAX_PATHS = 4_096;
|
|
41
|
+
//# sourceMappingURL=operation-authorization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation-authorization.js","sourceRoot":"","sources":["../src/operation-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,IAAI,6BAA6B,EAA0B,MAAM,sBAAsB,CAAC;AAGtH,uEAAuE;AACvE,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAU,CAAC;AAEjE;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,cAAc;IACd,OAAO;IACP,QAAQ;IACR,iBAAiB;IACjB,MAAM;IACN,SAAS;CACD,CAAC,CAAC;AAIZ,+DAA+D;AAC/D,MAAM,CAAC,MAAM,yBAAyB,GAAuD,MAAM,CAAC,MAAM,CAAC;IACzG,cAAc,EAAE,OAAO;IACvB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,iBAAiB;IACzB,iBAAiB,EAAE,iBAAiB;IACpC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,iBAAiB;CAC3B,CAAC,CAAC;AASH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,oBAA0C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,SAAwB;IACjE,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA0B,EAAE,QAA2B;IAC3F,OAAO,6BAA6B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC;AA8BD,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAU,CAAC;AAC7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAc,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { JsonObject } from "./domain/errors.js";
|
|
2
|
+
/** Maximum number of members emitted for a failure-detail collection. */
|
|
3
|
+
export declare const FAILURE_DETAIL_ARRAY_LIMIT: 32;
|
|
4
|
+
/** Maximum length of one emitted failure message. */
|
|
5
|
+
export declare const FAILURE_MESSAGE_LENGTH_LIMIT: 4096;
|
|
6
|
+
/**
|
|
7
|
+
* Bound only presentation data. Domain and registry errors retain their full
|
|
8
|
+
* in-process details for recovery and diagnostics; the JSON boundary adds
|
|
9
|
+
* deterministic continuation metadata when it has to shorten a collection.
|
|
10
|
+
*/
|
|
11
|
+
export declare function boundOutputDetails(details: JsonObject): JsonObject;
|
|
12
|
+
export declare function boundOutputMessage(message: string): {
|
|
13
|
+
value: string;
|
|
14
|
+
truncated: boolean;
|
|
15
|
+
total: number;
|
|
16
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/** Maximum number of members emitted for a failure-detail collection. */
|
|
2
|
+
export const FAILURE_DETAIL_ARRAY_LIMIT = 32;
|
|
3
|
+
/** Maximum length of one emitted failure message. */
|
|
4
|
+
export const FAILURE_MESSAGE_LENGTH_LIMIT = 4_096;
|
|
5
|
+
/**
|
|
6
|
+
* Bound only presentation data. Domain and registry errors retain their full
|
|
7
|
+
* in-process details for recovery and diagnostics; the JSON boundary adds
|
|
8
|
+
* deterministic continuation metadata when it has to shorten a collection.
|
|
9
|
+
*/
|
|
10
|
+
export function boundOutputDetails(details) {
|
|
11
|
+
return boundObject(details);
|
|
12
|
+
}
|
|
13
|
+
export function boundOutputMessage(message) {
|
|
14
|
+
const total = message.length;
|
|
15
|
+
return {
|
|
16
|
+
value: total > FAILURE_MESSAGE_LENGTH_LIMIT ? `${message.slice(0, FAILURE_MESSAGE_LENGTH_LIMIT - 1)}…` : message,
|
|
17
|
+
truncated: total > FAILURE_MESSAGE_LENGTH_LIMIT,
|
|
18
|
+
total,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function boundObject(value) {
|
|
22
|
+
const bounded = {};
|
|
23
|
+
for (const [key, child] of Object.entries(value)) {
|
|
24
|
+
if (Array.isArray(child)) {
|
|
25
|
+
const truncated = child.length > FAILURE_DETAIL_ARRAY_LIMIT;
|
|
26
|
+
bounded[key] = child.slice(0, FAILURE_DETAIL_ARRAY_LIMIT).map(boundValue);
|
|
27
|
+
if (truncated) {
|
|
28
|
+
bounded[`${key}_total`] = child.length;
|
|
29
|
+
bounded[`${key}_limit`] = FAILURE_DETAIL_ARRAY_LIMIT;
|
|
30
|
+
bounded[`${key}_truncated`] = true;
|
|
31
|
+
bounded[`${key}_next_offset`] = FAILURE_DETAIL_ARRAY_LIMIT;
|
|
32
|
+
}
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
bounded[key] = boundValue(child);
|
|
36
|
+
}
|
|
37
|
+
return bounded;
|
|
38
|
+
}
|
|
39
|
+
function boundValue(value) {
|
|
40
|
+
if (Array.isArray(value)) {
|
|
41
|
+
const truncated = value.length > FAILURE_DETAIL_ARRAY_LIMIT;
|
|
42
|
+
const sliced = value.slice(0, FAILURE_DETAIL_ARRAY_LIMIT).map(boundValue);
|
|
43
|
+
if (truncated) {
|
|
44
|
+
return {
|
|
45
|
+
items: sliced,
|
|
46
|
+
items_total: value.length,
|
|
47
|
+
items_limit: FAILURE_DETAIL_ARRAY_LIMIT,
|
|
48
|
+
items_truncated: true,
|
|
49
|
+
items_next_offset: FAILURE_DETAIL_ARRAY_LIMIT,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return sliced;
|
|
53
|
+
}
|
|
54
|
+
if (value !== null && typeof value === "object")
|
|
55
|
+
return boundObject(value);
|
|
56
|
+
return value;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=output-budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-budget.js","sourceRoot":"","sources":["../src/output-budget.ts"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAW,CAAC;AACtD,qDAAqD;AACrD,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAc,CAAC;AAE3D;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAmB;IACpD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAKhD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7B,OAAO;QACL,KAAK,EAAE,KAAK,GAAG,4BAA4B,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,4BAA4B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO;QAChH,SAAS,EAAE,KAAK,GAAG,4BAA4B;QAC/C,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAiB;IACpC,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,0BAA0B,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1E,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;gBACvC,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,0BAA0B,CAAC;gBACrD,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC;gBACnC,OAAO,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,0BAA0B,CAAC;YAC7D,CAAC;YACD,SAAS;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,KAAgB;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,0BAA0B,CAAC;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,SAAS,EAAE,CAAC;YACd,OAAO;gBACL,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,KAAK,CAAC,MAAM;gBACzB,WAAW,EAAE,0BAA0B;gBACvC,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,0BAA0B;aAC9C,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3E,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/presentation.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { boundOutputDetails, boundOutputMessage, FAILURE_MESSAGE_LENGTH_LIMIT } from "./output-budget.js";
|
|
1
2
|
export function defaultCliIO() {
|
|
2
3
|
return {
|
|
3
4
|
stdout: (line) => console.log(line),
|
|
@@ -8,48 +9,101 @@ function jsonSuccess(command, payload) {
|
|
|
8
9
|
return JSON.stringify({ ok: true, command, ...payload });
|
|
9
10
|
}
|
|
10
11
|
function jsonFailure(command, error) {
|
|
12
|
+
const message = boundOutputMessage(error.message);
|
|
11
13
|
const response = {
|
|
12
14
|
ok: false,
|
|
13
15
|
command,
|
|
14
16
|
code: error.code,
|
|
15
|
-
message:
|
|
17
|
+
message: message.value,
|
|
16
18
|
};
|
|
17
19
|
if (error.details !== null) {
|
|
18
20
|
if (typeof error.details.allowed === "boolean")
|
|
19
21
|
response.allowed = error.details.allowed;
|
|
20
|
-
response.details = error.details;
|
|
22
|
+
response.details = boundOutputDetails(error.details);
|
|
23
|
+
}
|
|
24
|
+
if (message.truncated) {
|
|
25
|
+
const details = response.details !== undefined &&
|
|
26
|
+
response.details !== null &&
|
|
27
|
+
typeof response.details === "object" &&
|
|
28
|
+
!Array.isArray(response.details)
|
|
29
|
+
? response.details
|
|
30
|
+
: {};
|
|
31
|
+
response.details = {
|
|
32
|
+
...details,
|
|
33
|
+
message_total: message.total,
|
|
34
|
+
message_limit: FAILURE_MESSAGE_LENGTH_LIMIT,
|
|
35
|
+
message_truncated: true,
|
|
36
|
+
};
|
|
21
37
|
}
|
|
22
38
|
return JSON.stringify(response);
|
|
23
39
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
40
|
+
const INDENT = " ";
|
|
41
|
+
function isPrimitive(value) {
|
|
42
|
+
return value === null || typeof value !== "object";
|
|
43
|
+
}
|
|
44
|
+
function formatPrimitive(value) {
|
|
45
|
+
if (value === null)
|
|
46
|
+
return "null";
|
|
47
|
+
return String(value);
|
|
48
|
+
}
|
|
49
|
+
function inlineValue(value) {
|
|
50
|
+
if (isPrimitive(value))
|
|
51
|
+
return formatPrimitive(value);
|
|
52
|
+
if (Array.isArray(value)) {
|
|
53
|
+
if (value.length === 0)
|
|
54
|
+
return "[]";
|
|
55
|
+
if (value.every(isPrimitive))
|
|
56
|
+
return `[${value.map(formatPrimitive).join(", ")}]`;
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
return Object.keys(value).length === 0 ? "{}" : null;
|
|
60
|
+
}
|
|
61
|
+
function formatListItem(value, indent) {
|
|
62
|
+
const inline = inlineValue(value);
|
|
63
|
+
if (inline !== null)
|
|
64
|
+
return [`${indent}- ${inline}`];
|
|
65
|
+
const nested = formatValue(value, `${indent}${INDENT}`);
|
|
66
|
+
if (Array.isArray(value))
|
|
67
|
+
return [`${indent}-`, ...nested];
|
|
68
|
+
const itemIndent = `${indent}${INDENT}`;
|
|
69
|
+
return [`${indent}- ${nested[0].slice(itemIndent.length)}`, ...nested.slice(1)];
|
|
70
|
+
}
|
|
71
|
+
function formatValue(value, indent = "") {
|
|
72
|
+
const inline = inlineValue(value);
|
|
73
|
+
if (inline !== null)
|
|
74
|
+
return [`${indent}${inline}`];
|
|
75
|
+
if (isPrimitive(value))
|
|
76
|
+
return [`${indent}${formatPrimitive(value)}`];
|
|
77
|
+
if (Array.isArray(value))
|
|
78
|
+
return value.flatMap((item) => formatListItem(item, indent));
|
|
79
|
+
return Object.entries(value).flatMap(([key, child]) => formatField(key, child, indent));
|
|
80
|
+
}
|
|
81
|
+
function formatField(key, value, indent) {
|
|
82
|
+
const inline = inlineValue(value);
|
|
83
|
+
if (inline !== null)
|
|
84
|
+
return [`${indent}${key}: ${inline}`];
|
|
85
|
+
return [`${indent}${key}:`, ...formatValue(value, `${indent}${INDENT}`)];
|
|
28
86
|
}
|
|
29
87
|
function humanSuccess(command, payload) {
|
|
30
88
|
if (Object.keys(payload).length === 0)
|
|
31
89
|
return `${command}: ok`;
|
|
32
90
|
const lines = [`${command}: ok`];
|
|
33
|
-
for (const [key, value] of Object.entries(payload))
|
|
34
|
-
|
|
35
|
-
for (const item of value) {
|
|
36
|
-
if (typeof item === "object" && item !== null && !Array.isArray(item) && "name" in item && "status" in item) {
|
|
37
|
-
const name = item.name;
|
|
38
|
-
const status = item.status;
|
|
39
|
-
if (typeof name === "string" && typeof status === "string")
|
|
40
|
-
lines.push(` ${name}: ${status}`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
lines.push(` ${key}: ${formatValue(value)}`);
|
|
46
|
-
}
|
|
91
|
+
for (const [key, value] of Object.entries(payload))
|
|
92
|
+
lines.push(...formatField(key, value, INDENT));
|
|
47
93
|
return lines.join("\n");
|
|
48
94
|
}
|
|
49
95
|
function humanFailure(command, error) {
|
|
50
|
-
const
|
|
96
|
+
const message = boundOutputMessage(error.message);
|
|
97
|
+
const lines = [`${command}: rejected`, ` code: ${error.code}`, ` message: ${message.value}`];
|
|
51
98
|
if (error.details !== null)
|
|
52
|
-
lines.push(
|
|
99
|
+
lines.push(...formatField("details", boundOutputDetails(error.details), INDENT));
|
|
100
|
+
if (message.truncated) {
|
|
101
|
+
lines.push(...formatField("message_budget", {
|
|
102
|
+
total: message.total,
|
|
103
|
+
limit: FAILURE_MESSAGE_LENGTH_LIMIT,
|
|
104
|
+
truncated: true,
|
|
105
|
+
}, INDENT));
|
|
106
|
+
}
|
|
53
107
|
return lines.join("\n");
|
|
54
108
|
}
|
|
55
109
|
export function renderSuccess(mode, command, payload) {
|
package/dist/presentation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation.js","sourceRoot":"","sources":["../src/presentation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"presentation.js","sourceRoot":"","sources":["../src/presentation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { DIFF_EVIDENCE_SCHEMA_VERSION, EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS, EVIDENCE_MAX_DIFF_PATHS, REPOSITORY_EVIDENCE_SCHEMA_VERSION, type GitPathStat } from "./git.js";
|
|
2
|
+
import type { GitCheckpointPaths } from "./operation-authorization.js";
|
|
3
|
+
export { DIFF_EVIDENCE_SCHEMA_VERSION, EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS, EVIDENCE_MAX_DIFF_PATHS, REPOSITORY_EVIDENCE_SCHEMA_VERSION, };
|
|
4
|
+
export type { GitPathStat } from "./git.js";
|
|
5
|
+
export interface RepositoryEvidenceOptions {
|
|
6
|
+
readonly sessionId: string;
|
|
7
|
+
}
|
|
8
|
+
export interface RepositoryDiffOptions {
|
|
9
|
+
readonly sessionId: string;
|
|
10
|
+
readonly paths: readonly string[];
|
|
11
|
+
readonly from?: string;
|
|
12
|
+
readonly to?: string;
|
|
13
|
+
readonly includePatch?: boolean;
|
|
14
|
+
readonly maxBytes?: number;
|
|
15
|
+
readonly maxHunks?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface RepositoryEvidencePaths extends GitCheckpointPaths {
|
|
18
|
+
readonly stats: readonly GitPathStat[];
|
|
19
|
+
}
|
|
20
|
+
export interface RepositoryEvidenceBounds {
|
|
21
|
+
readonly maxPaths: number;
|
|
22
|
+
readonly maxDiffPaths: number;
|
|
23
|
+
readonly maxDiffBytes: number;
|
|
24
|
+
readonly maxDiffHunks: number;
|
|
25
|
+
}
|
|
26
|
+
export interface RepositoryEvidenceSnapshot {
|
|
27
|
+
readonly schemaVersion: typeof REPOSITORY_EVIDENCE_SCHEMA_VERSION;
|
|
28
|
+
readonly source: "git";
|
|
29
|
+
readonly guarantee: "git-observable-only";
|
|
30
|
+
readonly repositoryId: string;
|
|
31
|
+
readonly worktreePath: string;
|
|
32
|
+
readonly branchId: string;
|
|
33
|
+
readonly branchName: string;
|
|
34
|
+
readonly sessionId: string;
|
|
35
|
+
readonly sessionState: string;
|
|
36
|
+
readonly sessionCreatedAt: string;
|
|
37
|
+
readonly sessionUpdatedAt: string;
|
|
38
|
+
readonly baseRevision: string | null;
|
|
39
|
+
readonly baseRevisionProven: boolean;
|
|
40
|
+
readonly headId: string;
|
|
41
|
+
readonly clean: boolean;
|
|
42
|
+
readonly complete: boolean;
|
|
43
|
+
readonly incompleteReasons: readonly string[];
|
|
44
|
+
readonly paths: RepositoryEvidencePaths;
|
|
45
|
+
/** SHA-256 over all non-volatile evidence fields in this snapshot. */
|
|
46
|
+
readonly evidenceHash: string;
|
|
47
|
+
readonly bounds: RepositoryEvidenceBounds;
|
|
48
|
+
}
|
|
49
|
+
export interface RepositoryDiffEvidence {
|
|
50
|
+
readonly schemaVersion: typeof DIFF_EVIDENCE_SCHEMA_VERSION;
|
|
51
|
+
readonly source: "git";
|
|
52
|
+
readonly guarantee: "git-observable-only";
|
|
53
|
+
readonly repositoryId: string;
|
|
54
|
+
readonly worktreePath: string;
|
|
55
|
+
readonly branchId: string;
|
|
56
|
+
readonly branchName: string;
|
|
57
|
+
readonly sessionId: string;
|
|
58
|
+
readonly sessionState: string;
|
|
59
|
+
readonly headId: string;
|
|
60
|
+
readonly fromRevision: string;
|
|
61
|
+
readonly toRevision: string | null;
|
|
62
|
+
readonly paths: readonly string[];
|
|
63
|
+
readonly stats: readonly GitPathStat[];
|
|
64
|
+
readonly complete: boolean;
|
|
65
|
+
readonly incompleteReasons: readonly string[];
|
|
66
|
+
readonly patch: string | null;
|
|
67
|
+
readonly patchBytes: number;
|
|
68
|
+
readonly hunkCount: number;
|
|
69
|
+
readonly maxBytes: number;
|
|
70
|
+
readonly maxHunks: number;
|
|
71
|
+
/** SHA-256 over all non-volatile evidence fields in this diff. */
|
|
72
|
+
readonly evidenceHash: string;
|
|
73
|
+
}
|
|
74
|
+
export declare function evidenceHash(value: unknown): string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { DIFF_EVIDENCE_SCHEMA_VERSION, EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS, EVIDENCE_MAX_DIFF_PATHS, REPOSITORY_EVIDENCE_SCHEMA_VERSION, } from "./git.js";
|
|
3
|
+
export { DIFF_EVIDENCE_SCHEMA_VERSION, EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS, EVIDENCE_MAX_DIFF_PATHS, REPOSITORY_EVIDENCE_SCHEMA_VERSION, };
|
|
4
|
+
export function evidenceHash(value) {
|
|
5
|
+
return createHash("sha256").update(JSON.stringify(value)).digest("hex");
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=repository-evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository-evidence.js","sourceRoot":"","sources":["../src/repository-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,kCAAkC,GAEnC,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,kCAAkC,GACnC,CAAC;AA8EF,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { SessionRegistryError, type RegistryErrorDetails } from "./errors.js";
|
|
2
|
+
/**
|
|
3
|
+
* Claim schema version 2 records the distinct overlap semantics below. A
|
|
4
|
+
* persisted v1 claim must be explicitly migrated before it is interpreted by
|
|
5
|
+
* the v2 authority.
|
|
6
|
+
*/
|
|
7
|
+
export declare const RESOURCE_CLAIM_SCHEMA_VERSION: 2;
|
|
8
|
+
export declare const LEGACY_RESOURCE_CLAIM_SCHEMA_VERSION: 1;
|
|
9
|
+
export declare const RESOURCE_CLAIM_MODES: readonly ["read", "write", "exclusive-write"];
|
|
10
|
+
export type ResourceClaimMode = (typeof RESOURCE_CLAIM_MODES)[number];
|
|
11
|
+
/**
|
|
12
|
+
* Normative mode definitions:
|
|
13
|
+
* - read is a non-mutating access declaration, not a consistency lease;
|
|
14
|
+
* - write is ordinary mutation authority and may coexist with read;
|
|
15
|
+
* - exclusive-write is stronger mutation authority and excludes every
|
|
16
|
+
* overlapping claim.
|
|
17
|
+
*
|
|
18
|
+
* A non-overlapping pair is always compatible, regardless of mode.
|
|
19
|
+
*/
|
|
20
|
+
export declare const RESOURCE_CLAIM_COMPATIBILITY_MATRIX: Readonly<Record<ResourceClaimMode, Readonly<Record<ResourceClaimMode, "compatible" | "conflict">>>>;
|
|
21
|
+
/** Access strength used by operation authorization; higher includes lower access. */
|
|
22
|
+
export declare const RESOURCE_CLAIM_ACCESS_STRENGTH: Readonly<Record<ResourceClaimMode, number>>;
|
|
23
|
+
export interface ResourceClaim {
|
|
24
|
+
readonly schemaVersion: typeof RESOURCE_CLAIM_SCHEMA_VERSION;
|
|
25
|
+
readonly claimId: string;
|
|
26
|
+
readonly sessionId: string;
|
|
27
|
+
readonly repositoryId: string;
|
|
28
|
+
readonly worktreePath: string;
|
|
29
|
+
/** Canonical repository-relative POSIX path or supported glob. */
|
|
30
|
+
readonly resource: string;
|
|
31
|
+
readonly mode: ResourceClaimMode;
|
|
32
|
+
readonly createdAt: string;
|
|
33
|
+
readonly updatedAt: string;
|
|
34
|
+
}
|
|
35
|
+
export interface ResourceClaimInput {
|
|
36
|
+
readonly resource: string;
|
|
37
|
+
readonly mode: ResourceClaimMode;
|
|
38
|
+
readonly repositoryId?: string;
|
|
39
|
+
readonly repository_id?: string;
|
|
40
|
+
readonly sessionId?: string;
|
|
41
|
+
readonly session_id?: string;
|
|
42
|
+
readonly worktreePath?: string;
|
|
43
|
+
readonly worktree_path?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface ClaimOwnerContext {
|
|
46
|
+
readonly sessionId: string;
|
|
47
|
+
readonly repositoryId: string;
|
|
48
|
+
readonly worktreePath: string;
|
|
49
|
+
readonly state: string;
|
|
50
|
+
}
|
|
51
|
+
export interface CanonicalResourceClaimInput {
|
|
52
|
+
readonly resource: string;
|
|
53
|
+
readonly mode: ResourceClaimMode;
|
|
54
|
+
}
|
|
55
|
+
export declare function isResourceClaimMode(value: unknown): value is ResourceClaimMode;
|
|
56
|
+
export declare function claimModeGrantsAccess(granted: ResourceClaimMode, required: ResourceClaimMode): boolean;
|
|
57
|
+
export declare function canonicalClaimId(sessionId: string, resource: string, mode: ResourceClaimMode): string;
|
|
58
|
+
export declare function canonicalizeClaimInput(input: ResourceClaimInput, owner: ClaimOwnerContext): CanonicalResourceClaimInput;
|
|
59
|
+
/**
|
|
60
|
+
* Canonicalize a claim lexically and against the physical worktree. The
|
|
61
|
+
* operation is deliberately conservative: it rejects syntax that cannot be
|
|
62
|
+
* represented unambiguously instead of guessing what a caller meant.
|
|
63
|
+
*/
|
|
64
|
+
export declare function canonicalizeClaimResource(resource: string, worktreePath: string): string;
|
|
65
|
+
/**
|
|
66
|
+
* Canonicalize a concrete repository-relative path (NOT a glob pattern)
|
|
67
|
+
* against the physical worktree. Any `*` or `?` characters in the input are
|
|
68
|
+
* treated as literal filename characters, not glob wildcards. The path is
|
|
69
|
+
* validated for traversal and symlink escapes exactly like
|
|
70
|
+
* `canonicalizeClaimResource`, but without glob expansion or candidate
|
|
71
|
+
* scanning.
|
|
72
|
+
*/
|
|
73
|
+
export declare function canonicalizeConcretePath(resource: string, worktreePath: string): string;
|
|
74
|
+
/** Validate a resource already persisted as canonical without requiring its worktree to exist. */
|
|
75
|
+
export declare function assertCanonicalClaimResource(resource: string): void;
|
|
76
|
+
export declare function createResourceClaim(input: CanonicalResourceClaimInput, owner: ClaimOwnerContext, timestamp: string): ResourceClaim;
|
|
77
|
+
export declare function cloneResourceClaim(claim: ResourceClaim): ResourceClaim;
|
|
78
|
+
export declare function claimsOverlap(left: ResourceClaim, right: ResourceClaim): boolean;
|
|
79
|
+
/** Match a canonical concrete repository resource against a persisted claim. */
|
|
80
|
+
export declare function resourceMatchesClaim(claim: Pick<ResourceClaim, "resource">, resource: string): boolean;
|
|
81
|
+
/** Apply the existing claim compatibility matrix to one concrete resource. */
|
|
82
|
+
export declare function resourceClaimConflictsWithAccess(claim: Pick<ResourceClaim, "resource" | "mode">, resource: string, requiredMode: ResourceClaimMode): boolean;
|
|
83
|
+
export declare function claimsConflict(left: ResourceClaim, right: ResourceClaim): boolean;
|
|
84
|
+
export declare function claimSortKey(claim: Pick<ResourceClaim, "sessionId" | "resource" | "mode" | "claimId">): string;
|
|
85
|
+
export declare function sortResourceClaims<T extends Pick<ResourceClaim, "sessionId" | "resource" | "mode" | "claimId">>(claims: readonly T[]): T[];
|
|
86
|
+
export declare function compareCodePointStrings(left: string, right: string): number;
|
|
87
|
+
export declare function claimError(code: "INVALID_CLAIM" | "INVALID_CLAIM_RESOURCE" | "CLAIM_PATH_TRAVERSAL" | "CLAIM_SYMLINK_ESCAPE" | "CLAIM_AMBIGUOUS_PATH" | "UNSUPPORTED_CLAIM_GLOB" | "CLAIM_REPOSITORY_MISMATCH" | "CLAIM_SESSION_MISMATCH" | "DUPLICATE_CLAIM" | "CONTRADICTORY_CLAIM" | "RESOURCE_CLAIM_CONFLICT" | "CLAIM_NOT_FOUND" | "SESSION_NOT_ACTIVE" | "UNSUPPORTED_CLAIM_SCHEMA_VERSION", message: string, details?: RegistryErrorDetails): SessionRegistryError;
|