rhachet-brains-xai 0.2.0 → 0.2.1
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.
|
@@ -5,8 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.genBrainAtom = void 0;
|
|
7
7
|
const openai_1 = __importDefault(require("openai"));
|
|
8
|
-
const
|
|
9
|
-
const calcBrainOutputCost_1 = require("rhachet/dist/domain.operations/brainCost/calcBrainOutputCost");
|
|
8
|
+
const brains_1 = require("rhachet/brains");
|
|
10
9
|
const zod_1 = require("zod");
|
|
11
10
|
const BrainAtom_config_1 = require("./BrainAtom.config");
|
|
12
11
|
/**
|
|
@@ -22,7 +21,7 @@ const BrainAtom_config_1 = require("./BrainAtom.config");
|
|
|
22
21
|
*/
|
|
23
22
|
const genBrainAtom = (input) => {
|
|
24
23
|
const config = BrainAtom_config_1.CONFIG_BY_ATOM_SLUG[input.slug];
|
|
25
|
-
return new
|
|
24
|
+
return new brains_1.BrainAtom({
|
|
26
25
|
repo: 'xai',
|
|
27
26
|
slug: input.slug,
|
|
28
27
|
description: config.description,
|
|
@@ -30,13 +29,15 @@ const genBrainAtom = (input) => {
|
|
|
30
29
|
/**
|
|
31
30
|
* .what = stateless inference (no tool use)
|
|
32
31
|
* .why = provides direct model access for tasks
|
|
32
|
+
*
|
|
33
|
+
* .note = supports continuation via `on.episode`
|
|
33
34
|
*/
|
|
34
35
|
ask: async (askInput, context) => {
|
|
35
36
|
// track start time for elapsed duration
|
|
36
37
|
const startedAt = Date.now();
|
|
37
38
|
// compose system prompt from briefs
|
|
38
39
|
const systemPrompt = askInput.role.briefs
|
|
39
|
-
? await (0,
|
|
40
|
+
? await (0, brains_1.castBriefsToPrompt)({ briefs: askInput.role.briefs })
|
|
40
41
|
: undefined;
|
|
41
42
|
// get openai client from context or create new one with xai baseURL
|
|
42
43
|
const openai = context?.openai ??
|
|
@@ -44,11 +45,17 @@ const genBrainAtom = (input) => {
|
|
|
44
45
|
apiKey: process.env.XAI_API_KEY,
|
|
45
46
|
baseURL: 'https://api.x.ai/v1',
|
|
46
47
|
});
|
|
47
|
-
// build messages array
|
|
48
|
+
// build messages array with prior exchanges for continuation
|
|
48
49
|
const messages = [];
|
|
49
50
|
if (systemPrompt) {
|
|
50
51
|
messages.push({ role: 'system', content: systemPrompt });
|
|
51
52
|
}
|
|
53
|
+
if (askInput.on?.episode) {
|
|
54
|
+
for (const exchange of askInput.on.episode.exchanges) {
|
|
55
|
+
messages.push({ role: 'user', content: exchange.input });
|
|
56
|
+
messages.push({ role: 'assistant', content: exchange.output });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
52
59
|
messages.push({ role: 'user', content: askInput.prompt });
|
|
53
60
|
// convert zod schema to json schema for structured output
|
|
54
61
|
const jsonSchema = zod_1.z.toJSONSchema(askInput.schema.output);
|
|
@@ -93,19 +100,32 @@ const genBrainAtom = (input) => {
|
|
|
93
100
|
},
|
|
94
101
|
};
|
|
95
102
|
// calculate cash costs via rhachet utility
|
|
96
|
-
const { cash } = (0,
|
|
103
|
+
const { cash } = (0, brains_1.calcBrainOutputCost)({
|
|
97
104
|
for: { tokens: size.tokens },
|
|
98
105
|
with: { cost: { cash: config.spec.cost.cash } },
|
|
99
106
|
});
|
|
100
107
|
// build metrics
|
|
101
|
-
const metrics = new
|
|
108
|
+
const metrics = new brains_1.BrainOutputMetrics({
|
|
102
109
|
size,
|
|
103
110
|
cost: {
|
|
104
111
|
time: { milliseconds: elapsedMs },
|
|
105
112
|
cash,
|
|
106
113
|
},
|
|
107
114
|
});
|
|
108
|
-
|
|
115
|
+
// build continuables (episode + series) for this invocation
|
|
116
|
+
const { episode, series } = await (0, brains_1.genBrainContinuables)({
|
|
117
|
+
for: { grain: 'atom' },
|
|
118
|
+
on: { episode: askInput.on?.episode ?? null, series: null },
|
|
119
|
+
with: {
|
|
120
|
+
exchange: {
|
|
121
|
+
input: askInput.prompt,
|
|
122
|
+
output: content,
|
|
123
|
+
exid: response.id ?? null,
|
|
124
|
+
},
|
|
125
|
+
episode: { exid: response.id ?? null },
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
return new brains_1.BrainOutput({ output, metrics, episode, series });
|
|
109
129
|
},
|
|
110
130
|
});
|
|
111
131
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genBrainAtom.js","sourceRoot":"","sources":["../../../src/domain.operations/atom/genBrainAtom.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"genBrainAtom.js","sourceRoot":"","sources":["../../../src/domain.operations/atom/genBrainAtom.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "rhachet-brains-xai",
|
|
3
3
|
"author": "ehmpathy",
|
|
4
4
|
"description": "rhachet brain.atom adapter for xai grok models",
|
|
5
|
-
"version": "0.2.
|
|
5
|
+
"version": "0.2.1",
|
|
6
6
|
"repository": "ehmpathy/rhachet-brains-xai",
|
|
7
7
|
"homepage": "https://github.com/ehmpathy/rhachet-brains-xai",
|
|
8
8
|
"keywords": [
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
"openai": "5.8.2",
|
|
64
64
|
"rhachet-artifact": "1.0.1",
|
|
65
65
|
"rhachet-artifact-git": "1.1.5",
|
|
66
|
+
"rhachet-roles-bhrain": "0.7.5",
|
|
66
67
|
"type-fns": "1.21.0",
|
|
67
68
|
"zod": "4.3.4"
|
|
68
69
|
},
|
|
@@ -88,11 +89,10 @@
|
|
|
88
89
|
"esbuild-register": "3.6.0",
|
|
89
90
|
"husky": "8.0.3",
|
|
90
91
|
"jest": "30.2.0",
|
|
91
|
-
"rhachet": "1.
|
|
92
|
-
"rhachet-brains-anthropic": "0.3.
|
|
93
|
-
"rhachet-roles-
|
|
94
|
-
"rhachet-roles-
|
|
95
|
-
"rhachet-roles-ehmpathy": "1.17.29",
|
|
92
|
+
"rhachet": "1.29.5",
|
|
93
|
+
"rhachet-brains-anthropic": "0.3.2",
|
|
94
|
+
"rhachet-roles-bhuild": "0.7.0",
|
|
95
|
+
"rhachet-roles-ehmpathy": "1.18.0",
|
|
96
96
|
"test-fns": "1.10.0",
|
|
97
97
|
"tsc-alias": "1.8.10",
|
|
98
98
|
"tsx": "4.20.6",
|