@inkbox/sdk 0.2.10 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +4 -4
  2. package/dist/_http.d.ts +24 -2
  3. package/dist/_http.d.ts.map +1 -1
  4. package/dist/_http.js +76 -15
  5. package/dist/_http.js.map +1 -1
  6. package/dist/agent_identity.d.ts.map +1 -1
  7. package/dist/agent_identity.js +3 -0
  8. package/dist/agent_identity.js.map +1 -1
  9. package/dist/contacts/index.d.ts +3 -0
  10. package/dist/contacts/index.d.ts.map +1 -0
  11. package/dist/contacts/index.js +2 -0
  12. package/dist/contacts/index.js.map +1 -0
  13. package/dist/contacts/resources/contactAccess.d.ts +21 -0
  14. package/dist/contacts/resources/contactAccess.d.ts.map +1 -0
  15. package/dist/contacts/resources/contactAccess.js +32 -0
  16. package/dist/contacts/resources/contactAccess.js.map +1 -0
  17. package/dist/contacts/resources/contacts.d.ts +82 -0
  18. package/dist/contacts/resources/contacts.d.ts.map +1 -0
  19. package/dist/contacts/resources/contacts.js +143 -0
  20. package/dist/contacts/resources/contacts.js.map +1 -0
  21. package/dist/contacts/resources/vcards.d.ts +23 -0
  22. package/dist/contacts/resources/vcards.d.ts.map +1 -0
  23. package/dist/contacts/resources/vcards.js +31 -0
  24. package/dist/contacts/resources/vcards.js.map +1 -0
  25. package/dist/contacts/types.d.ts +177 -0
  26. package/dist/contacts/types.d.ts.map +1 -0
  27. package/dist/contacts/types.js +144 -0
  28. package/dist/contacts/types.js.map +1 -0
  29. package/dist/identities/types.d.ts +21 -0
  30. package/dist/identities/types.d.ts.map +1 -1
  31. package/dist/identities/types.js +11 -0
  32. package/dist/identities/types.js.map +1 -1
  33. package/dist/index.d.ts +10 -4
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +4 -2
  36. package/dist/index.js.map +1 -1
  37. package/dist/inkbox.d.ts +16 -0
  38. package/dist/inkbox.d.ts.map +1 -1
  39. package/dist/inkbox.js +20 -0
  40. package/dist/inkbox.js.map +1 -1
  41. package/dist/mail/resources/contactRules.d.ts +40 -0
  42. package/dist/mail/resources/contactRules.d.ts.map +1 -0
  43. package/dist/mail/resources/contactRules.js +74 -0
  44. package/dist/mail/resources/contactRules.js.map +1 -0
  45. package/dist/mail/resources/mailboxes.d.ts +2 -1
  46. package/dist/mail/resources/mailboxes.d.ts.map +1 -1
  47. package/dist/mail/resources/mailboxes.js +3 -0
  48. package/dist/mail/resources/mailboxes.js.map +1 -1
  49. package/dist/mail/resources/messages.d.ts +1 -1
  50. package/dist/mail/resources/messages.js +1 -1
  51. package/dist/mail/resources/threads.d.ts +32 -5
  52. package/dist/mail/resources/threads.d.ts.map +1 -1
  53. package/dist/mail/resources/threads.js +51 -6
  54. package/dist/mail/resources/threads.js.map +1 -1
  55. package/dist/mail/types.d.ts +93 -0
  56. package/dist/mail/types.d.ts.map +1 -1
  57. package/dist/mail/types.js +68 -0
  58. package/dist/mail/types.js.map +1 -1
  59. package/dist/notes/resources/noteAccess.d.ts +15 -0
  60. package/dist/notes/resources/noteAccess.d.ts.map +1 -0
  61. package/dist/notes/resources/noteAccess.js +26 -0
  62. package/dist/notes/resources/noteAccess.js.map +1 -0
  63. package/dist/notes/resources/notes.d.ts +40 -0
  64. package/dist/notes/resources/notes.d.ts.map +1 -0
  65. package/dist/notes/resources/notes.js +62 -0
  66. package/dist/notes/resources/notes.js.map +1 -0
  67. package/dist/notes/types.d.ts +40 -0
  68. package/dist/notes/types.d.ts.map +1 -0
  69. package/dist/notes/types.js +26 -0
  70. package/dist/notes/types.js.map +1 -0
  71. package/dist/phone/resources/contactRules.d.ts +41 -0
  72. package/dist/phone/resources/contactRules.d.ts.map +1 -0
  73. package/dist/phone/resources/contactRules.js +74 -0
  74. package/dist/phone/resources/contactRules.js.map +1 -0
  75. package/dist/phone/resources/numbers.d.ts +2 -0
  76. package/dist/phone/resources/numbers.d.ts.map +1 -1
  77. package/dist/phone/resources/numbers.js +3 -0
  78. package/dist/phone/resources/numbers.js.map +1 -1
  79. package/dist/phone/types.d.ts +42 -0
  80. package/dist/phone/types.d.ts.map +1 -1
  81. package/dist/phone/types.js +29 -0
  82. package/dist/phone/types.js.map +1 -1
  83. package/dist/whoami/types.d.ts +9 -0
  84. package/dist/whoami/types.d.ts.map +1 -1
  85. package/dist/whoami/types.js +9 -0
  86. package/dist/whoami/types.js.map +1 -1
  87. package/package.json +1 -1
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * inkbox-mail/resources/threads.ts
3
3
  *
4
- * Thread operations: list (auto-paginated), get with messages, delete.
4
+ * Thread operations: list (auto-paginated), get with messages, folder
5
+ * listing, per-thread update, and delete.
5
6
  */
6
- import { parseThread, parseThreadDetail, } from "../types.js";
7
+ import { ThreadFolder, parseThread, parseThreadDetail, } from "../types.js";
7
8
  const DEFAULT_PAGE_SIZE = 50;
8
9
  export class ThreadsResource {
9
10
  http;
@@ -11,14 +12,18 @@ export class ThreadsResource {
11
12
  this.http = http;
12
13
  }
13
14
  /**
14
- * Async iterator over all threads in a mailbox, most recent activity first.
15
+ * Async iterator over threads in a mailbox, most recent activity first.
15
16
  *
16
17
  * Pagination is handled automatically — just iterate.
17
18
  *
19
+ * @param options.folder - Optional folder filter. When omitted, the server
20
+ * returns all visible folders for the caller.
21
+ * @param options.pageSize - Number of threads fetched per API call (1–100).
22
+ *
18
23
  * @example
19
24
  * ```ts
20
- * for await (const thread of client.threads.list(emailAddress)) {
21
- * console.log(thread.subject, thread.messageCount);
25
+ * for await (const thread of client.threads.list(emailAddress, { folder: ThreadFolder.BLOCKED })) {
26
+ * console.log(thread.subject, thread.folder);
22
27
  * }
23
28
  * ```
24
29
  */
@@ -26,7 +31,14 @@ export class ThreadsResource {
26
31
  const limit = options?.pageSize ?? DEFAULT_PAGE_SIZE;
27
32
  let cursor;
28
33
  while (true) {
29
- const page = await this.http.get(`/mailboxes/${emailAddress}/threads`, { limit, cursor });
34
+ const params = {
35
+ limit,
36
+ cursor,
37
+ };
38
+ if (options?.folder !== undefined) {
39
+ params.folder = options.folder;
40
+ }
41
+ const page = await this.http.get(`/mailboxes/${emailAddress}/threads`, params);
30
42
  for (const item of page.items) {
31
43
  yield parseThread(item);
32
44
  }
@@ -35,6 +47,17 @@ export class ThreadsResource {
35
47
  cursor = page.next_cursor ?? undefined;
36
48
  }
37
49
  }
50
+ /**
51
+ * Return the distinct folders that have at least one thread in this
52
+ * mailbox.
53
+ *
54
+ * @returns Sorted list of {@link ThreadFolder} values that currently hold
55
+ * at least one non-deleted thread.
56
+ */
57
+ async listFolders(emailAddress) {
58
+ const data = await this.http.get(`/mailboxes/${emailAddress}/threads/folders`);
59
+ return data.map((f) => f);
60
+ }
38
61
  /**
39
62
  * Get a thread with all its messages inlined.
40
63
  *
@@ -45,6 +68,28 @@ export class ThreadsResource {
45
68
  const data = await this.http.get(`/mailboxes/${emailAddress}/threads/${threadId}`);
46
69
  return parseThreadDetail(data);
47
70
  }
71
+ /**
72
+ * Update mutable thread fields.
73
+ *
74
+ * Returns a bare {@link Thread} (no inlined messages). Use {@link get} to
75
+ * refetch the thread with messages attached.
76
+ *
77
+ * @param options.folder - New folder. `ThreadFolder.BLOCKED` is
78
+ * server-assigned and cannot be set by clients; passing it throws
79
+ * synchronously without making an HTTP call.
80
+ */
81
+ async update(emailAddress, threadId, options = {}) {
82
+ const body = {};
83
+ if (options.folder !== undefined) {
84
+ if (options.folder === ThreadFolder.BLOCKED) {
85
+ throw new Error("folder='blocked' is server-assigned and cannot be set by clients " +
86
+ "— the server will reject this PATCH.");
87
+ }
88
+ body["folder"] = options.folder;
89
+ }
90
+ const data = await this.http.patch(`/mailboxes/${emailAddress}/threads/${threadId}`, body);
91
+ return parseThread(data);
92
+ }
48
93
  /** Delete a thread. */
49
94
  async delete(emailAddress, threadId) {
50
95
  await this.http.delete(`/mailboxes/${emailAddress}/threads/${threadId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/mail/resources/threads.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAKL,WAAW,EACX,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,CAAC,IAAI,CACT,YAAoB,EACpB,OAA+B;QAE/B,MAAM,KAAK,GAAG,OAAO,EAAE,QAAQ,IAAI,iBAAiB,CAAC;QACrD,IAAI,MAA0B,CAAC;QAE/B,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,cAAc,YAAY,UAAU,EACpC,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,MAAM;YAC1B,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;QACzC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,YAAoB,EAAE,QAAgB;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,cAAc,YAAY,YAAY,QAAQ,EAAE,CACjD,CAAC;QACF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,MAAM,CAAC,YAAoB,EAAE,QAAgB;QACjD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,YAAY,YAAY,QAAQ,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF"}
1
+ {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/mail/resources/threads.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAKL,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,CAAC,IAAI,CACT,YAAoB,EACpB,OAAsD;QAEtD,MAAM,KAAK,GAAG,OAAO,EAAE,QAAQ,IAAI,iBAAiB,CAAC;QACrD,IAAI,MAA0B,CAAC;QAE/B,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,MAAM,GAAgD;gBAC1D,KAAK;gBACL,MAAM;aACP,CAAC;YACF,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YACjC,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,cAAc,YAAY,UAAU,EACpC,MAAM,CACP,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,MAAM;YAC1B,MAAM,GAAG,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;QACzC,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,YAAoB;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,cAAc,YAAY,kBAAkB,CAC7C,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAiB,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,YAAoB,EAAE,QAAgB;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,cAAc,YAAY,YAAY,QAAQ,EAAE,CACjD,CAAC;QACF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CACV,YAAoB,EACpB,QAAgB,EAChB,UAAqC,EAAE;QAEvC,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CACb,mEAAmE;oBACjE,sCAAsC,CACzC,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAClC,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAChC,cAAc,YAAY,YAAY,QAAQ,EAAE,EAChD,IAAI,CACL,CAAC;QACF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,MAAM,CAAC,YAAoB,EAAE,QAAgB;QACjD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,YAAY,YAAY,QAAQ,EAAE,CAAC,CAAC;IAC3E,CAAC;CACF"}
@@ -8,13 +8,74 @@ export declare enum MessageDirection {
8
8
  /** Email sent by the mailbox. */
9
9
  OUTBOUND = "outbound"
10
10
  }
11
+ /**
12
+ * Contact-rule filter mode on a mailbox or phone number.
13
+ *
14
+ * `WHITELIST` — only addresses that match an `allow` rule are delivered.
15
+ * `BLACKLIST` — everything is delivered except matches against a
16
+ * `block` rule. This is the default.
17
+ */
18
+ export declare enum FilterMode {
19
+ WHITELIST = "whitelist",
20
+ BLACKLIST = "blacklist"
21
+ }
22
+ /**
23
+ * Logical folder a thread lives in.
24
+ *
25
+ * `BLOCKED` is server-assigned and is not client-settable — PATCH will
26
+ * reject it.
27
+ */
28
+ export declare enum ThreadFolder {
29
+ INBOX = "inbox",
30
+ SPAM = "spam",
31
+ BLOCKED = "blocked",
32
+ ARCHIVE = "archive"
33
+ }
34
+ /** Whether a matching address is allowed through or blocked. */
35
+ export declare enum MailRuleAction {
36
+ ALLOW = "allow",
37
+ BLOCK = "block"
38
+ }
39
+ /** What a mail contact rule matches on. */
40
+ export declare enum MailRuleMatchType {
41
+ EXACT_EMAIL = "exact_email",
42
+ DOMAIN = "domain"
43
+ }
44
+ /** Whether a contact rule is currently enforced. */
45
+ export declare enum ContactRuleStatus {
46
+ ACTIVE = "active",
47
+ PAUSED = "paused"
48
+ }
49
+ export interface FilterModeChangeNotice {
50
+ /** The mode the resource was just flipped to. */
51
+ newFilterMode: FilterMode;
52
+ /**
53
+ * Action whose rules are now redundant under `newFilterMode` —
54
+ * `"block"` under whitelist, `"allow"` under blacklist. Typed as a
55
+ * free-form string to tolerate new server values.
56
+ */
57
+ redundantRuleAction: string;
58
+ /**
59
+ * Count of active rules whose `action` equals `redundantRuleAction`.
60
+ * `0` is a clean flip. Paused / deleted rules are not counted.
61
+ */
62
+ redundantRuleCount: number;
63
+ }
11
64
  export interface Mailbox {
12
65
  id: string;
13
66
  emailAddress: string;
14
67
  displayName: string | null;
15
68
  webhookUrl: string | null;
69
+ filterMode: FilterMode;
70
+ /**
71
+ * UUID of the owning agent identity, or `null` if the mailbox is
72
+ * standalone (not tied to any agent). Always present on every mailbox
73
+ * response shape.
74
+ */
75
+ agentIdentityId: string | null;
16
76
  createdAt: Date;
17
77
  updatedAt: Date;
78
+ filterModeChangeNotice: FilterModeChangeNotice | null;
18
79
  }
19
80
  export interface Message {
20
81
  id: string;
@@ -51,6 +112,7 @@ export interface Thread {
51
112
  id: string;
52
113
  mailboxId: string;
53
114
  subject: string | null;
115
+ folder: ThreadFolder;
54
116
  messageCount: number;
55
117
  lastMessageAt: Date;
56
118
  createdAt: Date;
@@ -59,11 +121,29 @@ export interface ThreadDetail extends Thread {
59
121
  /** All messages in the thread, oldest-first */
60
122
  messages: Message[];
61
123
  }
124
+ export interface MailContactRule {
125
+ id: string;
126
+ mailboxId: string;
127
+ action: MailRuleAction;
128
+ matchType: MailRuleMatchType;
129
+ matchTarget: string;
130
+ status: ContactRuleStatus;
131
+ createdAt: Date;
132
+ updatedAt: Date;
133
+ }
134
+ export interface RawFilterModeChangeNotice {
135
+ new_filter_mode: string;
136
+ redundant_rule_action: string;
137
+ redundant_rule_count: number;
138
+ }
62
139
  export interface RawMailbox {
63
140
  id: string;
64
141
  email_address: string;
65
142
  display_name: string | null;
66
143
  webhook_url: string | null;
144
+ filter_mode?: string;
145
+ agent_identity_id?: string | null;
146
+ filter_mode_change_notice?: RawFilterModeChangeNotice | null;
67
147
  created_at: string;
68
148
  updated_at: string;
69
149
  }
@@ -96,19 +176,32 @@ export interface RawThread {
96
176
  id: string;
97
177
  mailbox_id: string;
98
178
  subject: string | null;
179
+ folder?: string;
99
180
  message_count: number;
100
181
  last_message_at: string;
101
182
  created_at: string;
102
183
  messages?: RawMessage[];
103
184
  }
185
+ export interface RawMailContactRule {
186
+ id: string;
187
+ mailbox_id: string;
188
+ action: string;
189
+ match_type: string;
190
+ match_target: string;
191
+ status?: string;
192
+ created_at: string;
193
+ updated_at: string;
194
+ }
104
195
  export interface RawCursorPage<T> {
105
196
  items: T[];
106
197
  next_cursor: string | null;
107
198
  has_more: boolean;
108
199
  }
200
+ export declare function parseFilterModeChangeNotice(r: RawFilterModeChangeNotice): FilterModeChangeNotice;
109
201
  export declare function parseMailbox(r: RawMailbox): Mailbox;
110
202
  export declare function parseMessage(r: RawMessage): Message;
111
203
  export declare function parseMessageDetail(r: RawMessage): MessageDetail;
112
204
  export declare function parseThread(r: RawThread): Thread;
113
205
  export declare function parseThreadDetail(r: RawThread): ThreadDetail;
206
+ export declare function parseMailContactRule(r: RawMailContactRule): MailContactRule;
114
207
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mail/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gEAAgE;AAChE,oBAAY,gBAAgB;IAC1B,8CAA8C;IAC9C,OAAO,YAAY;IACnB,iCAAiC;IACjC,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mDAAmD;IACnD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,wCAAwC;IACxC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wCAAwC;IACxC,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IACrD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,IAAI,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,YAAa,SAAQ,MAAM;IAC1C,+CAA+C;IAC/C,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAID,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IACvD,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CASnD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO,CAkBnD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,GAAG,aAAa,CAY/D;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAShD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,CAK5D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mail/types.ts"],"names":[],"mappings":"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"}
@@ -9,15 +9,70 @@ export var MessageDirection;
9
9
  /** Email sent by the mailbox. */
10
10
  MessageDirection["OUTBOUND"] = "outbound";
11
11
  })(MessageDirection || (MessageDirection = {}));
12
+ /**
13
+ * Contact-rule filter mode on a mailbox or phone number.
14
+ *
15
+ * `WHITELIST` — only addresses that match an `allow` rule are delivered.
16
+ * `BLACKLIST` — everything is delivered except matches against a
17
+ * `block` rule. This is the default.
18
+ */
19
+ export var FilterMode;
20
+ (function (FilterMode) {
21
+ FilterMode["WHITELIST"] = "whitelist";
22
+ FilterMode["BLACKLIST"] = "blacklist";
23
+ })(FilterMode || (FilterMode = {}));
24
+ /**
25
+ * Logical folder a thread lives in.
26
+ *
27
+ * `BLOCKED` is server-assigned and is not client-settable — PATCH will
28
+ * reject it.
29
+ */
30
+ export var ThreadFolder;
31
+ (function (ThreadFolder) {
32
+ ThreadFolder["INBOX"] = "inbox";
33
+ ThreadFolder["SPAM"] = "spam";
34
+ ThreadFolder["BLOCKED"] = "blocked";
35
+ ThreadFolder["ARCHIVE"] = "archive";
36
+ })(ThreadFolder || (ThreadFolder = {}));
37
+ /** Whether a matching address is allowed through or blocked. */
38
+ export var MailRuleAction;
39
+ (function (MailRuleAction) {
40
+ MailRuleAction["ALLOW"] = "allow";
41
+ MailRuleAction["BLOCK"] = "block";
42
+ })(MailRuleAction || (MailRuleAction = {}));
43
+ /** What a mail contact rule matches on. */
44
+ export var MailRuleMatchType;
45
+ (function (MailRuleMatchType) {
46
+ MailRuleMatchType["EXACT_EMAIL"] = "exact_email";
47
+ MailRuleMatchType["DOMAIN"] = "domain";
48
+ })(MailRuleMatchType || (MailRuleMatchType = {}));
49
+ /** Whether a contact rule is currently enforced. */
50
+ export var ContactRuleStatus;
51
+ (function (ContactRuleStatus) {
52
+ ContactRuleStatus["ACTIVE"] = "active";
53
+ ContactRuleStatus["PAUSED"] = "paused";
54
+ })(ContactRuleStatus || (ContactRuleStatus = {}));
12
55
  // ---- parsers ----
56
+ export function parseFilterModeChangeNotice(r) {
57
+ return {
58
+ newFilterMode: r.new_filter_mode,
59
+ redundantRuleAction: r.redundant_rule_action,
60
+ redundantRuleCount: r.redundant_rule_count,
61
+ };
62
+ }
13
63
  export function parseMailbox(r) {
14
64
  return {
15
65
  id: r.id,
16
66
  emailAddress: r.email_address,
17
67
  displayName: r.display_name,
18
68
  webhookUrl: r.webhook_url,
69
+ filterMode: r.filter_mode ?? FilterMode.BLACKLIST,
70
+ agentIdentityId: r.agent_identity_id ?? null,
19
71
  createdAt: new Date(r.created_at),
20
72
  updatedAt: new Date(r.updated_at),
73
+ filterModeChangeNotice: r.filter_mode_change_notice
74
+ ? parseFilterModeChangeNotice(r.filter_mode_change_notice)
75
+ : null,
21
76
  };
22
77
  }
23
78
  export function parseMessage(r) {
@@ -57,6 +112,7 @@ export function parseThread(r) {
57
112
  id: r.id,
58
113
  mailboxId: r.mailbox_id,
59
114
  subject: r.subject,
115
+ folder: r.folder ?? ThreadFolder.INBOX,
60
116
  messageCount: r.message_count,
61
117
  lastMessageAt: new Date(r.last_message_at),
62
118
  createdAt: new Date(r.created_at),
@@ -68,4 +124,16 @@ export function parseThreadDetail(r) {
68
124
  messages: (r.messages ?? []).map(parseMessage),
69
125
  };
70
126
  }
127
+ export function parseMailContactRule(r) {
128
+ return {
129
+ id: r.id,
130
+ mailboxId: r.mailbox_id,
131
+ action: r.action,
132
+ matchType: r.match_type,
133
+ matchTarget: r.match_target,
134
+ status: r.status ?? ContactRuleStatus.ACTIVE,
135
+ createdAt: new Date(r.created_at),
136
+ updatedAt: new Date(r.updated_at),
137
+ };
138
+ }
71
139
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mail/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gEAAgE;AAChE,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,8CAA8C;IAC9C,uCAAmB,CAAA;IACnB,iCAAiC;IACjC,yCAAqB,CAAA;AACvB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;AAgHD,oBAAoB;AAEpB,MAAM,UAAU,YAAY,CAAC,CAAa;IACxC,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,YAAY,EAAE,CAAC,CAAC,aAAa;QAC7B,WAAW,EAAE,CAAC,CAAC,YAAY;QAC3B,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QACjC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAa;IACxC,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,QAAQ,EAAE,CAAC,CAAC,SAAS;QACrB,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,WAAW,EAAE,CAAC,CAAC,YAAY;QAC3B,WAAW,EAAE,CAAC,CAAC,YAAY;QAC3B,WAAW,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;QACnC,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,SAAS,EAAE,CAAC,CAAC,SAA6B;QAC1C,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,OAAO;QACjB,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,cAAc,EAAE,CAAC,CAAC,eAAe;QACjC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,CAAa;IAC9C,OAAO;QACL,GAAG,YAAY,CAAC,CAAC,CAAC;QAClB,QAAQ,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;QAC7B,QAAQ,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;QAC7B,YAAY,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI;QACrC,SAAS,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;QAChC,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;QAChC,kBAAkB,EAAE,CAAC,CAAC,mBAAmB,IAAI,IAAI;QACjD,YAAY,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI;QACtC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,UAAW,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAY;IACtC,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,YAAY,EAAE,CAAC,CAAC,aAAa;QAC7B,aAAa,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;QAC1C,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,CAAY;IAC5C,OAAO;QACL,GAAG,WAAW,CAAC,CAAC,CAAC;QACjB,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;KAC/C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mail/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * inkbox-notes/resources/noteAccess.ts
3
+ *
4
+ * Per-note access grant management. No wildcards.
5
+ */
6
+ import { HttpTransport } from "../../_http.js";
7
+ import { NoteAccess } from "../types.js";
8
+ export declare class NoteAccessResource {
9
+ private readonly http;
10
+ constructor(http: HttpTransport);
11
+ list(noteId: string): Promise<NoteAccess[]>;
12
+ grant(noteId: string, identityId: string): Promise<NoteAccess>;
13
+ revoke(noteId: string, identityId: string): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=noteAccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noteAccess.d.ts","sourceRoot":"","sources":["../../../src/notes/resources/noteAccess.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAkC,MAAM,aAAa,CAAC;AAIzE,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAE1C,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAQ3C,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAQ9D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGhE"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * inkbox-notes/resources/noteAccess.ts
3
+ *
4
+ * Per-note access grant management. No wildcards.
5
+ */
6
+ import { parseNoteAccess } from "../types.js";
7
+ const BASE = "/notes";
8
+ export class NoteAccessResource {
9
+ http;
10
+ constructor(http) {
11
+ this.http = http;
12
+ }
13
+ async list(noteId) {
14
+ const data = await this.http.get(`${BASE}/${noteId}/access`);
15
+ const items = Array.isArray(data) ? data : data.items;
16
+ return items.map(parseNoteAccess);
17
+ }
18
+ async grant(noteId, identityId) {
19
+ const data = await this.http.post(`${BASE}/${noteId}/access`, { identity_id: identityId });
20
+ return parseNoteAccess(data);
21
+ }
22
+ async revoke(noteId, identityId) {
23
+ await this.http.delete(`${BASE}/${noteId}/access/${identityId}`);
24
+ }
25
+ }
26
+ //# sourceMappingURL=noteAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noteAccess.js","sourceRoot":"","sources":["../../../src/notes/resources/noteAccess.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAA6B,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,IAAI,GAAG,QAAQ,CAAC;AAEtB,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD,KAAK,CAAC,IAAI,CAAC,MAAc;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAE9B,GAAG,IAAI,IAAI,MAAM,SAAS,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,UAAkB;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC/B,GAAG,IAAI,IAAI,MAAM,SAAS,EAC1B,EAAE,WAAW,EAAE,UAAU,EAAE,CAC5B,CAAC;QACF,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,UAAkB;QAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,MAAM,WAAW,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;CACF"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * inkbox-notes/resources/notes.ts
3
+ *
4
+ * Notes CRUD + per-note access subresource.
5
+ */
6
+ import { HttpTransport } from "../../_http.js";
7
+ import { NoteAccessResource } from "./noteAccess.js";
8
+ import { Note } from "../types.js";
9
+ export interface ListNotesOptions {
10
+ q?: string;
11
+ identityId?: string;
12
+ limit?: number;
13
+ offset?: number;
14
+ order?: "recent" | "created" | string;
15
+ }
16
+ export interface CreateNoteOptions {
17
+ body: string;
18
+ title?: string;
19
+ }
20
+ export interface UpdateNoteOptions {
21
+ title?: string | null;
22
+ body?: string;
23
+ }
24
+ export declare class NotesResource {
25
+ private readonly http;
26
+ readonly access: NoteAccessResource;
27
+ constructor(http: HttpTransport);
28
+ list(options?: ListNotesOptions): Promise<Note[]>;
29
+ get(noteId: string): Promise<Note>;
30
+ create(options: CreateNoteOptions): Promise<Note>;
31
+ /**
32
+ * JSON-merge-patch update.
33
+ *
34
+ * `title: null` clears the title (server returns 200). Setting `body`
35
+ * to null is **not** a legal operation — the server rejects with 422.
36
+ */
37
+ update(noteId: string, options: UpdateNoteOptions): Promise<Note>;
38
+ delete(noteId: string): Promise<void>;
39
+ }
40
+ //# sourceMappingURL=notes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notes.d.ts","sourceRoot":"","sources":["../../../src/notes/resources/notes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAsB,MAAM,aAAa,CAAC;AAIvD,MAAM,WAAW,gBAAgB;IAC/B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;gBAEP,IAAI,EAAE,aAAa;IAI1C,IAAI,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAerD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvD;;;;;OAKG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG5C"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * inkbox-notes/resources/notes.ts
3
+ *
4
+ * Notes CRUD + per-note access subresource.
5
+ */
6
+ import { NoteAccessResource } from "./noteAccess.js";
7
+ import { parseNote } from "../types.js";
8
+ const BASE = "/notes";
9
+ export class NotesResource {
10
+ http;
11
+ access;
12
+ constructor(http) {
13
+ this.http = http;
14
+ this.access = new NoteAccessResource(http);
15
+ }
16
+ async list(options = {}) {
17
+ const params = {};
18
+ if (options.q !== undefined)
19
+ params.q = options.q;
20
+ if (options.identityId !== undefined)
21
+ params.identity_id = options.identityId;
22
+ if (options.limit !== undefined)
23
+ params.limit = options.limit;
24
+ if (options.offset !== undefined)
25
+ params.offset = options.offset;
26
+ if (options.order !== undefined)
27
+ params.order = options.order;
28
+ const data = await this.http.get(BASE, params);
29
+ const items = Array.isArray(data) ? data : data.items;
30
+ return items.map(parseNote);
31
+ }
32
+ async get(noteId) {
33
+ const data = await this.http.get(`${BASE}/${noteId}`);
34
+ return parseNote(data);
35
+ }
36
+ async create(options) {
37
+ const body = { body: options.body };
38
+ if (options.title !== undefined)
39
+ body.title = options.title;
40
+ const data = await this.http.post(BASE, body);
41
+ return parseNote(data);
42
+ }
43
+ /**
44
+ * JSON-merge-patch update.
45
+ *
46
+ * `title: null` clears the title (server returns 200). Setting `body`
47
+ * to null is **not** a legal operation — the server rejects with 422.
48
+ */
49
+ async update(noteId, options) {
50
+ const body = {};
51
+ if ("title" in options)
52
+ body.title = options.title;
53
+ if (options.body !== undefined)
54
+ body.body = options.body;
55
+ const data = await this.http.patch(`${BASE}/${noteId}`, body);
56
+ return parseNote(data);
57
+ }
58
+ async delete(noteId) {
59
+ await this.http.delete(`${BASE}/${noteId}`);
60
+ }
61
+ }
62
+ //# sourceMappingURL=notes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notes.js","sourceRoot":"","sources":["../../../src/notes/resources/notes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAiB,SAAS,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,IAAI,GAAG,QAAQ,CAAC;AAoBtB,MAAM,OAAO,aAAa;IAGK;IAFpB,MAAM,CAAqB;IAEpC,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAA4B,EAAE;QACvC,MAAM,MAAM,GAAgD,EAAE,CAAC;QAC/D,IAAI,OAAO,CAAC,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;QAC9E,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACjE,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,IAAI,EACJ,MAAM,CACP,CAAC;QACF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;QAC/D,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA0B;QACrC,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAU,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,OAA0B;QACrD,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,OAAO,IAAI,OAAO;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACnD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAU,GAAG,IAAI,IAAI,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;QACvE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;CACF"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * inkbox-notes TypeScript SDK — public types.
3
+ */
4
+ export interface NoteAccess {
5
+ id: string;
6
+ noteId: string;
7
+ identityId: string;
8
+ createdAt: Date;
9
+ }
10
+ export interface Note {
11
+ id: string;
12
+ organizationId: string;
13
+ createdBy: string;
14
+ title: string | null;
15
+ body: string;
16
+ status: string;
17
+ createdAt: Date;
18
+ updatedAt: Date;
19
+ access: NoteAccess[];
20
+ }
21
+ export interface RawNoteAccess {
22
+ id: string;
23
+ note_id: string;
24
+ identity_id: string;
25
+ created_at: string;
26
+ }
27
+ export interface RawNote {
28
+ id: string;
29
+ organization_id: string;
30
+ created_by: string;
31
+ title: string | null;
32
+ body: string;
33
+ status: string;
34
+ created_at: string;
35
+ updated_at: string;
36
+ access?: RawNoteAccess[] | null;
37
+ }
38
+ export declare function parseNoteAccess(r: RawNoteAccess): NoteAccess;
39
+ export declare function parseNote(r: RawNote): Note;
40
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/notes/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAID,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;CACjC;AAID,wBAAgB,eAAe,CAAC,CAAC,EAAE,aAAa,GAAG,UAAU,CAO5D;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAY1C"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * inkbox-notes TypeScript SDK — public types.
3
+ */
4
+ // ---- parsers ----
5
+ export function parseNoteAccess(r) {
6
+ return {
7
+ id: r.id,
8
+ noteId: r.note_id,
9
+ identityId: r.identity_id,
10
+ createdAt: new Date(r.created_at),
11
+ };
12
+ }
13
+ export function parseNote(r) {
14
+ return {
15
+ id: r.id,
16
+ organizationId: r.organization_id,
17
+ createdBy: r.created_by,
18
+ title: r.title,
19
+ body: r.body,
20
+ status: r.status,
21
+ createdAt: new Date(r.created_at),
22
+ updatedAt: new Date(r.updated_at),
23
+ access: (r.access ?? []).map(parseNoteAccess),
24
+ };
25
+ }
26
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/notes/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0CH,oBAAoB;AAEpB,MAAM,UAAU,eAAe,CAAC,CAAgB;IAC9C,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,MAAM,EAAE,CAAC,CAAC,OAAO;QACjB,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,CAAU;IAClC,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,cAAc,EAAE,CAAC,CAAC,eAAe;QACjC,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QACjC,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QACjC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;KAC9C,CAAC;AACJ,CAAC"}