@fourier-labs/harbour-contracts 0.90.0 → 0.92.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.
Files changed (36) hide show
  1. package/contract-release.json +27 -25
  2. package/dist/gen-ts/app-integrations-declaration.d.ts +8 -0
  3. package/dist/gen-ts/contract-release.d.ts +6 -6
  4. package/dist/gen-ts/contract-release.js +6 -6
  5. package/dist/gen-ts/data-grant-v2.d.ts +4 -4
  6. package/dist/gen-ts/deployment-app-registration.d.ts +20 -0
  7. package/dist/gen-ts/index.d.ts +1 -0
  8. package/dist/gen-ts/index.js +1 -0
  9. package/dist/gen-ts/integration-execute-input-rules.d.ts +230 -0
  10. package/dist/gen-ts/integration-execute-input-rules.js +70 -0
  11. package/dist/gen-ts/integration-execute-request.d.ts +19 -2
  12. package/dist/gen-ts/integration-execute-result.d.ts +49 -0
  13. package/dist/gen-ts/integration-operations.d.ts +56 -0
  14. package/dist/gen-ts/integration-operations.js +72 -0
  15. package/dist/gen-ts/mail-arrival-event.d.ts +17 -0
  16. package/dist/gen-ts/mail-arrival-event.js +3 -0
  17. package/dist/gen-ts/saas-connection.d.ts +11 -7
  18. package/gen-ts/app-integrations-declaration.ts +8 -0
  19. package/gen-ts/contract-release.ts +6 -6
  20. package/gen-ts/data-grant-v2.ts +18 -2
  21. package/gen-ts/deployment-app-registration.ts +20 -0
  22. package/gen-ts/index.ts +1 -0
  23. package/gen-ts/integration-execute-input-rules.ts +70 -0
  24. package/gen-ts/integration-execute-request.ts +27 -2
  25. package/gen-ts/integration-execute-result.ts +49 -0
  26. package/gen-ts/integration-operations.ts +72 -0
  27. package/gen-ts/mail-arrival-event.ts +20 -0
  28. package/gen-ts/saas-connection.ts +33 -4
  29. package/package.json +1 -1
  30. package/schema/app-integrations-declaration.schema.json +121 -9
  31. package/schema/data-grant-v2.schema.json +2 -2
  32. package/schema/deployment-app-registration.schema.json +199 -17
  33. package/schema/integration-execute-request.schema.json +458 -7
  34. package/schema/integration-execute-result.schema.json +234 -2
  35. package/schema/mail-arrival-event.schema.json +75 -0
  36. package/schema/saas-connection.schema.json +720 -138
@@ -5,23 +5,205 @@
5
5
  "description": "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
  "type": "object",
7
7
  "additionalProperties": false,
8
- "required": ["tenantId", "appId", "origin"],
8
+ "required": [
9
+ "tenantId",
10
+ "appId",
11
+ "origin"
12
+ ],
9
13
  "properties": {
10
- "tenantId": {"type": "string", "minLength": 1},
11
- "appId": {"type": "string", "minLength": 1},
12
- "origin": {"type": "string", "format": "uri"},
13
- "publicHostname": {"type": "string", "format": "hostname"},
14
- "backendHostnames": {"type": "array", "uniqueItems": true, "items": {"type": "string", "format": "hostname"}},
15
- "apiHostnames": {"type": "array", "uniqueItems": true, "items": {"type": "string", "format": "hostname"}},
16
- "pathPrefix": {"type": "string", "pattern": "^/"},
17
- "environment": {"type": "string", "enum": ["preview", "production"]},
18
- "allowedDomains": {"type": "array", "items": {"type": "string"}},
19
- "allowedUsers": {"type": "array", "items": {"type": "string"}},
20
- "allowedGroups": {"type": "array", "items": {"type": "string"}},
21
- "enabled": {"type": "boolean"},
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}
14
+ "tenantId": {
15
+ "type": "string",
16
+ "minLength": 1
17
+ },
18
+ "appId": {
19
+ "type": "string",
20
+ "minLength": 1
21
+ },
22
+ "origin": {
23
+ "type": "string",
24
+ "format": "uri"
25
+ },
26
+ "publicHostname": {
27
+ "type": "string",
28
+ "format": "hostname"
29
+ },
30
+ "backendHostnames": {
31
+ "type": "array",
32
+ "uniqueItems": true,
33
+ "items": {
34
+ "type": "string",
35
+ "format": "hostname"
36
+ }
37
+ },
38
+ "apiHostnames": {
39
+ "type": "array",
40
+ "uniqueItems": true,
41
+ "items": {
42
+ "type": "string",
43
+ "format": "hostname"
44
+ }
45
+ },
46
+ "pathPrefix": {
47
+ "type": "string",
48
+ "pattern": "^/"
49
+ },
50
+ "environment": {
51
+ "type": "string",
52
+ "enum": [
53
+ "preview",
54
+ "production"
55
+ ]
56
+ },
57
+ "allowedDomains": {
58
+ "type": "array",
59
+ "items": {
60
+ "type": "string"
61
+ }
62
+ },
63
+ "allowedUsers": {
64
+ "type": "array",
65
+ "items": {
66
+ "type": "string"
67
+ }
68
+ },
69
+ "allowedGroups": {
70
+ "type": "array",
71
+ "items": {
72
+ "type": "string"
73
+ }
74
+ },
75
+ "enabled": {
76
+ "type": "boolean"
77
+ },
78
+ "workloadPrincipalArn": {
79
+ "type": "string",
80
+ "pattern": "^arn:aws:(iam|sts)::[0-9]+:"
81
+ },
82
+ "signIn": {
83
+ "type": "string",
84
+ "enum": [
85
+ "company",
86
+ "external"
87
+ ]
88
+ },
89
+ "signInMethods": {
90
+ "type": "array",
91
+ "items": {
92
+ "type": "string",
93
+ "enum": [
94
+ "phone",
95
+ "email"
96
+ ]
97
+ },
98
+ "minItems": 1,
99
+ "maxItems": 1
100
+ },
101
+ "mailArrivalTarget": {
102
+ "type": "object",
103
+ "additionalProperties": false,
104
+ "required": [
105
+ "functionArn",
106
+ "versionId",
107
+ "jobs"
108
+ ],
109
+ "properties": {
110
+ "functionArn": {
111
+ "type": "string",
112
+ "pattern": "^arn:aws:lambda:[a-z0-9-]+:[0-9]{12}:function:[A-Za-z0-9-_]+$"
113
+ },
114
+ "versionId": {
115
+ "type": "string",
116
+ "minLength": 1
117
+ },
118
+ "jobs": {
119
+ "type": "array",
120
+ "minItems": 1,
121
+ "maxItems": 100,
122
+ "items": {
123
+ "type": "object",
124
+ "additionalProperties": false,
125
+ "required": [
126
+ "name",
127
+ "trigger"
128
+ ],
129
+ "properties": {
130
+ "name": {
131
+ "type": "string",
132
+ "pattern": "^[a-z0-9][a-z0-9_-]{0,63}$"
133
+ },
134
+ "trigger": {
135
+ "type": "object",
136
+ "additionalProperties": false,
137
+ "required": [
138
+ "type",
139
+ "connection",
140
+ "resource"
141
+ ],
142
+ "properties": {
143
+ "type": {
144
+ "const": "email.arrived"
145
+ },
146
+ "connection": {
147
+ "type": "string",
148
+ "pattern": "^[a-z0-9][a-z0-9_-]{0,63}$"
149
+ },
150
+ "resource": {
151
+ "const": "inbox"
152
+ },
153
+ "filter": {
154
+ "type": "object",
155
+ "additionalProperties": false,
156
+ "properties": {
157
+ "from": {
158
+ "type": "string",
159
+ "minLength": 1,
160
+ "maxLength": 320
161
+ },
162
+ "subjectContains": {
163
+ "type": "string",
164
+ "minLength": 1,
165
+ "maxLength": 320
166
+ }
167
+ }
168
+ }
169
+ }
170
+ }
171
+ }
172
+ }
173
+ }
174
+ }
175
+ }
25
176
  },
26
- "allOf": [{"if": {"properties": {"signIn": {"const": "external"}}, "required": ["signIn"]}, "then": {"required": ["signInMethods"]}}]
177
+ "allOf": [
178
+ {
179
+ "if": {
180
+ "properties": {
181
+ "signIn": {
182
+ "const": "external"
183
+ }
184
+ },
185
+ "required": [
186
+ "signIn"
187
+ ]
188
+ },
189
+ "then": {
190
+ "required": [
191
+ "signInMethods"
192
+ ]
193
+ }
194
+ },
195
+ {
196
+ "if": {
197
+ "required": [
198
+ "mailArrivalTarget"
199
+ ]
200
+ },
201
+ "then": {
202
+ "required": [
203
+ "environment",
204
+ "workloadPrincipalArn"
205
+ ]
206
+ }
207
+ }
208
+ ]
27
209
  }