@nilovonjs/connect 0.1.1 → 0.1.4

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.js CHANGED
@@ -1,17 +1,277 @@
1
1
  // src/client.ts
2
2
  import { createORPCClient } from "@orpc/client";
3
3
  import { RPCLink } from "@orpc/client/fetch";
4
- var BASE_URL = "https://api.connect.nilovon.com";
4
+
5
+ // src/resources/emails.ts
6
+ var Emails = class {
7
+ constructor(client) {
8
+ this.client = client;
9
+ }
10
+ /** Send a single email. Returns the created message. */
11
+ async send(params) {
12
+ return this.client.message.send({
13
+ channelType: "email",
14
+ to: params.to,
15
+ from: params.from,
16
+ subject: params.subject,
17
+ body: params.html ?? params.text ?? "",
18
+ emailDomainId: params.emailDomainId,
19
+ smtpConnectionId: params.smtpConnectionId
20
+ });
21
+ }
22
+ /** Get a message by ID. */
23
+ async get(id) {
24
+ return this.client.message.get({ id });
25
+ }
26
+ /** List messages with pagination. */
27
+ async list(params) {
28
+ return this.client.message.list({
29
+ limit: params?.limit ?? 20,
30
+ offset: params?.offset ?? 0,
31
+ status: params?.status,
32
+ channelType: params?.channelType
33
+ });
34
+ }
35
+ };
36
+
37
+ // src/resources/contacts.ts
38
+ var Contacts = class {
39
+ constructor(client) {
40
+ this.client = client;
41
+ }
42
+ /** Create a new contact. */
43
+ async create(params) {
44
+ return this.client.contact.create(params);
45
+ }
46
+ /** Get a contact by ID. */
47
+ async get(id) {
48
+ return this.client.contact.get({ id });
49
+ }
50
+ /** List contacts with pagination. */
51
+ async list(params) {
52
+ return this.client.contact.list({
53
+ limit: params?.limit ?? 20,
54
+ offset: params?.offset ?? 0,
55
+ query: params?.query
56
+ });
57
+ }
58
+ /** Update a contact. */
59
+ async update(id, params) {
60
+ return this.client.contact.update({ id, ...params });
61
+ }
62
+ /** Delete a contact. */
63
+ async delete(id) {
64
+ return this.client.contact.delete({ id });
65
+ }
66
+ };
67
+
68
+ // src/resources/domains.ts
69
+ var Domains = class {
70
+ constructor(client) {
71
+ this.client = client;
72
+ }
73
+ /** List all email domains. */
74
+ async list() {
75
+ return this.client.emailDomain.list({});
76
+ }
77
+ /** Get a domain by ID. */
78
+ async get(id) {
79
+ return this.client.emailDomain.get({ id });
80
+ }
81
+ /** Add a new email domain. */
82
+ async create(domain, region = "us-east-2") {
83
+ return this.client.emailDomain.add({ domain, region });
84
+ }
85
+ /** Verify a domain's DNS records. */
86
+ async verify(id) {
87
+ return this.client.emailDomain.verify({ id });
88
+ }
89
+ /** Delete an email domain. */
90
+ async delete(id) {
91
+ return this.client.emailDomain.delete({ id });
92
+ }
93
+ };
94
+
95
+ // src/resources/campaigns.ts
96
+ var Campaigns = class {
97
+ constructor(client) {
98
+ this.client = client;
99
+ }
100
+ /** Create a draft campaign. */
101
+ async create(params) {
102
+ return this.client.campaign.create(params);
103
+ }
104
+ /** Get a campaign by ID. */
105
+ async get(id) {
106
+ return this.client.campaign.get({ id });
107
+ }
108
+ /** List campaigns with optional status filter. */
109
+ async list(params) {
110
+ return this.client.campaign.list({
111
+ limit: params?.limit ?? 20,
112
+ offset: params?.offset ?? 0,
113
+ status: params?.status
114
+ });
115
+ }
116
+ /** Update a draft or scheduled campaign. */
117
+ async update(params) {
118
+ return this.client.campaign.update(params);
119
+ }
120
+ /** Delete a campaign. */
121
+ async delete(id) {
122
+ return this.client.campaign.delete({ id });
123
+ }
124
+ /** Schedule or send a campaign immediately. */
125
+ async schedule(id, scheduledAt) {
126
+ return this.client.campaign.schedule({ id, scheduledAt });
127
+ }
128
+ /** Pause a running campaign. */
129
+ async pause(id) {
130
+ return this.client.campaign.pause({ id });
131
+ }
132
+ /** Resume a paused campaign. */
133
+ async resume(id) {
134
+ return this.client.campaign.resume({ id });
135
+ }
136
+ /** Duplicate a campaign as a new draft. */
137
+ async duplicate(id) {
138
+ return this.client.campaign.duplicate({ id });
139
+ }
140
+ };
141
+
142
+ // src/resources/templates.ts
143
+ var Templates = class {
144
+ constructor(client) {
145
+ this.client = client;
146
+ }
147
+ /** Create a template. */
148
+ async create(params) {
149
+ return this.client.template.create(params);
150
+ }
151
+ /** Get a template by ID. */
152
+ async get(id) {
153
+ return this.client.template.get({ id });
154
+ }
155
+ /** List templates with optional filters. */
156
+ async list(params) {
157
+ return this.client.template.list({
158
+ limit: params?.limit ?? 20,
159
+ offset: params?.offset ?? 0,
160
+ channelType: params?.channelType,
161
+ isActive: params?.isActive
162
+ });
163
+ }
164
+ /** Update a template. */
165
+ async update(id, params) {
166
+ return this.client.template.update({ id, ...params });
167
+ }
168
+ /** Delete (deactivate) a template. */
169
+ async delete(id) {
170
+ return this.client.template.delete({ id });
171
+ }
172
+ };
173
+
174
+ // src/resources/webhooks.ts
175
+ var Webhooks = class {
176
+ constructor(client) {
177
+ this.client = client;
178
+ }
179
+ /** Create a webhook. */
180
+ async create(params) {
181
+ return this.client.webhook.create(params);
182
+ }
183
+ /** Get a webhook by ID. */
184
+ async get(id) {
185
+ return this.client.webhook.get({ id });
186
+ }
187
+ /** List webhooks. */
188
+ async list(params) {
189
+ return this.client.webhook.list({
190
+ limit: params?.limit ?? 20,
191
+ offset: params?.offset ?? 0
192
+ });
193
+ }
194
+ /** Update a webhook. */
195
+ async update(id, params) {
196
+ return this.client.webhook.update({ id, ...params });
197
+ }
198
+ /** Delete a webhook. */
199
+ async delete(id) {
200
+ return this.client.webhook.delete({ id });
201
+ }
202
+ /**
203
+ * Verify an incoming webhook signature.
204
+ * Returns true if the signature matches.
205
+ */
206
+ static async verify(secret, body, signature) {
207
+ const encoder = new TextEncoder();
208
+ const key = await crypto.subtle.importKey(
209
+ "raw",
210
+ encoder.encode(secret),
211
+ { name: "HMAC", hash: "SHA-256" },
212
+ false,
213
+ ["sign"]
214
+ );
215
+ const sig = await crypto.subtle.sign("HMAC", key, encoder.encode(body));
216
+ const bytes = new Uint8Array(sig);
217
+ let hex = "";
218
+ for (const b of bytes) hex += b.toString(16).padStart(2, "0");
219
+ return signature === `sha256=${hex}`;
220
+ }
221
+ };
222
+
223
+ // src/client.ts
224
+ var DEFAULT_BASE_URL = "https://api.connect.nilovon.com";
225
+ var NilovonConnect = class {
226
+ /** Email sending and management. */
227
+ emails;
228
+ /** Contact management (CRUD). */
229
+ contacts;
230
+ /** Email domain management. */
231
+ domains;
232
+ /** Campaign management. */
233
+ campaigns;
234
+ /** Template management. */
235
+ templates;
236
+ /** Webhook management and verification. */
237
+ webhooks;
238
+ /** The underlying oRPC client for advanced usage. */
239
+ raw;
240
+ constructor(configOrApiKey) {
241
+ const config = typeof configOrApiKey === "string" ? { apiKey: configOrApiKey } : configOrApiKey;
242
+ const baseUrl = config.baseUrl ?? DEFAULT_BASE_URL;
243
+ const link = new RPCLink({
244
+ url: `${baseUrl}/rpc`,
245
+ headers: () => ({
246
+ Authorization: `Bearer ${config.apiKey}`
247
+ })
248
+ });
249
+ this.raw = createORPCClient(link);
250
+ this.emails = new Emails(this.raw);
251
+ this.contacts = new Contacts(this.raw);
252
+ this.domains = new Domains(this.raw);
253
+ this.campaigns = new Campaigns(this.raw);
254
+ this.templates = new Templates(this.raw);
255
+ this.webhooks = new Webhooks(this.raw);
256
+ }
257
+ /**
258
+ * Verify an incoming webhook signature.
259
+ * Convenience static method that delegates to Webhooks.verify().
260
+ */
261
+ static verifyWebhook = Webhooks.verify;
262
+ };
5
263
  function createClient(config) {
6
- const link = new RPCLink({
7
- url: `${BASE_URL}/rpc`,
8
- headers: () => ({
9
- Authorization: `Bearer ${config.apiKey}`
10
- })
11
- });
12
- return createORPCClient(link);
264
+ const client = new NilovonConnect(config);
265
+ return client.raw;
13
266
  }
14
267
  export {
268
+ Campaigns,
269
+ Contacts,
270
+ Domains,
271
+ Emails,
272
+ NilovonConnect,
273
+ Templates,
274
+ Webhooks,
15
275
  createClient
16
276
  };
17
277
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/client.ts"],"sourcesContent":["import { createORPCClient } from \"@orpc/client\";\nimport { RPCLink } from \"@orpc/client/fetch\";\n\nexport interface ConnectConfig {\n /** API key from the dashboard (used as Bearer token). */\n apiKey: string;\n}\n\nconst BASE_URL = \"https://api.connect.nilovon.com\";\n\n/**\n * Create a fully-typed Connect API client.\n *\n * ```ts\n * import { createClient } from \"@nilovonjs/connect\";\n *\n * const client = createClient({ apiKey: \"sk_live_...\" });\n *\n * const { items } = await client.message.list({ limit: 10, offset: 0 });\n * ```\n */\nexport type ConnectClient = ReturnType<typeof createORPCClient>;\n\nexport function createClient(config: ConnectConfig): ConnectClient {\n const link = new RPCLink({\n url: `${BASE_URL}/rpc`,\n headers: () => ({\n Authorization: `Bearer ${config.apiKey}`,\n }),\n });\n\n return createORPCClient(link);\n}\n"],"mappings":";AAAA,SAAS,wBAAwB;AACjC,SAAS,eAAe;AAOxB,IAAM,WAAW;AAeV,SAAS,aAAa,QAAsC;AACjE,QAAM,OAAO,IAAI,QAAQ;AAAA,IACvB,KAAK,GAAG,QAAQ;AAAA,IAChB,SAAS,OAAO;AAAA,MACd,eAAe,UAAU,OAAO,MAAM;AAAA,IACxC;AAAA,EACF,CAAC;AAED,SAAO,iBAAiB,IAAI;AAC9B;","names":[]}
1
+ {"version":3,"sources":["../src/client.ts","../src/resources/emails.ts","../src/resources/contacts.ts","../src/resources/domains.ts","../src/resources/campaigns.ts","../src/resources/templates.ts","../src/resources/webhooks.ts"],"sourcesContent":["import { createORPCClient } from \"@orpc/client\";\nimport { RPCLink } from \"@orpc/client/fetch\";\nimport type { AppRouterClient } from \"@connect/api/routers/index\";\n\nimport type { NilovonConnectConfig } from \"./types\";\nimport { Emails } from \"./resources/emails\";\nimport { Contacts } from \"./resources/contacts\";\nimport { Domains } from \"./resources/domains\";\nimport { Campaigns } from \"./resources/campaigns\";\nimport { Templates } from \"./resources/templates\";\nimport { Webhooks } from \"./resources/webhooks\";\n\nconst DEFAULT_BASE_URL = \"https://api.connect.nilovon.com\";\n\n/**\n * Main Nilovon Connect SDK client.\n *\n * ```ts\n * const client = new NilovonConnect({ apiKey: \"nk_...\" });\n * // or\n * const client = new NilovonConnect(\"nk_...\");\n *\n * await client.emails.send({ to: \"user@example.com\", from: \"hi@you.com\", subject: \"Hello\", html: \"<p>Hi</p>\" });\n * await client.campaigns.create({ name: \"Weekly newsletter\" });\n * await client.domains.list();\n * ```\n */\nexport class NilovonConnect {\n /** Email sending and management. */\n readonly emails: Emails;\n /** Contact management (CRUD). */\n readonly contacts: Contacts;\n /** Email domain management. */\n readonly domains: Domains;\n /** Campaign management. */\n readonly campaigns: Campaigns;\n /** Template management. */\n readonly templates: Templates;\n /** Webhook management and verification. */\n readonly webhooks: Webhooks;\n\n /** The underlying oRPC client for advanced usage. */\n readonly raw: AppRouterClient;\n\n constructor(configOrApiKey: NilovonConnectConfig | string) {\n const config =\n typeof configOrApiKey === \"string\"\n ? { apiKey: configOrApiKey }\n : configOrApiKey;\n\n const baseUrl = config.baseUrl ?? DEFAULT_BASE_URL;\n\n const link = new RPCLink({\n url: `${baseUrl}/rpc`,\n headers: () => ({\n Authorization: `Bearer ${config.apiKey}`,\n }),\n });\n\n this.raw = createORPCClient<AppRouterClient>(link);\n this.emails = new Emails(this.raw);\n this.contacts = new Contacts(this.raw);\n this.domains = new Domains(this.raw);\n this.campaigns = new Campaigns(this.raw);\n this.templates = new Templates(this.raw);\n this.webhooks = new Webhooks(this.raw);\n }\n\n /**\n * Verify an incoming webhook signature.\n * Convenience static method that delegates to Webhooks.verify().\n */\n static verifyWebhook = Webhooks.verify;\n}\n\n/** @deprecated Use `new NilovonConnect(config)` instead. */\nexport type ConnectConfig = NilovonConnectConfig;\n\n/** @deprecated Use `new NilovonConnect(config)` instead. */\nexport type ConnectClient = AppRouterClient;\n\n/** @deprecated Use `new NilovonConnect(config)` instead. */\nexport function createClient(config: NilovonConnectConfig): AppRouterClient {\n const client = new NilovonConnect(config);\n return client.raw;\n}\n","import type { AppRouterClient } from \"@connect/api/routers/index\";\n\nimport type { SendEmailParams } from \"../types\";\n\n/** Email sending and management resource. */\nexport class Emails {\n constructor(private client: AppRouterClient) {}\n\n /** Send a single email. Returns the created message. */\n async send(params: SendEmailParams) {\n return this.client.message.send({\n channelType: \"email\",\n to: params.to,\n from: params.from,\n subject: params.subject,\n body: params.html ?? params.text ?? \"\",\n emailDomainId: params.emailDomainId,\n smtpConnectionId: params.smtpConnectionId,\n });\n }\n\n /** Get a message by ID. */\n async get(id: string) {\n return this.client.message.get({ id });\n }\n\n /** List messages with pagination. */\n async list(params?: { limit?: number; offset?: number; status?: string; channelType?: string }) {\n return this.client.message.list({\n limit: params?.limit ?? 20,\n offset: params?.offset ?? 0,\n status: params?.status as \"queued\" | undefined,\n channelType: params?.channelType as \"email\" | undefined,\n });\n }\n}\n","import type { AppRouterClient } from \"@connect/api/routers/index\";\n\nimport type { ContactParams } from \"../types\";\n\n/** Contact management resource. */\nexport class Contacts {\n constructor(private client: AppRouterClient) {}\n\n /** Create a new contact. */\n async create(params: ContactParams) {\n return this.client.contact.create(params);\n }\n\n /** Get a contact by ID. */\n async get(id: string) {\n return this.client.contact.get({ id });\n }\n\n /** List contacts with pagination. */\n async list(params?: { limit?: number; offset?: number; query?: string }) {\n return this.client.contact.list({\n limit: params?.limit ?? 20,\n offset: params?.offset ?? 0,\n query: params?.query,\n });\n }\n\n /** Update a contact. */\n async update(id: string, params: Partial<ContactParams>) {\n return this.client.contact.update({ id, ...params });\n }\n\n /** Delete a contact. */\n async delete(id: string) {\n return this.client.contact.delete({ id });\n }\n}\n","import type { AppRouterClient } from \"@connect/api/routers/index\";\n\n/** Email domain management resource. */\nexport class Domains {\n constructor(private client: AppRouterClient) {}\n\n /** List all email domains. */\n async list() {\n return this.client.emailDomain.list({});\n }\n\n /** Get a domain by ID. */\n async get(id: string) {\n return this.client.emailDomain.get({ id });\n }\n\n /** Add a new email domain. */\n async create(domain: string, region = \"us-east-2\") {\n return this.client.emailDomain.add({ domain, region });\n }\n\n /** Verify a domain's DNS records. */\n async verify(id: string) {\n return this.client.emailDomain.verify({ id });\n }\n\n /** Delete an email domain. */\n async delete(id: string) {\n return this.client.emailDomain.delete({ id });\n }\n}\n","import type { AppRouterClient } from \"@connect/api/routers/index\";\n\nimport type { CreateCampaignParams, UpdateCampaignParams } from \"../types\";\n\n/** Campaign management resource. */\nexport class Campaigns {\n constructor(private client: AppRouterClient) {}\n\n /** Create a draft campaign. */\n async create(params: CreateCampaignParams) {\n return this.client.campaign.create(params);\n }\n\n /** Get a campaign by ID. */\n async get(id: string) {\n return this.client.campaign.get({ id });\n }\n\n /** List campaigns with optional status filter. */\n async list(params?: { limit?: number; offset?: number; status?: string }) {\n return this.client.campaign.list({\n limit: params?.limit ?? 20,\n offset: params?.offset ?? 0,\n status: params?.status as \"draft\" | undefined,\n });\n }\n\n /** Update a draft or scheduled campaign. */\n async update(params: UpdateCampaignParams) {\n return this.client.campaign.update(params);\n }\n\n /** Delete a campaign. */\n async delete(id: string) {\n return this.client.campaign.delete({ id });\n }\n\n /** Schedule or send a campaign immediately. */\n async schedule(id: string, scheduledAt?: string) {\n return this.client.campaign.schedule({ id, scheduledAt });\n }\n\n /** Pause a running campaign. */\n async pause(id: string) {\n return this.client.campaign.pause({ id });\n }\n\n /** Resume a paused campaign. */\n async resume(id: string) {\n return this.client.campaign.resume({ id });\n }\n\n /** Duplicate a campaign as a new draft. */\n async duplicate(id: string) {\n return this.client.campaign.duplicate({ id });\n }\n}\n","import type { AppRouterClient } from \"@connect/api/routers/index\";\n\n/** Template management resource. */\nexport class Templates {\n constructor(private client: AppRouterClient) {}\n\n /** Create a template. */\n async create(params: {\n name: string;\n channelType: \"email\" | \"sms\";\n body: string;\n subject?: string;\n variables?: Record<string, unknown>;\n isActive?: boolean;\n }) {\n return this.client.template.create(params);\n }\n\n /** Get a template by ID. */\n async get(id: string) {\n return this.client.template.get({ id });\n }\n\n /** List templates with optional filters. */\n async list(params?: {\n limit?: number;\n offset?: number;\n channelType?: \"email\" | \"sms\";\n isActive?: boolean;\n }) {\n return this.client.template.list({\n limit: params?.limit ?? 20,\n offset: params?.offset ?? 0,\n channelType: params?.channelType,\n isActive: params?.isActive,\n });\n }\n\n /** Update a template. */\n async update(\n id: string,\n params: {\n name?: string;\n subject?: string;\n body?: string;\n variables?: Record<string, unknown>;\n isActive?: boolean;\n },\n ) {\n return this.client.template.update({ id, ...params });\n }\n\n /** Delete (deactivate) a template. */\n async delete(id: string) {\n return this.client.template.delete({ id });\n }\n}\n","import type { AppRouterClient } from \"@connect/api/routers/index\";\n\n/** Webhook management and verification resource. */\nexport class Webhooks {\n constructor(private client: AppRouterClient) {}\n\n /** Create a webhook. */\n async create(params: {\n url: string;\n secret: string;\n events: string[];\n description?: string;\n isActive?: boolean;\n }) {\n return this.client.webhook.create(params);\n }\n\n /** Get a webhook by ID. */\n async get(id: string) {\n return this.client.webhook.get({ id });\n }\n\n /** List webhooks. */\n async list(params?: { limit?: number; offset?: number }) {\n return this.client.webhook.list({\n limit: params?.limit ?? 20,\n offset: params?.offset ?? 0,\n });\n }\n\n /** Update a webhook. */\n async update(\n id: string,\n params: {\n url?: string;\n secret?: string;\n events?: string[];\n isActive?: boolean;\n description?: string;\n },\n ) {\n return this.client.webhook.update({ id, ...params });\n }\n\n /** Delete a webhook. */\n async delete(id: string) {\n return this.client.webhook.delete({ id });\n }\n\n /**\n * Verify an incoming webhook signature.\n * Returns true if the signature matches.\n */\n static async verify(\n secret: string,\n body: string,\n signature: string,\n ): Promise<boolean> {\n const encoder = new TextEncoder();\n const key = await crypto.subtle.importKey(\n \"raw\",\n encoder.encode(secret),\n { name: \"HMAC\", hash: \"SHA-256\" },\n false,\n [\"sign\"],\n );\n const sig = await crypto.subtle.sign(\"HMAC\", key, encoder.encode(body));\n const bytes = new Uint8Array(sig);\n let hex = \"\";\n for (const b of bytes) hex += b.toString(16).padStart(2, \"0\");\n return signature === `sha256=${hex}`;\n }\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nilovonjs/connect",
3
- "version": "0.1.1",
3
+ "version": "0.1.4",
4
4
  "description": "TypeScript SDK for the Nilovon Connect API",
5
5
  "files": [
6
6
  "dist"
@@ -19,16 +19,18 @@
19
19
  "publishConfig": {
20
20
  "access": "public"
21
21
  },
22
- "dependencies": {
23
- "@orpc/client": "^1.12.2"
24
- },
25
- "devDependencies": {
26
- "tsup": "^8.5.0",
27
- "typescript": "^5"
28
- },
29
22
  "scripts": {
30
23
  "build": "tsup",
31
24
  "dev": "tsup --watch",
25
+ "push": "npm --workspaces=false publish",
26
+ "patch":"npm --workspaces=false version patch",
32
27
  "check-types": "tsc --noEmit"
28
+ },
29
+ "dependencies": {
30
+ "@orpc/client": "^1.13.5"
31
+ },
32
+ "devDependencies": {
33
+ "tsup": "^8.5.0",
34
+ "typescript": "^5.9.3"
33
35
  }
34
- }
36
+ }