@sprucelabs/sprucebot-llm 11.1.13 → 11.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/build/.spruce/errors/errors.types.js +1 -0
- package/build/.spruce/errors/errors.types.js.map +1 -0
- package/build/.spruce/errors/options.types.js +1 -0
- package/build/.spruce/errors/options.types.js.map +1 -0
- package/build/.spruce/errors/sprucebotLlm/callbackError.schema.js +1 -0
- package/build/.spruce/errors/sprucebotLlm/callbackError.schema.js.map +1 -0
- package/build/.spruce/errors/sprucebotLlm/invalidCallback.schema.js +1 -0
- package/build/.spruce/errors/sprucebotLlm/invalidCallback.schema.js.map +1 -0
- package/build/.spruce/errors/sprucebotLlm/noBotInstanceSet.schema.js +1 -0
- package/build/.spruce/errors/sprucebotLlm/noBotInstanceSet.schema.js.map +1 -0
- package/build/.spruce/event-cache.json +1 -0
- package/build/.spruce/schemas/fields/fieldClassMap.js +1 -0
- package/build/.spruce/schemas/fields/fieldClassMap.js.map +1 -0
- package/build/.spruce/schemas/fields/fields.types.js +1 -0
- package/build/.spruce/schemas/fields/fields.types.js.map +1 -0
- package/build/__tests__/behavioral/LlmBot.test.d.ts +55 -0
- package/build/__tests__/behavioral/LlmBot.test.js +607 -0
- package/build/__tests__/behavioral/LlmBot.test.js.map +1 -0
- package/build/__tests__/behavioral/SprucebotLlmFactory.test.d.ts +16 -0
- package/build/__tests__/behavioral/SprucebotLlmFactory.test.js +132 -0
- package/build/__tests__/behavioral/SprucebotLlmFactory.test.js.map +1 -0
- package/build/__tests__/behavioral/adapters/OpenAi.test.d.ts +52 -0
- package/build/__tests__/behavioral/adapters/OpenAi.test.js +699 -0
- package/build/__tests__/behavioral/adapters/OpenAi.test.js.map +1 -0
- package/build/__tests__/behavioral/prompts/PromptGenerator.test.d.ts +20 -0
- package/build/__tests__/behavioral/prompts/PromptGenerator.test.js +211 -0
- package/build/__tests__/behavioral/prompts/PromptGenerator.test.js.map +1 -0
- package/build/__tests__/behavioral/prompts/ResponseParser.test.d.ts +35 -0
- package/build/__tests__/behavioral/prompts/ResponseParser.test.js +312 -0
- package/build/__tests__/behavioral/prompts/ResponseParser.test.js.map +1 -0
- package/build/__tests__/behavioral/skills/Skill.test.d.ts +19 -0
- package/build/__tests__/behavioral/skills/Skill.test.js +188 -0
- package/build/__tests__/behavioral/skills/Skill.test.js.map +1 -0
- package/build/__tests__/behavioral/testing/MockLlmSkill.test.d.ts +37 -0
- package/build/__tests__/behavioral/testing/MockLlmSkill.test.js +340 -0
- package/build/__tests__/behavioral/testing/MockLlmSkill.test.js.map +1 -0
- package/build/__tests__/behavioral/testing/SpyLlmBot.test.d.ts +4 -0
- package/build/__tests__/behavioral/testing/SpyLlmBot.test.js +34 -0
- package/build/__tests__/behavioral/testing/SpyLlmBot.test.js.map +1 -0
- package/build/__tests__/support/AbstractLlmTest.d.ts +14 -0
- package/build/__tests__/support/AbstractLlmTest.js +67 -0
- package/build/__tests__/support/AbstractLlmTest.js.map +1 -0
- package/build/__tests__/support/schemas/carSchema.d.ts +16 -0
- package/build/__tests__/support/schemas/carSchema.js +19 -0
- package/build/__tests__/support/schemas/carSchema.js.map +1 -0
- package/build/__tests__/support/schemas/personSchema.d.ts +23 -0
- package/build/__tests__/support/schemas/personSchema.js +37 -0
- package/build/__tests__/support/schemas/personSchema.js.map +1 -0
- package/build/__tests__/support/schemas/personWithDefaultsSchema.d.ts +13 -0
- package/build/__tests__/support/schemas/personWithDefaultsSchema.js +18 -0
- package/build/__tests__/support/schemas/personWithDefaultsSchema.js.map +1 -0
- package/build/bots/PromptGenerator.js +1 -0
- package/build/bots/PromptGenerator.js.map +1 -0
- package/build/bots/SprucebotLlmBotImpl.js +9 -4
- package/build/bots/SprucebotLlmBotImpl.js.map +1 -0
- package/build/bots/SprucebotLlmFactory.js +1 -0
- package/build/bots/SprucebotLlmFactory.js.map +1 -0
- package/build/bots/SprucebotLlmSkillImpl.js +1 -0
- package/build/bots/SprucebotLlmSkillImpl.js.map +1 -0
- package/build/bots/adapters/OpenAi.js +1 -0
- package/build/bots/adapters/OpenAi.js.map +1 -0
- package/build/bots/adapters/OpenAiMessageBuilder.js +1 -0
- package/build/bots/adapters/OpenAiMessageBuilder.js.map +1 -0
- package/build/bots/adapters/SpyOpenAiApi.js +1 -0
- package/build/bots/adapters/SpyOpenAiApi.js.map +1 -0
- package/build/bots/templates.js +1 -0
- package/build/bots/templates.js.map +1 -0
- package/build/chat.js +1 -0
- package/build/chat.js.map +1 -0
- package/build/chatWithImages.js +1 -0
- package/build/chatWithImages.js.map +1 -0
- package/build/errors/SpruceError.js +1 -0
- package/build/errors/SpruceError.js.map +1 -0
- package/build/errors/callbackError.builder.js +1 -0
- package/build/errors/callbackError.builder.js.map +1 -0
- package/build/errors/invalidCallback.builder.js +1 -0
- package/build/errors/invalidCallback.builder.js.map +1 -0
- package/build/errors/noBotInstanceSet.builder.js +1 -0
- package/build/errors/noBotInstanceSet.builder.js.map +1 -0
- package/build/examples/buildCallbackSkill.js +1 -0
- package/build/examples/buildCallbackSkill.js.map +1 -0
- package/build/examples/buildFileTransformerSkill.js +1 -0
- package/build/examples/buildFileTransformerSkill.js.map +1 -0
- package/build/examples/buildJokeSkill.js +1 -0
- package/build/examples/buildJokeSkill.js.map +1 -0
- package/build/examples/buildProfileSkill.js +1 -0
- package/build/examples/buildProfileSkill.js.map +1 -0
- package/build/examples/buildReceptionistSkill.js +1 -0
- package/build/examples/buildReceptionistSkill.js.map +1 -0
- package/build/fineTuningSprucebot/constants/DIRECTORY_SHARES.js +1 -0
- package/build/fineTuningSprucebot/constants/DIRECTORY_SHARES.js.map +1 -0
- package/build/fineTuningSprucebot/constants/FIRST_MESSAGES.js +1 -0
- package/build/fineTuningSprucebot/constants/FIRST_MESSAGES.js.map +1 -0
- package/build/fineTuningSprucebot/constants/GREETINGS.js +1 -0
- package/build/fineTuningSprucebot/constants/GREETINGS.js.map +1 -0
- package/build/fineTuningSprucebot/constants/OFF_THE_RAILS_CONVERSATIONS.js +1 -0
- package/build/fineTuningSprucebot/constants/OFF_THE_RAILS_CONVERSATIONS.js.map +1 -0
- package/build/fineTuningSprucebot/constants/TOPICS.js +1 -0
- package/build/fineTuningSprucebot/constants/TOPICS.js.map +1 -0
- package/build/fineTuningSprucebot/generateSamples.js +1 -0
- package/build/fineTuningSprucebot/generateSamples.js.map +1 -0
- package/build/fineTuningSprucebot/support.js +1 -0
- package/build/fineTuningSprucebot/support.js.map +1 -0
- package/build/fineTuningSprucebot/types.js +1 -0
- package/build/fineTuningSprucebot/types.js.map +1 -0
- package/build/index.js +1 -0
- package/build/index.js.map +1 -0
- package/build/llm.types.js +1 -0
- package/build/llm.types.js.map +1 -0
- package/build/parsingResponses/ResponseParser.js +1 -0
- package/build/parsingResponses/ResponseParser.js.map +1 -0
- package/build/parsingResponses/renderPlaceholder.js +1 -0
- package/build/parsingResponses/renderPlaceholder.js.map +1 -0
- package/build/tests/MockLlmSkill.js +1 -0
- package/build/tests/MockLlmSkill.js.map +1 -0
- package/build/tests/SpyAdapter.js +1 -0
- package/build/tests/SpyAdapter.js.map +1 -0
- package/build/tests/SpyLlmBot.js +1 -0
- package/build/tests/SpyLlmBot.js.map +1 -0
- package/package.json +1 -1
- package/build/esm/.spruce/errors/errors.types.d.ts +0 -52
- package/build/esm/.spruce/errors/errors.types.js +0 -1
- package/build/esm/.spruce/errors/options.types.d.ts +0 -13
- package/build/esm/.spruce/errors/options.types.js +0 -1
- package/build/esm/bots/PromptGenerator.d.ts +0 -22
- package/build/esm/bots/PromptGenerator.js +0 -74
- package/build/esm/bots/SprucebotLlmBotImpl.d.ts +0 -26
- package/build/esm/bots/SprucebotLlmBotImpl.js +0 -159
- package/build/esm/bots/SprucebotLlmFactory.d.ts +0 -15
- package/build/esm/bots/SprucebotLlmFactory.js +0 -41
- package/build/esm/bots/SprucebotLlmSkillImpl.d.ts +0 -12
- package/build/esm/bots/SprucebotLlmSkillImpl.js +0 -47
- package/build/esm/bots/adapters/OpenAi.d.ts +0 -11
- package/build/esm/bots/adapters/OpenAi.js +0 -46
- package/build/esm/bots/adapters/OpenAiMessageBuilder.d.ts +0 -18
- package/build/esm/bots/adapters/OpenAiMessageBuilder.js +0 -153
- package/build/esm/bots/adapters/SpyOpenAiApi.d.ts +0 -19
- package/build/esm/bots/adapters/SpyOpenAiApi.js +0 -49
- package/build/esm/bots/templates.d.ts +0 -4
- package/build/esm/bots/templates.js +0 -68
- package/build/esm/chat.d.ts +0 -1
- package/build/esm/chat.js +0 -53
- package/build/esm/chatWithImages.d.ts +0 -1
- package/build/esm/chatWithImages.js +0 -46
- package/build/esm/errors/SpruceError.d.ts +0 -6
- package/build/esm/errors/SpruceError.js +0 -25
- package/build/esm/errors/callbackError.builder.d.ts +0 -6
- package/build/esm/errors/callbackError.builder.js +0 -6
- package/build/esm/errors/invalidCallback.builder.d.ts +0 -17
- package/build/esm/errors/invalidCallback.builder.js +0 -17
- package/build/esm/errors/noBotInstanceSet.builder.d.ts +0 -6
- package/build/esm/errors/noBotInstanceSet.builder.js +0 -6
- package/build/esm/examples/buildCallbackSkill.d.ts +0 -2
- package/build/esm/examples/buildCallbackSkill.js +0 -57
- package/build/esm/examples/buildFileTransformerSkill.d.ts +0 -2
- package/build/esm/examples/buildFileTransformerSkill.js +0 -25
- package/build/esm/examples/buildJokeSkill.d.ts +0 -2
- package/build/esm/examples/buildJokeSkill.js +0 -12
- package/build/esm/examples/buildProfileSkill.d.ts +0 -2
- package/build/esm/examples/buildProfileSkill.js +0 -30
- package/build/esm/examples/buildReceptionistSkill.d.ts +0 -2
- package/build/esm/examples/buildReceptionistSkill.js +0 -16
- package/build/esm/fineTuningSprucebot/constants/DIRECTORY_SHARES.d.ts +0 -1
- package/build/esm/fineTuningSprucebot/constants/DIRECTORY_SHARES.js +0 -7
- package/build/esm/fineTuningSprucebot/constants/FIRST_MESSAGES.d.ts +0 -1
- package/build/esm/fineTuningSprucebot/constants/FIRST_MESSAGES.js +0 -17
- package/build/esm/fineTuningSprucebot/constants/GREETINGS.d.ts +0 -1
- package/build/esm/fineTuningSprucebot/constants/GREETINGS.js +0 -22
- package/build/esm/fineTuningSprucebot/constants/OFF_THE_RAILS_CONVERSATIONS.d.ts +0 -2
- package/build/esm/fineTuningSprucebot/constants/OFF_THE_RAILS_CONVERSATIONS.js +0 -32
- package/build/esm/fineTuningSprucebot/constants/TOPICS.d.ts +0 -2
- package/build/esm/fineTuningSprucebot/constants/TOPICS.js +0 -314
- package/build/esm/fineTuningSprucebot/generateSamples.d.ts +0 -1
- package/build/esm/fineTuningSprucebot/generateSamples.js +0 -41
- package/build/esm/fineTuningSprucebot/support.d.ts +0 -12
- package/build/esm/fineTuningSprucebot/support.js +0 -60
- package/build/esm/fineTuningSprucebot/types.d.ts +0 -15
- package/build/esm/fineTuningSprucebot/types.js +0 -1
- package/build/esm/index.d.ts +0 -10
- package/build/esm/index.js +0 -10
- package/build/esm/llm.types.d.ts +0 -84
- package/build/esm/llm.types.js +0 -6
- package/build/esm/parsingResponses/ResponseParser.d.ts +0 -18
- package/build/esm/parsingResponses/ResponseParser.js +0 -115
- package/build/esm/parsingResponses/renderPlaceholder.d.ts +0 -1
- package/build/esm/parsingResponses/renderPlaceholder.js +0 -4
- package/build/esm/tests/MockLlmSkill.d.ts +0 -14
- package/build/esm/tests/MockLlmSkill.js +0 -60
- package/build/esm/tests/SpyAdapter.d.ts +0 -8
- package/build/esm/tests/SpyAdapter.js +0 -21
- package/build/esm/tests/SpyLlmBot.d.ts +0 -12
- package/build/esm/tests/SpyLlmBot.js +0 -20
package/README.md
CHANGED
|
@@ -249,4 +249,4 @@ const bookingBot = bots.Bot({
|
|
|
249
249
|
youAre: "a bot named Sprucebot that is in test mode. At the start of every conversation, you introduce yourself and announce that you are in test mode so I don't get confused! You are both hip and adorable. You say things like, 'Jeepers' and 'Golly' or even 'Jeezey peezy'!",
|
|
250
250
|
})
|
|
251
251
|
|
|
252
|
-
```
|
|
252
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.types.js","sourceRoot":"","sources":["../../../src/.spruce/errors/errors.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.types.js","sourceRoot":"","sources":["../../../src/.spruce/errors/options.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callbackError.schema.js","sourceRoot":"","sources":["../../../../src/.spruce/errors/sprucebotLlm/callbackError.schema.ts"],"names":[],"mappings":";;AAAA,+CAAmD;AAKnD,MAAM,mBAAmB,GAAmD;IAC3E,EAAE,EAAE,eAAe;IACnB,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,gBAAgB;IAClB,MAAM,EAAE,EACP;CACL,CAAA;AAED,uBAAc,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;AAE7D,kBAAe,mBAAmB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invalidCallback.schema.js","sourceRoot":"","sources":["../../../../src/.spruce/errors/sprucebotLlm/invalidCallback.schema.ts"],"names":[],"mappings":";;AAAA,+CAAmD;AAKnD,MAAM,qBAAqB,GAAqD;IAC/E,EAAE,EAAE,iBAAiB;IACrB,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,kBAAkB;IACpB,MAAM,EAAE;QACA,QAAQ;QACR,gBAAgB,EAAE;YACd,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,IAAI;YACb,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,SAAS;SACrB;QACD,QAAQ;QACR,iBAAiB,EAAE;YACf,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,SAAS;SACrB;KACR;CACL,CAAA;AAED,uBAAc,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAA;AAE/D,kBAAe,qBAAqB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noBotInstanceSet.schema.js","sourceRoot":"","sources":["../../../../src/.spruce/errors/sprucebotLlm/noBotInstanceSet.schema.ts"],"names":[],"mappings":";;AAAA,+CAAmD;AAKnD,MAAM,sBAAsB,GAAsD;IACjF,EAAE,EAAE,kBAAkB;IACtB,SAAS,EAAE,cAAc;IACzB,IAAI,EAAE,qBAAqB;IACvB,MAAM,EAAE,EACP;CACL,CAAA;AAED,uBAAc,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAA;AAEhE,kBAAe,sBAAsB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fieldClassMap.js","sourceRoot":"","sources":["../../../../src/.spruce/schemas/fields/fieldClassMap.ts"],"names":[],"mappings":";;AAAA,+CAAkD;AAKlD,kBAAe,sBAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.types.js","sourceRoot":"","sources":["../../../../src/.spruce/schemas/fields/fields.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import AbstractLlmTest from '../support/AbstractLlmTest';
|
|
2
|
+
export default class LlmBotTest extends AbstractLlmTest {
|
|
3
|
+
private bot;
|
|
4
|
+
private parser;
|
|
5
|
+
protected beforeEach(): Promise<void>;
|
|
6
|
+
protected throwsWhenSendingBadMessage(): Promise<void>;
|
|
7
|
+
protected sendsItselfToTheLlmAdapter(): Promise<void>;
|
|
8
|
+
protected serializesAsExpected(): Promise<void>;
|
|
9
|
+
protected canUpdateState(): Promise<void>;
|
|
10
|
+
protected updatingStateMixesIn(): Promise<void>;
|
|
11
|
+
protected stateHonorsDefaultValues(): Promise<void>;
|
|
12
|
+
protected updatingStateEmitsDidUpdateState(): Promise<void>;
|
|
13
|
+
protected knowsWhenDone(): Promise<void>;
|
|
14
|
+
protected sendMessageReturnsResponseFromAdapter(): Promise<void>;
|
|
15
|
+
protected tracksMessageHistory(): Promise<void>;
|
|
16
|
+
protected trackedMessageUsesResponseFromAdapterNotParser(): Promise<void>;
|
|
17
|
+
protected isDoneWhenParsesSaysSo(): Promise<void>;
|
|
18
|
+
protected notDoneUntilDone(): Promise<void>;
|
|
19
|
+
protected botActuallySendsResponseToParser(): Promise<void>;
|
|
20
|
+
protected enheritesStateSchemaFromSkillWhenSerializing(): Promise<void>;
|
|
21
|
+
protected inheritsStateFromSkillWhenSerializing(skillState: Record<string, any>): Promise<void>;
|
|
22
|
+
protected stateIsSentBackToBotWhenParsing(state: Record<string, any>): Promise<void>;
|
|
23
|
+
protected emitsDidUpdateStateWhenStateIsUpdated(): Promise<void>;
|
|
24
|
+
protected shouldNotEmitUpdateItNoStatePassed(): Promise<void>;
|
|
25
|
+
protected setsStateInResponseToSkillIfSkillHasState(state: Record<string, any>): Promise<void>;
|
|
26
|
+
protected doesntEmitDidChangeOnSkillIfStateIsNotOnSkill(): Promise<void>;
|
|
27
|
+
protected passesCallbacksToParserOnResponse(): Promise<void>;
|
|
28
|
+
protected canSwapSkillMidWayThrough(): Promise<void>;
|
|
29
|
+
protected defaultLimitsMessagesTo10(): Promise<void>;
|
|
30
|
+
protected canSetMemory(): Promise<void>;
|
|
31
|
+
protected settingSkillToBotSetsToNotDone(): Promise<void>;
|
|
32
|
+
protected canClearMessageHistory(): Promise<void>;
|
|
33
|
+
protected botRespondingCallsMessageCallback(): Promise<void>;
|
|
34
|
+
protected messageCallbackFiredAfterAllMessagesTracked(): Promise<void>;
|
|
35
|
+
protected ifParserRespondsWithCallbackResultsTheyAreSentImmediately(): Promise<void>;
|
|
36
|
+
protected handleParserRespondingWithImage(): Promise<void>;
|
|
37
|
+
protected sendsMessageBackToBotIfParserThrows(): Promise<void>;
|
|
38
|
+
protected sendsMessageBackToBotIfCallbackThrows(): Promise<void>;
|
|
39
|
+
protected responseThatThrowsIsStillTracked(): Promise<void>;
|
|
40
|
+
protected canSendImage(): Promise<void>;
|
|
41
|
+
private setParserResponseCallbackResults;
|
|
42
|
+
private get parserResponse();
|
|
43
|
+
private setParserResponseMessage;
|
|
44
|
+
private setParserResponseIsDone;
|
|
45
|
+
private assertTotalMessagesTracked;
|
|
46
|
+
private get messages();
|
|
47
|
+
private setupBotWithSkill;
|
|
48
|
+
private sendMessageWithResponseState;
|
|
49
|
+
private sendRandomMessage;
|
|
50
|
+
private setStateInResponse;
|
|
51
|
+
private sendMessage;
|
|
52
|
+
private serialize;
|
|
53
|
+
private updateState;
|
|
54
|
+
private assertSerializedStateEquals;
|
|
55
|
+
}
|