@sprucelabs/sprucebot-llm 11.1.14 → 11.1.15

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 (207) hide show
  1. package/build/.spruce/errors/errors.types.js +0 -1
  2. package/build/.spruce/errors/options.types.js +0 -1
  3. package/build/.spruce/errors/sprucebotLlm/callbackError.schema.js +0 -1
  4. package/build/.spruce/errors/sprucebotLlm/invalidCallback.schema.js +0 -1
  5. package/build/.spruce/errors/sprucebotLlm/noBotInstanceSet.schema.js +0 -1
  6. package/build/.spruce/schemas/fields/fieldClassMap.js +0 -1
  7. package/build/.spruce/schemas/fields/fields.types.js +0 -1
  8. package/build/bots/PromptGenerator.js +0 -1
  9. package/build/bots/SprucebotLlmBotImpl.js +0 -1
  10. package/build/bots/SprucebotLlmFactory.js +0 -1
  11. package/build/bots/SprucebotLlmSkillImpl.js +0 -1
  12. package/build/bots/adapters/OpenAi.js +0 -1
  13. package/build/bots/adapters/OpenAiMessageBuilder.js +0 -1
  14. package/build/bots/adapters/SpyOpenAiApi.js +0 -1
  15. package/build/bots/templates.js +0 -1
  16. package/build/chat.js +0 -1
  17. package/build/chatWithImages.js +0 -1
  18. package/build/errors/SpruceError.js +0 -1
  19. package/build/errors/callbackError.builder.js +0 -1
  20. package/build/errors/invalidCallback.builder.js +0 -1
  21. package/build/errors/noBotInstanceSet.builder.js +0 -1
  22. package/build/esm/.spruce/errors/errors.types.d.ts +52 -0
  23. package/build/esm/.spruce/errors/errors.types.js +1 -0
  24. package/build/esm/.spruce/errors/options.types.d.ts +13 -0
  25. package/build/esm/.spruce/errors/options.types.js +1 -0
  26. package/build/esm/.spruce/errors/sprucebotLlm/callbackError.schema.d.ts +3 -0
  27. package/build/esm/.spruce/errors/sprucebotLlm/callbackError.schema.js +12 -0
  28. package/build/esm/.spruce/errors/sprucebotLlm/invalidCallback.schema.d.ts +3 -0
  29. package/build/esm/.spruce/errors/sprucebotLlm/invalidCallback.schema.js +27 -0
  30. package/build/esm/.spruce/errors/sprucebotLlm/noBotInstanceSet.schema.d.ts +3 -0
  31. package/build/esm/.spruce/errors/sprucebotLlm/noBotInstanceSet.schema.js +12 -0
  32. package/build/esm/.spruce/event-cache.json +1 -0
  33. package/build/esm/.spruce/schemas/fields/fieldClassMap.d.ts +2 -0
  34. package/build/esm/.spruce/schemas/fields/fieldClassMap.js +5 -0
  35. package/build/esm/.spruce/schemas/fields/fields.types.d.ts +1 -0
  36. package/build/esm/.spruce/schemas/fields/fields.types.js +3 -0
  37. package/build/esm/.spruce/settings.json +13 -0
  38. package/build/esm/bots/PromptGenerator.d.ts +22 -0
  39. package/build/esm/bots/PromptGenerator.js +74 -0
  40. package/build/esm/bots/SprucebotLlmBotImpl.d.ts +26 -0
  41. package/build/esm/bots/SprucebotLlmBotImpl.js +163 -0
  42. package/build/esm/bots/SprucebotLlmFactory.d.ts +15 -0
  43. package/build/esm/bots/SprucebotLlmFactory.js +41 -0
  44. package/build/esm/bots/SprucebotLlmSkillImpl.d.ts +12 -0
  45. package/build/esm/bots/SprucebotLlmSkillImpl.js +47 -0
  46. package/build/esm/bots/adapters/OpenAi.d.ts +11 -0
  47. package/build/esm/bots/adapters/OpenAi.js +46 -0
  48. package/build/esm/bots/adapters/OpenAiMessageBuilder.d.ts +18 -0
  49. package/build/esm/bots/adapters/OpenAiMessageBuilder.js +153 -0
  50. package/build/esm/bots/adapters/SpyOpenAiApi.d.ts +19 -0
  51. package/build/esm/bots/adapters/SpyOpenAiApi.js +49 -0
  52. package/build/esm/bots/templates.d.ts +4 -0
  53. package/build/esm/bots/templates.js +68 -0
  54. package/build/esm/chat.d.ts +1 -0
  55. package/build/esm/chat.js +53 -0
  56. package/build/esm/chatWithImages.d.ts +1 -0
  57. package/build/esm/chatWithImages.js +46 -0
  58. package/build/esm/errors/SpruceError.d.ts +6 -0
  59. package/build/esm/errors/SpruceError.js +25 -0
  60. package/build/esm/errors/callbackError.builder.d.ts +6 -0
  61. package/build/esm/errors/callbackError.builder.js +6 -0
  62. package/build/esm/errors/invalidCallback.builder.d.ts +17 -0
  63. package/build/esm/errors/invalidCallback.builder.js +17 -0
  64. package/build/esm/errors/noBotInstanceSet.builder.d.ts +6 -0
  65. package/build/esm/errors/noBotInstanceSet.builder.js +6 -0
  66. package/build/esm/examples/buildCallbackSkill.d.ts +2 -0
  67. package/build/esm/examples/buildCallbackSkill.js +57 -0
  68. package/build/esm/examples/buildFileTransformerSkill.d.ts +2 -0
  69. package/build/esm/examples/buildFileTransformerSkill.js +25 -0
  70. package/build/esm/examples/buildJokeSkill.d.ts +2 -0
  71. package/build/esm/examples/buildJokeSkill.js +12 -0
  72. package/build/esm/examples/buildProfileSkill.d.ts +2 -0
  73. package/build/esm/examples/buildProfileSkill.js +30 -0
  74. package/build/esm/examples/buildReceptionistSkill.d.ts +2 -0
  75. package/build/esm/examples/buildReceptionistSkill.js +16 -0
  76. package/build/esm/examples/images/image1.png +0 -0
  77. package/build/esm/examples/images/image2.png +0 -0
  78. package/build/esm/fineTuningSprucebot/constants/DIRECTORY_SHARES.d.ts +1 -0
  79. package/build/esm/fineTuningSprucebot/constants/DIRECTORY_SHARES.js +7 -0
  80. package/build/esm/fineTuningSprucebot/constants/FIRST_MESSAGES.d.ts +1 -0
  81. package/build/esm/fineTuningSprucebot/constants/FIRST_MESSAGES.js +17 -0
  82. package/build/esm/fineTuningSprucebot/constants/GREETINGS.d.ts +1 -0
  83. package/build/esm/fineTuningSprucebot/constants/GREETINGS.js +22 -0
  84. package/build/esm/fineTuningSprucebot/constants/OFF_THE_RAILS_CONVERSATIONS.d.ts +2 -0
  85. package/build/esm/fineTuningSprucebot/constants/OFF_THE_RAILS_CONVERSATIONS.js +32 -0
  86. package/build/esm/fineTuningSprucebot/constants/TOPICS.d.ts +2 -0
  87. package/build/esm/fineTuningSprucebot/constants/TOPICS.js +314 -0
  88. package/build/esm/fineTuningSprucebot/generateSamples.d.ts +1 -0
  89. package/build/esm/fineTuningSprucebot/generateSamples.js +41 -0
  90. package/build/esm/fineTuningSprucebot/promptTemplate.txt +9 -0
  91. package/build/esm/fineTuningSprucebot/promptTemplateNoTopics.txt +6 -0
  92. package/build/esm/fineTuningSprucebot/support.d.ts +12 -0
  93. package/build/esm/fineTuningSprucebot/support.js +60 -0
  94. package/build/esm/fineTuningSprucebot/types.d.ts +15 -0
  95. package/build/esm/fineTuningSprucebot/types.js +1 -0
  96. package/build/esm/index.d.ts +10 -0
  97. package/build/esm/index.js +10 -0
  98. package/build/esm/llm.types.d.ts +84 -0
  99. package/build/esm/llm.types.js +6 -0
  100. package/build/esm/parsingResponses/ResponseParser.d.ts +18 -0
  101. package/build/esm/parsingResponses/ResponseParser.js +115 -0
  102. package/build/esm/parsingResponses/renderPlaceholder.d.ts +1 -0
  103. package/build/esm/parsingResponses/renderPlaceholder.js +4 -0
  104. package/build/esm/tests/MockLlmSkill.d.ts +14 -0
  105. package/build/esm/tests/MockLlmSkill.js +60 -0
  106. package/build/esm/tests/SpyAdapter.d.ts +8 -0
  107. package/build/esm/tests/SpyAdapter.js +21 -0
  108. package/build/esm/tests/SpyLlmBot.d.ts +12 -0
  109. package/build/esm/tests/SpyLlmBot.js +20 -0
  110. package/build/examples/buildCallbackSkill.js +0 -1
  111. package/build/examples/buildFileTransformerSkill.js +0 -1
  112. package/build/examples/buildJokeSkill.js +0 -1
  113. package/build/examples/buildProfileSkill.js +0 -1
  114. package/build/examples/buildReceptionistSkill.js +0 -1
  115. package/build/fineTuningSprucebot/constants/DIRECTORY_SHARES.js +0 -1
  116. package/build/fineTuningSprucebot/constants/FIRST_MESSAGES.js +0 -1
  117. package/build/fineTuningSprucebot/constants/GREETINGS.js +0 -1
  118. package/build/fineTuningSprucebot/constants/OFF_THE_RAILS_CONVERSATIONS.js +0 -1
  119. package/build/fineTuningSprucebot/constants/TOPICS.js +0 -1
  120. package/build/fineTuningSprucebot/generateSamples.js +0 -1
  121. package/build/fineTuningSprucebot/support.js +0 -1
  122. package/build/fineTuningSprucebot/types.js +0 -1
  123. package/build/index.js +0 -1
  124. package/build/llm.types.js +0 -1
  125. package/build/parsingResponses/ResponseParser.js +0 -1
  126. package/build/parsingResponses/renderPlaceholder.js +0 -1
  127. package/build/tests/MockLlmSkill.js +0 -1
  128. package/build/tests/SpyAdapter.js +0 -1
  129. package/build/tests/SpyLlmBot.js +0 -1
  130. package/package.json +1 -1
  131. package/build/__tests__/behavioral/LlmBot.test.d.ts +0 -55
  132. package/build/__tests__/behavioral/LlmBot.test.js +0 -607
  133. package/build/__tests__/behavioral/LlmBot.test.js.map +0 -1
  134. package/build/__tests__/behavioral/SprucebotLlmFactory.test.d.ts +0 -16
  135. package/build/__tests__/behavioral/SprucebotLlmFactory.test.js +0 -132
  136. package/build/__tests__/behavioral/SprucebotLlmFactory.test.js.map +0 -1
  137. package/build/__tests__/behavioral/adapters/OpenAi.test.d.ts +0 -52
  138. package/build/__tests__/behavioral/adapters/OpenAi.test.js +0 -699
  139. package/build/__tests__/behavioral/adapters/OpenAi.test.js.map +0 -1
  140. package/build/__tests__/behavioral/prompts/PromptGenerator.test.d.ts +0 -20
  141. package/build/__tests__/behavioral/prompts/PromptGenerator.test.js +0 -211
  142. package/build/__tests__/behavioral/prompts/PromptGenerator.test.js.map +0 -1
  143. package/build/__tests__/behavioral/prompts/ResponseParser.test.d.ts +0 -35
  144. package/build/__tests__/behavioral/prompts/ResponseParser.test.js +0 -312
  145. package/build/__tests__/behavioral/prompts/ResponseParser.test.js.map +0 -1
  146. package/build/__tests__/behavioral/skills/Skill.test.d.ts +0 -19
  147. package/build/__tests__/behavioral/skills/Skill.test.js +0 -188
  148. package/build/__tests__/behavioral/skills/Skill.test.js.map +0 -1
  149. package/build/__tests__/behavioral/testing/MockLlmSkill.test.d.ts +0 -37
  150. package/build/__tests__/behavioral/testing/MockLlmSkill.test.js +0 -340
  151. package/build/__tests__/behavioral/testing/MockLlmSkill.test.js.map +0 -1
  152. package/build/__tests__/behavioral/testing/SpyLlmBot.test.d.ts +0 -4
  153. package/build/__tests__/behavioral/testing/SpyLlmBot.test.js +0 -34
  154. package/build/__tests__/behavioral/testing/SpyLlmBot.test.js.map +0 -1
  155. package/build/__tests__/support/AbstractLlmTest.d.ts +0 -14
  156. package/build/__tests__/support/AbstractLlmTest.js +0 -67
  157. package/build/__tests__/support/AbstractLlmTest.js.map +0 -1
  158. package/build/__tests__/support/schemas/carSchema.d.ts +0 -16
  159. package/build/__tests__/support/schemas/carSchema.js +0 -19
  160. package/build/__tests__/support/schemas/carSchema.js.map +0 -1
  161. package/build/__tests__/support/schemas/personSchema.d.ts +0 -23
  162. package/build/__tests__/support/schemas/personSchema.js +0 -37
  163. package/build/__tests__/support/schemas/personSchema.js.map +0 -1
  164. package/build/__tests__/support/schemas/personWithDefaultsSchema.d.ts +0 -13
  165. package/build/__tests__/support/schemas/personWithDefaultsSchema.js +0 -18
  166. package/build/__tests__/support/schemas/personWithDefaultsSchema.js.map +0 -1
  167. /package/build/{.spruce → esm/.spruce}/errors/errors.types.js.map +0 -0
  168. /package/build/{.spruce → esm/.spruce}/errors/options.types.js.map +0 -0
  169. /package/build/{.spruce → esm/.spruce}/errors/sprucebotLlm/callbackError.schema.js.map +0 -0
  170. /package/build/{.spruce → esm/.spruce}/errors/sprucebotLlm/invalidCallback.schema.js.map +0 -0
  171. /package/build/{.spruce → esm/.spruce}/errors/sprucebotLlm/noBotInstanceSet.schema.js.map +0 -0
  172. /package/build/{.spruce → esm/.spruce}/schemas/fields/fieldClassMap.js.map +0 -0
  173. /package/build/{.spruce → esm/.spruce}/schemas/fields/fields.types.js.map +0 -0
  174. /package/build/{bots → esm/bots}/PromptGenerator.js.map +0 -0
  175. /package/build/{bots → esm/bots}/SprucebotLlmBotImpl.js.map +0 -0
  176. /package/build/{bots → esm/bots}/SprucebotLlmFactory.js.map +0 -0
  177. /package/build/{bots → esm/bots}/SprucebotLlmSkillImpl.js.map +0 -0
  178. /package/build/{bots → esm/bots}/adapters/OpenAi.js.map +0 -0
  179. /package/build/{bots → esm/bots}/adapters/OpenAiMessageBuilder.js.map +0 -0
  180. /package/build/{bots → esm/bots}/adapters/SpyOpenAiApi.js.map +0 -0
  181. /package/build/{bots → esm/bots}/templates.js.map +0 -0
  182. /package/build/{chat.js.map → esm/chat.js.map} +0 -0
  183. /package/build/{chatWithImages.js.map → esm/chatWithImages.js.map} +0 -0
  184. /package/build/{errors → esm/errors}/SpruceError.js.map +0 -0
  185. /package/build/{errors → esm/errors}/callbackError.builder.js.map +0 -0
  186. /package/build/{errors → esm/errors}/invalidCallback.builder.js.map +0 -0
  187. /package/build/{errors → esm/errors}/noBotInstanceSet.builder.js.map +0 -0
  188. /package/build/{examples → esm/examples}/buildCallbackSkill.js.map +0 -0
  189. /package/build/{examples → esm/examples}/buildFileTransformerSkill.js.map +0 -0
  190. /package/build/{examples → esm/examples}/buildJokeSkill.js.map +0 -0
  191. /package/build/{examples → esm/examples}/buildProfileSkill.js.map +0 -0
  192. /package/build/{examples → esm/examples}/buildReceptionistSkill.js.map +0 -0
  193. /package/build/{fineTuningSprucebot → esm/fineTuningSprucebot}/constants/DIRECTORY_SHARES.js.map +0 -0
  194. /package/build/{fineTuningSprucebot → esm/fineTuningSprucebot}/constants/FIRST_MESSAGES.js.map +0 -0
  195. /package/build/{fineTuningSprucebot → esm/fineTuningSprucebot}/constants/GREETINGS.js.map +0 -0
  196. /package/build/{fineTuningSprucebot → esm/fineTuningSprucebot}/constants/OFF_THE_RAILS_CONVERSATIONS.js.map +0 -0
  197. /package/build/{fineTuningSprucebot → esm/fineTuningSprucebot}/constants/TOPICS.js.map +0 -0
  198. /package/build/{fineTuningSprucebot → esm/fineTuningSprucebot}/generateSamples.js.map +0 -0
  199. /package/build/{fineTuningSprucebot → esm/fineTuningSprucebot}/support.js.map +0 -0
  200. /package/build/{fineTuningSprucebot → esm/fineTuningSprucebot}/types.js.map +0 -0
  201. /package/build/{index.js.map → esm/index.js.map} +0 -0
  202. /package/build/{llm.types.js.map → esm/llm.types.js.map} +0 -0
  203. /package/build/{parsingResponses → esm/parsingResponses}/ResponseParser.js.map +0 -0
  204. /package/build/{parsingResponses → esm/parsingResponses}/renderPlaceholder.js.map +0 -0
  205. /package/build/{tests → esm/tests}/MockLlmSkill.js.map +0 -0
  206. /package/build/{tests → esm/tests}/SpyAdapter.js.map +0 -0
  207. /package/build/{tests → esm/tests}/SpyLlmBot.js.map +0 -0
@@ -1,607 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const test_utils_1 = require("@sprucelabs/test-utils");
13
- const SprucebotLlmBotImpl_1 = __importDefault(require("../../bots/SprucebotLlmBotImpl"));
14
- const SpruceError_1 = __importDefault(require("../../errors/SpruceError"));
15
- const ResponseParser_1 = __importDefault(require("../../parsingResponses/ResponseParser"));
16
- const AbstractLlmTest_1 = __importDefault(require("../support/AbstractLlmTest"));
17
- const carSchema_1 = require("../support/schemas/carSchema");
18
- const personSchema_1 = require("../support/schemas/personSchema");
19
- const personWithDefaultsSchema_1 = require("../support/schemas/personWithDefaultsSchema");
20
- let LlmBotTest = class LlmBotTest extends AbstractLlmTest_1.default {
21
- async beforeEach() {
22
- await super.beforeEach();
23
- this.bot = this.Bot({
24
- stateSchema: personSchema_1.personSchema,
25
- });
26
- this.parser = new FakeResponseParser();
27
- ResponseParser_1.default.setInstance(this.parser);
28
- }
29
- async throwsWhenSendingBadMessage() {
30
- //@ts-ignore
31
- const err = await test_utils_1.assert.doesThrowAsync(() => this.bot.sendMessage());
32
- test_utils_1.errorAssert.assertError(err, 'MISSING_PARAMETERS', {
33
- parameters: ['message'],
34
- });
35
- }
36
- async sendsItselfToTheLlmAdapter() {
37
- const message = (0, test_utils_1.generateId)();
38
- await this.sendMessage(message);
39
- test_utils_1.assert.isEqual(this.adapter.lastBot, this.bot);
40
- }
41
- async serializesAsExpected() {
42
- const youAre = (0, test_utils_1.generateId)();
43
- const state = {
44
- favoriteColor: 'red',
45
- firstName: (0, test_utils_1.generateId)(),
46
- };
47
- this.bot = this.Bot({
48
- youAre,
49
- stateSchema: personSchema_1.personSchema,
50
- state,
51
- });
52
- test_utils_1.assert.isEqualDeep(this.bot.serialize(), {
53
- youAre,
54
- stateSchema: personSchema_1.personSchema,
55
- state,
56
- messages: [],
57
- skill: undefined,
58
- });
59
- }
60
- async canUpdateState() {
61
- const newState = {
62
- favoriteColor: 'blue',
63
- firstName: (0, test_utils_1.generateId)(),
64
- };
65
- await this.updateState(newState);
66
- this.assertSerializedStateEquals(newState);
67
- }
68
- async updatingStateMixesIn() {
69
- const state = {
70
- make: 'Ford',
71
- };
72
- this.bot = this.Bot({
73
- stateSchema: carSchema_1.carSchema,
74
- state,
75
- });
76
- const newState = {
77
- model: 'F-150',
78
- };
79
- await this.updateState(newState);
80
- const expected = {
81
- ...state,
82
- ...newState,
83
- };
84
- this.assertSerializedStateEquals(expected);
85
- }
86
- async stateHonorsDefaultValues() {
87
- this.bot = this.Bot({
88
- stateSchema: personWithDefaultsSchema_1.personWithDefaultsSchema,
89
- });
90
- this.assertSerializedStateEquals({
91
- firstName: 'John',
92
- lastName: 'Doe',
93
- });
94
- }
95
- async updatingStateEmitsDidUpdateState() {
96
- let wasHit = false;
97
- await this.bot.on('did-update-state', () => {
98
- wasHit = true;
99
- });
100
- await this.updateState({
101
- favoriteColor: 'blue',
102
- });
103
- test_utils_1.assert.isTrue(wasHit);
104
- }
105
- async knowsWhenDone() {
106
- test_utils_1.assert.isFalse(this.bot.getIsDone());
107
- this.bot.markAsDone();
108
- test_utils_1.assert.isTrue(this.bot.getIsDone());
109
- }
110
- async sendMessageReturnsResponseFromAdapter() {
111
- this.adapter.messageResponse = (0, test_utils_1.generateId)();
112
- const message = (0, test_utils_1.generateId)();
113
- const response = await this.sendMessage(message);
114
- test_utils_1.assert.isEqual(response, this.adapter.messageResponse);
115
- }
116
- async tracksMessageHistory() {
117
- const message = (0, test_utils_1.generateId)();
118
- this.adapter.messageResponse = (0, test_utils_1.generateId)();
119
- await this.sendMessage(message);
120
- const { messages } = this.bot.serialize();
121
- test_utils_1.assert.isEqualDeep(messages, [
122
- {
123
- from: 'Me',
124
- message,
125
- },
126
- {
127
- from: 'You',
128
- message: this.adapter.messageResponse,
129
- },
130
- ]);
131
- }
132
- async trackedMessageUsesResponseFromAdapterNotParser() {
133
- this.setupBotWithSkill({
134
- callbacks: {
135
- helloWorld: {
136
- cb: () => 'Hello, World!',
137
- useThisWhenever: 'Hello, World!',
138
- },
139
- },
140
- });
141
- this.adapter.messageResponse =
142
- 'should use this response to track message history';
143
- this.parser.response.message = (0, test_utils_1.generateId)();
144
- await this.sendMessage((0, test_utils_1.generateId)());
145
- const { messages } = this.bot.serialize();
146
- test_utils_1.assert.isEqual(messages[1].message, 'should use this response to track message history');
147
- }
148
- async isDoneWhenParsesSaysSo() {
149
- this.setParserResponseIsDone(true);
150
- await this.sendMessage((0, test_utils_1.generateId)());
151
- test_utils_1.assert.isTrue(this.bot.getIsDone());
152
- }
153
- async notDoneUntilDone() {
154
- this.setParserResponseIsDone(false);
155
- await this.sendMessage((0, test_utils_1.generateId)());
156
- test_utils_1.assert.isFalse(this.bot.getIsDone());
157
- }
158
- async botActuallySendsResponseToParser() {
159
- this.adapter.messageResponse = (0, test_utils_1.generateId)();
160
- await this.sendMessage((0, test_utils_1.generateId)());
161
- test_utils_1.assert.isEqual(this.parser.lastMessage, this.adapter.messageResponse);
162
- }
163
- async enheritesStateSchemaFromSkillWhenSerializing() {
164
- this.setupBotWithSkill({
165
- stateSchema: personSchema_1.personSchema,
166
- });
167
- const { stateSchema } = this.serialize();
168
- test_utils_1.assert.isEqualDeep(stateSchema, personSchema_1.personSchema);
169
- }
170
- async inheritsStateFromSkillWhenSerializing(skillState) {
171
- this.setupBotWithSkill({
172
- stateSchema: personSchema_1.personSchema,
173
- state: skillState,
174
- });
175
- const { state } = this.bot.serialize();
176
- test_utils_1.assert.isEqualDeep(state, skillState);
177
- }
178
- async stateIsSentBackToBotWhenParsing(state) {
179
- this.bot = this.Bot({
180
- stateSchema: personSchema_1.personSchema,
181
- });
182
- await this.sendMessageWithResponseState(state);
183
- this.assertSerializedStateEquals(state);
184
- }
185
- async emitsDidUpdateStateWhenStateIsUpdated() {
186
- this.bot = this.Bot({
187
- stateSchema: personSchema_1.personSchema,
188
- });
189
- let wasHit = false;
190
- await this.bot.on('did-update-state', () => {
191
- wasHit = true;
192
- });
193
- await this.sendMessageWithResponseState({
194
- favoriteColor: 'blue',
195
- });
196
- test_utils_1.assert.isTrue(wasHit);
197
- }
198
- async shouldNotEmitUpdateItNoStatePassed() {
199
- let wasHit = false;
200
- await this.bot.on('did-update-state', () => {
201
- wasHit = true;
202
- });
203
- await this.sendRandomMessage();
204
- test_utils_1.assert.isFalse(wasHit);
205
- }
206
- async setsStateInResponseToSkillIfSkillHasState(state) {
207
- const skill = this.setupBotWithSkill({
208
- stateSchema: personSchema_1.personSchema,
209
- });
210
- await this.sendMessageWithResponseState(state);
211
- test_utils_1.assert.isEqualDeep(skill.serialize().state, state);
212
- test_utils_1.assert.isUndefined(this.bot.getState());
213
- }
214
- async doesntEmitDidChangeOnSkillIfStateIsNotOnSkill() {
215
- const skill = this.setupBotWithSkill({});
216
- let wasHit = false;
217
- await skill.on('did-update-state', () => {
218
- wasHit = true;
219
- });
220
- await this.sendRandomMessage();
221
- test_utils_1.assert.isFalse(wasHit);
222
- }
223
- async passesCallbacksToParserOnResponse() {
224
- const callbacks = {
225
- foo: {
226
- cb: () => 'hey',
227
- useThisWhenever: 'hey',
228
- },
229
- };
230
- this.setupBotWithSkill({
231
- callbacks,
232
- });
233
- await this.sendRandomMessage();
234
- test_utils_1.assert.isEqual(this.parser.lastCallbacks, callbacks, 'did not pass callbacks to parser');
235
- }
236
- async canSwapSkillMidWayThrough() {
237
- this.setupBotWithSkill({});
238
- const skill2 = this.Skill();
239
- this.bot.setSkill(skill2);
240
- test_utils_1.assert.isEqual(this.bot.getSkill(), skill2);
241
- }
242
- async defaultLimitsMessagesTo10() {
243
- await this.sendRandomMessage();
244
- this.assertTotalMessagesTracked(2);
245
- await this.sendRandomMessage();
246
- this.assertTotalMessagesTracked(4);
247
- await this.sendRandomMessage();
248
- await this.sendRandomMessage();
249
- await this.sendRandomMessage();
250
- const body = await this.sendRandomMessage();
251
- this.assertTotalMessagesTracked(10);
252
- test_utils_1.assert.doesInclude(this.messages, { message: body });
253
- }
254
- async canSetMemory() {
255
- SprucebotLlmBotImpl_1.default.messageMemoryLimit = 5;
256
- await this.sendRandomMessage();
257
- this.assertTotalMessagesTracked(2);
258
- await this.sendRandomMessage();
259
- this.assertTotalMessagesTracked(4);
260
- await this.sendRandomMessage();
261
- await this.sendRandomMessage();
262
- await this.sendRandomMessage();
263
- this.assertTotalMessagesTracked(5);
264
- }
265
- async settingSkillToBotSetsToNotDone() {
266
- this.bot.markAsDone();
267
- this.bot.setSkill(this.Skill());
268
- test_utils_1.assert.isFalse(this.bot.getIsDone());
269
- }
270
- async canClearMessageHistory() {
271
- await this.sendRandomMessage();
272
- this.bot.clearMessageHistory();
273
- test_utils_1.assert.isLength(this.messages, 0);
274
- }
275
- async botRespondingCallsMessageCallback() {
276
- this.setParserResponseMessage();
277
- let passedMessage;
278
- await this.sendMessage((0, test_utils_1.generateId)(), (message) => {
279
- passedMessage = message;
280
- });
281
- test_utils_1.assert.isEqual(passedMessage, this.parserResponse);
282
- }
283
- async messageCallbackFiredAfterAllMessagesTracked() {
284
- await this.sendMessage((0, test_utils_1.generateId)(), () => {
285
- this.assertTotalMessagesTracked(2);
286
- });
287
- }
288
- async ifParserRespondsWithCallbackResultsTheyAreSentImmediately() {
289
- const functionCallResponse = (0, test_utils_1.generateId)();
290
- const response1 = (0, test_utils_1.generateId)();
291
- const response2 = (0, test_utils_1.generateId)();
292
- this.adapter.messageResponse = response1;
293
- this.setParserResponseCallbackResults(functionCallResponse);
294
- let passedMessages = [];
295
- const message = await this.sendRandomMessage((message) => {
296
- passedMessages.push(message);
297
- this.setParserResponseCallbackResults(undefined);
298
- this.adapter.messageResponse = response2;
299
- });
300
- test_utils_1.assert.isEqualDeep(this.messages, [
301
- {
302
- from: 'Me',
303
- message,
304
- },
305
- {
306
- from: 'You',
307
- message: response1,
308
- },
309
- {
310
- from: 'Api',
311
- message: `API Results: ${functionCallResponse}`,
312
- },
313
- {
314
- from: 'You',
315
- message: response2,
316
- },
317
- ]);
318
- test_utils_1.assert.isEqualDeep(passedMessages, [response1, response2], 'Messages passed to callback do not match');
319
- }
320
- async handleParserRespondingWithImage() {
321
- const base64Image = (0, test_utils_1.generateId)();
322
- const description = (0, test_utils_1.generateId)();
323
- const functionResponse = {
324
- imageBase64: base64Image,
325
- imageDescription: description,
326
- };
327
- this.setParserResponseCallbackResults(functionResponse);
328
- await this.sendRandomMessage(() => {
329
- this.setParserResponseCallbackResults(undefined);
330
- });
331
- test_utils_1.assert.isEqualDeep(this.messages[2], {
332
- from: 'Api',
333
- message: `API Results: ${description}`,
334
- imageBase64: base64Image,
335
- });
336
- }
337
- async sendsMessageBackToBotIfParserThrows() {
338
- const passedMessages = [];
339
- const error = (0, test_utils_1.generateId)();
340
- const parserResponse = (0, test_utils_1.generateId)();
341
- this.setParserResponseMessage(parserResponse);
342
- this.parser.invalidParseErrorOnNextParse = error;
343
- await this.sendMessage((0, test_utils_1.generateId)(), (message) => {
344
- passedMessages.push(message);
345
- });
346
- test_utils_1.assert.isEqual(this.messages[2].message, 'Error: ' + error);
347
- test_utils_1.assert.isEqualDeep(passedMessages, [parserResponse]);
348
- }
349
- async sendsMessageBackToBotIfCallbackThrows() {
350
- const passedMessages = [];
351
- const error = (0, test_utils_1.generateId)();
352
- const parserResponse = (0, test_utils_1.generateId)();
353
- this.setParserResponseMessage(parserResponse);
354
- this.parser.callbackErrorOnNextParse = error;
355
- await this.sendMessage((0, test_utils_1.generateId)(), (message) => {
356
- passedMessages.push(message);
357
- });
358
- test_utils_1.assert.isEqual(this.messages[2].message, 'Error: A Callback error just happened!');
359
- test_utils_1.assert.isEqualDeep(passedMessages, [parserResponse]);
360
- }
361
- async responseThatThrowsIsStillTracked() {
362
- const error = (0, test_utils_1.generateId)();
363
- this.adapter.messageResponse = (0, test_utils_1.generateId)();
364
- this.parser.invalidParseErrorOnNextParse = error;
365
- const initialMessage = (0, test_utils_1.generateId)();
366
- await this.sendMessage(initialMessage);
367
- test_utils_1.assert.isEqualDeep(this.messages, [
368
- {
369
- from: 'Me',
370
- message: initialMessage,
371
- },
372
- {
373
- from: 'You',
374
- message: this.adapter.messageResponse,
375
- },
376
- {
377
- from: 'Api',
378
- message: 'Error: ' + error,
379
- },
380
- {
381
- from: 'You',
382
- message: this.adapter.messageResponse,
383
- },
384
- ], 'Messages');
385
- }
386
- async canSendImage() {
387
- const base64 = (0, test_utils_1.generateId)();
388
- const description = (0, test_utils_1.generateId)();
389
- await this.sendMessage({
390
- imageBase64: base64,
391
- imageDescription: description,
392
- });
393
- test_utils_1.assert.isEqualDeep(this.messages[0], {
394
- from: 'Me',
395
- message: description,
396
- imageBase64: base64,
397
- });
398
- }
399
- setParserResponseCallbackResults(results) {
400
- this.parser.response.callbackResults = results;
401
- }
402
- get parserResponse() {
403
- return this.parser.response.message;
404
- }
405
- setParserResponseMessage(message) {
406
- this.parser.response.message = message ?? (0, test_utils_1.generateId)();
407
- }
408
- setParserResponseIsDone(isDone) {
409
- this.parser.response.isDone = isDone;
410
- }
411
- assertTotalMessagesTracked(expected) {
412
- test_utils_1.assert.isLength(this.messages, expected);
413
- }
414
- get messages() {
415
- return this.bot.getMessages();
416
- }
417
- setupBotWithSkill(options) {
418
- const skill = this.Skill(options);
419
- this.bot = this.Bot({
420
- skill,
421
- });
422
- return skill;
423
- }
424
- async sendMessageWithResponseState(state) {
425
- this.setStateInResponse(state);
426
- await this.sendRandomMessage();
427
- }
428
- async sendRandomMessage(cb) {
429
- const body = (0, test_utils_1.generateId)();
430
- await this.sendMessage(body, cb);
431
- return body;
432
- }
433
- setStateInResponse(state) {
434
- this.parser.response.state = state;
435
- }
436
- async sendMessage(message, cb) {
437
- return await this.bot.sendMessage(message, cb);
438
- }
439
- serialize() {
440
- return this.bot.serialize();
441
- }
442
- async updateState(updates) {
443
- await this.bot.updateState(updates);
444
- }
445
- assertSerializedStateEquals(expected) {
446
- test_utils_1.assert.isEqualDeep(this.bot.serialize().state, expected);
447
- }
448
- };
449
- __decorate([
450
- (0, test_utils_1.test)()
451
- ], LlmBotTest.prototype, "throwsWhenSendingBadMessage", null);
452
- __decorate([
453
- (0, test_utils_1.test)()
454
- ], LlmBotTest.prototype, "sendsItselfToTheLlmAdapter", null);
455
- __decorate([
456
- (0, test_utils_1.test)()
457
- ], LlmBotTest.prototype, "serializesAsExpected", null);
458
- __decorate([
459
- (0, test_utils_1.test)()
460
- ], LlmBotTest.prototype, "canUpdateState", null);
461
- __decorate([
462
- (0, test_utils_1.test)()
463
- ], LlmBotTest.prototype, "updatingStateMixesIn", null);
464
- __decorate([
465
- (0, test_utils_1.test)()
466
- ], LlmBotTest.prototype, "stateHonorsDefaultValues", null);
467
- __decorate([
468
- (0, test_utils_1.test)()
469
- ], LlmBotTest.prototype, "updatingStateEmitsDidUpdateState", null);
470
- __decorate([
471
- (0, test_utils_1.test)()
472
- ], LlmBotTest.prototype, "knowsWhenDone", null);
473
- __decorate([
474
- (0, test_utils_1.test)()
475
- ], LlmBotTest.prototype, "sendMessageReturnsResponseFromAdapter", null);
476
- __decorate([
477
- (0, test_utils_1.test)()
478
- ], LlmBotTest.prototype, "tracksMessageHistory", null);
479
- __decorate([
480
- (0, test_utils_1.test)()
481
- ], LlmBotTest.prototype, "trackedMessageUsesResponseFromAdapterNotParser", null);
482
- __decorate([
483
- (0, test_utils_1.test)()
484
- ], LlmBotTest.prototype, "isDoneWhenParsesSaysSo", null);
485
- __decorate([
486
- (0, test_utils_1.test)()
487
- ], LlmBotTest.prototype, "notDoneUntilDone", null);
488
- __decorate([
489
- (0, test_utils_1.test)()
490
- ], LlmBotTest.prototype, "botActuallySendsResponseToParser", null);
491
- __decorate([
492
- (0, test_utils_1.test)()
493
- ], LlmBotTest.prototype, "enheritesStateSchemaFromSkillWhenSerializing", null);
494
- __decorate([
495
- (0, test_utils_1.test)('inherits state from skill when serializing', {
496
- favoriteColor: 'blue',
497
- }),
498
- (0, test_utils_1.test)('inherits state from skill when serializing 2', {
499
- firstName: (0, test_utils_1.generateId)(),
500
- })
501
- ], LlmBotTest.prototype, "inheritsStateFromSkillWhenSerializing", null);
502
- __decorate([
503
- (0, test_utils_1.test)('inherits state from bot when parsing response', {
504
- favoriteColor: 'red',
505
- }),
506
- (0, test_utils_1.test)('inherits state from bot when parsing response 2', {
507
- firstName: (0, test_utils_1.generateId)(),
508
- })
509
- ], LlmBotTest.prototype, "stateIsSentBackToBotWhenParsing", null);
510
- __decorate([
511
- (0, test_utils_1.test)()
512
- ], LlmBotTest.prototype, "emitsDidUpdateStateWhenStateIsUpdated", null);
513
- __decorate([
514
- (0, test_utils_1.test)()
515
- ], LlmBotTest.prototype, "shouldNotEmitUpdateItNoStatePassed", null);
516
- __decorate([
517
- (0, test_utils_1.test)('sets state in response to skill if skill has state 1', {
518
- favoriteColor: 'blue',
519
- }),
520
- (0, test_utils_1.test)('sets state in response to skill if skill has state 2', {
521
- firstName: (0, test_utils_1.generateId)(),
522
- })
523
- ], LlmBotTest.prototype, "setsStateInResponseToSkillIfSkillHasState", null);
524
- __decorate([
525
- (0, test_utils_1.test)()
526
- ], LlmBotTest.prototype, "doesntEmitDidChangeOnSkillIfStateIsNotOnSkill", null);
527
- __decorate([
528
- (0, test_utils_1.test)()
529
- ], LlmBotTest.prototype, "passesCallbacksToParserOnResponse", null);
530
- __decorate([
531
- (0, test_utils_1.test)()
532
- ], LlmBotTest.prototype, "canSwapSkillMidWayThrough", null);
533
- __decorate([
534
- (0, test_utils_1.test)()
535
- ], LlmBotTest.prototype, "defaultLimitsMessagesTo10", null);
536
- __decorate([
537
- (0, test_utils_1.test)()
538
- ], LlmBotTest.prototype, "canSetMemory", null);
539
- __decorate([
540
- (0, test_utils_1.test)()
541
- ], LlmBotTest.prototype, "settingSkillToBotSetsToNotDone", null);
542
- __decorate([
543
- (0, test_utils_1.test)()
544
- ], LlmBotTest.prototype, "canClearMessageHistory", null);
545
- __decorate([
546
- (0, test_utils_1.test)()
547
- ], LlmBotTest.prototype, "botRespondingCallsMessageCallback", null);
548
- __decorate([
549
- (0, test_utils_1.test)()
550
- ], LlmBotTest.prototype, "messageCallbackFiredAfterAllMessagesTracked", null);
551
- __decorate([
552
- (0, test_utils_1.test)()
553
- ], LlmBotTest.prototype, "ifParserRespondsWithCallbackResultsTheyAreSentImmediately", null);
554
- __decorate([
555
- (0, test_utils_1.test)()
556
- ], LlmBotTest.prototype, "handleParserRespondingWithImage", null);
557
- __decorate([
558
- (0, test_utils_1.test)()
559
- ], LlmBotTest.prototype, "sendsMessageBackToBotIfParserThrows", null);
560
- __decorate([
561
- (0, test_utils_1.test)()
562
- ], LlmBotTest.prototype, "sendsMessageBackToBotIfCallbackThrows", null);
563
- __decorate([
564
- (0, test_utils_1.test)()
565
- ], LlmBotTest.prototype, "responseThatThrowsIsStillTracked", null);
566
- __decorate([
567
- (0, test_utils_1.test)()
568
- ], LlmBotTest.prototype, "canSendImage", null);
569
- LlmBotTest = __decorate([
570
- (0, test_utils_1.suite)()
571
- ], LlmBotTest);
572
- exports.default = LlmBotTest;
573
- class FakeResponseParser extends ResponseParser_1.default {
574
- constructor() {
575
- super(...arguments);
576
- this.response = {
577
- isDone: false,
578
- state: undefined,
579
- };
580
- }
581
- async parse(message, callbacks) {
582
- if (this.invalidParseErrorOnNextParse) {
583
- const invalidParse = this.invalidParseErrorOnNextParse;
584
- delete this.invalidParseErrorOnNextParse;
585
- throw new SpruceError_1.default({
586
- code: 'INVALID_CALLBACK',
587
- matchedCallback: (0, test_utils_1.generateId)(),
588
- validCallbacks: [],
589
- friendlyMessage: invalidParse,
590
- });
591
- }
592
- if (this.callbackErrorOnNextParse) {
593
- delete this.callbackErrorOnNextParse;
594
- throw new SpruceError_1.default({
595
- code: 'CALLBACK_ERROR',
596
- });
597
- }
598
- this.lastMessage = message;
599
- this.lastCallbacks = callbacks;
600
- return {
601
- message,
602
- isDone: false,
603
- ...this.response,
604
- };
605
- }
606
- }
607
- //# sourceMappingURL=LlmBot.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LlmBot.test.js","sourceRoot":"","sources":["../../../src/__tests__/behavioral/LlmBot.test.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import AbstractLlmTest from '../support/AbstractLlmTest';
2
- export default class SprucebotLlmFactoryTest extends AbstractLlmTest {
3
- protected canGetInstance(): Promise<void>;
4
- protected factoryMethodThrowsWithMissing(): Promise<void>;
5
- protected throwsWhenMissingBotOptions(): Promise<void>;
6
- protected canGetBot(): Promise<void>;
7
- protected cantGetInstanceUntilOneIsSet(): void;
8
- protected canGetBotInstance(): Promise<void>;
9
- protected getInstanceReturnsBot(): void;
10
- protected canSetTheFactoryClass(): Promise<void>;
11
- protected canSetBotClass(): Promise<void>;
12
- protected canSetSkillClass(): Promise<void>;
13
- protected resettingFactoryClassResetsClasses(): Promise<void>;
14
- private setInstance;
15
- private assertInstanceOfBot;
16
- }