@fourier-labs/harbour-contracts 0.83.0 → 0.85.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 +1 -1
- package/contract-release.json +15 -15
- package/dist/gen-ts/contract-release.d.ts +6 -6
- package/dist/gen-ts/contract-release.js +6 -6
- package/dist/gen-ts/data-source.d.ts +2 -2
- package/dist/gen-ts/integration-execute-input-rules.d.ts +1 -1
- package/dist/gen-ts/integration-execute-input-rules.js +1 -1
- package/dist/gen-ts/integration-execute-request.d.ts +3 -3
- package/gen-ts/contract-release.ts +6 -6
- package/gen-ts/data-source.ts +3 -2
- package/gen-ts/integration-execute-input-rules.ts +1 -1
- package/gen-ts/integration-execute-request.ts +3 -3
- package/package.json +1 -1
- package/schema/app-integrations-declaration.schema.json +1 -1
- package/schema/data-source.schema.json +18 -2
- package/schema/integration-execute-request.schema.json +2 -2
package/README.md
CHANGED
|
@@ -57,7 +57,7 @@ exist here first.
|
|
|
57
57
|
| `deployment-continuation.schema.json` | Immutable reference admitting one child deployment from a parked input request; never credential values | — |
|
|
58
58
|
| `security-scan-input-v2.schema.json` | Input to the Security Assurance machine (`harbour.security-scan-input/2.0`, replaces v1): one package validated at source intake, scanned in the tenant's execution account | ADR 0014 |
|
|
59
59
|
| `security-verdict.schema.json` | Security Assurance decision; `BLOCKED` surfaces as the non-retryable `gate.security-scan` category | ADR 0014 |
|
|
60
|
-
| `data-source.schema.json` | Admin-registered external data source; `credentialRef` is a secretref URI and the credential never crosses this boundary; optional `development`/`preview` copies under `environments`, production is the top-level endpoint; connectors include `trino` (ADR 0021) | Data-Access MVP |
|
|
60
|
+
| `data-source.schema.json` | Admin-registered external data source; `credentialRef` is a secretref URI and the credential never crosses this boundary; optional `development`/`preview` copies under `environments`, production is the top-level endpoint; connectors include `trino` (ADR 0021) and `clickhouse` (ADR 0030) | Data-Access MVP |
|
|
61
61
|
| `data-dependency.schema.json` | One external data dependency of an app, declared or detected, classified against the tenant's data-source inventory | Data-Access MVP |
|
|
62
62
|
| `secret-reference.schema.json` | Named secret slot an app depends on; only the reference and its lifecycle cross, never the value | Secret-Manager MVP |
|
|
63
63
|
| `ai-callsite-inventory.schema.json` | Immutable, sanitized AI call-site discovery for one exact deployment version (detection only) | AI governance |
|
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.85.0.0",
|
|
4
|
+
"publishVersion": "0.85.0",
|
|
5
|
+
"publishTag": "v0.85.0",
|
|
6
|
+
"schemasDigest": "sha256:21e2aecbcb5c267d542bd02948f7af08e715c6b693c9a82bd5f411fbcb824d06",
|
|
7
7
|
"aiFixturesDigest": "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6",
|
|
8
|
-
"generatedGoDigest": "sha256:
|
|
9
|
-
"generatedTypeScriptDigest": "sha256:
|
|
8
|
+
"generatedGoDigest": "sha256:455df746638c7046878cc52b628b24438f9c8b8f4f114364cd27344c623bca85",
|
|
9
|
+
"generatedTypeScriptDigest": "sha256:9be04d9c634ce7c4331af07209b5cef1c451d96faeed2219d53e5b78f1f525b3",
|
|
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,7 +31,7 @@
|
|
|
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:6cfbdff2e6220a3286b982609d2be13be84441b803bc18315e2b6bd019818c5c",
|
|
35
35
|
"schema/app-sign-in.schema.json": "sha256:2093740131b84a69757c2e474d16e32ff5d0bf0edd6f6f8de62ede7f82988f29",
|
|
36
36
|
"schema/artifact-contract.schema.json": "sha256:8047b461a1c6d07bbe867a259c57bdf5cc0fdf282cf842ec7b683a9e93713b10",
|
|
37
37
|
"schema/binding-classification-subject.schema.json": "sha256:a8825ce652e7e00a18759c4249bd5bcd0cae552dd58440513f867e87f685133c",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"schema/data-dependency.schema.json": "sha256:b4cc2b2484e982cfed64c0f56b8f1e9d1363c71854cd71f845b24fbe7d85c971",
|
|
40
40
|
"schema/data-grant-v2.schema.json": "sha256:14453426d0649e77f2b2ecf9633012d5473c0caf0ed4ff4e9ccb22ba2cce8335",
|
|
41
41
|
"schema/data-grant.schema.json": "sha256:e640553831ecc1c01cc9a37fe388b84d0ffeaa0d0050e63712b48f65fa437c8a",
|
|
42
|
-
"schema/data-source.schema.json": "sha256:
|
|
42
|
+
"schema/data-source.schema.json": "sha256:f32b2b4312bc06e023f4e1da60eed52ddfade59b74c1a1cc8e4b740a6f9c930b",
|
|
43
43
|
"schema/deploy-request.schema.json": "sha256:c978406c273fa430db262888f0a8646b14e3057f64b0633780fcd6cfa646bc67",
|
|
44
44
|
"schema/deploy-response.schema.json": "sha256:09064948abdbba7022738285d802ed44648a16ddc2a5b8c2eeb170ae19a66aeb",
|
|
45
45
|
"schema/deployment-app-registration.schema.json": "sha256:f1deb15a467065a20f540649aac3713e6c8afe68f03b43969ef103356b7baa13",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"schema/identity-context.schema.json": "sha256:a0be3d3499b70f1641887ec66ab5b21ca5ab71063e9209290905738943a36e59",
|
|
58
58
|
"schema/integration-connect-result.schema.json": "sha256:3f254b67ef739dc1fa395bdc8c4dc93359b16d481dba2a2d777aa5b6f34b7af8",
|
|
59
59
|
"schema/integration-error-details.schema.json": "sha256:5a290584b1542b2b8cdd4966869126180ce29c1f0dd250dca7fb68c05e76b8e9",
|
|
60
|
-
"schema/integration-execute-request.schema.json": "sha256:
|
|
60
|
+
"schema/integration-execute-request.schema.json": "sha256:df5a7b954315fe4746ccaeb17b8c091c6838de74ce695b63f5b2a95425f0cd77",
|
|
61
61
|
"schema/integration-execute-result.schema.json": "sha256:ad70ace26317b5517386e0e412947c68636f53692f0895fb7108dad25e887b8a",
|
|
62
62
|
"schema/internal-configuration-request.schema.json": "sha256:229d44a3458f68dceddfba802e5c1adcd95523a45af29b93b972706b88461a7d",
|
|
63
63
|
"schema/kit-bundle-manifest.schema.json": "sha256:4a9fcdd52ba0d55718ef4dbdab112b145ef90471d9356d4d3fb41e50fe9e400d",
|
|
@@ -112,11 +112,11 @@
|
|
|
112
112
|
"gen-go/contracts_test.go": "sha256:56376287cb1548be1b35ab4c65d6f0b558c5d34885f7a47cb3d9e8d786607bf5",
|
|
113
113
|
"gen-go/doc.go": "sha256:316d610ce568597a2ce6f38e9782e34fa5920f6f51ab0866e6d061b8a41cd822",
|
|
114
114
|
"gen-go/error_category.go": "sha256:b2ddea22dcfa030f1a45e721e635485b0bd816cf1f38e7654628a653f5ed4583",
|
|
115
|
-
"gen-go/integration_execute_input_rules.go": "sha256:
|
|
116
|
-
"gen-go/integration_execute_input_rules_test.go": "sha256:
|
|
115
|
+
"gen-go/integration_execute_input_rules.go": "sha256:fba8a56df4b98b4cdc8aa000280291096d88e8ebd4432b9161fc9cbfc512744d",
|
|
116
|
+
"gen-go/integration_execute_input_rules_test.go": "sha256:3c0da073c687aa2d64b8c3ba6cca92c46c9b3c42a25f96db2d45b60410dda1ac",
|
|
117
117
|
"gen-go/integration_operations.go": "sha256:7efe1e6c238e1a656b8b2e2510f9432b30d251051fbbfca2d439656d0853c12b",
|
|
118
118
|
"gen-go/schema_documents.go": "sha256:c19c0d540f602ee997a84b90e20702d9bc63ed7d27aec267e76c04655fc182e0",
|
|
119
|
-
"gen-go/types.go": "sha256:
|
|
119
|
+
"gen-go/types.go": "sha256:2006fa5aaad10a51354435ee6a1afb0d1590fa21149e4baa842b07884f32223c",
|
|
120
120
|
"gen-go/version_state.go": "sha256:4ef8abb126414c0025cf2c59bc9c79a74ef4a2ff89e8f316cbf05acc872371c1"
|
|
121
121
|
},
|
|
122
122
|
"generatedTypeScript": {
|
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
"gen-ts/data-dependency.ts": "sha256:259f19e2759395d72ead90b8ed74a6dcef0c2641124f4f182823138cfd19bedf",
|
|
151
151
|
"gen-ts/data-grant-v2.ts": "sha256:da384806e5206d0da37cae7c71755c6ecda9a660151b713d36c7752132ce040e",
|
|
152
152
|
"gen-ts/data-grant.ts": "sha256:2358579d8aa1e57b01a6f2b0eacce5531e7f21ef226404c9809925365e0d6155",
|
|
153
|
-
"gen-ts/data-source.ts": "sha256:
|
|
153
|
+
"gen-ts/data-source.ts": "sha256:2566f0d5c72e44278869f55211cf3d433aeb3552e57ae0ace0ff0b85e769dde6",
|
|
154
154
|
"gen-ts/deploy-request.ts": "sha256:913245577a95354849d3a8cb43fbaedbf895efe7b653c8502d25edfa22b7a864",
|
|
155
155
|
"gen-ts/deploy-response.ts": "sha256:364d9f1acf32e491498237cdd3f402d5f8e102f208db7748034f4ec68c6a6137",
|
|
156
156
|
"gen-ts/deployment-app-registration.ts": "sha256:8c2d55983e33449ecfbaceaa41aac3e2905f1970f5514f0dbc3b611fad7beefb",
|
|
@@ -170,8 +170,8 @@
|
|
|
170
170
|
"gen-ts/index.ts": "sha256:8f0b03bc46f0f24489e6a3f7a3ddee23c86dacc8ab2058b3b131c3d9dd75ab29",
|
|
171
171
|
"gen-ts/integration-connect-result.ts": "sha256:4b10f169b6e1af364e9b418de21caa9fadbfb77b43cbff77d741cfae0b52180c",
|
|
172
172
|
"gen-ts/integration-error-details.ts": "sha256:e73cb5942373ef88b2d8e03a1de56d5a69e71069ecd14e68396f7edba1f60780",
|
|
173
|
-
"gen-ts/integration-execute-input-rules.ts": "sha256:
|
|
174
|
-
"gen-ts/integration-execute-request.ts": "sha256:
|
|
173
|
+
"gen-ts/integration-execute-input-rules.ts": "sha256:e6a8f940ead0c75a9b0e178f7827d99ba14a1a299b8f977e6f12bff1a37821cb",
|
|
174
|
+
"gen-ts/integration-execute-request.ts": "sha256:ea210dcc35809b2eafdc47051fea457bebe2c7ba884d5cbf15c4cd128e598833",
|
|
175
175
|
"gen-ts/integration-execute-result.ts": "sha256:3ec3dfddb5c93b9802607c5fb8dfab499e5a578501fd4ce20d05d511b37e43d8",
|
|
176
176
|
"gen-ts/integration-operations.ts": "sha256:846d4ddc4d4c8d8e9ce42b7990b0929783dab82141f89d5c003088a37b6875ea",
|
|
177
177
|
"gen-ts/internal-configuration-request.ts": "sha256:7032437797473fa1c581d134adef2f3d4b4f4132f482cd17743e9d47097886bc",
|
|
@@ -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.85.0.0";
|
|
2
|
+
export declare const ContractPublishVersion: "0.85.0";
|
|
3
|
+
export declare const ContractPublishTag: "v0.85.0";
|
|
4
|
+
export declare const ContractSchemasDigest: "sha256:21e2aecbcb5c267d542bd02948f7af08e715c6b693c9a82bd5f411fbcb824d06";
|
|
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:455df746638c7046878cc52b628b24438f9c8b8f4f114364cd27344c623bca85";
|
|
7
|
+
export declare const ContractGeneratedTypeScriptDigest: "sha256:9be04d9c634ce7c4331af07209b5cef1c451d96faeed2219d53e5b78f1f525b3";
|
|
@@ -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.85.0.0";
|
|
4
|
+
export const ContractPublishVersion = "0.85.0";
|
|
5
|
+
export const ContractPublishTag = "v0.85.0";
|
|
6
|
+
export const ContractSchemasDigest = "sha256:21e2aecbcb5c267d542bd02948f7af08e715c6b693c9a82bd5f411fbcb824d06";
|
|
7
7
|
export const ContractAiFixturesDigest = "sha256:edac31c92e146ca1c40130f2fb5649db82e24b8cd1ac758153b90612052fddb6";
|
|
8
|
-
export const ContractGeneratedGoDigest = "sha256:
|
|
9
|
-
export const ContractGeneratedTypeScriptDigest = "sha256:
|
|
8
|
+
export const ContractGeneratedGoDigest = "sha256:455df746638c7046878cc52b628b24438f9c8b8f4f114364cd27344c623bca85";
|
|
9
|
+
export const ContractGeneratedTypeScriptDigest = "sha256:9be04d9c634ce7c4331af07209b5cef1c451d96faeed2219d53e5b78f1f525b3";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Closed connector set for the Data-Access MVP. trino (0.74.0): Trino/Presto-compatible engines (Trino, Presto, Starburst, Galaxy) over the Trino HTTP statement protocol; the endpoint reuses host, port and database (as the Trino catalog) with no connector-specific fields.
|
|
2
|
+
* Closed connector set for the Data-Access MVP. trino (0.74.0): Trino/Presto-compatible engines (Trino, Presto, Starburst, Galaxy) over the Trino HTTP statement protocol; the endpoint reuses host, port and database (as the Trino catalog) with no connector-specific fields. clickhouse (0.84.0): ClickHouse over its HTTP interface; the endpoint reuses host, port (the HTTP port, not the native 9000) and database (the default database); the credential is {user, password} and may name protocol http or https (default https), like MySQL carries sslMode.
|
|
3
3
|
*/
|
|
4
|
-
export type DataSourceConnector = 'postgres' | 'redshift' | 'bigquery' | 'databricks' | 'mysql' | 'trino';
|
|
4
|
+
export type DataSourceConnector = 'postgres' | 'redshift' | 'bigquery' | 'databricks' | 'mysql' | 'trino' | 'clickhouse';
|
|
5
5
|
/**
|
|
6
6
|
* byo = admin brought existing infrastructure; harbour_managed = Isomorph provisioned it.
|
|
7
7
|
*/
|
|
@@ -917,7 +917,7 @@ export declare const IntegrationExecuteInputRules: {
|
|
|
917
917
|
readonly kind: "record[]";
|
|
918
918
|
readonly required: true;
|
|
919
919
|
readonly minItems: 1;
|
|
920
|
-
readonly maxItems:
|
|
920
|
+
readonly maxItems: 5000;
|
|
921
921
|
readonly minProperties: 1;
|
|
922
922
|
readonly maxProperties: 64;
|
|
923
923
|
readonly types: readonly ["string", "number", "boolean", "null"];
|
|
@@ -277,7 +277,7 @@ export const IntegrationExecuteInputRules = {
|
|
|
277
277
|
"warehouse.table.append": {
|
|
278
278
|
idempotencyKey: true,
|
|
279
279
|
fields: {
|
|
280
|
-
rows: { kind: "record[]", required: true, minItems: 1, maxItems:
|
|
280
|
+
rows: { kind: "record[]", required: true, minItems: 1, maxItems: 5000, minProperties: 1, maxProperties: 64, types: ["string", "number", "boolean", "null"], maxLength: 4000 },
|
|
281
281
|
},
|
|
282
282
|
},
|
|
283
283
|
"service.request": {
|
|
@@ -7,7 +7,7 @@ export type IntegrationExecuteRequest = {
|
|
|
7
7
|
*/
|
|
8
8
|
connection: string;
|
|
9
9
|
/**
|
|
10
|
-
* Closed operation set. Extending it is a contracts change. 0.78.0 (ADR 0024) adds the nine SharePoint operations, every one user mode only on a site alias (a key of the connection's `channels` map, holding a Microsoft Graph site id): sharepoint.list.list, sharepoint.item.list, sharepoint.item.create (a receipted write: explicit action, idempotencyKey), sharepoint.item.update (a PATCH, idempotent at Graph, no key), sharepoint.drive.list, sharepoint.file.list, sharepoint.file.search, sharepoint.file.read and sharepoint.file.upload (a receipted write). 0.76.0 (ADR 0022) adds the eleven Basecamp operations, every one user mode only like gmail.*: basecamp.project.list (the projects of the company's pinned Basecamp account; its resource is the fixed `account` alias), and on one mapped project (the resource is a project alias, a key of the connection's `channels` map) basecamp.todolist.list, basecamp.todo.list, basecamp.todo.create (a receipted write: explicit action, idempotencyKey), basecamp.todo.complete (idempotent at Basecamp, no key), basecamp.message.list, basecamp.message.post, basecamp.comment.list, basecamp.comment.post, basecamp.campfire.post (the three posts are receipted writes) and basecamp.people.list. gmail.message.send (0.50.0) sends one email as the signed-in person: a send like slack.message.post (explicit Send, idempotencyKey, write receipt) under user identity; since 0.71.0 it may carry an HTML body and attachments. slack.message.post (0.53.0) runs in the mode the app declares: app (the company's Slack app, under the IT-approved per-app name) or user (the signed-in person, after their consent); since 0.55.0 each call names which of the approved modes it runs under. 0.71.0 (ADR 0018) adds slack.message.update and slack.message.delete (declared mode, like post), slack.dm.send (app mode: a direct message to 1..8 workspace members named by email), slack.user.lookup (app mode: email to Slack user id), gmail.thread.read (every message of one thread) and gmail.attachment.read (one attachment's bytes), and lets slack.channel.history run in app mode as well as user mode. 0.82.0 (ADR 0028) adds phone.sms.list (app mode only, a number alias from a phone connection's `channels` map: the SMS received on that number since a time) and warehouse.table.append (app mode only on a database connection, a receipted write with idempotencyKey: rows appended to a view alias whose mapping says `access: append`). 0.83.0 (ADR 0029) adds phone.number.get (app mode only, read-only, no input, on a number alias from a phone connection's `channels` map: the E.164 number that alias maps to, so the app — or a computer-use agent it drives — can type it into a portal that signs in by mobile number).
|
|
10
|
+
* Closed operation set. Extending it is a contracts change. 0.78.0 (ADR 0024) adds the nine SharePoint operations, every one user mode only on a site alias (a key of the connection's `channels` map, holding a Microsoft Graph site id): sharepoint.list.list, sharepoint.item.list, sharepoint.item.create (a receipted write: explicit action, idempotencyKey), sharepoint.item.update (a PATCH, idempotent at Graph, no key), sharepoint.drive.list, sharepoint.file.list, sharepoint.file.search, sharepoint.file.read and sharepoint.file.upload (a receipted write). 0.76.0 (ADR 0022) adds the eleven Basecamp operations, every one user mode only like gmail.*: basecamp.project.list (the projects of the company's pinned Basecamp account; its resource is the fixed `account` alias), and on one mapped project (the resource is a project alias, a key of the connection's `channels` map) basecamp.todolist.list, basecamp.todo.list, basecamp.todo.create (a receipted write: explicit action, idempotencyKey), basecamp.todo.complete (idempotent at Basecamp, no key), basecamp.message.list, basecamp.message.post, basecamp.comment.list, basecamp.comment.post, basecamp.campfire.post (the three posts are receipted writes) and basecamp.people.list. gmail.message.send (0.50.0) sends one email as the signed-in person: a send like slack.message.post (explicit Send, idempotencyKey, write receipt) under user identity; since 0.71.0 it may carry an HTML body and attachments. slack.message.post (0.53.0) runs in the mode the app declares: app (the company's Slack app, under the IT-approved per-app name) or user (the signed-in person, after their consent); since 0.55.0 each call names which of the approved modes it runs under. 0.71.0 (ADR 0018) adds slack.message.update and slack.message.delete (declared mode, like post), slack.dm.send (app mode: a direct message to 1..8 workspace members named by email), slack.user.lookup (app mode: email to Slack user id), gmail.thread.read (every message of one thread) and gmail.attachment.read (one attachment's bytes), and lets slack.channel.history run in app mode as well as user mode. 0.82.0 (ADR 0028) adds phone.sms.list (app mode only, a number alias from a phone connection's `channels` map: the SMS received on that number since a time) and warehouse.table.append (app mode only on a database connection, a receipted write with idempotencyKey: rows appended to a view alias whose mapping says `access: append`). 0.83.0 (ADR 0029) adds phone.number.get (app mode only, read-only, no input, on a number alias from a phone connection's `channels` map: the E.164 number that alias maps to, so the app — or a computer-use agent it drives — can type it into a portal that signs in by mobile number). 0.85.0 (ADR 0031) raises warehouse.table.append's `rows` from 1..500 to 1..5000 records (the byte cap stays governance's, now 8 MiB), so a downloaded report of a few thousand rows lands in one call.
|
|
11
11
|
*/
|
|
12
12
|
operation: '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' | 'basecamp.project.list' | 'basecamp.todolist.list' | 'basecamp.todo.list' | 'basecamp.todo.create' | 'basecamp.todo.complete' | 'basecamp.message.list' | 'basecamp.message.post' | 'basecamp.comment.list' | 'basecamp.comment.post' | 'basecamp.campfire.post' | 'basecamp.people.list' | 'sharepoint.list.list' | 'sharepoint.item.list' | 'sharepoint.item.create' | 'sharepoint.item.update' | 'sharepoint.drive.list' | 'sharepoint.file.list' | 'sharepoint.file.search' | 'sharepoint.file.read' | 'sharepoint.file.upload' | 'phone.sms.list' | 'phone.number.get' | 'warehouse.view.read' | 'warehouse.table.append' | 'service.request';
|
|
13
13
|
/**
|
|
@@ -235,10 +235,10 @@ export type IntegrationExecuteRequest = {
|
|
|
235
235
|
[k: string]: unknown;
|
|
236
236
|
};
|
|
237
237
|
/**
|
|
238
|
-
* warehouse.table.append (0.82.0): the rows to append, 1..
|
|
238
|
+
* warehouse.table.append (0.82.0; 1..5000 since 0.85.0): the rows to append, 1..5000 of them, every one a record of the approved columns. Governance refuses an unapproved column, a value outside its column type and a request above its byte cap (8 MiB) with ROW_VALUE_INVALID; nothing is coerced.
|
|
239
239
|
*
|
|
240
240
|
* @minItems 1
|
|
241
|
-
* @maxItems
|
|
241
|
+
* @maxItems 5000
|
|
242
242
|
*/
|
|
243
243
|
rows?: {
|
|
244
244
|
[k: string]: string | number | boolean | null;
|
|
@@ -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.85.0.0" as const;
|
|
5
|
+
export const ContractPublishVersion = "0.85.0" as const;
|
|
6
|
+
export const ContractPublishTag = "v0.85.0" as const;
|
|
7
|
+
export const ContractSchemasDigest = "sha256:21e2aecbcb5c267d542bd02948f7af08e715c6b693c9a82bd5f411fbcb824d06" 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:455df746638c7046878cc52b628b24438f9c8b8f4f114364cd27344c623bca85" as const;
|
|
10
|
+
export const ContractGeneratedTypeScriptDigest = "sha256:9be04d9c634ce7c4331af07209b5cef1c451d96faeed2219d53e5b78f1f525b3" as const;
|
package/gen-ts/data-source.ts
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
// Code generated by tools/gen/gen.mjs from schema/*.json. DO NOT EDIT.
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Closed connector set for the Data-Access MVP. trino (0.74.0): Trino/Presto-compatible engines (Trino, Presto, Starburst, Galaxy) over the Trino HTTP statement protocol; the endpoint reuses host, port and database (as the Trino catalog) with no connector-specific fields.
|
|
5
|
+
* Closed connector set for the Data-Access MVP. trino (0.74.0): Trino/Presto-compatible engines (Trino, Presto, Starburst, Galaxy) over the Trino HTTP statement protocol; the endpoint reuses host, port and database (as the Trino catalog) with no connector-specific fields. clickhouse (0.84.0): ClickHouse over its HTTP interface; the endpoint reuses host, port (the HTTP port, not the native 9000) and database (the default database); the credential is {user, password} and may name protocol http or https (default https), like MySQL carries sslMode.
|
|
6
6
|
*/
|
|
7
|
-
export type DataSourceConnector =
|
|
7
|
+
export type DataSourceConnector =
|
|
8
|
+
'postgres' | 'redshift' | 'bigquery' | 'databricks' | 'mysql' | 'trino' | 'clickhouse';
|
|
8
9
|
/**
|
|
9
10
|
* byo = admin brought existing infrastructure; harbour_managed = Isomorph provisioned it.
|
|
10
11
|
*/
|
|
@@ -305,7 +305,7 @@ export const IntegrationExecuteInputRules = {
|
|
|
305
305
|
"warehouse.table.append": {
|
|
306
306
|
idempotencyKey: true,
|
|
307
307
|
fields: {
|
|
308
|
-
rows: { kind: "record[]", required: true, minItems: 1, maxItems:
|
|
308
|
+
rows: { kind: "record[]", required: true, minItems: 1, maxItems: 5000, minProperties: 1, maxProperties: 64, types: ["string", "number", "boolean", "null"], maxLength: 4000 },
|
|
309
309
|
},
|
|
310
310
|
},
|
|
311
311
|
"service.request": {
|
|
@@ -10,7 +10,7 @@ export type IntegrationExecuteRequest = {
|
|
|
10
10
|
*/
|
|
11
11
|
connection: string;
|
|
12
12
|
/**
|
|
13
|
-
* Closed operation set. Extending it is a contracts change. 0.78.0 (ADR 0024) adds the nine SharePoint operations, every one user mode only on a site alias (a key of the connection's `channels` map, holding a Microsoft Graph site id): sharepoint.list.list, sharepoint.item.list, sharepoint.item.create (a receipted write: explicit action, idempotencyKey), sharepoint.item.update (a PATCH, idempotent at Graph, no key), sharepoint.drive.list, sharepoint.file.list, sharepoint.file.search, sharepoint.file.read and sharepoint.file.upload (a receipted write). 0.76.0 (ADR 0022) adds the eleven Basecamp operations, every one user mode only like gmail.*: basecamp.project.list (the projects of the company's pinned Basecamp account; its resource is the fixed `account` alias), and on one mapped project (the resource is a project alias, a key of the connection's `channels` map) basecamp.todolist.list, basecamp.todo.list, basecamp.todo.create (a receipted write: explicit action, idempotencyKey), basecamp.todo.complete (idempotent at Basecamp, no key), basecamp.message.list, basecamp.message.post, basecamp.comment.list, basecamp.comment.post, basecamp.campfire.post (the three posts are receipted writes) and basecamp.people.list. gmail.message.send (0.50.0) sends one email as the signed-in person: a send like slack.message.post (explicit Send, idempotencyKey, write receipt) under user identity; since 0.71.0 it may carry an HTML body and attachments. slack.message.post (0.53.0) runs in the mode the app declares: app (the company's Slack app, under the IT-approved per-app name) or user (the signed-in person, after their consent); since 0.55.0 each call names which of the approved modes it runs under. 0.71.0 (ADR 0018) adds slack.message.update and slack.message.delete (declared mode, like post), slack.dm.send (app mode: a direct message to 1..8 workspace members named by email), slack.user.lookup (app mode: email to Slack user id), gmail.thread.read (every message of one thread) and gmail.attachment.read (one attachment's bytes), and lets slack.channel.history run in app mode as well as user mode. 0.82.0 (ADR 0028) adds phone.sms.list (app mode only, a number alias from a phone connection's `channels` map: the SMS received on that number since a time) and warehouse.table.append (app mode only on a database connection, a receipted write with idempotencyKey: rows appended to a view alias whose mapping says `access: append`). 0.83.0 (ADR 0029) adds phone.number.get (app mode only, read-only, no input, on a number alias from a phone connection's `channels` map: the E.164 number that alias maps to, so the app — or a computer-use agent it drives — can type it into a portal that signs in by mobile number).
|
|
13
|
+
* Closed operation set. Extending it is a contracts change. 0.78.0 (ADR 0024) adds the nine SharePoint operations, every one user mode only on a site alias (a key of the connection's `channels` map, holding a Microsoft Graph site id): sharepoint.list.list, sharepoint.item.list, sharepoint.item.create (a receipted write: explicit action, idempotencyKey), sharepoint.item.update (a PATCH, idempotent at Graph, no key), sharepoint.drive.list, sharepoint.file.list, sharepoint.file.search, sharepoint.file.read and sharepoint.file.upload (a receipted write). 0.76.0 (ADR 0022) adds the eleven Basecamp operations, every one user mode only like gmail.*: basecamp.project.list (the projects of the company's pinned Basecamp account; its resource is the fixed `account` alias), and on one mapped project (the resource is a project alias, a key of the connection's `channels` map) basecamp.todolist.list, basecamp.todo.list, basecamp.todo.create (a receipted write: explicit action, idempotencyKey), basecamp.todo.complete (idempotent at Basecamp, no key), basecamp.message.list, basecamp.message.post, basecamp.comment.list, basecamp.comment.post, basecamp.campfire.post (the three posts are receipted writes) and basecamp.people.list. gmail.message.send (0.50.0) sends one email as the signed-in person: a send like slack.message.post (explicit Send, idempotencyKey, write receipt) under user identity; since 0.71.0 it may carry an HTML body and attachments. slack.message.post (0.53.0) runs in the mode the app declares: app (the company's Slack app, under the IT-approved per-app name) or user (the signed-in person, after their consent); since 0.55.0 each call names which of the approved modes it runs under. 0.71.0 (ADR 0018) adds slack.message.update and slack.message.delete (declared mode, like post), slack.dm.send (app mode: a direct message to 1..8 workspace members named by email), slack.user.lookup (app mode: email to Slack user id), gmail.thread.read (every message of one thread) and gmail.attachment.read (one attachment's bytes), and lets slack.channel.history run in app mode as well as user mode. 0.82.0 (ADR 0028) adds phone.sms.list (app mode only, a number alias from a phone connection's `channels` map: the SMS received on that number since a time) and warehouse.table.append (app mode only on a database connection, a receipted write with idempotencyKey: rows appended to a view alias whose mapping says `access: append`). 0.83.0 (ADR 0029) adds phone.number.get (app mode only, read-only, no input, on a number alias from a phone connection's `channels` map: the E.164 number that alias maps to, so the app — or a computer-use agent it drives — can type it into a portal that signs in by mobile number). 0.85.0 (ADR 0031) raises warehouse.table.append's `rows` from 1..500 to 1..5000 records (the byte cap stays governance's, now 8 MiB), so a downloaded report of a few thousand rows lands in one call.
|
|
14
14
|
*/
|
|
15
15
|
operation:
|
|
16
16
|
| 'slack.channel.history'
|
|
@@ -274,10 +274,10 @@ export type IntegrationExecuteRequest = {
|
|
|
274
274
|
[k: string]: unknown;
|
|
275
275
|
};
|
|
276
276
|
/**
|
|
277
|
-
* warehouse.table.append (0.82.0): the rows to append, 1..
|
|
277
|
+
* warehouse.table.append (0.82.0; 1..5000 since 0.85.0): the rows to append, 1..5000 of them, every one a record of the approved columns. Governance refuses an unapproved column, a value outside its column type and a request above its byte cap (8 MiB) with ROW_VALUE_INVALID; nothing is coerced.
|
|
278
278
|
*
|
|
279
279
|
* @minItems 1
|
|
280
|
-
* @maxItems
|
|
280
|
+
* @maxItems 5000
|
|
281
281
|
*/
|
|
282
282
|
rows?: {
|
|
283
283
|
[k: string]: string | number | boolean | null;
|
package/package.json
CHANGED
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"warehouse.table.append",
|
|
91
91
|
"service.request"
|
|
92
92
|
],
|
|
93
|
-
"description": "Closed operation set. Extending it is a contracts change. 0.78.0 (ADR 0024) adds the nine SharePoint operations, every one user mode only on a site alias (a key of the connection's `channels` map, holding a Microsoft Graph site id): sharepoint.list.list, sharepoint.item.list, sharepoint.item.create (a receipted write: explicit action, idempotencyKey), sharepoint.item.update (a PATCH, idempotent at Graph, no key), sharepoint.drive.list, sharepoint.file.list, sharepoint.file.search, sharepoint.file.read and sharepoint.file.upload (a receipted write). 0.76.0 (ADR 0022) adds the eleven Basecamp operations, every one user mode only like gmail.*: basecamp.project.list (the projects of the company's pinned Basecamp account; its resource is the fixed `account` alias), and on one mapped project (the resource is a project alias, a key of the connection's `channels` map) basecamp.todolist.list, basecamp.todo.list, basecamp.todo.create (a receipted write: explicit action, idempotencyKey), basecamp.todo.complete (idempotent at Basecamp, no key), basecamp.message.list, basecamp.message.post, basecamp.comment.list, basecamp.comment.post, basecamp.campfire.post (the three posts are receipted writes) and basecamp.people.list. gmail.message.send (0.50.0) sends one email as the signed-in person: a send like slack.message.post (explicit Send, idempotencyKey, write receipt) under user identity; since 0.71.0 it may carry an HTML body and attachments. slack.message.post (0.53.0) runs in the mode the app declares: app (the company's Slack app, under the IT-approved per-app name) or user (the signed-in person, after their consent); since 0.55.0 each call names which of the approved modes it runs under. 0.71.0 (ADR 0018) adds slack.message.update and slack.message.delete (declared mode, like post), slack.dm.send (app mode: a direct message to 1..8 workspace members named by email), slack.user.lookup (app mode: email to Slack user id), gmail.thread.read (every message of one thread) and gmail.attachment.read (one attachment's bytes), and lets slack.channel.history run in app mode as well as user mode. 0.82.0 (ADR 0028) adds phone.sms.list (app mode only, a number alias from a phone connection's `channels` map: the SMS received on that number since a time) and warehouse.table.append (app mode only on a database connection, a receipted write with idempotencyKey: rows appended to a view alias whose mapping says `access: append`). 0.83.0 (ADR 0029) adds phone.number.get (app mode only, read-only, no input, on a number alias from a phone connection's `channels` map: the E.164 number that alias maps to, so the app — or a computer-use agent it drives — can type it into a portal that signs in by mobile number)."
|
|
93
|
+
"description": "Closed operation set. Extending it is a contracts change. 0.78.0 (ADR 0024) adds the nine SharePoint operations, every one user mode only on a site alias (a key of the connection's `channels` map, holding a Microsoft Graph site id): sharepoint.list.list, sharepoint.item.list, sharepoint.item.create (a receipted write: explicit action, idempotencyKey), sharepoint.item.update (a PATCH, idempotent at Graph, no key), sharepoint.drive.list, sharepoint.file.list, sharepoint.file.search, sharepoint.file.read and sharepoint.file.upload (a receipted write). 0.76.0 (ADR 0022) adds the eleven Basecamp operations, every one user mode only like gmail.*: basecamp.project.list (the projects of the company's pinned Basecamp account; its resource is the fixed `account` alias), and on one mapped project (the resource is a project alias, a key of the connection's `channels` map) basecamp.todolist.list, basecamp.todo.list, basecamp.todo.create (a receipted write: explicit action, idempotencyKey), basecamp.todo.complete (idempotent at Basecamp, no key), basecamp.message.list, basecamp.message.post, basecamp.comment.list, basecamp.comment.post, basecamp.campfire.post (the three posts are receipted writes) and basecamp.people.list. gmail.message.send (0.50.0) sends one email as the signed-in person: a send like slack.message.post (explicit Send, idempotencyKey, write receipt) under user identity; since 0.71.0 it may carry an HTML body and attachments. slack.message.post (0.53.0) runs in the mode the app declares: app (the company's Slack app, under the IT-approved per-app name) or user (the signed-in person, after their consent); since 0.55.0 each call names which of the approved modes it runs under. 0.71.0 (ADR 0018) adds slack.message.update and slack.message.delete (declared mode, like post), slack.dm.send (app mode: a direct message to 1..8 workspace members named by email), slack.user.lookup (app mode: email to Slack user id), gmail.thread.read (every message of one thread) and gmail.attachment.read (one attachment's bytes), and lets slack.channel.history run in app mode as well as user mode. 0.82.0 (ADR 0028) adds phone.sms.list (app mode only, a number alias from a phone connection's `channels` map: the SMS received on that number since a time) and warehouse.table.append (app mode only on a database connection, a receipted write with idempotencyKey: rows appended to a view alias whose mapping says `access: append`). 0.83.0 (ADR 0029) adds phone.number.get (app mode only, read-only, no input, on a number alias from a phone connection's `channels` map: the E.164 number that alias maps to, so the app — or a computer-use agent it drives — can type it into a portal that signs in by mobile number). 0.85.0 (ADR 0031) raises warehouse.table.append's `rows` from 1..500 to 1..5000 records (the byte cap stays governance's, now 8 MiB), so a downloaded report of a few thousand rows lands in one call."
|
|
94
94
|
},
|
|
95
95
|
"IntegrationIdentityMode": {
|
|
96
96
|
"type": "string",
|
|
@@ -95,8 +95,8 @@
|
|
|
95
95
|
"definitions": {
|
|
96
96
|
"DataSourceConnector": {
|
|
97
97
|
"type": "string",
|
|
98
|
-
"enum": ["postgres", "redshift", "bigquery", "databricks", "mysql", "trino"],
|
|
99
|
-
"description": "Closed connector set for the Data-Access MVP. trino (0.74.0): Trino/Presto-compatible engines (Trino, Presto, Starburst, Galaxy) over the Trino HTTP statement protocol; the endpoint reuses host, port and database (as the Trino catalog) with no connector-specific fields."
|
|
98
|
+
"enum": ["postgres", "redshift", "bigquery", "databricks", "mysql", "trino", "clickhouse"],
|
|
99
|
+
"description": "Closed connector set for the Data-Access MVP. trino (0.74.0): Trino/Presto-compatible engines (Trino, Presto, Starburst, Galaxy) over the Trino HTTP statement protocol; the endpoint reuses host, port and database (as the Trino catalog) with no connector-specific fields. clickhouse (0.84.0): ClickHouse over its HTTP interface; the endpoint reuses host, port (the HTTP port, not the native 9000) and database (the default database); the credential is {user, password} and may name protocol http or https (default https), like MySQL carries sslMode."
|
|
100
100
|
},
|
|
101
101
|
"DataSourceEnvironmentCopy": {
|
|
102
102
|
"type": "object",
|
|
@@ -207,6 +207,22 @@
|
|
|
207
207
|
"allowedScope": ["analytics.episode_plays"],
|
|
208
208
|
"requestableByBuilders": true,
|
|
209
209
|
"status": "ACTIVE"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"tenantId": "damensch",
|
|
213
|
+
"sourceId": "datagate",
|
|
214
|
+
"connector": "clickhouse",
|
|
215
|
+
"displayName": "DataGate (ClickHouse)",
|
|
216
|
+
"endpoint": {
|
|
217
|
+
"host": "db.example.com",
|
|
218
|
+
"port": 12420,
|
|
219
|
+
"database": "damensch"
|
|
220
|
+
},
|
|
221
|
+
"credentialRef": "secretref://tenants/damensch/sources/datagate/reader",
|
|
222
|
+
"provisioningMode": "byo",
|
|
223
|
+
"allowedScope": ["damensch.orders"],
|
|
224
|
+
"requestableByBuilders": true,
|
|
225
|
+
"status": "ACTIVE"
|
|
210
226
|
}
|
|
211
227
|
]
|
|
212
228
|
}
|
|
@@ -363,7 +363,7 @@
|
|
|
363
363
|
"rows": {
|
|
364
364
|
"type": "array",
|
|
365
365
|
"minItems": 1,
|
|
366
|
-
"maxItems":
|
|
366
|
+
"maxItems": 5000,
|
|
367
367
|
"items": {
|
|
368
368
|
"type": "object",
|
|
369
369
|
"minProperties": 1,
|
|
@@ -387,7 +387,7 @@
|
|
|
387
387
|
},
|
|
388
388
|
"description": "One row keyed by column name, 1..64 columns; each value a string of at most 4000 characters, a number, a boolean or null. Which columns the alias approves, and whether a value fits its column type (the catalog's columnTypes, which only governance holds), is governance's check \u2014 the way warehouse.view.read's cross-field rules are."
|
|
389
389
|
},
|
|
390
|
-
"description": "warehouse.table.append (0.82.0): the rows to append, 1..
|
|
390
|
+
"description": "warehouse.table.append (0.82.0; 1..5000 since 0.85.0): the rows to append, 1..5000 of them, every one a record of the approved columns. Governance refuses an unapproved column, a value outside its column type and a request above its byte cap (8 MiB) with ROW_VALUE_INVALID; nothing is coerced."
|
|
391
391
|
},
|
|
392
392
|
"since": {
|
|
393
393
|
"type": "string",
|