@fastagent-sh/fastagent 0.24.3 → 0.25.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 (480) hide show
  1. package/README.md +53 -82
  2. package/dist/agent-api.d.ts +452 -0
  3. package/dist/agent-api.js +201 -0
  4. package/dist/answer-text.d.ts +8 -0
  5. package/dist/answer-text.js +18 -0
  6. package/dist/atomic-write.d.ts +2 -2
  7. package/dist/atomic-write.js +2 -2
  8. package/dist/authoring.d.ts +77 -0
  9. package/dist/authoring.js +238 -0
  10. package/dist/channel.d.ts +29 -15
  11. package/dist/channel.js +4 -1
  12. package/dist/channels/agentcore-protocol.d.ts +36 -50
  13. package/dist/channels/agentcore-protocol.js +3 -3
  14. package/dist/channels/agentcore-service.d.ts +8 -18
  15. package/dist/channels/agentcore-service.js +108 -127
  16. package/dist/channels/agentcore.d.ts +8 -24
  17. package/dist/channels/agentcore.js +32 -65
  18. package/dist/channels/body.d.ts +0 -16
  19. package/dist/channels/body.js +0 -25
  20. package/dist/channels/busy.js +6 -1
  21. package/dist/channels/context.d.ts +4 -0
  22. package/dist/channels/context.js +35 -0
  23. package/dist/channels/discover.d.ts +18 -20
  24. package/dist/channels/discover.js +41 -99
  25. package/dist/channels/feishu/feishu-api.d.ts +54 -4
  26. package/dist/channels/feishu/feishu-api.js +192 -149
  27. package/dist/channels/feishu/feishu.d.ts +3 -0
  28. package/dist/channels/feishu/feishu.js +117 -106
  29. package/dist/channels/feishu/history.d.ts +55 -0
  30. package/dist/channels/feishu/history.js +199 -0
  31. package/dist/channels/feishu/invoke-turn.d.ts +13 -11
  32. package/dist/channels/feishu/invoke-turn.js +9 -10
  33. package/dist/channels/feishu/model.d.ts +2 -1
  34. package/dist/channels/feishu/normalize.js +100 -0
  35. package/dist/channels/feishu/preview.d.ts +2 -2
  36. package/dist/channels/feishu/register-webhook.d.ts +1 -0
  37. package/dist/channels/feishu/register-webhook.js +3 -2
  38. package/dist/channels/feishu/scaffold/channel.ts +65 -46
  39. package/dist/channels/feishu/scaffold/feishu-send.ts +38 -33
  40. package/dist/channels/feishu/scaffold/feishu-threads.ts +25 -0
  41. package/dist/channels/feishu/setup-mode.d.ts +45 -25
  42. package/dist/channels/feishu/setup-mode.js +74 -23
  43. package/dist/channels/feishu/shared-api.d.ts +24 -6
  44. package/dist/channels/feishu/shared-api.js +30 -24
  45. package/dist/channels/kit/context-buffer.d.ts +11 -2
  46. package/dist/channels/kit/context-buffer.js +7 -4
  47. package/dist/channels/kit/delivery.d.ts +19 -3
  48. package/dist/channels/kit/delivery.js +74 -15
  49. package/dist/channels/kit/event-stream.js +2 -1
  50. package/dist/channels/kit/invoke-turn-kit.d.ts +41 -41
  51. package/dist/channels/kit/invoke-turn-kit.js +62 -71
  52. package/dist/channels/kit/place-history.d.ts +107 -0
  53. package/dist/channels/kit/place-history.js +182 -0
  54. package/dist/channels/kit/preview-kit.d.ts +9 -5
  55. package/dist/channels/kit/preview-kit.js +36 -15
  56. package/dist/channels/kit/room-threads.d.ts +46 -0
  57. package/dist/channels/kit/room-threads.js +81 -0
  58. package/dist/channels/kit/seen.js +1 -1
  59. package/dist/channels/kit/stop-command.d.ts +6 -3
  60. package/dist/channels/kit/stop-command.js +20 -18
  61. package/dist/channels/kit/thread-fork.d.ts +17 -0
  62. package/dist/channels/kit/thread-fork.js +43 -0
  63. package/dist/channels/kit/thread-participants.js +1 -1
  64. package/dist/channels/kit/transport.d.ts +5 -0
  65. package/dist/channels/kit/transport.js +5 -0
  66. package/dist/channels/kit/turn-runner.d.ts +10 -9
  67. package/dist/channels/kit/turn-runner.js +17 -19
  68. package/dist/channels/kit/turn-store.d.ts +5 -4
  69. package/dist/channels/kit/turn-store.js +5 -5
  70. package/dist/channels/lark/lark.d.ts +3 -0
  71. package/dist/channels/lark/lark.js +5 -0
  72. package/dist/channels/lark/onboard.d.ts +5 -3
  73. package/dist/channels/lark/onboard.js +14 -14
  74. package/dist/channels/lark/scaffold/channel.ts +67 -44
  75. package/dist/channels/lark/scaffold/lark-send.ts +38 -33
  76. package/dist/channels/lark/scaffold/lark-threads.ts +25 -0
  77. package/dist/channels/respond.d.ts +0 -4
  78. package/dist/channels/respond.js +1 -1
  79. package/dist/channels/router.d.ts +18 -0
  80. package/dist/channels/router.js +68 -0
  81. package/dist/channels/serve.d.ts +5 -70
  82. package/dist/channels/serve.js +105 -287
  83. package/dist/channels/slack/history.d.ts +42 -0
  84. package/dist/channels/slack/history.js +282 -0
  85. package/dist/channels/slack/invoke-turn.d.ts +12 -5
  86. package/dist/channels/slack/invoke-turn.js +7 -5
  87. package/dist/channels/slack/manifest.d.ts +1 -4
  88. package/dist/channels/slack/manifest.js +22 -10
  89. package/dist/channels/slack/model.d.ts +2 -1
  90. package/dist/channels/slack/onboard.d.ts +0 -2
  91. package/dist/channels/slack/onboard.js +2 -4
  92. package/dist/channels/slack/onboarding-state.d.ts +0 -2
  93. package/dist/channels/slack/onboarding-state.js +0 -1
  94. package/dist/channels/slack/parse.d.ts +0 -5
  95. package/dist/channels/slack/parse.js +1 -16
  96. package/dist/channels/slack/preview.d.ts +2 -3
  97. package/dist/channels/slack/preview.js +78 -52
  98. package/dist/channels/slack/register-webhook.d.ts +1 -0
  99. package/dist/channels/slack/register-webhook.js +6 -5
  100. package/dist/channels/slack/scaffold/channel.ts +23 -24
  101. package/dist/channels/slack/scaffold/slack-send.ts +50 -43
  102. package/dist/channels/slack/scaffold/slack-threads.ts +29 -0
  103. package/dist/channels/slack/setup-server.d.ts +19 -0
  104. package/dist/channels/slack/setup-server.js +113 -11
  105. package/dist/channels/slack/shared-api.d.ts +15 -4
  106. package/dist/channels/slack/shared-api.js +19 -14
  107. package/dist/channels/slack/slack-api.d.ts +61 -2
  108. package/dist/channels/slack/slack-api.js +28 -5
  109. package/dist/channels/slack/slack.js +97 -52
  110. package/dist/channels/slack/welcomed.js +1 -1
  111. package/dist/channels/telegram/context-buffer.d.ts +6 -1
  112. package/dist/channels/telegram/context-buffer.js +19 -0
  113. package/dist/channels/telegram/invoke-turn.d.ts +8 -4
  114. package/dist/channels/telegram/invoke-turn.js +7 -7
  115. package/dist/channels/telegram/parse.d.ts +7 -2
  116. package/dist/channels/telegram/parse.js +7 -0
  117. package/dist/channels/telegram/preview.d.ts +2 -2
  118. package/dist/channels/telegram/register-webhook.d.ts +1 -0
  119. package/dist/channels/telegram/register-webhook.js +3 -2
  120. package/dist/channels/telegram/scaffold/channel.ts +27 -28
  121. package/dist/channels/telegram/scaffold/telegram-send.ts +61 -108
  122. package/dist/channels/telegram/shared-api.d.ts +34 -0
  123. package/dist/channels/telegram/shared-api.js +79 -0
  124. package/dist/channels/telegram/telegram-api.d.ts +15 -5
  125. package/dist/channels/telegram/telegram-api.js +10 -6
  126. package/dist/channels/telegram/telegram.js +27 -21
  127. package/dist/channels/telegram/turn-store.js +1 -1
  128. package/dist/channels/{kit/turn-queue.d.ts → turn-queue.d.ts} +2 -2
  129. package/dist/channels/{kit/turn-queue.js → turn-queue.js} +10 -10
  130. package/dist/cli/add-feishu.d.ts +42 -12
  131. package/dist/cli/add-feishu.js +177 -124
  132. package/dist/cli/add-slack.d.ts +8 -3
  133. package/dist/cli/add-slack.js +115 -63
  134. package/dist/cli/auth-view.d.ts +10 -3
  135. package/dist/cli/auth-view.js +8 -6
  136. package/dist/cli/box-login.d.ts +17 -7
  137. package/dist/cli/box-login.js +46 -12
  138. package/dist/cli/commands/add.d.ts +15 -4
  139. package/dist/cli/commands/add.js +252 -143
  140. package/dist/cli/commands/auth.d.ts +6 -0
  141. package/dist/cli/commands/auth.js +50 -0
  142. package/dist/cli/commands/content.d.ts +6 -0
  143. package/dist/cli/commands/content.js +45 -0
  144. package/dist/cli/commands/deploy/agentcore.js +50 -77
  145. package/dist/cli/commands/deploy/docker.js +38 -39
  146. package/dist/cli/commands/deploy/fly.js +21 -18
  147. package/dist/cli/commands/deploy/host-login.d.ts +26 -0
  148. package/dist/cli/commands/deploy/host-login.js +90 -0
  149. package/dist/cli/commands/deploy/railway.js +21 -26
  150. package/dist/cli/commands/deploy/shared.d.ts +45 -17
  151. package/dist/cli/commands/deploy/shared.js +34 -15
  152. package/dist/cli/commands/deploy.d.ts +0 -4
  153. package/dist/cli/commands/deploy.js +237 -50
  154. package/dist/cli/commands/destroy.js +8 -6
  155. package/dist/cli/commands/dev.d.ts +0 -2
  156. package/dist/cli/commands/dev.js +20 -19
  157. package/dist/cli/commands/env.d.ts +12 -0
  158. package/dist/cli/commands/env.js +190 -0
  159. package/dist/cli/commands/info.js +95 -156
  160. package/dist/cli/commands/init.d.ts +2 -2
  161. package/dist/cli/commands/init.js +35 -33
  162. package/dist/cli/commands/invoke.d.ts +6 -0
  163. package/dist/cli/commands/invoke.js +131 -16
  164. package/dist/cli/commands/login.d.ts +31 -2
  165. package/dist/cli/commands/login.js +413 -64
  166. package/dist/cli/commands/logout.d.ts +4 -0
  167. package/dist/cli/commands/logout.js +53 -0
  168. package/dist/cli/commands/logs.js +8 -6
  169. package/dist/cli/commands/models.d.ts +2 -1
  170. package/dist/cli/commands/models.js +39 -37
  171. package/dist/cli/commands/schedules.d.ts +21 -0
  172. package/dist/cli/commands/schedules.js +143 -0
  173. package/dist/cli/commands/start.d.ts +11 -10
  174. package/dist/cli/commands/start.js +35 -62
  175. package/dist/cli/content-view.d.ts +9 -0
  176. package/dist/cli/content-view.js +26 -0
  177. package/dist/cli/fail.d.ts +9 -12
  178. package/dist/cli/fail.js +17 -14
  179. package/dist/cli/invoke-stream.d.ts +12 -3
  180. package/dist/cli/invoke-stream.js +85 -23
  181. package/dist/cli/kernel.d.ts +9 -2
  182. package/dist/cli/kernel.js +15 -6
  183. package/dist/cli/login-relay.d.ts +3 -2
  184. package/dist/cli/login-relay.js +18 -6
  185. package/dist/cli/models-view.d.ts +5 -1
  186. package/dist/cli/models-view.js +1 -1
  187. package/dist/cli/person.d.ts +10 -0
  188. package/dist/cli/person.js +23 -0
  189. package/dist/cli/program.js +421 -203
  190. package/dist/cli/serve.d.ts +13 -63
  191. package/dist/cli/serve.js +31 -121
  192. package/dist/cli/shared.d.ts +21 -48
  193. package/dist/cli/shared.js +68 -89
  194. package/dist/cli/ticket.d.ts +136 -0
  195. package/dist/cli/ticket.js +476 -0
  196. package/dist/client.d.ts +7 -0
  197. package/dist/client.js +2 -0
  198. package/dist/content/declare.d.ts +70 -0
  199. package/dist/content/declare.js +163 -0
  200. package/dist/content/file.d.ts +32 -0
  201. package/dist/content/file.js +119 -0
  202. package/dist/content/git.d.ts +41 -0
  203. package/dist/content/git.js +217 -0
  204. package/dist/content/mount.d.ts +2 -0
  205. package/dist/content/mount.js +15 -0
  206. package/dist/content/resolve.d.ts +52 -0
  207. package/dist/content/resolve.js +151 -0
  208. package/dist/content/source.d.ts +27 -0
  209. package/dist/content/source.js +53 -0
  210. package/dist/conversation-sessions.d.ts +26 -0
  211. package/dist/conversation-sessions.js +99 -0
  212. package/dist/declared-secrets.d.ts +19 -37
  213. package/dist/declared-secrets.js +16 -58
  214. package/dist/deploy/agentcore/destroy.d.ts +3 -3
  215. package/dist/deploy/agentcore/destroy.js +46 -28
  216. package/dist/deploy/agentcore/forwarder.js +105 -22
  217. package/dist/deploy/agentcore/logs.js +1 -1
  218. package/dist/deploy/agentcore/plan.d.ts +10 -24
  219. package/dist/deploy/agentcore/plan.js +31 -135
  220. package/dist/deploy/agentcore/run.d.ts +1 -1
  221. package/dist/deploy/agentcore/run.js +8 -5
  222. package/dist/deploy/agentcore/shell.d.ts +1 -1
  223. package/dist/deploy/agentcore/shell.js +5 -5
  224. package/dist/deploy/api.d.ts +34 -0
  225. package/dist/deploy/api.js +50 -0
  226. package/dist/deploy/box-shell.d.ts +6 -0
  227. package/dist/deploy/box-shell.js +7 -0
  228. package/dist/deploy/build-context.d.ts +7 -5
  229. package/dist/deploy/build-context.js +41 -35
  230. package/dist/deploy/channel-ingress.d.ts +6 -1
  231. package/dist/deploy/channel-ingress.js +18 -5
  232. package/dist/deploy/container.d.ts +22 -9
  233. package/dist/deploy/container.js +96 -55
  234. package/dist/deploy/docker/plan.d.ts +3 -2
  235. package/dist/deploy/docker/plan.js +13 -14
  236. package/dist/deploy/docker/run.d.ts +2 -2
  237. package/dist/deploy/docker/run.js +8 -4
  238. package/dist/deploy/fly/plan.d.ts +1 -1
  239. package/dist/deploy/fly/plan.js +12 -21
  240. package/dist/deploy/fly/run.d.ts +10 -6
  241. package/dist/deploy/fly/run.js +11 -6
  242. package/dist/deploy/hosts.d.ts +2 -1
  243. package/dist/deploy/hosts.js +2 -1
  244. package/dist/deploy/preflight.d.ts +21 -23
  245. package/dist/deploy/preflight.js +222 -201
  246. package/dist/deploy/railway/plan.d.ts +8 -6
  247. package/dist/deploy/railway/plan.js +15 -58
  248. package/dist/deploy/railway/run.d.ts +8 -3
  249. package/dist/deploy/railway/run.js +12 -8
  250. package/dist/deploy/residency.d.ts +5 -11
  251. package/dist/deploy/residency.js +0 -6
  252. package/dist/deploy/runner.d.ts +1 -1
  253. package/dist/deploy/runner.js +1 -1
  254. package/dist/deploy/secrets.d.ts +16 -2
  255. package/dist/deploy/secrets.js +33 -6
  256. package/dist/deploy/workspace.d.ts +11 -6
  257. package/dist/deploy/workspace.js +55 -38
  258. package/dist/dev-supervisor.d.ts +11 -2
  259. package/dist/dev-supervisor.js +51 -26
  260. package/dist/effect-port.d.ts +4 -4
  261. package/dist/effect-port.js +4 -4
  262. package/dist/environment/apt.d.ts +4 -0
  263. package/dist/environment/apt.js +32 -0
  264. package/dist/environment/declare.d.ts +59 -0
  265. package/dist/environment/declare.js +210 -0
  266. package/dist/environment/mise.d.ts +50 -0
  267. package/dist/environment/mise.js +268 -0
  268. package/dist/feishu.d.ts +2 -2
  269. package/dist/feishu.js +2 -2
  270. package/dist/git.d.ts +13 -0
  271. package/dist/git.js +55 -0
  272. package/dist/harnesses/models/catalog.d.ts +20 -0
  273. package/dist/harnesses/models/catalog.js +254 -0
  274. package/dist/{engines/pi/auth.d.ts → harnesses/models/credentials.d.ts} +3 -3
  275. package/dist/{engines/pi/auth.js → harnesses/models/credentials.js} +3 -3
  276. package/dist/harnesses/models/environment.d.ts +43 -0
  277. package/dist/harnesses/models/environment.js +82 -0
  278. package/dist/{engines/pi → harnesses/models}/login.d.ts +57 -26
  279. package/dist/{engines/pi → harnesses/models}/login.js +187 -79
  280. package/dist/harnesses/models/models.d.ts +83 -0
  281. package/dist/harnesses/models/models.js +158 -0
  282. package/dist/harnesses/pi-durable/agent.d.ts +42 -0
  283. package/dist/harnesses/pi-durable/agent.js +579 -0
  284. package/dist/harnesses/pi-durable/defaults.d.ts +28 -0
  285. package/dist/harnesses/pi-durable/defaults.js +26 -0
  286. package/dist/harnesses/pi-durable/define.d.ts +77 -0
  287. package/dist/harnesses/pi-durable/define.js +28 -0
  288. package/dist/harnesses/pi-durable/entries.d.ts +32 -0
  289. package/dist/harnesses/pi-durable/entries.js +126 -0
  290. package/dist/harnesses/pi-durable/events.d.ts +25 -0
  291. package/dist/harnesses/pi-durable/events.js +238 -0
  292. package/dist/harnesses/pi-durable/ids.d.ts +16 -0
  293. package/dist/harnesses/pi-durable/ids.js +55 -0
  294. package/dist/harnesses/pi-durable/messages.d.ts +41 -0
  295. package/dist/harnesses/pi-durable/messages.js +116 -0
  296. package/dist/harnesses/pi-durable/open.d.ts +88 -0
  297. package/dist/harnesses/pi-durable/open.js +329 -0
  298. package/dist/harnesses/pi-durable/reads.d.ts +30 -0
  299. package/dist/harnesses/pi-durable/reads.js +94 -0
  300. package/dist/harnesses/pi-durable/registry.d.ts +18 -0
  301. package/dist/harnesses/pi-durable/registry.js +56 -0
  302. package/dist/harnesses/pi-durable/release.d.ts +13 -0
  303. package/dist/harnesses/pi-durable/release.js +40 -0
  304. package/dist/harnesses/pi-durable/serve.d.ts +80 -0
  305. package/dist/harnesses/pi-durable/serve.js +156 -0
  306. package/dist/harnesses/pi-durable/sessions.d.ts +27 -0
  307. package/dist/harnesses/pi-durable/sessions.js +47 -0
  308. package/dist/harnesses/pi-durable/storage.d.ts +4 -0
  309. package/dist/harnesses/pi-durable/storage.js +49 -0
  310. package/dist/harnesses/pi-durable/stream.d.ts +20 -0
  311. package/dist/harnesses/pi-durable/stream.js +221 -0
  312. package/dist/harnesses/pi-durable/text.d.ts +30 -0
  313. package/dist/harnesses/pi-durable/text.js +292 -0
  314. package/dist/harnesses/pi-durable/wake.d.ts +4 -0
  315. package/dist/harnesses/pi-durable/wake.js +81 -0
  316. package/dist/http/client.d.ts +6 -0
  317. package/dist/http/client.js +256 -0
  318. package/dist/http/contract.d.ts +541 -0
  319. package/dist/http/contract.js +179 -0
  320. package/dist/http/server.d.ts +34 -0
  321. package/dist/http/server.js +194 -0
  322. package/dist/index.d.ts +17 -4
  323. package/dist/index.js +10 -5
  324. package/dist/lark.d.ts +2 -2
  325. package/dist/lark.js +2 -2
  326. package/dist/locked-file.d.ts +17 -0
  327. package/dist/{engines/pi/locked-file.js → locked-file.js} +16 -10
  328. package/dist/once.d.ts +6 -0
  329. package/dist/once.js +23 -0
  330. package/dist/paths.d.ts +36 -52
  331. package/dist/paths.js +66 -182
  332. package/dist/runtime.d.ts +25 -2
  333. package/dist/runtime.js +27 -0
  334. package/dist/scaffold/add-channel.d.ts +14 -27
  335. package/dist/scaffold/add-channel.js +82 -180
  336. package/dist/scaffold/init.d.ts +17 -18
  337. package/dist/scaffold/init.js +87 -99
  338. package/dist/scaffold/templates/SYSTEM.md +12 -0
  339. package/dist/scaffold/templates/env.example +4 -10
  340. package/dist/scaffold/templates/fastagent.config.ts +21 -33
  341. package/dist/scaffold/templates/gitignore +8 -1
  342. package/dist/scaffold/templates/skills/writing-great-skills/SKILL.md +1 -2
  343. package/dist/scaffold/templates.d.ts +9 -4
  344. package/dist/scaffold/templates.js +7 -5
  345. package/dist/scaffold/vendor-skill.d.ts +1 -4
  346. package/dist/scaffold/vendor-skill.js +5 -6
  347. package/dist/schedule/cron.d.ts +13 -0
  348. package/dist/schedule/cron.js +52 -0
  349. package/dist/schedule/eventbridge-cron.d.ts +17 -0
  350. package/dist/schedule/eventbridge-cron.js +88 -0
  351. package/dist/schedule/schedule.d.ts +23 -0
  352. package/dist/schedule/schedule.js +34 -0
  353. package/dist/schedule/scheduler.d.ts +34 -33
  354. package/dist/schedule/scheduler.js +251 -137
  355. package/dist/schedule/state.d.ts +4 -14
  356. package/dist/schedule/state.js +7 -7
  357. package/dist/schedule/wake-alarm.d.ts +22 -2
  358. package/dist/schedule/wake-alarm.js +66 -20
  359. package/dist/schedule/wakeups.d.ts +16 -15
  360. package/dist/schedule/wakeups.js +47 -45
  361. package/dist/service.d.ts +56 -169
  362. package/dist/service.js +91 -187
  363. package/dist/serving-command.d.ts +10 -0
  364. package/dist/serving-command.js +16 -0
  365. package/dist/slack.d.ts +1 -1
  366. package/dist/slack.js +1 -1
  367. package/dist/{channels/kit/state.js → state-file.js} +6 -6
  368. package/dist/telegram.d.ts +1 -0
  369. package/dist/telegram.js +1 -0
  370. package/dist/tunnel.d.ts +3 -0
  371. package/dist/tunnel.js +12 -4
  372. package/dist/value-file.d.ts +21 -0
  373. package/dist/value-file.js +108 -0
  374. package/dist/version.d.ts +5 -0
  375. package/dist/version.js +14 -1
  376. package/package.json +18 -28
  377. package/dist/agent.d.ts +0 -106
  378. package/dist/agent.js +0 -21
  379. package/dist/channels/control.d.ts +0 -31
  380. package/dist/channels/control.js +0 -329
  381. package/dist/channels/define-channel.d.ts +0 -39
  382. package/dist/channels/define-channel.js +0 -9
  383. package/dist/channels/feishu/context-buffer.d.ts +0 -35
  384. package/dist/channels/feishu/context-buffer.js +0 -65
  385. package/dist/channels/feishu/scaffold/channel.websocket.ts +0 -31
  386. package/dist/channels/http.d.ts +0 -23
  387. package/dist/channels/http.js +0 -57
  388. package/dist/channels/lark/scaffold/channel.websocket.ts +0 -31
  389. package/dist/channels/slack/context-buffer.d.ts +0 -23
  390. package/dist/channels/slack/context-buffer.js +0 -37
  391. package/dist/channels/sse.d.ts +0 -4
  392. package/dist/channels/sse.js +0 -66
  393. package/dist/cli/commands/chat.d.ts +0 -3
  394. package/dist/cli/commands/chat.js +0 -14
  395. package/dist/cli/commands/routine-run.d.ts +0 -6
  396. package/dist/cli/commands/routine-run.js +0 -46
  397. package/dist/cli/commands/routine.d.ts +0 -25
  398. package/dist/cli/commands/routine.js +0 -122
  399. package/dist/cli/commands/tool.d.ts +0 -1
  400. package/dist/cli/commands/tool.js +0 -57
  401. package/dist/collect.d.ts +0 -63
  402. package/dist/collect.js +0 -90
  403. package/dist/core.d.ts +0 -13
  404. package/dist/core.js +0 -15
  405. package/dist/engines/pi/agent-models.d.ts +0 -83
  406. package/dist/engines/pi/agent-models.js +0 -120
  407. package/dist/engines/pi/agent-session-factory.d.ts +0 -121
  408. package/dist/engines/pi/agent-session-factory.js +0 -517
  409. package/dist/engines/pi/chat.d.ts +0 -3
  410. package/dist/engines/pi/chat.js +0 -8
  411. package/dist/engines/pi/config.d.ts +0 -71
  412. package/dist/engines/pi/config.js +0 -199
  413. package/dist/engines/pi/create.d.ts +0 -170
  414. package/dist/engines/pi/create.js +0 -343
  415. package/dist/engines/pi/definition.d.ts +0 -74
  416. package/dist/engines/pi/definition.js +0 -236
  417. package/dist/engines/pi/entry-images.d.ts +0 -14
  418. package/dist/engines/pi/entry-images.js +0 -23
  419. package/dist/engines/pi/invoke-session.d.ts +0 -18
  420. package/dist/engines/pi/invoke-session.js +0 -403
  421. package/dist/engines/pi/locked-file.d.ts +0 -9
  422. package/dist/engines/pi/machine.d.ts +0 -53
  423. package/dist/engines/pi/machine.js +0 -137
  424. package/dist/engines/pi/models.d.ts +0 -200
  425. package/dist/engines/pi/models.js +0 -533
  426. package/dist/engines/pi/open.d.ts +0 -180
  427. package/dist/engines/pi/open.js +0 -270
  428. package/dist/engines/pi/openai-account-models.d.ts +0 -35
  429. package/dist/engines/pi/openai-account-models.js +0 -116
  430. package/dist/engines/pi/report.d.ts +0 -18
  431. package/dist/engines/pi/report.js +0 -59
  432. package/dist/engines/pi/retry-event.d.ts +0 -6
  433. package/dist/engines/pi/retry-event.js +0 -15
  434. package/dist/engines/pi/service.d.ts +0 -9
  435. package/dist/engines/pi/service.js +0 -14
  436. package/dist/engines/pi/session-builder.d.ts +0 -13
  437. package/dist/engines/pi/session-builder.js +0 -117
  438. package/dist/engines/pi/session-control.d.ts +0 -77
  439. package/dist/engines/pi/session-control.js +0 -908
  440. package/dist/engines/pi/session-effects.d.ts +0 -14
  441. package/dist/engines/pi/session-effects.js +0 -30
  442. package/dist/engines/pi/session-inheritance.d.ts +0 -21
  443. package/dist/engines/pi/session-inheritance.js +0 -204
  444. package/dist/engines/pi/session-markers.d.ts +0 -49
  445. package/dist/engines/pi/session-markers.js +0 -60
  446. package/dist/engines/pi/session-settings.d.ts +0 -67
  447. package/dist/engines/pi/session-settings.js +0 -119
  448. package/dist/engines/pi/session-store.d.ts +0 -69
  449. package/dist/engines/pi/session-store.js +0 -430
  450. package/dist/engines/pi/tool-context.d.ts +0 -45
  451. package/dist/engines/pi/tool-context.js +0 -31
  452. package/dist/engines/pi/tool.d.ts +0 -99
  453. package/dist/engines/pi/tool.js +0 -118
  454. package/dist/engines/pi/turn-kit.d.ts +0 -83
  455. package/dist/engines/pi/turn-kit.js +0 -275
  456. package/dist/engines/pi/wake-tool.d.ts +0 -9
  457. package/dist/engines/pi/wake-tool.js +0 -92
  458. package/dist/loader.d.ts +0 -41
  459. package/dist/loader.js +0 -116
  460. package/dist/node.d.ts +0 -3
  461. package/dist/node.js +0 -4
  462. package/dist/observe.d.ts +0 -6
  463. package/dist/observe.js +0 -47
  464. package/dist/pi.d.ts +0 -25
  465. package/dist/pi.js +0 -15
  466. package/dist/scaffold/templates/APPEND_SYSTEM.md +0 -12
  467. package/dist/scaffold/templates/tools/fetch-url.ts +0 -25
  468. package/dist/schedule/discover.d.ts +0 -17
  469. package/dist/schedule/discover.js +0 -61
  470. package/dist/schedule/routine.d.ts +0 -43
  471. package/dist/schedule/routine.js +0 -32
  472. package/dist/schedule/run.d.ts +0 -55
  473. package/dist/schedule/run.js +0 -146
  474. package/dist/secrets-gate.d.ts +0 -32
  475. package/dist/secrets-gate.js +0 -33
  476. package/dist/session-remote.d.ts +0 -47
  477. package/dist/session-remote.js +0 -460
  478. package/dist/session.d.ts +0 -466
  479. package/dist/session.js +0 -57
  480. /package/dist/{channels/kit/state.d.ts → state-file.d.ts} +0 -0
@@ -1,199 +0,0 @@
1
- var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
- if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
- return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
- return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
- });
6
- }
7
- return path;
8
- };
9
- /**
10
- * The config subsystem: schema (defineConfig), loading (loadConfig), and value interpretation (resolveModel,
11
- * resolveModelSpec).
12
- */
13
- import { existsSync, statSync } from "node:fs";
14
- import { join } from "node:path";
15
- import { pathToFileURL } from "node:url";
16
- import { THINKING_LEVELS } from "./session-settings.js";
17
- import { readSecretDeclaration } from "../../declared-secrets.js";
18
- import { assertCorsOrigins } from "../../channels/serve.js";
19
- import { moduleLoadHint } from "../../loader.js";
20
- import { AGENT_CONFIG_FILE } from "../../paths.js";
21
- /** Identity function for typing and IDE completion (vite/next-style). */
22
- export function defineConfig(config) {
23
- return config;
24
- }
25
- export function isValidPort(n) {
26
- return Number.isInteger(n) && n >= 0 && n <= 65535;
27
- }
28
- /** Validate an optional `string[]` config field where each entry must match `shape`. */
29
- function validateStringList(value, key, shape, desc, path) {
30
- if (value === undefined)
31
- return;
32
- if (!Array.isArray(value))
33
- throw new Error(`${path}: "${key}" must be an array of strings`);
34
- for (const [i, v] of value.entries()) {
35
- if (typeof v !== "string" || !shape.test(v)) {
36
- throw new Error(`${path}: "${key}[${i}]" must be ${desc}`);
37
- }
38
- }
39
- }
40
- /** Refuse a key `level` does not have, naming the keys it does (the ONE list both the check and the message read). */
41
- function refuseUnknownKeys(level, valid, prefix, path) {
42
- for (const key of Object.keys(level)) {
43
- if (!valid.includes(key)) {
44
- throw new Error(`${path}: unknown key "${prefix}${key}" (valid keys: ${valid.join(", ")})`);
45
- }
46
- }
47
- }
48
- /** Load `<dir>/fastagent.config.ts`. */
49
- export async function loadConfig(dir) {
50
- const path = join(dir, AGENT_CONFIG_FILE);
51
- if (!existsSync(path))
52
- return { config: {} };
53
- let mod;
54
- try {
55
- // Cache-bust on file change: ESM `import()` caches by URL, so a config REWRITTEN in this process (the first-run
56
- // picker's write-back) would otherwise read back stale. An INTEGER stamp (mtimeNs), because `mtimeMs` carries a
57
- // fraction and a loader that decides how to transform a module by looking at the last dot in the URL reads
58
- // `…config.ts?v=1789701227227.251` as extension `251` and parses the file as JavaScript — which the scaffold's
59
- // `import type` + `satisfies` (what makes an editor complete these keys) does not survive.
60
- const url = pathToFileURL(path);
61
- url.searchParams.set("v", String(statSync(path, { bigint: true }).mtimeNs));
62
- mod = (await import(__rewriteRelativeImportExtension(url.href)));
63
- }
64
- catch (error) {
65
- throw new Error(`${path}: ${error.message}${moduleLoadHint(error)}`);
66
- }
67
- const config = mod.default;
68
- if (!config || typeof config !== "object") {
69
- throw new Error(`${path}: must default-export defineConfig({...})`);
70
- }
71
- const c = config;
72
- // Unknown keys throw. This is NOT redundant with `defineConfig`'s types: Node strips types without checking them,
73
- // so `modle:` reaches here whatever the editor said, and silently degrading to defaults is the failure it would
74
- // otherwise cause.
75
- refuseUnknownKeys(c, ["model", "thinkingLevel", "tools", "http", "deploy", "sessionControl"], "", path);
76
- if (c.model !== undefined && typeof c.model !== "string") {
77
- throw new Error(`${path}: "model" must be a "provider/modelId" string`);
78
- }
79
- if (c.sessionControl !== undefined && typeof c.sessionControl !== "boolean") {
80
- throw new Error(`${path}: "sessionControl" must be a boolean`);
81
- }
82
- if (c.thinkingLevel !== undefined && !THINKING_LEVELS.has(c.thinkingLevel)) {
83
- throw new Error(`${path}: "thinkingLevel" must be one of ${[...THINKING_LEVELS].join(", ")}`);
84
- }
85
- if (c.tools !== undefined && !Array.isArray(c.tools)) {
86
- throw new Error(`${path}: "tools" must be an array of AgentTool`);
87
- }
88
- if (c.tools !== undefined) {
89
- for (const [i, tool] of c.tools.entries()) {
90
- if (!tool || typeof tool !== "object") {
91
- throw new Error(`${path}: "tools[${i}]" must be an AgentTool object`);
92
- }
93
- const candidate = tool;
94
- if (typeof candidate.name !== "string" || typeof candidate.execute !== "function") {
95
- throw new Error(`${path}: "tools[${i}]" must have string "name" and function "execute"`);
96
- }
97
- // The declaration's SHAPE, checked with the same read the code-input loaders use. Here rather
98
- // than at tool resolution because this is the author's own config file: a wrong shape in it is
99
- // a config error like any other (it stops the command with one line naming the entry), while a
100
- // wrong shape in `tools/x.ts` is that one file's load failure and the agent serves without it.
101
- const declaration = readSecretDeclaration(candidate, `${path}: "tools[${i}]"`);
102
- if (declaration.error !== undefined)
103
- throw new Error(declaration.error);
104
- }
105
- }
106
- if (c.http !== undefined && (typeof c.http !== "object" || c.http === null)) {
107
- throw new Error(`${path}: "http" must be an object`);
108
- }
109
- refuseUnknownKeys(c.http ?? {}, ["port", "cors", "invoke", "run"], "http.", path);
110
- if (c.http?.invoke !== undefined && typeof c.http.invoke !== "boolean") {
111
- throw new Error(`${path}: "http.invoke" must be a boolean`);
112
- }
113
- if (c.http?.run !== undefined && typeof c.http.run !== "boolean") {
114
- throw new Error(`${path}: "http.run" must be a boolean`);
115
- }
116
- if (c.http?.cors !== undefined)
117
- assertCorsOrigins(c.http.cors, `${path}: "http.cors"`);
118
- if (c.http?.port !== undefined && (typeof c.http.port !== "number" || !isValidPort(c.http.port))) {
119
- throw new Error(`${path}: "http.port" must be an integer 0-65535`);
120
- }
121
- if (c.deploy !== undefined && (typeof c.deploy !== "object" || c.deploy === null)) {
122
- throw new Error(`${path}: "deploy" must be an object`);
123
- }
124
- refuseUnknownKeys(c.deploy ?? {}, ["apt", "agentcore"], "deploy.", path);
125
- if (c.deploy?.agentcore !== undefined && (typeof c.deploy.agentcore !== "object" || c.deploy.agentcore === null)) {
126
- throw new Error(`${path}: "deploy.agentcore" must be an object`);
127
- }
128
- refuseUnknownKeys(c.deploy?.agentcore ?? {}, ["idleTimeoutSeconds"], "deploy.agentcore.", path);
129
- // AWS's own bounds for idleRuntimeSessionTimeout: a value outside them is rejected by CloudFormation minutes into
130
- // `deploy agentcore --run`, after the image build.
131
- const idle = c.deploy?.agentcore?.idleTimeoutSeconds;
132
- if (idle !== undefined && (!Number.isInteger(idle) || idle < 60 || idle > 1209600)) {
133
- throw new Error(`${path}: "deploy.agentcore.idleTimeoutSeconds" must be an integer 60-1209600 (seconds)`);
134
- }
135
- // apt entries are Debian package names.
136
- validateStringList(c.deploy?.apt, "deploy.apt", /^[a-z0-9][a-z0-9.+-]*$/, "a Debian package name", path);
137
- return { config: c, path };
138
- }
139
- /** The provider prefix of a "provider/modelId" spec. */
140
- export function providerOf(spec) {
141
- const slash = spec.indexOf("/");
142
- return slash > 0 ? spec.slice(0, slash) : spec;
143
- }
144
- /** Resolve "provider/modelId" → a pi Model from `models`, so auth resolves from the same collection. */
145
- export function resolveModel(models, spec) {
146
- const slash = spec.indexOf("/");
147
- if (slash < 1 || slash === spec.length - 1) {
148
- throw new Error(`model must be "provider/modelId" (e.g. "openai-codex/gpt-5.5"), got "${spec}"`);
149
- }
150
- const provider = spec.slice(0, slash);
151
- const modelId = spec.slice(slash + 1);
152
- const model = models.getModel(provider, modelId);
153
- if (!model) {
154
- throw new Error(`unknown model "${spec}" (provider "${provider}" / id "${modelId}" not in registry); run \`fastagent models\` to list ` +
155
- "available specs, or `fastagent models --refresh` in the agent to fetch models newer than the installed pi");
156
- }
157
- return model;
158
- }
159
- /** All registered "provider/modelId" specs in `models`, sorted — the list behind `fastagent models`. */
160
- export function listModels(models) {
161
- const specs = [];
162
- for (const provider of models.getProviders()) {
163
- for (const model of provider.getModels())
164
- specs.push(`${provider.id}/${model.id}`);
165
- }
166
- return specs.sort();
167
- }
168
- /** Rewrite the `model` in a config file's SOURCE TEXT to `spec`, for the first-run picker's write-back. */
169
- export function rewriteConfigModel(src, spec) {
170
- const line = ` model: ${JSON.stringify(spec)},`;
171
- const commented = /^[ \t]*\/\/[ \t]*model:.*$/m;
172
- const active = /^[ \t]*model:[ \t]*["'].*$/m;
173
- if (commented.test(src))
174
- return src.replace(commented, line);
175
- if (active.test(src))
176
- return src.replace(active, line);
177
- // No model line at all — the natural state after "picked once, then hand-deleted the line to reset".
178
- const opener = /^export default[ \t]*\{[ \t]*$/m;
179
- if (opener.test(src))
180
- return src.replace(opener, (open) => `${open}\n${line}`);
181
- return null;
182
- }
183
- /**
184
- * Model selection precedence: CLI flag > FASTAGENT_MODEL env > config default. An EMPTY `FASTAGENT_MODEL` is
185
- * "unset", not "no model": `export FASTAGENT_MODEL=` in a shell or CI job, and an `environment:`/`env` entry that
186
- * interpolates a missing variable, both arrive as `""` — and a set-but-empty value that shadowed `config.model`
187
- * would refuse to start an agent whose config names a model.
188
- */
189
- export function resolveModelSpec(flag, config, env = process.env) {
190
- return flag ?? (env.FASTAGENT_MODEL || config.model);
191
- }
192
- /**
193
- * The refusal of a process that runs the agent here (the CLI's dev/start/invoke/routine run, and chat) when no
194
- * default model resolves. The agent itself opens without one; such a process would fail every new conversation, so it
195
- * stops at startup instead.
196
- */
197
- export function missingDefaultModel() {
198
- return new Error(`missing model: set --model, "model" in fastagent.config.ts, or FASTAGENT_MODEL (e.g. "openai-codex/gpt-5.5")`);
199
- }
@@ -1,170 +0,0 @@
1
- import type { ExecutionEnv, Skill, ThinkingLevel } from "@earendil-works/pi-agent-core";
2
- import { type ModelRuntime } from "@earendil-works/pi-coding-agent";
3
- import type { CredentialStore, Provider } from "@earendil-works/pi-ai";
4
- import type { Agent } from "../../agent.ts";
5
- import { type FastagentConfig } from "./config.ts";
6
- import { type LoadedDefinition } from "./definition.ts";
7
- import type { ModuleLoadFailure } from "../../loader.ts";
8
- import { type ToolCollision, type MountedTool } from "./tool.ts";
9
- import { type DeclaredSecret } from "../../declared-secrets.ts";
10
- import { type PiAgentSessionFactory } from "./invoke-session.ts";
11
- import { type PiAgentSessionFactoryOptions } from "./agent-session-factory.ts";
12
- import { type AnyModel } from "./models.ts";
13
- import { type AgentModels } from "./agent-models.ts";
14
- import { type PiSessionRecordStore } from "./session-store.ts";
15
- import { type Lease, type SessionObserver } from "./turn-kit.ts";
16
- /**
17
- * Every pi coding tool, in canonical order, rooted at the workspace it operates in. pi ships two overlapping groupings
18
- * and neither is the whole set.
19
- */
20
- export declare const CODING_TOOL_NAMES: readonly ["read", "grep", "find", "ls", "bash", "edit", "write"];
21
- export declare function piAllCodingTools(cwd: string): MountedTool[];
22
- /** How the model reaches a mounted tool it is not given up front. */
23
- export type ToolReach = "tool_search" | "codemode" | "hidden" | "inactive" | "unreachable";
24
- /** A mounted authored tool outside the default-active surface, and its way in. */
25
- export interface IndirectTool {
26
- name: string;
27
- reach: ToolReach;
28
- }
29
- /**
30
- * The full directory-agent tool set: all pi coding tools + `config.tools` + discovered `tools/` (deduped, existing
31
- * win), plus the authored names and collisions to report.
32
- */
33
- export declare function resolveAgentTools(config: FastagentConfig, agentDir: string, cwd: string): Promise<{
34
- tools: MountedTool[];
35
- toolNames: string[];
36
- /** Mounted authored tools the model is not given up front, with how each is reached. */
37
- indirectTools: IndirectTool[];
38
- toolCollisions: ToolCollision[];
39
- toolFailures: ModuleLoadFailure[];
40
- /** Env vars the MOUNTED tools declared they need, BY TOOL NAME — a discovered tool shadowed by a
41
- * coding tool or `config.tools` never executes, so its declaration is dropped here rather than
42
- * gating a start. Per tool because a caller that runs exactly ONE of them (`fastagent tool`) must
43
- * not be stopped by a sibling's credential; the serving paths flatten it (they mount all of
44
- * them). DATA: `info` reports it and the deploy pre-flight carries it, while the serving opener
45
- * asserts it (open.ts) — this function must stay reportable. */
46
- toolSecrets: Map<string, DeclaredSecret[]>;
47
- }>;
48
- /**
49
- * FastAgent's own prompt sections (docs/design/agent-model.md §2): what pi's prompt cannot know. Each is a named
50
- * section pi renders after its own, so it holds whoever wrote the rest of the prompt.
51
- */
52
- export declare function fastagentPromptSections(options: {
53
- tools: readonly MountedTool[];
54
- /** The {@link BUILTIN_EXTENSIONS} this machine leaves enabled (`Machine.builtinExtensions`). */
55
- builtinExtensions: readonly string[];
56
- }): Record<string, string>;
57
- /** The assembly, as a value: what every rung builds and what the agent runs on. */
58
- export interface PiAssembly {
59
- lease: Lease;
60
- sessionFactory: PiAgentSessionFactory;
61
- /** Extension-aware catalog for startup reporting and control-plane validation; never bound to a session. */
62
- modelRuntime: () => Promise<ModelRuntime>;
63
- /** A fresh runtime for every session, before loading its extensions. */
64
- createModelRuntime: () => Promise<ModelRuntime>;
65
- /**
66
- * The registry and the default model, resolved on first use (a credential read is async). No model when the
67
- * assembly has no default: each session then runs on the model it records (agent-session-factory.ts).
68
- */
69
- engine: () => Promise<{
70
- modelRuntime: ModelRuntime;
71
- model?: AnyModel;
72
- }>;
73
- /** The configured reasoning effort — the other half of the pair a session without overrides runs on. */
74
- thinkingLevel: ThinkingLevel;
75
- /** The tools every session mounts. */
76
- tools: MountedTool[];
77
- /** Pi built-ins the mounted tools leave out, denied in every session so discovery cannot bring them back. */
78
- excludedToolNames: readonly string[];
79
- /** The prompt and skills a session runs on, read when a session is bound. */
80
- readDefinition: PiAgentSessionFactoryOptions["readDefinition"];
81
- /** The extension entry points every session loads, discovered once with the assembly. */
82
- extensionPaths: readonly string[];
83
- }
84
- /** The agent an assembly runs as: the L0 over its lease and session factory. */
85
- export declare function agentOf(assembly: PiAssembly, observer?: SessionObserver): Agent;
86
- /** L1 options. */
87
- export interface CreatePiAgentOptions {
88
- /** Model spec "provider/modelId" (e.g. "openai-codex/gpt-5.5"), resolved against {@link models}. */
89
- model: string;
90
- /** Reasoning effort (pi's scale). */
91
- thinkingLevel?: ThinkingLevel;
92
- /**
93
- * The system prompt itself — no engine base and no wrapping (unlike the directory path, where pi builds its default
94
- * prompt, or SYSTEM.md replaces it, and AGENTS.md, APPEND_SYSTEM.md and FastAgent's sections are added).
95
- */
96
- instructions?: string | (() => string);
97
- /** The tool set to mount: authored tools or pi's cwd-bound coding tools, both AgentTool. */
98
- tools?: MountedTool[];
99
- skills?: Skill[];
100
- /**
101
- * Extra providers registered on top of the built-ins — your own gateway / self-hosted endpoint / test fake —
102
- * selected by the `model` spec's provider id.
103
- */
104
- providers?: Provider[];
105
- /** Credentials file for stored OAuth/API-key auth (default `GLOBAL_AUTH_PATH`). */
106
- authPath?: string;
107
- /** The caller's own credential store, in place of any file ({@link CredentialSourceOptions}). */
108
- credentialStore?: CredentialStore;
109
- sessions?: PiSessionRecordStore;
110
- /** Supplies the working directory at L1 (default: process.cwd()), which loads no definition. */
111
- env?: ExecutionEnv;
112
- /** Single-writer lease. */
113
- lease?: Lease;
114
- /** Observation-plane tap (session control): every rich session event of every run. */
115
- observer?: SessionObserver;
116
- }
117
- /** L1: assemble from typed parts. */
118
- export declare function createPiAgent(options: CreatePiAgentOptions): Agent;
119
- /** L2 options. */
120
- export interface CreatePiAgentFromDefinitionOptions {
121
- /**
122
- * The default model spec "provider/modelId", resolved against {@link models}. Optional: without it, a session runs
123
- * on the model it records, and one that records none fails its invoke with `missing_model`.
124
- */
125
- model?: string;
126
- /** Reasoning effort (pi's scale). */
127
- thinkingLevel?: ThinkingLevel;
128
- /**
129
- * Replaces pi's default prompt, as `SYSTEM.md` does, and outranks it. Required when `tools` replaces the coding
130
- * tools and the directory has no `SYSTEM.md`: pi's default would claim tools the agent does not have.
131
- */
132
- base?: string;
133
- tools?: MountedTool[];
134
- /**
135
- * The agent's working directory: where the coding tools operate AND whose ancestors are walked for ② project context
136
- * (AGENTS.md).
137
- */
138
- cwd?: string;
139
- /** Extra providers registered on top of the built-ins (your own gateway / self-hosted endpoint). */
140
- providers?: Provider[];
141
- /**
142
- * Credentials file. Unset reads the directory's own layers (`resolveAuthLayers`); a named file is an instruction and
143
- * gets no second layer.
144
- */
145
- authPath?: string;
146
- /** The caller's own credential store, in place of any file ({@link CredentialSourceOptions}). */
147
- credentialStore?: CredentialStore;
148
- sessions?: PiSessionRecordStore;
149
- /** Filesystem/process environment; see {@link CreatePiAgentOptions.env}. */
150
- env?: ExecutionEnv;
151
- lease?: Lease;
152
- /** Observation-plane tap; see {@link CreatePiAgentOptions.observer}. */
153
- observer?: SessionObserver;
154
- }
155
- /**
156
- * L2, as the value: load the directory (base + AGENTS.md + skills + env) and assemble. `models` is the directory's
157
- * model environment when the caller already built it (the opener, whose report must describe what runs); otherwise it
158
- * is built here from the credential options.
159
- */
160
- export declare function assemblePiFromDefinition(dir: string, options: Omit<CreatePiAgentFromDefinitionOptions, "observer"> & {
161
- models?: AgentModels;
162
- }): Promise<{
163
- assembly: PiAssembly;
164
- definition: LoadedDefinition;
165
- }>;
166
- /** L2: "point at a directory → agent": {@link assemblePiFromDefinition} under the L0. */
167
- export declare function createPiAgentFromDefinition(dir: string, options: CreatePiAgentFromDefinitionOptions): Promise<{
168
- agent: Agent;
169
- definition: LoadedDefinition;
170
- }>;