@helmdesk/sdk 0.6.1 → 0.8.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 CHANGED
@@ -71,10 +71,14 @@ const updated = await helmdesk.tickets.update("ticket_id", {
71
71
  status: "resolved",
72
72
  priority: "low",
73
73
  category: "howto",
74
+ assignedTo: "user-uuid", // must be an active account member; null unassigns
74
75
  });
75
76
  ```
76
77
 
77
- **Add a message to a ticket**
78
+ **Reply to a ticket**
79
+
80
+ The reply is recorded as a staff message, emailed to the customer, and a
81
+ ticket in status `new` transitions to `open`.
78
82
 
79
83
  ```ts
80
84
  const message = await helmdesk.tickets.addMessage("ticket_id", {
@@ -140,9 +144,19 @@ const schema = await helmdesk.emails.getTemplateSchema("welcome");
140
144
  // schema.variables: [{ name: 'activationUrl', type: 'string', required: true }]
141
145
  ```
142
146
 
147
+ **List available templates**
148
+
149
+ Discover valid `templateKey` values — the project's own templates plus your
150
+ account's shared templates (already `@account/`-prefixed).
151
+
152
+ ```ts
153
+ const { templates, accountTemplates } = await helmdesk.emails.templates.list();
154
+ // templates[0] -> { key: 'welcome', subject: 'Welcome!', variables: ['activationUrl'] }
155
+ ```
156
+
143
157
  ### Articles
144
158
 
145
- Search your published knowledge base articles.
159
+ Search, read, create, and update knowledge base articles.
146
160
 
147
161
  ```ts
148
162
  const { articles, total } = await helmdesk.articles.search({
@@ -151,6 +165,44 @@ const { articles, total } = await helmdesk.articles.search({
151
165
  page: 1,
152
166
  limit: 10,
153
167
  });
168
+
169
+ // Read one article (including its markdown body)
170
+ const article = await helmdesk.articles.get("article-uuid");
171
+
172
+ // Revise it, or publish a draft
173
+ await helmdesk.articles.update("article-uuid", {
174
+ body: "Revised steps...",
175
+ status: "published",
176
+ });
177
+
178
+ // Discover valid categoryId values
179
+ const { categories } = await helmdesk.articles.categories();
180
+ ```
181
+
182
+ ### Team
183
+
184
+ List the active members of your account — the valid `assignedTo` targets for
185
+ ticket assignment. Requires the `tickets:read` scope.
186
+
187
+ ```ts
188
+ const { members } = await helmdesk.team.list();
189
+ // members[0] -> { userId, name, email, role }
190
+ await helmdesk.tickets.update("ticket-uuid", { assignedTo: members[0].userId });
191
+ ```
192
+
193
+ ### Webhooks
194
+
195
+ Manage webhook endpoints programmatically. Requires the `webhooks:manage` scope.
196
+
197
+ ```ts
198
+ // The signing secret is returned ONCE, on create — store it immediately.
199
+ const created = await helmdesk.webhooks.create({
200
+ url: "https://example.com/hooks/helmdesk",
201
+ events: ["ticket.created", "message.received"],
202
+ });
203
+
204
+ const { webhooks } = await helmdesk.webhooks.list(); // secrets never included
205
+ await helmdesk.webhooks.delete(created.id);
154
206
  ```
155
207
 
156
208
  ### Logs
@@ -177,6 +229,63 @@ const { issues } = await helmdesk.logs.issues({ status: "open" });
177
229
 
178
230
  Retention is plan-based (Free 3 days, Pro 7, Team 30, Business 90). Sandbox keys write quota-exempt sandbox events retained for 3 days.
179
231
 
232
+ ### Feedback
233
+
234
+ Ask customers for feedback and manage the resulting conversations. Requires the `feedback:read` / `feedback:write` scopes.
235
+
236
+ **Request feedback ("the tickle")**
237
+
238
+ Creates the request and sends the built-in branded email with a respond link. With an `sk_sandbox_` key the email is captured instead of delivered.
239
+
240
+ ```ts
241
+ const request = await helmdesk.feedback.requests.create({
242
+ title: "How was onboarding?",
243
+ message: "You finished setup last week — how did it go?",
244
+ customerEmail: "jane@example.com",
245
+ customerName: "Jane",
246
+ });
247
+ // request.status -> 'sent' (later 'opened' / 'responded')
248
+
249
+ const { requests } = await helmdesk.feedback.requests.list({ status: "sent,opened" });
250
+ const one = await helmdesk.feedback.requests.get(request.id);
251
+ ```
252
+
253
+ **Work with conversations**
254
+
255
+ `status`, `rating`, and `source` filters accept comma-separated multi values.
256
+
257
+ ```ts
258
+ const { conversations, total } = await helmdesk.feedback.conversations.list({
259
+ status: "open",
260
+ rating: "1,2", // unhappy customers first
261
+ source: "widget,api",
262
+ page: 1,
263
+ limit: 25,
264
+ });
265
+
266
+ // Full thread, including message attachments
267
+ const detail = await helmdesk.feedback.conversations.get(conversations[0].id);
268
+
269
+ // Reply as staff — recorded with senderType 'api' and emailed to the customer
270
+ await helmdesk.feedback.conversations.reply(detail.id, "Thanks — fix ships this week.");
271
+
272
+ // Close it, or adjust the rating (null clears)
273
+ await helmdesk.feedback.conversations.update(detail.id, { status: "closed" });
274
+ ```
275
+
276
+ **Open a conversation programmatically**
277
+
278
+ The `body` becomes the first customer message; the result includes its `messageId`.
279
+
280
+ ```ts
281
+ const conversation = await helmdesk.feedback.conversations.create({
282
+ title: "Love the new editor",
283
+ body: "The markdown editor is great, but code blocks lose highlighting.",
284
+ customerEmail: "jane@example.com",
285
+ rating: 4, // optional, 1–5
286
+ });
287
+ ```
288
+
180
289
  ## Error Handling
181
290
 
182
291
  All API errors throw a `HelmdeskError` with structured fields for programmatic handling.
package/dist/client.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import type { Ticket, TicketDetail, TicketListResult, TicketListFilters, TicketTagsResult, CreateTicketInput, UpdateTicketInput, CreateMessageInput, TicketMessage } from './types/tickets.js';
2
- import type { SendEmailInput, SendEmailResult, SendEmailBatchInput, SendEmailBatchResult, PreviewEmailInput, PreviewEmailResult, TemplateSchema, ImportResult, ImportOptions } from './types/emails.js';
3
- import type { ArticleSearchResult, ArticleSearchFilters, Article, CreateArticleInput } from './types/articles.js';
2
+ import type { SendEmailInput, SendEmailResult, SendEmailBatchInput, SendEmailBatchResult, PreviewEmailInput, PreviewEmailResult, TemplateSchema, TemplateListResult, ImportResult, ImportOptions } from './types/emails.js';
3
+ import type { ArticleSearchResult, ArticleSearchFilters, Article, ArticleDetail, CreateArticleInput, UpdateArticleInput, ArticleCategoryListResult } from './types/articles.js';
4
+ import type { TeamMemberListResult } from './types/team.js';
5
+ import type { WebhookListResult, CreateWebhookInput, CreateWebhookResult, DeleteWebhookResult } from './types/webhooks.js';
4
6
  import type { LogEventInput, WriteLogsResult, LogListFilters, LogListResult, LogIssueListFilters, LogIssueListResult } from './types/logs.js';
7
+ import type { FeedbackConversation, FeedbackConversationDetail, FeedbackConversationListFilters, FeedbackConversationListResult, CreateFeedbackConversationInput, CreateFeedbackConversationResult, UpdateFeedbackConversationInput, FeedbackReplyResult, FeedbackRequest, FeedbackRequestListFilters, FeedbackRequestListResult, CreateFeedbackRequestInput } from './types/feedback.js';
5
8
  export interface HelmdeskClientOptions {
6
9
  apiKey: string;
7
10
  baseUrl?: string;
@@ -13,6 +16,9 @@ export declare class HelmdeskClient {
13
16
  readonly emails: EmailsResource;
14
17
  readonly articles: ArticlesResource;
15
18
  readonly logs: LogsResource;
19
+ readonly team: TeamResource;
20
+ readonly webhooks: WebhooksResource;
21
+ readonly feedback: FeedbackResource;
16
22
  constructor(options: HelmdeskClientOptions);
17
23
  /** Make a JSON API request. Used internally by resource classes. */
18
24
  request<T>(method: string, path: string, options?: {
@@ -56,9 +62,39 @@ declare class EmailsResource {
56
62
  /** Get the variable schema for a template. */
57
63
  getTemplateSchema(templateKey: string): Promise<TemplateSchema>;
58
64
  }
65
+ declare class TeamResource {
66
+ private client;
67
+ constructor(client: HelmdeskClient);
68
+ /**
69
+ * List the active members of the project's account. Use the returned
70
+ * `userId`s as valid `assignedTo` values when updating tickets.
71
+ * Requires the `tickets:read` scope.
72
+ */
73
+ list(): Promise<TeamMemberListResult>;
74
+ }
75
+ declare class WebhooksResource {
76
+ private client;
77
+ constructor(client: HelmdeskClient);
78
+ /** List webhook endpoints for this environment. Secrets are never included. */
79
+ list(): Promise<WebhookListResult>;
80
+ /**
81
+ * Create a webhook endpoint. The signing secret is only returned here —
82
+ * store it immediately. Requires the `webhooks:manage` scope.
83
+ */
84
+ create(input: CreateWebhookInput): Promise<CreateWebhookResult>;
85
+ /** Delete a webhook endpoint. */
86
+ delete(webhookId: string): Promise<DeleteWebhookResult>;
87
+ }
59
88
  declare class TemplatesResource {
60
89
  private client;
61
90
  constructor(client: HelmdeskClient);
91
+ /**
92
+ * List the project's email templates for this environment, plus the
93
+ * account's shared templates (already `@account/`-prefixed). This is how
94
+ * callers discover valid `templateKey` values for send/preview.
95
+ * Requires the `emails:send` scope.
96
+ */
97
+ list(): Promise<TemplateListResult>;
62
98
  /**
63
99
  * Import a .hbs file as a template, layout, or partial.
64
100
  *
@@ -101,6 +137,67 @@ declare class ArticlesResource {
101
137
  * is auto-generated from the title when omitted. Defaults to `draft` status.
102
138
  */
103
139
  create(input: CreateArticleInput): Promise<Article>;
140
+ /** Get a single article (including its body) by id. Requires `articles:read`. */
141
+ get(articleId: string): Promise<ArticleDetail>;
142
+ /**
143
+ * Update an article's content, category, or status. Publishing for the first
144
+ * time stamps `publishedAt` and indexes the article for search.
145
+ * Requires the `articles:write` scope.
146
+ */
147
+ update(articleId: string, input: UpdateArticleInput): Promise<Article>;
148
+ /** List the project's article categories (valid `categoryId` values). */
149
+ categories(): Promise<ArticleCategoryListResult>;
150
+ }
151
+ declare class FeedbackResource {
152
+ readonly conversations: FeedbackConversationsResource;
153
+ readonly requests: FeedbackRequestsResource;
154
+ constructor(client: HelmdeskClient);
155
+ }
156
+ declare class FeedbackConversationsResource {
157
+ private client;
158
+ constructor(client: HelmdeskClient);
159
+ /**
160
+ * List feedback conversations, newest first. `status`, `rating`, and
161
+ * `source` accept comma-separated multi values. Requires the
162
+ * `feedback:read` scope.
163
+ */
164
+ list(filters?: FeedbackConversationListFilters): Promise<FeedbackConversationListResult>;
165
+ /**
166
+ * Open a feedback conversation on behalf of a customer (source `api`).
167
+ * The `body` becomes the first customer message; the result includes its
168
+ * `messageId`. Requires the `feedback:write` scope.
169
+ */
170
+ create(input: CreateFeedbackConversationInput): Promise<CreateFeedbackConversationResult>;
171
+ /** Get one conversation with its full message thread (incl. attachments). Requires `feedback:read`. */
172
+ get(conversationId: string): Promise<FeedbackConversationDetail>;
173
+ /**
174
+ * Update a conversation's status or rating. Pass `rating: null` /
175
+ * `ratingComment: null` to clear them. Requires the `feedback:write` scope.
176
+ */
177
+ update(conversationId: string, input: UpdateFeedbackConversationInput): Promise<FeedbackConversation>;
178
+ /**
179
+ * Post a staff reply to a conversation. The reply is recorded with sender
180
+ * type `api` and emailed to the customer with their thread link.
181
+ * Requires the `feedback:write` scope.
182
+ */
183
+ reply(conversationId: string, body: string): Promise<FeedbackReplyResult>;
184
+ }
185
+ declare class FeedbackRequestsResource {
186
+ private client;
187
+ constructor(client: HelmdeskClient);
188
+ /**
189
+ * List feedback requests, newest first. `status` accepts a comma-separated
190
+ * list (`sent`, `opened`, `responded`). Requires the `feedback:read` scope.
191
+ */
192
+ list(filters?: FeedbackRequestListFilters): Promise<FeedbackRequestListResult>;
193
+ /**
194
+ * Create a feedback request and send the built-in branded email asking the
195
+ * customer to respond. With an `sk_sandbox_` key the email is captured, not
196
+ * delivered. Requires the `feedback:write` scope.
197
+ */
198
+ create(input: CreateFeedbackRequestInput): Promise<FeedbackRequest>;
199
+ /** Get a single feedback request by id. Requires the `feedback:read` scope. */
200
+ get(requestId: string): Promise<FeedbackRequest>;
104
201
  }
105
202
  export {};
106
203
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACd,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,qBAAqB,CAAA;AAC5B,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAEhC,SAAgB,OAAO,EAAE,eAAe,CAAA;IACxC,SAAgB,MAAM,EAAE,cAAc,CAAA;IACtC,SAAgB,QAAQ,EAAE,gBAAgB,CAAA;IAC1C,SAAgB,IAAI,EAAE,YAAY,CAAA;IAClC,SAAgB,IAAI,EAAE,YAAY,CAAA;IAClC,SAAgB,QAAQ,EAAE,gBAAgB,CAAA;IAC1C,SAAgB,QAAQ,EAAE,gBAAgB,CAAA;gBAC9B,OAAO,EAAE,qBAAqB;IAa1C,oEAAoE;IAC9D,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QACvD,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;QAC3C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACjC,GAAG,OAAO,CAAC,CAAC,CAAC;IAoCd,6DAA6D;IACvD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;CAqB9D;AAED,cAAM,eAAe;IACP,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAEpC,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAe5D,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI5C,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIjD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAIzE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIrF,iEAAiE;IAC3D,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAItE,uEAAuE;IACjE,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAK1E;AAED,cAAM,cAAc;IAGN,OAAO,CAAC,MAAM;IAF1B,SAAgB,SAAS,EAAE,iBAAiB,CAAA;gBAExB,MAAM,EAAE,cAAc;IAI1C,kGAAkG;IAC5F,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAgBlG;;;;;OAKG;IACG,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAM1E,oFAAoF;IAC9E,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIpE,8CAA8C;IACxC,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CAGtE;AAED,cAAM,YAAY;IACJ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE1C;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC;CAG5C;AAED,cAAM,gBAAgB;IACR,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE1C,+EAA+E;IACzE,IAAI,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAIxC;;;OAGG;IACG,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAIrE,iCAAiC;IAC3B,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAG9D;AAED,cAAM,iBAAiB;IACT,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE1C;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAIzC;;;;;;;;;;;;;;;OAeG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC;CAoBzB;AAED,cAAM,YAAY;IACJ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE1C;;;;;OAKG;IACG,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAI9D,yEAAyE;IACnE,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAe5D,2FAA2F;IACrF,MAAM,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAWzE;AAED,cAAM,gBAAgB;IACR,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAEpC,MAAM,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAW1E;;;OAGG;IACG,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzD,iFAAiF;IAC3E,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIpD;;;;OAIG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5E,yEAAyE;IACnE,UAAU,IAAI,OAAO,CAAC,yBAAyB,CAAC;CAGvD;AAED,cAAM,gBAAgB;IACpB,SAAgB,aAAa,EAAE,6BAA6B,CAAA;IAC5D,SAAgB,QAAQ,EAAE,wBAAwB,CAAA;gBAEtC,MAAM,EAAE,cAAc;CAInC;AAED,cAAM,6BAA6B;IACrB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE1C;;;;OAIG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,+BAA+B,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAgB9F;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,+BAA+B,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAM/F,uGAAuG;IACjG,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAOtE;;;OAGG;IACG,MAAM,CACV,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,oBAAoB,CAAC;IAQhC;;;;OAIG;IACG,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAOhF;AAED,cAAM,wBAAwB;IAChB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE1C;;;OAGG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAcpF;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,eAAe,CAAC;IAIzE,+EAA+E;IACzE,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAGvD"}
package/dist/client.js CHANGED
@@ -6,6 +6,9 @@ export class HelmdeskClient {
6
6
  emails;
7
7
  articles;
8
8
  logs;
9
+ team;
10
+ webhooks;
11
+ feedback;
9
12
  constructor(options) {
10
13
  if (!options.apiKey)
11
14
  throw new Error('apiKey is required');
@@ -15,6 +18,9 @@ export class HelmdeskClient {
15
18
  this.emails = new EmailsResource(this);
16
19
  this.articles = new ArticlesResource(this);
17
20
  this.logs = new LogsResource(this);
21
+ this.team = new TeamResource(this);
22
+ this.webhooks = new WebhooksResource(this);
23
+ this.feedback = new FeedbackResource(this);
18
24
  }
19
25
  /** Make a JSON API request. Used internally by resource classes. */
20
26
  async request(method, path, options) {
@@ -81,6 +87,7 @@ class TicketsResource {
81
87
  search: filters?.search,
82
88
  assignee: filters?.assignee,
83
89
  category: filters?.category,
90
+ number: filters?.number?.toString(),
84
91
  page: filters?.page?.toString(),
85
92
  limit: filters?.limit?.toString(),
86
93
  },
@@ -152,11 +159,55 @@ class EmailsResource {
152
159
  return this.client.request('GET', `/email-templates/${templateKey}/schema`);
153
160
  }
154
161
  }
162
+ class TeamResource {
163
+ client;
164
+ constructor(client) {
165
+ this.client = client;
166
+ }
167
+ /**
168
+ * List the active members of the project's account. Use the returned
169
+ * `userId`s as valid `assignedTo` values when updating tickets.
170
+ * Requires the `tickets:read` scope.
171
+ */
172
+ async list() {
173
+ return this.client.request('GET', '/members');
174
+ }
175
+ }
176
+ class WebhooksResource {
177
+ client;
178
+ constructor(client) {
179
+ this.client = client;
180
+ }
181
+ /** List webhook endpoints for this environment. Secrets are never included. */
182
+ async list() {
183
+ return this.client.request('GET', '/webhooks');
184
+ }
185
+ /**
186
+ * Create a webhook endpoint. The signing secret is only returned here —
187
+ * store it immediately. Requires the `webhooks:manage` scope.
188
+ */
189
+ async create(input) {
190
+ return this.client.request('POST', '/webhooks', { body: input });
191
+ }
192
+ /** Delete a webhook endpoint. */
193
+ async delete(webhookId) {
194
+ return this.client.request('DELETE', `/webhooks/${webhookId}`);
195
+ }
196
+ }
155
197
  class TemplatesResource {
156
198
  client;
157
199
  constructor(client) {
158
200
  this.client = client;
159
201
  }
202
+ /**
203
+ * List the project's email templates for this environment, plus the
204
+ * account's shared templates (already `@account/`-prefixed). This is how
205
+ * callers discover valid `templateKey` values for send/preview.
206
+ * Requires the `emails:send` scope.
207
+ */
208
+ async list() {
209
+ return this.client.request('GET', '/email-templates');
210
+ }
160
211
  /**
161
212
  * Import a .hbs file as a template, layout, or partial.
162
213
  *
@@ -259,5 +310,119 @@ class ArticlesResource {
259
310
  async create(input) {
260
311
  return this.client.request('POST', '/articles', { body: input });
261
312
  }
313
+ /** Get a single article (including its body) by id. Requires `articles:read`. */
314
+ async get(articleId) {
315
+ return this.client.request('GET', `/articles/${articleId}`);
316
+ }
317
+ /**
318
+ * Update an article's content, category, or status. Publishing for the first
319
+ * time stamps `publishedAt` and indexes the article for search.
320
+ * Requires the `articles:write` scope.
321
+ */
322
+ async update(articleId, input) {
323
+ return this.client.request('PATCH', `/articles/${articleId}`, { body: input });
324
+ }
325
+ /** List the project's article categories (valid `categoryId` values). */
326
+ async categories() {
327
+ return this.client.request('GET', '/article-categories');
328
+ }
329
+ }
330
+ class FeedbackResource {
331
+ conversations;
332
+ requests;
333
+ constructor(client) {
334
+ this.conversations = new FeedbackConversationsResource(client);
335
+ this.requests = new FeedbackRequestsResource(client);
336
+ }
337
+ }
338
+ class FeedbackConversationsResource {
339
+ client;
340
+ constructor(client) {
341
+ this.client = client;
342
+ }
343
+ /**
344
+ * List feedback conversations, newest first. `status`, `rating`, and
345
+ * `source` accept comma-separated multi values. Requires the
346
+ * `feedback:read` scope.
347
+ */
348
+ async list(filters) {
349
+ return this.client.request('GET', '/feedback/conversations', {
350
+ params: {
351
+ status: filters?.status,
352
+ rating: filters?.rating,
353
+ source: filters?.source,
354
+ customerEmail: filters?.customerEmail,
355
+ search: filters?.search,
356
+ dateFrom: filters?.dateFrom,
357
+ dateTo: filters?.dateTo,
358
+ page: filters?.page?.toString(),
359
+ limit: filters?.limit?.toString(),
360
+ },
361
+ });
362
+ }
363
+ /**
364
+ * Open a feedback conversation on behalf of a customer (source `api`).
365
+ * The `body` becomes the first customer message; the result includes its
366
+ * `messageId`. Requires the `feedback:write` scope.
367
+ */
368
+ async create(input) {
369
+ return this.client.request('POST', '/feedback/conversations', {
370
+ body: input,
371
+ });
372
+ }
373
+ /** Get one conversation with its full message thread (incl. attachments). Requires `feedback:read`. */
374
+ async get(conversationId) {
375
+ return this.client.request('GET', `/feedback/conversations/${conversationId}`);
376
+ }
377
+ /**
378
+ * Update a conversation's status or rating. Pass `rating: null` /
379
+ * `ratingComment: null` to clear them. Requires the `feedback:write` scope.
380
+ */
381
+ async update(conversationId, input) {
382
+ return this.client.request('PATCH', `/feedback/conversations/${conversationId}`, { body: input });
383
+ }
384
+ /**
385
+ * Post a staff reply to a conversation. The reply is recorded with sender
386
+ * type `api` and emailed to the customer with their thread link.
387
+ * Requires the `feedback:write` scope.
388
+ */
389
+ async reply(conversationId, body) {
390
+ return this.client.request('POST', `/feedback/conversations/${conversationId}/messages`, { body: { body } });
391
+ }
392
+ }
393
+ class FeedbackRequestsResource {
394
+ client;
395
+ constructor(client) {
396
+ this.client = client;
397
+ }
398
+ /**
399
+ * List feedback requests, newest first. `status` accepts a comma-separated
400
+ * list (`sent`, `opened`, `responded`). Requires the `feedback:read` scope.
401
+ */
402
+ async list(filters) {
403
+ return this.client.request('GET', '/feedback/requests', {
404
+ params: {
405
+ status: filters?.status,
406
+ customerEmail: filters?.customerEmail,
407
+ search: filters?.search,
408
+ dateFrom: filters?.dateFrom,
409
+ dateTo: filters?.dateTo,
410
+ page: filters?.page?.toString(),
411
+ limit: filters?.limit?.toString(),
412
+ },
413
+ });
414
+ }
415
+ /**
416
+ * Create a feedback request and send the built-in branded email asking the
417
+ * customer to respond. With an `sk_sandbox_` key the email is captured, not
418
+ * delivered. Requires the `feedback:write` scope.
419
+ */
420
+ async create(input) {
421
+ return this.client.request('POST', '/feedback/requests', { body: input });
422
+ }
423
+ /** Get a single feedback request by id. Requires the `feedback:read` scope. */
424
+ async get(requestId) {
425
+ return this.client.request('GET', `/feedback/requests/${requestId}`);
426
+ }
262
427
  }
263
428
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,11 @@
1
1
  export { HelmdeskClient } from './client.js';
2
2
  export type { HelmdeskClientOptions } from './client.js';
3
3
  export type { Ticket, TicketDetail, TicketMessage, TicketListResult, TicketListFilters, TicketTagsResult, CreateTicketInput, UpdateTicketInput, CreateMessageInput, } from './types/tickets.js';
4
- export type { SendEmailInput, SendEmailResult, BatchEmailInput, BatchEmailResult, SendEmailBatchInput, SendEmailBatchResult, PreviewEmailInput, PreviewEmailResult, TemplateSchema, TemplateVariable, ImportOptions, ImportResult, } from './types/emails.js';
5
- export type { ArticleSearchResult, ArticleSearchFilters, Article, CreateArticleInput, } from './types/articles.js';
4
+ export type { SendEmailInput, SendEmailResult, BatchEmailInput, BatchEmailResult, SendEmailBatchInput, SendEmailBatchResult, PreviewEmailInput, PreviewEmailResult, TemplateSchema, TemplateVariable, TemplateListItem, TemplateListResult, ImportOptions, ImportResult, } from './types/emails.js';
5
+ export type { ArticleSearchResult, ArticleSearchFilters, Article, ArticleDetail, CreateArticleInput, UpdateArticleInput, ArticleCategory, ArticleCategoryListResult, } from './types/articles.js';
6
+ export type { TeamMember, TeamMemberListResult } from './types/team.js';
7
+ export type { WebhookEventType, Webhook, WebhookListResult, CreateWebhookInput, CreateWebhookResult, DeleteWebhookResult, } from './types/webhooks.js';
6
8
  export type { LogLevel, LogIssueStatus, LogEventInput, WriteLogsResult, LogEvent, LogListFilters, LogListResult, LogIssue, LogIssueListFilters, LogIssueListResult, } from './types/logs.js';
9
+ export type { FeedbackConversationStatus, FeedbackConversationSource, FeedbackRequestStatus, FeedbackSenderType, FeedbackConversation, FeedbackConversationDetail, FeedbackConversationListFilters, FeedbackConversationListResult, CreateFeedbackConversationInput, CreateFeedbackConversationResult, UpdateFeedbackConversationInput, FeedbackAttachment, FeedbackMessage, FeedbackReplyResult, FeedbackRequest, FeedbackRequestListFilters, FeedbackRequestListResult, CreateFeedbackRequestInput, } from './types/feedback.js';
7
10
  export type { HelmdeskError } from './types/errors.js';
8
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,YAAY,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,OAAO,EACP,kBAAkB,GACnB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,YAAY,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,yBAAyB,GAC1B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACvE,YAAY,EACV,gBAAgB,EAChB,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,aAAa,EACb,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
@@ -36,4 +36,37 @@ export interface CreateArticleInput {
36
36
  /** Defaults to 'draft'. Published articles are indexed for semantic search. */
37
37
  status?: 'draft' | 'published';
38
38
  }
39
+ export interface ArticleDetail {
40
+ id: string;
41
+ title: string;
42
+ slug: string;
43
+ body: string;
44
+ excerpt?: string | null;
45
+ status: 'draft' | 'published';
46
+ categoryId?: string | null;
47
+ helpfulYes: number;
48
+ helpfulNo: number;
49
+ publishedAt?: string | null;
50
+ createdAt: string;
51
+ updatedAt: string;
52
+ }
53
+ export interface UpdateArticleInput {
54
+ title?: string;
55
+ slug?: string;
56
+ body?: string;
57
+ excerpt?: string;
58
+ categoryId?: string | null;
59
+ /** Publishing for the first time stamps `publishedAt` and indexes the article. */
60
+ status?: 'draft' | 'published';
61
+ }
62
+ export interface ArticleCategory {
63
+ id: string;
64
+ name: string;
65
+ slug: string;
66
+ description?: string | null;
67
+ sortOrder: number;
68
+ }
69
+ export interface ArticleCategoryListResult {
70
+ categories: ArticleCategory[];
71
+ }
39
72
  //# sourceMappingURL=articles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"articles.d.ts","sourceRoot":"","sources":["../../src/types/articles.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,WAAW,EAAE,MAAM,CAAA;KACpB,EAAE,CAAA;IACH,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,GAAG,WAAW,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;CAC/B"}
1
+ {"version":3,"file":"articles.d.ts","sourceRoot":"","sources":["../../src/types/articles.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC5B,WAAW,EAAE,MAAM,CAAA;KACpB,EAAE,CAAA;IACH,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,GAAG,WAAW,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,MAAM,EAAE,OAAO,GAAG,WAAW,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,kFAAkF;IAClF,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,CAAA;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B"}
@@ -76,6 +76,21 @@ export interface TemplateSchema {
76
76
  description?: string;
77
77
  variables: TemplateVariable[];
78
78
  }
79
+ export interface TemplateListItem {
80
+ key: string;
81
+ name: string;
82
+ description?: string | null;
83
+ subject?: string | null;
84
+ /** Variables detected in the current version's body. */
85
+ variables?: string[] | null;
86
+ updatedAt: string;
87
+ }
88
+ export interface TemplateListResult {
89
+ /** The project's own templates for this environment. */
90
+ templates: TemplateListItem[];
91
+ /** Account-shared templates; keys are already `@account/`-prefixed and usable with send/preview. */
92
+ accountTemplates: Omit<TemplateListItem, 'variables'>[];
93
+ }
79
94
  export interface ImportOptions {
80
95
  /** Type of HBS file: template, layout, or partial. Defaults to 'template'. */
81
96
  type?: 'template' | 'layout' | 'partial';
@@ -1 +1 @@
1
- {"version":3,"file":"emails.d.ts","sourceRoot":"","sources":["../../src/types/emails.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emails.d.ts","sourceRoot":"","sources":["../../src/types/emails.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,MAAM,EAAE,MAAM,CAAA;IAC9B,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAErC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB;CAOtD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAYD,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAgB,IAAI,EAAE,MAAM,CAAA;IAC5B,SAAgB,MAAM,EAAE,MAAM,CAAA;IAC9B,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;gBAErC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB;CAStD"}
@@ -1,9 +1,21 @@
1
+ /** Render field-level details ("tag: must be at most 50 characters") into the message. */
2
+ function formatDetails(details) {
3
+ if (!details)
4
+ return '';
5
+ const parts = Object.entries(details).map(([field, errors]) => {
6
+ const text = Array.isArray(errors) ? errors.join('; ') : String(errors);
7
+ return `${field}: ${text}`;
8
+ });
9
+ return parts.length ? ` (${parts.join(', ')})` : '';
10
+ }
1
11
  export class HelmdeskError extends Error {
2
12
  code;
3
13
  status;
4
14
  details;
5
15
  constructor(status, body) {
6
- super(body.message);
16
+ // Surface field-level details in the message so callers that only see
17
+ // `message` (MCP clients, logs) know *what* failed, not just that it did.
18
+ super(`${body.message}${formatDetails(body.details)}`);
7
19
  this.name = 'HelmdeskError';
8
20
  this.code = body.code;
9
21
  this.status = status;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtB,IAAI,CAAQ;IACZ,MAAM,CAAQ;IACd,OAAO,CAA0B;IAEjD,YAAY,MAAc,EAAE,IAAyB;QACnD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAMA,0FAA0F;AAC1F,SAAS,aAAa,CAAC,OAAiC;IACtD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE;QAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACvE,OAAO,GAAG,KAAK,KAAK,IAAI,EAAE,CAAA;IAC5B,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;AACrD,CAAC;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtB,IAAI,CAAQ;IACZ,MAAM,CAAQ;IACd,OAAO,CAA0B;IAEjD,YAAY,MAAc,EAAE,IAAyB;QACnD,sEAAsE;QACtE,0EAA0E;QAC1E,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC7B,CAAC;CACF"}
@@ -0,0 +1,126 @@
1
+ export type FeedbackConversationStatus = 'open' | 'closed';
2
+ export type FeedbackConversationSource = 'request' | 'api' | 'widget' | 'dashboard';
3
+ export type FeedbackRequestStatus = 'sent' | 'opened' | 'responded';
4
+ export type FeedbackSenderType = 'customer' | 'staff' | 'api';
5
+ export interface FeedbackConversation {
6
+ id: string;
7
+ projectId: string;
8
+ environment: string;
9
+ title: string;
10
+ customerEmail: string;
11
+ customerName: string | null;
12
+ status: FeedbackConversationStatus;
13
+ /** Customer satisfaction rating, 1–5 (null when not rated). */
14
+ rating: number | null;
15
+ ratingComment: string | null;
16
+ source: FeedbackConversationSource;
17
+ /** The feedback request that spawned this conversation, if any. */
18
+ requestId: string | null;
19
+ createdAt: string;
20
+ updatedAt: string;
21
+ closedAt: string | null;
22
+ }
23
+ export interface FeedbackAttachment {
24
+ fileName: string;
25
+ fileSize: number;
26
+ mimeType: string;
27
+ url: string;
28
+ }
29
+ export interface FeedbackMessage {
30
+ id: string;
31
+ senderType: FeedbackSenderType;
32
+ body: string;
33
+ createdAt: string;
34
+ attachments: FeedbackAttachment[];
35
+ }
36
+ export interface FeedbackConversationDetail extends FeedbackConversation {
37
+ messages: FeedbackMessage[];
38
+ }
39
+ export interface FeedbackConversationListFilters {
40
+ /** Single status or comma-separated list, e.g. 'open,closed'. */
41
+ status?: string;
42
+ /** Single rating (1–5) or comma-separated list, e.g. '1,2'. */
43
+ rating?: string;
44
+ /** Single source or comma-separated list, e.g. 'widget,api'. */
45
+ source?: string;
46
+ customerEmail?: string;
47
+ search?: string;
48
+ dateFrom?: string;
49
+ dateTo?: string;
50
+ page?: number;
51
+ limit?: number;
52
+ }
53
+ export interface FeedbackConversationListResult {
54
+ conversations: FeedbackConversation[];
55
+ total: number;
56
+ page: number;
57
+ limit: number;
58
+ }
59
+ export interface CreateFeedbackConversationInput {
60
+ title: string;
61
+ body: string;
62
+ customerEmail: string;
63
+ customerName?: string;
64
+ /** Initial rating, integer 1–5. */
65
+ rating?: number;
66
+ ratingComment?: string;
67
+ }
68
+ /** The created conversation plus the id of its first message. */
69
+ export interface CreateFeedbackConversationResult extends FeedbackConversation {
70
+ messageId: string;
71
+ }
72
+ export interface UpdateFeedbackConversationInput {
73
+ status?: FeedbackConversationStatus;
74
+ /** Integer 1–5, or null to clear the rating. */
75
+ rating?: number | null;
76
+ /** Pass null to clear the comment. */
77
+ ratingComment?: string | null;
78
+ }
79
+ export interface FeedbackReplyResult {
80
+ id: string;
81
+ conversationId: string;
82
+ senderType: FeedbackSenderType;
83
+ body: string;
84
+ createdAt: string;
85
+ }
86
+ export interface FeedbackRequest {
87
+ id: string;
88
+ projectId: string;
89
+ environment: string;
90
+ title: string;
91
+ message: string;
92
+ customerEmail: string;
93
+ customerName: string | null;
94
+ status: FeedbackRequestStatus;
95
+ /** Attachments included with the request email (null when none). */
96
+ attachments: FeedbackAttachment[] | null;
97
+ /** Dashboard user who sent it (null when created via API). */
98
+ requestedBy: string | null;
99
+ sentAt: string | null;
100
+ openedAt: string | null;
101
+ respondedAt: string | null;
102
+ createdAt: string;
103
+ }
104
+ export interface FeedbackRequestListFilters {
105
+ /** Single status or comma-separated list, e.g. 'sent,opened'. */
106
+ status?: string;
107
+ customerEmail?: string;
108
+ search?: string;
109
+ dateFrom?: string;
110
+ dateTo?: string;
111
+ page?: number;
112
+ limit?: number;
113
+ }
114
+ export interface FeedbackRequestListResult {
115
+ requests: FeedbackRequest[];
116
+ total: number;
117
+ page: number;
118
+ limit: number;
119
+ }
120
+ export interface CreateFeedbackRequestInput {
121
+ title: string;
122
+ message: string;
123
+ customerEmail: string;
124
+ customerName?: string;
125
+ }
126
+ //# sourceMappingURL=feedback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/types/feedback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/types/feedback.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ export interface TeamMember {
2
+ userId: string;
3
+ /** Display name from the member's profile, or null if not set. */
4
+ name: string | null;
5
+ email: string;
6
+ role: string;
7
+ }
8
+ export interface TeamMemberListResult {
9
+ members: TeamMember[];
10
+ }
11
+ //# sourceMappingURL=team.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/types/team.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,UAAU,EAAE,CAAA;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=team.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team.js","sourceRoot":"","sources":["../../src/types/team.ts"],"names":[],"mappings":""}
@@ -53,6 +53,8 @@ export interface TicketListFilters {
53
53
  /** A user id, a comma-separated list of ids, or 'unassigned'. */
54
54
  assignee?: string;
55
55
  category?: TicketCategory;
56
+ /** Exact ticket number within the project (the human-facing "#42"). */
57
+ number?: number;
56
58
  page?: number;
57
59
  limit?: number;
58
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tickets.d.ts","sourceRoot":"","sources":["../../src/types/tickets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tickets.d.ts","sourceRoot":"","sources":["../../src/types/tickets.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAA;AAC7E,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;AACjE,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,iBAAiB,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAA;AAEtF,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,YAAY,CAAA;IACpB,QAAQ,EAAE,cAAc,CAAA;IACxB,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,UAAU,GAAG,OAAO,CAAA;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,YAAY,CAAA;IACpB,QAAQ,EAAE,cAAc,CAAA;IACxB,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KACrB,CAAA;IACD,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;CACb"}
@@ -0,0 +1,34 @@
1
+ export type WebhookEventType = 'ticket.created' | 'ticket.resolved' | 'message.received' | 'feedback.submitted' | 'email.bounced';
2
+ export interface Webhook {
3
+ id: string;
4
+ url: string;
5
+ events: WebhookEventType[];
6
+ active: boolean;
7
+ slackFormat: boolean;
8
+ createdAt: string;
9
+ updatedAt: string;
10
+ }
11
+ export interface WebhookListResult {
12
+ webhooks: Webhook[];
13
+ }
14
+ export interface CreateWebhookInput {
15
+ url: string;
16
+ events: WebhookEventType[];
17
+ slackFormat?: boolean;
18
+ active?: boolean;
19
+ }
20
+ /** The signing secret is only returned here, on create. */
21
+ export interface CreateWebhookResult {
22
+ id: string;
23
+ url: string;
24
+ events: WebhookEventType[];
25
+ active: boolean;
26
+ slackFormat: boolean;
27
+ secret: string;
28
+ createdAt: string;
29
+ }
30
+ export interface DeleteWebhookResult {
31
+ deleted: boolean;
32
+ id: string;
33
+ }
34
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/types/webhooks.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,gBAAgB,GAChB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,eAAe,CAAA;AAEnB,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;CACX"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/types/webhooks.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helmdesk/sdk",
3
- "version": "0.6.1",
3
+ "version": "0.8.0",
4
4
  "description": "Official Node.js SDK for the Helmdesk API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",