@isomorph.ai/app-sdk 1.18.0 → 1.19.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/dist/index.d.ts CHANGED
@@ -204,6 +204,17 @@ export interface PhoneSmsListRequest {
204
204
  from?: string;
205
205
  };
206
206
  }
207
+ /**
208
+ * The number a phone alias maps to (contracts 0.83.0, ADR 0029). The resource is a number alias of a `phone`
209
+ * connection, declared like `phone.sms.list`'s; the answer is the E.164 number IT mapped it to, so the app (or an
210
+ * agent it drives) can type it into a portal that signs in by mobile number. It takes no input: leave `input`
211
+ * out and the client sends `input: {}`, which the platform requires on the wire.
212
+ */
213
+ export interface PhoneNumberGetRequest {
214
+ operation: 'phone.number.get';
215
+ resource: string;
216
+ input?: Record<string, never>;
217
+ }
207
218
  /** Gmail runs as the signed-in person after their consent. Resources are approved mailbox aliases (`inbox`). */
208
219
  export interface GmailThreadListRequest {
209
220
  operation: 'gmail.thread.list';
@@ -529,7 +540,7 @@ export interface ServiceRequestResult {
529
540
  headers: Record<string, string>;
530
541
  body: unknown;
531
542
  }
532
- export type IntegrationRequest = ServiceRequest | SlackChannelHistoryRequest | SlackMessagePostRequest | SlackMessageUpdateRequest | SlackMessageDeleteRequest | SlackDmSendRequest | SlackUserLookupRequest | WarehouseViewReadRequest | WarehouseTableAppendRequest | PhoneSmsListRequest | GmailThreadListRequest | GmailThreadReadRequest | GmailMessageReadRequest | GmailAttachmentReadRequest | GmailMessageSendRequest | BasecampProjectListRequest | BasecampTodolistListRequest | BasecampTodoListRequest | BasecampTodoCreateRequest | BasecampTodoCompleteRequest | BasecampMessageListRequest | BasecampMessagePostRequest | BasecampCommentListRequest | BasecampCommentPostRequest | BasecampCampfirePostRequest | BasecampPeopleListRequest | SharePointListListRequest | SharePointItemListRequest | SharePointItemCreateRequest | SharePointItemUpdateRequest | SharePointDriveListRequest | SharePointFileListRequest | SharePointFileSearchRequest | SharePointFileReadRequest | SharePointFileUploadRequest;
543
+ export type IntegrationRequest = ServiceRequest | SlackChannelHistoryRequest | SlackMessagePostRequest | SlackMessageUpdateRequest | SlackMessageDeleteRequest | SlackDmSendRequest | SlackUserLookupRequest | WarehouseViewReadRequest | WarehouseTableAppendRequest | PhoneSmsListRequest | PhoneNumberGetRequest | GmailThreadListRequest | GmailThreadReadRequest | GmailMessageReadRequest | GmailAttachmentReadRequest | GmailMessageSendRequest | BasecampProjectListRequest | BasecampTodolistListRequest | BasecampTodoListRequest | BasecampTodoCreateRequest | BasecampTodoCompleteRequest | BasecampMessageListRequest | BasecampMessagePostRequest | BasecampCommentListRequest | BasecampCommentPostRequest | BasecampCampfirePostRequest | BasecampPeopleListRequest | SharePointListListRequest | SharePointItemListRequest | SharePointItemCreateRequest | SharePointItemUpdateRequest | SharePointDriveListRequest | SharePointFileListRequest | SharePointFileSearchRequest | SharePointFileReadRequest | SharePointFileUploadRequest;
533
544
  export type IntegrationOperation = IntegrationRequest['operation'];
534
545
  export interface SlackMessage {
535
546
  id: string;
@@ -583,6 +594,10 @@ export interface PhoneSmsMessage {
583
594
  export interface PhoneSmsListResult {
584
595
  messages: PhoneSmsMessage[];
585
596
  }
597
+ export interface PhoneNumberGetResult {
598
+ /** The E.164 number the alias maps to, e.g. `+919876543210`. */
599
+ number: string;
600
+ }
586
601
  export interface GmailThreadSummary {
587
602
  id: string;
588
603
  messageId: string;
@@ -802,7 +817,7 @@ export interface SharePointFileUploadResult {
802
817
  filename: string;
803
818
  webUrl: string;
804
819
  }
805
- export type IntegrationResult<R extends IntegrationRequest> = R extends ServiceRequest ? ServiceRequestResult : R extends SlackChannelHistoryRequest ? SlackChannelHistoryResult : R extends SlackMessagePostRequest | SlackMessageUpdateRequest | SlackMessageDeleteRequest ? SlackMessagePostResult : R extends SlackDmSendRequest ? SlackDmSendResult : R extends SlackUserLookupRequest ? SlackUserLookupResult : R extends WarehouseViewReadRequest ? WarehouseViewReadResult : R extends WarehouseTableAppendRequest ? WarehouseTableAppendResult : R extends PhoneSmsListRequest ? PhoneSmsListResult : R extends GmailThreadListRequest ? GmailThreadListResult : R extends GmailThreadReadRequest ? GmailThreadReadResult : R extends GmailMessageReadRequest ? GmailMessageReadResult : R extends GmailAttachmentReadRequest ? GmailAttachmentReadResult : R extends GmailMessageSendRequest ? GmailMessageSendResult : R extends BasecampProjectListRequest ? BasecampProjectListResult : R extends BasecampTodolistListRequest ? BasecampTodolistListResult : R extends BasecampTodoListRequest ? BasecampTodoListResult : R extends BasecampMessageListRequest ? BasecampMessageListResult : R extends BasecampCommentListRequest ? BasecampCommentListResult : R extends BasecampPeopleListRequest ? BasecampPeopleListResult : R extends BasecampTodoCreateRequest | BasecampMessagePostRequest | BasecampCommentPostRequest | BasecampCampfirePostRequest ? BasecampRecordingResult : R extends BasecampTodoCompleteRequest ? BasecampTodoCompleteResult : R extends SharePointListListRequest ? SharePointListListResult : R extends SharePointItemListRequest ? SharePointItemListResult : R extends SharePointItemCreateRequest ? SharePointItemCreateResult : R extends SharePointItemUpdateRequest ? SharePointItemUpdateResult : R extends SharePointDriveListRequest ? SharePointDriveListResult : R extends SharePointFileListRequest | SharePointFileSearchRequest ? SharePointFileListResult : R extends SharePointFileReadRequest ? SharePointFileReadResult : R extends SharePointFileUploadRequest ? SharePointFileUploadResult : never;
820
+ export type IntegrationResult<R extends IntegrationRequest> = R extends ServiceRequest ? ServiceRequestResult : R extends SlackChannelHistoryRequest ? SlackChannelHistoryResult : R extends SlackMessagePostRequest | SlackMessageUpdateRequest | SlackMessageDeleteRequest ? SlackMessagePostResult : R extends SlackDmSendRequest ? SlackDmSendResult : R extends SlackUserLookupRequest ? SlackUserLookupResult : R extends WarehouseViewReadRequest ? WarehouseViewReadResult : R extends WarehouseTableAppendRequest ? WarehouseTableAppendResult : R extends PhoneSmsListRequest ? PhoneSmsListResult : R extends PhoneNumberGetRequest ? PhoneNumberGetResult : R extends GmailThreadListRequest ? GmailThreadListResult : R extends GmailThreadReadRequest ? GmailThreadReadResult : R extends GmailMessageReadRequest ? GmailMessageReadResult : R extends GmailAttachmentReadRequest ? GmailAttachmentReadResult : R extends GmailMessageSendRequest ? GmailMessageSendResult : R extends BasecampProjectListRequest ? BasecampProjectListResult : R extends BasecampTodolistListRequest ? BasecampTodolistListResult : R extends BasecampTodoListRequest ? BasecampTodoListResult : R extends BasecampMessageListRequest ? BasecampMessageListResult : R extends BasecampCommentListRequest ? BasecampCommentListResult : R extends BasecampPeopleListRequest ? BasecampPeopleListResult : R extends BasecampTodoCreateRequest | BasecampMessagePostRequest | BasecampCommentPostRequest | BasecampCampfirePostRequest ? BasecampRecordingResult : R extends BasecampTodoCompleteRequest ? BasecampTodoCompleteResult : R extends SharePointListListRequest ? SharePointListListResult : R extends SharePointItemListRequest ? SharePointItemListResult : R extends SharePointItemCreateRequest ? SharePointItemCreateResult : R extends SharePointItemUpdateRequest ? SharePointItemUpdateResult : R extends SharePointDriveListRequest ? SharePointDriveListResult : R extends SharePointFileListRequest | SharePointFileSearchRequest ? SharePointFileListResult : R extends SharePointFileReadRequest ? SharePointFileReadResult : R extends SharePointFileUploadRequest ? SharePointFileUploadResult : never;
806
821
  export type IntegrationConnectResult = {
807
822
  status: 'connected';
808
823
  accountLabel: string;
package/dist/index.js CHANGED
@@ -773,7 +773,10 @@ export function createClient(options = {}) {
773
773
  }
774
774
  // Exactly the contract's fields go on the wire: metadata declares which
775
775
  // operations accept `mode`; identity and stray fields are not sent.
776
- const { operation, resource, input, idempotencyKey, mode } = request;
776
+ // phone.number.get takes no input, but the contract keeps `input`
777
+ // required on the wire (ADR 0029), so an omitted one goes out as {}.
778
+ const { operation, resource, input: given, idempotencyKey, mode } = request;
779
+ const input = given === undefined && operation === 'phone.number.get' ? {} : given;
777
780
  return transport.json('/_harbour/integrations/execute', {
778
781
  method: 'POST', body: JSON.stringify({ connection, operation, ...(operation !== 'service.request' ? { resource } : {}), ...(input !== undefined ? { input } : {}), ...(idempotencyKey !== undefined ? { idempotencyKey } : {}), ...(IntegrationOperations[operation]?.declaredMode && mode !== undefined ? { mode } : {}) }),
779
782
  });
@@ -797,6 +797,10 @@ export declare const IntegrationExecuteInputRules: {
797
797
  };
798
798
  };
799
799
  };
800
+ readonly "phone.number.get": {
801
+ readonly idempotencyKey: false;
802
+ readonly fields: {};
803
+ };
800
804
  readonly "warehouse.view.read": {
801
805
  readonly idempotencyKey: false;
802
806
  readonly fields: {
@@ -248,6 +248,10 @@ export const IntegrationExecuteInputRules = {
248
248
  from: { kind: "string", required: false, minLength: 0, maxLength: 32 },
249
249
  },
250
250
  },
251
+ "phone.number.get": {
252
+ idempotencyKey: false,
253
+ fields: {},
254
+ },
251
255
  "warehouse.view.read": {
252
256
  idempotencyKey: false,
253
257
  fields: {
@@ -224,6 +224,13 @@ export declare const IntegrationOperations: {
224
224
  readonly declaredMode: false;
225
225
  readonly idempotencyKey: false;
226
226
  };
227
+ readonly "phone.number.get": {
228
+ readonly kind: "saas";
229
+ readonly identities: readonly ["app"];
230
+ readonly readOnly: true;
231
+ readonly declaredMode: false;
232
+ readonly idempotencyKey: false;
233
+ };
227
234
  readonly "warehouse.view.read": {
228
235
  readonly kind: "database";
229
236
  readonly identities: readonly ["app"];
@@ -294,6 +294,15 @@ export const IntegrationOperations = {
294
294
  "declaredMode": false,
295
295
  "idempotencyKey": false
296
296
  },
297
+ "phone.number.get": {
298
+ "kind": "saas",
299
+ "identities": [
300
+ "app"
301
+ ],
302
+ "readOnly": true,
303
+ "declaredMode": false,
304
+ "idempotencyKey": false
305
+ },
297
306
  "warehouse.view.read": {
298
307
  "kind": "database",
299
308
  "identities": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@isomorph.ai/app-sdk",
3
- "version": "1.18.0",
3
+ "version": "1.19.0",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",