@burtson-labs/bandit-engine 2.0.167 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/LICENSE +189 -31
- package/NOTICE +26 -0
- package/README.md +15 -59
- package/dist/aiProviderStore-DKQCCDWF.mjs +8 -0
- package/dist/aiProviderStore-DKQCCDWF.mjs.map +1 -0
- package/dist/chat-VYZFUECC.mjs +10 -0
- package/dist/chat-VYZFUECC.mjs.map +1 -0
- package/dist/{chunk-GRPTCHFN.mjs → chunk-BJT6KPUG.mjs} +309 -154
- package/dist/chunk-BJT6KPUG.mjs.map +1 -0
- package/dist/{chunk-SZJB5FLZ.mjs → chunk-FCQN3LKT.mjs} +251 -77
- package/dist/chunk-FCQN3LKT.mjs.map +1 -0
- package/dist/chunk-HD4PJNPH.mjs +29034 -0
- package/dist/chunk-HD4PJNPH.mjs.map +1 -0
- package/dist/{chunk-HNXPDIWC.mjs → chunk-NI7BKLC7.mjs} +1 -1
- package/dist/chunk-NI7BKLC7.mjs.map +1 -0
- package/dist/index.d.mts +115 -57
- package/dist/index.d.ts +115 -57
- package/dist/index.js +15660 -7577
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +16630 -142
- package/dist/index.mjs.map +1 -1
- package/dist/{memoryUtils-HGCYEUCD.mjs → memoryUtils-UBZ33DNA.mjs} +8 -3
- package/dist/memoryUtils-UBZ33DNA.mjs.map +1 -0
- package/dist/modelStore-SEC34WRM.mjs +8 -0
- package/dist/modelStore-SEC34WRM.mjs.map +1 -0
- package/dist/{public-DJa4Db00.d.mts → public-CKQQDOoy.d.mts} +8 -8
- package/dist/{public-DJa4Db00.d.ts → public-CKQQDOoy.d.ts} +8 -8
- package/dist/public-types.d.mts +1 -1
- package/dist/public-types.d.ts +1 -1
- package/docs/00_intro.md +2 -2
- package/docs/05_contributing.md +2 -2
- package/docs/06_licensing.md +18 -0
- package/docs/07_custom_tools.md +233 -0
- package/docs/README.md +2 -1
- package/package.json +23 -20
- package/dist/aiProviderStore-HY5G4QAK.mjs +0 -8
- package/dist/aiProviderStore-HY5G4QAK.mjs.map +0 -1
- package/dist/chat-6N5B7A7F.mjs +0 -15
- package/dist/chat-6N5B7A7F.mjs.map +0 -1
- package/dist/chat-provider.js +0 -10964
- package/dist/chat-provider.js.map +0 -1
- package/dist/chat-provider.mjs +0 -16
- package/dist/chat-provider.mjs.map +0 -1
- package/dist/chunk-46OGYEME.mjs +0 -5895
- package/dist/chunk-46OGYEME.mjs.map +0 -1
- package/dist/chunk-5BZWJQ5O.mjs +0 -516
- package/dist/chunk-5BZWJQ5O.mjs.map +0 -1
- package/dist/chunk-CABOLDNR.mjs +0 -216
- package/dist/chunk-CABOLDNR.mjs.map +0 -1
- package/dist/chunk-E5WMDLE3.mjs +0 -390
- package/dist/chunk-E5WMDLE3.mjs.map +0 -1
- package/dist/chunk-GRPTCHFN.mjs.map +0 -1
- package/dist/chunk-HNXPDIWC.mjs.map +0 -1
- package/dist/chunk-KDIL5WUL.mjs +0 -7323
- package/dist/chunk-KDIL5WUL.mjs.map +0 -1
- package/dist/chunk-N4BQ6HKL.mjs +0 -2945
- package/dist/chunk-N4BQ6HKL.mjs.map +0 -1
- package/dist/chunk-ONQMRE2G.mjs +0 -26
- package/dist/chunk-ONQMRE2G.mjs.map +0 -1
- package/dist/chunk-P4C5IRM5.mjs +0 -39
- package/dist/chunk-P4C5IRM5.mjs.map +0 -1
- package/dist/chunk-PK3LFBGC.mjs +0 -10575
- package/dist/chunk-PK3LFBGC.mjs.map +0 -1
- package/dist/chunk-SHYNXDRO.mjs +0 -11906
- package/dist/chunk-SHYNXDRO.mjs.map +0 -1
- package/dist/chunk-SZJB5FLZ.mjs.map +0 -1
- package/dist/chunk-US4TG745.mjs +0 -194
- package/dist/chunk-US4TG745.mjs.map +0 -1
- package/dist/management/management.js +0 -44217
- package/dist/management/management.js.map +0 -1
- package/dist/management/management.mjs +0 -16
- package/dist/management/management.mjs.map +0 -1
- package/dist/memoryUtils-HGCYEUCD.mjs.map +0 -1
- package/dist/modals/chat-modal/chat-modal.js +0 -19613
- package/dist/modals/chat-modal/chat-modal.js.map +0 -1
- package/dist/modals/chat-modal/chat-modal.mjs +0 -18
- package/dist/modals/chat-modal/chat-modal.mjs.map +0 -1
- package/dist/modelStore-TFNX4GEC.mjs +0 -8
- package/dist/modelStore-TFNX4GEC.mjs.map +0 -1
- package/dist/shared/custom-element.js +0 -73
- package/dist/shared/custom-element.js.map +0 -1
- package/dist/shared/custom-element.mjs +0 -7
- package/dist/shared/custom-element.mjs.map +0 -1
- package/docs/06_busl_licensing.md +0 -25
- package/docs/api_reference/.nojekyll +0 -1
- package/docs/api_reference/assets/bandit-docs.js +0 -462
- package/docs/api_reference/assets/highlight.css +0 -141
- package/docs/api_reference/assets/icons.js +0 -18
- package/docs/api_reference/assets/icons.svg +0 -1
- package/docs/api_reference/assets/main.js +0 -61
- package/docs/api_reference/assets/navigation.js +0 -1
- package/docs/api_reference/assets/search.js +0 -1
- package/docs/api_reference/assets/style.css +0 -1664
- package/docs/api_reference/classes/DebugLogger.html +0 -29
- package/docs/api_reference/classes/FeatureFlagService.html +0 -28
- package/docs/api_reference/classes/NotificationService.html +0 -21
- package/docs/api_reference/classes/StreamingTTSClient.html +0 -19
- package/docs/api_reference/classes/VectorDatabaseService.html +0 -63
- package/docs/api_reference/classes/VectorMigrationService.html +0 -27
- package/docs/api_reference/classes/VoiceService.html +0 -4
- package/docs/api_reference/enums/TTSState.html +0 -6
- package/docs/api_reference/functions/Chat.html +0 -1
- package/docs/api_reference/functions/ChatModal.html +0 -29
- package/docs/api_reference/functions/ChatProvider.html +0 -29
- package/docs/api_reference/functions/FeatureFlagProvider.html +0 -30
- package/docs/api_reference/functions/FeedbackButton.html +0 -29
- package/docs/api_reference/functions/FeedbackModal.html +0 -29
- package/docs/api_reference/functions/InterestsEditor.html +0 -5
- package/docs/api_reference/functions/Management.html +0 -1
- package/docs/api_reference/functions/NotificationProvider.html +0 -29
- package/docs/api_reference/functions/SubscriptionExpiredGuard.html +0 -31
- package/docs/api_reference/functions/SubscriptionExpiredModal.html +0 -31
- package/docs/api_reference/functions/defineCustomElement.html +0 -1
- package/docs/api_reference/functions/getCriticalConfig.html +0 -2
- package/docs/api_reference/functions/getFeatureMatrix.html +0 -1
- package/docs/api_reference/functions/getStreamingTTSClient.html +0 -1
- package/docs/api_reference/functions/getSystemConstants.html +0 -2
- package/docs/api_reference/functions/getTTSState.html +0 -1
- package/docs/api_reference/functions/handleHttpError.html +0 -2
- package/docs/api_reference/functions/handleSubscriptionUpgrade.html +0 -1
- package/docs/api_reference/functions/handleValidationError.html +0 -2
- package/docs/api_reference/functions/initializeCoreSystem.html +0 -2
- package/docs/api_reference/functions/isWorkspaceAdminRole.html +0 -6
- package/docs/api_reference/functions/pauseTTS.html +0 -1
- package/docs/api_reference/functions/previewTierUpgrade.html +0 -1
- package/docs/api_reference/functions/resolveManagementSections.html +0 -2
- package/docs/api_reference/functions/resumeTTS.html +0 -1
- package/docs/api_reference/functions/showInfoNotification.html +0 -2
- package/docs/api_reference/functions/showSuccessNotification.html +0 -2
- package/docs/api_reference/functions/speakWithStreaming.html +0 -1
- package/docs/api_reference/functions/stopTTS.html +0 -1
- package/docs/api_reference/functions/syncSubscriptionWithAPI.html +0 -1
- package/docs/api_reference/functions/updateSubscriptionTier.html +0 -2
- package/docs/api_reference/functions/useFeatureFlag.html +0 -2
- package/docs/api_reference/functions/useFeatureVisibility.html +0 -2
- package/docs/api_reference/functions/useFeatures.html +0 -2
- package/docs/api_reference/functions/useGatewayHealth.html +0 -1
- package/docs/api_reference/functions/useGatewayMemory.html +0 -1
- package/docs/api_reference/functions/useGatewayModels.html +0 -1
- package/docs/api_reference/functions/useGlobalTTS.html +0 -2
- package/docs/api_reference/functions/useManagementAccess.html +0 -2
- package/docs/api_reference/functions/useNotification.html +0 -1
- package/docs/api_reference/functions/useNotificationService.html +0 -6
- package/docs/api_reference/functions/useTTS.html +0 -2
- package/docs/api_reference/functions/useVectorStore.html +0 -13
- package/docs/api_reference/functions/useVoiceStore.html +0 -8
- package/docs/api_reference/functions/useVoices.html +0 -3
- package/docs/api_reference/functions/validateEnvironment.html +0 -2
- package/docs/api_reference/functions/validateSystemIntegrity.html +0 -2
- package/docs/api_reference/index.html +0 -916
- package/docs/api_reference/interfaces/AIChatRequest.html +0 -8
- package/docs/api_reference/interfaces/AIChatResponse.html +0 -3
- package/docs/api_reference/interfaces/AIGenerateRequest.html +0 -5
- package/docs/api_reference/interfaces/AIGenerateResponse.html +0 -3
- package/docs/api_reference/interfaces/AIMessage.html +0 -4
- package/docs/api_reference/interfaces/AIModel.html +0 -6
- package/docs/api_reference/interfaces/AIProviderConfig.html +0 -12
- package/docs/api_reference/interfaces/ChatConfig.html +0 -5
- package/docs/api_reference/interfaces/ChatModalProps.html +0 -7
- package/docs/api_reference/interfaces/CreateMemoryOptions.html +0 -7
- package/docs/api_reference/interfaces/FeatureEvaluation.html +0 -14
- package/docs/api_reference/interfaces/FeatureFlagConfig.html +0 -18
- package/docs/api_reference/interfaces/FeatureFlagContextValue.html +0 -16
- package/docs/api_reference/interfaces/FeatureFlagProviderProps.html +0 -4
- package/docs/api_reference/interfaces/FeedbackButtonProps.html +0 -19
- package/docs/api_reference/interfaces/FeedbackCategories.html +0 -6
- package/docs/api_reference/interfaces/FeedbackModalProps.html +0 -4
- package/docs/api_reference/interfaces/FeedbackPriorities.html +0 -5
- package/docs/api_reference/interfaces/FeedbackRequest.html +0 -12
- package/docs/api_reference/interfaces/FeedbackResponse.html +0 -7
- package/docs/api_reference/interfaces/FileUploadResult.html +0 -4
- package/docs/api_reference/interfaces/GatewayChatRequest.html +0 -13
- package/docs/api_reference/interfaces/GatewayChatResponse.html +0 -7
- package/docs/api_reference/interfaces/GatewayContract.html +0 -4
- package/docs/api_reference/interfaces/GatewayGenerateRequest.html +0 -8
- package/docs/api_reference/interfaces/GatewayGenerateResponse.html +0 -12
- package/docs/api_reference/interfaces/GatewayHealthResponse.html +0 -5
- package/docs/api_reference/interfaces/GatewayMemoryRecord.html +0 -7
- package/docs/api_reference/interfaces/GatewayMemoryResponse.html +0 -4
- package/docs/api_reference/interfaces/GatewayMessage.html +0 -5
- package/docs/api_reference/interfaces/GatewayMessageContent.html +0 -4
- package/docs/api_reference/interfaces/GatewayModel.html +0 -9
- package/docs/api_reference/interfaces/GatewayModelsResponse.html +0 -2
- package/docs/api_reference/interfaces/ManagementAccess.html +0 -5
- package/docs/api_reference/interfaces/ManagementAccessInput.html +0 -5
- package/docs/api_reference/interfaces/ManagementLink.html +0 -7
- package/docs/api_reference/interfaces/ManagementProps.html +0 -22
- package/docs/api_reference/interfaces/ManagementSectionDef.html +0 -10
- package/docs/api_reference/interfaces/MemorySearchFilters.html +0 -5
- package/docs/api_reference/interfaces/MigrationProgress.html +0 -6
- package/docs/api_reference/interfaces/MigrationStatus.html +0 -7
- package/docs/api_reference/interfaces/NotificationConfig.html +0 -5
- package/docs/api_reference/interfaces/NotificationContextType.html +0 -6
- package/docs/api_reference/interfaces/NotificationProviderProps.html +0 -4
- package/docs/api_reference/interfaces/PackageSettings.html +0 -22
- package/docs/api_reference/interfaces/SearchOptions.html +0 -6
- package/docs/api_reference/interfaces/SearchResult.html +0 -5
- package/docs/api_reference/interfaces/SubscriptionExpiredGuardProps.html +0 -7
- package/docs/api_reference/interfaces/SubscriptionExpiredModalProps.html +0 -6
- package/docs/api_reference/interfaces/TTSOptions.html +0 -5
- package/docs/api_reference/interfaces/TTSProgress.html +0 -6
- package/docs/api_reference/interfaces/TrialUsage.html +0 -6
- package/docs/api_reference/interfaces/UploadRequest.html +0 -9
- package/docs/api_reference/interfaces/UseTTSReturn.html +0 -14
- package/docs/api_reference/interfaces/VectorDocument.html +0 -11
- package/docs/api_reference/interfaces/VectorMemory.html +0 -12
- package/docs/api_reference/interfaces/VectorMemoryMetadata.html +0 -7
- package/docs/api_reference/interfaces/VectorStoreStatus.html +0 -7
- package/docs/api_reference/interfaces/VoiceModelsResponse.html +0 -4
- package/docs/api_reference/interfaces/VoiceState.html +0 -12
- package/docs/api_reference/media/02_gateway_api.md +0 -123
- package/docs/api_reference/media/05_cli_quickstart.md +0 -87
- package/docs/api_reference/media/LICENSE +0 -43
- package/docs/api_reference/media/PRE-PUSH-CHECKLIST.md +0 -10
- package/docs/api_reference/media/PROTECTION-NOTICE.md +0 -11
- package/docs/api_reference/media/README.md +0 -58
- package/docs/api_reference/modules.html +0 -136
- package/docs/api_reference/types/FeatureKey.html +0 -2
- package/docs/api_reference/types/FeatureMatrix.html +0 -2
- package/docs/api_reference/types/GatewayQueryOptions.html +0 -1
- package/docs/api_reference/types/LogContext.html +0 -14
- package/docs/api_reference/types/ManagementRequest.html +0 -1
- package/docs/api_reference/types/ManagementSectionId.html +0 -2
- package/docs/api_reference/types/SubscriptionTier.html +0 -2
- package/docs/api_reference/variables/DEFAULT_TIER_FEATURES.html +0 -2
- package/docs/api_reference/variables/FeatureFlagContext.html +0 -1
- package/docs/api_reference/variables/MANAGEMENT_SECTIONS.html +0 -1
- package/docs/api_reference/variables/OSS_DEFAULT_FEATURES.html +0 -2
- package/docs/api_reference/variables/SYSTEM_FLAGS.html +0 -2
- package/docs/api_reference/variables/authenticationService.html +0 -1
- package/docs/api_reference/variables/debugLogger-1.html +0 -1
- package/docs/api_reference/variables/featureFlagService-1.html +0 -2
- package/docs/api_reference/variables/notificationService-1.html +0 -1
- package/docs/api_reference/variables/vectorDatabaseService-1.html +0 -1
- package/docs/api_reference/variables/vectorMigrationService-1.html +0 -1
- package/docs/api_reference/variables/voiceService-1.html +0 -1
|
@@ -95,7 +95,9 @@ var MemoryUtils = class {
|
|
|
95
95
|
const embeddingsPerMinute = 100;
|
|
96
96
|
const tokensPerCharacter = 0.25;
|
|
97
97
|
const estimatedTimeMinutes = Math.ceil(memoryCount / embeddingsPerMinute);
|
|
98
|
-
const estimatedTokens = Math.ceil(
|
|
98
|
+
const estimatedTokens = Math.ceil(
|
|
99
|
+
memoryCount * averageContentLength * tokensPerCharacter
|
|
100
|
+
);
|
|
99
101
|
let recommendedChunkSize = 50;
|
|
100
102
|
if (memoryCount > 1e3) {
|
|
101
103
|
recommendedChunkSize = 25;
|
|
@@ -182,7 +184,10 @@ var MemoryUtils = class {
|
|
|
182
184
|
const potentialDuplicates = [];
|
|
183
185
|
for (let j = i + 1; j < memories.length; j++) {
|
|
184
186
|
const compareMemory = memories[j];
|
|
185
|
-
const similarity = this.calculateSimilarity(
|
|
187
|
+
const similarity = this.calculateSimilarity(
|
|
188
|
+
currentMemory.content,
|
|
189
|
+
compareMemory.content
|
|
190
|
+
);
|
|
186
191
|
if (similarity >= similarityThreshold) {
|
|
187
192
|
potentialDuplicates.push({
|
|
188
193
|
memory: compareMemory,
|
|
@@ -218,4 +223,4 @@ export {
|
|
|
218
223
|
generateProgressMessage,
|
|
219
224
|
validateMemories
|
|
220
225
|
};
|
|
221
|
-
//# sourceMappingURL=memoryUtils-
|
|
226
|
+
//# sourceMappingURL=memoryUtils-UBZ33DNA.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/memoryUtils.ts"],"mappings":";AAwCA,IAAM,WAAW,CAAC,UAChB,OAAO,UAAU,YAAY,UAAU;AAEzC,IAAM,gBAAgB,CAAC,UACrB,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,CAAC,SAAS,OAAO,SAAS,QAAQ;AAExE,IAAM,wBAAwB,CAAC,cAA+B;AAC5D,MAAI,qBAAqB,QAAQ,CAAC,OAAO,MAAM,UAAU,QAAQ,CAAC,GAAG;AACnE,WAAO,UAAU,mBAAmB;AAAA,EACtC;AAEA,MAAI,OAAO,cAAc,YAAY,OAAO,SAAS,SAAS,GAAG;AAC/D,UAAM,OAAO,IAAI,KAAK,SAAS;AAC/B,QAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,GAAG;AACjC,aAAO,KAAK,mBAAmB;AAAA,IACjC;AAAA,EACF;AAEA,MAAI,OAAO,cAAc,YAAY,UAAU,KAAK,GAAG;AACrD,UAAM,OAAO,IAAI,KAAK,SAAS;AAC/B,QAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,GAAG;AACjC,aAAO,KAAK,mBAAmB;AAAA,IACjC;AAAA,EACF;AAEA,UAAO,oBAAI,KAAK,GAAE,mBAAmB;AACvC;AAQO,IAAM,cAAN,MAAkB;AAAA;AAAA;AAAA;AAAA,EAIvB,OAAO,iBACL,UAIA;AACA,UAAM,QAAqE,CAAC;AAC5E,UAAM,UAAoE,CAAC;AAE3E,aAAS,QAAQ,CAAC,QAAQ,UAAU;AAElC,UAAI,CAAC,OAAO,WAAW,OAAO,QAAQ,KAAK,EAAE,WAAW,GAAG;AACzD,gBAAQ,KAAK;AAAA,UACX,SAAS,OAAO,WAAW;AAAA,UAC3B,OAAO;AAAA,UACP;AAAA,QACF,CAAC;AACD;AAAA,MACF;AAGA,UAAI,OAAO,QAAQ,SAAS,KAAO;AACjC,gBAAQ,KAAK;AAAA,UACX,SAAS,OAAO,QAAQ,UAAU,GAAG,GAAG,IAAI;AAAA,UAC5C,OAAO;AAAA,UACP;AAAA,QACF,CAAC;AACD;AAAA,MACF;AAGA,UACE,OAAO,SACN,CAAC,MAAM,QAAQ,OAAO,IAAI,KACzB,OAAO,KAAK,KAAK,CAAC,QAAQ,OAAO,QAAQ,QAAQ,IACnD;AACA,gBAAQ,KAAK;AAAA,UACX,SAAS,OAAO,QAAQ,UAAU,GAAG,GAAG,IAAI;AAAA,UAC5C,OAAO;AAAA,UACP;AAAA,QACF,CAAC;AACD;AAAA,MACF;AAEA,YAAM,KAAK,MAAM;AAAA,IACnB,CAAC;AAED,WAAO,EAAE,OAAO,QAAQ;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,sBACL,mBAC6D;AAC7D,WAAO,kBAAkB,OAEvB,CAAC,KAAK,UAAU;AAChB,UAAI,CAAC,SAAS,KAAK,GAAG;AACpB,eAAO;AAAA,MACT;AAEA,YAAM,YAAY;AAClB,UAAI,OAAO,UAAU,YAAY,UAAU;AACzC,eAAO;AAAA,MACT;AAEA,YAAM,QACJ,OAAO,UAAU,UAAU,YAAY,UAAU,MAAM,KAAK,EAAE,SAAS,IACnE,UAAU,QACV,eAAe,sBAAsB,UAAU,SAAS,CAAC;AAE/D,YAAM,OAAO,cAAc,UAAU,IAAI,IAAI,UAAU,OAAO,CAAC;AAE/D,UAAI,KAAK;AAAA,QACP,SAAS,UAAU;AAAA,QACnB;AAAA,QACA;AAAA,MACF,CAAC;AACD,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA,EACP;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,cAAiB,UAAe,YAAoB,KAAY;AACrE,UAAM,SAAgB,CAAC;AACvB,aAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK,WAAW;AACnD,aAAO,KAAK,SAAS,MAAM,GAAG,IAAI,SAAS,CAAC;AAAA,IAC9C;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,uBACL,aACA,sBAMA;AACA,UAAM,WAAqB,CAAC;AAG5B,UAAM,sBAAsB;AAC5B,UAAM,qBAAqB;AAE3B,UAAM,uBAAuB,KAAK,KAAK,cAAc,mBAAmB;AACxE,UAAM,kBAAkB,KAAK;AAAA,MAC3B,cAAc,uBAAuB;AAAA,IACvC;AAGA,QAAI,uBAAuB;AAC3B,QAAI,cAAc,KAAM;AACtB,6BAAuB;AACvB,eAAS,KAAK,gEAAgE;AAAA,IAChF;AACA,QAAI,uBAAuB,KAAM;AAC/B,6BAAuB,KAAK,IAAI,IAAI,uBAAuB,CAAC;AAC5D,eAAS,KAAK,qDAAqD;AAAA,IACrE;AACA,QAAI,uBAAuB,IAAI;AAC7B,eAAS,KAAK,6DAA6D;AAAA,IAC7E;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,mBACL,QACA,eACA,WAYA;AACA,UAAM,UAAU,oBAAI,KAAK;AACzB,UAAM,aAAa,QAAQ,QAAQ,IAAI,UAAU,QAAQ;AACzD,UAAM,kBAAkB,KAAK,MAAM,aAAa,GAAK;AACrD,UAAM,kBAAkB,KAAK,MAAO,aAAa,MAAS,GAAI;AAE9D,UAAM,gBAAgB,OAAO,SAAS,kBAAkB,OAAO,iBAAiB;AAChF,UAAM,aAAa,OAAO,SAAS,gBAAgB,OAAO,gBAAgB;AAC1E,UAAM,SAAS,OAAO,SAAS,gBAAgB,OAAO,gBAAgB;AACtE,UAAM,cACJ,gBAAgB,KAAM,aAAa,gBAAiB,KAAK,QAAQ,CAAC,IAAI;AACxE,UAAM,mBACJ,gBAAgB,KAAK,aAAa,eAAe,QAAQ,CAAC,IAAI;AAEhE,UAAM,UAAU,GAAG,cAAc,YAAY,CAAC,eAAe,UAAU,IAAI,aAAa,qCAAqC,WAAW,sBAAsB,eAAe,KAAK,eAAe;AAEjM,UAAM,UAAU;AAAA,MACd,WAAW;AAAA,MACX,UAAU,GAAG,eAAe,KAAK,eAAe;AAAA,MAChD;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa,GAAG,WAAW;AAAA,MAC3B,sBAAsB,GAAG,gBAAgB;AAAA,IAC3C;AAEA,WAAO,EAAE,SAAS,QAAQ;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,wBACL,SACA,OACA,YAAoB,cACZ;AACR,UAAM,aAAa,KAAK,MAAO,UAAU,QAAS,GAAG;AACrD,UAAM,YAAY,QAAQ;AAE1B,QAAI,YAAY,GAAG;AACjB,aAAO,YAAY,UAAU,YAAY,CAAC;AAAA,IAC5C,WAAW,YAAY,OAAO;AAC5B,aAAO,GAAG,SAAS;AAAA,IACrB,WAAW,UAAU,QAAQ,GAAG;AAC9B,aAAO,GAAG,SAAS,iBAAiB,OAAO,IAAI,KAAK;AAAA,IACtD,WAAW,UAAU,QAAQ,GAAG;AAC9B,aAAO,GAAG,UAAU,kBAAkB,SAAS;AAAA,IACjD,WAAW,UAAU,QAAQ,KAAK;AAChC,aAAO,kBAAkB,UAAU;AAAA,IACrC,OAAO;AACL,aAAO,mBAAmB,SAAS;AAAA,IACrC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,oBAAoB,UAAkB,UAA0B;AAErE,UAAM,SAAS,SAAS,YAAY,EAAE,MAAM,KAAK;AACjD,UAAM,SAAS,SAAS,YAAY,EAAE,MAAM,KAAK;AAEjD,UAAM,OAAO,IAAI,IAAI,MAAM;AAC3B,UAAM,OAAO,IAAI,IAAI,MAAM;AAE3B,UAAM,eAAe,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC;AACvE,UAAM,QAAQ,oBAAI,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;AAExC,WAAO,MAAM,OAAO,IAAI,aAAa,OAAO,MAAM,OAAO;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,wBACL,UACA,sBAA8B,KAQ7B;AACD,UAAM,aAOD,CAAC;AAEN,aAAS,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AACxC,YAAM,gBAAgB,SAAS,CAAC;AAChC,YAAM,sBAID,CAAC;AAEN,eAAS,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;AAC5C,cAAM,gBAAgB,SAAS,CAAC;AAChC,cAAM,aAAa,KAAK;AAAA,UACtB,cAAc;AAAA,UACd,cAAc;AAAA,QAChB;AAEA,YAAI,cAAc,qBAAqB;AACrC,8BAAoB,KAAK;AAAA,YACvB,QAAQ;AAAA,YACR;AAAA,YACA,OAAO;AAAA,UACT,CAAC;AAAA,QACH;AAAA,MACF;AAEA,UAAI,oBAAoB,SAAS,GAAG;AAClC,mBAAW,KAAK;AAAA,UACd,QAAQ;AAAA,UACR,YAAY;AAAA,QACd,CAAC;AAAA,MACH;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;AAGO,IAAM,mBAAmB,YAAY;AACrC,IAAM,wBAAwB,YAAY;AAC1C,IAAM,gBAAgB,YAAY;AAClC,IAAM,yBAAyB,YAAY;AAC3C,IAAM,qBAAqB,YAAY;AACvC,IAAM,0BAA0B,YAAY;AAC5C,IAAM,0BAA0B,YAAY;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"mappings":"","names":[]}
|
|
@@ -5,7 +5,7 @@ import '@burtson-labs/bandit-types';
|
|
|
5
5
|
* Common types used across all AI providers
|
|
6
6
|
*/
|
|
7
7
|
interface AIMessage {
|
|
8
|
-
role:
|
|
8
|
+
role: "system" | "user" | "assistant";
|
|
9
9
|
content: string;
|
|
10
10
|
}
|
|
11
11
|
interface AIChatRequest {
|
|
@@ -19,7 +19,7 @@ interface AIChatRequest {
|
|
|
19
19
|
}
|
|
20
20
|
interface AIToolCall {
|
|
21
21
|
id?: string;
|
|
22
|
-
type?:
|
|
22
|
+
type?: "function";
|
|
23
23
|
function: {
|
|
24
24
|
name: string;
|
|
25
25
|
arguments: string | Record<string, unknown>;
|
|
@@ -28,7 +28,7 @@ interface AIToolCall {
|
|
|
28
28
|
interface AIChatResponse {
|
|
29
29
|
message: {
|
|
30
30
|
content: string;
|
|
31
|
-
role:
|
|
31
|
+
role: "assistant";
|
|
32
32
|
tool_calls?: AIToolCall[];
|
|
33
33
|
};
|
|
34
34
|
done?: boolean;
|
|
@@ -57,7 +57,7 @@ interface AIModel {
|
|
|
57
57
|
modified_at?: string;
|
|
58
58
|
}
|
|
59
59
|
interface AIProviderConfig {
|
|
60
|
-
type:
|
|
60
|
+
type: "ollama" | "openai" | "azure-openai" | "anthropic" | "xai" | "bandit" | "gateway" | "playground";
|
|
61
61
|
baseUrl?: string;
|
|
62
62
|
apiKey?: string;
|
|
63
63
|
apiVersion?: string;
|
|
@@ -66,18 +66,18 @@ interface AIProviderConfig {
|
|
|
66
66
|
anthropicVersion?: string;
|
|
67
67
|
anthropicMaxTokens?: number;
|
|
68
68
|
gatewayUrl?: string;
|
|
69
|
-
provider?:
|
|
69
|
+
provider?: "openai" | "azure-openai" | "anthropic" | "ollama" | "xai" | "bandit" | "playground";
|
|
70
70
|
tokenFactory?: () => string | null;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
74
|
* Subscription tiers available in the system
|
|
75
75
|
*/
|
|
76
|
-
type SubscriptionTier =
|
|
76
|
+
type SubscriptionTier = "basic" | "premium" | "pro" | "team" | "trial" | "expired";
|
|
77
77
|
/**
|
|
78
78
|
* Available feature keys that can be toggled
|
|
79
79
|
*/
|
|
80
|
-
type FeatureKey =
|
|
80
|
+
type FeatureKey = "memory" | "documentKnowledge" | "moodAdaptation" | "chatSuggestions" | "tts" | "stt" | "adminDashboardEnabled" | "limitedAdminDashboard" | "semanticSearchSimple" | "semanticSearchPremium" | "advancedSearch" | "advancedMemories";
|
|
81
81
|
/**
|
|
82
82
|
* Feature matrix defining which features are enabled/disabled
|
|
83
83
|
*/
|
|
@@ -125,7 +125,7 @@ interface TrialUsage {
|
|
|
125
125
|
*/
|
|
126
126
|
interface FeatureEvaluation {
|
|
127
127
|
/** Current subscription tier (or 'oss' for open source mode) */
|
|
128
|
-
tier: SubscriptionTier |
|
|
128
|
+
tier: SubscriptionTier | "oss";
|
|
129
129
|
/** Whether the user has admin role */
|
|
130
130
|
isAdmin: boolean;
|
|
131
131
|
/** Whether the user's subscription is active (false for trial users) */
|
|
@@ -5,7 +5,7 @@ import '@burtson-labs/bandit-types';
|
|
|
5
5
|
* Common types used across all AI providers
|
|
6
6
|
*/
|
|
7
7
|
interface AIMessage {
|
|
8
|
-
role:
|
|
8
|
+
role: "system" | "user" | "assistant";
|
|
9
9
|
content: string;
|
|
10
10
|
}
|
|
11
11
|
interface AIChatRequest {
|
|
@@ -19,7 +19,7 @@ interface AIChatRequest {
|
|
|
19
19
|
}
|
|
20
20
|
interface AIToolCall {
|
|
21
21
|
id?: string;
|
|
22
|
-
type?:
|
|
22
|
+
type?: "function";
|
|
23
23
|
function: {
|
|
24
24
|
name: string;
|
|
25
25
|
arguments: string | Record<string, unknown>;
|
|
@@ -28,7 +28,7 @@ interface AIToolCall {
|
|
|
28
28
|
interface AIChatResponse {
|
|
29
29
|
message: {
|
|
30
30
|
content: string;
|
|
31
|
-
role:
|
|
31
|
+
role: "assistant";
|
|
32
32
|
tool_calls?: AIToolCall[];
|
|
33
33
|
};
|
|
34
34
|
done?: boolean;
|
|
@@ -57,7 +57,7 @@ interface AIModel {
|
|
|
57
57
|
modified_at?: string;
|
|
58
58
|
}
|
|
59
59
|
interface AIProviderConfig {
|
|
60
|
-
type:
|
|
60
|
+
type: "ollama" | "openai" | "azure-openai" | "anthropic" | "xai" | "bandit" | "gateway" | "playground";
|
|
61
61
|
baseUrl?: string;
|
|
62
62
|
apiKey?: string;
|
|
63
63
|
apiVersion?: string;
|
|
@@ -66,18 +66,18 @@ interface AIProviderConfig {
|
|
|
66
66
|
anthropicVersion?: string;
|
|
67
67
|
anthropicMaxTokens?: number;
|
|
68
68
|
gatewayUrl?: string;
|
|
69
|
-
provider?:
|
|
69
|
+
provider?: "openai" | "azure-openai" | "anthropic" | "ollama" | "xai" | "bandit" | "playground";
|
|
70
70
|
tokenFactory?: () => string | null;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
74
|
* Subscription tiers available in the system
|
|
75
75
|
*/
|
|
76
|
-
type SubscriptionTier =
|
|
76
|
+
type SubscriptionTier = "basic" | "premium" | "pro" | "team" | "trial" | "expired";
|
|
77
77
|
/**
|
|
78
78
|
* Available feature keys that can be toggled
|
|
79
79
|
*/
|
|
80
|
-
type FeatureKey =
|
|
80
|
+
type FeatureKey = "memory" | "documentKnowledge" | "moodAdaptation" | "chatSuggestions" | "tts" | "stt" | "adminDashboardEnabled" | "limitedAdminDashboard" | "semanticSearchSimple" | "semanticSearchPremium" | "advancedSearch" | "advancedMemories";
|
|
81
81
|
/**
|
|
82
82
|
* Feature matrix defining which features are enabled/disabled
|
|
83
83
|
*/
|
|
@@ -125,7 +125,7 @@ interface TrialUsage {
|
|
|
125
125
|
*/
|
|
126
126
|
interface FeatureEvaluation {
|
|
127
127
|
/** Current subscription tier (or 'oss' for open source mode) */
|
|
128
|
-
tier: SubscriptionTier |
|
|
128
|
+
tier: SubscriptionTier | "oss";
|
|
129
129
|
/** Whether the user has admin role */
|
|
130
130
|
isAdmin: boolean;
|
|
131
131
|
/** Whether the user's subscription is active (false for trial users) */
|
package/dist/public-types.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { A as AIChatRequest, c as AIChatResponse, d as AIGenerateRequest, e as AIGenerateResponse, f as AIMessage, g as AIModel, h as AIProviderConfig, C as ChatConfig, j as ChatModalProps, C as ChatProviderProps, a as FeatureEvaluation, b as FeatureFlagConfig, F as FeatureKey, l as FeatureMatrix, P as PackageSettings, S as SubscriptionTier, T as TrialUsage, V as VoiceModelsResponse } from './public-
|
|
1
|
+
export { A as AIChatRequest, c as AIChatResponse, d as AIGenerateRequest, e as AIGenerateResponse, f as AIMessage, g as AIModel, h as AIProviderConfig, C as ChatConfig, j as ChatModalProps, C as ChatProviderProps, a as FeatureEvaluation, b as FeatureFlagConfig, F as FeatureKey, l as FeatureMatrix, P as PackageSettings, S as SubscriptionTier, T as TrialUsage, V as VoiceModelsResponse } from './public-CKQQDOoy.mjs';
|
|
2
2
|
export { GatewayChatRequest, GatewayChatResponse, GatewayContract, GatewayGenerateRequest, GatewayGenerateResponse, GatewayHealthResponse, GatewayMemoryRecord, GatewayMemoryResponse, GatewayMessage, GatewayMessageContent, GatewayModel, GatewayModelsResponse, StoredBanditConfigRecord, StoredBrandingConfig, StoredModelConfig } from '@burtson-labs/bandit-types';
|
|
3
3
|
import 'react';
|
package/dist/public-types.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { A as AIChatRequest, c as AIChatResponse, d as AIGenerateRequest, e as AIGenerateResponse, f as AIMessage, g as AIModel, h as AIProviderConfig, C as ChatConfig, j as ChatModalProps, C as ChatProviderProps, a as FeatureEvaluation, b as FeatureFlagConfig, F as FeatureKey, l as FeatureMatrix, P as PackageSettings, S as SubscriptionTier, T as TrialUsage, V as VoiceModelsResponse } from './public-
|
|
1
|
+
export { A as AIChatRequest, c as AIChatResponse, d as AIGenerateRequest, e as AIGenerateResponse, f as AIMessage, g as AIModel, h as AIProviderConfig, C as ChatConfig, j as ChatModalProps, C as ChatProviderProps, a as FeatureEvaluation, b as FeatureFlagConfig, F as FeatureKey, l as FeatureMatrix, P as PackageSettings, S as SubscriptionTier, T as TrialUsage, V as VoiceModelsResponse } from './public-CKQQDOoy.js';
|
|
2
2
|
export { GatewayChatRequest, GatewayChatResponse, GatewayContract, GatewayGenerateRequest, GatewayGenerateResponse, GatewayHealthResponse, GatewayMemoryRecord, GatewayMemoryResponse, GatewayMessage, GatewayMessageContent, GatewayModel, GatewayModelsResponse, StoredBanditConfigRecord, StoredBrandingConfig, StoredModelConfig } from '@burtson-labs/bandit-types';
|
|
3
3
|
import 'react';
|
package/docs/00_intro.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Bandit Engine Overview
|
|
2
2
|
## Overview
|
|
3
|
-
Bandit Engine is the client framework that powers the Bandit conversational AI experience. It delivers a production-ready chat interface, management console, and integration utilities while keeping proprietary infrastructure behind your own gateway. The library ships as a TypeScript-first React package published as `@burtson-labs/bandit-engine` under the
|
|
3
|
+
Bandit Engine is the client framework that powers the Bandit conversational AI experience. It delivers a production-ready chat interface, management console, and integration utilities while keeping proprietary infrastructure behind your own gateway. The library ships as a TypeScript-first React package published as `@burtson-labs/bandit-engine` under the Apache License 2.0.
|
|
4
4
|
|
|
5
5
|
## Endpoints / API Usage
|
|
6
6
|
Bandit Engine communicates with a customer-hosted **gateway API**. The minimum required endpoints are:
|
|
@@ -23,4 +23,4 @@ See [`docs/02_gateway_api.md`](./02_gateway_api.md) for the canonical gateway co
|
|
|
23
23
|
## Related Files
|
|
24
24
|
- [`README.md`](../README.md)
|
|
25
25
|
- [`docs/01_quickstart.md`](./01_quickstart.md)
|
|
26
|
-
- [`docs/
|
|
26
|
+
- [`docs/06_licensing.md`](./06_licensing.md)
|
package/docs/05_contributing.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Contributing Guide
|
|
2
2
|
## Overview
|
|
3
|
-
We welcome community pull requests that improve the Bandit Engine
|
|
3
|
+
We welcome community pull requests that improve the Bandit Engine. The project is licensed under the Apache License 2.0 and contributions are accepted under the same license. This document summarizes expectations for contributors and the workflow we follow internally.
|
|
4
4
|
|
|
5
5
|
## Endpoints / API Usage
|
|
6
6
|
Contributors rarely need to modify gateway endpoints, but when you do:
|
|
@@ -30,4 +30,4 @@ Contributors rarely need to modify gateway endpoints, but when you do:
|
|
|
30
30
|
## Related Files
|
|
31
31
|
- [`CONTRIBUTING.md`](../CONTRIBUTING.md)
|
|
32
32
|
- [`LICENSE-NOTICE.md`](../LICENSE-NOTICE.md)
|
|
33
|
-
- [`docs/
|
|
33
|
+
- [`docs/06_licensing.md`](./06_licensing.md)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Licensing
|
|
2
|
+
## Overview
|
|
3
|
+
Bandit Engine is distributed under the Apache License, Version 2.0. You may use it in development and production, modify it, and redistribute it, including in commercial products, under the license's conditions: keep the license and copyright notices, state significant changes you made, and carry the attributions in [`NOTICE`](../NOTICE) when you redistribute. Contributors grant a patent license for their contributions. The license grants no trademark rights; "Bandit", "Bandit AI" and "Burtson Labs" are trademarks of Burtson Labs LLC.
|
|
4
|
+
|
|
5
|
+
## History
|
|
6
|
+
Releases up to and including 2.0.168 were published under the Business Source License 1.1 and remain under that license. 2.1.0 and later are Apache-2.0.
|
|
7
|
+
|
|
8
|
+
## Dependencies
|
|
9
|
+
The package depends on `@burtson-labs/bandit-types` and bundles `@burtson-labs/bandit-themes`; check their licenses alongside this one. Third-party dependencies carry their own licenses (`npm ls --omit=dev` lists them).
|
|
10
|
+
|
|
11
|
+
## Support
|
|
12
|
+
Commercial support, hosted Bandit plans and custom integrations are available from Burtson Labs separately from the license: team@burtson.ai. Licensing questions: legal@burtson.ai. Security reports: security@burtson.ai (see [`SECURITY.md`](../SECURITY.md)).
|
|
13
|
+
|
|
14
|
+
## Related Files
|
|
15
|
+
- [`LICENSE`](../LICENSE)
|
|
16
|
+
- [`NOTICE`](../NOTICE)
|
|
17
|
+
- [`LICENSE-NOTICE.md`](../LICENSE-NOTICE.md)
|
|
18
|
+
- [`SECURITY.md`](../SECURITY.md)
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# Custom MCP Tools Examples
|
|
2
|
+
|
|
3
|
+
## Adding Custom Tools to Bandit
|
|
4
|
+
|
|
5
|
+
Bandit now supports creating custom MCP (Model Context Protocol) tools that allow the AI to interact with external APIs and services. Here are some examples of powerful tools you can create:
|
|
6
|
+
|
|
7
|
+
### 1. GitHub Repository Information Tool
|
|
8
|
+
|
|
9
|
+
**Purpose:** Get real-time information about GitHub repositories
|
|
10
|
+
|
|
11
|
+
**Configuration:**
|
|
12
|
+
- **Name:** GitHub Repository Info
|
|
13
|
+
- **Description:** Get information about GitHub repositories, commits, and issues
|
|
14
|
+
- **Endpoint:** `/api/github/repo`
|
|
15
|
+
- **Method:** GET
|
|
16
|
+
- **Parameters:**
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"type": "object",
|
|
20
|
+
"properties": {
|
|
21
|
+
"owner": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"description": "GitHub repository owner"
|
|
24
|
+
},
|
|
25
|
+
"repo": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "GitHub repository name"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"required": ["owner", "repo"]
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Usage Example:**
|
|
35
|
+
> "What's the latest information about the microsoft/typescript repository?"
|
|
36
|
+
|
|
37
|
+
The AI will automatically use this tool to fetch current repository data including stars, forks, latest commits, and issues.
|
|
38
|
+
|
|
39
|
+
### 2. Weather Information Tool
|
|
40
|
+
|
|
41
|
+
**Purpose:** Get current weather and forecasts for any location
|
|
42
|
+
|
|
43
|
+
**Configuration:**
|
|
44
|
+
- **Name:** Weather API
|
|
45
|
+
- **Description:** Get current weather information for any location
|
|
46
|
+
- **Endpoint:** `/api/weather`
|
|
47
|
+
- **Method:** GET
|
|
48
|
+
- **Parameters:**
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"type": "object",
|
|
52
|
+
"properties": {
|
|
53
|
+
"location": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"description": "City name or coordinates"
|
|
56
|
+
},
|
|
57
|
+
"units": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"description": "Temperature units (metric, imperial)",
|
|
60
|
+
"enum": ["metric", "imperial"]
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"required": ["location"]
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Usage Example:**
|
|
68
|
+
> "What's the weather like in San Francisco today?"
|
|
69
|
+
|
|
70
|
+
### 3. Database Query Tool
|
|
71
|
+
|
|
72
|
+
**Purpose:** Execute SQL queries on configured databases
|
|
73
|
+
|
|
74
|
+
**Configuration:**
|
|
75
|
+
- **Name:** Database Query
|
|
76
|
+
- **Description:** Execute SQL queries on configured databases
|
|
77
|
+
- **Endpoint:** `/api/database/query`
|
|
78
|
+
- **Method:** POST
|
|
79
|
+
- **Parameters:**
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"type": "object",
|
|
83
|
+
"properties": {
|
|
84
|
+
"query": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"description": "SQL query to execute"
|
|
87
|
+
},
|
|
88
|
+
"database": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"description": "Database connection name"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"required": ["query"]
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Usage Example:**
|
|
98
|
+
> "Show me the top 10 customers by revenue from our sales database"
|
|
99
|
+
|
|
100
|
+
### 4. CRM Integration Tool
|
|
101
|
+
|
|
102
|
+
**Purpose:** Access customer data from Salesforce or similar CRM systems
|
|
103
|
+
|
|
104
|
+
**Configuration:**
|
|
105
|
+
- **Name:** CRM Integration
|
|
106
|
+
- **Description:** Access customer data from Salesforce or similar CRM systems
|
|
107
|
+
- **Endpoint:** `/api/crm/contact`
|
|
108
|
+
- **Method:** GET
|
|
109
|
+
- **Parameters:**
|
|
110
|
+
```json
|
|
111
|
+
{
|
|
112
|
+
"type": "object",
|
|
113
|
+
"properties": {
|
|
114
|
+
"contactId": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"description": "Contact ID to retrieve"
|
|
117
|
+
},
|
|
118
|
+
"email": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"description": "Contact email to search for"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"required": []
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Usage Example:**
|
|
128
|
+
> "Get me the contact information for john.doe@example.com"
|
|
129
|
+
|
|
130
|
+
### 5. System Status Tool
|
|
131
|
+
|
|
132
|
+
**Purpose:** Monitor server health and system metrics
|
|
133
|
+
|
|
134
|
+
**Configuration:**
|
|
135
|
+
- **Name:** System Status
|
|
136
|
+
- **Description:** Check system health, server status, and performance metrics
|
|
137
|
+
- **Endpoint:** `/api/system/status`
|
|
138
|
+
- **Method:** GET
|
|
139
|
+
- **Parameters:**
|
|
140
|
+
```json
|
|
141
|
+
{
|
|
142
|
+
"type": "object",
|
|
143
|
+
"properties": {
|
|
144
|
+
"component": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"description": "Specific component to check (optional)",
|
|
147
|
+
"enum": ["database", "cache", "api", "storage"]
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"required": []
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**Usage Example:**
|
|
155
|
+
> "How is our system performing right now? Any issues I should know about?"
|
|
156
|
+
|
|
157
|
+
## How to Create Custom Tools
|
|
158
|
+
|
|
159
|
+
1. **Open Management Panel:** Navigate to Settings → MCP Tools
|
|
160
|
+
2. **Click "Add Custom Tool":** This opens the tool creation modal
|
|
161
|
+
3. **Choose a Template:** Select from GitHub, Weather, Database, CRM, or start from scratch
|
|
162
|
+
4. **Configure the Tool:**
|
|
163
|
+
- Enter a descriptive name
|
|
164
|
+
- Write a clear description of what the tool does
|
|
165
|
+
- Set the API endpoint path
|
|
166
|
+
- Choose the HTTP method (GET, POST, PUT, DELETE)
|
|
167
|
+
- Define the parameters schema in JSON format
|
|
168
|
+
5. **Test the Tool:** Use the "Test Tool" button to verify it works
|
|
169
|
+
6. **Enable and Use:** Toggle the tool on and start chatting!
|
|
170
|
+
|
|
171
|
+
## Tool Features
|
|
172
|
+
|
|
173
|
+
### Built-in vs Custom Tools
|
|
174
|
+
- **Built-in Tools:** Come pre-configured (like the health check tool) with a blue "Built-in" badge
|
|
175
|
+
- **Custom Tools:** Created by you with a purple "Custom" badge
|
|
176
|
+
- **Edit/Delete:** Custom tools can be edited or deleted, built-in tools cannot
|
|
177
|
+
|
|
178
|
+
### Smart Parameter Handling
|
|
179
|
+
The AI automatically understands how to use your tools based on:
|
|
180
|
+
- The tool description
|
|
181
|
+
- Parameter schemas
|
|
182
|
+
- Usage context in conversations
|
|
183
|
+
|
|
184
|
+
### Error Handling
|
|
185
|
+
Tools gracefully handle errors and provide helpful feedback:
|
|
186
|
+
- Network connection issues
|
|
187
|
+
- API authentication problems
|
|
188
|
+
- Invalid parameters
|
|
189
|
+
- Service unavailability
|
|
190
|
+
|
|
191
|
+
### Real-time Execution
|
|
192
|
+
When the AI uses a tool, you'll see:
|
|
193
|
+
1. **"🔍 Running diagnostics..."** (for diagnostic tools)
|
|
194
|
+
2. **"🔄 Executing tool_name..."** (for other tools)
|
|
195
|
+
3. Rich, formatted results with analysis
|
|
196
|
+
|
|
197
|
+
## Advanced Use Cases
|
|
198
|
+
|
|
199
|
+
### Multi-step Workflows
|
|
200
|
+
The AI can chain multiple tools together:
|
|
201
|
+
> "Check our system status, then if there are any database issues, run a query to show recent error logs"
|
|
202
|
+
|
|
203
|
+
### Contextual Tool Selection
|
|
204
|
+
The AI chooses the right tool based on context:
|
|
205
|
+
> "What's the weather like where our main office is located?"
|
|
206
|
+
(AI uses location from company data + weather tool)
|
|
207
|
+
|
|
208
|
+
### Data Correlation
|
|
209
|
+
Tools can work together to provide insights:
|
|
210
|
+
> "How does our website traffic correlate with recent GitHub commits?"
|
|
211
|
+
(AI uses GitHub tool + analytics tool + correlation analysis)
|
|
212
|
+
|
|
213
|
+
## Security & Best Practices
|
|
214
|
+
|
|
215
|
+
1. **Endpoint Security:** Ensure your API endpoints are properly secured
|
|
216
|
+
2. **Authentication:** Tools inherit authentication from the gateway service
|
|
217
|
+
3. **Rate Limiting:** Implement appropriate rate limits on your APIs
|
|
218
|
+
4. **Data Validation:** Always validate parameters before processing
|
|
219
|
+
5. **Error Handling:** Provide meaningful error messages
|
|
220
|
+
6. **Documentation:** Write clear descriptions for the AI to understand
|
|
221
|
+
|
|
222
|
+
## Future Enhancements
|
|
223
|
+
|
|
224
|
+
- Visual tool builder with drag-and-drop interface
|
|
225
|
+
- Tool marketplace for sharing configurations
|
|
226
|
+
- Advanced authentication options (OAuth, API keys)
|
|
227
|
+
- Tool performance analytics
|
|
228
|
+
- Webhook support for real-time updates
|
|
229
|
+
- Tool composition and workflows
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
*Bandit's MCP tool system makes it incredibly easy to extend the AI's capabilities with any API or service. The combination of smart AI understanding and real-time execution creates a powerful platform for building AI-powered applications that can interact with your entire technology stack.*
|
package/docs/README.md
CHANGED
|
@@ -5,5 +5,6 @@
|
|
|
5
5
|
- [03 — Provider Integration Patterns](./03_provider_integration.md)
|
|
6
6
|
- [04 — Local Development & Advanced Services](./04_local_dev.md)
|
|
7
7
|
- [05 — Contributing Guide](./05_contributing.md)
|
|
8
|
-
- [06 —
|
|
8
|
+
- [06 — Licensing](./06_licensing.md)
|
|
9
|
+
- [07 — Custom MCP Tools](./07_custom_tools.md)
|
|
9
10
|
- [API Reference (generated)](./api_reference/index.md)
|
package/package.json
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@burtson-labs/bandit-engine",
|
|
3
|
-
"version": "2.0
|
|
4
|
-
"license": "
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"files": [
|
|
9
9
|
"dist",
|
|
10
|
-
"docs",
|
|
10
|
+
"docs/*.md",
|
|
11
11
|
"LICENSE",
|
|
12
|
+
"NOTICE",
|
|
13
|
+
"CHANGELOG.md",
|
|
12
14
|
"README.md"
|
|
13
15
|
],
|
|
14
16
|
"repository": {
|
|
@@ -51,37 +53,30 @@
|
|
|
51
53
|
},
|
|
52
54
|
"dependencies": {
|
|
53
55
|
"@burtson-labs/bandit-types": "^1.0.1",
|
|
54
|
-
"@burtson-labs/icons": "^0.5.0",
|
|
55
|
-
"@emotion/react": "^11.14.0",
|
|
56
|
-
"@emotion/styled": "^11.14.0",
|
|
57
|
-
"@mui/material": "^7.1.0",
|
|
58
56
|
"@tanstack/react-query": "^5.66.3",
|
|
59
|
-
"axios": "^1.
|
|
57
|
+
"axios": "^1.21.0",
|
|
60
58
|
"highlight.js": "^11.10.0",
|
|
61
|
-
"idb": "
|
|
59
|
+
"idb": "^8.0.3",
|
|
62
60
|
"lowlight": "^3.1.0",
|
|
63
|
-
"mammoth": "^1.
|
|
61
|
+
"mammoth": "^1.13.0",
|
|
64
62
|
"pdfjs-dist": "^5.2.133",
|
|
65
|
-
"react": "^19.0.0",
|
|
66
|
-
"react-dom": "^19.0.0",
|
|
67
63
|
"react-markdown": "^10.1.0",
|
|
68
|
-
"react-router-dom": "^7.5
|
|
64
|
+
"react-router-dom": "^7.18.5",
|
|
69
65
|
"rehype-raw": "^7.0.0",
|
|
70
66
|
"rehype-sanitize": "^6.0.0",
|
|
71
67
|
"remark-gfm": "^4.0.1",
|
|
72
68
|
"rxjs": "^7.8.2",
|
|
73
|
-
"uuid": "^11.1.0",
|
|
74
69
|
"zustand": "^4.5.6"
|
|
75
70
|
},
|
|
76
71
|
"devDependencies": {
|
|
77
72
|
"@burtson-labs/bandit-themes": "*",
|
|
73
|
+
"@burtson-labs/icons": "^0.5.0",
|
|
78
74
|
"@burtson-labs/ui": "^0.12.2",
|
|
79
75
|
"@testing-library/jest-dom": "^6.6.3",
|
|
80
76
|
"@testing-library/react": "^16.3.0",
|
|
81
77
|
"@types/node": "^24.0.3",
|
|
82
78
|
"@types/react": "^18.3.22",
|
|
83
79
|
"@types/react-dom": "^18.2.17",
|
|
84
|
-
"@types/uuid": "^10.0.0",
|
|
85
80
|
"@vitejs/plugin-react": "^4.6.0",
|
|
86
81
|
"eslint": "^8.57.0",
|
|
87
82
|
"eslint-plugin-react": "^7.34.1",
|
|
@@ -92,18 +87,26 @@
|
|
|
92
87
|
"vitest": "^3.2.4"
|
|
93
88
|
},
|
|
94
89
|
"peerDependencies": {
|
|
90
|
+
"@emotion/react": "^11.0.0",
|
|
91
|
+
"@emotion/styled": "^11.0.0",
|
|
95
92
|
"@mui/material": "^7.0.0",
|
|
96
93
|
"react": "^19.0.0",
|
|
97
94
|
"react-dom": "^19.0.0"
|
|
98
95
|
},
|
|
99
96
|
"exports": {
|
|
100
97
|
".": {
|
|
101
|
-
"import":
|
|
102
|
-
|
|
98
|
+
"import": {
|
|
99
|
+
"types": "./dist/index.d.mts",
|
|
100
|
+
"default": "./dist/index.mjs"
|
|
101
|
+
},
|
|
102
|
+
"require": {
|
|
103
|
+
"types": "./dist/index.d.ts",
|
|
104
|
+
"default": "./dist/index.js"
|
|
105
|
+
}
|
|
103
106
|
},
|
|
104
107
|
"./types": {
|
|
105
|
-
"types": "./dist/public-types.d.ts"
|
|
106
|
-
|
|
107
|
-
|
|
108
|
+
"types": "./dist/public-types.d.ts"
|
|
109
|
+
},
|
|
110
|
+
"./package.json": "./package.json"
|
|
108
111
|
}
|
|
109
112
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/chat-6N5B7A7F.mjs
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
chat_default
|
|
3
|
-
} from "./chunk-SHYNXDRO.mjs";
|
|
4
|
-
import "./chunk-ONQMRE2G.mjs";
|
|
5
|
-
import "./chunk-5BZWJQ5O.mjs";
|
|
6
|
-
import "./chunk-E5WMDLE3.mjs";
|
|
7
|
-
import "./chunk-KDIL5WUL.mjs";
|
|
8
|
-
import "./chunk-46OGYEME.mjs";
|
|
9
|
-
import "./chunk-SZJB5FLZ.mjs";
|
|
10
|
-
import "./chunk-GRPTCHFN.mjs";
|
|
11
|
-
import "./chunk-HNXPDIWC.mjs";
|
|
12
|
-
export {
|
|
13
|
-
chat_default as default
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=chat-6N5B7A7F.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|