everybuddy 0.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.
Files changed (120) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +184 -0
  3. package/dist/atlas/bundled.d.ts +15 -0
  4. package/dist/atlas/bundled.js +438 -0
  5. package/dist/atlas/bundled.js.map +1 -0
  6. package/dist/bones/rarity.d.ts +2 -0
  7. package/dist/bones/rarity.js +43 -0
  8. package/dist/bones/rarity.js.map +1 -0
  9. package/dist/bones/roll.d.ts +10 -0
  10. package/dist/bones/roll.js +71 -0
  11. package/dist/bones/roll.js.map +1 -0
  12. package/dist/bones/species.d.ts +1 -0
  13. package/dist/bones/species.js +3 -0
  14. package/dist/bones/species.js.map +1 -0
  15. package/dist/bones/stats.d.ts +6 -0
  16. package/dist/bones/stats.js +55 -0
  17. package/dist/bones/stats.js.map +1 -0
  18. package/dist/cli/attach.d.ts +5 -0
  19. package/dist/cli/attach.js +64 -0
  20. package/dist/cli/attach.js.map +1 -0
  21. package/dist/cli/card.d.ts +3 -0
  22. package/dist/cli/card.js +19 -0
  23. package/dist/cli/card.js.map +1 -0
  24. package/dist/cli/detach.d.ts +4 -0
  25. package/dist/cli/detach.js +36 -0
  26. package/dist/cli/detach.js.map +1 -0
  27. package/dist/cli/event.d.ts +7 -0
  28. package/dist/cli/event.js +35 -0
  29. package/dist/cli/event.js.map +1 -0
  30. package/dist/cli/hatch.d.ts +6 -0
  31. package/dist/cli/hatch.js +20 -0
  32. package/dist/cli/hatch.js.map +1 -0
  33. package/dist/cli/init.d.ts +2 -0
  34. package/dist/cli/init.js +76 -0
  35. package/dist/cli/init.js.map +1 -0
  36. package/dist/cli/install.d.ts +32 -0
  37. package/dist/cli/install.js +121 -0
  38. package/dist/cli/install.js.map +1 -0
  39. package/dist/cli/io.d.ts +9 -0
  40. package/dist/cli/io.js +35 -0
  41. package/dist/cli/io.js.map +1 -0
  42. package/dist/cli/setup.d.ts +26 -0
  43. package/dist/cli/setup.js +297 -0
  44. package/dist/cli/setup.js.map +1 -0
  45. package/dist/cli/sidecar.d.ts +5 -0
  46. package/dist/cli/sidecar.js +12 -0
  47. package/dist/cli/sidecar.js.map +1 -0
  48. package/dist/i18n/companion.d.ts +9 -0
  49. package/dist/i18n/companion.js +117 -0
  50. package/dist/i18n/companion.js.map +1 -0
  51. package/dist/i18n/ui.d.ts +67 -0
  52. package/dist/i18n/ui.js +270 -0
  53. package/dist/i18n/ui.js.map +1 -0
  54. package/dist/index.d.ts +2 -0
  55. package/dist/index.js +116 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/render/card.d.ts +10 -0
  58. package/dist/render/card.js +188 -0
  59. package/dist/render/card.js.map +1 -0
  60. package/dist/render/color.d.ts +5 -0
  61. package/dist/render/color.js +100 -0
  62. package/dist/render/color.js.map +1 -0
  63. package/dist/render/compose.d.ts +2 -0
  64. package/dist/render/compose.js +10 -0
  65. package/dist/render/compose.js.map +1 -0
  66. package/dist/render/gacha.d.ts +9 -0
  67. package/dist/render/gacha.js +322 -0
  68. package/dist/render/gacha.js.map +1 -0
  69. package/dist/render/sprites.d.ts +5 -0
  70. package/dist/render/sprites.js +316 -0
  71. package/dist/render/sprites.js.map +1 -0
  72. package/dist/runtime/observer.d.ts +73 -0
  73. package/dist/runtime/observer.js +448 -0
  74. package/dist/runtime/observer.js.map +1 -0
  75. package/dist/runtime/sidecar.d.ts +18 -0
  76. package/dist/runtime/sidecar.js +670 -0
  77. package/dist/runtime/sidecar.js.map +1 -0
  78. package/dist/runtime/socket.d.ts +6 -0
  79. package/dist/runtime/socket.js +47 -0
  80. package/dist/runtime/socket.js.map +1 -0
  81. package/dist/runtime/tmux.d.ts +41 -0
  82. package/dist/runtime/tmux.js +186 -0
  83. package/dist/runtime/tmux.js.map +1 -0
  84. package/dist/runtime/types.d.ts +96 -0
  85. package/dist/runtime/types.js +2 -0
  86. package/dist/runtime/types.js.map +1 -0
  87. package/dist/soul/hatch.d.ts +6 -0
  88. package/dist/soul/hatch.js +90 -0
  89. package/dist/soul/hatch.js.map +1 -0
  90. package/dist/soul/profile.d.ts +6 -0
  91. package/dist/soul/profile.js +48 -0
  92. package/dist/soul/profile.js.map +1 -0
  93. package/dist/soul/providers/anthropic.d.ts +17 -0
  94. package/dist/soul/providers/anthropic.js +105 -0
  95. package/dist/soul/providers/anthropic.js.map +1 -0
  96. package/dist/soul/providers/index.d.ts +10 -0
  97. package/dist/soul/providers/index.js +23 -0
  98. package/dist/soul/providers/index.js.map +1 -0
  99. package/dist/soul/providers/openai.d.ts +20 -0
  100. package/dist/soul/providers/openai.js +120 -0
  101. package/dist/soul/providers/openai.js.map +1 -0
  102. package/dist/soul/providers/types.d.ts +4 -0
  103. package/dist/soul/providers/types.js +2 -0
  104. package/dist/soul/providers/types.js.map +1 -0
  105. package/dist/storage/companion.d.ts +3 -0
  106. package/dist/storage/companion.js +155 -0
  107. package/dist/storage/companion.js.map +1 -0
  108. package/dist/storage/config.d.ts +36 -0
  109. package/dist/storage/config.js +220 -0
  110. package/dist/storage/config.js.map +1 -0
  111. package/dist/storage/paths.d.ts +3 -0
  112. package/dist/storage/paths.js +12 -0
  113. package/dist/storage/paths.js.map +1 -0
  114. package/dist/types/companion.d.ts +84 -0
  115. package/dist/types/companion.js +2 -0
  116. package/dist/types/companion.js.map +1 -0
  117. package/dist/types/onboarding.d.ts +12 -0
  118. package/dist/types/onboarding.js +2 -0
  119. package/dist/types/onboarding.js.map +1 -0
  120. package/package.json +52 -0
@@ -0,0 +1,316 @@
1
+ export const SPECIES = {
2
+ duck: {
3
+ id: "duck",
4
+ name: "Duck",
5
+ color: { primary: "#FBBF24", accent: "#B45309" },
6
+ frames: [
7
+ [" ", " __ ", " <({E} )___ ", " ( ._> ", " `--´ "],
8
+ [" ", " __ ", " <({E} )___ ", " ( ._> ", " `--´~ "],
9
+ [" ", " __ ", " <({E} )___ ", " ( .__> ", " `--´ "],
10
+ ],
11
+ },
12
+ goose: {
13
+ id: "goose",
14
+ name: "Goose",
15
+ color: { primary: "#FDE68A", accent: "#CA8A04" },
16
+ frames: [
17
+ [" ", " ({E}> ", " || ", " _(__)_ ", " ^^^^ "],
18
+ [" ", " ({E}> ", " || ", " _(__)_ ", " ^^^^ "],
19
+ [" ", " ({E}>> ", " || ", " _(__)_ ", " ^^^^ "],
20
+ ],
21
+ },
22
+ blob: {
23
+ id: "blob",
24
+ name: "Blob",
25
+ color: { primary: "#93C5FD", accent: "#2563EB" },
26
+ frames: [
27
+ [" ", " .----. ", " ( {E} {E} ) ", " ( ) ", " `----´ "],
28
+ [" ", " .------. ", " ( {E} {E} ) ", " ( ) ", " `------´ "],
29
+ [" ", " .--. ", " ({E} {E}) ", " ( ) ", " `--´ "],
30
+ ],
31
+ },
32
+ cat: {
33
+ id: "cat",
34
+ name: "Cat",
35
+ color: { primary: "#FCD34D", accent: "#A16207" },
36
+ frames: [
37
+ [" ", " /\\_/\\ ", " ( {E} {E}) ", " ( ω ) ", " (\")_(\") "],
38
+ [" ", " /\\_/\\ ", " ( {E} {E}) ", " ( ω ) ", " (\")_(\")~ "],
39
+ [" ", " /\\-/\\ ", " ( {E} {E}) ", " ( ω ) ", " (\")_(\") "],
40
+ ],
41
+ },
42
+ maltese: {
43
+ id: "maltese",
44
+ name: "Maltese",
45
+ color: { primary: "#F8FAFC", accent: "#94A3B8" },
46
+ frames: [
47
+ [" ˙ ᵕ ˙ ", " /) (\\ ", "( {E} · {E} ) ", " ( ᵕωᵕ ) ", " u u "],
48
+ [" ˙ ᵕ ˙ ", " /) (\\ ", "( - - ) ", " ( ᵕωᵕ ) ", " u u "],
49
+ [" ˙ ᵕ ˙ ", " /) (\\ ", "( {E} · {E} ) ", " ( ᵕuᵕ ) ", " u u "],
50
+ ],
51
+ },
52
+ dragon: {
53
+ id: "dragon",
54
+ name: "Dragon",
55
+ color: { primary: "#FB7185", accent: "#BE123C" },
56
+ frames: [
57
+ [" ", " /^\\ /^\\ ", " < {E} {E} > ", " ( ~~ ) ", " `-vvvv-´ "],
58
+ [" ", " /^\\ /^\\ ", " < {E} {E} > ", " ( ) ", " `-vvvv-´ "],
59
+ [" ~ ~ ", " /^\\ /^\\ ", " < {E} {E} > ", " ( ~~ ) ", " `-vvvv-´ "],
60
+ ],
61
+ },
62
+ octopus: {
63
+ id: "octopus",
64
+ name: "Octopus",
65
+ color: { primary: "#C084FC", accent: "#7E22CE" },
66
+ frames: [
67
+ [" ", " .----. ", " ( {E} {E} ) ", " (______) ", " /\\/\\/\\/\\ "],
68
+ [" ", " .----. ", " ( {E} {E} ) ", " (______) ", " \\/\\/\\/\\/ "],
69
+ [" o ", " .----. ", " ( {E} {E} ) ", " (______) ", " /\\/\\/\\/\\ "],
70
+ ],
71
+ },
72
+ owl: {
73
+ id: "owl",
74
+ name: "Owl",
75
+ color: { primary: "#F59E0B", accent: "#92400E" },
76
+ frames: [
77
+ [" ", " /\\ /\\ ", " (({E})({E})) ", " ( >< ) ", " `----´ "],
78
+ [" ", " /\\ /\\ ", " (({E})({E})) ", " ( >< ) ", " .----. "],
79
+ [" ", " /\\ /\\ ", " (({E})(-)) ", " ( >< ) ", " `----´ "],
80
+ ],
81
+ },
82
+ penguin: {
83
+ id: "penguin",
84
+ name: "Penguin",
85
+ color: { primary: "#E5E7EB", accent: "#6B7280" },
86
+ frames: [
87
+ [" ", " .---. ", " ({E}>{E}) ", " /( )\\ ", " `---´ "],
88
+ [" ", " .---. ", " ({E}>{E}) ", " |( )| ", " `---´ "],
89
+ [" .---. ", " ({E}>{E}) ", " /( )\\ ", " `---´ ", " ~ ~ "],
90
+ ],
91
+ },
92
+ turtle: {
93
+ id: "turtle",
94
+ name: "Turtle",
95
+ color: { primary: "#6EE7B7", accent: "#059669" },
96
+ frames: [
97
+ [" ", " _,--._ ", " ( {E} {E} ) ", " /[______]\\ ", " `` `` "],
98
+ [" ", " _,--._ ", " ( {E} {E} ) ", " /[______]\\ ", " `` `` "],
99
+ [" ", " _,--._ ", " ( {E} {E} ) ", " /[======]\\ ", " `` `` "],
100
+ ],
101
+ },
102
+ snail: {
103
+ id: "snail",
104
+ name: "Snail",
105
+ color: { primary: "#FDBA74", accent: "#C2410C" },
106
+ frames: [
107
+ [" ", " {E} .--. ", " \\ ( @ ) ", " \\_`--´ ", " ~~~~~~~ "],
108
+ [" ", " {E} .--. ", " | ( @ ) ", " \\_`--´ ", " ~~~~~~~ "],
109
+ [" ", " {E} .--. ", " \\ ( @ ) ", " \\_`--´ ", " ~~~~~~ "],
110
+ ],
111
+ },
112
+ ghost: {
113
+ id: "ghost",
114
+ name: "Ghost",
115
+ color: { primary: "#E2E8F0", accent: "#94A3B8" },
116
+ frames: [
117
+ [" ", " .----. ", " / {E} {E} \\ ", " | | ", " ~`~``~`~ "],
118
+ [" ", " .----. ", " / {E} {E} \\ ", " | | ", " `~`~~`~` "],
119
+ [" ~ ~ ", " .----. ", " / {E} {E} \\ ", " | | ", " ~~`~~`~~ "],
120
+ ],
121
+ },
122
+ axolotl: {
123
+ id: "axolotl",
124
+ name: "Axolotl",
125
+ color: { primary: "#F9A8D4", accent: "#DB2777" },
126
+ frames: [
127
+ [" ", "}~(______)~{", "}~({E} .. {E})~{", " ( .--. ) ", " (_/ \\_) "],
128
+ [" ", "~}(______){~", "~}({E} .. {E}){~", " ( .--. ) ", " (_/ \\_) "],
129
+ [" ", "}~(______)~{", "}~({E} .. {E})~{", " ( -- ) ", " ~_/ \\_~ "],
130
+ ],
131
+ },
132
+ capybara: {
133
+ id: "capybara",
134
+ name: "Capybara",
135
+ color: { primary: "#D6A77A", accent: "#8B5E3C" },
136
+ frames: [
137
+ [" ", " n______n ", " ( {E} {E} ) ", " ( oo ) ", " `------´ "],
138
+ [" ", " n______n ", " ( {E} {E} ) ", " ( Oo ) ", " `------´ "],
139
+ [" ~ ~ ", " u______n ", " ( {E} {E} ) ", " ( oo ) ", " `------´ "],
140
+ ],
141
+ },
142
+ cactus: {
143
+ id: "cactus",
144
+ name: "Cactus",
145
+ color: { primary: "#86EFAC", accent: "#15803D" },
146
+ frames: [
147
+ [" ", " n ____ n ", " | |{E} {E}| | ", " |_| |_| ", " | | "],
148
+ [" ", " ____ ", " n |{E} {E}| n ", " |_| |_| ", " | | "],
149
+ [" n n ", " | ____ | ", " | |{E} {E}| | ", " |_| |_| ", " | | "],
150
+ ],
151
+ },
152
+ robot: {
153
+ id: "robot",
154
+ name: "Robot",
155
+ color: { primary: "#67E8F9", accent: "#0891B2" },
156
+ frames: [
157
+ [" ", " .[||]. ", " [ {E} {E} ] ", " [ ==== ] ", " `------´ "],
158
+ [" ", " .[||]. ", " [ {E} {E} ] ", " [ -==- ] ", " `------´ "],
159
+ [" * ", " .[||]. ", " [ {E} {E} ] ", " [ ==== ] ", " `------´ "],
160
+ ],
161
+ },
162
+ rabbit: {
163
+ id: "rabbit",
164
+ name: "Rabbit",
165
+ color: { primary: "#F5D0FE", accent: "#A21CAF" },
166
+ frames: [
167
+ [" ", " (\\__/) ", " ( {E} {E} ) ", " =( .. )= ", " (\")__(\") "],
168
+ [" ", " (|__/) ", " ( {E} {E} ) ", " =( .. )= ", " (\")__(\") "],
169
+ [" ", " (\\__/) ", " ( {E} {E} ) ", " =( . . )= ", " (\")__(\") "],
170
+ ],
171
+ },
172
+ mushroom: {
173
+ id: "mushroom",
174
+ name: "Mushroom",
175
+ color: { primary: "#F87171", accent: "#DC2626" },
176
+ frames: [
177
+ [" ", " .-o-OO-o-. ", "(__________)", " |{E} {E}| ", " |____| "],
178
+ [" ", " .-O-oo-O-. ", "(__________)", " |{E} {E}| ", " |____| "],
179
+ [" . o . ", " .-o-OO-o-. ", "(__________)", " |{E} {E}| ", " |____| "],
180
+ ],
181
+ },
182
+ chonk: {
183
+ id: "chonk",
184
+ name: "Chonk",
185
+ color: { primary: "#FCA5A5", accent: "#B45309" },
186
+ frames: [
187
+ [" ", " /\\ /\\ ", " ( {E} {E} ) ", " ( .. ) ", " `------´ "],
188
+ [" ", " /\\ /| ", " ( {E} {E} ) ", " ( .. ) ", " `------´ "],
189
+ [" ", " /\\ /\\ ", " ( {E} {E} ) ", " ( .. ) ", " `------´~ "],
190
+ ],
191
+ },
192
+ tanuki: {
193
+ id: "tanuki",
194
+ name: "Tanuki",
195
+ color: { primary: "#C4A882", accent: "#8B7355" },
196
+ frames: [
197
+ [" ", " /\\__/\\\\ ", " ( {E} {E} ) ", " ( ww ) ", " \\_/__\\_/ "],
198
+ [" ", " /\\__/\\\\ ", " ( {E} {E} ) ", " ( ww ) ", " \\_==_/ "],
199
+ [" ", " /\\__/\\\\ ", " ( {E} {E} ) ", " ( uu ) ", " \\_/__\\_/ "],
200
+ ],
201
+ },
202
+ fox: {
203
+ id: "fox",
204
+ name: "Fox",
205
+ color: { primary: "#F97316", accent: "#FDBA74" },
206
+ frames: [
207
+ [" ", " /\\__/\\\\ ", " ({E} .. {E}) ", " ( vv ) ", " /_/ \\_\\ "],
208
+ [" ", " /\\__/\\\\ ", " ({E} .. {E}) ", " ( vv ) ", " /_\\/\\_\\ "],
209
+ [" ", " /\\__/\\\\ ", " ({E} .. {E}) ", " ( ^^ ) ", " /_/ \\_\\ "],
210
+ ],
211
+ },
212
+ frog: {
213
+ id: "frog",
214
+ name: "Frog",
215
+ color: { primary: "#4ADE80", accent: "#166534" },
216
+ frames: [
217
+ [" ", " @__ __@ ", " ({E} {E}) ", " ( ____ ) ", " ~~ ~~ "],
218
+ [" ", " @__ __@ ", " ({E} {E}) ", " ( ____ ) ", " ~~ ~~ "],
219
+ [" ", " @__ __@ ", " ({E} {E}) ", " ( ---- ) ", " ~~ ~~ "],
220
+ ],
221
+ },
222
+ crystal: {
223
+ id: "crystal",
224
+ name: "Crystal",
225
+ color: { primary: "#A78BFA", accent: "#7C3AED" },
226
+ frames: [
227
+ [" ", " /\\ ", " /{E}{E}\\ ", " \\ / ", " \\/ "],
228
+ [" ", " /\\ ", " /{E}{E}\\ ", " \\ ** / ", " \\/ "],
229
+ [" ", " /\\ ", " /{E}{E}\\ ", " \\ .. / ", " \\/ "],
230
+ ],
231
+ },
232
+ jellyfish: {
233
+ id: "jellyfish",
234
+ name: "Jellyfish",
235
+ color: { primary: "#F0ABFC", accent: "#D946EF" },
236
+ frames: [
237
+ [" ", " /~~~~\\ ", " ( {E} {E} ) ", " \\____/ ", " |||||| "],
238
+ [" ", " /~~~~\\ ", " ( {E} {E} ) ", " \\____/ ", " \\\\||// "],
239
+ [" ", " /~~~~\\ ", " ( {E} {E} ) ", " \\____/ ", " //||\\\\ "],
240
+ ],
241
+ },
242
+ };
243
+ export const EYES = {
244
+ dot: { id: "dot", label: "Dot", char: "." },
245
+ sparkle: { id: "sparkle", label: "Sparkle", char: "*" },
246
+ star: { id: "star", label: "Star", char: "o" },
247
+ ring: { id: "ring", label: "Ring", char: "0" },
248
+ heart: { id: "heart", label: "Heart", char: "@" },
249
+ diamond: { id: "diamond", label: "Diamond", char: "+" },
250
+ };
251
+ export const HATS = {
252
+ none: { id: "none", label: "None", art: " " },
253
+ crown: { id: "crown", label: "Crown", art: " \\^^^/ " },
254
+ tophat: { id: "tophat", label: "Tophat", art: " [___] " },
255
+ propeller: { id: "propeller", label: "Propeller", art: " -+- " },
256
+ halo: { id: "halo", label: "Halo", art: " ( ) " },
257
+ wizard: { id: "wizard", label: "Wizard", art: " /^\\ " },
258
+ beanie: { id: "beanie", label: "Beanie", art: " (___) " },
259
+ tinyduck: { id: "tinyduck", label: "Tiny Duck", art: " ,> " },
260
+ antenna: { id: "antenna", label: "Antenna", art: " --o-- " },
261
+ leaf: { id: "leaf", label: "Leaf", art: " _/\\\\_ " },
262
+ flame: { id: "flame", label: "Flame", art: " /^\\\\^ " },
263
+ };
264
+ export function renderCompactFace(speciesId, eyeChar) {
265
+ switch (speciesId) {
266
+ case "duck":
267
+ case "goose":
268
+ return `(${eyeChar}>`;
269
+ case "blob":
270
+ return `(${eyeChar}${eyeChar})`;
271
+ case "cat":
272
+ return `=${eyeChar}ω${eyeChar}=`;
273
+ case "maltese":
274
+ return `(${eyeChar}w${eyeChar})~`;
275
+ case "dragon":
276
+ return `<${eyeChar}~${eyeChar}>`;
277
+ case "octopus":
278
+ return `~(${eyeChar}${eyeChar})~`;
279
+ case "owl":
280
+ return `(${eyeChar})(${eyeChar})`;
281
+ case "penguin":
282
+ return `(${eyeChar}>)`;
283
+ case "turtle":
284
+ return `[${eyeChar}_${eyeChar}]`;
285
+ case "snail":
286
+ return `${eyeChar}(@)`;
287
+ case "ghost":
288
+ return `/${eyeChar}${eyeChar}\\`;
289
+ case "axolotl":
290
+ return `}${eyeChar}.${eyeChar}{`;
291
+ case "capybara":
292
+ return `(${eyeChar}oo${eyeChar})`;
293
+ case "cactus":
294
+ case "mushroom":
295
+ return `|${eyeChar} ${eyeChar}|`;
296
+ case "robot":
297
+ return `[${eyeChar}${eyeChar}]`;
298
+ case "rabbit":
299
+ return `(${eyeChar}..${eyeChar})`;
300
+ case "chonk":
301
+ return `(${eyeChar}.${eyeChar})`;
302
+ case "tanuki":
303
+ return `(${eyeChar}w${eyeChar})`;
304
+ case "fox":
305
+ return `<${eyeChar}v${eyeChar}>`;
306
+ case "frog":
307
+ return `(${eyeChar}__${eyeChar})`;
308
+ case "crystal":
309
+ return `<${eyeChar}${eyeChar}>`;
310
+ case "jellyfish":
311
+ return `(${eyeChar}${eyeChar})~`;
312
+ default:
313
+ return `(${eyeChar}w${eyeChar})`;
314
+ }
315
+ }
316
+ //# sourceMappingURL=sprites.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprites.js","sourceRoot":"","sources":["../../src/render/sprites.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import type { AIProvider } from "../soul/providers/types.js";
2
+ import type { BuddyLanguage, CompanionRecord, ObserverProfile } from "../types/companion.js";
3
+ import type { CommandTracker, CommandWindowEntry, EventImportance, MemoryEntry, ObservedCommand, ObserverDecision, ShellEvent, SidecarState, SidecarStatus } from "./types.js";
4
+ type ReactionMode = "clear" | "persistent" | "transient" | "preserve";
5
+ export interface ObserverReactionPlan {
6
+ status: SidecarStatus;
7
+ reactionMode: ReactionMode;
8
+ reactionText: string | undefined;
9
+ importance: EventImportance;
10
+ command: ObservedCommand | undefined;
11
+ durationMs: number | undefined;
12
+ shouldGenerateModel: boolean;
13
+ shouldRemember: boolean;
14
+ addressedToBuddy: boolean;
15
+ pulse: boolean;
16
+ }
17
+ export interface ObserverPromptContext {
18
+ companion: CompanionRecord;
19
+ commandWindow: CommandWindowEntry[];
20
+ command: ObservedCommand;
21
+ memory: MemoryEntry[];
22
+ event: ShellEvent;
23
+ language: BuddyLanguage;
24
+ status: SidecarStatus;
25
+ observerProfile: ObserverProfile;
26
+ }
27
+ export interface CompanionObserverOptions {
28
+ companion: CompanionRecord | null;
29
+ language?: BuddyLanguage | undefined;
30
+ provider?: AIProvider | undefined;
31
+ now?: (() => number) | undefined;
32
+ llmCooldownMs?: number | undefined;
33
+ }
34
+ export declare class CompanionObserver {
35
+ private readonly companion;
36
+ private readonly language;
37
+ private readonly provider;
38
+ private readonly now;
39
+ private readonly llmCooldownMs;
40
+ constructor(options: CompanionObserverOptions);
41
+ observe(event: ShellEvent, state: Pick<SidecarState, "commandTrackers" | "status">): ObserverReactionPlan;
42
+ maybeGenerateDecision(plan: ObserverReactionPlan, event: ShellEvent, state: Pick<SidecarState, "commandWindows" | "memory" | "recentReaction" | "recentNotableReactionAt" | "status">): Promise<ObserverDecision | undefined>;
43
+ maybeGenerateReaction(plan: ObserverReactionPlan, event: ShellEvent, state: Pick<SidecarState, "commandWindows" | "memory" | "recentReaction" | "recentNotableReactionAt" | "status">): Promise<string | undefined>;
44
+ }
45
+ export declare function createCompanionObserver(companion: CompanionRecord | null): Promise<CompanionObserver>;
46
+ export declare function observeCommand(command: string, cwd: string, companionName?: string): ObservedCommand;
47
+ export declare function classifyEventImportance(params: {
48
+ event: ShellEvent;
49
+ command: ObservedCommand | undefined;
50
+ memory: MemoryEntry[];
51
+ durationMs?: number | undefined;
52
+ }): EventImportance;
53
+ export declare function buildCommandTracker(event: ShellEvent, command: ObservedCommand, _importance: EventImportance): CommandTracker;
54
+ export declare function buildCommandWindowEntry(params: {
55
+ event: ShellEvent;
56
+ command: ObservedCommand;
57
+ durationMs?: number | undefined;
58
+ }): CommandWindowEntry;
59
+ export declare function rememberCommandWindowEntry(entries: CommandWindowEntry[], entry: CommandWindowEntry): CommandWindowEntry[];
60
+ export declare function buildMemoryEntry(params: {
61
+ event: ShellEvent;
62
+ command: ObservedCommand;
63
+ importance: EventImportance;
64
+ durationMs?: number | undefined;
65
+ reactionText?: string | undefined;
66
+ topic?: string | undefined;
67
+ mood?: string | undefined;
68
+ }): MemoryEntry;
69
+ export declare function rememberMemoryEntry(memory: MemoryEntry[], entry: MemoryEntry): MemoryEntry[];
70
+ export declare function buildObserverPrompt(context: ObserverPromptContext): string;
71
+ export declare function parseObserverDecision(response: string): ObserverDecision;
72
+ export declare function normalizeObserverResponse(response: string, commandWindow?: CommandWindowEntry[]): string | undefined;
73
+ export {};