@claudexor/schema 3.2.1 → 3.3.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/apply-eligibility.d.ts +20 -10
- package/dist/apply-eligibility.d.ts.map +1 -1
- package/dist/apply-eligibility.js +2 -1
- package/dist/apply-eligibility.js.map +1 -1
- package/dist/control-operation-responses.d.ts +20 -7
- package/dist/control-operation-responses.d.ts.map +1 -1
- package/dist/control-run-detail.d.ts +144 -19
- package/dist/control-run-detail.d.ts.map +1 -1
- package/dist/control-run-detail.js +39 -1
- package/dist/control-run-detail.js.map +1 -1
- package/dist/control-run-failure.d.ts +57 -0
- package/dist/control-run-failure.d.ts.map +1 -0
- package/dist/control-run-failure.js +89 -0
- package/dist/control-run-failure.js.map +1 -0
- package/dist/control-run-scope.d.ts +17 -0
- package/dist/control-run-scope.d.ts.map +1 -1
- package/dist/control-run-scope.js +21 -0
- package/dist/control-run-scope.js.map +1 -1
- package/dist/control.d.ts +42 -45
- package/dist/control.d.ts.map +1 -1
- package/dist/control.js +6 -62
- package/dist/control.js.map +1 -1
- package/dist/credential-profile-snapshot.d.ts +35 -14
- package/dist/credential-profile-snapshot.d.ts.map +1 -1
- package/dist/credential-profile.d.ts +53 -5
- package/dist/credential-profile.d.ts.map +1 -1
- package/dist/credential-profile.js +18 -7
- package/dist/credential-profile.js.map +1 -1
- package/dist/harness-confinement.d.ts +64 -0
- package/dist/harness-confinement.d.ts.map +1 -0
- package/dist/harness-confinement.js +64 -0
- package/dist/harness-confinement.js.map +1 -0
- package/dist/harness.d.ts +30 -10
- package/dist/harness.d.ts.map +1 -1
- package/dist/harness.js +6 -18
- package/dist/harness.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/primitives.js +1 -1
- package/dist/primitives.js.map +1 -1
- package/dist/quota.d.ts +9 -9
- package/dist/quota.d.ts.map +1 -1
- package/dist/quota.js +5 -0
- package/dist/quota.js.map +1 -1
- package/dist/setup-device-code-envelope.d.ts +7 -10
- package/dist/setup-device-code-envelope.d.ts.map +1 -1
- package/dist/setup-device-code-envelope.js +7 -2
- package/dist/setup-device-code-envelope.js.map +1 -1
- package/dist/setup-login-input.d.ts +38 -0
- package/dist/setup-login-input.d.ts.map +1 -0
- package/dist/setup-login-input.js +32 -0
- package/dist/setup-login-input.js.map +1 -0
- package/dist/setup.d.ts +50 -43
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +59 -61
- package/dist/setup.js.map +1 -1
- package/generated/AgentCapabilityCatalog.schema.json +1 -1
- package/generated/ControlCredentialProfileCreateRequest.schema.json +1 -1
- package/generated/ControlCredentialProfileCreateResponse.schema.json +10 -1
- package/generated/ControlCredentialProfileUpdateResponse.schema.json +10 -1
- package/generated/ControlCredentialProfilesQueryResponse.schema.json +13 -3
- package/generated/ControlCredentialProfilesResponse.schema.json +10 -1
- package/generated/ControlCredentialProfilesSnapshotResponse.schema.json +13 -3
- package/generated/ControlHarnessListResponse.schema.json +1 -1
- package/generated/ControlQuotaResponse.schema.json +2 -1
- package/generated/ControlRunAgainDraft.schema.json +11 -1
- package/generated/ControlRunDetail.schema.json +66 -2
- package/generated/ControlRunListResponse.schema.json +19 -2
- package/generated/ControlRunStartRequest.schema.json +11 -1
- package/generated/ControlRunSummary.schema.json +19 -2
- package/generated/ControlSetupJobEvent.schema.json +4 -7
- package/generated/ControlSetupJobInputRequest.schema.json +22 -0
- package/generated/ControlSetupJobSnapshot.schema.json +4 -7
- package/generated/ControlThread.schema.json +1 -1
- package/generated/ControlThreadCreateRequest.schema.json +5 -0
- package/generated/ControlThreadDetail.schema.json +1 -1
- package/generated/ControlThreadListResponse.schema.json +1 -1
- package/generated/ControlThreadUpdateRequest.schema.json +1 -1
- package/generated/CredentialProfileStatus.schema.json +10 -1
- package/generated/HarnessManifest.schema.json +1 -1
- package/generated/HarnessStatusDto.schema.json +1 -1
- package/generated/McpRunHandleResult.schema.json +19 -2
- package/generated/McpRunToolResult.schema.json +19 -2
- package/generated/RunFailure.schema.json +19 -2
- package/generated/Thread.schema.json +1 -1
- package/package.json +2 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { z } from "zod/v3";
|
|
2
2
|
/**
|
|
3
3
|
* The credential transport a profile isolates (INV-135). `config_dir_login` is
|
|
4
|
-
* a vendor-owned login living in a Claudexor-scoped config dir
|
|
5
|
-
* CLAUDE_CONFIG_DIR /
|
|
6
|
-
* secret-store references.
|
|
7
|
-
*
|
|
4
|
+
* a vendor-owned login living in a Claudexor-scoped config dir or HOME
|
|
5
|
+
* (Claude CLAUDE_CONFIG_DIR / Codex CODEX_HOME / Cursor file-store HOME);
|
|
6
|
+
* `oauth_token` and `api_key` are secret-store references. Default vendor
|
|
7
|
+
* stores are NEVER a profile's isolation locator — profiles are additive.
|
|
8
8
|
*/
|
|
9
9
|
export declare const CredentialKind: z.ZodEnum<["config_dir_login", "oauth_token", "api_key"]>;
|
|
10
10
|
export type CredentialKind = z.infer<typeof CredentialKind>;
|
|
@@ -71,6 +71,14 @@ export declare const CredentialProfileStatus: z.ZodObject<{
|
|
|
71
71
|
harness_id: z.ZodString;
|
|
72
72
|
availability: z.ZodEnum<["available", "unavailable", "unknown"]>;
|
|
73
73
|
verification: z.ZodEnum<["passed", "failed", "not_run"]>;
|
|
74
|
+
/** WHAT the `verification` verdict is worth. `local_store` means only that
|
|
75
|
+
* this profile's own credential material is present and well-formed where
|
|
76
|
+
* it should be — it cannot tell a live token from a revoked one.
|
|
77
|
+
* `vendor` means the vendor itself answered a request made with THIS
|
|
78
|
+
* profile's credential. A router that needs "configured AND healthy" must
|
|
79
|
+
* read this alongside `verification`; `passed` + `local_store` promises
|
|
80
|
+
* strictly less than it sounds. */
|
|
81
|
+
verification_source: z.ZodDefault<z.ZodEnum<["local_store", "vendor"]>>;
|
|
74
82
|
detail: z.ZodOptional<z.ZodString>;
|
|
75
83
|
last_verified_at: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
76
84
|
}, "strict", z.ZodTypeAny, {
|
|
@@ -78,6 +86,7 @@ export declare const CredentialProfileStatus: z.ZodObject<{
|
|
|
78
86
|
harness_id: string;
|
|
79
87
|
availability: "available" | "unavailable" | "unknown";
|
|
80
88
|
verification: "failed" | "not_run" | "passed";
|
|
89
|
+
verification_source: "local_store" | "vendor";
|
|
81
90
|
detail?: string | undefined;
|
|
82
91
|
last_verified_at: string | null;
|
|
83
92
|
}, {
|
|
@@ -85,6 +94,7 @@ export declare const CredentialProfileStatus: z.ZodObject<{
|
|
|
85
94
|
harness_id: string;
|
|
86
95
|
availability: "available" | "unavailable" | "unknown";
|
|
87
96
|
verification: "failed" | "not_run" | "passed";
|
|
97
|
+
verification_source?: "local_store" | "vendor" | undefined;
|
|
88
98
|
detail?: string | undefined;
|
|
89
99
|
last_verified_at?: string | null | undefined;
|
|
90
100
|
}>;
|
|
@@ -292,6 +302,14 @@ export declare const ControlCredentialProfilesResponse: z.ZodObject<{
|
|
|
292
302
|
harness_id: z.ZodString;
|
|
293
303
|
availability: z.ZodEnum<["available", "unavailable", "unknown"]>;
|
|
294
304
|
verification: z.ZodEnum<["passed", "failed", "not_run"]>;
|
|
305
|
+
/** WHAT the `verification` verdict is worth. `local_store` means only that
|
|
306
|
+
* this profile's own credential material is present and well-formed where
|
|
307
|
+
* it should be — it cannot tell a live token from a revoked one.
|
|
308
|
+
* `vendor` means the vendor itself answered a request made with THIS
|
|
309
|
+
* profile's credential. A router that needs "configured AND healthy" must
|
|
310
|
+
* read this alongside `verification`; `passed` + `local_store` promises
|
|
311
|
+
* strictly less than it sounds. */
|
|
312
|
+
verification_source: z.ZodDefault<z.ZodEnum<["local_store", "vendor"]>>;
|
|
295
313
|
detail: z.ZodOptional<z.ZodString>;
|
|
296
314
|
last_verified_at: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
297
315
|
}, "strict", z.ZodTypeAny, {
|
|
@@ -299,6 +317,7 @@ export declare const ControlCredentialProfilesResponse: z.ZodObject<{
|
|
|
299
317
|
harness_id: string;
|
|
300
318
|
availability: "available" | "unavailable" | "unknown";
|
|
301
319
|
verification: "failed" | "not_run" | "passed";
|
|
320
|
+
verification_source: "local_store" | "vendor";
|
|
302
321
|
detail?: string | undefined;
|
|
303
322
|
last_verified_at: string | null;
|
|
304
323
|
}, {
|
|
@@ -306,6 +325,7 @@ export declare const ControlCredentialProfilesResponse: z.ZodObject<{
|
|
|
306
325
|
harness_id: string;
|
|
307
326
|
availability: "available" | "unavailable" | "unknown";
|
|
308
327
|
verification: "failed" | "not_run" | "passed";
|
|
328
|
+
verification_source?: "local_store" | "vendor" | undefined;
|
|
309
329
|
detail?: string | undefined;
|
|
310
330
|
last_verified_at?: string | null | undefined;
|
|
311
331
|
}>;
|
|
@@ -335,6 +355,7 @@ export declare const ControlCredentialProfilesResponse: z.ZodObject<{
|
|
|
335
355
|
harness_id: string;
|
|
336
356
|
availability: "available" | "unavailable" | "unknown";
|
|
337
357
|
verification: "failed" | "not_run" | "passed";
|
|
358
|
+
verification_source: "local_store" | "vendor";
|
|
338
359
|
detail?: string | undefined;
|
|
339
360
|
last_verified_at: string | null;
|
|
340
361
|
};
|
|
@@ -358,6 +379,7 @@ export declare const ControlCredentialProfilesResponse: z.ZodObject<{
|
|
|
358
379
|
harness_id: string;
|
|
359
380
|
availability: "available" | "unavailable" | "unknown";
|
|
360
381
|
verification: "failed" | "not_run" | "passed";
|
|
382
|
+
verification_source?: "local_store" | "vendor" | undefined;
|
|
361
383
|
detail?: string | undefined;
|
|
362
384
|
last_verified_at?: string | null | undefined;
|
|
363
385
|
};
|
|
@@ -462,6 +484,7 @@ export declare const ControlCredentialProfilesResponse: z.ZodObject<{
|
|
|
462
484
|
harness_id: string;
|
|
463
485
|
availability: "available" | "unavailable" | "unknown";
|
|
464
486
|
verification: "failed" | "not_run" | "passed";
|
|
487
|
+
verification_source: "local_store" | "vendor";
|
|
465
488
|
detail?: string | undefined;
|
|
466
489
|
last_verified_at: string | null;
|
|
467
490
|
};
|
|
@@ -506,6 +529,7 @@ export declare const ControlCredentialProfilesResponse: z.ZodObject<{
|
|
|
506
529
|
harness_id: string;
|
|
507
530
|
availability: "available" | "unavailable" | "unknown";
|
|
508
531
|
verification: "failed" | "not_run" | "passed";
|
|
532
|
+
verification_source?: "local_store" | "vendor" | undefined;
|
|
509
533
|
detail?: string | undefined;
|
|
510
534
|
last_verified_at?: string | null | undefined;
|
|
511
535
|
};
|
|
@@ -600,6 +624,14 @@ export declare const ControlCredentialProfileUpdateResponse: z.ZodObject<{
|
|
|
600
624
|
harness_id: z.ZodString;
|
|
601
625
|
availability: z.ZodEnum<["available", "unavailable", "unknown"]>;
|
|
602
626
|
verification: z.ZodEnum<["passed", "failed", "not_run"]>;
|
|
627
|
+
/** WHAT the `verification` verdict is worth. `local_store` means only that
|
|
628
|
+
* this profile's own credential material is present and well-formed where
|
|
629
|
+
* it should be — it cannot tell a live token from a revoked one.
|
|
630
|
+
* `vendor` means the vendor itself answered a request made with THIS
|
|
631
|
+
* profile's credential. A router that needs "configured AND healthy" must
|
|
632
|
+
* read this alongside `verification`; `passed` + `local_store` promises
|
|
633
|
+
* strictly less than it sounds. */
|
|
634
|
+
verification_source: z.ZodDefault<z.ZodEnum<["local_store", "vendor"]>>;
|
|
603
635
|
detail: z.ZodOptional<z.ZodString>;
|
|
604
636
|
last_verified_at: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
605
637
|
}, "strict", z.ZodTypeAny, {
|
|
@@ -607,6 +639,7 @@ export declare const ControlCredentialProfileUpdateResponse: z.ZodObject<{
|
|
|
607
639
|
harness_id: string;
|
|
608
640
|
availability: "available" | "unavailable" | "unknown";
|
|
609
641
|
verification: "failed" | "not_run" | "passed";
|
|
642
|
+
verification_source: "local_store" | "vendor";
|
|
610
643
|
detail?: string | undefined;
|
|
611
644
|
last_verified_at: string | null;
|
|
612
645
|
}, {
|
|
@@ -614,6 +647,7 @@ export declare const ControlCredentialProfileUpdateResponse: z.ZodObject<{
|
|
|
614
647
|
harness_id: string;
|
|
615
648
|
availability: "available" | "unavailable" | "unknown";
|
|
616
649
|
verification: "failed" | "not_run" | "passed";
|
|
650
|
+
verification_source?: "local_store" | "vendor" | undefined;
|
|
617
651
|
detail?: string | undefined;
|
|
618
652
|
last_verified_at?: string | null | undefined;
|
|
619
653
|
}>;
|
|
@@ -633,6 +667,7 @@ export declare const ControlCredentialProfileUpdateResponse: z.ZodObject<{
|
|
|
633
667
|
harness_id: string;
|
|
634
668
|
availability: "available" | "unavailable" | "unknown";
|
|
635
669
|
verification: "failed" | "not_run" | "passed";
|
|
670
|
+
verification_source: "local_store" | "vendor";
|
|
636
671
|
detail?: string | undefined;
|
|
637
672
|
last_verified_at: string | null;
|
|
638
673
|
};
|
|
@@ -652,12 +687,13 @@ export declare const ControlCredentialProfileUpdateResponse: z.ZodObject<{
|
|
|
652
687
|
harness_id: string;
|
|
653
688
|
availability: "available" | "unavailable" | "unknown";
|
|
654
689
|
verification: "failed" | "not_run" | "passed";
|
|
690
|
+
verification_source?: "local_store" | "vendor" | undefined;
|
|
655
691
|
detail?: string | undefined;
|
|
656
692
|
last_verified_at?: string | null | undefined;
|
|
657
693
|
};
|
|
658
694
|
}>;
|
|
659
695
|
export type ControlCredentialProfileUpdateResponse = z.infer<typeof ControlCredentialProfileUpdateResponse>;
|
|
660
|
-
/** Register a config-dir login profile (claude/codex) from a UI surface —
|
|
696
|
+
/** Register a config-dir login profile (claude/codex/cursor) from a UI surface —
|
|
661
697
|
* the same ONE locked registration owner `claudexor profiles add` uses. */
|
|
662
698
|
export declare const ControlCredentialProfileCreateRequest: z.ZodObject<{
|
|
663
699
|
harnessId: z.ZodString;
|
|
@@ -808,6 +844,14 @@ export declare const ControlCredentialProfileCreateResponse: z.ZodObject<{
|
|
|
808
844
|
harness_id: z.ZodString;
|
|
809
845
|
availability: z.ZodEnum<["available", "unavailable", "unknown"]>;
|
|
810
846
|
verification: z.ZodEnum<["passed", "failed", "not_run"]>;
|
|
847
|
+
/** WHAT the `verification` verdict is worth. `local_store` means only that
|
|
848
|
+
* this profile's own credential material is present and well-formed where
|
|
849
|
+
* it should be — it cannot tell a live token from a revoked one.
|
|
850
|
+
* `vendor` means the vendor itself answered a request made with THIS
|
|
851
|
+
* profile's credential. A router that needs "configured AND healthy" must
|
|
852
|
+
* read this alongside `verification`; `passed` + `local_store` promises
|
|
853
|
+
* strictly less than it sounds. */
|
|
854
|
+
verification_source: z.ZodDefault<z.ZodEnum<["local_store", "vendor"]>>;
|
|
811
855
|
detail: z.ZodOptional<z.ZodString>;
|
|
812
856
|
last_verified_at: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
813
857
|
}, "strict", z.ZodTypeAny, {
|
|
@@ -815,6 +859,7 @@ export declare const ControlCredentialProfileCreateResponse: z.ZodObject<{
|
|
|
815
859
|
harness_id: string;
|
|
816
860
|
availability: "available" | "unavailable" | "unknown";
|
|
817
861
|
verification: "failed" | "not_run" | "passed";
|
|
862
|
+
verification_source: "local_store" | "vendor";
|
|
818
863
|
detail?: string | undefined;
|
|
819
864
|
last_verified_at: string | null;
|
|
820
865
|
}, {
|
|
@@ -822,6 +867,7 @@ export declare const ControlCredentialProfileCreateResponse: z.ZodObject<{
|
|
|
822
867
|
harness_id: string;
|
|
823
868
|
availability: "available" | "unavailable" | "unknown";
|
|
824
869
|
verification: "failed" | "not_run" | "passed";
|
|
870
|
+
verification_source?: "local_store" | "vendor" | undefined;
|
|
825
871
|
detail?: string | undefined;
|
|
826
872
|
last_verified_at?: string | null | undefined;
|
|
827
873
|
}>;
|
|
@@ -841,6 +887,7 @@ export declare const ControlCredentialProfileCreateResponse: z.ZodObject<{
|
|
|
841
887
|
harness_id: string;
|
|
842
888
|
availability: "available" | "unavailable" | "unknown";
|
|
843
889
|
verification: "failed" | "not_run" | "passed";
|
|
890
|
+
verification_source: "local_store" | "vendor";
|
|
844
891
|
detail?: string | undefined;
|
|
845
892
|
last_verified_at: string | null;
|
|
846
893
|
};
|
|
@@ -860,6 +907,7 @@ export declare const ControlCredentialProfileCreateResponse: z.ZodObject<{
|
|
|
860
907
|
harness_id: string;
|
|
861
908
|
availability: "available" | "unavailable" | "unknown";
|
|
862
909
|
verification: "failed" | "not_run" | "passed";
|
|
910
|
+
verification_source?: "local_store" | "vendor" | undefined;
|
|
863
911
|
detail?: string | undefined;
|
|
864
912
|
last_verified_at?: string | null | undefined;
|
|
865
913
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-profile.d.ts","sourceRoot":"","sources":["../src/credential-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,2DAIxB,CAAC;AACJ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6D3B,CAAC;AACJ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"credential-profile.d.ts","sourceRoot":"","sources":["../src/credential-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@ import { Id, IsoTimestamp } from "./primitives.js";
|
|
|
4
4
|
import { AuthAvailability, AuthVerification } from "./auth.js";
|
|
5
5
|
/**
|
|
6
6
|
* The credential transport a profile isolates (INV-135). `config_dir_login` is
|
|
7
|
-
* a vendor-owned login living in a Claudexor-scoped config dir
|
|
8
|
-
* CLAUDE_CONFIG_DIR /
|
|
9
|
-
* secret-store references.
|
|
10
|
-
*
|
|
7
|
+
* a vendor-owned login living in a Claudexor-scoped config dir or HOME
|
|
8
|
+
* (Claude CLAUDE_CONFIG_DIR / Codex CODEX_HOME / Cursor file-store HOME);
|
|
9
|
+
* `oauth_token` and `api_key` are secret-store references. Default vendor
|
|
10
|
+
* stores are NEVER a profile's isolation locator — profiles are additive.
|
|
11
11
|
*/
|
|
12
12
|
export const CredentialKind = z
|
|
13
13
|
.enum(["config_dir_login", "oauth_token", "api_key"])
|
|
@@ -86,10 +86,21 @@ export const CredentialProfileStatus = z
|
|
|
86
86
|
harness_id: Id,
|
|
87
87
|
availability: AuthAvailability,
|
|
88
88
|
verification: AuthVerification,
|
|
89
|
+
/** WHAT the `verification` verdict is worth. `local_store` means only that
|
|
90
|
+
* this profile's own credential material is present and well-formed where
|
|
91
|
+
* it should be — it cannot tell a live token from a revoked one.
|
|
92
|
+
* `vendor` means the vendor itself answered a request made with THIS
|
|
93
|
+
* profile's credential. A router that needs "configured AND healthy" must
|
|
94
|
+
* read this alongside `verification`; `passed` + `local_store` promises
|
|
95
|
+
* strictly less than it sounds. */
|
|
96
|
+
verification_source: z
|
|
97
|
+
.enum(["local_store", "vendor"])
|
|
98
|
+
.default("local_store")
|
|
99
|
+
.describe("How the verification verdict was reached: local_store = the profile's credential material is present locally (says nothing about the token being live); vendor = the vendor answered a request made with this profile's own credential."),
|
|
89
100
|
detail: z.string().optional().describe("Redacted human-readable probe evidence."),
|
|
90
101
|
last_verified_at: IsoTimestamp.nullable()
|
|
91
102
|
.default(null)
|
|
92
|
-
.describe("When
|
|
103
|
+
.describe("When the verification verdict was established, by the method named in verification_source; null = never verified."),
|
|
93
104
|
})
|
|
94
105
|
.strict()
|
|
95
106
|
.describe("Doctor-owned readiness projection for one credential profile; never durable config.");
|
|
@@ -213,11 +224,11 @@ export const ControlCredentialProfileUpdateResponse = z
|
|
|
213
224
|
.object({ profile: CredentialProfile, status: CredentialProfileStatus })
|
|
214
225
|
.strict()
|
|
215
226
|
.describe("The updated credential profile with its doctor readiness projection.");
|
|
216
|
-
/** Register a config-dir login profile (claude/codex) from a UI surface —
|
|
227
|
+
/** Register a config-dir login profile (claude/codex/cursor) from a UI surface —
|
|
217
228
|
* the same ONE locked registration owner `claudexor profiles add` uses. */
|
|
218
229
|
export const ControlCredentialProfileCreateRequest = z
|
|
219
230
|
.object({
|
|
220
|
-
harnessId: Id.describe("Harness family (claude | codex) for the config-dir login profile."),
|
|
231
|
+
harnessId: Id.describe("Harness family (claude | codex | cursor) for the config-dir login profile."),
|
|
221
232
|
profileId: Id.describe("New profile id (bounded slug, unique per harness)."),
|
|
222
233
|
displayName: z
|
|
223
234
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-profile.js","sourceRoot":"","sources":["../src/credential-profile.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"credential-profile.js","sourceRoot":"","sources":["../src/credential-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { z } from "zod/v3";
|
|
2
|
+
/**
|
|
3
|
+
* An APPLIED filesystem boundary, not a request for one.
|
|
4
|
+
*
|
|
5
|
+
* `verified_denied_path` is the path the profile was executed against before
|
|
6
|
+
* the harness ran: the read was refused on this host, for this attempt. A field
|
|
7
|
+
* that only said "confined: true" would be the promise this whole mechanism
|
|
8
|
+
* exists to replace — which is why the two fields are REQUIRED together and a
|
|
9
|
+
* mechanism name without its proof is not representable in this type.
|
|
10
|
+
*/
|
|
11
|
+
export declare const HarnessConfinement: z.ZodObject<{
|
|
12
|
+
mechanism: z.ZodString;
|
|
13
|
+
profile: z.ZodString;
|
|
14
|
+
profile_digest: z.ZodString;
|
|
15
|
+
verified_denied_path: z.ZodString;
|
|
16
|
+
}, "strip", z.ZodTypeAny, {
|
|
17
|
+
mechanism: string;
|
|
18
|
+
profile: string;
|
|
19
|
+
profile_digest: string;
|
|
20
|
+
verified_denied_path: string;
|
|
21
|
+
}, {
|
|
22
|
+
mechanism: string;
|
|
23
|
+
profile: string;
|
|
24
|
+
profile_digest: string;
|
|
25
|
+
verified_denied_path: string;
|
|
26
|
+
}>;
|
|
27
|
+
export type HarnessConfinement = z.infer<typeof HarnessConfinement>;
|
|
28
|
+
/**
|
|
29
|
+
* The confinement half of an attempt record, as every reader sees it.
|
|
30
|
+
*
|
|
31
|
+
* Deliberately NOT a zod object: this is the projection shape shared by the
|
|
32
|
+
* orchestrator (which writes it) and the control API (which reads the written
|
|
33
|
+
* artifact back), and the artifact itself is untyped YAML from a possibly older
|
|
34
|
+
* engine — so the fields arrive as `unknown` and the predicate below is the one
|
|
35
|
+
* place that decides what they mean.
|
|
36
|
+
*/
|
|
37
|
+
export interface AppliedConfinementRecord {
|
|
38
|
+
confinement_mechanism?: unknown;
|
|
39
|
+
confinement_profile_digest?: unknown;
|
|
40
|
+
confinement_verified_denied_path?: unknown;
|
|
41
|
+
/** Why NO boundary was applied; present exactly when the boundary is absent. */
|
|
42
|
+
confinement_unavailable_reason?: unknown;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Whether an attempt record proves a boundary was actually enforced.
|
|
46
|
+
*
|
|
47
|
+
* ONE owner, because the answer is load-bearing in two codebases: a mechanism
|
|
48
|
+
* named WITHOUT the path it was proven to deny is exactly the bare promise the
|
|
49
|
+
* applied-fact block exists to replace, so it reads as NO boundary. An external
|
|
50
|
+
* orchestrator asks this question and nothing else — never the platform, never
|
|
51
|
+
* the mechanism's name.
|
|
52
|
+
*/
|
|
53
|
+
export declare function confinementBoundaryProven(record: AppliedConfinementRecord | null): boolean;
|
|
54
|
+
export declare const ContainmentKind: z.ZodEnum<["env_or_file_injection", "scoped_home_keychain_bridge", "host_user_context", "process_sandbox", "container"]>;
|
|
55
|
+
export type ContainmentKind = z.infer<typeof ContainmentKind>;
|
|
56
|
+
export declare const IsolationCapabilities: z.ZodDefault<z.ZodObject<{
|
|
57
|
+
supported_containment: z.ZodDefault<z.ZodArray<z.ZodEnum<["env_or_file_injection", "scoped_home_keychain_bridge", "host_user_context", "process_sandbox", "container"]>, "many">>;
|
|
58
|
+
}, "strip", z.ZodTypeAny, {
|
|
59
|
+
supported_containment: ("container" | "env_or_file_injection" | "host_user_context" | "process_sandbox" | "scoped_home_keychain_bridge")[];
|
|
60
|
+
}, {
|
|
61
|
+
supported_containment?: ("container" | "env_or_file_injection" | "host_user_context" | "process_sandbox" | "scoped_home_keychain_bridge")[] | undefined;
|
|
62
|
+
}>>;
|
|
63
|
+
export type IsolationCapabilities = z.infer<typeof IsolationCapabilities>;
|
|
64
|
+
//# sourceMappingURL=harness-confinement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness-confinement.d.ts","sourceRoot":"","sources":["../src/harness-confinement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAkBmD,CAAC;AACnF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAC3C,gFAAgF;IAChF,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAC1C;AAID;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI,GAAG,OAAO,CAO1F;AAED,eAAO,MAAM,eAAe,0HAUzB,CAAC;AACJ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,qBAAqB;;;;;;GAQgC,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { z } from "zod/v3";
|
|
2
|
+
import { ContentHash } from "./primitives.js";
|
|
3
|
+
/**
|
|
4
|
+
* An APPLIED filesystem boundary, not a request for one.
|
|
5
|
+
*
|
|
6
|
+
* `verified_denied_path` is the path the profile was executed against before
|
|
7
|
+
* the harness ran: the read was refused on this host, for this attempt. A field
|
|
8
|
+
* that only said "confined: true" would be the promise this whole mechanism
|
|
9
|
+
* exists to replace — which is why the two fields are REQUIRED together and a
|
|
10
|
+
* mechanism name without its proof is not representable in this type.
|
|
11
|
+
*/
|
|
12
|
+
export const HarnessConfinement = z
|
|
13
|
+
.object({
|
|
14
|
+
mechanism: z
|
|
15
|
+
.string()
|
|
16
|
+
.min(1)
|
|
17
|
+
.describe("OPAQUE identifier of the OS mechanism that enforced the boundary. A reader must never branch on this value or on the host platform; the only question it may ask is whether a PROVEN boundary exists, which is this field AND verified_denied_path both present."),
|
|
18
|
+
profile: z
|
|
19
|
+
.string()
|
|
20
|
+
.min(1)
|
|
21
|
+
.describe("The exact policy the process was started under, in the mechanism's own encoding."),
|
|
22
|
+
profile_digest: ContentHash.describe("Digest of the policy text, for the attempt record."),
|
|
23
|
+
verified_denied_path: z
|
|
24
|
+
.string()
|
|
25
|
+
.min(1)
|
|
26
|
+
.describe("Path proven unreadable under this policy before the harness was spawned."),
|
|
27
|
+
})
|
|
28
|
+
.describe("An applied OS-enforced filesystem boundary for one harness process.");
|
|
29
|
+
const nonEmpty = (value) => typeof value === "string" && value.length > 0;
|
|
30
|
+
/**
|
|
31
|
+
* Whether an attempt record proves a boundary was actually enforced.
|
|
32
|
+
*
|
|
33
|
+
* ONE owner, because the answer is load-bearing in two codebases: a mechanism
|
|
34
|
+
* named WITHOUT the path it was proven to deny is exactly the bare promise the
|
|
35
|
+
* applied-fact block exists to replace, so it reads as NO boundary. An external
|
|
36
|
+
* orchestrator asks this question and nothing else — never the platform, never
|
|
37
|
+
* the mechanism's name.
|
|
38
|
+
*/
|
|
39
|
+
export function confinementBoundaryProven(record) {
|
|
40
|
+
if (!record)
|
|
41
|
+
return false;
|
|
42
|
+
return (nonEmpty(record.confinement_mechanism) &&
|
|
43
|
+
nonEmpty(record.confinement_profile_digest) &&
|
|
44
|
+
nonEmpty(record.confinement_verified_denied_path));
|
|
45
|
+
}
|
|
46
|
+
export const ContainmentKind = z
|
|
47
|
+
.enum([
|
|
48
|
+
"env_or_file_injection",
|
|
49
|
+
"scoped_home_keychain_bridge",
|
|
50
|
+
"host_user_context",
|
|
51
|
+
"process_sandbox",
|
|
52
|
+
"container",
|
|
53
|
+
])
|
|
54
|
+
.describe("Isolation containment level an adapter supports for run environments, from env/file injection through scoped-HOME keychain bridging to process sandboxes and containers.");
|
|
55
|
+
export const IsolationCapabilities = z
|
|
56
|
+
.object({
|
|
57
|
+
supported_containment: z
|
|
58
|
+
.array(ContainmentKind)
|
|
59
|
+
.default(["env_or_file_injection"])
|
|
60
|
+
.describe("Containment mechanisms the adapter can run under."),
|
|
61
|
+
})
|
|
62
|
+
.default({})
|
|
63
|
+
.describe("Declared isolation containment facts for a harness.");
|
|
64
|
+
//# sourceMappingURL=harness-confinement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness-confinement.js","sourceRoot":"","sources":["../src/harness-confinement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,kQAAkQ,CACnQ;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,kFAAkF,CAAC;IAC/F,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IAC1F,oBAAoB,EAAE,CAAC;SACpB,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,0EAA0E,CAAC;CACxF,CAAC;KACD,QAAQ,CAAC,qEAAqE,CAAC,CAAC;AAoBnF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAE5F;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAuC;IAC/E,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,CACL,QAAQ,CAAC,MAAM,CAAC,qBAAqB,CAAC;QACtC,QAAQ,CAAC,MAAM,CAAC,0BAA0B,CAAC;QAC3C,QAAQ,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,IAAI,CAAC;IACJ,uBAAuB;IACvB,6BAA6B;IAC7B,mBAAmB;IACnB,iBAAiB;IACjB,WAAW;CACZ,CAAC;KACD,QAAQ,CACP,0KAA0K,CAC3K,CAAC;AAGJ,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,qBAAqB,EAAE,CAAC;SACrB,KAAK,CAAC,eAAe,CAAC;SACtB,OAAO,CAAC,CAAC,uBAAuB,CAAC,CAAC;SAClC,QAAQ,CAAC,mDAAmD,CAAC;CACjE,CAAC;KACD,OAAO,CAAC,EAAE,CAAC;KACX,QAAQ,CAAC,qDAAqD,CAAC,CAAC"}
|
package/dist/harness.d.ts
CHANGED
|
@@ -259,16 +259,6 @@ export declare const AuthCapabilities: z.ZodDefault<z.ZodObject<{
|
|
|
259
259
|
}[] | undefined;
|
|
260
260
|
}>>;
|
|
261
261
|
export type AuthCapabilities = z.infer<typeof AuthCapabilities>;
|
|
262
|
-
export declare const ContainmentKind: z.ZodEnum<["env_or_file_injection", "scoped_home_keychain_bridge", "host_user_context", "process_sandbox", "container"]>;
|
|
263
|
-
export type ContainmentKind = z.infer<typeof ContainmentKind>;
|
|
264
|
-
export declare const IsolationCapabilities: z.ZodDefault<z.ZodObject<{
|
|
265
|
-
supported_containment: z.ZodDefault<z.ZodArray<z.ZodEnum<["env_or_file_injection", "scoped_home_keychain_bridge", "host_user_context", "process_sandbox", "container"]>, "many">>;
|
|
266
|
-
}, "strip", z.ZodTypeAny, {
|
|
267
|
-
supported_containment: ("container" | "env_or_file_injection" | "host_user_context" | "process_sandbox" | "scoped_home_keychain_bridge")[];
|
|
268
|
-
}, {
|
|
269
|
-
supported_containment?: ("container" | "env_or_file_injection" | "host_user_context" | "process_sandbox" | "scoped_home_keychain_bridge")[] | undefined;
|
|
270
|
-
}>>;
|
|
271
|
-
export type IsolationCapabilities = z.infer<typeof IsolationCapabilities>;
|
|
272
262
|
export declare const ReadonlyMechanism: z.ZodEnum<["fs_sandbox", "permission_deny", "tool_allowlist", "none"]>;
|
|
273
263
|
export type ReadonlyMechanism = z.infer<typeof ReadonlyMechanism>;
|
|
274
264
|
export declare const AccessControlCapabilities: z.ZodDefault<z.ZodObject<{
|
|
@@ -1335,6 +1325,24 @@ export declare const HarnessRunSpec: z.ZodObject<{
|
|
|
1335
1325
|
}[];
|
|
1336
1326
|
evidence_refs: string[];
|
|
1337
1327
|
}>>>;
|
|
1328
|
+
/** The APPLIED OS boundary this process starts inside; null = none (every
|
|
1329
|
+
* ordinary run). Consumed by the shared CLI run loop, never by adapters. */
|
|
1330
|
+
confinement: z.ZodDefault<z.ZodNullable<z.ZodObject<{
|
|
1331
|
+
mechanism: z.ZodString;
|
|
1332
|
+
profile: z.ZodString;
|
|
1333
|
+
profile_digest: z.ZodString;
|
|
1334
|
+
verified_denied_path: z.ZodString;
|
|
1335
|
+
}, "strip", z.ZodTypeAny, {
|
|
1336
|
+
mechanism: string;
|
|
1337
|
+
profile: string;
|
|
1338
|
+
profile_digest: string;
|
|
1339
|
+
verified_denied_path: string;
|
|
1340
|
+
}, {
|
|
1341
|
+
mechanism: string;
|
|
1342
|
+
profile: string;
|
|
1343
|
+
profile_digest: string;
|
|
1344
|
+
verified_denied_path: string;
|
|
1345
|
+
}>>>;
|
|
1338
1346
|
extra: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
1339
1347
|
}, "strip", z.ZodTypeAny, {
|
|
1340
1348
|
session_id: string;
|
|
@@ -1418,6 +1426,12 @@ export declare const HarnessRunSpec: z.ZodObject<{
|
|
|
1418
1426
|
}[];
|
|
1419
1427
|
evidence_refs: string[];
|
|
1420
1428
|
} | null | undefined;
|
|
1429
|
+
confinement: {
|
|
1430
|
+
mechanism: string;
|
|
1431
|
+
profile: string;
|
|
1432
|
+
profile_digest: string;
|
|
1433
|
+
verified_denied_path: string;
|
|
1434
|
+
} | null;
|
|
1421
1435
|
extra: Record<string, unknown>;
|
|
1422
1436
|
}, {
|
|
1423
1437
|
session_id: string;
|
|
@@ -1501,6 +1515,12 @@ export declare const HarnessRunSpec: z.ZodObject<{
|
|
|
1501
1515
|
}[];
|
|
1502
1516
|
evidence_refs: string[];
|
|
1503
1517
|
} | null | undefined;
|
|
1518
|
+
confinement?: {
|
|
1519
|
+
mechanism: string;
|
|
1520
|
+
profile: string;
|
|
1521
|
+
profile_digest: string;
|
|
1522
|
+
verified_denied_path: string;
|
|
1523
|
+
} | null | undefined;
|
|
1504
1524
|
extra?: Record<string, unknown> | undefined;
|
|
1505
1525
|
}>;
|
|
1506
1526
|
export type HarnessRunSpec = z.infer<typeof HarnessRunSpec>;
|
package/dist/harness.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"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"}
|
package/dist/harness.js
CHANGED
|
@@ -2,6 +2,7 @@ import { z } from "zod/v3";
|
|
|
2
2
|
import { AuthSourceKind, AuthSourceReadiness, CredentialRoute } from "./auth.js";
|
|
3
3
|
import { CredentialProfile } from "./credential-profile.js";
|
|
4
4
|
import { ToolRef } from "./tool-ref.js";
|
|
5
|
+
import { HarnessConfinement, IsolationCapabilities } from "./harness-confinement.js";
|
|
5
6
|
import { AccessProfile, AuthPreference, ExternalContextPolicy, Id, Intent, ProviderFamily, } from "./primitives.js";
|
|
6
7
|
import { Attachment, AttachmentInputClass } from "./attachment.js";
|
|
7
8
|
import { ImplementationTransport, RawContextPacket, RawGitPatchEnvelope, RawPatchRefusalCode, } from "./raw.js";
|
|
@@ -249,24 +250,6 @@ export const AuthCapabilities = z
|
|
|
249
250
|
})
|
|
250
251
|
.default({})
|
|
251
252
|
.describe("Declared auth routing facts for a harness.");
|
|
252
|
-
export const ContainmentKind = z
|
|
253
|
-
.enum([
|
|
254
|
-
"env_or_file_injection",
|
|
255
|
-
"scoped_home_keychain_bridge",
|
|
256
|
-
"host_user_context",
|
|
257
|
-
"process_sandbox",
|
|
258
|
-
"container",
|
|
259
|
-
])
|
|
260
|
-
.describe("Isolation containment level an adapter supports for run environments, from env/file injection through scoped-HOME keychain bridging to process sandboxes and containers.");
|
|
261
|
-
export const IsolationCapabilities = z
|
|
262
|
-
.object({
|
|
263
|
-
supported_containment: z
|
|
264
|
-
.array(ContainmentKind)
|
|
265
|
-
.default(["env_or_file_injection"])
|
|
266
|
-
.describe("Containment mechanisms the adapter can run under."),
|
|
267
|
-
})
|
|
268
|
-
.default({})
|
|
269
|
-
.describe("Declared isolation containment facts for a harness.");
|
|
270
253
|
export const ReadonlyMechanism = z
|
|
271
254
|
.enum(["fs_sandbox", "permission_deny", "tool_allowlist", "none"])
|
|
272
255
|
.describe("How read-only access is enforced for a harness: a filesystem sandbox, permission denial, a tool allowlist, or none (read-only intent is advisory).");
|
|
@@ -573,6 +556,11 @@ export const HarnessRunSpec = z
|
|
|
573
556
|
raw_context_packet: RawContextPacket.nullable()
|
|
574
557
|
.optional()
|
|
575
558
|
.describe("Hash-bound context packet supplied only to git-patch-envelope producers."),
|
|
559
|
+
/** The APPLIED OS boundary this process starts inside; null = none (every
|
|
560
|
+
* ordinary run). Consumed by the shared CLI run loop, never by adapters. */
|
|
561
|
+
confinement: HarnessConfinement.nullable()
|
|
562
|
+
.default(null)
|
|
563
|
+
.describe("OS-enforced filesystem boundary the harness process starts inside; null = none. Applied by the shared CLI run loop, not by adapters."),
|
|
576
564
|
extra: z
|
|
577
565
|
.record(z.string(), z.unknown())
|
|
578
566
|
.default({})
|