@fourier-labs/harbour-contracts 0.80.0 → 0.82.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 +22 -22
- package/dist/gen-ts/app-integrations-declaration.d.ts +6 -0
- 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/integration-execute-input-rules.d.ts +41 -0
- package/dist/gen-ts/integration-execute-input-rules.js +37 -9
- package/dist/gen-ts/integration-execute-request.d.ts +20 -3
- package/dist/gen-ts/integration-operations.d.ts +14 -0
- package/dist/gen-ts/integration-operations.js +18 -0
- package/dist/gen-ts/resolved-app-serving.d.ts +10 -0
- package/dist/gen-ts/saas-connection.d.ts +7 -7
- package/gen-ts/app-integrations-declaration.ts +6 -0
- package/gen-ts/contract-release.ts +6 -6
- package/gen-ts/data-grant-v2.ts +6 -4
- package/gen-ts/integration-execute-input-rules.ts +34 -7
- package/gen-ts/integration-execute-request.ts +21 -2
- package/gen-ts/integration-operations.ts +18 -0
- package/gen-ts/resolved-app-serving.ts +10 -0
- package/gen-ts/saas-connection.ts +8 -6
- package/package.json +1 -1
- package/schema/app-integrations-declaration.schema.json +62 -1
- package/schema/data-grant-v2.schema.json +4 -4
- package/schema/integration-execute-request.schema.json +129 -1
- package/schema/resolved-app-serving.schema.json +11 -0
- package/schema/saas-connection.schema.json +22 -7
|
@@ -21,17 +21,17 @@
|
|
|
21
21
|
"type": "object",
|
|
22
22
|
"maxProperties": 64,
|
|
23
23
|
"propertyNames": { "$ref": "app-integrations-declaration.schema.json#/definitions/IntegrationAlias" },
|
|
24
|
-
"additionalProperties": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9.,_:-]{0,255}$", "description": "A Slack channel id (public, non-archived), a Basecamp project id (digits)
|
|
25
|
-
"description": "Logical alias → provider resource id: a Slack channel id, a Basecamp project id
|
|
24
|
+
"additionalProperties": { "type": "string", "pattern": "^[+A-Za-z0-9][A-Za-z0-9.,_:-]{0,255}$", "description": "A Slack channel id (public, non-archived), a Basecamp project id (digits), a SharePoint site id (0.78.0: the Microsoft Graph composite `hostname,siteCollectionGuid,webGuid`) or a phone number (0.82.0: E.164, a leading `+` and digits)." },
|
|
25
|
+
"description": "Logical alias → provider resource id: a Slack channel id, a Basecamp project id, a SharePoint site id or a phone number. Always empty for Gmail."
|
|
26
26
|
},
|
|
27
27
|
"operations": {
|
|
28
28
|
"type": "array",
|
|
29
29
|
"minItems": 1,
|
|
30
|
-
"maxItems":
|
|
30
|
+
"maxItems": 32,
|
|
31
31
|
"uniqueItems": true,
|
|
32
32
|
"items": { "$ref": "app-integrations-declaration.schema.json#/definitions/IntegrationOperation" },
|
|
33
|
-
"not": { "contains": { "const": "warehouse.view.read" } },
|
|
34
|
-
"description": "Operations IT allows apps to request on this connection: the provider's own SaaS operations (Slack: slack.channel.history, slack.message.post, slack.message.update, slack.message.delete, slack.dm.send, slack.user.lookup; Gmail: gmail.thread.list, gmail.thread.read, gmail.message.read, gmail.message.send, gmail.attachment.read; Basecamp (0.76.0): 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 (0.78.0): 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). Never warehouse.view.read."
|
|
33
|
+
"not": { "anyOf": [{ "contains": { "const": "warehouse.view.read" } }, { "contains": { "const": "warehouse.table.append" } }] },
|
|
34
|
+
"description": "Operations IT allows apps to request on this connection: the provider's own SaaS operations (Slack: slack.channel.history, slack.message.post, slack.message.update, slack.message.delete, slack.dm.send, slack.user.lookup; Gmail: gmail.thread.list, gmail.thread.read, gmail.message.read, gmail.message.send, gmail.attachment.read; Basecamp (0.76.0): 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 (0.78.0): 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). Never warehouse.view.read. Phone (0.82.0): phone.sms.list."
|
|
35
35
|
},
|
|
36
36
|
"developmentPreapproval": { "$ref": "#/definitions/DevelopmentPreapproval" },
|
|
37
37
|
"oauthClient": { "$ref": "#/definitions/SaasOauthClient" },
|
|
@@ -84,8 +84,8 @@
|
|
|
84
84
|
"definitions": {
|
|
85
85
|
"SaasProvider": {
|
|
86
86
|
"type": "string",
|
|
87
|
-
"enum": ["slack", "gmail", "basecamp", "sharepoint"],
|
|
88
|
-
"description": "Slack carries an installation and a channel map; Gmail is user-consent only; Basecamp is user-consent only with an IT-pinned account and a project map in `channels`; SharePoint (0.78.0) is user-consent only, pinned to the company's Microsoft 365 tenant in `account`, with a site map in `channels`."
|
|
87
|
+
"enum": ["slack", "gmail", "basecamp", "sharepoint", "phone"],
|
|
88
|
+
"description": "Slack carries an installation and a channel map; Gmail is user-consent only; Basecamp is user-consent only with an IT-pinned account and a project map in `channels`; SharePoint (0.78.0) is user-consent only, pinned to the company's Microsoft 365 tenant in `account`, with a site map in `channels`. Phone (0.82.0) is app mode only with no installation: the tenant's inbound SMS numbers (E.164) mapped from aliases in `channels`, and the SMS the platform received on them listed by phone.sms.list."
|
|
89
89
|
},
|
|
90
90
|
"BasecampAccount": {
|
|
91
91
|
"type": "object",
|
|
@@ -290,6 +290,21 @@
|
|
|
290
290
|
"userModeApproval": "automatic",
|
|
291
291
|
"createdAt": "2026-10-11T08:00:00Z",
|
|
292
292
|
"updatedAt": "2026-10-11T08:00:00Z"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"schema": "harbour.saas-connection/1.0",
|
|
296
|
+
"tenantId": "fourier",
|
|
297
|
+
"sourceId": "company-phone",
|
|
298
|
+
"kind": "saas",
|
|
299
|
+
"provider": "phone",
|
|
300
|
+
"displayName": "Agent phone lines",
|
|
301
|
+
"status": "ACTIVE",
|
|
302
|
+
"version": 1,
|
|
303
|
+
"channels": { "gstn-line": "+919876543210" },
|
|
304
|
+
"operations": ["phone.sms.list"],
|
|
305
|
+
"developmentPreapproval": { "enabled": false, "hours": 24 },
|
|
306
|
+
"createdAt": "2026-10-17T08:00:00Z",
|
|
307
|
+
"updatedAt": "2026-10-17T08:00:00Z"
|
|
293
308
|
}
|
|
294
309
|
]
|
|
295
310
|
}
|