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.
@@ -1,4 +1,4 @@
1
- import { BrainAtom } from 'rhachet';
1
+ import { BrainAtom } from 'rhachet/brains';
2
2
  import { type XaiBrainAtomSlug } from './BrainAtom.config';
3
3
  export type { XaiBrainAtomSlug } from './BrainAtom.config';
4
4
  /**
@@ -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 rhachet_1 = require("rhachet");
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 rhachet_1.BrainAtom({
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, rhachet_1.castBriefsToPrompt)({ briefs: askInput.role.briefs })
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, calcBrainOutputCost_1.calcBrainOutputCost)({
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 rhachet_1.BrainOutputMetrics({
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
- return new rhachet_1.BrainOutput({ output, metrics });
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":"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"}
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.0",
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.26.2",
92
- "rhachet-brains-anthropic": "0.3.0",
93
- "rhachet-roles-bhrain": "0.5.11",
94
- "rhachet-roles-bhuild": "0.6.10",
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",