@voltade/envoy-sdk 1.0.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.
Files changed (38) hide show
  1. package/README.md +194 -0
  2. package/dist/client.d.ts +57 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +49 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/errors.d.ts +59 -0
  7. package/dist/errors.d.ts.map +1 -0
  8. package/dist/errors.js +91 -0
  9. package/dist/errors.js.map +1 -0
  10. package/dist/http-client.d.ts +64 -0
  11. package/dist/http-client.d.ts.map +1 -0
  12. package/dist/http-client.js +159 -0
  13. package/dist/http-client.js.map +1 -0
  14. package/dist/index.d.ts +31 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +34 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/resources/conversations/index.d.ts +75 -0
  19. package/dist/resources/conversations/index.d.ts.map +1 -0
  20. package/dist/resources/conversations/index.js +89 -0
  21. package/dist/resources/conversations/index.js.map +1 -0
  22. package/dist/resources/conversations/types.d.ts +958 -0
  23. package/dist/resources/conversations/types.d.ts.map +1 -0
  24. package/dist/resources/conversations/types.js +160 -0
  25. package/dist/resources/conversations/types.js.map +1 -0
  26. package/dist/resources/inboxes/index.d.ts +39 -0
  27. package/dist/resources/inboxes/index.d.ts.map +1 -0
  28. package/dist/resources/inboxes/index.js +46 -0
  29. package/dist/resources/inboxes/index.js.map +1 -0
  30. package/dist/resources/inboxes/types.d.ts +88 -0
  31. package/dist/resources/inboxes/types.d.ts.map +1 -0
  32. package/dist/resources/inboxes/types.js +24 -0
  33. package/dist/resources/inboxes/types.js.map +1 -0
  34. package/dist/resources/index.d.ts +7 -0
  35. package/dist/resources/index.d.ts.map +1 -0
  36. package/dist/resources/index.js +7 -0
  37. package/dist/resources/index.js.map +1 -0
  38. package/package.json +78 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../resources/conversations/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod Schemas for Conversations
4
+ */
5
+ // Message types schema
6
+ export const MessageTypeSchema = z.enum(['incoming', 'outgoing']);
7
+ // Content types schema
8
+ export const ContentTypeSchema = z.enum([
9
+ 'text',
10
+ 'input_select',
11
+ 'cards',
12
+ 'form',
13
+ 'article',
14
+ ]);
15
+ // Create message parameters schema
16
+ export const CreateMessageParamsSchema = z.object({
17
+ content: z.string(),
18
+ message_type: MessageTypeSchema.optional(),
19
+ private: z.boolean().optional(),
20
+ content_type: ContentTypeSchema.optional(),
21
+ content_attributes: z.record(z.unknown()).optional(),
22
+ });
23
+ // Sender schema
24
+ const SenderSchema = z.object({
25
+ id: z.number(),
26
+ name: z.string(),
27
+ email: z.string().optional(),
28
+ type: z.string(),
29
+ });
30
+ // Message schema
31
+ export const MessageSchema = z.object({
32
+ id: z.number(),
33
+ content: z.string(),
34
+ message_type: MessageTypeSchema,
35
+ content_type: ContentTypeSchema,
36
+ content_attributes: z.record(z.unknown()),
37
+ created_at: z.number(),
38
+ private: z.boolean(),
39
+ conversation_id: z.number(),
40
+ sender: SenderSchema.optional(),
41
+ });
42
+ // Escalation types schema
43
+ export const EscalationTypeSchema = z.enum(['agent', 'team']);
44
+ // Priority levels schema
45
+ export const PrioritySchema = z.enum(['low', 'medium', 'high', 'urgent']);
46
+ // Team schema
47
+ export const TeamSchema = z.object({
48
+ id: z.number().optional(),
49
+ name: z.string().optional(),
50
+ });
51
+ // Agent schema
52
+ export const AgentSchema = z.object({
53
+ id: z.number().optional(),
54
+ name: z.string().optional(),
55
+ available_name: z.string().optional(),
56
+ avatar_url: z.string().optional(),
57
+ type: z.string().optional(),
58
+ availability: z.string().optional(),
59
+ thumbnail: z.string().optional(),
60
+ });
61
+ // Escalation response schema
62
+ export const EscalationResponseSchema = z.object({
63
+ success: z.boolean(),
64
+ escalation_type: EscalationTypeSchema.optional(),
65
+ team: TeamSchema.nullable().optional(),
66
+ agent: AgentSchema.nullable().optional(),
67
+ reason: z.string().optional(),
68
+ priority: PrioritySchema.optional(),
69
+ });
70
+ // Conversation status schema
71
+ export const ConversationStatusSchema = z.enum([
72
+ 'open',
73
+ 'resolved',
74
+ 'pending',
75
+ 'snoozed',
76
+ ]);
77
+ // Contact schema
78
+ export const ContactSchema = z.object({
79
+ id: z.number(),
80
+ name: z.string().nullable(),
81
+ email: z.string().nullable(),
82
+ phone_number: z.string().nullable(),
83
+ thumbnail: z.string(),
84
+ identifier: z.string().nullable(),
85
+ additional_attributes: z.record(z.unknown()),
86
+ custom_attributes: z.record(z.unknown()),
87
+ blocked: z.boolean(),
88
+ customer_stage: z.string(),
89
+ customer_stage_explanation: z.string().nullable(),
90
+ type: z.string().optional(),
91
+ });
92
+ // Contact Inbox schema
93
+ export const ContactInboxSchema = z.object({
94
+ id: z.number(),
95
+ contact_id: z.number(),
96
+ inbox_id: z.number(),
97
+ source_id: z.string().nullable(),
98
+ created_at: z.string(),
99
+ updated_at: z.string(),
100
+ hmac_verified: z.boolean(),
101
+ pubsub_token: z.string(),
102
+ });
103
+ // Assignee schema
104
+ export const AssigneeSchema = z.object({
105
+ id: z.number(),
106
+ name: z.string(),
107
+ email: z.string(),
108
+ });
109
+ // Conversation meta schema
110
+ export const ConversationMetaSchema = z.object({
111
+ sender: ContactSchema,
112
+ assignee: AssigneeSchema.nullable(),
113
+ team: z.unknown().nullable(),
114
+ hmac_verified: z.boolean(),
115
+ });
116
+ // Conversation schema
117
+ export const ConversationSchema = z.object({
118
+ id: z.number(),
119
+ account_id: z.number(),
120
+ inbox_id: z.number(),
121
+ status: ConversationStatusSchema,
122
+ channel: z.string().optional(),
123
+ can_reply: z.boolean().optional(),
124
+ contact_inbox: ContactInboxSchema.optional(),
125
+ messages: z.array(MessageSchema).optional(),
126
+ meta: ConversationMetaSchema.optional(),
127
+ labels: z.array(z.string()).optional(),
128
+ additional_attributes: z.record(z.unknown()).optional(),
129
+ custom_attributes: z.record(z.unknown()).optional(),
130
+ snoozed_until: z.number().nullable().optional(),
131
+ unread_count: z.number().optional(),
132
+ first_reply_created_at: z.union([z.number(), z.string()]).nullable().optional(),
133
+ priority: z.string().nullable().optional(),
134
+ waiting_since: z.number().nullable().optional(),
135
+ ai_disabled: z.boolean().optional(),
136
+ reenable_ai_at: z.number().nullable().optional(),
137
+ ai_summary: z.string().nullable().optional(),
138
+ conversation_type: z.string().optional(),
139
+ agent_last_seen_at: z.number().optional(),
140
+ contact_last_seen_at: z.number().optional(),
141
+ last_activity_at: z.number().optional(),
142
+ timestamp: z.number().optional(),
143
+ created_at: z.number(),
144
+ updated_at: z.number(),
145
+ });
146
+ // Messages response meta schema
147
+ export const MessagesResponseMetaSchema = z.object({
148
+ labels: z.array(z.string()),
149
+ additional_attributes: z.record(z.unknown()),
150
+ contact: z.unknown(),
151
+ assignee: AssigneeSchema.nullable(),
152
+ agent_last_seen_at: z.string().nullable(),
153
+ assignee_last_seen_at: z.string().nullable(),
154
+ });
155
+ // Messages response schema
156
+ export const MessagesResponseSchema = z.object({
157
+ meta: MessagesResponseMetaSchema,
158
+ payload: z.array(MessageSchema),
159
+ });
160
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../resources/conversations/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Inboxes resource module
3
+ * Provides functionality for managing inboxes and searching knowledge base articles
4
+ */
5
+ import type { HttpClient } from '../../http-client.js';
6
+ import type { Article, SearchParams } from './types.js';
7
+ /**
8
+ * Base resource class that all resource classes extend from
9
+ */
10
+ declare abstract class BaseResource {
11
+ protected readonly client: HttpClient;
12
+ constructor(client: HttpClient);
13
+ }
14
+ /**
15
+ * Inboxes resource class for managing inbox operations
16
+ */
17
+ export declare class Inboxes extends BaseResource {
18
+ /**
19
+ * Search the knowledge base portals for articles
20
+ * @param inboxId - The ID of the inbox to search in
21
+ * @param params - Search parameters
22
+ * @returns Array of matching articles
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const articles = await client.inboxes.searchPortals(1, {
27
+ * queries: ['shipping', 'policy']
28
+ * });
29
+ *
30
+ * articles.forEach(article => {
31
+ * console.log(article.title, article.content);
32
+ * });
33
+ * ```
34
+ */
35
+ searchPortals(inboxId: number, params: SearchParams): Promise<Article[]>;
36
+ }
37
+ export type { Article, SearchParams, SearchResponse } from './types.js';
38
+ export { ArticleSchema, SearchParamsSchema, SearchResponseSchema } from './types.js';
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../resources/inboxes/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAExD;;GAEG;AACH,uBAAe,YAAY;IACb,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU;gBAAlB,MAAM,EAAE,UAAU;CAClD;AAED;;GAEG;AACH,qBAAa,OAAQ,SAAQ,YAAY;IACvC;;;;;;;;;;;;;;;;OAgBG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAc/E;AAGD,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGxE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Inboxes resource module
3
+ * Provides functionality for managing inboxes and searching knowledge base articles
4
+ */
5
+ /**
6
+ * Base resource class that all resource classes extend from
7
+ */
8
+ class BaseResource {
9
+ constructor(client) {
10
+ this.client = client;
11
+ }
12
+ }
13
+ /**
14
+ * Inboxes resource class for managing inbox operations
15
+ */
16
+ export class Inboxes extends BaseResource {
17
+ /**
18
+ * Search the knowledge base portals for articles
19
+ * @param inboxId - The ID of the inbox to search in
20
+ * @param params - Search parameters
21
+ * @returns Array of matching articles
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const articles = await client.inboxes.searchPortals(1, {
26
+ * queries: ['shipping', 'policy']
27
+ * });
28
+ *
29
+ * articles.forEach(article => {
30
+ * console.log(article.title, article.content);
31
+ * });
32
+ * ```
33
+ */
34
+ async searchPortals(inboxId, params) {
35
+ // Build query parameters - use 'query' (single query string) instead of 'query[]'
36
+ // The API expects a single query string with space-separated terms
37
+ const queryParams = {
38
+ query: params.queries.join(' '),
39
+ };
40
+ const response = await this.client.get(`/inboxes/${inboxId}/portals/search`, { params: queryParams });
41
+ return response.payload;
42
+ }
43
+ }
44
+ // Re-export Zod schemas
45
+ export { ArticleSchema, SearchParamsSchema, SearchResponseSchema } from './types.js';
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../resources/inboxes/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAe,YAAY;IACzB,YAA+B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,OAAO,OAAQ,SAAQ,YAAY;IACvC;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,MAAoB;QACvD,kFAAkF;QAClF,mEAAmE;QACnE,MAAM,WAAW,GAAG;YAClB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;SAChC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACpC,YAAY,OAAO,iBAAiB,EACpC,EAAE,MAAM,EAAE,WAAW,EAAE,CACxB,CAAC;QAEF,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;CACF;AAKD,wBAAwB;AACxB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod Schemas for Inboxes/Knowledge Base
4
+ */
5
+ export declare const ArticleSchema: z.ZodObject<{
6
+ id: z.ZodNumber;
7
+ title: z.ZodString;
8
+ content: z.ZodString;
9
+ slug: z.ZodString;
10
+ created_at: z.ZodNumber;
11
+ updated_at: z.ZodNumber;
12
+ }, "strip", z.ZodTypeAny, {
13
+ content: string;
14
+ id: number;
15
+ created_at: number;
16
+ updated_at: number;
17
+ title: string;
18
+ slug: string;
19
+ }, {
20
+ content: string;
21
+ id: number;
22
+ created_at: number;
23
+ updated_at: number;
24
+ title: string;
25
+ slug: string;
26
+ }>;
27
+ export declare const SearchParamsSchema: z.ZodObject<{
28
+ queries: z.ZodArray<z.ZodString, "many">;
29
+ }, "strip", z.ZodTypeAny, {
30
+ queries: string[];
31
+ }, {
32
+ queries: string[];
33
+ }>;
34
+ export declare const SearchResponseSchema: z.ZodObject<{
35
+ success: z.ZodBoolean;
36
+ payload: z.ZodOptional<z.ZodArray<z.ZodObject<{
37
+ id: z.ZodNumber;
38
+ title: z.ZodString;
39
+ content: z.ZodString;
40
+ slug: z.ZodString;
41
+ created_at: z.ZodNumber;
42
+ updated_at: z.ZodNumber;
43
+ }, "strip", z.ZodTypeAny, {
44
+ content: string;
45
+ id: number;
46
+ created_at: number;
47
+ updated_at: number;
48
+ title: string;
49
+ slug: string;
50
+ }, {
51
+ content: string;
52
+ id: number;
53
+ created_at: number;
54
+ updated_at: number;
55
+ title: string;
56
+ slug: string;
57
+ }>, "many">>;
58
+ error: z.ZodOptional<z.ZodString>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ success: boolean;
61
+ payload?: {
62
+ content: string;
63
+ id: number;
64
+ created_at: number;
65
+ updated_at: number;
66
+ title: string;
67
+ slug: string;
68
+ }[] | undefined;
69
+ error?: string | undefined;
70
+ }, {
71
+ success: boolean;
72
+ payload?: {
73
+ content: string;
74
+ id: number;
75
+ created_at: number;
76
+ updated_at: number;
77
+ title: string;
78
+ slug: string;
79
+ }[] | undefined;
80
+ error?: string | undefined;
81
+ }>;
82
+ /**
83
+ * TypeScript Types (inferred from Zod schemas)
84
+ */
85
+ export type Article = z.infer<typeof ArticleSchema>;
86
+ export type SearchParams = z.infer<typeof SearchParamsSchema>;
87
+ export type SearchResponse = z.infer<typeof SearchResponseSchema>;
88
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../resources/inboxes/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAGH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;EAOxB,CAAC;AAGH,eAAO,MAAM,kBAAkB;;;;;;EAE7B,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI/B,CAAC;AAEH;;GAEG;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod Schemas for Inboxes/Knowledge Base
4
+ */
5
+ // Article schema
6
+ export const ArticleSchema = z.object({
7
+ id: z.number(),
8
+ title: z.string(),
9
+ content: z.string(),
10
+ slug: z.string(),
11
+ created_at: z.number(),
12
+ updated_at: z.number(),
13
+ });
14
+ // Search parameters schema
15
+ export const SearchParamsSchema = z.object({
16
+ queries: z.array(z.string()).describe('Array of search terms'),
17
+ });
18
+ // Search response schema
19
+ export const SearchResponseSchema = z.object({
20
+ success: z.boolean(),
21
+ payload: z.array(ArticleSchema).optional(),
22
+ error: z.string().optional(),
23
+ });
24
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../resources/inboxes/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAEH,iBAAiB;AACjB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,2BAA2B;AAC3B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;CAC/D,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Resources module
3
+ * Exports all resource classes and their types
4
+ */
5
+ export * from './conversations/index.js';
6
+ export * from './inboxes/index.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../resources/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Resources module
3
+ * Exports all resource classes and their types
4
+ */
5
+ export * from './conversations/index.js';
6
+ export * from './inboxes/index.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../resources/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,78 @@
1
+ {
2
+ "name": "@voltade/envoy-sdk",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "description": "A comprehensive TypeScript SDK for the Envoy API with built-in error handling and resource-based architecture",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.js"
14
+ },
15
+ "./client": {
16
+ "types": "./dist/client.d.ts",
17
+ "import": "./dist/client.js"
18
+ },
19
+ "./errors": {
20
+ "types": "./dist/errors.d.ts",
21
+ "import": "./dist/errors.js"
22
+ },
23
+ "./types": {
24
+ "types": "./dist/types.d.ts",
25
+ "import": "./dist/types.js"
26
+ }
27
+ },
28
+ "files": [
29
+ "dist/**/*.js",
30
+ "dist/**/*.d.ts",
31
+ "dist/**/*.d.ts.map",
32
+ "dist/**/*.js.map",
33
+ "README.md",
34
+ "LICENSE"
35
+ ],
36
+ "scripts": {
37
+ "build": "tsc",
38
+ "clean": "rm -rf dist",
39
+ "prepublishOnly": "npm run clean && npm run build",
40
+ "test": "echo \"Error: no test specified\" && exit 1",
41
+ "lint": "tsc --noEmit"
42
+ },
43
+ "keywords": [
44
+ "envoy",
45
+ "chat",
46
+ "messaging",
47
+ "api",
48
+ "sdk",
49
+ "typescript",
50
+ "conversations"
51
+ ],
52
+ "author": "Voltade",
53
+ "license": "MIT",
54
+ "repository": {
55
+ "type": "git",
56
+ "url": "https://github.com/voltade/envoy-sdk.git"
57
+ },
58
+ "bugs": {
59
+ "url": "https://github.com/voltade/envoy-sdk/issues"
60
+ },
61
+ "homepage": "https://github.com/voltade/envoy-sdk#readme",
62
+ "publishConfig": {
63
+ "access": "public"
64
+ },
65
+ "engines": {
66
+ "node": ">=18.0.0"
67
+ },
68
+ "dependencies": {
69
+ "zod": "^3.22.0"
70
+ },
71
+ "peerDependencies": {
72
+ "typescript": ">=5.0.0"
73
+ },
74
+ "devDependencies": {
75
+ "@types/node": "^20.0.0",
76
+ "typescript": "^5.0.0"
77
+ }
78
+ }