@fourier-labs/harbour-contracts 0.70.0 → 0.72.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/contract-release.json +27 -25
- package/dist/gen-ts/app-integrations-declaration.d.ts +24 -11
- package/dist/gen-ts/contract-release.d.ts +6 -6
- package/dist/gen-ts/contract-release.js +6 -6
- package/dist/gen-ts/data-grant-v2.d.ts +5 -5
- package/dist/gen-ts/deployment-app-registration.d.ts +1 -1
- package/dist/gen-ts/deployment-preview-retirement.d.ts +1 -1
- package/dist/gen-ts/index.d.ts +1 -0
- package/dist/gen-ts/index.js +1 -0
- package/dist/gen-ts/integration-execute-input-rules.d.ts +193 -3
- package/dist/gen-ts/integration-execute-input-rules.js +60 -3
- package/dist/gen-ts/integration-execute-request.d.ts +79 -8
- package/dist/gen-ts/integration-execute-result.d.ts +74 -3
- package/dist/gen-ts/integration-operations.d.ts +87 -0
- package/dist/gen-ts/integration-operations.js +117 -0
- package/dist/gen-ts/saas-connection.d.ts +62 -4
- package/gen-ts/app-integrations-declaration.ts +24 -11
- package/gen-ts/contract-release.ts +6 -6
- package/gen-ts/data-grant-v2.ts +10 -4
- package/gen-ts/deployment-app-registration.ts +1 -1
- package/gen-ts/deployment-preview-retirement.ts +1 -1
- package/gen-ts/index.ts +1 -0
- package/gen-ts/integration-execute-input-rules.ts +60 -4
- package/gen-ts/integration-execute-request.ts +84 -7
- package/gen-ts/integration-execute-result.ts +74 -3
- package/gen-ts/integration-operations.ts +118 -0
- package/gen-ts/saas-connection.ts +67 -3
- package/package.json +1 -1
- package/schema/app-integrations-declaration.schema.json +31 -9
- package/schema/data-grant-v2.schema.json +2 -2
- package/schema/deployment-app-registration.schema.json +1 -1
- package/schema/deployment-preview-retirement.schema.json +1 -1
- package/schema/integration-execute-request.schema.json +157 -11
- package/schema/integration-execute-result.schema.json +82 -7
- package/schema/saas-connection.schema.json +74 -5
package/README.md
CHANGED
|
@@ -38,9 +38,9 @@ exist here first.
|
|
|
38
38
|
| `binding-classification-subject.schema.json` | Complete value-free binding-name classification before version allocation | AI governance §5.7 / SEC-UP-01 |
|
|
39
39
|
| `sanitized-binding-evidence.schema.json` | Exact-version sanitized runtime-binding allocation receipt | AI governance §5.7 / SEC-UP-02 |
|
|
40
40
|
| `ai-pricing-revision`, `ai-metering-policy`, `ai-budget-ledger-event`, `ai-trace-event-v2` | Additive metering v2 records, including media dimensions and P5 trace attribution; v1 records remain readable | AI governance §9 |
|
|
41
|
-
| `app-integrations-declaration.schema.json` | Committed `.isomorph/integrations.json` (`isomorph.app-integrations/2.0`): closed
|
|
42
|
-
| `integration-execute-request`, `integration-execute-result`, `integration-connect-result`, `integration-error-details` | App SDK integrations wire contract on `/_harbour/integrations/*`: per-operation input bounds (a warehouse read filters, groups, aggregates and sorts in the warehouse and says when it was `truncated` — ADR 0017), the
|
|
43
|
-
| `saas-connection.schema.json`, `data-grant-v2.schema.json` | Tenant SaaS connection record (one installation and channel map per tenant and provider) and the additive `harbour.data-grant/2.0` grant record with structured resources and provisioning lease/cleanup (status machine generated; legacy `data-grant` untouched) | Dev kit §5 |
|
|
41
|
+
| `app-integrations-declaration.schema.json` | Committed `.isomorph/integrations.json` (`isomorph.app-integrations/2.0`): closed twelve-operation set (Slack read/post/update/delete/DM/lookup, Gmail list/thread/read/send/attachment, warehouse view read — ADR 0018) with fixed or declared identity modes; owns the shared operation/identity/environment enums | Dev kit §4 |
|
|
42
|
+
| `integration-execute-request`, `integration-execute-result`, `integration-connect-result`, `integration-error-details` | App SDK integrations wire contract on `/_harbour/integrations/*`: per-operation input bounds (a warehouse read filters, groups, aggregates and sorts in the warehouse and says when it was `truncated` — ADR 0017; Slack and Gmail reads page, posts thread, mail carries HTML and attachments — ADR 0018), the per-operation result shapes, consent states and the closed `details.code` reason set | Dev kit §4, §8 |
|
|
43
|
+
| `saas-connection.schema.json`, `data-grant-v2.schema.json` | Tenant SaaS connection record (one installation and channel map per tenant and provider; IT's optional `oauthClient`, `userModeApproval`, `directMessages`, `externalRecipients` — ADR 0018) and the additive `harbour.data-grant/2.0` grant record with structured resources and provisioning lease/cleanup (status machine generated; legacy `data-grant` untouched) | Dev kit §5 |
|
|
44
44
|
| `kit-bundle-manifest.schema.json`, `kit-lock.schema.json` | Published kit bundle identity (SDK tarball digest plus optional `sdk.version` and https `sdk.url` download location) and the committed `.isomorph/kit.lock.json` the CodeBuild SDK-vendoring gate compares against | Dev kit §3 |
|
|
45
45
|
| `deploy-response.schema.json` | 202 Accepted body for `POST /v1/tenants/{tenant}/apps/{app}/deployments`, returned only after the authoritative QUEUED version exists and its SQS message is accepted | — |
|
|
46
46
|
| `deployment-source.schema.json` | Credential-free GitHub source in the `DeployRequest` body; credentials are resolved internally by MaterializeSource | — |
|
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.72.0.0",
|
|
4
|
+
"publishVersion": "0.72.0",
|
|
5
|
+
"publishTag": "v0.72.0",
|
|
6
|
+
"schemasDigest": "sha256:e06999bb8befb0b4bb6eda19d70f2fc12dab3c3416ecdd6539e770a40828ffff",
|
|
7
7
|
"aiFixturesDigest": "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6",
|
|
8
|
-
"generatedGoDigest": "sha256:
|
|
9
|
-
"generatedTypeScriptDigest": "sha256:
|
|
8
|
+
"generatedGoDigest": "sha256:1f39b6a41438726079b882256a402a17047dc1ee0f9209283723cc0125e88932",
|
|
9
|
+
"generatedTypeScriptDigest": "sha256:67ea1a0023a017eb99a47cd5e7ae2ccdd03d42e1c3ed1b8e9eed69672a7afbda",
|
|
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)"
|
|
@@ -31,20 +31,20 @@
|
|
|
31
31
|
"schema/ai-transform-result.schema.json": "sha256:244e380a36957ab2dcb526ea22aaecb56b53664ce1fda6934d0021c084c99133",
|
|
32
32
|
"schema/ai-verification-evidence.schema.json": "sha256:bdbc762df256d2a8dd0bdda60d4d13915ce40034cd756af9515871d145f10ad9",
|
|
33
33
|
"schema/api-error-response.schema.json": "sha256:3d43d5bdf0b59c944e20509d832e6776c3ecdba4d6c245a9118bbe52062a8304",
|
|
34
|
-
"schema/app-integrations-declaration.schema.json": "sha256:
|
|
34
|
+
"schema/app-integrations-declaration.schema.json": "sha256:9a8f6e192158c731afed92aeb76b0b6d0734800870a9e6f61181a95d43e6d7f8",
|
|
35
35
|
"schema/artifact-contract.schema.json": "sha256:8047b461a1c6d07bbe867a259c57bdf5cc0fdf282cf842ec7b683a9e93713b10",
|
|
36
36
|
"schema/binding-classification-subject.schema.json": "sha256:a8825ce652e7e00a18759c4249bd5bcd0cae552dd58440513f867e87f685133c",
|
|
37
37
|
"schema/builder-input-proposal.schema.json": "sha256:fe85cffa6d76b1e1effe1f5d75525f8fe0e1eaa3be4a304e491aa23ad72c0e72",
|
|
38
38
|
"schema/data-dependency.schema.json": "sha256:b4cc2b2484e982cfed64c0f56b8f1e9d1363c71854cd71f845b24fbe7d85c971",
|
|
39
|
-
"schema/data-grant-v2.schema.json": "sha256:
|
|
39
|
+
"schema/data-grant-v2.schema.json": "sha256:576db6f17bbd3c6d700628bb5b93dcb4ade536ab868085634d05ff06476b6272",
|
|
40
40
|
"schema/data-grant.schema.json": "sha256:e640553831ecc1c01cc9a37fe388b84d0ffeaa0d0050e63712b48f65fa437c8a",
|
|
41
41
|
"schema/data-source.schema.json": "sha256:899384f4f11b05d2737766918ab47987b11ed49f1160220a55a367fed96f6f2c",
|
|
42
42
|
"schema/deploy-request.schema.json": "sha256:32531e21983cdfeec511f8b4cddd4dad6530cd90e4e9fe147225d78d138b6198",
|
|
43
43
|
"schema/deploy-response.schema.json": "sha256:09064948abdbba7022738285d802ed44648a16ddc2a5b8c2eeb170ae19a66aeb",
|
|
44
|
-
"schema/deployment-app-registration.schema.json": "sha256:
|
|
44
|
+
"schema/deployment-app-registration.schema.json": "sha256:eb705c38466ebd97cb76c1ce7a6177d75c2f10381df75976b40d47eeb8dd5712",
|
|
45
45
|
"schema/deployment-continuation.schema.json": "sha256:55b6945439f2c91cd851dfe4bc9484e67a64091b7763b2d8267354b4a8bfae8c",
|
|
46
46
|
"schema/deployment-environment.schema.json": "sha256:35b26cae07da9ee375a842b5e87c4570c8eca06775e9fd6dd46eb9eb8aa0df6c",
|
|
47
|
-
"schema/deployment-preview-retirement.schema.json": "sha256:
|
|
47
|
+
"schema/deployment-preview-retirement.schema.json": "sha256:ccf6b971b7853ca98530272f280fe62cd3aab5425b10b81ae6b717cc949e014f",
|
|
48
48
|
"schema/deployment-source.schema.json": "sha256:256988b1efbfc90bd0e1ae31a2c5d69b20ef1e4471dc24c9f9aa759278270fbe",
|
|
49
49
|
"schema/deployment-status-failure.schema.json": "sha256:7cc021d53a07c63b66eb48146d33e8875b64faf77ee927b235795469eb9a1559",
|
|
50
50
|
"schema/deployment-status-request.schema.json": "sha256:1f9f87adc947a252b53b61f71ae17f8c1b8fbc1166f31301a043d11ac257dc66",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"schema/error-envelope.schema.json": "sha256:75dccda7dd16fdf8435deda53fc7dbcdc109b65114617a17f11763010c656f90",
|
|
55
55
|
"schema/integration-connect-result.schema.json": "sha256:3f254b67ef739dc1fa395bdc8c4dc93359b16d481dba2a2d777aa5b6f34b7af8",
|
|
56
56
|
"schema/integration-error-details.schema.json": "sha256:47ad7621c34b092c7e40f912a21e7ccbdc000b974cfb7fa0c9200463e029f8fb",
|
|
57
|
-
"schema/integration-execute-request.schema.json": "sha256:
|
|
58
|
-
"schema/integration-execute-result.schema.json": "sha256:
|
|
57
|
+
"schema/integration-execute-request.schema.json": "sha256:2ca56a49ba709c78ca5b84d047c1430a90cf0d7287c4e889d40f34d7a26f3e43",
|
|
58
|
+
"schema/integration-execute-result.schema.json": "sha256:97f345cfc094a7af1d269486f3b3b90c07d13b70954c2b01dc0313225c9e5bd1",
|
|
59
59
|
"schema/internal-configuration-request.schema.json": "sha256:229d44a3458f68dceddfba802e5c1adcd95523a45af29b93b972706b88461a7d",
|
|
60
60
|
"schema/kit-bundle-manifest.schema.json": "sha256:4a9fcdd52ba0d55718ef4dbdab112b145ef90471d9356d4d3fb41e50fe9e400d",
|
|
61
61
|
"schema/kit-lock.schema.json": "sha256:a48154d9471e49a893d928f7b0e1e0bc77708a4a7edce4fdf14073203e0e8987",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"schema/promotion-request.schema.json": "sha256:00e96dfd8ddbdba88ea222941d43f3609ff6c815a79e34f6705cab458101c969",
|
|
64
64
|
"schema/promotion-response.schema.json": "sha256:4129712d2e29d6ef21d93d4bd0bacfd60ada3f2ee0ade852824e64346b817634",
|
|
65
65
|
"schema/resolved-app-serving.schema.json": "sha256:260e30ca16831ddd96b15f44eadc7daa2a5f87a0025588bd6318b236f349ec6b",
|
|
66
|
-
"schema/saas-connection.schema.json": "sha256:
|
|
66
|
+
"schema/saas-connection.schema.json": "sha256:6720b906b89293eebd8c5a6cb8ac6bc14dfca9b13d822e3026641f935b637892",
|
|
67
67
|
"schema/sanitized-binding-evidence.schema.json": "sha256:1191ab88e2764df927e5f17837674cebebe068d480da2b2fdb390e589f96b51f",
|
|
68
68
|
"schema/secret-reference.schema.json": "sha256:db4e3c2c6a2dbd72d7ea0f9c91cb3b2343a7e67b601996c6818b2ef08e440895",
|
|
69
69
|
"schema/security-scan-input-v2.schema.json": "sha256:0d418342078c9b5046ea6f4bef3c2c57539285dfee99cc0850d4f0d03739ee13",
|
|
@@ -109,10 +109,11 @@
|
|
|
109
109
|
"gen-go/contracts_test.go": "sha256:56376287cb1548be1b35ab4c65d6f0b558c5d34885f7a47cb3d9e8d786607bf5",
|
|
110
110
|
"gen-go/doc.go": "sha256:316d610ce568597a2ce6f38e9782e34fa5920f6f51ab0866e6d061b8a41cd822",
|
|
111
111
|
"gen-go/error_category.go": "sha256:b2ddea22dcfa030f1a45e721e635485b0bd816cf1f38e7654628a653f5ed4583",
|
|
112
|
-
"gen-go/integration_execute_input_rules.go": "sha256:
|
|
113
|
-
"gen-go/integration_execute_input_rules_test.go": "sha256:
|
|
112
|
+
"gen-go/integration_execute_input_rules.go": "sha256:0293686700684419c8aae3d78c85b27825b9fc3429b013c5a84a6378c4e3f778",
|
|
113
|
+
"gen-go/integration_execute_input_rules_test.go": "sha256:9d81e4aac0c3d7f35ea98a40c6d8851570f715ddc95d1ae7324cdc095de4a72e",
|
|
114
|
+
"gen-go/integration_operations.go": "sha256:ae055414ff7c2c41cd7aaa173ff37376bf3fbd748babac95fee3fcf20d18b353",
|
|
114
115
|
"gen-go/schema_documents.go": "sha256:c19c0d540f602ee997a84b90e20702d9bc63ed7d27aec267e76c04655fc182e0",
|
|
115
|
-
"gen-go/types.go": "sha256:
|
|
116
|
+
"gen-go/types.go": "sha256:115f327d0e6551a8c514aefbecac126948a4846520dcffb6bfb08cb9cbec200f",
|
|
116
117
|
"gen-go/version_state.go": "sha256:4ef8abb126414c0025cf2c59bc9c79a74ef4a2ff89e8f316cbf05acc872371c1"
|
|
117
118
|
},
|
|
118
119
|
"generatedTypeScript": {
|
|
@@ -137,21 +138,21 @@
|
|
|
137
138
|
"gen-ts/ai-transform-result.ts": "sha256:208c66b2aeb425c0cbcc18b7191f6e8989443f2b2c1690648e0e06cc1448ce25",
|
|
138
139
|
"gen-ts/ai-verification-evidence.ts": "sha256:979439d77f8b47631d1eb3b6c3c54ea6fec41089d2a51dc815fd370b1c4917fc",
|
|
139
140
|
"gen-ts/api-error-response.ts": "sha256:0fd73be282e7a5d72d6c343a4e64d09c232556b16161167f0cffd6278ed7e3d3",
|
|
140
|
-
"gen-ts/app-integrations-declaration.ts": "sha256:
|
|
141
|
+
"gen-ts/app-integrations-declaration.ts": "sha256:c522e5139d8ee454b7cfa2399802e2101de3b3932273106f51f7cf4e26bbb7fb",
|
|
141
142
|
"gen-ts/artifact-contract.ts": "sha256:4a6dc6d2caaeed4bb2066cc8a333e6e09e5a0d4745e0b1038293d54ab9403aeb",
|
|
142
143
|
"gen-ts/binding-classification-digest-helper.ts": "sha256:40fc7d85b4c3f3ffc5caf7d7950c62d013c83ee42058c7453b2100d95817f167",
|
|
143
144
|
"gen-ts/binding-classification-subject.ts": "sha256:c409a3fd7b942b50419632c51d9a79474fb30d6374bdc79c0e25c73618e800c3",
|
|
144
145
|
"gen-ts/builder-input-proposal.ts": "sha256:b0108c3787873d3cf1a39f00967379418a6766275d3474cfa55f5a9d93ead174",
|
|
145
146
|
"gen-ts/data-dependency.ts": "sha256:259f19e2759395d72ead90b8ed74a6dcef0c2641124f4f182823138cfd19bedf",
|
|
146
|
-
"gen-ts/data-grant-v2.ts": "sha256:
|
|
147
|
+
"gen-ts/data-grant-v2.ts": "sha256:7ae2df78f14a76712bcab42d35ce5cf8509b317feb4d67f9a1da6bd13cc5dc2b",
|
|
147
148
|
"gen-ts/data-grant.ts": "sha256:2358579d8aa1e57b01a6f2b0eacce5531e7f21ef226404c9809925365e0d6155",
|
|
148
149
|
"gen-ts/data-source.ts": "sha256:1a40c252e94ee717d287ba63647e4368668dad9ea731770f8b58deb17d18b311",
|
|
149
150
|
"gen-ts/deploy-request.ts": "sha256:0214faa8be6680f0bfc117d5ce67c1a59fcc18bd0ea4bc840e03e7d051fa9ab6",
|
|
150
151
|
"gen-ts/deploy-response.ts": "sha256:364d9f1acf32e491498237cdd3f402d5f8e102f208db7748034f4ec68c6a6137",
|
|
151
|
-
"gen-ts/deployment-app-registration.ts": "sha256:
|
|
152
|
+
"gen-ts/deployment-app-registration.ts": "sha256:642db3a3f796e5d7089cdb834991277ab1aac5bff37cd5cab42aa2f1c116f0be",
|
|
152
153
|
"gen-ts/deployment-continuation.ts": "sha256:cc9f63af4d0da5086a79103789e4f043783b75b4ed11c6512f044439a551a79c",
|
|
153
154
|
"gen-ts/deployment-environment.ts": "sha256:fc08cabe2e52ebb93cfe84d2019994260f71734c33d0e50e7c63e40ef5b17cef",
|
|
154
|
-
"gen-ts/deployment-preview-retirement.ts": "sha256:
|
|
155
|
+
"gen-ts/deployment-preview-retirement.ts": "sha256:309421d08daf0ade163b6457ed0e5410ec6573c40a59423a6cce14780d9c38db",
|
|
155
156
|
"gen-ts/deployment-source.ts": "sha256:8ccb55aaa7260eb6d19a00987d6a20a4b514e343564da13f27cd7fee8013500a",
|
|
156
157
|
"gen-ts/deployment-status-failure.ts": "sha256:6da2e6eb2f708efa51d416a1ec50f71ea7967cf9be9f93e7ce2e4760dae2cfe3",
|
|
157
158
|
"gen-ts/deployment-status-request.ts": "sha256:7ddccd07ab9f6d0821903a291ab35f903bb055727e03a058b99165ec048f6483",
|
|
@@ -160,12 +161,13 @@
|
|
|
160
161
|
"gen-ts/error-category-registry.ts": "sha256:7466a502c0723a77db825cdeaa9556a244201b55d9b7acbf2c098e9e84351df1",
|
|
161
162
|
"gen-ts/error-category.ts": "sha256:9bda89180c3b740c9aa8be466216592e8ca9d0d368c274333edf6ea5c45afd8e",
|
|
162
163
|
"gen-ts/error-envelope.ts": "sha256:4457309be794f9d4fc0cf62530cc2d442c007bac9ae84aff66df099cc9e40310",
|
|
163
|
-
"gen-ts/index.ts": "sha256:
|
|
164
|
+
"gen-ts/index.ts": "sha256:57927b9fcddf506785671bbd44cced9f729373e4dd3e3480bc6c37fd05fb59e8",
|
|
164
165
|
"gen-ts/integration-connect-result.ts": "sha256:4b10f169b6e1af364e9b418de21caa9fadbfb77b43cbff77d741cfae0b52180c",
|
|
165
166
|
"gen-ts/integration-error-details.ts": "sha256:ad7ecec9dd4533a6e86b3508886a7d69937052f52105497285797f77106bcc6f",
|
|
166
|
-
"gen-ts/integration-execute-input-rules.ts": "sha256:
|
|
167
|
-
"gen-ts/integration-execute-request.ts": "sha256:
|
|
168
|
-
"gen-ts/integration-execute-result.ts": "sha256:
|
|
167
|
+
"gen-ts/integration-execute-input-rules.ts": "sha256:3304b0fd14df331a164a035410de9b10885be6585077add4720da39b5d16d527",
|
|
168
|
+
"gen-ts/integration-execute-request.ts": "sha256:92ee799c42e5434229cb72198382352dabc469a2be551ef5c1926ed5ada45619",
|
|
169
|
+
"gen-ts/integration-execute-result.ts": "sha256:d72ca736d06741552e6a7be6c98fe1ae506ddaa1e58938b785303fdc3e1784ac",
|
|
170
|
+
"gen-ts/integration-operations.ts": "sha256:dcb61abfe380637f7537b4d3b8a399fd869e93485b7b3091be2434191a2c82a0",
|
|
169
171
|
"gen-ts/internal-configuration-request.ts": "sha256:7032437797473fa1c581d134adef2f3d4b4f4132f482cd17743e9d47097886bc",
|
|
170
172
|
"gen-ts/kit-bundle-manifest.ts": "sha256:2777a268aef8787b81e71d154a7d05f6f5ded09d66f378211ff5493ddb885171",
|
|
171
173
|
"gen-ts/kit-lock.ts": "sha256:00ceeb97e9b7d0187bec00728f5099fd34e775e9cc44c85c4714f7a3a4118ef6",
|
|
@@ -173,7 +175,7 @@
|
|
|
173
175
|
"gen-ts/promotion-request.ts": "sha256:9db88cef67f777a16bac628039ec3f582acb9e8cfff6fb592b30d0a0e55abc68",
|
|
174
176
|
"gen-ts/promotion-response.ts": "sha256:f1c9cafac96faeb02a443a31786f67714e818f38d90108e7af41958396524d6f",
|
|
175
177
|
"gen-ts/resolved-app-serving.ts": "sha256:6131a6cc5f784f0d101081d2ce1b96b76b2f904b2c5e7b2809f9ede5878ada1f",
|
|
176
|
-
"gen-ts/saas-connection.ts": "sha256:
|
|
178
|
+
"gen-ts/saas-connection.ts": "sha256:f169d1bf454ad926bb15dfbc3f6b8dd7e8a3ed6bce77ce244a2069e5667de935",
|
|
177
179
|
"gen-ts/sanitized-binding-digest-helper.ts": "sha256:c47d7fdc20500e2e72c23fe39ecdd610fc397c47fcba51335ebec3c380fe6872",
|
|
178
180
|
"gen-ts/sanitized-binding-evidence.ts": "sha256:f3fb7b1d7d2e0929eb0ea981eaf32db3104010647185f6ae59f67167d42538a9",
|
|
179
181
|
"gen-ts/secret-reference.ts": "sha256:731fbcde7315cb4128d5b01bdbe6e6f248f13c7ad8dea04a3a4e927ac4890198",
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export type IntegrationConnectionKind = 'saas' | 'database';
|
|
2
|
+
/**
|
|
3
|
+
* Whose authority an operation runs under. Fixed per operation, except the declared-mode Slack operations (slack.message.post; since 0.71.0 also slack.channel.history, slack.message.update, slack.message.delete): declared per app for the access request, and named per call among the app's approved modes (execute request `mode`, 0.55.0).
|
|
4
|
+
*/
|
|
5
|
+
export type IntegrationIdentityMode = 'app' | 'user';
|
|
2
6
|
/**
|
|
3
7
|
* Tenant-wide logical alias of a connection (governance sourceId) or of a resource under it.
|
|
4
8
|
*/
|
|
@@ -8,16 +12,12 @@ export type IntegrationAlias = string;
|
|
|
8
12
|
* @maxItems 64
|
|
9
13
|
*/
|
|
10
14
|
export type ResourceNames = IntegrationAlias[];
|
|
11
|
-
/**
|
|
12
|
-
* Whose authority an operation runs under. Fixed per operation, except slack.message.post: declared per app for the access request, and named per call among the app's approved modes (execute request `mode`, 0.55.0).
|
|
13
|
-
*/
|
|
14
|
-
export type IntegrationIdentityMode = 'app' | 'user';
|
|
15
15
|
/**
|
|
16
16
|
* A plain warehouse column identifier, or `*` as the sole selection when IT exposed all current and future columns.
|
|
17
17
|
*/
|
|
18
18
|
export type ColumnName = string;
|
|
19
19
|
/**
|
|
20
|
-
* Committed `.isomorph/integrations.json`: the app's declared use of tenant-wide integration connections. Keys are logical connection aliases (the governance sourceId); resources are logical names (Slack channel alias, warehouse view name), never IDs, tokens or URLs. The operation set is closed (
|
|
20
|
+
* Committed `.isomorph/integrations.json`: the app's declared use of tenant-wide integration connections. Keys are logical connection aliases (the governance sourceId); resources are logical names (Slack channel alias, warehouse view name), never IDs, tokens or URLs. The operation set is closed (twelve operations since 0.71.0, ADR 0018). Each operation carries a fixed identity mode — slack.dm.send=app, slack.user.lookup=app, every gmail.* operation=user, warehouse.view.read=app — except the declared-mode Slack operations (slack.message.post, and since 0.71.0 slack.channel.history, slack.message.update and slack.message.delete), whose mode the app DECLARES: `app` acts as the company's Slack app (the one audited bot identity; a post goes out under the IT-approved per-app display name when the connection declares `presentation`), `user` acts as the signed-in person after their own consent (reads what they can read, edits what they wrote). The declared mode is the one the app requests access for; an app may hold approved grants for both modes after two requests, and each declared-mode call names which approved mode it runs under (`mode` on the execute request, 0.55.0) — a mode IT did not approve is refused, never swapped for the other. A `saas` connection may declare only the Slack and Gmail operations and a `database` connection only warehouse.view.read; `presentation` is a `saas` connection's optional per-app display name and icon for app-mode Slack posts, shown to IT at approval time and applied only from the approved grant. Gmail is user-mode only (reads, one send); its single resource is the fixed `inbox` alias. slack.dm.send and slack.user.lookup address people by email rather than a channel, so their single resource is the fixed `workspace` alias (the connection's installed workspace), the way Gmail's is `inbox`. This file also owns the shared IntegrationOperation / IntegrationIdentityMode / IntegrationEnvironment / IntegrationConnectionKind / IntegrationPresentation definitions referenced by the other integration schemas.
|
|
21
21
|
*/
|
|
22
22
|
export interface AppIntegrationsDeclaration {
|
|
23
23
|
schema: 'isomorph.app-integrations/2.0';
|
|
@@ -29,11 +29,17 @@ export interface DeclaredConnection {
|
|
|
29
29
|
kind: IntegrationConnectionKind;
|
|
30
30
|
presentation?: IntegrationPresentation;
|
|
31
31
|
operations: {
|
|
32
|
-
'slack.channel.history'?:
|
|
32
|
+
'slack.channel.history'?: DeclaredModeChannelOperation;
|
|
33
33
|
'slack.message.post'?: DeclaredModeChannelOperation;
|
|
34
|
+
'slack.message.update'?: DeclaredModeChannelOperation;
|
|
35
|
+
'slack.message.delete'?: DeclaredModeChannelOperation;
|
|
36
|
+
'slack.dm.send'?: AppModeChannelOperation;
|
|
37
|
+
'slack.user.lookup'?: AppModeChannelOperation;
|
|
34
38
|
'gmail.thread.list'?: UserModeChannelOperation;
|
|
39
|
+
'gmail.thread.read'?: UserModeChannelOperation;
|
|
35
40
|
'gmail.message.read'?: UserModeChannelOperation;
|
|
36
41
|
'gmail.message.send'?: UserModeChannelOperation;
|
|
42
|
+
'gmail.attachment.read'?: UserModeChannelOperation;
|
|
37
43
|
'warehouse.view.read'?: AppModeViewOperation;
|
|
38
44
|
};
|
|
39
45
|
}
|
|
@@ -50,17 +56,24 @@ export interface IntegrationPresentation {
|
|
|
50
56
|
*/
|
|
51
57
|
iconEmoji?: string;
|
|
52
58
|
}
|
|
53
|
-
export interface UserModeChannelOperation {
|
|
54
|
-
identity: 'user';
|
|
55
|
-
resources: ResourceNames;
|
|
56
|
-
}
|
|
57
59
|
/**
|
|
58
|
-
* slack.message.post: the app declares the mode — app (
|
|
60
|
+
* slack.message.post, slack.channel.history, slack.message.update, slack.message.delete: the app declares the mode — app (acts as the company's Slack app) or user (acts as the signed-in person).
|
|
59
61
|
*/
|
|
60
62
|
export interface DeclaredModeChannelOperation {
|
|
61
63
|
identity: IntegrationIdentityMode;
|
|
62
64
|
resources: ResourceNames;
|
|
63
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* slack.dm.send, slack.user.lookup (0.71.0): app mode only — the company's Slack app messages people or resolves them by email; the resource is the fixed `workspace` alias.
|
|
68
|
+
*/
|
|
69
|
+
export interface AppModeChannelOperation {
|
|
70
|
+
identity: 'app';
|
|
71
|
+
resources: ResourceNames;
|
|
72
|
+
}
|
|
73
|
+
export interface UserModeChannelOperation {
|
|
74
|
+
identity: 'user';
|
|
75
|
+
resources: ResourceNames;
|
|
76
|
+
}
|
|
64
77
|
export interface AppModeViewOperation {
|
|
65
78
|
identity: 'app';
|
|
66
79
|
resources: {
|
|
@@ -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.72.0.0";
|
|
2
|
+
export declare const ContractPublishVersion: "0.72.0";
|
|
3
|
+
export declare const ContractPublishTag: "v0.72.0";
|
|
4
|
+
export declare const ContractSchemasDigest: "sha256:e06999bb8befb0b4bb6eda19d70f2fc12dab3c3416ecdd6539e770a40828ffff";
|
|
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:1f39b6a41438726079b882256a402a17047dc1ee0f9209283723cc0125e88932";
|
|
7
|
+
export declare const ContractGeneratedTypeScriptDigest: "sha256:67ea1a0023a017eb99a47cd5e7ae2ccdd03d42e1c3ed1b8e9eed69672a7afbda";
|
|
@@ -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.72.0.0";
|
|
4
|
+
export const ContractPublishVersion = "0.72.0";
|
|
5
|
+
export const ContractPublishTag = "v0.72.0";
|
|
6
|
+
export const ContractSchemasDigest = "sha256:e06999bb8befb0b4bb6eda19d70f2fc12dab3c3416ecdd6539e770a40828ffff";
|
|
7
7
|
export const ContractAiFixturesDigest = "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6";
|
|
8
|
-
export const ContractGeneratedGoDigest = "sha256:
|
|
9
|
-
export const ContractGeneratedTypeScriptDigest = "sha256:
|
|
8
|
+
export const ContractGeneratedGoDigest = "sha256:1f39b6a41438726079b882256a402a17047dc1ee0f9209283723cc0125e88932";
|
|
9
|
+
export const ContractGeneratedTypeScriptDigest = "sha256:67ea1a0023a017eb99a47cd5e7ae2ccdd03d42e1c3ed1b8e9eed69672a7afbda";
|
|
@@ -23,17 +23,17 @@ export interface DataGrantV2 {
|
|
|
23
23
|
*/
|
|
24
24
|
sourceId: string;
|
|
25
25
|
/**
|
|
26
|
-
* Whose authority an operation runs under. Fixed per operation, except slack.message.post: declared per app for the access request, and named per call among the app's approved modes (execute request `mode`, 0.55.0).
|
|
26
|
+
* Whose authority an operation runs under. Fixed per operation, except the declared-mode Slack operations (slack.message.post; since 0.71.0 also slack.channel.history, slack.message.update, slack.message.delete): declared per app for the access request, and named per call among the app's approved modes (execute request `mode`, 0.55.0).
|
|
27
27
|
*/
|
|
28
28
|
mode: 'app' | 'user';
|
|
29
29
|
kind: 'saas' | 'database';
|
|
30
30
|
status: DataGrantV2Status;
|
|
31
31
|
/**
|
|
32
|
-
* Approved operations; each must match this grant's mode. Empty until the first approval.
|
|
32
|
+
* Approved operations; each must match this grant's mode. Empty until the first approval. At most the eleven SaaS operations (0.71.0); a database grant holds one.
|
|
33
33
|
*
|
|
34
|
-
* @maxItems
|
|
34
|
+
* @maxItems 11
|
|
35
35
|
*/
|
|
36
|
-
operations: ('slack.channel.history' | 'slack.message.post' | 'gmail.thread.list' | 'gmail.message.read' | 'gmail.message.send' | 'warehouse.view.read')[];
|
|
36
|
+
operations: ('slack.channel.history' | 'slack.message.post' | 'slack.message.update' | 'slack.message.delete' | 'slack.dm.send' | 'slack.user.lookup' | 'gmail.thread.list' | 'gmail.thread.read' | 'gmail.message.read' | 'gmail.message.send' | 'gmail.attachment.read' | 'warehouse.view.read')[];
|
|
37
37
|
/**
|
|
38
38
|
* Approved logical resources. Never inherited by wildcard. Empty until the first approval.
|
|
39
39
|
*
|
|
@@ -72,7 +72,7 @@ export interface DataGrantV2 {
|
|
|
72
72
|
updatedAt: string;
|
|
73
73
|
/**
|
|
74
74
|
* @deprecated
|
|
75
|
-
* Whose authority an operation runs under. Fixed per operation, except slack.message.post: declared per app for the access request, and named per call among the app's approved modes (execute request `mode`, 0.55.0).
|
|
75
|
+
* Whose authority an operation runs under. Fixed per operation, except the declared-mode Slack operations (slack.message.post; since 0.71.0 also slack.channel.history, slack.message.update, slack.message.delete): declared per app for the access request, and named per call among the app's approved modes (execute request `mode`, 0.55.0).
|
|
76
76
|
*/
|
|
77
77
|
identityMode?: 'app' | 'user';
|
|
78
78
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* IAM/SigV4 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.
|
|
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
4
|
export interface DeploymentAppRegistration {
|
|
5
5
|
tenantId: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* IAM-protected POST /v1/deployment/apps/retire-preview request after production is LIVE and the deployment plane holds the preview retirement reservation. Disables only the registered preview version's serving routes and workload authority.
|
|
2
|
+
* IAM-protected POST /v1/internal/deployment/apps/{appId}/retire-preview (Internal API) or POST /v1/deployment/apps/retire-preview request after production is LIVE and the deployment plane holds the preview retirement reservation. Disables only the registered preview version's serving routes and workload authority.
|
|
3
3
|
*/
|
|
4
4
|
export interface DeploymentPreviewRetirement {
|
|
5
5
|
tenantId: string;
|
package/dist/gen-ts/index.d.ts
CHANGED
|
@@ -48,6 +48,7 @@ export * from './integration-error-details.js';
|
|
|
48
48
|
export * from './integration-execute-input-rules.js';
|
|
49
49
|
export * from './integration-execute-request.js';
|
|
50
50
|
export * from './integration-execute-result.js';
|
|
51
|
+
export * from './integration-operations.js';
|
|
51
52
|
export * from './internal-configuration-request.js';
|
|
52
53
|
export * from './kit-bundle-manifest.js';
|
|
53
54
|
export * from './kit-lock.js';
|
package/dist/gen-ts/index.js
CHANGED
|
@@ -50,6 +50,7 @@ export * from './integration-error-details.js';
|
|
|
50
50
|
export * from './integration-execute-input-rules.js';
|
|
51
51
|
export * from './integration-execute-request.js';
|
|
52
52
|
export * from './integration-execute-result.js';
|
|
53
|
+
export * from './integration-operations.js';
|
|
53
54
|
export * from './internal-configuration-request.js';
|
|
54
55
|
export * from './kit-bundle-manifest.js';
|
|
55
56
|
export * from './kit-lock.js';
|
|
@@ -28,6 +28,7 @@ export type IntegrationExecuteInputFieldRule = {
|
|
|
28
28
|
maxLength?: number;
|
|
29
29
|
pattern?: string;
|
|
30
30
|
};
|
|
31
|
+
default?: readonly string[];
|
|
31
32
|
} | {
|
|
32
33
|
kind: 'enum';
|
|
33
34
|
required: boolean;
|
|
@@ -64,9 +65,27 @@ export declare const IntegrationExecuteInputRules: {
|
|
|
64
65
|
readonly kind: "integer";
|
|
65
66
|
readonly required: false;
|
|
66
67
|
readonly minimum: 1;
|
|
67
|
-
readonly maximum:
|
|
68
|
+
readonly maximum: 100;
|
|
68
69
|
readonly default: 15;
|
|
69
70
|
};
|
|
71
|
+
readonly cursor: {
|
|
72
|
+
readonly kind: "string";
|
|
73
|
+
readonly required: false;
|
|
74
|
+
readonly minLength: 1;
|
|
75
|
+
readonly maxLength: 256;
|
|
76
|
+
};
|
|
77
|
+
readonly oldest: {
|
|
78
|
+
readonly kind: "string";
|
|
79
|
+
readonly required: false;
|
|
80
|
+
readonly minLength: 1;
|
|
81
|
+
readonly maxLength: 64;
|
|
82
|
+
};
|
|
83
|
+
readonly latest: {
|
|
84
|
+
readonly kind: "string";
|
|
85
|
+
readonly required: false;
|
|
86
|
+
readonly minLength: 1;
|
|
87
|
+
readonly maxLength: 64;
|
|
88
|
+
};
|
|
70
89
|
};
|
|
71
90
|
};
|
|
72
91
|
readonly "slack.message.post": {
|
|
@@ -78,6 +97,93 @@ export declare const IntegrationExecuteInputRules: {
|
|
|
78
97
|
readonly minLength: 1;
|
|
79
98
|
readonly maxLength: 4000;
|
|
80
99
|
};
|
|
100
|
+
readonly threadId: {
|
|
101
|
+
readonly kind: "string";
|
|
102
|
+
readonly required: false;
|
|
103
|
+
readonly minLength: 0;
|
|
104
|
+
readonly pattern: "^[A-Za-z0-9._-]{1,64}$";
|
|
105
|
+
};
|
|
106
|
+
readonly format: {
|
|
107
|
+
readonly kind: "enum";
|
|
108
|
+
readonly required: false;
|
|
109
|
+
readonly values: readonly ["plain", "mrkdwn"];
|
|
110
|
+
readonly default: "plain";
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
readonly "slack.message.update": {
|
|
115
|
+
readonly idempotencyKey: false;
|
|
116
|
+
readonly fields: {
|
|
117
|
+
readonly messageId: {
|
|
118
|
+
readonly kind: "string";
|
|
119
|
+
readonly required: true;
|
|
120
|
+
readonly minLength: 0;
|
|
121
|
+
readonly pattern: "^[A-Za-z0-9._-]{1,64}$";
|
|
122
|
+
};
|
|
123
|
+
readonly text: {
|
|
124
|
+
readonly kind: "string";
|
|
125
|
+
readonly required: true;
|
|
126
|
+
readonly minLength: 1;
|
|
127
|
+
readonly maxLength: 4000;
|
|
128
|
+
};
|
|
129
|
+
readonly format: {
|
|
130
|
+
readonly kind: "enum";
|
|
131
|
+
readonly required: false;
|
|
132
|
+
readonly values: readonly ["plain", "mrkdwn"];
|
|
133
|
+
readonly default: "plain";
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
readonly "slack.message.delete": {
|
|
138
|
+
readonly idempotencyKey: false;
|
|
139
|
+
readonly fields: {
|
|
140
|
+
readonly messageId: {
|
|
141
|
+
readonly kind: "string";
|
|
142
|
+
readonly required: true;
|
|
143
|
+
readonly minLength: 0;
|
|
144
|
+
readonly pattern: "^[A-Za-z0-9._-]{1,64}$";
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
readonly "slack.dm.send": {
|
|
149
|
+
readonly idempotencyKey: true;
|
|
150
|
+
readonly fields: {
|
|
151
|
+
readonly to: {
|
|
152
|
+
readonly kind: "string[]";
|
|
153
|
+
readonly required: true;
|
|
154
|
+
readonly minItems: 1;
|
|
155
|
+
readonly maxItems: 8;
|
|
156
|
+
readonly uniqueItems: true;
|
|
157
|
+
readonly item: {
|
|
158
|
+
readonly minLength: 3;
|
|
159
|
+
readonly maxLength: 254;
|
|
160
|
+
readonly pattern: "^[^\\s@<>,;\"]+@[^\\s@<>,;\"]+\\.[^\\s@<>,;\"]+$";
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
readonly text: {
|
|
164
|
+
readonly kind: "string";
|
|
165
|
+
readonly required: true;
|
|
166
|
+
readonly minLength: 1;
|
|
167
|
+
readonly maxLength: 4000;
|
|
168
|
+
};
|
|
169
|
+
readonly format: {
|
|
170
|
+
readonly kind: "enum";
|
|
171
|
+
readonly required: false;
|
|
172
|
+
readonly values: readonly ["plain", "mrkdwn"];
|
|
173
|
+
readonly default: "plain";
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
readonly "slack.user.lookup": {
|
|
178
|
+
readonly idempotencyKey: false;
|
|
179
|
+
readonly fields: {
|
|
180
|
+
readonly email: {
|
|
181
|
+
readonly kind: "string";
|
|
182
|
+
readonly required: true;
|
|
183
|
+
readonly minLength: 3;
|
|
184
|
+
readonly maxLength: 254;
|
|
185
|
+
readonly pattern: "^[^\\s@<>,;\"]+@[^\\s@<>,;\"]+\\.[^\\s@<>,;\"]+$";
|
|
186
|
+
};
|
|
81
187
|
};
|
|
82
188
|
};
|
|
83
189
|
readonly "gmail.thread.list": {
|
|
@@ -87,9 +193,44 @@ export declare const IntegrationExecuteInputRules: {
|
|
|
87
193
|
readonly kind: "integer";
|
|
88
194
|
readonly required: false;
|
|
89
195
|
readonly minimum: 1;
|
|
90
|
-
readonly maximum:
|
|
196
|
+
readonly maximum: 50;
|
|
91
197
|
readonly default: 15;
|
|
92
198
|
};
|
|
199
|
+
readonly q: {
|
|
200
|
+
readonly kind: "string";
|
|
201
|
+
readonly required: false;
|
|
202
|
+
readonly minLength: 1;
|
|
203
|
+
readonly maxLength: 256;
|
|
204
|
+
};
|
|
205
|
+
readonly labelIds: {
|
|
206
|
+
readonly kind: "string[]";
|
|
207
|
+
readonly required: false;
|
|
208
|
+
readonly minItems: 1;
|
|
209
|
+
readonly maxItems: 5;
|
|
210
|
+
readonly uniqueItems: true;
|
|
211
|
+
readonly item: {
|
|
212
|
+
readonly minLength: 1;
|
|
213
|
+
readonly maxLength: 64;
|
|
214
|
+
};
|
|
215
|
+
readonly default: readonly ["INBOX"];
|
|
216
|
+
};
|
|
217
|
+
readonly pageToken: {
|
|
218
|
+
readonly kind: "string";
|
|
219
|
+
readonly required: false;
|
|
220
|
+
readonly minLength: 1;
|
|
221
|
+
readonly maxLength: 256;
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
readonly "gmail.thread.read": {
|
|
226
|
+
readonly idempotencyKey: false;
|
|
227
|
+
readonly fields: {
|
|
228
|
+
readonly threadId: {
|
|
229
|
+
readonly kind: "string";
|
|
230
|
+
readonly required: true;
|
|
231
|
+
readonly minLength: 0;
|
|
232
|
+
readonly pattern: "^[A-Za-z0-9._-]{1,64}$";
|
|
233
|
+
};
|
|
93
234
|
};
|
|
94
235
|
};
|
|
95
236
|
readonly "gmail.message.read": {
|
|
@@ -99,7 +240,7 @@ export declare const IntegrationExecuteInputRules: {
|
|
|
99
240
|
readonly kind: "string";
|
|
100
241
|
readonly required: true;
|
|
101
242
|
readonly minLength: 0;
|
|
102
|
-
readonly pattern: "^[A-Za-z0-
|
|
243
|
+
readonly pattern: "^[A-Za-z0-9._-]{1,64}$";
|
|
103
244
|
};
|
|
104
245
|
};
|
|
105
246
|
};
|
|
@@ -154,6 +295,38 @@ export declare const IntegrationExecuteInputRules: {
|
|
|
154
295
|
readonly minLength: 1;
|
|
155
296
|
readonly maxLength: 4000;
|
|
156
297
|
};
|
|
298
|
+
readonly html: {
|
|
299
|
+
readonly kind: "string";
|
|
300
|
+
readonly required: false;
|
|
301
|
+
readonly minLength: 1;
|
|
302
|
+
readonly maxLength: 65536;
|
|
303
|
+
};
|
|
304
|
+
readonly attachments: {
|
|
305
|
+
readonly kind: "object[]";
|
|
306
|
+
readonly required: false;
|
|
307
|
+
readonly minItems: 1;
|
|
308
|
+
readonly maxItems: 5;
|
|
309
|
+
readonly fields: {
|
|
310
|
+
readonly filename: {
|
|
311
|
+
readonly kind: "string";
|
|
312
|
+
readonly required: true;
|
|
313
|
+
readonly minLength: 1;
|
|
314
|
+
readonly maxLength: 255;
|
|
315
|
+
};
|
|
316
|
+
readonly contentType: {
|
|
317
|
+
readonly kind: "string";
|
|
318
|
+
readonly required: true;
|
|
319
|
+
readonly minLength: 1;
|
|
320
|
+
readonly maxLength: 128;
|
|
321
|
+
};
|
|
322
|
+
readonly dataBase64: {
|
|
323
|
+
readonly kind: "string";
|
|
324
|
+
readonly required: true;
|
|
325
|
+
readonly minLength: 1;
|
|
326
|
+
readonly maxLength: 2796203;
|
|
327
|
+
};
|
|
328
|
+
};
|
|
329
|
+
};
|
|
157
330
|
readonly replyToMessageId: {
|
|
158
331
|
readonly kind: "string";
|
|
159
332
|
readonly required: false;
|
|
@@ -162,6 +335,23 @@ export declare const IntegrationExecuteInputRules: {
|
|
|
162
335
|
};
|
|
163
336
|
};
|
|
164
337
|
};
|
|
338
|
+
readonly "gmail.attachment.read": {
|
|
339
|
+
readonly idempotencyKey: false;
|
|
340
|
+
readonly fields: {
|
|
341
|
+
readonly messageId: {
|
|
342
|
+
readonly kind: "string";
|
|
343
|
+
readonly required: true;
|
|
344
|
+
readonly minLength: 0;
|
|
345
|
+
readonly pattern: "^[A-Za-z0-9._-]{1,64}$";
|
|
346
|
+
};
|
|
347
|
+
readonly attachmentId: {
|
|
348
|
+
readonly kind: "string";
|
|
349
|
+
readonly required: true;
|
|
350
|
+
readonly minLength: 1;
|
|
351
|
+
readonly maxLength: 512;
|
|
352
|
+
};
|
|
353
|
+
};
|
|
354
|
+
};
|
|
165
355
|
readonly "warehouse.view.read": {
|
|
166
356
|
readonly idempotencyKey: false;
|
|
167
357
|
readonly fields: {
|