@fourier-labs/harbour-contracts 0.78.0 → 0.79.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/contract-release.json +16 -10
- package/dist/gen-ts/app-sign-in.d.ts +9 -0
- package/dist/gen-ts/app-sign-in.js +3 -0
- package/dist/gen-ts/contract-release.d.ts +6 -6
- package/dist/gen-ts/contract-release.js +6 -6
- package/dist/gen-ts/deployment-app-registration.d.ts +8 -2
- package/dist/gen-ts/external-sign-in.d.ts +29 -0
- package/dist/gen-ts/external-sign-in.js +3 -0
- package/dist/gen-ts/identity-context.d.ts +18 -0
- package/dist/gen-ts/identity-context.js +3 -0
- package/dist/gen-ts/index.d.ts +3 -0
- package/dist/gen-ts/index.js +3 -0
- package/gen-ts/app-sign-in.ts +12 -0
- package/gen-ts/contract-release.ts +6 -6
- package/gen-ts/deployment-app-registration.ts +8 -2
- package/gen-ts/external-sign-in.ts +32 -0
- package/gen-ts/identity-context.ts +21 -0
- package/gen-ts/index.ts +3 -0
- package/package.json +1 -1
- package/schema/app-sign-in.schema.json +51 -0
- package/schema/deployment-app-registration.schema.json +5 -2
- package/schema/external-sign-in.schema.json +120 -0
- package/schema/identity-context.schema.json +141 -0
package/contract-release.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "harbour.contract-release/1.0",
|
|
3
|
-
"repositoryVersion": "0.
|
|
4
|
-
"publishVersion": "0.
|
|
5
|
-
"publishTag": "v0.
|
|
6
|
-
"schemasDigest": "sha256:
|
|
3
|
+
"repositoryVersion": "0.79.0.0",
|
|
4
|
+
"publishVersion": "0.79.0",
|
|
5
|
+
"publishTag": "v0.79.0",
|
|
6
|
+
"schemasDigest": "sha256:c4d332b1b1a8500a010e2a857ea6ccc435e95cef9b825205bd3474c3b5dee7c8",
|
|
7
7
|
"aiFixturesDigest": "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6",
|
|
8
|
-
"generatedGoDigest": "sha256:
|
|
9
|
-
"generatedTypeScriptDigest": "sha256:
|
|
8
|
+
"generatedGoDigest": "sha256:3e67916611e03ab198c2d06d1cf87234aa5fca15df7e6f3a658f2b7690fd970c",
|
|
9
|
+
"generatedTypeScriptDigest": "sha256:dcca50e4cd5f629f24371ca42755b7b05fe581d01e69c7e3ebfd2d860fed205a",
|
|
10
10
|
"generatedExclusions": {
|
|
11
11
|
"gen-go/contract_release.go": "contains the generated aggregate digests (self-reference)",
|
|
12
12
|
"gen-ts/contract-release.ts": "contains the generated aggregate digests (self-reference)"
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"schema/ai-verification-evidence.schema.json": "sha256:bdbc762df256d2a8dd0bdda60d4d13915ce40034cd756af9515871d145f10ad9",
|
|
33
33
|
"schema/api-error-response.schema.json": "sha256:3d43d5bdf0b59c944e20509d832e6776c3ecdba4d6c245a9118bbe52062a8304",
|
|
34
34
|
"schema/app-integrations-declaration.schema.json": "sha256:af9b36a880b9f277da7691724a5fce59c7d77f2c2c10edc3b23eee48d31a4730",
|
|
35
|
+
"schema/app-sign-in.schema.json": "sha256:2093740131b84a69757c2e474d16e32ff5d0bf0edd6f6f8de62ede7f82988f29",
|
|
35
36
|
"schema/artifact-contract.schema.json": "sha256:8047b461a1c6d07bbe867a259c57bdf5cc0fdf282cf842ec7b683a9e93713b10",
|
|
36
37
|
"schema/binding-classification-subject.schema.json": "sha256:a8825ce652e7e00a18759c4249bd5bcd0cae552dd58440513f867e87f685133c",
|
|
37
38
|
"schema/builder-input-proposal.schema.json": "sha256:fe85cffa6d76b1e1effe1f5d75525f8fe0e1eaa3be4a304e491aa23ad72c0e72",
|
|
@@ -41,7 +42,7 @@
|
|
|
41
42
|
"schema/data-source.schema.json": "sha256:46ef4ace5fce612fce055813bf4f99956423b46c929993fbbc5dfec497087bad",
|
|
42
43
|
"schema/deploy-request.schema.json": "sha256:c978406c273fa430db262888f0a8646b14e3057f64b0633780fcd6cfa646bc67",
|
|
43
44
|
"schema/deploy-response.schema.json": "sha256:09064948abdbba7022738285d802ed44648a16ddc2a5b8c2eeb170ae19a66aeb",
|
|
44
|
-
"schema/deployment-app-registration.schema.json": "sha256:
|
|
45
|
+
"schema/deployment-app-registration.schema.json": "sha256:f1deb15a467065a20f540649aac3713e6c8afe68f03b43969ef103356b7baa13",
|
|
45
46
|
"schema/deployment-continuation.schema.json": "sha256:55b6945439f2c91cd851dfe4bc9484e67a64091b7763b2d8267354b4a8bfae8c",
|
|
46
47
|
"schema/deployment-environment.schema.json": "sha256:35b26cae07da9ee375a842b5e87c4570c8eca06775e9fd6dd46eb9eb8aa0df6c",
|
|
47
48
|
"schema/deployment-preview-retirement.schema.json": "sha256:ccf6b971b7853ca98530272f280fe62cd3aab5425b10b81ae6b717cc949e014f",
|
|
@@ -52,6 +53,8 @@
|
|
|
52
53
|
"schema/env-bindings.schema.json": "sha256:ae09bc4ca5508afa698ef854a59153c4c6f99b07017b48cb9b07ce05abad12f2",
|
|
53
54
|
"schema/error-category.enum.json": "sha256:d6d83000c3357805b13138d717c411248c14f1c0fde1c02e82a25691de85d68d",
|
|
54
55
|
"schema/error-envelope.schema.json": "sha256:75dccda7dd16fdf8435deda53fc7dbcdc109b65114617a17f11763010c656f90",
|
|
56
|
+
"schema/external-sign-in.schema.json": "sha256:82d2cc5130a12a19554c85d4a78368939f417a80e795b2be060156294296ac70",
|
|
57
|
+
"schema/identity-context.schema.json": "sha256:a0be3d3499b70f1641887ec66ab5b21ca5ab71063e9209290905738943a36e59",
|
|
55
58
|
"schema/integration-connect-result.schema.json": "sha256:3f254b67ef739dc1fa395bdc8c4dc93359b16d481dba2a2d777aa5b6f34b7af8",
|
|
56
59
|
"schema/integration-error-details.schema.json": "sha256:5a290584b1542b2b8cdd4966869126180ce29c1f0dd250dca7fb68c05e76b8e9",
|
|
57
60
|
"schema/integration-execute-request.schema.json": "sha256:9538c59ed750530493293cc4f33538b02b4df4247769f9fc4e96c2d8393f72d0",
|
|
@@ -113,7 +116,7 @@
|
|
|
113
116
|
"gen-go/integration_execute_input_rules_test.go": "sha256:4961b4b87012e8cb6e2c64653769f5fd4dd58e1d7d18af459f4f5b69a3e6760d",
|
|
114
117
|
"gen-go/integration_operations.go": "sha256:fab89489825680fee6dfd7d5874e955839691af4cc5245d96caaf36505668db1",
|
|
115
118
|
"gen-go/schema_documents.go": "sha256:c19c0d540f602ee997a84b90e20702d9bc63ed7d27aec267e76c04655fc182e0",
|
|
116
|
-
"gen-go/types.go": "sha256:
|
|
119
|
+
"gen-go/types.go": "sha256:dd2589e8657e7532f5961d57567515e1e5621239a8cccf2c1d4825c06d8f218a",
|
|
117
120
|
"gen-go/version_state.go": "sha256:4ef8abb126414c0025cf2c59bc9c79a74ef4a2ff89e8f316cbf05acc872371c1"
|
|
118
121
|
},
|
|
119
122
|
"generatedTypeScript": {
|
|
@@ -139,6 +142,7 @@
|
|
|
139
142
|
"gen-ts/ai-verification-evidence.ts": "sha256:979439d77f8b47631d1eb3b6c3c54ea6fec41089d2a51dc815fd370b1c4917fc",
|
|
140
143
|
"gen-ts/api-error-response.ts": "sha256:0fd73be282e7a5d72d6c343a4e64d09c232556b16161167f0cffd6278ed7e3d3",
|
|
141
144
|
"gen-ts/app-integrations-declaration.ts": "sha256:860f51367547f05c97f9b048d019ef542788d0c4ae8cbb47e21daaccfb03c6af",
|
|
145
|
+
"gen-ts/app-sign-in.ts": "sha256:bf88671c00e9d9badb5ffc961a7e803cf92cee5a98c2f6c9e3172bbf5aaf0424",
|
|
142
146
|
"gen-ts/artifact-contract.ts": "sha256:4a6dc6d2caaeed4bb2066cc8a333e6e09e5a0d4745e0b1038293d54ab9403aeb",
|
|
143
147
|
"gen-ts/binding-classification-digest-helper.ts": "sha256:40fc7d85b4c3f3ffc5caf7d7950c62d013c83ee42058c7453b2100d95817f167",
|
|
144
148
|
"gen-ts/binding-classification-subject.ts": "sha256:c409a3fd7b942b50419632c51d9a79474fb30d6374bdc79c0e25c73618e800c3",
|
|
@@ -149,7 +153,7 @@
|
|
|
149
153
|
"gen-ts/data-source.ts": "sha256:f30d4c14c15afbb9530d30af9235844198765984ce1579fa25961d7f07bcfb1f",
|
|
150
154
|
"gen-ts/deploy-request.ts": "sha256:913245577a95354849d3a8cb43fbaedbf895efe7b653c8502d25edfa22b7a864",
|
|
151
155
|
"gen-ts/deploy-response.ts": "sha256:364d9f1acf32e491498237cdd3f402d5f8e102f208db7748034f4ec68c6a6137",
|
|
152
|
-
"gen-ts/deployment-app-registration.ts": "sha256:
|
|
156
|
+
"gen-ts/deployment-app-registration.ts": "sha256:8c2d55983e33449ecfbaceaa41aac3e2905f1970f5514f0dbc3b611fad7beefb",
|
|
153
157
|
"gen-ts/deployment-continuation.ts": "sha256:cc9f63af4d0da5086a79103789e4f043783b75b4ed11c6512f044439a551a79c",
|
|
154
158
|
"gen-ts/deployment-environment.ts": "sha256:fc08cabe2e52ebb93cfe84d2019994260f71734c33d0e50e7c63e40ef5b17cef",
|
|
155
159
|
"gen-ts/deployment-preview-retirement.ts": "sha256:309421d08daf0ade163b6457ed0e5410ec6573c40a59423a6cce14780d9c38db",
|
|
@@ -161,7 +165,9 @@
|
|
|
161
165
|
"gen-ts/error-category-registry.ts": "sha256:7466a502c0723a77db825cdeaa9556a244201b55d9b7acbf2c098e9e84351df1",
|
|
162
166
|
"gen-ts/error-category.ts": "sha256:9bda89180c3b740c9aa8be466216592e8ca9d0d368c274333edf6ea5c45afd8e",
|
|
163
167
|
"gen-ts/error-envelope.ts": "sha256:4457309be794f9d4fc0cf62530cc2d442c007bac9ae84aff66df099cc9e40310",
|
|
164
|
-
"gen-ts/
|
|
168
|
+
"gen-ts/external-sign-in.ts": "sha256:393ef74d72e37d33e374e3226f34ab3e854fdb0c1129a367997cbb690bf253a6",
|
|
169
|
+
"gen-ts/identity-context.ts": "sha256:4b8151a321e224229250d214ef3e17f2ac986bb54ff0aadbb4509481724f6883",
|
|
170
|
+
"gen-ts/index.ts": "sha256:8f0b03bc46f0f24489e6a3f7a3ddee23c86dacc8ab2058b3b131c3d9dd75ab29",
|
|
165
171
|
"gen-ts/integration-connect-result.ts": "sha256:4b10f169b6e1af364e9b418de21caa9fadbfb77b43cbff77d741cfae0b52180c",
|
|
166
172
|
"gen-ts/integration-error-details.ts": "sha256:e73cb5942373ef88b2d8e03a1de56d5a69e71069ecd14e68396f7edba1f60780",
|
|
167
173
|
"gen-ts/integration-execute-input-rules.ts": "sha256:ba2b4c624db36761b78cbd50ec3878b268c536ad1209174620e33833fd22197f",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare const ContractRepositoryVersion: "0.
|
|
2
|
-
export declare const ContractPublishVersion: "0.
|
|
3
|
-
export declare const ContractPublishTag: "v0.
|
|
4
|
-
export declare const ContractSchemasDigest: "sha256:
|
|
1
|
+
export declare const ContractRepositoryVersion: "0.79.0.0";
|
|
2
|
+
export declare const ContractPublishVersion: "0.79.0";
|
|
3
|
+
export declare const ContractPublishTag: "v0.79.0";
|
|
4
|
+
export declare const ContractSchemasDigest: "sha256:c4d332b1b1a8500a010e2a857ea6ccc435e95cef9b825205bd3474c3b5dee7c8";
|
|
5
5
|
export declare const ContractAiFixturesDigest: "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6";
|
|
6
|
-
export declare const ContractGeneratedGoDigest: "sha256:
|
|
7
|
-
export declare const ContractGeneratedTypeScriptDigest: "sha256:
|
|
6
|
+
export declare const ContractGeneratedGoDigest: "sha256:3e67916611e03ab198c2d06d1cf87234aa5fca15df7e6f3a658f2b7690fd970c";
|
|
7
|
+
export declare const ContractGeneratedTypeScriptDigest: "sha256:dcca50e4cd5f629f24371ca42755b7b05fe581d01e69c7e3ebfd2d860fed205a";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
// Code generated by tools/gen/gen.mjs from schema/*.json. DO NOT EDIT.
|
|
3
|
-
export const ContractRepositoryVersion = "0.
|
|
4
|
-
export const ContractPublishVersion = "0.
|
|
5
|
-
export const ContractPublishTag = "v0.
|
|
6
|
-
export const ContractSchemasDigest = "sha256:
|
|
3
|
+
export const ContractRepositoryVersion = "0.79.0.0";
|
|
4
|
+
export const ContractPublishVersion = "0.79.0";
|
|
5
|
+
export const ContractPublishTag = "v0.79.0";
|
|
6
|
+
export const ContractSchemasDigest = "sha256:c4d332b1b1a8500a010e2a857ea6ccc435e95cef9b825205bd3474c3b5dee7c8";
|
|
7
7
|
export const ContractAiFixturesDigest = "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6";
|
|
8
|
-
export const ContractGeneratedGoDigest = "sha256:
|
|
9
|
-
export const ContractGeneratedTypeScriptDigest = "sha256:
|
|
8
|
+
export const ContractGeneratedGoDigest = "sha256:3e67916611e03ab198c2d06d1cf87234aa5fca15df7e6f3a658f2b7690fd970c";
|
|
9
|
+
export const ContractGeneratedTypeScriptDigest = "sha256:dcca50e4cd5f629f24371ca42755b7b05fe581d01e69c7e3ebfd2d860fed205a";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* IAM/SigV4 POST /v1/internal/deployment/apps/{appId}/register (Internal API) or POST /v1/deployment/apps/register body. Governance derives tenant identity-provider configuration; no identity secrets are supplied. apiHostnames explicitly identifies API hosts among backendHostnames; runtime validates that subset. Omission preserves legacy .api. inference during the coordinated V2 auth migration.
|
|
3
3
|
*/
|
|
4
|
-
export
|
|
4
|
+
export type DeploymentAppRegistration = {
|
|
5
5
|
tenantId: string;
|
|
6
6
|
appId: string;
|
|
7
7
|
origin: string;
|
|
@@ -15,4 +15,10 @@ export interface DeploymentAppRegistration {
|
|
|
15
15
|
allowedGroups?: string[];
|
|
16
16
|
enabled?: boolean;
|
|
17
17
|
workloadPrincipalArn?: string;
|
|
18
|
-
|
|
18
|
+
signIn?: 'company' | 'external';
|
|
19
|
+
/**
|
|
20
|
+
* @minItems 1
|
|
21
|
+
* @maxItems 1
|
|
22
|
+
*/
|
|
23
|
+
signInMethods?: ('phone' | 'email')[];
|
|
24
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface ExternalSignIn {
|
|
2
|
+
enabledMethods: ('phone' | 'email')[];
|
|
3
|
+
email?: {
|
|
4
|
+
senderEmail: string;
|
|
5
|
+
senderDomain?: string;
|
|
6
|
+
sesRegion: string;
|
|
7
|
+
configurationSet?: string;
|
|
8
|
+
};
|
|
9
|
+
sms?: {
|
|
10
|
+
originationIdentity?: string;
|
|
11
|
+
region: string;
|
|
12
|
+
inEntityId?: string;
|
|
13
|
+
inTemplateId?: string;
|
|
14
|
+
};
|
|
15
|
+
directory?: {
|
|
16
|
+
accountId: string;
|
|
17
|
+
region: string;
|
|
18
|
+
userPoolId: string;
|
|
19
|
+
};
|
|
20
|
+
readiness?: {
|
|
21
|
+
email?: {
|
|
22
|
+
senderVerified: boolean;
|
|
23
|
+
productionAccess: boolean;
|
|
24
|
+
};
|
|
25
|
+
sms?: {
|
|
26
|
+
sandbox: boolean;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type IdentityContext = {
|
|
2
|
+
iss: string;
|
|
3
|
+
aud: string;
|
|
4
|
+
sub: string;
|
|
5
|
+
tenant: string;
|
|
6
|
+
app: string;
|
|
7
|
+
iat: number;
|
|
8
|
+
exp: number;
|
|
9
|
+
session_id?: string;
|
|
10
|
+
email?: string;
|
|
11
|
+
name?: string;
|
|
12
|
+
phone_number?: string;
|
|
13
|
+
email_verified?: boolean;
|
|
14
|
+
phone_number_verified?: boolean;
|
|
15
|
+
directory?: 'company' | 'external';
|
|
16
|
+
groups?: string[];
|
|
17
|
+
role?: 'builder' | 'member';
|
|
18
|
+
};
|
package/dist/gen-ts/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export * from './ai-transform-result.js';
|
|
|
20
20
|
export * from './ai-verification-evidence.js';
|
|
21
21
|
export * from './api-error-response.js';
|
|
22
22
|
export * from './app-integrations-declaration.js';
|
|
23
|
+
export * from './app-sign-in.js';
|
|
23
24
|
export * from './artifact-contract.js';
|
|
24
25
|
export * from './binding-classification-digest-helper.js';
|
|
25
26
|
export * from './binding-classification-subject.js';
|
|
@@ -43,6 +44,8 @@ export * from './env-bindings.js';
|
|
|
43
44
|
export * from './error-category-registry.js';
|
|
44
45
|
export * from './error-category.js';
|
|
45
46
|
export * from './error-envelope.js';
|
|
47
|
+
export * from './external-sign-in.js';
|
|
48
|
+
export * from './identity-context.js';
|
|
46
49
|
export * from './integration-connect-result.js';
|
|
47
50
|
export * from './integration-error-details.js';
|
|
48
51
|
export * from './integration-execute-input-rules.js';
|
package/dist/gen-ts/index.js
CHANGED
|
@@ -22,6 +22,7 @@ export * from './ai-transform-result.js';
|
|
|
22
22
|
export * from './ai-verification-evidence.js';
|
|
23
23
|
export * from './api-error-response.js';
|
|
24
24
|
export * from './app-integrations-declaration.js';
|
|
25
|
+
export * from './app-sign-in.js';
|
|
25
26
|
export * from './artifact-contract.js';
|
|
26
27
|
export * from './binding-classification-digest-helper.js';
|
|
27
28
|
export * from './binding-classification-subject.js';
|
|
@@ -45,6 +46,8 @@ export * from './env-bindings.js';
|
|
|
45
46
|
export * from './error-category-registry.js';
|
|
46
47
|
export * from './error-category.js';
|
|
47
48
|
export * from './error-envelope.js';
|
|
49
|
+
export * from './external-sign-in.js';
|
|
50
|
+
export * from './identity-context.js';
|
|
48
51
|
export * from './integration-connect-result.js';
|
|
49
52
|
export * from './integration-error-details.js';
|
|
50
53
|
export * from './integration-execute-input-rules.js';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// Code generated by tools/gen/gen.mjs from schema/*.json. DO NOT EDIT.
|
|
3
|
+
|
|
4
|
+
export type AppSignIn = {
|
|
5
|
+
signIn?: 'company' | 'external';
|
|
6
|
+
/**
|
|
7
|
+
* @minItems 1
|
|
8
|
+
* @maxItems 1
|
|
9
|
+
*/
|
|
10
|
+
signInMethods?: ('phone' | 'email')[];
|
|
11
|
+
clientId?: string;
|
|
12
|
+
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
// Code generated by tools/gen/gen.mjs from schema/*.json. DO NOT EDIT.
|
|
3
3
|
|
|
4
|
-
export const ContractRepositoryVersion = "0.
|
|
5
|
-
export const ContractPublishVersion = "0.
|
|
6
|
-
export const ContractPublishTag = "v0.
|
|
7
|
-
export const ContractSchemasDigest = "sha256:
|
|
4
|
+
export const ContractRepositoryVersion = "0.79.0.0" as const;
|
|
5
|
+
export const ContractPublishVersion = "0.79.0" as const;
|
|
6
|
+
export const ContractPublishTag = "v0.79.0" as const;
|
|
7
|
+
export const ContractSchemasDigest = "sha256:c4d332b1b1a8500a010e2a857ea6ccc435e95cef9b825205bd3474c3b5dee7c8" as const;
|
|
8
8
|
export const ContractAiFixturesDigest = "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6" as const;
|
|
9
|
-
export const ContractGeneratedGoDigest = "sha256:
|
|
10
|
-
export const ContractGeneratedTypeScriptDigest = "sha256:
|
|
9
|
+
export const ContractGeneratedGoDigest = "sha256:3e67916611e03ab198c2d06d1cf87234aa5fca15df7e6f3a658f2b7690fd970c" as const;
|
|
10
|
+
export const ContractGeneratedTypeScriptDigest = "sha256:dcca50e4cd5f629f24371ca42755b7b05fe581d01e69c7e3ebfd2d860fed205a" as const;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* IAM/SigV4 POST /v1/internal/deployment/apps/{appId}/register (Internal API) or POST /v1/deployment/apps/register body. Governance derives tenant identity-provider configuration; no identity secrets are supplied. apiHostnames explicitly identifies API hosts among backendHostnames; runtime validates that subset. Omission preserves legacy .api. inference during the coordinated V2 auth migration.
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
7
|
+
export type DeploymentAppRegistration = {
|
|
8
8
|
tenantId: string;
|
|
9
9
|
appId: string;
|
|
10
10
|
origin: string;
|
|
@@ -18,4 +18,10 @@ export interface DeploymentAppRegistration {
|
|
|
18
18
|
allowedGroups?: string[];
|
|
19
19
|
enabled?: boolean;
|
|
20
20
|
workloadPrincipalArn?: string;
|
|
21
|
-
|
|
21
|
+
signIn?: 'company' | 'external';
|
|
22
|
+
/**
|
|
23
|
+
* @minItems 1
|
|
24
|
+
* @maxItems 1
|
|
25
|
+
*/
|
|
26
|
+
signInMethods?: ('phone' | 'email')[];
|
|
27
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// Code generated by tools/gen/gen.mjs from schema/*.json. DO NOT EDIT.
|
|
3
|
+
|
|
4
|
+
export interface ExternalSignIn {
|
|
5
|
+
enabledMethods: ('phone' | 'email')[];
|
|
6
|
+
email?: {
|
|
7
|
+
senderEmail: string;
|
|
8
|
+
senderDomain?: string;
|
|
9
|
+
sesRegion: string;
|
|
10
|
+
configurationSet?: string;
|
|
11
|
+
};
|
|
12
|
+
sms?: {
|
|
13
|
+
originationIdentity?: string;
|
|
14
|
+
region: string;
|
|
15
|
+
inEntityId?: string;
|
|
16
|
+
inTemplateId?: string;
|
|
17
|
+
};
|
|
18
|
+
directory?: {
|
|
19
|
+
accountId: string;
|
|
20
|
+
region: string;
|
|
21
|
+
userPoolId: string;
|
|
22
|
+
};
|
|
23
|
+
readiness?: {
|
|
24
|
+
email?: {
|
|
25
|
+
senderVerified: boolean;
|
|
26
|
+
productionAccess: boolean;
|
|
27
|
+
};
|
|
28
|
+
sms?: {
|
|
29
|
+
sandbox: boolean;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// Code generated by tools/gen/gen.mjs from schema/*.json. DO NOT EDIT.
|
|
3
|
+
|
|
4
|
+
export type IdentityContext = {
|
|
5
|
+
iss: string;
|
|
6
|
+
aud: string;
|
|
7
|
+
sub: string;
|
|
8
|
+
tenant: string;
|
|
9
|
+
app: string;
|
|
10
|
+
iat: number;
|
|
11
|
+
exp: number;
|
|
12
|
+
session_id?: string;
|
|
13
|
+
email?: string;
|
|
14
|
+
name?: string;
|
|
15
|
+
phone_number?: string;
|
|
16
|
+
email_verified?: boolean;
|
|
17
|
+
phone_number_verified?: boolean;
|
|
18
|
+
directory?: 'company' | 'external';
|
|
19
|
+
groups?: string[];
|
|
20
|
+
role?: 'builder' | 'member';
|
|
21
|
+
};
|
package/gen-ts/index.ts
CHANGED
|
@@ -23,6 +23,7 @@ export * from './ai-transform-result.js';
|
|
|
23
23
|
export * from './ai-verification-evidence.js';
|
|
24
24
|
export * from './api-error-response.js';
|
|
25
25
|
export * from './app-integrations-declaration.js';
|
|
26
|
+
export * from './app-sign-in.js';
|
|
26
27
|
export * from './artifact-contract.js';
|
|
27
28
|
export * from './binding-classification-digest-helper.js';
|
|
28
29
|
export * from './binding-classification-subject.js';
|
|
@@ -46,6 +47,8 @@ export * from './env-bindings.js';
|
|
|
46
47
|
export * from './error-category-registry.js';
|
|
47
48
|
export * from './error-category.js';
|
|
48
49
|
export * from './error-envelope.js';
|
|
50
|
+
export * from './external-sign-in.js';
|
|
51
|
+
export * from './identity-context.js';
|
|
49
52
|
export * from './integration-connect-result.js';
|
|
50
53
|
export * from './integration-error-details.js';
|
|
51
54
|
export * from './integration-execute-input-rules.js';
|
package/package.json
CHANGED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://schemas.harbour.dev/app-sign-in.schema.json",
|
|
4
|
+
"title": "AppSignIn",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"signIn": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"enum": [
|
|
11
|
+
"company",
|
|
12
|
+
"external"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"signInMethods": {
|
|
16
|
+
"type": "array",
|
|
17
|
+
"items": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"enum": [
|
|
20
|
+
"phone",
|
|
21
|
+
"email"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
"minItems": 1,
|
|
25
|
+
"maxItems": 1
|
|
26
|
+
},
|
|
27
|
+
"clientId": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"required": [],
|
|
32
|
+
"allOf": [
|
|
33
|
+
{
|
|
34
|
+
"if": {
|
|
35
|
+
"properties": {
|
|
36
|
+
"signIn": {
|
|
37
|
+
"const": "external"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"required": [
|
|
41
|
+
"signIn"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"then": {
|
|
45
|
+
"required": [
|
|
46
|
+
"signInMethods"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
"allowedUsers": {"type": "array", "items": {"type": "string"}},
|
|
20
20
|
"allowedGroups": {"type": "array", "items": {"type": "string"}},
|
|
21
21
|
"enabled": {"type": "boolean"},
|
|
22
|
-
"workloadPrincipalArn": {"type": "string", "pattern": "^arn:aws:(iam|sts)::[0-9]+:"}
|
|
23
|
-
|
|
22
|
+
"workloadPrincipalArn": {"type": "string", "pattern": "^arn:aws:(iam|sts)::[0-9]+:"},
|
|
23
|
+
"signIn": {"type": "string", "enum": ["company", "external"]},
|
|
24
|
+
"signInMethods": {"type": "array", "items": {"type": "string", "enum": ["phone", "email"]}, "minItems": 1, "maxItems": 1}
|
|
25
|
+
},
|
|
26
|
+
"allOf": [{"if": {"properties": {"signIn": {"const": "external"}}, "required": ["signIn"]}, "then": {"required": ["signInMethods"]}}]
|
|
24
27
|
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://schemas.harbour.dev/external-sign-in.schema.json",
|
|
4
|
+
"title": "ExternalSignIn",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"enabledMethods": {
|
|
9
|
+
"type": "array",
|
|
10
|
+
"items": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"enum": [
|
|
13
|
+
"phone",
|
|
14
|
+
"email"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"uniqueItems": true
|
|
18
|
+
},
|
|
19
|
+
"email": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"additionalProperties": false,
|
|
22
|
+
"properties": {
|
|
23
|
+
"senderEmail": {
|
|
24
|
+
"type": "string"
|
|
25
|
+
},
|
|
26
|
+
"senderDomain": {
|
|
27
|
+
"type": "string"
|
|
28
|
+
},
|
|
29
|
+
"sesRegion": {
|
|
30
|
+
"type": "string"
|
|
31
|
+
},
|
|
32
|
+
"configurationSet": {
|
|
33
|
+
"type": "string"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"required": [
|
|
37
|
+
"senderEmail",
|
|
38
|
+
"sesRegion"
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"sms": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"additionalProperties": false,
|
|
44
|
+
"properties": {
|
|
45
|
+
"originationIdentity": {
|
|
46
|
+
"type": "string"
|
|
47
|
+
},
|
|
48
|
+
"region": {
|
|
49
|
+
"type": "string"
|
|
50
|
+
},
|
|
51
|
+
"inEntityId": {
|
|
52
|
+
"type": "string"
|
|
53
|
+
},
|
|
54
|
+
"inTemplateId": {
|
|
55
|
+
"type": "string"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"required": [
|
|
59
|
+
"region"
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
"directory": {
|
|
63
|
+
"type": "object",
|
|
64
|
+
"additionalProperties": false,
|
|
65
|
+
"properties": {
|
|
66
|
+
"accountId": {
|
|
67
|
+
"type": "string"
|
|
68
|
+
},
|
|
69
|
+
"region": {
|
|
70
|
+
"type": "string"
|
|
71
|
+
},
|
|
72
|
+
"userPoolId": {
|
|
73
|
+
"type": "string"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"required": [
|
|
77
|
+
"accountId",
|
|
78
|
+
"region",
|
|
79
|
+
"userPoolId"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"readiness": {
|
|
83
|
+
"type": "object",
|
|
84
|
+
"additionalProperties": false,
|
|
85
|
+
"properties": {
|
|
86
|
+
"email": {
|
|
87
|
+
"type": "object",
|
|
88
|
+
"properties": {
|
|
89
|
+
"senderVerified": {
|
|
90
|
+
"type": "boolean"
|
|
91
|
+
},
|
|
92
|
+
"productionAccess": {
|
|
93
|
+
"type": "boolean"
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"required": [
|
|
97
|
+
"senderVerified",
|
|
98
|
+
"productionAccess"
|
|
99
|
+
],
|
|
100
|
+
"additionalProperties": false
|
|
101
|
+
},
|
|
102
|
+
"sms": {
|
|
103
|
+
"type": "object",
|
|
104
|
+
"properties": {
|
|
105
|
+
"sandbox": {
|
|
106
|
+
"type": "boolean"
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"required": [
|
|
110
|
+
"sandbox"
|
|
111
|
+
],
|
|
112
|
+
"additionalProperties": false
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"required": [
|
|
118
|
+
"enabledMethods"
|
|
119
|
+
]
|
|
120
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://schemas.harbour.dev/identity-context.schema.json",
|
|
4
|
+
"title": "IdentityContext",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"iss": {
|
|
9
|
+
"type": "string"
|
|
10
|
+
},
|
|
11
|
+
"aud": {
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"sub": {
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
"tenant": {
|
|
18
|
+
"type": "string"
|
|
19
|
+
},
|
|
20
|
+
"app": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
"iat": {
|
|
24
|
+
"type": "integer"
|
|
25
|
+
},
|
|
26
|
+
"exp": {
|
|
27
|
+
"type": "integer"
|
|
28
|
+
},
|
|
29
|
+
"session_id": {
|
|
30
|
+
"type": "string"
|
|
31
|
+
},
|
|
32
|
+
"email": {
|
|
33
|
+
"type": "string"
|
|
34
|
+
},
|
|
35
|
+
"name": {
|
|
36
|
+
"type": "string"
|
|
37
|
+
},
|
|
38
|
+
"phone_number": {
|
|
39
|
+
"type": "string"
|
|
40
|
+
},
|
|
41
|
+
"email_verified": {
|
|
42
|
+
"type": "boolean"
|
|
43
|
+
},
|
|
44
|
+
"phone_number_verified": {
|
|
45
|
+
"type": "boolean"
|
|
46
|
+
},
|
|
47
|
+
"directory": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"enum": [
|
|
50
|
+
"company",
|
|
51
|
+
"external"
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
"groups": {
|
|
55
|
+
"type": "array",
|
|
56
|
+
"items": {
|
|
57
|
+
"type": "string"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"role": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"enum": [
|
|
63
|
+
"builder",
|
|
64
|
+
"member"
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"required": [
|
|
69
|
+
"iss",
|
|
70
|
+
"aud",
|
|
71
|
+
"sub",
|
|
72
|
+
"tenant",
|
|
73
|
+
"app",
|
|
74
|
+
"iat",
|
|
75
|
+
"exp"
|
|
76
|
+
],
|
|
77
|
+
"allOf": [
|
|
78
|
+
{
|
|
79
|
+
"if": {
|
|
80
|
+
"properties": {
|
|
81
|
+
"directory": {
|
|
82
|
+
"const": "external"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"required": [
|
|
86
|
+
"directory"
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
"then": {
|
|
90
|
+
"properties": {
|
|
91
|
+
"role": {
|
|
92
|
+
"const": "member"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"anyOf": [
|
|
96
|
+
{
|
|
97
|
+
"required": [
|
|
98
|
+
"email",
|
|
99
|
+
"email_verified"
|
|
100
|
+
],
|
|
101
|
+
"properties": {
|
|
102
|
+
"email": {
|
|
103
|
+
"minLength": 1
|
|
104
|
+
},
|
|
105
|
+
"email_verified": {
|
|
106
|
+
"const": true
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"required": [
|
|
112
|
+
"phone_number",
|
|
113
|
+
"phone_number_verified"
|
|
114
|
+
],
|
|
115
|
+
"properties": {
|
|
116
|
+
"phone_number": {
|
|
117
|
+
"minLength": 1
|
|
118
|
+
},
|
|
119
|
+
"phone_number_verified": {
|
|
120
|
+
"const": true
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"required": [
|
|
126
|
+
"role"
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
"else": {
|
|
130
|
+
"required": [
|
|
131
|
+
"email"
|
|
132
|
+
],
|
|
133
|
+
"properties": {
|
|
134
|
+
"email": {
|
|
135
|
+
"minLength": 1
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
]
|
|
141
|
+
}
|