@alexkroman1/aai 0.8.3 → 0.8.5

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 (164) hide show
  1. package/dist/cli/tsconfig.tsbuildinfo +1 -0
  2. package/dist/cli.js +1215 -1706
  3. package/dist/sdk/_mock_ws.js +2 -2
  4. package/dist/sdk/_mock_ws.js.map +1 -1
  5. package/dist/sdk/_render_check.d.ts.map +1 -1
  6. package/dist/sdk/_render_check.js +29 -2
  7. package/dist/sdk/_render_check.js.map +1 -1
  8. package/dist/sdk/_utils.d.ts +4 -0
  9. package/dist/sdk/_utils.d.ts.map +1 -0
  10. package/dist/sdk/_utils.js +7 -0
  11. package/dist/sdk/_utils.js.map +1 -0
  12. package/dist/sdk/builtin_tools.d.ts +35 -11
  13. package/dist/sdk/builtin_tools.d.ts.map +1 -1
  14. package/dist/sdk/builtin_tools.js +118 -76
  15. package/dist/sdk/builtin_tools.js.map +1 -1
  16. package/dist/sdk/capnweb.d.ts +76 -47
  17. package/dist/sdk/capnweb.d.ts.map +1 -1
  18. package/dist/sdk/capnweb.js +99 -242
  19. package/dist/sdk/capnweb.js.map +1 -1
  20. package/dist/sdk/direct_executor.d.ts.map +1 -1
  21. package/dist/sdk/direct_executor.js +0 -2
  22. package/dist/sdk/direct_executor.js.map +1 -1
  23. package/dist/sdk/host.d.ts +59 -0
  24. package/dist/sdk/host.d.ts.map +1 -0
  25. package/dist/sdk/host.js +131 -0
  26. package/dist/sdk/host.js.map +1 -0
  27. package/dist/sdk/mod.d.ts +2 -4
  28. package/dist/sdk/mod.d.ts.map +1 -1
  29. package/dist/sdk/mod.js +2 -3
  30. package/dist/sdk/mod.js.map +1 -1
  31. package/dist/sdk/protocol.d.ts +33 -135
  32. package/dist/sdk/protocol.d.ts.map +1 -1
  33. package/dist/sdk/protocol.js +49 -51
  34. package/dist/sdk/protocol.js.map +1 -1
  35. package/dist/sdk/runtime.d.ts +0 -1
  36. package/dist/sdk/runtime.d.ts.map +1 -1
  37. package/dist/sdk/runtime.js +5 -24
  38. package/dist/sdk/runtime.js.map +1 -1
  39. package/dist/sdk/s2s.d.ts +14 -3
  40. package/dist/sdk/s2s.d.ts.map +1 -1
  41. package/dist/sdk/s2s.js +72 -113
  42. package/dist/sdk/s2s.js.map +1 -1
  43. package/dist/sdk/server.d.ts +1 -1
  44. package/dist/sdk/server.d.ts.map +1 -1
  45. package/dist/sdk/server.js +26 -10
  46. package/dist/sdk/server.js.map +1 -1
  47. package/dist/sdk/session.d.ts +5 -1
  48. package/dist/sdk/session.d.ts.map +1 -1
  49. package/dist/sdk/session.js +131 -137
  50. package/dist/sdk/session.js.map +1 -1
  51. package/dist/sdk/tsconfig.tsbuildinfo +1 -0
  52. package/dist/sdk/types.d.ts +30 -3
  53. package/dist/sdk/types.d.ts.map +1 -1
  54. package/dist/sdk/types.js +37 -0
  55. package/dist/sdk/types.js.map +1 -1
  56. package/dist/sdk/winterc_server.d.ts +0 -1
  57. package/dist/sdk/winterc_server.d.ts.map +1 -1
  58. package/dist/sdk/winterc_server.js +0 -1
  59. package/dist/sdk/winterc_server.js.map +1 -1
  60. package/dist/sdk/worker_entry.d.ts +3 -11
  61. package/dist/sdk/worker_entry.d.ts.map +1 -1
  62. package/dist/sdk/worker_entry.js +8 -18
  63. package/dist/sdk/worker_entry.js.map +1 -1
  64. package/dist/sdk/worker_shim.d.ts +5 -6
  65. package/dist/sdk/worker_shim.d.ts.map +1 -1
  66. package/dist/sdk/worker_shim.js +93 -136
  67. package/dist/sdk/worker_shim.js.map +1 -1
  68. package/dist/sdk/ws_handler.d.ts +1 -3
  69. package/dist/sdk/ws_handler.d.ts.map +1 -1
  70. package/dist/sdk/ws_handler.js +14 -25
  71. package/dist/sdk/ws_handler.js.map +1 -1
  72. package/dist/ui/_cn.d.ts +5 -0
  73. package/dist/ui/_cn.d.ts.map +1 -0
  74. package/dist/ui/_cn.js +22 -0
  75. package/dist/ui/_cn.js.map +1 -0
  76. package/dist/ui/_components/app.d.ts +3 -1
  77. package/dist/ui/_components/app.d.ts.map +1 -1
  78. package/dist/ui/_components/app.js +2 -2
  79. package/dist/ui/_components/app.js.map +1 -1
  80. package/dist/ui/_components/button.d.ts +11 -0
  81. package/dist/ui/_components/button.d.ts.map +1 -0
  82. package/dist/ui/_components/button.js +17 -0
  83. package/dist/ui/_components/button.js.map +1 -0
  84. package/dist/ui/_components/chat_view.d.ts +3 -1
  85. package/dist/ui/_components/chat_view.d.ts.map +1 -1
  86. package/dist/ui/_components/chat_view.js +4 -2
  87. package/dist/ui/_components/chat_view.js.map +1 -1
  88. package/dist/ui/_components/controls.d.ts +3 -1
  89. package/dist/ui/_components/controls.d.ts.map +1 -1
  90. package/dist/ui/_components/controls.js +4 -5
  91. package/dist/ui/_components/controls.js.map +1 -1
  92. package/dist/ui/_components/error_banner.d.ts +2 -1
  93. package/dist/ui/_components/error_banner.d.ts.map +1 -1
  94. package/dist/ui/_components/error_banner.js +3 -2
  95. package/dist/ui/_components/error_banner.js.map +1 -1
  96. package/dist/ui/_components/message_bubble.d.ts +2 -1
  97. package/dist/ui/_components/message_bubble.d.ts.map +1 -1
  98. package/dist/ui/_components/message_bubble.js +5 -3
  99. package/dist/ui/_components/message_bubble.js.map +1 -1
  100. package/dist/ui/_components/message_list.d.ts +3 -1
  101. package/dist/ui/_components/message_list.d.ts.map +1 -1
  102. package/dist/ui/_components/message_list.js +7 -15
  103. package/dist/ui/_components/message_list.js.map +1 -1
  104. package/dist/ui/_components/sidebar_layout.d.ts +2 -1
  105. package/dist/ui/_components/sidebar_layout.d.ts.map +1 -1
  106. package/dist/ui/_components/sidebar_layout.js +5 -7
  107. package/dist/ui/_components/sidebar_layout.js.map +1 -1
  108. package/dist/ui/_components/start_screen.d.ts +2 -1
  109. package/dist/ui/_components/start_screen.d.ts.map +1 -1
  110. package/dist/ui/_components/start_screen.js +5 -2
  111. package/dist/ui/_components/start_screen.js.map +1 -1
  112. package/dist/ui/_components/state_indicator.d.ts +2 -1
  113. package/dist/ui/_components/state_indicator.d.ts.map +1 -1
  114. package/dist/ui/_components/state_indicator.js +3 -2
  115. package/dist/ui/_components/state_indicator.js.map +1 -1
  116. package/dist/ui/_components/thinking_indicator.d.ts +3 -1
  117. package/dist/ui/_components/thinking_indicator.d.ts.map +1 -1
  118. package/dist/ui/_components/thinking_indicator.js +4 -2
  119. package/dist/ui/_components/thinking_indicator.js.map +1 -1
  120. package/dist/ui/_components/tool_call_block.d.ts +2 -1
  121. package/dist/ui/_components/tool_call_block.d.ts.map +1 -1
  122. package/dist/ui/_components/tool_call_block.js +13 -25
  123. package/dist/ui/_components/tool_call_block.js.map +1 -1
  124. package/dist/ui/_components/transcript.d.ts +2 -1
  125. package/dist/ui/_components/transcript.d.ts.map +1 -1
  126. package/dist/ui/_components/transcript.js +3 -2
  127. package/dist/ui/_components/transcript.js.map +1 -1
  128. package/dist/ui/_jsdom_setup.d.ts +1 -0
  129. package/dist/ui/_jsdom_setup.d.ts.map +1 -0
  130. package/dist/ui/_jsdom_setup.js +6 -0
  131. package/dist/ui/_jsdom_setup.js.map +1 -0
  132. package/dist/ui/audio.d.ts.map +1 -1
  133. package/dist/ui/audio.js +4 -4
  134. package/dist/ui/audio.js.map +1 -1
  135. package/dist/ui/components.d.ts +13 -55
  136. package/dist/ui/components.d.ts.map +1 -1
  137. package/dist/ui/components.js +13 -42
  138. package/dist/ui/components.js.map +1 -1
  139. package/dist/ui/components_mod.d.ts +14 -3
  140. package/dist/ui/components_mod.d.ts.map +1 -1
  141. package/dist/ui/components_mod.js +14 -3
  142. package/dist/ui/components_mod.js.map +1 -1
  143. package/dist/ui/mod.d.ts +1 -8
  144. package/dist/ui/mod.d.ts.map +1 -1
  145. package/dist/ui/mod.js +1 -5
  146. package/dist/ui/mod.js.map +1 -1
  147. package/dist/ui/mount.d.ts +1 -1
  148. package/dist/ui/mount.d.ts.map +1 -1
  149. package/dist/ui/mount.js +1 -0
  150. package/dist/ui/mount.js.map +1 -1
  151. package/dist/ui/session.d.ts +0 -2
  152. package/dist/ui/session.d.ts.map +1 -1
  153. package/dist/ui/session.js +9 -18
  154. package/dist/ui/session.js.map +1 -1
  155. package/dist/ui/signals.d.ts +8 -3
  156. package/dist/ui/signals.d.ts.map +1 -1
  157. package/dist/ui/signals.js +22 -11
  158. package/dist/ui/signals.js.map +1 -1
  159. package/dist/ui/tsconfig.tsbuildinfo +1 -0
  160. package/dist/ui/worklets/playback-processor.js +3 -3
  161. package/package.json +37 -17
  162. package/templates/_shared/CLAUDE.md +4 -7
  163. package/templates/dispatch-center/agent.ts +85 -397
  164. package/templates/solo-rpg/agent.ts +3 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexkroman1/aai",
3
- "version": "0.8.3",
3
+ "version": "0.8.5",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "aai": "dist/aai.js"
@@ -12,95 +12,113 @@
12
12
  ],
13
13
  "exports": {
14
14
  ".": {
15
+ "source": "./sdk/mod.ts",
15
16
  "types": "./dist/sdk/mod.d.ts",
16
17
  "default": "./dist/sdk/mod.js"
17
18
  },
18
19
  "./types": {
20
+ "source": "./sdk/types.ts",
19
21
  "types": "./dist/sdk/types.d.ts",
20
22
  "default": "./dist/sdk/types.js"
21
23
  },
22
- "./define-agent": {
23
- "types": "./dist/sdk/define_agent.d.ts",
24
- "default": "./dist/sdk/define_agent.js"
25
- },
26
24
  "./kv": {
25
+ "source": "./sdk/kv.ts",
27
26
  "types": "./dist/sdk/kv.d.ts",
28
27
  "default": "./dist/sdk/kv.js"
29
28
  },
30
29
  "./vector": {
30
+ "source": "./sdk/vector.ts",
31
31
  "types": "./dist/sdk/vector.d.ts",
32
32
  "default": "./dist/sdk/vector.js"
33
33
  },
34
34
  "./testing": {
35
+ "source": "./sdk/_mock_ws.ts",
35
36
  "types": "./dist/sdk/_mock_ws.d.ts",
36
37
  "default": "./dist/sdk/_mock_ws.js"
37
38
  },
38
39
  "./server": {
40
+ "source": "./sdk/server.ts",
39
41
  "types": "./dist/sdk/server.d.ts",
40
42
  "default": "./dist/sdk/server.js"
41
43
  },
42
44
  "./runtime": {
45
+ "source": "./sdk/runtime.ts",
43
46
  "types": "./dist/sdk/runtime.d.ts",
44
47
  "default": "./dist/sdk/runtime.js"
45
48
  },
46
49
  "./ui": {
50
+ "source": "./ui/mod.ts",
47
51
  "types": "./dist/ui/mod.d.ts",
48
52
  "default": "./dist/ui/mod.js"
49
53
  },
50
54
  "./ui/styles.css": "./ui/styles.css",
51
55
  "./ui/session": {
56
+ "source": "./ui/session_mod.ts",
52
57
  "types": "./dist/ui/session_mod.d.ts",
53
58
  "default": "./dist/ui/session_mod.js"
54
59
  },
55
60
  "./ui/components": {
61
+ "source": "./ui/components_mod.ts",
56
62
  "types": "./dist/ui/components_mod.d.ts",
57
63
  "default": "./dist/ui/components_mod.js"
58
64
  },
59
65
  "./internal-types": {
66
+ "source": "./sdk/_internal_types.ts",
60
67
  "types": "./dist/sdk/_internal_types.d.ts",
61
68
  "default": "./dist/sdk/_internal_types.js"
62
69
  },
63
70
  "./protocol": {
71
+ "source": "./sdk/protocol.ts",
64
72
  "types": "./dist/sdk/protocol.d.ts",
65
73
  "default": "./dist/sdk/protocol.js"
66
74
  },
67
75
  "./worker-entry": {
76
+ "source": "./sdk/worker_entry.ts",
68
77
  "types": "./dist/sdk/worker_entry.d.ts",
69
78
  "default": "./dist/sdk/worker_entry.js"
70
79
  },
71
80
  "./builtin-tools": {
81
+ "source": "./sdk/builtin_tools.ts",
72
82
  "types": "./dist/sdk/builtin_tools.d.ts",
73
83
  "default": "./dist/sdk/builtin_tools.js"
74
84
  },
75
85
  "./s2s": {
86
+ "source": "./sdk/s2s.ts",
76
87
  "types": "./dist/sdk/s2s.d.ts",
77
88
  "default": "./dist/sdk/s2s.js"
78
89
  },
79
90
  "./session": {
91
+ "source": "./sdk/session.ts",
80
92
  "types": "./dist/sdk/session.d.ts",
81
93
  "default": "./dist/sdk/session.js"
82
94
  },
83
- "./system-prompt": {
84
- "types": "./dist/sdk/system_prompt.d.ts",
85
- "default": "./dist/sdk/system_prompt.js"
86
- },
87
95
  "./ws-handler": {
96
+ "source": "./sdk/ws_handler.ts",
88
97
  "types": "./dist/sdk/ws_handler.d.ts",
89
98
  "default": "./dist/sdk/ws_handler.js"
90
99
  },
91
100
  "./direct-executor": {
101
+ "source": "./sdk/direct_executor.ts",
92
102
  "types": "./dist/sdk/direct_executor.d.ts",
93
103
  "default": "./dist/sdk/direct_executor.js"
94
104
  },
95
105
  "./capnweb": {
106
+ "source": "./sdk/capnweb.ts",
96
107
  "types": "./dist/sdk/capnweb.d.ts",
97
108
  "default": "./dist/sdk/capnweb.js"
98
109
  },
110
+ "./host": {
111
+ "source": "./sdk/host.ts",
112
+ "types": "./dist/sdk/host.d.ts",
113
+ "default": "./dist/sdk/host.js"
114
+ },
99
115
  "./winterc-server": {
116
+ "source": "./sdk/winterc_server.ts",
100
117
  "types": "./dist/sdk/winterc_server.d.ts",
101
118
  "default": "./dist/sdk/winterc_server.js"
102
119
  },
103
120
  "./worker-shim": {
121
+ "source": "./sdk/worker_shim.ts",
104
122
  "types": "./dist/sdk/worker_shim.d.ts",
105
123
  "default": "./dist/sdk/worker_shim.js"
106
124
  }
@@ -108,40 +126,40 @@
108
126
  "dependencies": {
109
127
  "@chonkiejs/core": "^0.0.8",
110
128
  "@hono/node-server": "^1.19.11",
111
- "@hono/node-ws": "^1.3.0",
112
129
  "@inkjs/ui": "^2.0.0",
113
130
  "@preact/preset-vite": "^2.10.4",
114
131
  "@preact/signals": "^2.8.2",
115
132
  "@tailwindcss/vite": "^4.2.1",
116
133
  "@types/json-schema": "^7.0.15",
134
+ "capnweb": "^0.6.1",
117
135
  "chalk": "^5.6.2",
118
- "fast-glob": "^3.3.3",
119
- "fs-extra": "^11.3.4",
136
+ "clsx": "^2.1.1",
137
+ "commander": "^14.0.3",
120
138
  "hono": "^4.12.8",
121
139
  "html-to-text": "^9.0.5",
122
140
  "human-id": "^4.1.3",
123
141
  "ink": "^6.8.0",
124
- "minimist": "^1.2.8",
125
142
  "p-limit": "^7.3.0",
126
143
  "preact": "^10.29.0",
127
144
  "react": "^19.2.4",
145
+ "tsx": "^4.21.0",
128
146
  "vite": "^7.3.1",
129
147
  "ws": "^8.18.0",
130
148
  "zod": "^4.3.6"
131
149
  },
132
150
  "devDependencies": {
133
151
  "@biomejs/biome": "^2.4.7",
134
- "@types/fs-extra": "^11.0.4",
152
+ "@testing-library/preact": "^3.2.4",
135
153
  "@types/html-to-text": "^9.0.4",
136
- "@types/minimist": "^1.2.5",
137
154
  "@types/node": "^25.5.0",
138
155
  "@types/react": "^19.2.14",
139
156
  "@types/ws": "^8.18.1",
140
157
  "@vitest/coverage-v8": "^4.1.0",
158
+ "concurrently": "^9.2.1",
141
159
  "ink-testing-library": "^4.0.0",
160
+ "jsdom": "^29.0.1",
142
161
  "linkedom": "^0.18.12",
143
162
  "markdownlint-cli2": "^0.21.0",
144
- "tsx": "^4.21.0",
145
163
  "typescript": "^5.9.3",
146
164
  "vitest": "^4.1.0"
147
165
  },
@@ -169,6 +187,8 @@
169
187
  "test": "vitest run",
170
188
  "lint": "biome check sdk/ ui/ cli/",
171
189
  "lint:fix": "biome check --write sdk/ ui/ cli/",
172
- "check": "tsc --noEmit && tsc -p cli/tsconfig.json --noEmit && tsc -p tsconfig.build.json --noEmit && tsc -p tsconfig.templates.json && biome check sdk/ ui/ cli/ && markdownlint-cli2 '**/*.md' '#node_modules' '#.aai' && vitest run"
190
+ "exports": "node scripts/gen-exports.mjs --write",
191
+ "exports:check": "node scripts/gen-exports.mjs",
192
+ "check": "concurrently -g -n tsc,tsc:cli,tsc:build,tsc:tpl,biome,mdlint,exports,test \"tsc --noEmit\" \"tsc -p cli/tsconfig.json --noEmit\" \"tsc -p tsconfig.build.json --noEmit\" \"tsc -p tsconfig.templates.json\" \"biome check sdk/ ui/ cli/\" \"markdownlint-cli2 '**/*.md' '#node_modules' '#.aai'\" \"node scripts/gen-exports.mjs\" \"vitest run\""
173
193
  }
174
194
  }
@@ -261,7 +261,6 @@ LLM produces a text response.
261
261
  Every `execute` function and lifecycle hook receives a context object:
262
262
 
263
263
  ```ts
264
- ctx.sessionId; // string — unique per connection
265
264
  ctx.env; // Record<string, string> — secrets from `aai secret put`
266
265
  ctx.abortSignal; // AbortSignal — cancelled on interruption (tools only)
267
266
  ctx.state; // per-session state
@@ -322,24 +321,22 @@ export default defineAgent({
322
321
 
323
322
  ### Persisting state across reconnects
324
323
 
325
- `ctx.sessionId` is a persistent user ID stored in the browser's
326
- `localStorage`. It stays the same when a user closes and reopens the
327
- browser. Use it as a KV key to auto-save and auto-load state:
324
+ Use the KV store to auto-save and auto-load state:
328
325
 
329
326
  ```ts
330
327
  export default defineAgent({
331
328
  state: () => ({ score: 0, initialized: false }),
332
329
  onConnect: async (ctx) => {
333
- const saved = await ctx.kv.get(`save:${ctx.sessionId}`);
330
+ const saved = await ctx.kv.get("save:game");
334
331
  if (saved) Object.assign(ctx.state, saved);
335
332
  },
336
333
  onTurn: async (_text, ctx) => {
337
- await ctx.kv.set(`save:${ctx.sessionId}`, ctx.state);
334
+ await ctx.kv.set("save:game", ctx.state);
338
335
  },
339
336
  });
340
337
  ```
341
338
 
342
- Each browser gets its own saved state. This works for games, workflows,
339
+ This works for games, workflows,
343
340
  or any agent where users expect to resume where they left off.
344
341
 
345
342
  ### Persistent storage (KV)