@sealant/api-contracts-next 0.40.0-next.765 → 0.40.0-next.767
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.
|
@@ -962,6 +962,7 @@ export declare const ControlPlaneAPI: HttpApi.HttpApi<"sealantControlPlaneApi",
|
|
|
962
962
|
readonly connectedAccountLoginClass: import("effect/Schema").optional<import("effect/Schema").Boolean>;
|
|
963
963
|
readonly kubernetesPersonLayout: import("effect/Schema").optional<import("effect/Schema").Boolean>;
|
|
964
964
|
readonly credentialPlacements: import("effect/Schema").optional<import("effect/Schema").Boolean>;
|
|
965
|
+
readonly connectedAccountApiKeys: import("effect/Schema").optional<import("effect/Schema").Boolean>;
|
|
965
966
|
}>>;
|
|
966
967
|
}>>, never, RequestRefusal, never> | import("effect/http-api/HttpApiEndpoint").HttpApiEndpoint<"getSetupState", "GET", "/v1/system/setup-state", never, never, never, never, import("effect/Schema").toCodecJson<import("effect/Schema").Struct<{
|
|
967
968
|
readonly needsSetup: import("effect/Schema").Boolean;
|
|
@@ -1533,9 +1534,13 @@ export declare const ControlPlaneAPI: HttpApi.HttpApi<"sealantControlPlaneApi",
|
|
|
1533
1534
|
readonly placementId: import("effect/Schema").String;
|
|
1534
1535
|
readonly accountId: import("effect/Schema").String;
|
|
1535
1536
|
readonly revision: import("effect/Schema").Int;
|
|
1536
|
-
readonly login: import("effect/Schema").Struct<{
|
|
1537
|
+
readonly login: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
1537
1538
|
readonly kind: import("effect/Schema").Literal<"subscription">;
|
|
1538
|
-
}
|
|
1539
|
+
}>, import("effect/Schema").Struct<{
|
|
1540
|
+
readonly kind: import("effect/Schema").Literal<"api-key">;
|
|
1541
|
+
readonly suffix: import("effect/Schema").String;
|
|
1542
|
+
readonly keyPath: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
1543
|
+
}>]>;
|
|
1539
1544
|
readonly pinned: import("effect/Schema").Boolean;
|
|
1540
1545
|
readonly provider: import("effect/Schema").Literals<readonly ["claude", "codex", "github", "pi", "opencode"]>;
|
|
1541
1546
|
}>>>;
|
|
@@ -1651,9 +1656,13 @@ export declare const ControlPlaneAPI: HttpApi.HttpApi<"sealantControlPlaneApi",
|
|
|
1651
1656
|
readonly placementId: import("effect/Schema").String;
|
|
1652
1657
|
readonly accountId: import("effect/Schema").String;
|
|
1653
1658
|
readonly revision: import("effect/Schema").Int;
|
|
1654
|
-
readonly login: import("effect/Schema").Struct<{
|
|
1659
|
+
readonly login: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
1655
1660
|
readonly kind: import("effect/Schema").Literal<"subscription">;
|
|
1656
|
-
}
|
|
1661
|
+
}>, import("effect/Schema").Struct<{
|
|
1662
|
+
readonly kind: import("effect/Schema").Literal<"api-key">;
|
|
1663
|
+
readonly suffix: import("effect/Schema").String;
|
|
1664
|
+
readonly keyPath: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
1665
|
+
}>]>;
|
|
1657
1666
|
readonly pinned: import("effect/Schema").Boolean;
|
|
1658
1667
|
readonly provider: import("effect/Schema").Literals<readonly ["claude", "codex", "github", "pi", "opencode"]>;
|
|
1659
1668
|
}>>>;
|
|
@@ -1705,9 +1714,13 @@ export declare const ControlPlaneAPI: HttpApi.HttpApi<"sealantControlPlaneApi",
|
|
|
1705
1714
|
readonly placementId: import("effect/Schema").String;
|
|
1706
1715
|
readonly accountId: import("effect/Schema").String;
|
|
1707
1716
|
readonly revision: import("effect/Schema").Int;
|
|
1708
|
-
readonly login: import("effect/Schema").Struct<{
|
|
1717
|
+
readonly login: import("effect/Schema").Union<readonly [import("effect/Schema").Struct<{
|
|
1709
1718
|
readonly kind: import("effect/Schema").Literal<"subscription">;
|
|
1710
|
-
}
|
|
1719
|
+
}>, import("effect/Schema").Struct<{
|
|
1720
|
+
readonly kind: import("effect/Schema").Literal<"api-key">;
|
|
1721
|
+
readonly suffix: import("effect/Schema").String;
|
|
1722
|
+
readonly keyPath: import("effect/Schema").optional<import("effect/Schema").String>;
|
|
1723
|
+
}>]>;
|
|
1711
1724
|
readonly pinned: import("effect/Schema").Boolean;
|
|
1712
1725
|
readonly provider: import("effect/Schema").Literals<readonly ["claude", "codex", "github", "pi", "opencode"]>;
|
|
1713
1726
|
}>>>;
|
|
@@ -65,6 +65,12 @@ export declare const systemIndexResponseSchema: Schema.Struct<{
|
|
|
65
65
|
readonly kubernetesPersonLayout: Schema.optional<Schema.Boolean>;
|
|
66
66
|
/** Credential homes answer placement receipts; a put takes `live`; prune exists. */
|
|
67
67
|
readonly credentialPlacements: Schema.optional<Schema.Boolean>;
|
|
68
|
+
/**
|
|
69
|
+
* Claude and Codex API keys are placed: a credentials put writes a Claude key into a home as
|
|
70
|
+
* a file of its own, whose receipt carries `keyPath` and the key's suffix, and a Codex key as
|
|
71
|
+
* Codex's own key file. A `$HOME` launch still refuses a Claude key.
|
|
72
|
+
*/
|
|
73
|
+
readonly connectedAccountApiKeys: Schema.optional<Schema.Boolean>;
|
|
68
74
|
}>>;
|
|
69
75
|
}>;
|
|
70
76
|
export type SystemIndexResponse = typeof systemIndexResponseSchema.Type;
|
|
@@ -157,6 +163,12 @@ export declare const SystemGroup: HttpApiGroup.HttpApiGroup<"system", HttpApiEnd
|
|
|
157
163
|
readonly kubernetesPersonLayout: Schema.optional<Schema.Boolean>;
|
|
158
164
|
/** Credential homes answer placement receipts; a put takes `live`; prune exists. */
|
|
159
165
|
readonly credentialPlacements: Schema.optional<Schema.Boolean>;
|
|
166
|
+
/**
|
|
167
|
+
* Claude and Codex API keys are placed: a credentials put writes a Claude key into a home as
|
|
168
|
+
* a file of its own, whose receipt carries `keyPath` and the key's suffix, and a Codex key as
|
|
169
|
+
* Codex's own key file. A `$HOME` launch still refuses a Claude key.
|
|
170
|
+
*/
|
|
171
|
+
readonly connectedAccountApiKeys: Schema.optional<Schema.Boolean>;
|
|
160
172
|
}>>;
|
|
161
173
|
}>>, never, never, never> | HttpApiEndpoint.HttpApiEndpoint<"getSetupState", "GET", "/v1/system/setup-state", never, never, never, never, Schema.toCodecJson<Schema.Struct<{
|
|
162
174
|
readonly needsSetup: Schema.Boolean;
|
package/dist/core-api/system.js
CHANGED
|
@@ -66,6 +66,12 @@ export const systemIndexResponseSchema = Schema.Struct({
|
|
|
66
66
|
kubernetesPersonLayout: Schema.optional(Schema.Boolean),
|
|
67
67
|
/** Credential homes answer placement receipts; a put takes `live`; prune exists. */
|
|
68
68
|
credentialPlacements: Schema.optional(Schema.Boolean),
|
|
69
|
+
/**
|
|
70
|
+
* Claude and Codex API keys are placed: a credentials put writes a Claude key into a home as
|
|
71
|
+
* a file of its own, whose receipt carries `keyPath` and the key's suffix, and a Codex key as
|
|
72
|
+
* Codex's own key file. A `$HOME` launch still refuses a Claude key.
|
|
73
|
+
*/
|
|
74
|
+
connectedAccountApiKeys: Schema.optional(Schema.Boolean),
|
|
69
75
|
})),
|
|
70
76
|
});
|
|
71
77
|
export const systemHealthResponseSchema = Schema.Struct({
|
|
@@ -864,14 +864,30 @@ export declare const putWorkspaceCredentialsRequestSchema: Schema.Struct<{
|
|
|
864
864
|
readonly live: Schema.optional<Schema.$Array<Schema.String>>;
|
|
865
865
|
}>;
|
|
866
866
|
export type PutWorkspaceCredentialsRequest = typeof putWorkspaceCredentialsRequestSchema.Type;
|
|
867
|
+
/**
|
|
868
|
+
* What a placed login spends. A key carries its last four characters; a Claude key also its file's
|
|
869
|
+
* absolute path, which Claude reads through an `apiKeyHelper` such as `cat <keyPath>`.
|
|
870
|
+
*/
|
|
871
|
+
export declare const credentialPlacementLoginSchema: Schema.Union<readonly [Schema.Struct<{
|
|
872
|
+
readonly kind: Schema.Literal<"subscription">;
|
|
873
|
+
}>, Schema.Struct<{
|
|
874
|
+
readonly kind: Schema.Literal<"api-key">;
|
|
875
|
+
readonly suffix: Schema.String;
|
|
876
|
+
readonly keyPath: Schema.optional<Schema.String>;
|
|
877
|
+
}>]>;
|
|
878
|
+
export type CredentialPlacementLogin = typeof credentialPlacementLoginSchema.Type;
|
|
867
879
|
/** One login written into one home: its id stays the same while a refresh moves its revision. */
|
|
868
880
|
export declare const credentialPlacementReceiptSchema: Schema.Struct<{
|
|
869
881
|
readonly placementId: Schema.String;
|
|
870
882
|
readonly accountId: Schema.String;
|
|
871
883
|
readonly revision: Schema.Int;
|
|
872
|
-
readonly login: Schema.Struct<{
|
|
884
|
+
readonly login: Schema.Union<readonly [Schema.Struct<{
|
|
873
885
|
readonly kind: Schema.Literal<"subscription">;
|
|
874
|
-
}
|
|
886
|
+
}>, Schema.Struct<{
|
|
887
|
+
readonly kind: Schema.Literal<"api-key">;
|
|
888
|
+
readonly suffix: Schema.String;
|
|
889
|
+
readonly keyPath: Schema.optional<Schema.String>;
|
|
890
|
+
}>]>;
|
|
875
891
|
readonly pinned: Schema.Boolean;
|
|
876
892
|
}>;
|
|
877
893
|
export type CredentialPlacementReceipt = typeof credentialPlacementReceiptSchema.Type;
|
|
@@ -880,9 +896,13 @@ export declare const workspaceCredentialPlacementReceiptSchema: Schema.Struct<{
|
|
|
880
896
|
readonly placementId: Schema.String;
|
|
881
897
|
readonly accountId: Schema.String;
|
|
882
898
|
readonly revision: Schema.Int;
|
|
883
|
-
readonly login: Schema.Struct<{
|
|
899
|
+
readonly login: Schema.Union<readonly [Schema.Struct<{
|
|
884
900
|
readonly kind: Schema.Literal<"subscription">;
|
|
885
|
-
}
|
|
901
|
+
}>, Schema.Struct<{
|
|
902
|
+
readonly kind: Schema.Literal<"api-key">;
|
|
903
|
+
readonly suffix: Schema.String;
|
|
904
|
+
readonly keyPath: Schema.optional<Schema.String>;
|
|
905
|
+
}>]>;
|
|
886
906
|
readonly pinned: Schema.Boolean;
|
|
887
907
|
readonly provider: Schema.Literals<readonly ["claude", "codex", "github", "pi", "opencode"]>;
|
|
888
908
|
}>;
|
|
@@ -904,14 +924,23 @@ export declare const workspaceCredentialHomeSchema: Schema.Struct<{
|
|
|
904
924
|
readonly placementId: Schema.String;
|
|
905
925
|
readonly accountId: Schema.String;
|
|
906
926
|
readonly revision: Schema.Int;
|
|
907
|
-
readonly login: Schema.Struct<{
|
|
927
|
+
readonly login: Schema.Union<readonly [Schema.Struct<{
|
|
908
928
|
readonly kind: Schema.Literal<"subscription">;
|
|
909
|
-
}
|
|
929
|
+
}>, Schema.Struct<{
|
|
930
|
+
readonly kind: Schema.Literal<"api-key">;
|
|
931
|
+
readonly suffix: Schema.String;
|
|
932
|
+
readonly keyPath: Schema.optional<Schema.String>;
|
|
933
|
+
}>]>;
|
|
910
934
|
readonly pinned: Schema.Boolean;
|
|
911
935
|
readonly provider: Schema.Literals<readonly ["claude", "codex", "github", "pi", "opencode"]>;
|
|
912
936
|
}>>>;
|
|
913
|
-
/**
|
|
937
|
+
/**
|
|
938
|
+
* By provider, the account whose login holds the provider's one file; a provider the home holds
|
|
939
|
+
* no such login for is absent. Claude keys are not here: each is a placement of its own, and the
|
|
940
|
+
* receipts in `placements` say which logins a home holds.
|
|
941
|
+
*/
|
|
914
942
|
readonly accounts: Schema.Struct<{
|
|
943
|
+
/** The account of Claude's subscription file, never a Claude key's. */
|
|
915
944
|
readonly claude: Schema.optional<Schema.Struct<{
|
|
916
945
|
readonly connectedAccountId: Schema.String;
|
|
917
946
|
/** The account's name under its provider, as it is now. */
|
|
@@ -968,14 +997,23 @@ export declare const putWorkspaceCredentialsResponseSchema: Schema.Struct<{
|
|
|
968
997
|
readonly placementId: Schema.String;
|
|
969
998
|
readonly accountId: Schema.String;
|
|
970
999
|
readonly revision: Schema.Int;
|
|
971
|
-
readonly login: Schema.Struct<{
|
|
1000
|
+
readonly login: Schema.Union<readonly [Schema.Struct<{
|
|
972
1001
|
readonly kind: Schema.Literal<"subscription">;
|
|
973
|
-
}
|
|
1002
|
+
}>, Schema.Struct<{
|
|
1003
|
+
readonly kind: Schema.Literal<"api-key">;
|
|
1004
|
+
readonly suffix: Schema.String;
|
|
1005
|
+
readonly keyPath: Schema.optional<Schema.String>;
|
|
1006
|
+
}>]>;
|
|
974
1007
|
readonly pinned: Schema.Boolean;
|
|
975
1008
|
readonly provider: Schema.Literals<readonly ["claude", "codex", "github", "pi", "opencode"]>;
|
|
976
1009
|
}>>>;
|
|
977
|
-
/**
|
|
1010
|
+
/**
|
|
1011
|
+
* By provider, the account whose login holds the provider's one file; a provider the home holds
|
|
1012
|
+
* no such login for is absent. Claude keys are not here: each is a placement of its own, and the
|
|
1013
|
+
* receipts in `placements` say which logins a home holds.
|
|
1014
|
+
*/
|
|
978
1015
|
readonly accounts: Schema.Struct<{
|
|
1016
|
+
/** The account of Claude's subscription file, never a Claude key's. */
|
|
979
1017
|
readonly claude: Schema.optional<Schema.Struct<{
|
|
980
1018
|
readonly connectedAccountId: Schema.String;
|
|
981
1019
|
/** The account's name under its provider, as it is now. */
|
|
@@ -1038,14 +1076,23 @@ export declare const pruneWorkspaceCredentialsResponseSchema: Schema.Struct<{
|
|
|
1038
1076
|
readonly placementId: Schema.String;
|
|
1039
1077
|
readonly accountId: Schema.String;
|
|
1040
1078
|
readonly revision: Schema.Int;
|
|
1041
|
-
readonly login: Schema.Struct<{
|
|
1079
|
+
readonly login: Schema.Union<readonly [Schema.Struct<{
|
|
1042
1080
|
readonly kind: Schema.Literal<"subscription">;
|
|
1043
|
-
}
|
|
1081
|
+
}>, Schema.Struct<{
|
|
1082
|
+
readonly kind: Schema.Literal<"api-key">;
|
|
1083
|
+
readonly suffix: Schema.String;
|
|
1084
|
+
readonly keyPath: Schema.optional<Schema.String>;
|
|
1085
|
+
}>]>;
|
|
1044
1086
|
readonly pinned: Schema.Boolean;
|
|
1045
1087
|
readonly provider: Schema.Literals<readonly ["claude", "codex", "github", "pi", "opencode"]>;
|
|
1046
1088
|
}>>>;
|
|
1047
|
-
/**
|
|
1089
|
+
/**
|
|
1090
|
+
* By provider, the account whose login holds the provider's one file; a provider the home holds
|
|
1091
|
+
* no such login for is absent. Claude keys are not here: each is a placement of its own, and the
|
|
1092
|
+
* receipts in `placements` say which logins a home holds.
|
|
1093
|
+
*/
|
|
1048
1094
|
readonly accounts: Schema.Struct<{
|
|
1095
|
+
/** The account of Claude's subscription file, never a Claude key's. */
|
|
1049
1096
|
readonly claude: Schema.optional<Schema.Struct<{
|
|
1050
1097
|
readonly connectedAccountId: Schema.String;
|
|
1051
1098
|
/** The account's name under its provider, as it is now. */
|
|
@@ -1108,14 +1155,23 @@ export declare const listWorkspaceCredentialsResponseSchema: Schema.Struct<{
|
|
|
1108
1155
|
readonly placementId: Schema.String;
|
|
1109
1156
|
readonly accountId: Schema.String;
|
|
1110
1157
|
readonly revision: Schema.Int;
|
|
1111
|
-
readonly login: Schema.Struct<{
|
|
1158
|
+
readonly login: Schema.Union<readonly [Schema.Struct<{
|
|
1112
1159
|
readonly kind: Schema.Literal<"subscription">;
|
|
1113
|
-
}
|
|
1160
|
+
}>, Schema.Struct<{
|
|
1161
|
+
readonly kind: Schema.Literal<"api-key">;
|
|
1162
|
+
readonly suffix: Schema.String;
|
|
1163
|
+
readonly keyPath: Schema.optional<Schema.String>;
|
|
1164
|
+
}>]>;
|
|
1114
1165
|
readonly pinned: Schema.Boolean;
|
|
1115
1166
|
readonly provider: Schema.Literals<readonly ["claude", "codex", "github", "pi", "opencode"]>;
|
|
1116
1167
|
}>>>;
|
|
1117
|
-
/**
|
|
1168
|
+
/**
|
|
1169
|
+
* By provider, the account whose login holds the provider's one file; a provider the home holds
|
|
1170
|
+
* no such login for is absent. Claude keys are not here: each is a placement of its own, and the
|
|
1171
|
+
* receipts in `placements` say which logins a home holds.
|
|
1172
|
+
*/
|
|
1118
1173
|
readonly accounts: Schema.Struct<{
|
|
1174
|
+
/** The account of Claude's subscription file, never a Claude key's. */
|
|
1119
1175
|
readonly claude: Schema.optional<Schema.Struct<{
|
|
1120
1176
|
readonly connectedAccountId: Schema.String;
|
|
1121
1177
|
/** The account's name under its provider, as it is now. */
|
|
@@ -2837,14 +2893,23 @@ export declare const WorkspacesGroup: HttpApiGroup.HttpApiGroup<"workspaces", Ht
|
|
|
2837
2893
|
readonly placementId: Schema.String;
|
|
2838
2894
|
readonly accountId: Schema.String;
|
|
2839
2895
|
readonly revision: Schema.Int;
|
|
2840
|
-
readonly login: Schema.Struct<{
|
|
2896
|
+
readonly login: Schema.Union<readonly [Schema.Struct<{
|
|
2841
2897
|
readonly kind: Schema.Literal<"subscription">;
|
|
2842
|
-
}
|
|
2898
|
+
}>, Schema.Struct<{
|
|
2899
|
+
readonly kind: Schema.Literal<"api-key">;
|
|
2900
|
+
readonly suffix: Schema.String;
|
|
2901
|
+
readonly keyPath: Schema.optional<Schema.String>;
|
|
2902
|
+
}>]>;
|
|
2843
2903
|
readonly pinned: Schema.Boolean;
|
|
2844
2904
|
readonly provider: Schema.Literals<readonly ["claude", "codex", "github", "pi", "opencode"]>;
|
|
2845
2905
|
}>>>;
|
|
2846
|
-
/**
|
|
2906
|
+
/**
|
|
2907
|
+
* By provider, the account whose login holds the provider's one file; a provider the home holds
|
|
2908
|
+
* no such login for is absent. Claude keys are not here: each is a placement of its own, and the
|
|
2909
|
+
* receipts in `placements` say which logins a home holds.
|
|
2910
|
+
*/
|
|
2847
2911
|
readonly accounts: Schema.Struct<{
|
|
2912
|
+
/** The account of Claude's subscription file, never a Claude key's. */
|
|
2848
2913
|
readonly claude: Schema.optional<Schema.Struct<{
|
|
2849
2914
|
readonly connectedAccountId: Schema.String;
|
|
2850
2915
|
/** The account's name under its provider, as it is now. */
|
|
@@ -2999,14 +3064,23 @@ export declare const WorkspacesGroup: HttpApiGroup.HttpApiGroup<"workspaces", Ht
|
|
|
2999
3064
|
readonly placementId: Schema.String;
|
|
3000
3065
|
readonly accountId: Schema.String;
|
|
3001
3066
|
readonly revision: Schema.Int;
|
|
3002
|
-
readonly login: Schema.Struct<{
|
|
3067
|
+
readonly login: Schema.Union<readonly [Schema.Struct<{
|
|
3003
3068
|
readonly kind: Schema.Literal<"subscription">;
|
|
3004
|
-
}
|
|
3069
|
+
}>, Schema.Struct<{
|
|
3070
|
+
readonly kind: Schema.Literal<"api-key">;
|
|
3071
|
+
readonly suffix: Schema.String;
|
|
3072
|
+
readonly keyPath: Schema.optional<Schema.String>;
|
|
3073
|
+
}>]>;
|
|
3005
3074
|
readonly pinned: Schema.Boolean;
|
|
3006
3075
|
readonly provider: Schema.Literals<readonly ["claude", "codex", "github", "pi", "opencode"]>;
|
|
3007
3076
|
}>>>;
|
|
3008
|
-
/**
|
|
3077
|
+
/**
|
|
3078
|
+
* By provider, the account whose login holds the provider's one file; a provider the home holds
|
|
3079
|
+
* no such login for is absent. Claude keys are not here: each is a placement of its own, and the
|
|
3080
|
+
* receipts in `placements` say which logins a home holds.
|
|
3081
|
+
*/
|
|
3009
3082
|
readonly accounts: Schema.Struct<{
|
|
3083
|
+
/** The account of Claude's subscription file, never a Claude key's. */
|
|
3010
3084
|
readonly claude: Schema.optional<Schema.Struct<{
|
|
3011
3085
|
readonly connectedAccountId: Schema.String;
|
|
3012
3086
|
/** The account's name under its provider, as it is now. */
|
|
@@ -3097,14 +3171,23 @@ export declare const WorkspacesGroup: HttpApiGroup.HttpApiGroup<"workspaces", Ht
|
|
|
3097
3171
|
readonly placementId: Schema.String;
|
|
3098
3172
|
readonly accountId: Schema.String;
|
|
3099
3173
|
readonly revision: Schema.Int;
|
|
3100
|
-
readonly login: Schema.Struct<{
|
|
3174
|
+
readonly login: Schema.Union<readonly [Schema.Struct<{
|
|
3101
3175
|
readonly kind: Schema.Literal<"subscription">;
|
|
3102
|
-
}
|
|
3176
|
+
}>, Schema.Struct<{
|
|
3177
|
+
readonly kind: Schema.Literal<"api-key">;
|
|
3178
|
+
readonly suffix: Schema.String;
|
|
3179
|
+
readonly keyPath: Schema.optional<Schema.String>;
|
|
3180
|
+
}>]>;
|
|
3103
3181
|
readonly pinned: Schema.Boolean;
|
|
3104
3182
|
readonly provider: Schema.Literals<readonly ["claude", "codex", "github", "pi", "opencode"]>;
|
|
3105
3183
|
}>>>;
|
|
3106
|
-
/**
|
|
3184
|
+
/**
|
|
3185
|
+
* By provider, the account whose login holds the provider's one file; a provider the home holds
|
|
3186
|
+
* no such login for is absent. Claude keys are not here: each is a placement of its own, and the
|
|
3187
|
+
* receipts in `placements` say which logins a home holds.
|
|
3188
|
+
*/
|
|
3107
3189
|
readonly accounts: Schema.Struct<{
|
|
3190
|
+
/** The account of Claude's subscription file, never a Claude key's. */
|
|
3108
3191
|
readonly claude: Schema.optional<Schema.Struct<{
|
|
3109
3192
|
readonly connectedAccountId: Schema.String;
|
|
3110
3193
|
/** The account's name under its provider, as it is now. */
|
|
@@ -741,12 +741,24 @@ export const putWorkspaceCredentialsRequestSchema = Schema.Struct({
|
|
|
741
741
|
*/
|
|
742
742
|
live: Schema.optional(Schema.Array(NonEmptyString)),
|
|
743
743
|
});
|
|
744
|
+
/**
|
|
745
|
+
* What a placed login spends. A key carries its last four characters; a Claude key also its file's
|
|
746
|
+
* absolute path, which Claude reads through an `apiKeyHelper` such as `cat <keyPath>`.
|
|
747
|
+
*/
|
|
748
|
+
export const credentialPlacementLoginSchema = Schema.Union([
|
|
749
|
+
Schema.Struct({ kind: Schema.Literal("subscription") }),
|
|
750
|
+
Schema.Struct({
|
|
751
|
+
kind: Schema.Literal("api-key"),
|
|
752
|
+
suffix: NonEmptyString,
|
|
753
|
+
keyPath: Schema.optional(NonEmptyString),
|
|
754
|
+
}),
|
|
755
|
+
]);
|
|
744
756
|
/** One login written into one home: its id stays the same while a refresh moves its revision. */
|
|
745
757
|
export const credentialPlacementReceiptSchema = Schema.Struct({
|
|
746
758
|
placementId: NonEmptyString,
|
|
747
759
|
accountId: NonEmptyString,
|
|
748
760
|
revision: Schema.Int.check(Schema.isGreaterThan(0)),
|
|
749
|
-
login:
|
|
761
|
+
login: credentialPlacementLoginSchema,
|
|
750
762
|
pinned: Schema.Boolean,
|
|
751
763
|
});
|
|
752
764
|
/** A receipt tagged with the home provider whose slot it occupies. */
|
|
@@ -767,8 +779,13 @@ export const workspaceCredentialHomeSchema = Schema.Struct({
|
|
|
767
779
|
onBehalfOfUserId: NonEmptyString,
|
|
768
780
|
/** The logins written there, one receipt each. Absent from a server without placements. */
|
|
769
781
|
placements: Schema.optional(Schema.Array(workspaceCredentialPlacementReceiptSchema)),
|
|
770
|
-
/**
|
|
782
|
+
/**
|
|
783
|
+
* By provider, the account whose login holds the provider's one file; a provider the home holds
|
|
784
|
+
* no such login for is absent. Claude keys are not here: each is a placement of its own, and the
|
|
785
|
+
* receipts in `placements` say which logins a home holds.
|
|
786
|
+
*/
|
|
771
787
|
accounts: Schema.Struct({
|
|
788
|
+
/** The account of Claude's subscription file, never a Claude key's. */
|
|
772
789
|
claude: Schema.optional(workspaceHomeAccountSchema),
|
|
773
790
|
codex: Schema.optional(workspaceHomeAccountSchema),
|
|
774
791
|
github: Schema.optional(workspaceHomeAccountSchema),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sealant/api-contracts-next",
|
|
3
|
-
"version": "0.40.0-next.
|
|
3
|
+
"version": "0.40.0-next.767",
|
|
4
4
|
"description": "Contract-first HTTP API definitions for Sealant services",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"effect": "^4.0.5"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "97076a88aa9305d64290508d681af72dfa89868f",
|
|
40
40
|
"publishConfig": {
|
|
41
41
|
"access": "public"
|
|
42
42
|
}
|