@chatcops/core 0.2.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 (117) hide show
  1. package/dist/analytics/collector.d.ts +17 -0
  2. package/dist/analytics/collector.d.ts.map +1 -0
  3. package/dist/analytics/collector.js +40 -0
  4. package/dist/analytics/collector.js.map +1 -0
  5. package/dist/analytics/index.d.ts +3 -0
  6. package/dist/analytics/index.d.ts.map +1 -0
  7. package/dist/analytics/index.js +2 -0
  8. package/dist/analytics/index.js.map +1 -0
  9. package/dist/conversation/index.d.ts +4 -0
  10. package/dist/conversation/index.d.ts.map +1 -0
  11. package/dist/conversation/index.js +3 -0
  12. package/dist/conversation/index.js.map +1 -0
  13. package/dist/conversation/manager.d.ts +15 -0
  14. package/dist/conversation/manager.d.ts.map +1 -0
  15. package/dist/conversation/manager.js +44 -0
  16. package/dist/conversation/manager.js.map +1 -0
  17. package/dist/conversation/store.d.ts +13 -0
  18. package/dist/conversation/store.d.ts.map +1 -0
  19. package/dist/conversation/store.js +13 -0
  20. package/dist/conversation/store.js.map +1 -0
  21. package/dist/i18n/ar.d.ts +3 -0
  22. package/dist/i18n/ar.d.ts.map +1 -0
  23. package/dist/i18n/ar.js +14 -0
  24. package/dist/i18n/ar.js.map +1 -0
  25. package/dist/i18n/de.d.ts +3 -0
  26. package/dist/i18n/de.d.ts.map +1 -0
  27. package/dist/i18n/de.js +14 -0
  28. package/dist/i18n/de.js.map +1 -0
  29. package/dist/i18n/en.d.ts +3 -0
  30. package/dist/i18n/en.d.ts.map +1 -0
  31. package/dist/i18n/en.js +14 -0
  32. package/dist/i18n/en.js.map +1 -0
  33. package/dist/i18n/es.d.ts +3 -0
  34. package/dist/i18n/es.d.ts.map +1 -0
  35. package/dist/i18n/es.js +14 -0
  36. package/dist/i18n/es.js.map +1 -0
  37. package/dist/i18n/fr.d.ts +3 -0
  38. package/dist/i18n/fr.d.ts.map +1 -0
  39. package/dist/i18n/fr.js +14 -0
  40. package/dist/i18n/fr.js.map +1 -0
  41. package/dist/i18n/hi.d.ts +3 -0
  42. package/dist/i18n/hi.d.ts.map +1 -0
  43. package/dist/i18n/hi.js +14 -0
  44. package/dist/i18n/hi.js.map +1 -0
  45. package/dist/i18n/index.d.ts +13 -0
  46. package/dist/i18n/index.d.ts.map +1 -0
  47. package/dist/i18n/index.js +24 -0
  48. package/dist/i18n/index.js.map +1 -0
  49. package/dist/i18n/ja.d.ts +3 -0
  50. package/dist/i18n/ja.d.ts.map +1 -0
  51. package/dist/i18n/ja.js +14 -0
  52. package/dist/i18n/ja.js.map +1 -0
  53. package/dist/i18n/types.d.ts +14 -0
  54. package/dist/i18n/types.d.ts.map +1 -0
  55. package/dist/i18n/types.js +2 -0
  56. package/dist/i18n/types.js.map +1 -0
  57. package/dist/i18n/zh.d.ts +3 -0
  58. package/dist/i18n/zh.d.ts.map +1 -0
  59. package/dist/i18n/zh.js +14 -0
  60. package/dist/i18n/zh.js.map +1 -0
  61. package/dist/index.d.ts +14 -0
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +10 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/knowledge/base.d.ts +5 -0
  66. package/dist/knowledge/base.d.ts.map +1 -0
  67. package/dist/knowledge/base.js +2 -0
  68. package/dist/knowledge/base.js.map +1 -0
  69. package/dist/knowledge/faq.d.ts +13 -0
  70. package/dist/knowledge/faq.d.ts.map +1 -0
  71. package/dist/knowledge/faq.js +33 -0
  72. package/dist/knowledge/faq.js.map +1 -0
  73. package/dist/knowledge/index.d.ts +5 -0
  74. package/dist/knowledge/index.d.ts.map +1 -0
  75. package/dist/knowledge/index.js +3 -0
  76. package/dist/knowledge/index.js.map +1 -0
  77. package/dist/knowledge/text.d.ts +8 -0
  78. package/dist/knowledge/text.d.ts.map +1 -0
  79. package/dist/knowledge/text.js +28 -0
  80. package/dist/knowledge/text.js.map +1 -0
  81. package/dist/providers/base.d.ts +35 -0
  82. package/dist/providers/base.d.ts.map +1 -0
  83. package/dist/providers/base.js +72 -0
  84. package/dist/providers/base.js.map +1 -0
  85. package/dist/providers/claude.d.ts +11 -0
  86. package/dist/providers/claude.d.ts.map +1 -0
  87. package/dist/providers/claude.js +48 -0
  88. package/dist/providers/claude.js.map +1 -0
  89. package/dist/providers/gemini.d.ts +11 -0
  90. package/dist/providers/gemini.d.ts.map +1 -0
  91. package/dist/providers/gemini.js +66 -0
  92. package/dist/providers/gemini.js.map +1 -0
  93. package/dist/providers/index.d.ts +6 -0
  94. package/dist/providers/index.d.ts.map +1 -0
  95. package/dist/providers/index.js +5 -0
  96. package/dist/providers/index.js.map +1 -0
  97. package/dist/providers/openai.d.ts +11 -0
  98. package/dist/providers/openai.d.ts.map +1 -0
  99. package/dist/providers/openai.js +53 -0
  100. package/dist/providers/openai.js.map +1 -0
  101. package/dist/tools/base.d.ts +10 -0
  102. package/dist/tools/base.d.ts.map +1 -0
  103. package/dist/tools/base.js +9 -0
  104. package/dist/tools/base.js.map +1 -0
  105. package/dist/tools/index.d.ts +5 -0
  106. package/dist/tools/index.d.ts.map +1 -0
  107. package/dist/tools/index.js +3 -0
  108. package/dist/tools/index.js.map +1 -0
  109. package/dist/tools/lead-capture.d.ts +34 -0
  110. package/dist/tools/lead-capture.d.ts.map +1 -0
  111. package/dist/tools/lead-capture.js +58 -0
  112. package/dist/tools/lead-capture.js.map +1 -0
  113. package/dist/types.d.ts +80 -0
  114. package/dist/types.d.ts.map +1 -0
  115. package/dist/types.js +2 -0
  116. package/dist/types.js.map +1 -0
  117. package/package.json +38 -0
@@ -0,0 +1,17 @@
1
+ import type { AnalyticsEvent } from '../types.js';
2
+ export interface AnalyticsStats {
3
+ totalConversations: number;
4
+ totalMessages: number;
5
+ leadsCapture: number;
6
+ averageMessagesPerConversation: number;
7
+ eventCounts: Record<string, number>;
8
+ }
9
+ export declare class AnalyticsCollector {
10
+ private events;
11
+ private conversationIds;
12
+ track(type: string, data?: Record<string, unknown>): void;
13
+ getStats(): AnalyticsStats;
14
+ getEvents(type?: string): AnalyticsEvent[];
15
+ clear(): void;
16
+ }
17
+ //# sourceMappingURL=collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/analytics/collector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,8BAA8B,EAAE,MAAM,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,eAAe,CAAqB;IAE5C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAazD,QAAQ,IAAI,cAAc;IAkB1B,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE;IAK1C,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,40 @@
1
+ const MAX_EVENTS = 1000;
2
+ export class AnalyticsCollector {
3
+ events = [];
4
+ conversationIds = new Set();
5
+ track(type, data) {
6
+ const event = { type, data, timestamp: Date.now() };
7
+ this.events.push(event);
8
+ if (this.events.length > MAX_EVENTS) {
9
+ this.events = this.events.slice(-MAX_EVENTS);
10
+ }
11
+ if (type === 'conversation:started' && data?.conversationId) {
12
+ this.conversationIds.add(data.conversationId);
13
+ }
14
+ }
15
+ getStats() {
16
+ const eventCounts = {};
17
+ for (const event of this.events) {
18
+ eventCounts[event.type] = (eventCounts[event.type] ?? 0) + 1;
19
+ }
20
+ const totalConversations = this.conversationIds.size;
21
+ const totalMessages = (eventCounts['message:sent'] ?? 0) + (eventCounts['message:received'] ?? 0);
22
+ return {
23
+ totalConversations,
24
+ totalMessages,
25
+ leadsCapture: eventCounts['lead:captured'] ?? 0,
26
+ averageMessagesPerConversation: totalConversations > 0 ? totalMessages / totalConversations : 0,
27
+ eventCounts,
28
+ };
29
+ }
30
+ getEvents(type) {
31
+ if (type)
32
+ return this.events.filter((e) => e.type === type);
33
+ return [...this.events];
34
+ }
35
+ clear() {
36
+ this.events = [];
37
+ this.conversationIds.clear();
38
+ }
39
+ }
40
+ //# sourceMappingURL=collector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.js","sourceRoot":"","sources":["../../src/analytics/collector.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,IAAI,CAAC;AAUxB,MAAM,OAAO,kBAAkB;IACrB,MAAM,GAAqB,EAAE,CAAC;IAC9B,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAE5C,KAAK,CAAC,IAAY,EAAE,IAA8B;QAChD,MAAM,KAAK,GAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,IAAI,KAAK,sBAAsB,IAAI,IAAI,EAAE,cAAc,EAAE,CAAC;YAC5D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,cAAwB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,QAAQ;QACN,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QACrD,MAAM,aAAa,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAElG,OAAO;YACL,kBAAkB;YAClB,aAAa;YACb,YAAY,EAAE,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC;YAC/C,8BAA8B,EAAE,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC/F,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,IAAa;QACrB,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export { AnalyticsCollector } from './collector.js';
2
+ export type { AnalyticsStats } from './collector.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { AnalyticsCollector } from './collector.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { ConversationManager } from './manager.js';
2
+ export type { ConversationStore } from './store.js';
3
+ export { MemoryStore } from './store.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conversation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ConversationManager } from './manager.js';
2
+ export { MemoryStore } from './store.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/conversation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ChatMessage, Conversation } from '../types.js';
2
+ import type { ConversationStore } from './store.js';
3
+ export declare class ConversationManager {
4
+ private store;
5
+ private maxMessages;
6
+ constructor(options?: {
7
+ store?: ConversationStore;
8
+ maxMessages?: number;
9
+ });
10
+ getOrCreate(id: string): Promise<Conversation>;
11
+ addMessage(conversationId: string, message: ChatMessage): Promise<Conversation>;
12
+ getMessages(conversationId: string): Promise<ChatMessage[]>;
13
+ deleteConversation(id: string): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/conversation/manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,iBAAiB,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAKnE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAc9C,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAiB/E,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAK3D,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGpD"}
@@ -0,0 +1,44 @@
1
+ import { MemoryStore } from './store.js';
2
+ export class ConversationManager {
3
+ store;
4
+ maxMessages;
5
+ constructor(options) {
6
+ this.store = options?.store ?? new MemoryStore();
7
+ this.maxMessages = options?.maxMessages ?? 100;
8
+ }
9
+ async getOrCreate(id) {
10
+ const existing = await this.store.get(id);
11
+ if (existing)
12
+ return existing;
13
+ const conversation = {
14
+ id,
15
+ messages: [],
16
+ createdAt: Date.now(),
17
+ updatedAt: Date.now(),
18
+ };
19
+ await this.store.save(conversation);
20
+ return conversation;
21
+ }
22
+ async addMessage(conversationId, message) {
23
+ const conversation = await this.getOrCreate(conversationId);
24
+ conversation.messages.push(message);
25
+ conversation.updatedAt = Date.now();
26
+ if (conversation.messages.length > this.maxMessages) {
27
+ const systemMessages = conversation.messages.filter((m) => m.role === 'system');
28
+ const recentMessages = conversation.messages
29
+ .filter((m) => m.role !== 'system')
30
+ .slice(-(this.maxMessages - systemMessages.length));
31
+ conversation.messages = [...systemMessages, ...recentMessages];
32
+ }
33
+ await this.store.save(conversation);
34
+ return conversation;
35
+ }
36
+ async getMessages(conversationId) {
37
+ const conversation = await this.store.get(conversationId);
38
+ return conversation?.messages ?? [];
39
+ }
40
+ async deleteConversation(id) {
41
+ await this.store.delete(id);
42
+ }
43
+ }
44
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/conversation/manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,OAAO,mBAAmB;IACtB,KAAK,CAAoB;IACzB,WAAW,CAAS;IAE5B,YAAY,OAA6D;QACvE,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,WAAW,EAAE,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,GAAG,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,MAAM,YAAY,GAAiB;YACjC,EAAE;YACF,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,cAAsB,EAAE,OAAoB;QAC3D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC5D,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEpC,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpD,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAChF,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ;iBACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;iBAClC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,YAAY,CAAC,QAAQ,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,cAAsB;QACtC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1D,OAAO,YAAY,EAAE,QAAQ,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACjC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import type { Conversation } from '../types.js';
2
+ export interface ConversationStore {
3
+ get(id: string): Promise<Conversation | null>;
4
+ save(conversation: Conversation): Promise<void>;
5
+ delete(id: string): Promise<void>;
6
+ }
7
+ export declare class MemoryStore implements ConversationStore {
8
+ private store;
9
+ get(id: string): Promise<Conversation | null>;
10
+ save(conversation: Conversation): Promise<void>;
11
+ delete(id: string): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/conversation/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC9C,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,qBAAa,WAAY,YAAW,iBAAiB;IACnD,OAAO,CAAC,KAAK,CAAmC;IAE1C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAI7C,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
@@ -0,0 +1,13 @@
1
+ export class MemoryStore {
2
+ store = new Map();
3
+ async get(id) {
4
+ return this.store.get(id) ?? null;
5
+ }
6
+ async save(conversation) {
7
+ this.store.set(conversation.id, conversation);
8
+ }
9
+ async delete(id) {
10
+ this.store.delete(id);
11
+ }
12
+ }
13
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/conversation/store.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,WAAW;IACd,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEhD,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAA0B;QACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ import type { LocaleStrings } from './types.js';
2
+ export declare const ar: LocaleStrings;
3
+ //# sourceMappingURL=ar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ar.d.ts","sourceRoot":"","sources":["../../src/i18n/ar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,EAAE,EAAE,aAYhB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export const ar = {
2
+ welcomeMessage: 'مرحبا! كيف يمكنني مساعدتك اليوم؟',
3
+ inputPlaceholder: 'اكتب رسالة...',
4
+ sendButton: 'إرسال',
5
+ closeButton: 'إغلاق',
6
+ errorGeneric: 'حدث خطأ ما. يرجى المحاولة مرة أخرى.',
7
+ errorNetwork: 'خطأ في الاتصال. يرجى التحقق من الشبكة.',
8
+ errorRateLimit: 'رسائل كثيرة جداً. يرجى الانتظار لحظة.',
9
+ typingIndicator: 'يكتب...',
10
+ poweredBy: 'مدعوم من ChatCops',
11
+ newConversation: 'محادثة جديدة',
12
+ welcomeBubbleDefault: 'تحتاج مساعدة؟ تحدث معنا!',
13
+ };
14
+ //# sourceMappingURL=ar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ar.js","sourceRoot":"","sources":["../../src/i18n/ar.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAkB;IAC/B,cAAc,EAAE,kCAAkC;IAClD,gBAAgB,EAAE,eAAe;IACjC,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,qCAAqC;IACnD,YAAY,EAAE,wCAAwC;IACtD,cAAc,EAAE,uCAAuC;IACvD,eAAe,EAAE,SAAS;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,eAAe,EAAE,cAAc;IAC/B,oBAAoB,EAAE,0BAA0B;CACjD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { LocaleStrings } from './types.js';
2
+ export declare const de: LocaleStrings;
3
+ //# sourceMappingURL=de.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"de.d.ts","sourceRoot":"","sources":["../../src/i18n/de.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,EAAE,EAAE,aAYhB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export const de = {
2
+ welcomeMessage: 'Hallo! Wie kann ich Ihnen helfen?',
3
+ inputPlaceholder: 'Nachricht eingeben...',
4
+ sendButton: 'Senden',
5
+ closeButton: 'Schliessen',
6
+ errorGeneric: 'Etwas ist schiefgelaufen. Bitte versuchen Sie es erneut.',
7
+ errorNetwork: 'Verbindungsfehler. Bitte pruefen Sie Ihr Netzwerk.',
8
+ errorRateLimit: 'Zu viele Nachrichten. Bitte warten Sie einen Moment.',
9
+ typingIndicator: 'Tippt...',
10
+ poweredBy: 'Betrieben von ChatCops',
11
+ newConversation: 'Neues Gespraech',
12
+ welcomeBubbleDefault: 'Hilfe benoetigt? Chatten Sie mit uns!',
13
+ };
14
+ //# sourceMappingURL=de.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"de.js","sourceRoot":"","sources":["../../src/i18n/de.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAkB;IAC/B,cAAc,EAAE,mCAAmC;IACnD,gBAAgB,EAAE,uBAAuB;IACzC,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,0DAA0D;IACxE,YAAY,EAAE,oDAAoD;IAClE,cAAc,EAAE,sDAAsD;IACtE,eAAe,EAAE,UAAU;IAC3B,SAAS,EAAE,wBAAwB;IACnC,eAAe,EAAE,iBAAiB;IAClC,oBAAoB,EAAE,uCAAuC;CAC9D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { LocaleStrings } from './types.js';
2
+ export declare const en: LocaleStrings;
3
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,EAAE,EAAE,aAYhB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export const en = {
2
+ welcomeMessage: 'Hi! How can I help you today?',
3
+ inputPlaceholder: 'Type a message...',
4
+ sendButton: 'Send',
5
+ closeButton: 'Close',
6
+ errorGeneric: 'Something went wrong. Please try again.',
7
+ errorNetwork: 'Connection error. Please check your network.',
8
+ errorRateLimit: 'Too many messages. Please wait a moment.',
9
+ typingIndicator: 'Typing...',
10
+ poweredBy: 'Powered by ChatCops',
11
+ newConversation: 'New conversation',
12
+ welcomeBubbleDefault: 'Need help? Chat with us!',
13
+ };
14
+ //# sourceMappingURL=en.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAkB;IAC/B,cAAc,EAAE,+BAA+B;IAC/C,gBAAgB,EAAE,mBAAmB;IACrC,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,yCAAyC;IACvD,YAAY,EAAE,8CAA8C;IAC5D,cAAc,EAAE,0CAA0C;IAC1D,eAAe,EAAE,WAAW;IAC5B,SAAS,EAAE,qBAAqB;IAChC,eAAe,EAAE,kBAAkB;IACnC,oBAAoB,EAAE,0BAA0B;CACjD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { LocaleStrings } from './types.js';
2
+ export declare const es: LocaleStrings;
3
+ //# sourceMappingURL=es.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../src/i18n/es.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,EAAE,EAAE,aAYhB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export const es = {
2
+ welcomeMessage: 'Hola! Como puedo ayudarte hoy?',
3
+ inputPlaceholder: 'Escribe un mensaje...',
4
+ sendButton: 'Enviar',
5
+ closeButton: 'Cerrar',
6
+ errorGeneric: 'Algo salio mal. Por favor, intentalo de nuevo.',
7
+ errorNetwork: 'Error de conexion. Verifica tu red.',
8
+ errorRateLimit: 'Demasiados mensajes. Espera un momento.',
9
+ typingIndicator: 'Escribiendo...',
10
+ poweredBy: 'Desarrollado por ChatCops',
11
+ newConversation: 'Nueva conversacion',
12
+ welcomeBubbleDefault: 'Necesitas ayuda? Chatea con nosotros!',
13
+ };
14
+ //# sourceMappingURL=es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"es.js","sourceRoot":"","sources":["../../src/i18n/es.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAkB;IAC/B,cAAc,EAAE,gCAAgC;IAChD,gBAAgB,EAAE,uBAAuB;IACzC,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,gDAAgD;IAC9D,YAAY,EAAE,qCAAqC;IACnD,cAAc,EAAE,yCAAyC;IACzD,eAAe,EAAE,gBAAgB;IACjC,SAAS,EAAE,2BAA2B;IACtC,eAAe,EAAE,oBAAoB;IACrC,oBAAoB,EAAE,uCAAuC;CAC9D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { LocaleStrings } from './types.js';
2
+ export declare const fr: LocaleStrings;
3
+ //# sourceMappingURL=fr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fr.d.ts","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,EAAE,EAAE,aAYhB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export const fr = {
2
+ welcomeMessage: 'Bonjour ! Comment puis-je vous aider ?',
3
+ inputPlaceholder: 'Tapez un message...',
4
+ sendButton: 'Envoyer',
5
+ closeButton: 'Fermer',
6
+ errorGeneric: 'Une erreur est survenue. Veuillez reessayer.',
7
+ errorNetwork: 'Erreur de connexion. Verifiez votre reseau.',
8
+ errorRateLimit: 'Trop de messages. Patientez un instant.',
9
+ typingIndicator: 'En train de taper...',
10
+ poweredBy: 'Propulse par ChatCops',
11
+ newConversation: 'Nouvelle conversation',
12
+ welcomeBubbleDefault: 'Besoin d\'aide ? Discutons !',
13
+ };
14
+ //# sourceMappingURL=fr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fr.js","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAkB;IAC/B,cAAc,EAAE,wCAAwC;IACxD,gBAAgB,EAAE,qBAAqB;IACvC,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,8CAA8C;IAC5D,YAAY,EAAE,6CAA6C;IAC3D,cAAc,EAAE,yCAAyC;IACzD,eAAe,EAAE,sBAAsB;IACvC,SAAS,EAAE,uBAAuB;IAClC,eAAe,EAAE,uBAAuB;IACxC,oBAAoB,EAAE,8BAA8B;CACrD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { LocaleStrings } from './types.js';
2
+ export declare const hi: LocaleStrings;
3
+ //# sourceMappingURL=hi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hi.d.ts","sourceRoot":"","sources":["../../src/i18n/hi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,EAAE,EAAE,aAYhB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export const hi = {
2
+ welcomeMessage: 'Namaste! Main aapki kaise madad kar sakta hoon?',
3
+ inputPlaceholder: 'Apna sandesh likhen...',
4
+ sendButton: 'Bhejen',
5
+ closeButton: 'Band karen',
6
+ errorGeneric: 'Kuch galat ho gaya. Kripya dobara koshish karen.',
7
+ errorNetwork: 'Connection mein samasya. Apna network jaanchen.',
8
+ errorRateLimit: 'Bahut saare sandesh. Kripya thoda intezaar karen.',
9
+ typingIndicator: 'Likh raha hai...',
10
+ poweredBy: 'ChatCops dwara sanchaalit',
11
+ newConversation: 'Nayi baatcheet',
12
+ welcomeBubbleDefault: 'Madad chahiye? Humse baat karen!',
13
+ };
14
+ //# sourceMappingURL=hi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hi.js","sourceRoot":"","sources":["../../src/i18n/hi.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAkB;IAC/B,cAAc,EAAE,iDAAiD;IACjE,gBAAgB,EAAE,wBAAwB;IAC1C,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,kDAAkD;IAChE,YAAY,EAAE,iDAAiD;IAC/D,cAAc,EAAE,mDAAmD;IACnE,eAAe,EAAE,kBAAkB;IACnC,SAAS,EAAE,2BAA2B;IACtC,eAAe,EAAE,gBAAgB;IACjC,oBAAoB,EAAE,kCAAkC;CACzD,CAAC"}
@@ -0,0 +1,13 @@
1
+ export type { LocaleStrings } from './types.js';
2
+ export { en } from './en.js';
3
+ export { es } from './es.js';
4
+ export { hi } from './hi.js';
5
+ export { fr } from './fr.js';
6
+ export { de } from './de.js';
7
+ export { ja } from './ja.js';
8
+ export { zh } from './zh.js';
9
+ export { ar } from './ar.js';
10
+ import type { LocaleStrings } from './types.js';
11
+ export declare function getLocale(code: string): LocaleStrings;
12
+ export declare function getAvailableLocales(): string[];
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAYhD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAErD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C"}
@@ -0,0 +1,24 @@
1
+ export { en } from './en.js';
2
+ export { es } from './es.js';
3
+ export { hi } from './hi.js';
4
+ export { fr } from './fr.js';
5
+ export { de } from './de.js';
6
+ export { ja } from './ja.js';
7
+ export { zh } from './zh.js';
8
+ export { ar } from './ar.js';
9
+ import { en } from './en.js';
10
+ import { es } from './es.js';
11
+ import { hi } from './hi.js';
12
+ import { fr } from './fr.js';
13
+ import { de } from './de.js';
14
+ import { ja } from './ja.js';
15
+ import { zh } from './zh.js';
16
+ import { ar } from './ar.js';
17
+ const locales = { en, es, hi, fr, de, ja, zh, ar };
18
+ export function getLocale(code) {
19
+ return locales[code] ?? en;
20
+ }
21
+ export function getAvailableLocales() {
22
+ return Object.keys(locales);
23
+ }
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAG7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,MAAM,OAAO,GAAkC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAElF,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { LocaleStrings } from './types.js';
2
+ export declare const ja: LocaleStrings;
3
+ //# sourceMappingURL=ja.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ja.d.ts","sourceRoot":"","sources":["../../src/i18n/ja.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,EAAE,EAAE,aAYhB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export const ja = {
2
+ welcomeMessage: 'こんにちは!何かお手伝いできますか?',
3
+ inputPlaceholder: 'メッセージを入力...',
4
+ sendButton: '送信',
5
+ closeButton: '閉じる',
6
+ errorGeneric: 'エラーが発生しました。もう一度お試しください。',
7
+ errorNetwork: '接続エラー。ネットワークを確認してください。',
8
+ errorRateLimit: 'メッセージが多すぎます。少々お待ちください。',
9
+ typingIndicator: '入力中...',
10
+ poweredBy: 'ChatCops提供',
11
+ newConversation: '新しい会話',
12
+ welcomeBubbleDefault: 'お困りですか?チャットでご相談ください!',
13
+ };
14
+ //# sourceMappingURL=ja.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ja.js","sourceRoot":"","sources":["../../src/i18n/ja.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAkB;IAC/B,cAAc,EAAE,oBAAoB;IACpC,gBAAgB,EAAE,aAAa;IAC/B,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,yBAAyB;IACvC,YAAY,EAAE,wBAAwB;IACtC,cAAc,EAAE,wBAAwB;IACxC,eAAe,EAAE,QAAQ;IACzB,SAAS,EAAE,YAAY;IACvB,eAAe,EAAE,OAAO;IACxB,oBAAoB,EAAE,sBAAsB;CAC7C,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface LocaleStrings {
2
+ welcomeMessage: string;
3
+ inputPlaceholder: string;
4
+ sendButton: string;
5
+ closeButton: string;
6
+ errorGeneric: string;
7
+ errorNetwork: string;
8
+ errorRateLimit: string;
9
+ typingIndicator: string;
10
+ poweredBy: string;
11
+ newConversation: string;
12
+ welcomeBubbleDefault: string;
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/i18n/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;CAC9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/i18n/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { LocaleStrings } from './types.js';
2
+ export declare const zh: LocaleStrings;
3
+ //# sourceMappingURL=zh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh.d.ts","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,EAAE,EAAE,aAYhB,CAAC"}
@@ -0,0 +1,14 @@
1
+ export const zh = {
2
+ welcomeMessage: '您好!有什么可以帮助您的吗?',
3
+ inputPlaceholder: '输入消息...',
4
+ sendButton: '发送',
5
+ closeButton: '关闭',
6
+ errorGeneric: '出了点问题,请重试。',
7
+ errorNetwork: '连接错误,请检查网络。',
8
+ errorRateLimit: '消息过多,请稍候。',
9
+ typingIndicator: '正在输入...',
10
+ poweredBy: '由ChatCops提供支持',
11
+ newConversation: '新对话',
12
+ welcomeBubbleDefault: '需要帮助?和我们聊聊吧!',
13
+ };
14
+ //# sourceMappingURL=zh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh.js","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAkB;IAC/B,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,SAAS;IAC3B,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,YAAY;IAC1B,YAAY,EAAE,aAAa;IAC3B,cAAc,EAAE,WAAW;IAC3B,eAAe,EAAE,SAAS;IAC1B,SAAS,EAAE,eAAe;IAC1B,eAAe,EAAE,KAAK;IACtB,oBAAoB,EAAE,cAAc;CACrC,CAAC"}
@@ -0,0 +1,14 @@
1
+ export type { ChatMessage, Conversation, ChatRequest, ChatResponse, PageContext, LeadData, ToolParameter, ToolDefinition, ToolResult, WebhookConfig, ProviderConfig, ProviderChatParams, AnalyticsEvent, LocaleStrings, } from './types.js';
2
+ export type { AIProvider } from './providers/index.js';
3
+ export { createProvider, ClaudeProvider, OpenAIProvider, GeminiProvider } from './providers/index.js';
4
+ export type { ChatTool, LeadCaptureCallback } from './tools/index.js';
5
+ export { toolToDefinition, LeadCaptureTool } from './tools/index.js';
6
+ export type { KnowledgeSource, FAQPair } from './knowledge/index.js';
7
+ export { TextKnowledgeSource, FAQKnowledgeSource } from './knowledge/index.js';
8
+ export type { ConversationStore } from './conversation/index.js';
9
+ export { ConversationManager, MemoryStore } from './conversation/index.js';
10
+ export { AnalyticsCollector } from './analytics/index.js';
11
+ export type { AnalyticsStats } from './analytics/index.js';
12
+ export { getLocale, getAvailableLocales } from './i18n/index.js';
13
+ export { en, es, hi, fr, de, ja, zh, ar } from './i18n/index.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,aAAa,EACb,cAAc,EACd,UAAU,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtG,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGrE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/E,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,10 @@
1
+ export { createProvider, ClaudeProvider, OpenAIProvider, GeminiProvider } from './providers/index.js';
2
+ export { toolToDefinition, LeadCaptureTool } from './tools/index.js';
3
+ export { TextKnowledgeSource, FAQKnowledgeSource } from './knowledge/index.js';
4
+ export { ConversationManager, MemoryStore } from './conversation/index.js';
5
+ // Analytics
6
+ export { AnalyticsCollector } from './analytics/index.js';
7
+ // i18n
8
+ export { getLocale, getAvailableLocales } from './i18n/index.js';
9
+ export { en, es, hi, fr, de, ja, zh, ar } from './i18n/index.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItG,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI/E,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3E,YAAY;AACZ,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO;AACP,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface KnowledgeSource {
2
+ type: string;
3
+ getContext(query: string): Promise<string>;
4
+ }
5
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/knowledge/base.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/knowledge/base.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import type { KnowledgeSource } from './base.js';
2
+ export interface FAQPair {
3
+ question: string;
4
+ answer: string;
5
+ }
6
+ export declare class FAQKnowledgeSource implements KnowledgeSource {
7
+ type: string;
8
+ private pairs;
9
+ constructor(pairs: FAQPair[]);
10
+ getContext(query: string): Promise<string>;
11
+ private formatPairs;
12
+ }
13
+ //# sourceMappingURL=faq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"faq.d.ts","sourceRoot":"","sources":["../../src/knowledge/faq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,kBAAmB,YAAW,eAAe;IACxD,IAAI,SAAS;IACb,OAAO,CAAC,KAAK,CAAY;gBAEb,KAAK,EAAE,OAAO,EAAE;IAItB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBhD,OAAO,CAAC,WAAW;CAIpB"}