rhachet-roles-bhrain 0.3.0 → 0.5.2
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/dist/access/sdk/sdkOpenAi.d.ts +25 -0
- package/dist/access/sdk/sdkOpenAi.js +122 -0
- package/dist/access/sdk/sdkOpenAi.js.map +1 -1
- package/dist/access/sdks/anthropic/sdkAnthropic.d.ts +31 -0
- package/dist/access/sdks/anthropic/sdkAnthropic.js +151 -0
- package/dist/access/sdks/anthropic/sdkAnthropic.js.map +1 -0
- package/dist/access/sdks/qwen/sdkQwen.d.ts +31 -0
- package/dist/access/sdks/qwen/sdkQwen.js +134 -0
- package/dist/access/sdks/qwen/sdkQwen.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Actor.d.ts +67 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Actor.js +12 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Actor.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Atom.d.ts +40 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Atom.js +3 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Atom.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Context.d.ts +30 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Context.js +3 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Context.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopIteration.d.ts +34 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopIteration.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopIteration.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopIterationCompletedEvent.d.ts +23 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopIterationCompletedEvent.js +9 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopIterationCompletedEvent.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopResult.d.ts +49 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopResult.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1LoopResult.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactedEvent.d.ts +31 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactedEvent.js +9 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactedEvent.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactionResult.d.ts +27 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactionResult.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryCompactionResult.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryManager.d.ts +45 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryManager.js +3 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryManager.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryTokenUsage.d.ts +29 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryTokenUsage.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1MemoryTokenUsage.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1PermissionDecision.d.ts +22 -0
- package/dist/domain.objects/BrainArch1/BrainArch1PermissionDecision.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1PermissionDecision.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1PermissionGuard.d.ts +30 -0
- package/dist/domain.objects/BrainArch1/BrainArch1PermissionGuard.js +3 -0
- package/dist/domain.objects/BrainArch1/BrainArch1PermissionGuard.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Session.d.ts +47 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Session.js +17 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Session.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1SessionMessage.d.ts +34 -0
- package/dist/domain.objects/BrainArch1/BrainArch1SessionMessage.js +12 -0
- package/dist/domain.objects/BrainArch1/BrainArch1SessionMessage.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolCall.d.ts +21 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolCall.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolCall.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolDefinition.d.ts +54 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolDefinition.js +20 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolDefinition.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolExecutionCompletedEvent.d.ts +36 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolExecutionCompletedEvent.js +9 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolExecutionCompletedEvent.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolResult.d.ts +25 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolResult.js +8 -0
- package/dist/domain.objects/BrainArch1/BrainArch1ToolResult.js.map +1 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Toolbox.d.ts +31 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Toolbox.js +3 -0
- package/dist/domain.objects/BrainArch1/BrainArch1Toolbox.js.map +1 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectManifest.d.ts +44 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectManifest.js +8 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectManifest.js.map +1 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectManifestOperation.d.ts +30 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectManifestOperation.js +35 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectManifestOperation.js.map +1 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectMetrics.d.ts +89 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectMetrics.js +8 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectMetrics.js.map +1 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectRuleProposal.d.ts +43 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectRuleProposal.js +8 -0
- package/dist/domain.objects/Reviewer/ReviewerReflectRuleProposal.js.map +1 -0
- package/dist/domain.operations/artifact/genLoopFeedback.js +1 -1
- package/dist/domain.operations/artifact/genLoopFeedback.js.map +1 -1
- package/dist/domain.operations/artifact/genStepGrabCallerFeedbackToArtifact.d.ts +1 -1
- package/dist/domain.operations/brain.replic.arch1/core/invokeBrainArch1.d.ts +13 -0
- package/dist/domain.operations/brain.replic.arch1/core/invokeBrainArch1.js +106 -0
- package/dist/domain.operations/brain.replic.arch1/core/invokeBrainArch1.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/llm/generateBrainArch1LlmResponse.d.ts +18 -0
- package/dist/domain.operations/brain.replic.arch1/llm/generateBrainArch1LlmResponse.js +16 -0
- package/dist/domain.operations/brain.replic.arch1/llm/generateBrainArch1LlmResponse.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/loop/iterateBrainArch1Loop.d.ts +30 -0
- package/dist/domain.operations/brain.replic.arch1/loop/iterateBrainArch1Loop.js +71 -0
- package/dist/domain.operations/brain.replic.arch1/loop/iterateBrainArch1Loop.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/loop/runBrainArch1Loop.d.ts +20 -0
- package/dist/domain.operations/brain.replic.arch1/loop/runBrainArch1Loop.js +90 -0
- package/dist/domain.operations/brain.replic.arch1/loop/runBrainArch1Loop.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/anthropic.d.ts +8 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/anthropic.js +31 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/anthropic.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/index.d.ts +3 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/index.js +10 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/index.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/openai.d.ts +8 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/openai.js +31 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/openai.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/qwen.d.ts +8 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/qwen.js +32 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/atoms/qwen.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/memoryManagers/slidingWindow.d.ts +6 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/memoryManagers/slidingWindow.js +80 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/memoryManagers/slidingWindow.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/allowAll.d.ts +6 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/allowAll.js +14 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/allowAll.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/promptUser.d.ts +8 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/promptUser.js +52 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/promptUser.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/readOnly.d.ts +8 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/readOnly.js +38 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/permissionGuards/readOnly.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/exec.d.ts +33 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/exec.js +100 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/exec.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/index.d.ts +6 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/index.js +26 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/bash/index.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/edit.d.ts +41 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/edit.js +107 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/edit.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/glob.d.ts +33 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/glob.js +68 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/glob.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/grep.d.ts +41 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/grep.js +97 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/grep.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/index.d.ts +6 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/index.js +65 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/index.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/read.d.ts +37 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/read.js +96 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/read.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/write.d.ts +33 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/write.js +81 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/files/write.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/fetch.d.ts +33 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/fetch.js +113 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/fetch.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/index.d.ts +6 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/index.js +36 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/index.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/search.d.ts +36 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/search.js +101 -0
- package/dist/domain.operations/brain.replic.arch1/plugins/toolboxes/web/search.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/tool/executeBrainArch1ToolCall.d.ts +14 -0
- package/dist/domain.operations/brain.replic.arch1/tool/executeBrainArch1ToolCall.js +45 -0
- package/dist/domain.operations/brain.replic.arch1/tool/executeBrainArch1ToolCall.js.map +1 -0
- package/dist/domain.operations/brain.replic.arch1/tool/mergeBrainArch1Toolboxes.d.ts +19 -0
- package/dist/domain.operations/brain.replic.arch1/tool/mergeBrainArch1Toolboxes.js +35 -0
- package/dist/domain.operations/brain.replic.arch1/tool/mergeBrainArch1Toolboxes.js.map +1 -0
- package/dist/domain.operations/git/genGitHubFileUrl.d.ts +9 -0
- package/dist/domain.operations/git/genGitHubFileUrl.js +55 -0
- package/dist/domain.operations/git/genGitHubFileUrl.js.map +1 -0
- package/dist/domain.operations/git/getGitRemoteUrl.d.ts +7 -0
- package/dist/domain.operations/git/getGitRemoteUrl.js +40 -0
- package/dist/domain.operations/git/getGitRemoteUrl.js.map +1 -0
- package/dist/domain.operations/hooks/getInvokeHooks.js +1 -1
- package/dist/domain.operations/hooks/getInvokeHooks.js.map +1 -1
- package/dist/domain.operations/reflect/createDraftDirectory.d.ts +11 -0
- package/dist/domain.operations/reflect/createDraftDirectory.js +46 -0
- package/dist/domain.operations/reflect/createDraftDirectory.js.map +1 -0
- package/dist/domain.operations/reflect/enumFeedbackFiles.d.ts +7 -0
- package/dist/domain.operations/reflect/enumFeedbackFiles.js +69 -0
- package/dist/domain.operations/reflect/enumFeedbackFiles.js.map +1 -0
- package/dist/domain.operations/reflect/extractJsonFromResultText.d.ts +7 -0
- package/dist/domain.operations/reflect/extractJsonFromResultText.js +19 -0
- package/dist/domain.operations/reflect/extractJsonFromResultText.js.map +1 -0
- package/dist/domain.operations/reflect/invokeClaudeCodeForReflect.d.ts +46 -0
- package/dist/domain.operations/reflect/invokeClaudeCodeForReflect.js +120 -0
- package/dist/domain.operations/reflect/invokeClaudeCodeForReflect.js.map +1 -0
- package/dist/domain.operations/reflect/metrics/computeMetricsExpected.d.ts +12 -0
- package/dist/domain.operations/reflect/metrics/computeMetricsExpected.js +28 -0
- package/dist/domain.operations/reflect/metrics/computeMetricsExpected.js.map +1 -0
- package/dist/domain.operations/reflect/metrics/computeMetricsRealized.d.ts +26 -0
- package/dist/domain.operations/reflect/metrics/computeMetricsRealized.js +66 -0
- package/dist/domain.operations/reflect/metrics/computeMetricsRealized.js.map +1 -0
- package/dist/domain.operations/reflect/metrics/writeLogArtifact.d.ts +17 -0
- package/dist/domain.operations/reflect/metrics/writeLogArtifact.js +93 -0
- package/dist/domain.operations/reflect/metrics/writeLogArtifact.js.map +1 -0
- package/dist/domain.operations/reflect/step1/compileCitationsMarkdown.d.ts +8 -0
- package/dist/domain.operations/reflect/step1/compileCitationsMarkdown.js +28 -0
- package/dist/domain.operations/reflect/step1/compileCitationsMarkdown.js.map +1 -0
- package/dist/domain.operations/reflect/step1/compileReflectStep1Prompt.d.ts +14 -0
- package/dist/domain.operations/reflect/step1/compileReflectStep1Prompt.js +93 -0
- package/dist/domain.operations/reflect/step1/compileReflectStep1Prompt.js.map +1 -0
- package/dist/domain.operations/reflect/step2/compileReflectStep2Prompt.d.ts +18 -0
- package/dist/domain.operations/reflect/step2/compileReflectStep2Prompt.js +208 -0
- package/dist/domain.operations/reflect/step2/compileReflectStep2Prompt.js.map +1 -0
- package/dist/domain.operations/reflect/step2/executeManifestOperations.d.ts +17 -0
- package/dist/domain.operations/reflect/step2/executeManifestOperations.js +189 -0
- package/dist/domain.operations/reflect/step2/executeManifestOperations.js.map +1 -0
- package/dist/domain.operations/reflect/step2/parseManifestOperations.d.ts +8 -0
- package/dist/domain.operations/reflect/step2/parseManifestOperations.js +73 -0
- package/dist/domain.operations/reflect/step2/parseManifestOperations.js.map +1 -0
- package/dist/domain.operations/reflect/validateSourceDirectory.d.ts +9 -0
- package/dist/domain.operations/reflect/validateSourceDirectory.js +63 -0
- package/dist/domain.operations/reflect/validateSourceDirectory.js.map +1 -0
- package/dist/domain.operations/reflect/validateTargetDirectory.d.ts +10 -0
- package/dist/domain.operations/reflect/validateTargetDirectory.js +59 -0
- package/dist/domain.operations/reflect/validateTargetDirectory.js.map +1 -0
- package/dist/domain.operations/review/compileReviewPrompt.js +16 -5
- package/dist/domain.operations/review/compileReviewPrompt.js.map +1 -1
- package/dist/domain.operations/review/formatReviewOutput.d.ts +15 -6
- package/dist/domain.operations/review/formatReviewOutput.js +15 -17
- package/dist/domain.operations/review/formatReviewOutput.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/roles/architect/getArchitectRole.d.ts +6 -0
- package/dist/roles/architect/getArchitectRole.js +31 -0
- package/dist/roles/architect/getArchitectRole.js.map +1 -0
- package/dist/roles/brain/getBrainRole.d.ts +6 -0
- package/dist/roles/brain/getBrainRole.js +28 -0
- package/dist/roles/brain/getBrainRole.js.map +1 -0
- package/dist/roles/brain/skills/act/skillAct.d.ts +5 -0
- package/dist/roles/brain/skills/act/skillAct.js +147 -0
- package/dist/roles/brain/skills/act/skillAct.js.map +1 -0
- package/dist/roles/brain/skills/act/skillAct.ts +186 -0
- package/dist/roles/brain/skills/act/stepAct.d.ts +27 -0
- package/dist/roles/brain/skills/act/stepAct.js +95 -0
- package/dist/roles/brain/skills/act/stepAct.js.map +1 -0
- package/dist/roles/brain/skills/act/stepAct.ts +123 -0
- package/dist/roles/getRoleRegistry.js +5 -4
- package/dist/roles/getRoleRegistry.js.map +1 -1
- package/dist/roles/reviewer/briefs/on.rules/rules101.[article].md +41 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.citations.[article].md +88 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.collocated.[article].md +97 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.content.[article].md +228 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.content.[demo].forbid.failhide.md +87 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.content.[demo].forbid.gerunds.md +85 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.content.[demo].require.failfast.md +73 -0
- package/dist/roles/reviewer/briefs/on.rules/rules101.structure.[article].md +70 -0
- package/dist/roles/reviewer/skills/reflect/reflect.d.ts +30 -0
- package/dist/roles/reviewer/skills/reflect/reflect.js +305 -0
- package/dist/roles/reviewer/skills/reflect/reflect.js.map +1 -0
- package/dist/roles/reviewer/skills/reflect/reflect.sh +38 -0
- package/dist/roles/reviewer/skills/reflect/reflect.ts +356 -0
- package/dist/roles/reviewer/skills/review/review.js.map +1 -1
- package/dist/roles/reviewer/skills/review/review.ts +12 -3
- package/dist/roles/thinker/getThinkerBrief.d.ts +1 -1
- package/dist/roles/thinker/getThinkerRole.js +8 -8
- package/dist/roles/thinker/getThinkerRole.js.map +1 -1
- package/package.json +6 -4
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import type { ContextLogTrail } from 'as-procedure';
|
|
2
2
|
import type { ChatModel } from 'openai/resources/index';
|
|
3
|
+
import type { BrainArch1Context } from '../../domain.objects/BrainArch1/BrainArch1Context';
|
|
4
|
+
import { BrainArch1MemoryTokenUsage } from '../../domain.objects/BrainArch1/BrainArch1MemoryTokenUsage';
|
|
5
|
+
import { BrainArch1SessionMessage } from '../../domain.objects/BrainArch1/BrainArch1SessionMessage';
|
|
6
|
+
import type { BrainArch1ToolDefinition } from '../../domain.objects/BrainArch1/BrainArch1ToolDefinition';
|
|
3
7
|
export interface ContextOpenAI {
|
|
4
8
|
openai: {
|
|
5
9
|
auth: {
|
|
6
10
|
key: string;
|
|
11
|
+
url?: string;
|
|
7
12
|
};
|
|
8
13
|
llm: {
|
|
9
14
|
model: ChatModel;
|
|
@@ -13,4 +18,24 @@ export interface ContextOpenAI {
|
|
|
13
18
|
}
|
|
14
19
|
export declare const sdkOpenAi: {
|
|
15
20
|
imagine: (input: string, context: ContextOpenAI & ContextLogTrail) => Promise<string>;
|
|
21
|
+
generate: (input: {
|
|
22
|
+
messages: BrainArch1SessionMessage[];
|
|
23
|
+
tools: BrainArch1ToolDefinition[];
|
|
24
|
+
maxTokens?: number;
|
|
25
|
+
}, context: {
|
|
26
|
+
openai: {
|
|
27
|
+
auth: {
|
|
28
|
+
key: string;
|
|
29
|
+
url?: string;
|
|
30
|
+
};
|
|
31
|
+
llm: {
|
|
32
|
+
model: string;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
} & {
|
|
36
|
+
log: BrainArch1Context['log'];
|
|
37
|
+
}) => Promise<{
|
|
38
|
+
message: BrainArch1SessionMessage;
|
|
39
|
+
tokenUsage: BrainArch1MemoryTokenUsage;
|
|
40
|
+
}>;
|
|
16
41
|
};
|
|
@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.sdkOpenAi = void 0;
|
|
7
7
|
const helpful_errors_1 = require("helpful-errors");
|
|
8
8
|
const openai_1 = __importDefault(require("openai"));
|
|
9
|
+
const BrainArch1MemoryTokenUsage_1 = require("../../domain.objects/BrainArch1/BrainArch1MemoryTokenUsage");
|
|
10
|
+
const BrainArch1SessionMessage_1 = require("../../domain.objects/BrainArch1/BrainArch1SessionMessage");
|
|
11
|
+
const BrainArch1ToolCall_1 = require("../../domain.objects/BrainArch1/BrainArch1ToolCall");
|
|
9
12
|
const imagine = async (input, context) => {
|
|
10
13
|
const openai = new openai_1.default({
|
|
11
14
|
apiKey: context.openai.auth.key,
|
|
@@ -36,7 +39,126 @@ const imagine = async (input, context) => {
|
|
|
36
39
|
: content;
|
|
37
40
|
return stripped;
|
|
38
41
|
};
|
|
42
|
+
/**
|
|
43
|
+
* .what = converts bhrain tool definitions to openai tool format
|
|
44
|
+
* .why = openai has its own function calling schema format
|
|
45
|
+
*/
|
|
46
|
+
const toOpenAiTools = (tools) => {
|
|
47
|
+
return tools.map((tool) => ({
|
|
48
|
+
type: 'function',
|
|
49
|
+
function: {
|
|
50
|
+
name: tool.name,
|
|
51
|
+
description: tool.description,
|
|
52
|
+
parameters: {
|
|
53
|
+
type: 'object',
|
|
54
|
+
properties: tool.schema.input.properties,
|
|
55
|
+
required: tool.schema.input.required,
|
|
56
|
+
},
|
|
57
|
+
strict: tool.strict,
|
|
58
|
+
},
|
|
59
|
+
}));
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* .what = converts bhrain messages to openai message format
|
|
63
|
+
* .why = openai has its own message structure
|
|
64
|
+
*/
|
|
65
|
+
const toOpenAiMessages = (messages) => {
|
|
66
|
+
return messages.map((msg) => {
|
|
67
|
+
// handle tool result messages
|
|
68
|
+
if (msg.role === 'tool' && msg.toolCallId) {
|
|
69
|
+
return {
|
|
70
|
+
role: 'tool',
|
|
71
|
+
tool_call_id: msg.toolCallId,
|
|
72
|
+
content: msg.content ?? '',
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
// handle assistant messages with tool calls
|
|
76
|
+
if (msg.role === 'assistant' && msg.toolCalls && msg.toolCalls.length > 0) {
|
|
77
|
+
return {
|
|
78
|
+
role: 'assistant',
|
|
79
|
+
content: msg.content,
|
|
80
|
+
tool_calls: msg.toolCalls.map((call) => ({
|
|
81
|
+
id: call.id,
|
|
82
|
+
type: 'function',
|
|
83
|
+
function: {
|
|
84
|
+
name: call.name,
|
|
85
|
+
arguments: JSON.stringify(call.input),
|
|
86
|
+
},
|
|
87
|
+
})),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
// handle regular messages
|
|
91
|
+
if (msg.role === 'system') {
|
|
92
|
+
return { role: 'system', content: msg.content ?? '' };
|
|
93
|
+
}
|
|
94
|
+
if (msg.role === 'user') {
|
|
95
|
+
return { role: 'user', content: msg.content ?? '' };
|
|
96
|
+
}
|
|
97
|
+
return { role: 'assistant', content: msg.content ?? '' };
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* .what = converts openai response to bhrain message format
|
|
102
|
+
* .why = normalizes openai's response to our domain model
|
|
103
|
+
*/
|
|
104
|
+
const toBrainArch1Message = (choice) => {
|
|
105
|
+
const toolCalls = [];
|
|
106
|
+
if (choice.message.tool_calls) {
|
|
107
|
+
for (const tc of choice.message.tool_calls) {
|
|
108
|
+
toolCalls.push(new BrainArch1ToolCall_1.BrainArch1ToolCall({
|
|
109
|
+
id: tc.id,
|
|
110
|
+
name: tc.function.name,
|
|
111
|
+
input: JSON.parse(tc.function.arguments || '{}'),
|
|
112
|
+
}));
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return new BrainArch1SessionMessage_1.BrainArch1SessionMessage({
|
|
116
|
+
role: 'assistant',
|
|
117
|
+
content: choice.message.content,
|
|
118
|
+
toolCalls: toolCalls.length > 0 ? toolCalls : null,
|
|
119
|
+
toolCallId: null,
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* .what = generates a response from openai api with tool support
|
|
124
|
+
* .why = enables brain to use openai as its llm atom
|
|
125
|
+
*/
|
|
126
|
+
const generate = async (input, context) => {
|
|
127
|
+
// instantiate client
|
|
128
|
+
const client = new openai_1.default({
|
|
129
|
+
apiKey: context.openai.auth.key,
|
|
130
|
+
baseURL: context.openai.auth.url,
|
|
131
|
+
});
|
|
132
|
+
// prepare request
|
|
133
|
+
const openaiMessages = toOpenAiMessages(input.messages);
|
|
134
|
+
const openaiTools = input.tools.length > 0 ? toOpenAiTools(input.tools) : undefined;
|
|
135
|
+
// make api call
|
|
136
|
+
const response = await client.chat.completions.create({
|
|
137
|
+
model: context.openai.llm.model,
|
|
138
|
+
max_tokens: input.maxTokens ?? 8192,
|
|
139
|
+
messages: openaiMessages,
|
|
140
|
+
tools: openaiTools,
|
|
141
|
+
});
|
|
142
|
+
// validate response
|
|
143
|
+
const choice = response.choices[0];
|
|
144
|
+
if (!choice) {
|
|
145
|
+
throw new helpful_errors_1.UnexpectedCodePathError('no choice in openai response', {
|
|
146
|
+
response,
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
// convert to bhrain format
|
|
150
|
+
const message = toBrainArch1Message(choice);
|
|
151
|
+
const tokenUsage = new BrainArch1MemoryTokenUsage_1.BrainArch1MemoryTokenUsage({
|
|
152
|
+
inputTokens: response.usage?.prompt_tokens ?? 0,
|
|
153
|
+
outputTokens: response.usage?.completion_tokens ?? 0,
|
|
154
|
+
totalTokens: response.usage?.total_tokens ?? 0,
|
|
155
|
+
cacheReadTokens: null,
|
|
156
|
+
cacheWriteTokens: null,
|
|
157
|
+
});
|
|
158
|
+
return { message, tokenUsage };
|
|
159
|
+
};
|
|
39
160
|
exports.sdkOpenAi = {
|
|
40
161
|
imagine,
|
|
162
|
+
generate,
|
|
41
163
|
};
|
|
42
164
|
//# sourceMappingURL=sdkOpenAi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkOpenAi.js","sourceRoot":"","sources":["../../../src/access/sdk/sdkOpenAi.ts"],"names":[],"mappings":";;;;;;AACA,mDAAyD;AACzD,oDAA4B;
|
|
1
|
+
{"version":3,"file":"sdkOpenAi.js","sourceRoot":"","sources":["../../../src/access/sdk/sdkOpenAi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { BrainArch1Context } from '../../../domain.objects/BrainArch1/BrainArch1Context';
|
|
2
|
+
import { BrainArch1MemoryTokenUsage } from '../../../domain.objects/BrainArch1/BrainArch1MemoryTokenUsage';
|
|
3
|
+
import { BrainArch1SessionMessage } from '../../../domain.objects/BrainArch1/BrainArch1SessionMessage';
|
|
4
|
+
import type { BrainArch1ToolDefinition } from '../../../domain.objects/BrainArch1/BrainArch1ToolDefinition';
|
|
5
|
+
/**
|
|
6
|
+
* .what = context required for anthropic api calls
|
|
7
|
+
* .why = enables dependency injection of anthropic-specific config
|
|
8
|
+
*/
|
|
9
|
+
export interface ContextAnthropic {
|
|
10
|
+
anthropic: {
|
|
11
|
+
auth: {
|
|
12
|
+
key: string;
|
|
13
|
+
url?: string;
|
|
14
|
+
};
|
|
15
|
+
llm: {
|
|
16
|
+
model: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare const sdkAnthropic: {
|
|
21
|
+
generate: (input: {
|
|
22
|
+
messages: BrainArch1SessionMessage[];
|
|
23
|
+
tools: BrainArch1ToolDefinition[];
|
|
24
|
+
maxTokens?: number;
|
|
25
|
+
}, context: ContextAnthropic & {
|
|
26
|
+
log: BrainArch1Context['log'];
|
|
27
|
+
}) => Promise<{
|
|
28
|
+
message: BrainArch1SessionMessage;
|
|
29
|
+
tokenUsage: BrainArch1MemoryTokenUsage;
|
|
30
|
+
}>;
|
|
31
|
+
};
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.sdkAnthropic = void 0;
|
|
7
|
+
const sdk_1 = __importDefault(require("@anthropic-ai/sdk"));
|
|
8
|
+
const helpful_errors_1 = require("helpful-errors");
|
|
9
|
+
const BrainArch1MemoryTokenUsage_1 = require("../../../domain.objects/BrainArch1/BrainArch1MemoryTokenUsage");
|
|
10
|
+
const BrainArch1SessionMessage_1 = require("../../../domain.objects/BrainArch1/BrainArch1SessionMessage");
|
|
11
|
+
const BrainArch1ToolCall_1 = require("../../../domain.objects/BrainArch1/BrainArch1ToolCall");
|
|
12
|
+
/**
|
|
13
|
+
* .what = converts bhrain tool definitions to anthropic tool format
|
|
14
|
+
* .why = anthropic has its own tool schema format
|
|
15
|
+
*/
|
|
16
|
+
const toAnthropicTools = (tools) => {
|
|
17
|
+
return tools.map((tool) => ({
|
|
18
|
+
name: tool.name,
|
|
19
|
+
description: tool.description,
|
|
20
|
+
input_schema: {
|
|
21
|
+
type: 'object',
|
|
22
|
+
properties: tool.schema.input.properties,
|
|
23
|
+
required: tool.schema.input.required,
|
|
24
|
+
},
|
|
25
|
+
}));
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* .what = converts bhrain messages to anthropic message format
|
|
29
|
+
* .why = anthropic has its own message structure with content blocks
|
|
30
|
+
*/
|
|
31
|
+
const toAnthropicMessages = (messages) => {
|
|
32
|
+
return messages
|
|
33
|
+
.filter((m) => m.role !== 'system') // system handled separately
|
|
34
|
+
.map((msg) => {
|
|
35
|
+
// handle tool result messages
|
|
36
|
+
if (msg.role === 'tool' && msg.toolCallId) {
|
|
37
|
+
return {
|
|
38
|
+
role: 'user',
|
|
39
|
+
content: [
|
|
40
|
+
{
|
|
41
|
+
type: 'tool_result',
|
|
42
|
+
tool_use_id: msg.toolCallId,
|
|
43
|
+
content: msg.content ?? '',
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// handle assistant messages with tool calls
|
|
49
|
+
if (msg.role === 'assistant' &&
|
|
50
|
+
msg.toolCalls &&
|
|
51
|
+
msg.toolCalls.length > 0) {
|
|
52
|
+
const content = [];
|
|
53
|
+
if (msg.content) {
|
|
54
|
+
content.push({ type: 'text', text: msg.content });
|
|
55
|
+
}
|
|
56
|
+
for (const call of msg.toolCalls) {
|
|
57
|
+
content.push({
|
|
58
|
+
type: 'tool_use',
|
|
59
|
+
id: call.id,
|
|
60
|
+
name: call.name,
|
|
61
|
+
input: call.input,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return { role: 'assistant', content };
|
|
65
|
+
}
|
|
66
|
+
// handle regular messages
|
|
67
|
+
return {
|
|
68
|
+
role: msg.role === 'user' ? 'user' : 'assistant',
|
|
69
|
+
content: msg.content ?? '',
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* .what = extracts system prompt from messages
|
|
75
|
+
* .why = anthropic handles system prompt separately from messages
|
|
76
|
+
*/
|
|
77
|
+
const extractSystemPrompt = (messages) => {
|
|
78
|
+
const systemMsg = messages.find((m) => m.role === 'system');
|
|
79
|
+
return systemMsg?.content ?? undefined;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* .what = converts anthropic response to bhrain message format
|
|
83
|
+
* .why = normalizes anthropic's response to our domain model
|
|
84
|
+
*/
|
|
85
|
+
const toBrainArch1Message = (response) => {
|
|
86
|
+
let textContent = null;
|
|
87
|
+
const toolCalls = [];
|
|
88
|
+
for (const block of response.content) {
|
|
89
|
+
if (block.type === 'text') {
|
|
90
|
+
textContent = block.text;
|
|
91
|
+
}
|
|
92
|
+
else if (block.type === 'tool_use') {
|
|
93
|
+
toolCalls.push(new BrainArch1ToolCall_1.BrainArch1ToolCall({
|
|
94
|
+
id: block.id,
|
|
95
|
+
name: block.name,
|
|
96
|
+
input: block.input,
|
|
97
|
+
}));
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return new BrainArch1SessionMessage_1.BrainArch1SessionMessage({
|
|
101
|
+
role: 'assistant',
|
|
102
|
+
content: textContent,
|
|
103
|
+
toolCalls: toolCalls.length > 0 ? toolCalls : null,
|
|
104
|
+
toolCallId: null,
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* .what = generates a response from anthropic claude api
|
|
109
|
+
* .why = enables brain to use anthropic as its llm atom
|
|
110
|
+
*/
|
|
111
|
+
const generate = async (input, context) => {
|
|
112
|
+
// instantiate client
|
|
113
|
+
const client = new sdk_1.default({
|
|
114
|
+
apiKey: context.anthropic.auth.key,
|
|
115
|
+
baseURL: context.anthropic.auth.url,
|
|
116
|
+
});
|
|
117
|
+
// prepare request
|
|
118
|
+
const systemPrompt = extractSystemPrompt(input.messages);
|
|
119
|
+
const anthropicMessages = toAnthropicMessages(input.messages);
|
|
120
|
+
const anthropicTools = input.tools.length > 0 ? toAnthropicTools(input.tools) : undefined;
|
|
121
|
+
// make api call
|
|
122
|
+
const response = await client.messages.create({
|
|
123
|
+
model: context.anthropic.llm.model,
|
|
124
|
+
max_tokens: input.maxTokens ?? 8192,
|
|
125
|
+
system: systemPrompt,
|
|
126
|
+
messages: anthropicMessages,
|
|
127
|
+
tools: anthropicTools,
|
|
128
|
+
});
|
|
129
|
+
// validate response
|
|
130
|
+
if (response.content.length === 0) {
|
|
131
|
+
throw new helpful_errors_1.UnexpectedCodePathError('empty content in anthropic response', {
|
|
132
|
+
response,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
// convert to bhrain format
|
|
136
|
+
const message = toBrainArch1Message(response);
|
|
137
|
+
const tokenUsage = new BrainArch1MemoryTokenUsage_1.BrainArch1MemoryTokenUsage({
|
|
138
|
+
inputTokens: response.usage.input_tokens,
|
|
139
|
+
outputTokens: response.usage.output_tokens,
|
|
140
|
+
totalTokens: response.usage.input_tokens + response.usage.output_tokens,
|
|
141
|
+
cacheReadTokens: response.usage
|
|
142
|
+
.cache_read_input_tokens ?? null,
|
|
143
|
+
cacheWriteTokens: response.usage
|
|
144
|
+
.cache_creation_input_tokens ?? null,
|
|
145
|
+
});
|
|
146
|
+
return { message, tokenUsage };
|
|
147
|
+
};
|
|
148
|
+
exports.sdkAnthropic = {
|
|
149
|
+
generate,
|
|
150
|
+
};
|
|
151
|
+
//# sourceMappingURL=sdkAnthropic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdkAnthropic.js","sourceRoot":"","sources":["../../../../src/access/sdks/anthropic/sdkAnthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { BrainArch1Context } from '../../../domain.objects/BrainArch1/BrainArch1Context';
|
|
2
|
+
import { BrainArch1MemoryTokenUsage } from '../../../domain.objects/BrainArch1/BrainArch1MemoryTokenUsage';
|
|
3
|
+
import { BrainArch1SessionMessage } from '../../../domain.objects/BrainArch1/BrainArch1SessionMessage';
|
|
4
|
+
import type { BrainArch1ToolDefinition } from '../../../domain.objects/BrainArch1/BrainArch1ToolDefinition';
|
|
5
|
+
/**
|
|
6
|
+
* .what = context required for qwen api calls
|
|
7
|
+
* .why = enables dependency injection of qwen-specific config
|
|
8
|
+
*/
|
|
9
|
+
export interface ContextQwen {
|
|
10
|
+
qwen: {
|
|
11
|
+
auth: {
|
|
12
|
+
key: string;
|
|
13
|
+
url: string;
|
|
14
|
+
};
|
|
15
|
+
llm: {
|
|
16
|
+
model: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare const sdkQwen: {
|
|
21
|
+
generate: (input: {
|
|
22
|
+
messages: BrainArch1SessionMessage[];
|
|
23
|
+
tools: BrainArch1ToolDefinition[];
|
|
24
|
+
maxTokens?: number;
|
|
25
|
+
}, context: ContextQwen & {
|
|
26
|
+
log: BrainArch1Context['log'];
|
|
27
|
+
}) => Promise<{
|
|
28
|
+
message: BrainArch1SessionMessage;
|
|
29
|
+
tokenUsage: BrainArch1MemoryTokenUsage;
|
|
30
|
+
}>;
|
|
31
|
+
};
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.sdkQwen = void 0;
|
|
7
|
+
const helpful_errors_1 = require("helpful-errors");
|
|
8
|
+
const openai_1 = __importDefault(require("openai"));
|
|
9
|
+
const BrainArch1MemoryTokenUsage_1 = require("../../../domain.objects/BrainArch1/BrainArch1MemoryTokenUsage");
|
|
10
|
+
const BrainArch1SessionMessage_1 = require("../../../domain.objects/BrainArch1/BrainArch1SessionMessage");
|
|
11
|
+
const BrainArch1ToolCall_1 = require("../../../domain.objects/BrainArch1/BrainArch1ToolCall");
|
|
12
|
+
/**
|
|
13
|
+
* .what = converts bhrain tool definitions to openai-compatible tool format
|
|
14
|
+
* .why = qwen uses openai-compatible api
|
|
15
|
+
*/
|
|
16
|
+
const toQwenTools = (tools) => {
|
|
17
|
+
return tools.map((tool) => ({
|
|
18
|
+
type: 'function',
|
|
19
|
+
function: {
|
|
20
|
+
name: tool.name,
|
|
21
|
+
description: tool.description,
|
|
22
|
+
parameters: {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: tool.schema.input.properties,
|
|
25
|
+
required: tool.schema.input.required,
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
}));
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* .what = converts bhrain messages to openai-compatible message format
|
|
32
|
+
* .why = qwen uses openai-compatible api
|
|
33
|
+
*/
|
|
34
|
+
const toQwenMessages = (messages) => {
|
|
35
|
+
return messages.map((msg) => {
|
|
36
|
+
// handle tool result messages
|
|
37
|
+
if (msg.role === 'tool' && msg.toolCallId) {
|
|
38
|
+
return {
|
|
39
|
+
role: 'tool',
|
|
40
|
+
tool_call_id: msg.toolCallId,
|
|
41
|
+
content: msg.content ?? '',
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
// handle assistant messages with tool calls
|
|
45
|
+
if (msg.role === 'assistant' && msg.toolCalls && msg.toolCalls.length > 0) {
|
|
46
|
+
return {
|
|
47
|
+
role: 'assistant',
|
|
48
|
+
content: msg.content,
|
|
49
|
+
tool_calls: msg.toolCalls.map((call) => ({
|
|
50
|
+
id: call.id,
|
|
51
|
+
type: 'function',
|
|
52
|
+
function: {
|
|
53
|
+
name: call.name,
|
|
54
|
+
arguments: JSON.stringify(call.input),
|
|
55
|
+
},
|
|
56
|
+
})),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
// handle regular messages
|
|
60
|
+
if (msg.role === 'system') {
|
|
61
|
+
return { role: 'system', content: msg.content ?? '' };
|
|
62
|
+
}
|
|
63
|
+
if (msg.role === 'user') {
|
|
64
|
+
return { role: 'user', content: msg.content ?? '' };
|
|
65
|
+
}
|
|
66
|
+
return { role: 'assistant', content: msg.content ?? '' };
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* .what = converts qwen response to bhrain message format
|
|
71
|
+
* .why = normalizes qwen's response to our domain model
|
|
72
|
+
*/
|
|
73
|
+
const toBrainArch1Message = (choice) => {
|
|
74
|
+
const toolCalls = [];
|
|
75
|
+
if (choice.message.tool_calls) {
|
|
76
|
+
for (const tc of choice.message.tool_calls) {
|
|
77
|
+
toolCalls.push(new BrainArch1ToolCall_1.BrainArch1ToolCall({
|
|
78
|
+
id: tc.id,
|
|
79
|
+
name: tc.function.name,
|
|
80
|
+
input: JSON.parse(tc.function.arguments || '{}'),
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return new BrainArch1SessionMessage_1.BrainArch1SessionMessage({
|
|
85
|
+
role: 'assistant',
|
|
86
|
+
content: choice.message.content,
|
|
87
|
+
toolCalls: toolCalls.length > 0 ? toolCalls : null,
|
|
88
|
+
toolCallId: null,
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* .what = generates a response from qwen api (openai-compatible)
|
|
93
|
+
* .why = enables brain to use qwen as its llm atom
|
|
94
|
+
*
|
|
95
|
+
* .note = qwen uses dashscope's openai-compatible endpoint
|
|
96
|
+
*/
|
|
97
|
+
const generate = async (input, context) => {
|
|
98
|
+
// instantiate client with qwen endpoint
|
|
99
|
+
const client = new openai_1.default({
|
|
100
|
+
apiKey: context.qwen.auth.key,
|
|
101
|
+
baseURL: context.qwen.auth.url,
|
|
102
|
+
});
|
|
103
|
+
// prepare request
|
|
104
|
+
const qwenMessages = toQwenMessages(input.messages);
|
|
105
|
+
const qwenTools = input.tools.length > 0 ? toQwenTools(input.tools) : undefined;
|
|
106
|
+
// make api call
|
|
107
|
+
const response = await client.chat.completions.create({
|
|
108
|
+
model: context.qwen.llm.model,
|
|
109
|
+
max_tokens: input.maxTokens ?? 8192,
|
|
110
|
+
messages: qwenMessages,
|
|
111
|
+
tools: qwenTools,
|
|
112
|
+
});
|
|
113
|
+
// validate response
|
|
114
|
+
const choice = response.choices[0];
|
|
115
|
+
if (!choice) {
|
|
116
|
+
throw new helpful_errors_1.UnexpectedCodePathError('no choice in qwen response', {
|
|
117
|
+
response,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
// convert to bhrain format
|
|
121
|
+
const message = toBrainArch1Message(choice);
|
|
122
|
+
const tokenUsage = new BrainArch1MemoryTokenUsage_1.BrainArch1MemoryTokenUsage({
|
|
123
|
+
inputTokens: response.usage?.prompt_tokens ?? 0,
|
|
124
|
+
outputTokens: response.usage?.completion_tokens ?? 0,
|
|
125
|
+
totalTokens: response.usage?.total_tokens ?? 0,
|
|
126
|
+
cacheReadTokens: null,
|
|
127
|
+
cacheWriteTokens: null,
|
|
128
|
+
});
|
|
129
|
+
return { message, tokenUsage };
|
|
130
|
+
};
|
|
131
|
+
exports.sdkQwen = {
|
|
132
|
+
generate,
|
|
133
|
+
};
|
|
134
|
+
//# sourceMappingURL=sdkQwen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdkQwen.js","sourceRoot":"","sources":["../../../../src/access/sdks/qwen/sdkQwen.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { DomainLiteral } from 'domain-objects';
|
|
2
|
+
import type { BrainArch1Atom } from './BrainArch1Atom';
|
|
3
|
+
import type { BrainArch1MemoryManager } from './BrainArch1MemoryManager';
|
|
4
|
+
import type { BrainArch1PermissionGuard } from './BrainArch1PermissionGuard';
|
|
5
|
+
import type { BrainArch1Toolbox } from './BrainArch1Toolbox';
|
|
6
|
+
/**
|
|
7
|
+
* .what = instantiates a specific actor which will use the BrainArch1 architecture
|
|
8
|
+
* .why = enables configuring an actor with plugins (atom, tools, memory, permissions)
|
|
9
|
+
* that the brain loop will leverage to enable action
|
|
10
|
+
*
|
|
11
|
+
* .note = the difference between actor & agent is that agency is granted only after
|
|
12
|
+
* a real user delegates responsibilities to the actor. so we can't say it's
|
|
13
|
+
* an agent here yet (since it could be readonly with no delegated responsibilities).
|
|
14
|
+
* but we know for sure it's an actor.
|
|
15
|
+
*/
|
|
16
|
+
export interface BrainArch1Actor {
|
|
17
|
+
/**
|
|
18
|
+
* the llm atom plugin to use for generation
|
|
19
|
+
*
|
|
20
|
+
* .todo = support an atom plugin that chooses which model to use based on
|
|
21
|
+
* context, task complexity, cost optimization, etc. Today we only support
|
|
22
|
+
* using one atom for the entire session.
|
|
23
|
+
*/
|
|
24
|
+
atom: BrainArch1Atom;
|
|
25
|
+
/**
|
|
26
|
+
* the role this actor should take
|
|
27
|
+
*
|
|
28
|
+
* .todo = support rhachet roles more fundamentally
|
|
29
|
+
*/
|
|
30
|
+
role: {
|
|
31
|
+
/**
|
|
32
|
+
* system prompt to prepend to conversation (null for default)
|
|
33
|
+
*/
|
|
34
|
+
systemPrompt: string | null;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* constraints on actor execution
|
|
38
|
+
*/
|
|
39
|
+
constraints: {
|
|
40
|
+
/**
|
|
41
|
+
* maximum iterations before forced termination
|
|
42
|
+
*/
|
|
43
|
+
maxIterations: number;
|
|
44
|
+
/**
|
|
45
|
+
* maximum tokens for context window
|
|
46
|
+
*/
|
|
47
|
+
maxTokens: number;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* toolboxes available to the actor
|
|
51
|
+
*/
|
|
52
|
+
toolboxes: BrainArch1Toolbox[];
|
|
53
|
+
/**
|
|
54
|
+
* memory manager plugin for context optimization
|
|
55
|
+
*/
|
|
56
|
+
memory: BrainArch1MemoryManager | null;
|
|
57
|
+
/**
|
|
58
|
+
* permission guard plugin for tool execution authorization
|
|
59
|
+
*/
|
|
60
|
+
permission: BrainArch1PermissionGuard | null;
|
|
61
|
+
}
|
|
62
|
+
export declare class BrainArch1Actor extends DomainLiteral<BrainArch1Actor> implements BrainArch1Actor {
|
|
63
|
+
static nested: {
|
|
64
|
+
role: typeof DomainLiteral;
|
|
65
|
+
constraints: typeof DomainLiteral;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BrainArch1Actor = void 0;
|
|
4
|
+
const domain_objects_1 = require("domain-objects");
|
|
5
|
+
class BrainArch1Actor extends domain_objects_1.DomainLiteral {
|
|
6
|
+
}
|
|
7
|
+
exports.BrainArch1Actor = BrainArch1Actor;
|
|
8
|
+
BrainArch1Actor.nested = {
|
|
9
|
+
role: domain_objects_1.DomainLiteral,
|
|
10
|
+
constraints: domain_objects_1.DomainLiteral,
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=BrainArch1Actor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrainArch1Actor.js","sourceRoot":"","sources":["../../../src/domain.objects/BrainArch1/BrainArch1Actor.ts"],"names":[],"mappings":";;;AAAA,mDAA+C;AAsE/C,MAAa,eACX,SAAQ,8BAA8B;;AADxC,0CAQC;AAJe,sBAAM,GAAG;IACrB,IAAI,EAAE,8BAAa;IACnB,WAAW,EAAE,8BAAa;CAC3B,CAAC"}
|