ptbk 0.119.0-16 → 0.119.0-21

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 (330) hide show
  1. package/README.md +27 -9
  2. package/dist/book/commitments.d.ts +38 -10
  3. package/dist/book/commitments.js +61 -17
  4. package/dist/book/commitments.js.map +1 -1
  5. package/dist/book/convert.d.ts +36 -0
  6. package/dist/book/convert.js +156 -0
  7. package/dist/book/convert.js.map +1 -0
  8. package/dist/book/parse.d.ts +50 -13
  9. package/dist/book/parse.js +132 -45
  10. package/dist/book/parse.js.map +1 -1
  11. package/dist/book/references.d.ts +12 -4
  12. package/dist/book/references.js +34 -9
  13. package/dist/book/references.js.map +1 -1
  14. package/dist/book/write.d.ts +42 -0
  15. package/dist/book/write.js +74 -0
  16. package/dist/book/write.js.map +1 -0
  17. package/dist/browser/browser.d.ts +122 -12
  18. package/dist/browser/browser.js +372 -21
  19. package/dist/browser/browser.js.map +1 -1
  20. package/dist/browser/recording.d.ts +3 -3
  21. package/dist/browser/recording.js +5 -5
  22. package/dist/browser/recording.js.map +1 -1
  23. package/dist/chats/chat-book.d.ts +105 -0
  24. package/dist/chats/chat-book.js +180 -0
  25. package/dist/chats/chat-book.js.map +1 -0
  26. package/dist/chats/conversation.d.ts +54 -0
  27. package/dist/chats/conversation.js +188 -0
  28. package/dist/chats/conversation.js.map +1 -0
  29. package/dist/chats/local.d.ts +46 -0
  30. package/dist/chats/local.js +184 -0
  31. package/dist/chats/local.js.map +1 -0
  32. package/dist/chats/migration.d.ts +12 -0
  33. package/dist/chats/migration.js +62 -0
  34. package/dist/chats/migration.js.map +1 -0
  35. package/dist/chats/service.d.ts +81 -0
  36. package/dist/chats/service.js +122 -0
  37. package/dist/chats/service.js.map +1 -0
  38. package/dist/chats/store.d.ts +132 -0
  39. package/dist/chats/store.js +181 -0
  40. package/dist/chats/store.js.map +1 -0
  41. package/dist/chats/task-chats.d.ts +52 -0
  42. package/dist/chats/task-chats.js +96 -0
  43. package/dist/chats/task-chats.js.map +1 -0
  44. package/dist/cli/chats.d.ts +45 -0
  45. package/dist/cli/chats.js +108 -0
  46. package/dist/cli/chats.js.map +1 -0
  47. package/dist/cli/commands/add.js +32 -22
  48. package/dist/cli/commands/add.js.map +1 -1
  49. package/dist/cli/commands/answer.d.ts +2 -1
  50. package/dist/cli/commands/answer.js +35 -41
  51. package/dist/cli/commands/answer.js.map +1 -1
  52. package/dist/cli/commands/ask.d.ts +7 -0
  53. package/dist/cli/commands/ask.js +37 -0
  54. package/dist/cli/commands/ask.js.map +1 -0
  55. package/dist/cli/commands/boilerplates.js +14 -3
  56. package/dist/cli/commands/boilerplates.js.map +1 -1
  57. package/dist/cli/commands/chat.d.ts +9 -0
  58. package/dist/cli/commands/chat.js +89 -0
  59. package/dist/cli/commands/chat.js.map +1 -0
  60. package/dist/cli/commands/dashboard.d.ts +3 -1
  61. package/dist/cli/commands/dashboard.js +41 -3
  62. package/dist/cli/commands/dashboard.js.map +1 -1
  63. package/dist/cli/commands/find.js +6 -8
  64. package/dist/cli/commands/find.js.map +1 -1
  65. package/dist/cli/commands/fix.js +4 -6
  66. package/dist/cli/commands/fix.js.map +1 -1
  67. package/dist/cli/commands/init.d.ts +0 -1
  68. package/dist/cli/commands/init.js +38 -38
  69. package/dist/cli/commands/init.js.map +1 -1
  70. package/dist/cli/commands/lint.js +16 -2
  71. package/dist/cli/commands/lint.js.map +1 -1
  72. package/dist/cli/commands/list.js +21 -13
  73. package/dist/cli/commands/list.js.map +1 -1
  74. package/dist/cli/commands/migrate.d.ts +2 -1
  75. package/dist/cli/commands/migrate.js +70 -24
  76. package/dist/cli/commands/migrate.js.map +1 -1
  77. package/dist/cli/commands/pause.d.ts +8 -0
  78. package/dist/cli/commands/pause.js +40 -0
  79. package/dist/cli/commands/pause.js.map +1 -0
  80. package/dist/cli/commands/plan.js +6 -9
  81. package/dist/cli/commands/plan.js.map +1 -1
  82. package/dist/cli/commands/recover.js +7 -3
  83. package/dist/cli/commands/recover.js.map +1 -1
  84. package/dist/cli/commands/restart.d.ts +3 -1
  85. package/dist/cli/commands/restart.js +74 -18
  86. package/dist/cli/commands/restart.js.map +1 -1
  87. package/dist/cli/commands/resume.d.ts +8 -0
  88. package/dist/cli/commands/resume.js +15 -0
  89. package/dist/cli/commands/resume.js.map +1 -0
  90. package/dist/cli/commands/run.js +6 -9
  91. package/dist/cli/commands/run.js.map +1 -1
  92. package/dist/cli/commands/start.js +40 -36
  93. package/dist/cli/commands/start.js.map +1 -1
  94. package/dist/cli/commands/status.d.ts +2 -1
  95. package/dist/cli/commands/status.js +5 -1
  96. package/dist/cli/commands/status.js.map +1 -1
  97. package/dist/cli/commands/stop.d.ts +3 -1
  98. package/dist/cli/commands/stop.js +18 -8
  99. package/dist/cli/commands/stop.js.map +1 -1
  100. package/dist/cli/commands/verify.js +7 -7
  101. package/dist/cli/commands/verify.js.map +1 -1
  102. package/dist/cli/common.d.ts +13 -0
  103. package/dist/cli/common.js +22 -0
  104. package/dist/cli/common.js.map +1 -1
  105. package/dist/cli/engine-delegation.d.ts +14 -0
  106. package/dist/cli/engine-delegation.js +46 -0
  107. package/dist/cli/engine-delegation.js.map +1 -0
  108. package/dist/cli/lifecycle.d.ts +40 -0
  109. package/dist/cli/lifecycle.js +71 -0
  110. package/dist/cli/lifecycle.js.map +1 -0
  111. package/dist/cli/registry.js +113 -31
  112. package/dist/cli/registry.js.map +1 -1
  113. package/dist/cli/service-view.d.ts +14 -2
  114. package/dist/cli/service-view.js +46 -5
  115. package/dist/cli/service-view.js.map +1 -1
  116. package/dist/cli/sources.js +5 -8
  117. package/dist/cli/sources.js.map +1 -1
  118. package/dist/cli/spec.js +1 -1
  119. package/dist/cli/spec.js.map +1 -1
  120. package/dist/common/app-data.d.ts +9 -0
  121. package/dist/common/app-data.js +20 -0
  122. package/dist/common/app-data.js.map +1 -0
  123. package/dist/common/errors.d.ts +2 -0
  124. package/dist/common/errors.js.map +1 -1
  125. package/dist/common/time.d.ts +6 -0
  126. package/dist/common/time.js +9 -0
  127. package/dist/common/time.js.map +1 -1
  128. package/dist/engine/agenda.d.ts +213 -43
  129. package/dist/engine/agenda.js +846 -260
  130. package/dist/engine/agenda.js.map +1 -1
  131. package/dist/engine/executor.d.ts +23 -7
  132. package/dist/engine/executor.js +131 -84
  133. package/dist/engine/executor.js.map +1 -1
  134. package/dist/engine/generated.d.ts +21 -1
  135. package/dist/engine/generated.js +36 -21
  136. package/dist/engine/generated.js.map +1 -1
  137. package/dist/engine/preview.js +10 -10
  138. package/dist/engine/preview.js.map +1 -1
  139. package/dist/engine/prompt.d.ts +16 -4
  140. package/dist/engine/prompt.js +22 -4
  141. package/dist/engine/prompt.js.map +1 -1
  142. package/dist/engine/routing.js +28 -4
  143. package/dist/engine/routing.js.map +1 -1
  144. package/dist/engine/snapshot.d.ts +178 -29
  145. package/dist/engine/state.d.ts +40 -13
  146. package/dist/engine/state.js +20 -5
  147. package/dist/engine/state.js.map +1 -1
  148. package/dist/engine/task-trace.d.ts +35 -7
  149. package/dist/engine/task-trace.js +74 -15
  150. package/dist/engine/task-trace.js.map +1 -1
  151. package/dist/engine/team.d.ts +20 -7
  152. package/dist/engine/team.js +30 -24
  153. package/dist/engine/team.js.map +1 -1
  154. package/dist/engine/traces.d.ts +1 -1
  155. package/dist/engine/traces.js +1 -1
  156. package/dist/expert/_main.md +67 -52
  157. package/dist/expert/agents/_index.md +11 -13
  158. package/dist/expert/agents/chatter.md +31 -0
  159. package/dist/expert/agents/consistency.md +6 -11
  160. package/dist/expert/agents/core-agents.md +9 -7
  161. package/dist/expert/agents/expert.md +2 -2
  162. package/dist/expert/agents/fixer.md +24 -0
  163. package/dist/expert/agents/learning.md +1 -1
  164. package/dist/expert/agents/non-agents.md +6 -4
  165. package/dist/expert/agents/teacher.md +1 -1
  166. package/dist/expert/agents/visual-identity.md +4 -4
  167. package/dist/expert/book-language/_index.md +9 -8
  168. package/dist/expert/book-language/commitments/_index.md +23 -3
  169. package/dist/expert/book-language/commitments/agent.md +11 -0
  170. package/dist/expert/book-language/commitments/chat-member.md +7 -0
  171. package/dist/expert/book-language/commitments/chat-message.md +11 -0
  172. package/dist/expert/book-language/commitments/chat-status.md +7 -0
  173. package/dist/expert/book-language/commitments/chat.md +11 -0
  174. package/dist/expert/book-language/commitments/entity.md +9 -0
  175. package/dist/expert/book-language/commitments/from.md +1 -1
  176. package/dist/expert/book-language/commitments/goal.md +6 -2
  177. package/dist/expert/book-language/commitments/link.md +9 -0
  178. package/dist/expert/book-language/commitments/task-depends-on.md +1 -1
  179. package/dist/expert/book-language/commitments/task-parent.md +1 -1
  180. package/dist/expert/book-language/commitments/task.md +7 -3
  181. package/dist/expert/book-language/commitments/team.md +1 -1
  182. package/dist/expert/book-language/inheritance.md +2 -2
  183. package/dist/expert/book-language/references.md +20 -24
  184. package/dist/expert/book-language/syntax.md +54 -11
  185. package/dist/expert/cli/acceptance.md +59 -24
  186. package/dist/expert/cli/api.md +23 -9
  187. package/dist/expert/cli/authoring.md +6 -4
  188. package/dist/expert/cli/autonomous-operation.md +3 -3
  189. package/dist/expert/cli/browser.md +29 -18
  190. package/dist/expert/cli/channels.md +5 -7
  191. package/dist/expert/cli/chat-ui.md +32 -0
  192. package/dist/expert/cli/chats.md +59 -0
  193. package/dist/expert/cli/cli.md +44 -26
  194. package/dist/expert/cli/configuration.md +3 -3
  195. package/dist/expert/cli/controls.md +13 -7
  196. package/dist/expert/cli/dashboard-details.md +23 -0
  197. package/dist/expert/cli/dashboard-layout.md +19 -12
  198. package/dist/expert/cli/dashboard.md +12 -8
  199. package/dist/expert/cli/execution.md +8 -6
  200. package/dist/expert/cli/first-task.md +4 -4
  201. package/dist/expert/cli/generated-names.md +44 -0
  202. package/dist/expert/cli/git-persistence.md +19 -17
  203. package/dist/expert/cli/global-dashboard.md +33 -0
  204. package/dist/expert/cli/goal-discovery.md +1 -1
  205. package/dist/expert/cli/help.md +1 -1
  206. package/dist/expert/cli/initialization-ui.md +2 -0
  207. package/dist/expert/cli/initialization.md +9 -7
  208. package/dist/expert/cli/interactive-ui.md +9 -5
  209. package/dist/expert/cli/locking.md +21 -0
  210. package/dist/expert/cli/migration.md +22 -6
  211. package/dist/expert/cli/process-modes.md +21 -13
  212. package/dist/expert/cli/recovery.md +8 -6
  213. package/dist/expert/cli/recurrence.md +1 -1
  214. package/dist/expert/cli/rich-input.md +2 -2
  215. package/dist/expert/cli/service-lifecycle.md +57 -0
  216. package/dist/expert/cli/start.md +2 -2
  217. package/dist/expert/cli/status-view.md +16 -12
  218. package/dist/expert/cli/task-books.md +11 -15
  219. package/dist/expert/cli/task-identity.md +8 -10
  220. package/dist/expert/cli/task-markdown.md +6 -10
  221. package/dist/expert/cli/task-origins.md +3 -1
  222. package/dist/expert/cli/task-relationships.md +5 -9
  223. package/dist/expert/cli/team.md +17 -7
  224. package/dist/expert/cli/terminal.md +20 -12
  225. package/dist/expert/cli/trace-configuration.md +1 -1
  226. package/dist/expert/cli/traces.md +19 -23
  227. package/dist/expert/cli/user-interactions.md +14 -26
  228. package/dist/expert/cli/workspace.md +15 -9
  229. package/dist/expert/concepts/engine-and-project.md +11 -0
  230. package/dist/expert/concepts/project-model.md +39 -0
  231. package/dist/expert/dictionary.md +21 -15
  232. package/dist/harness/plugins/claude-code/index.js +1 -0
  233. package/dist/harness/plugins/claude-code/index.js.map +1 -1
  234. package/dist/harness/plugins/cline/index.js +1 -0
  235. package/dist/harness/plugins/cline/index.js.map +1 -1
  236. package/dist/harness/plugins/openai-codex/index.js +1 -0
  237. package/dist/harness/plugins/openai-codex/index.js.map +1 -1
  238. package/dist/harness/plugins/opencode/index.js +1 -0
  239. package/dist/harness/plugins/opencode/index.js.map +1 -1
  240. package/dist/harness/types.d.ts +3 -1
  241. package/dist/project/agents.d.ts +29 -81
  242. package/dist/project/agents.js +48 -267
  243. package/dist/project/agents.js.map +1 -1
  244. package/dist/project/books.d.ts +150 -0
  245. package/dist/project/books.js +253 -0
  246. package/dist/project/books.js.map +1 -0
  247. package/dist/project/config.js +2 -2
  248. package/dist/project/config.js.map +1 -1
  249. package/dist/project/defaults.d.ts +35 -6
  250. package/dist/project/defaults.js +73 -40
  251. package/dist/project/defaults.js.map +1 -1
  252. package/dist/project/expert.js +18 -10
  253. package/dist/project/expert.js.map +1 -1
  254. package/dist/project/git.d.ts +4 -3
  255. package/dist/project/git.js +16 -5
  256. package/dist/project/git.js.map +1 -1
  257. package/dist/project/setup.d.ts +4 -1
  258. package/dist/project/setup.js +26 -6
  259. package/dist/project/setup.js.map +1 -1
  260. package/dist/service/actions.d.ts +34 -10
  261. package/dist/service/actions.js +51 -19
  262. package/dist/service/actions.js.map +1 -1
  263. package/dist/service/control.d.ts +53 -1
  264. package/dist/service/control.js +64 -4
  265. package/dist/service/control.js.map +1 -1
  266. package/dist/service/discovery.d.ts +133 -0
  267. package/dist/service/discovery.js +138 -0
  268. package/dist/service/discovery.js.map +1 -0
  269. package/dist/service/host.d.ts +8 -1
  270. package/dist/service/host.js +65 -18
  271. package/dist/service/host.js.map +1 -1
  272. package/dist/service/http.d.ts +3 -0
  273. package/dist/service/http.js +26 -6
  274. package/dist/service/http.js.map +1 -1
  275. package/dist/service/launcher.d.ts +66 -13
  276. package/dist/service/launcher.js +78 -18
  277. package/dist/service/launcher.js.map +1 -1
  278. package/dist/service/records.d.ts +12 -2
  279. package/dist/service/records.js +19 -5
  280. package/dist/service/records.js.map +1 -1
  281. package/dist/service/spa/app.css +83 -2
  282. package/dist/service/spa/app.js +393 -72
  283. package/dist/service/supervisor.js +7 -1
  284. package/dist/service/supervisor.js.map +1 -1
  285. package/dist/service/worker.js +14 -5
  286. package/dist/service/worker.js.map +1 -1
  287. package/dist/tasks/authoring.d.ts +3 -5
  288. package/dist/tasks/authoring.js +6 -7
  289. package/dist/tasks/authoring.js.map +1 -1
  290. package/dist/tasks/book-task.d.ts +18 -10
  291. package/dist/tasks/book-task.js +27 -23
  292. package/dist/tasks/book-task.js.map +1 -1
  293. package/dist/tasks/eligibility.d.ts +15 -7
  294. package/dist/tasks/eligibility.js +41 -14
  295. package/dist/tasks/eligibility.js.map +1 -1
  296. package/dist/tasks/identity.d.ts +41 -15
  297. package/dist/tasks/identity.js +100 -31
  298. package/dist/tasks/identity.js.map +1 -1
  299. package/dist/tasks/markdown.d.ts +7 -14
  300. package/dist/tasks/markdown.js +15 -29
  301. package/dist/tasks/markdown.js.map +1 -1
  302. package/dist/tasks/model.d.ts +20 -4
  303. package/dist/tasks/model.js +17 -0
  304. package/dist/tasks/model.js.map +1 -1
  305. package/dist/tasks/sources.d.ts +7 -2
  306. package/dist/tasks/sources.js +46 -35
  307. package/dist/tasks/sources.js.map +1 -1
  308. package/dist/ui/chat-client.d.ts +70 -0
  309. package/dist/ui/chat-client.js +209 -0
  310. package/dist/ui/chat-client.js.map +1 -0
  311. package/dist/ui/dashboard.d.ts +8 -5
  312. package/dist/ui/dashboard.js +227 -86
  313. package/dist/ui/dashboard.js.map +1 -1
  314. package/dist/ui/details.d.ts +64 -0
  315. package/dist/ui/details.js +175 -0
  316. package/dist/ui/details.js.map +1 -0
  317. package/dist/ui/global-dashboard.d.ts +59 -0
  318. package/dist/ui/global-dashboard.js +307 -0
  319. package/dist/ui/global-dashboard.js.map +1 -0
  320. package/dist/ui/status-view.d.ts +7 -0
  321. package/dist/ui/status-view.js +94 -36
  322. package/dist/ui/status-view.js.map +1 -1
  323. package/package.json +1 -1
  324. package/dist/engine/requests.d.ts +0 -111
  325. package/dist/engine/requests.js +0 -173
  326. package/dist/engine/requests.js.map +0 -1
  327. package/dist/expert/book-language/commitments/task-id.md +0 -9
  328. package/dist/tasks/prepare.d.ts +0 -33
  329. package/dist/tasks/prepare.js +0 -90
  330. package/dist/tasks/prepare.js.map +0 -1
@@ -1,277 +1,65 @@
1
- import { readFile, realpath } from 'node:fs/promises';
2
- import { join, resolve, sep } from 'node:path';
3
- import { isPathInside, listDirectory, sha256, toProjectRelative } from '../common/fs.js';
4
- import { commitmentsOf, parseBook, singleValue } from '../book/parse.js';
5
- import { findAgentReferences, nonAgentOf, normalizeAgentName, parseReferenceValue } from '../book/references.js';
1
+ import { withdrawnKeyword } from '../book/commitments.js';
2
+ import { commitmentsOf, singleValue } from '../book/parse.js';
3
+ import { findAgentReferences, normalizeAgentName, parseReferenceValue } from '../book/references.js';
4
+ import { BookIndex } from './books.js';
6
5
  import { expertInstructions } from './expert.js';
7
- import { inspectGit, listIgnoredEntries, listProjectFiles } from './git.js';
8
- import { RUNTIME_DIRECTORY_NAME } from './workspace.js';
9
6
  /**
10
- * Upper bound of files inspected in ignored content (keeps lookup bounded in huge dependency trees).
11
- */
12
- const MAX_IGNORED_FILES = 60_000;
13
- /**
14
- * Directories never searched for agents.
15
- */
16
- const NEVER_SEARCH = new Set(['.git', RUNTIME_DIRECTORY_NAME]);
17
- /**
18
- * Root-level task audit evidence: tracked or ignored, it is never a source of agent definitions.
19
- */
20
- const TRACES_DIRECTORY_NAME = 'traces';
21
- /**
22
- * Whether a path is inside the project's root-level `traces/` evidence directory.
23
- */
24
- function isTraceEvidence(root, path) {
25
- return isPathInside(join(root, TRACES_DIRECTORY_NAME), path);
26
- }
27
- /**
28
- * Recursively collects `.book` files without following directory symlinks.
29
- */
30
- async function walkBooks(directory, root, budget, skipDirectory) {
31
- const found = [];
32
- const stack = [directory];
33
- while (stack.length) {
34
- const current = stack.pop();
35
- for (const entry of await listDirectory(current)) {
36
- if (--budget.files < 0)
37
- return found;
38
- const path = join(current, entry.name);
39
- if (entry.isDirectory) {
40
- if (NEVER_SEARCH.has(entry.name) || skipDirectory(path, entry.name))
41
- continue;
42
- stack.push(path);
43
- }
44
- else if ((entry.isFile || entry.isSymbolicLink) && entry.name.toLowerCase().endsWith('.book')) {
45
- if (entry.isSymbolicLink) {
46
- try {
47
- if (!isPathInside(await realpath(root), await realpath(path)))
48
- continue;
49
- }
50
- catch {
51
- continue;
52
- }
53
- }
54
- found.push(path);
55
- }
56
- }
57
- }
58
- return found;
59
- }
60
- /**
61
- * The project's agent definitions with lazy loading of the ignored tier.
7
+ * Agent view of the project's shared Book index.
62
8
  *
63
9
  * @private agent resolution
64
10
  */
65
11
  export class AgentCatalog {
66
- root;
67
- agentsDirectory;
68
- inGit;
69
- /** Definitions by tier (tier 4 only after `loadIgnoredTier`). */
70
- definitions = [];
71
- /** Problems found while loading. */
72
- diagnostics = [];
73
- /** Whether the ignored tier was searched. */
74
- ignoredLoaded = false;
75
- /** Explanation when the ignored tier search was incomplete. */
76
- ignoredIncomplete;
77
- constructor(
78
- /** Absolute project root. */
79
- root,
80
- /** Absolute agents directory. */
81
- agentsDirectory,
82
- /** Whether the project is in a Git working tree (needed to classify ignored content). */
83
- inGit) {
84
- this.root = root;
85
- this.agentsDirectory = agentsDirectory;
86
- this.inGit = inGit;
12
+ index;
13
+ constructor(index) {
14
+ this.index = index;
87
15
  }
88
- /**
89
- * Loads tiers 2 and 3 of a project (read-only; never creates files).
90
- */
91
- static async load(root, agentsDirectory = 'agents') {
92
- const absoluteAgents = resolve(root, agentsDirectory);
93
- const gitInfo = await inspectGit(root);
94
- const catalog = new AgentCatalog(root, absoluteAgents, gitInfo.state === 'repository');
95
- const budget = { files: MAX_IGNORED_FILES };
96
- for (const path of await walkBooks(absoluteAgents, root, budget, () => false))
97
- await catalog.add(path, 2);
98
- let others;
99
- if (catalog.inGit) {
100
- others = (await listProjectFiles(root)).filter((path) => path.toLowerCase().endsWith('.book'));
101
- }
102
- else {
103
- others = await walkBooks(root, root, budget, (path, name) => name === 'node_modules' || isPathInside(absoluteAgents, path) || isTraceEvidence(root, path));
104
- }
105
- for (const path of others) {
106
- if (isPathInside(absoluteAgents, path) || path.split(sep).includes(RUNTIME_DIRECTORY_NAME) || isTraceEvidence(root, path))
107
- continue;
108
- await catalog.add(path, 3);
109
- }
110
- catalog.validateTiers();
111
- return catalog;
16
+ /** Absolute project root. */
17
+ get root() {
18
+ return this.index.projectRoot;
112
19
  }
113
- /**
114
- * Searches Git-ignored content outside the agents directory (tier 4), once.
115
- */
116
- async loadIgnoredTier() {
117
- if (this.ignoredLoaded)
118
- return;
119
- this.ignoredLoaded = true;
120
- const budget = { files: MAX_IGNORED_FILES };
121
- try {
122
- const entries = this.inGit ? await listIgnoredEntries(this.root) : [join(this.root, 'node_modules')];
123
- for (const entry of entries) {
124
- if (isPathInside(this.agentsDirectory, entry) || entry.split(sep).includes(RUNTIME_DIRECTORY_NAME) || entry.split(sep).includes('.git') || isTraceEvidence(this.root, entry))
125
- continue;
126
- if (entry.toLowerCase().endsWith('.book')) {
127
- await this.add(entry, 4);
128
- continue;
129
- }
130
- for (const path of await walkBooks(entry, this.root, budget, (candidate) => isTraceEvidence(this.root, candidate)))
131
- await this.add(path, 4);
132
- if (budget.files < 0)
133
- break;
134
- }
135
- if (budget.files < 0)
136
- this.ignoredIncomplete = `the ignored-content search stopped after ${MAX_IGNORED_FILES} entries`;
137
- }
138
- catch (error) {
139
- this.ignoredIncomplete = `the ignored-content search failed: ${error.message}`;
140
- }
141
- this.validateTiers();
20
+ /** Absolute agents directory. */
21
+ get agentsDirectory() {
22
+ return this.index.rootPath('agents');
142
23
  }
143
- /**
144
- * Reads one Book and records it when it declares an agent.
145
- */
146
- async add(path, tier) {
147
- const absolute = resolve(path);
148
- if (this.definitions.some((definition) => definition.path === absolute))
149
- return;
150
- let source;
151
- try {
152
- source = await readFile(absolute, 'utf8');
153
- }
154
- catch (error) {
155
- this.diagnostics.push({ path: toProjectRelative(this.root, absolute), line: 0, message: `Unreadable Book: ${error.message}`, severity: 'warning' });
156
- return;
157
- }
158
- const document = parseBook(source);
159
- if (document.kind !== 'agent')
160
- return;
161
- const relativePath = toProjectRelative(this.root, absolute);
162
- const insideAgents = isPathInside(this.agentsDirectory, absolute);
163
- const segments = insideAgents ? toProjectRelative(this.agentsDirectory, absolute).split('/').slice(0, -1) : [];
164
- const definition = {
165
- name: document.name,
166
- normalized: normalizeAgentName(document.name),
167
- path: absolute,
168
- relativePath,
169
- tier,
170
- hidden: segments.some((segment) => segment.startsWith('.')),
171
- core: segments[0] === '.core',
172
- document,
173
- hash: sha256(source),
174
- };
175
- if (!definition.normalized) {
176
- this.diagnostics.push({ path: relativePath, line: document.headerLine + 1, message: 'The agent name is empty after normalization.', severity: 'error' });
177
- return;
178
- }
179
- const reserved = nonAgentOf(definition.normalized);
180
- if (reserved) {
181
- this.diagnostics.push({
182
- path: relativePath,
183
- line: document.headerLine + 1,
184
- message: `"${document.name}" is reserved for the engine-supplied ${reserved}; this file cannot replace it.`,
185
- severity: 'error',
186
- });
187
- return;
188
- }
189
- for (const diagnostic of document.diagnostics)
190
- this.diagnostics.push({ path: relativePath, line: diagnostic.line, message: diagnostic.message, severity: diagnostic.severity });
191
- this.definitions.push(definition);
24
+ /** Problems of the project's Books (shadowed duplicates, malformed sources, reserved names). */
25
+ get diagnostics() {
26
+ return this.index.diagnostics;
192
27
  }
193
28
  /**
194
- * Reports same-tier collisions (they are only errors when the name is resolved at that tier).
29
+ * Loads the project's Books (read-only; never creates files).
195
30
  */
196
- validateTiers() {
197
- const seen = new Set(this.diagnostics.map((diagnostic) => `${diagnostic.path}:${diagnostic.message}`));
198
- const groups = new Map();
199
- for (const definition of this.definitions) {
200
- const key = `${definition.tier}:${definition.normalized}`;
201
- groups.set(key, [...(groups.get(key) ?? []), definition]);
202
- }
203
- for (const group of groups.values()) {
204
- if (group.length < 2)
205
- continue;
206
- const winningTier = this.winningTier(group[0].normalized);
207
- if (winningTier !== group[0].tier)
208
- continue;
209
- const message = `Agent name "${group[0].name}" is defined ${group.length} times in tier ${group[0].tier}: ${group.map((definition) => definition.relativePath).join(', ')}.`;
210
- if (seen.has(`:${message}`))
211
- continue;
212
- this.diagnostics.push({ path: '', line: 0, message, severity: 'error' });
213
- }
31
+ static async load(root, agentsDirectory = 'agents', tasksDirectory = 'tasks') {
32
+ return new AgentCatalog(await BookIndex.load(root, { agents: agentsDirectory, tasks: tasksDirectory }));
214
33
  }
215
- /**
216
- * Lowest (highest-priority) tier defining a normalized name.
217
- */
218
- winningTier(normalized) {
219
- const tiers = this.definitions.filter((definition) => definition.normalized === normalized).map((definition) => definition.tier);
220
- return tiers.length ? Math.min(...tiers) : undefined;
34
+ /** Searches Git-ignored content (tier 4), once. */
35
+ async loadIgnoredTier() {
36
+ await this.index.loadIgnoredTier();
221
37
  }
222
- /**
223
- * All loaded definitions.
224
- */
38
+ /** All loaded agent definitions in resolution order. */
225
39
  all() {
226
- return this.definitions;
40
+ return this.index.all().filter((entry) => entry.kind === 'agent');
227
41
  }
228
42
  /**
229
- * Ordinary project roles: candidates for Manager assignment and goal discovery.
230
- *
231
- * Hidden/core supporting definitions and dependency-provided (ignored) definitions are excluded.
43
+ * Ordinary project roles: winning, non-hidden agents outside ignored content — candidates for Manager assignment,
44
+ * goal discovery and the default chat picker.
232
45
  */
233
46
  ordinary() {
234
- const result = [];
235
- for (const definition of this.definitions) {
236
- if (definition.tier === 4 || definition.hidden)
237
- continue;
238
- const resolution = this.resolveLoaded(definition.normalized);
239
- if (resolution.kind === 'agent' && resolution.definition === definition)
240
- result.push(definition);
241
- }
242
- return result;
47
+ return this.index.winners('agent').filter((entry) => entry.kind === 'agent' && entry.tier !== 4 && !entry.hidden);
243
48
  }
244
49
  /**
245
- * Resolves among loaded tiers only.
246
- */
247
- resolveLoaded(normalized) {
248
- const nonAgent = nonAgentOf(normalized);
249
- if (nonAgent)
250
- return { kind: 'non-agent', name: nonAgent };
251
- for (const tier of [2, 3, 4]) {
252
- const matches = this.definitions.filter((definition) => definition.tier === tier && definition.normalized === normalized);
253
- if (matches.length === 1)
254
- return { kind: 'agent', definition: matches[0] };
255
- if (matches.length > 1)
256
- return { kind: 'ambiguous', tier, candidates: matches };
257
- }
258
- return { kind: 'missing' };
259
- }
260
- /**
261
- * Resolves a reference (`@Name`, `{Name}` or a bare name) through the ordered tiers.
50
+ * Resolves a reference (`@Name`, `{Name}` or a bare name) through the shared ordered resolver.
262
51
  */
263
52
  async resolve(reference) {
264
- const parsed = parseReferenceValue(reference);
265
- if (!parsed)
266
- return { kind: 'invalid', reason: `"${reference}" is not a valid agent reference.` };
267
- const loaded = this.resolveLoaded(parsed.normalized);
268
- if (loaded.kind !== 'missing')
269
- return loaded;
270
- await this.loadIgnoredTier();
271
- const withIgnored = this.resolveLoaded(parsed.normalized);
272
- if (withIgnored.kind === 'missing' && this.ignoredIncomplete)
273
- return { kind: 'missing', incomplete: this.ignoredIncomplete };
274
- return withIgnored;
53
+ const resolution = await this.index.resolve(reference);
54
+ if (resolution.kind !== 'book')
55
+ return resolution;
56
+ if (resolution.entry.kind === 'invalid') {
57
+ const error = resolution.entry.document.diagnostics.find((diagnostic) => diagnostic.severity === 'error');
58
+ return { kind: 'invalid', reason: `${resolution.entry.relativePath} is not a valid Book${error ? `: ${error.message}` : '.'}` };
59
+ }
60
+ if (resolution.entry.kind !== 'agent')
61
+ return { kind: 'wrong-kind', entry: resolution.entry };
62
+ return { kind: 'agent', definition: resolution.entry, shadowed: resolution.shadowed };
275
63
  }
276
64
  }
277
65
  /**
@@ -284,8 +72,8 @@ export function describeResolution(reference, resolution) {
284
72
  case 'agent':
285
73
  case 'non-agent':
286
74
  return undefined;
287
- case 'ambiguous':
288
- return `Agent reference ${reference} is ambiguous in tier ${resolution.tier}: ${resolution.candidates.map((candidate) => candidate.relativePath).join(', ')}.`;
75
+ case 'wrong-kind':
76
+ return `${reference} names the ${resolution.entry.kind} ${resolution.entry.relativePath}, not an agent (the first Book with that name wins).`;
289
77
  case 'missing':
290
78
  return `Agent ${reference} was not found${resolution.incomplete ? ` (lookup incomplete: ${resolution.incomplete})` : ''}.`;
291
79
  case 'invalid':
@@ -295,7 +83,7 @@ export function describeResolution(reference, resolution) {
295
83
  /**
296
84
  * Keywords that are not instructions for the model.
297
85
  */
298
- const NON_INSTRUCTION_KEYWORDS = new Set(['FROM', 'IMPORT', 'OPEN', 'CLOSED', 'NOTE', 'DELETE']);
86
+ const NON_INSTRUCTION_KEYWORDS = new Set(['FROM', 'IMPORT', 'OPEN', 'CLOSED', 'NOTE', 'DELETE', 'ENTITY', 'LINK']);
299
87
  /**
300
88
  * Determines the learning permission declared by an agent's own Book.
301
89
  *
@@ -382,7 +170,7 @@ export async function resolveEffectiveAgent(catalog, reference) {
382
170
  if (parent.name === 'Void')
383
171
  break;
384
172
  if (parent.name === 'User') {
385
- diagnostics.push({ path: current.relativePath, line: (from.commitment?.startLine ?? 0) + 1, message: 'User cannot be an inheritance parent (FROM User is invalid).', severity: 'error' });
173
+ diagnostics.push({ path: current.relativePath, line: (from.commitment?.startLine ?? 0) + 1, message: 'User cannot be an inheritance parent (FROM @User is invalid).', severity: 'error' });
386
174
  break;
387
175
  }
388
176
  current = 'Expert';
@@ -418,8 +206,6 @@ export async function resolveEffectiveAgent(catalog, reference) {
418
206
  */
419
207
  async function localInstructions(catalog, definition, diagnostics, importing) {
420
208
  const result = [];
421
- if (definition.document.intro)
422
- result.push({ keyword: 'PROSE', text: definition.document.intro, agent: definition.name, source: definition.relativePath });
423
209
  for (const commitment of definition.document.commitments) {
424
210
  if (commitment.keyword === 'IMPORT') {
425
211
  const imported = await catalog.resolve(commitment.value);
@@ -440,15 +226,11 @@ async function localInstructions(catalog, definition, diagnostics, importing) {
440
226
  continue;
441
227
  }
442
228
  if (commitment.keyword === 'DELETE') {
443
- result.push({ keyword: 'DELETE', text: commitment.body, agent: definition.name, source: definition.relativePath });
229
+ result.push({ keyword: 'DELETE', text: commitment.body, agent: definition.name, source: definition.relativePath, target: withdrawnKeyword(commitment.written) });
444
230
  continue;
445
231
  }
446
- if (NON_INSTRUCTION_KEYWORDS.has(commitment.keyword) || commitment.definition.scope === 'task') {
447
- if (commitment.definition.kind === 'control' && commitment.continuation) {
448
- result.push({ keyword: 'PROSE', text: commitment.continuation, agent: definition.name, source: definition.relativePath });
449
- }
232
+ if (NON_INSTRUCTION_KEYWORDS.has(commitment.keyword) || commitment.definition.unknown || commitment.definition.scope === 'task' || commitment.definition.scope === 'chat')
450
233
  continue;
451
- }
452
234
  if (commitment.body)
453
235
  result.push({ keyword: commitment.keyword, text: commitment.body, agent: definition.name, source: definition.relativePath });
454
236
  }
@@ -470,9 +252,8 @@ function applyDeletions(instructions, target, diagnostics) {
470
252
  result.push(instruction);
471
253
  continue;
472
254
  }
473
- const match = /^([A-Z][A-Z ]*?)\s+(.*)$/s.exec(instruction.text);
474
- const keyword = match && /^[A-Z ]+$/.test(match[1]) ? match[1].trim() : undefined;
475
- const text = comparable(keyword ? match[2] : instruction.text);
255
+ const keyword = instruction.target;
256
+ const text = comparable(instruction.text);
476
257
  const candidates = result
477
258
  .map((item, index) => ({ item, index }))
478
259
  .filter(({ item }) => (!keyword || item.keyword === keyword) && comparable(item.text) === text);
@@ -507,7 +288,7 @@ export async function validateAgents(catalog) {
507
288
  for (const definition of catalog.all()) {
508
289
  if (definition.tier === 4)
509
290
  continue;
510
- const effective = await resolveEffectiveAgent(catalog, `{${definition.name}}`);
291
+ const effective = await resolveEffectiveAgent(catalog, `{{${definition.name}}}`);
511
292
  if (effective.definition !== definition)
512
293
  continue;
513
294
  for (const diagnostic of effective.diagnostics) {
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/project/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/project/agents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ import { type BookDocument, type EntityKind } from '../book/parse.js';
2
+ import { type NonAgentName } from '../book/references.js';
3
+ /**
4
+ * Conventional root-level directory of chat Books.
5
+ *
6
+ * @private Book index
7
+ */
8
+ export declare const CHATS_DIRECTORY = "chats";
9
+ /**
10
+ * Lookup tier (tier 1 are the engine built-ins).
11
+ *
12
+ * - 2: non-ignored common locations (`agents/`, `tasks/`, `chats/`)
13
+ * - 3: other non-ignored project Books
14
+ * - 4: Git-ignored project content (e.g. `node_modules`)
15
+ *
16
+ * @private Book index
17
+ */
18
+ export type BookTier = 2 | 3 | 4;
19
+ /**
20
+ * Common location of a Book, in resolution order.
21
+ *
22
+ * @private Book index
23
+ */
24
+ export type CommonRoot = 'agents' | 'tasks' | 'chats';
25
+ /**
26
+ * One Book found in the project.
27
+ *
28
+ * @private Book index
29
+ */
30
+ export type BookEntry = {
31
+ /** Declared display name (first nonempty line). */
32
+ readonly name: string;
33
+ /** Normalized name: the logical identity. */
34
+ readonly normalized: string;
35
+ /** Entity kind, or `invalid` when unclassifiable/conflicting. */
36
+ readonly kind: EntityKind | 'invalid';
37
+ /** Absolute path. */
38
+ readonly path: string;
39
+ /** Project-relative POSIX path. */
40
+ readonly relativePath: string;
41
+ /** Lookup tier. */
42
+ readonly tier: BookTier;
43
+ /** Common location, when inside one. */
44
+ readonly root?: CommonRoot;
45
+ /** Nesting depth below its common root (tier 2) or the project root. */
46
+ readonly depth: number;
47
+ /** Inside a hidden directory (supporting definitions such as `agents/.core/`). */
48
+ readonly hidden: boolean;
49
+ /** Inside `agents/.core/`. */
50
+ readonly core: boolean;
51
+ /** Parsed document. */
52
+ readonly document: BookDocument;
53
+ /** Content hash. */
54
+ readonly hash: string;
55
+ };
56
+ /**
57
+ * A problem of the project's Books, located in a file.
58
+ *
59
+ * @private Book index
60
+ */
61
+ export type BookDiagnostic = {
62
+ readonly path: string;
63
+ readonly line: number;
64
+ readonly message: string;
65
+ readonly severity: 'error' | 'warning';
66
+ };
67
+ /**
68
+ * Result of resolving a name.
69
+ *
70
+ * @private Book index
71
+ */
72
+ export type NameResolution = {
73
+ readonly kind: 'non-agent';
74
+ readonly name: NonAgentName;
75
+ } | {
76
+ readonly kind: 'book';
77
+ readonly entry: BookEntry;
78
+ readonly shadowed: readonly BookEntry[];
79
+ } | {
80
+ readonly kind: 'missing';
81
+ readonly incomplete?: string;
82
+ } | {
83
+ readonly kind: 'invalid';
84
+ readonly reason: string;
85
+ };
86
+ /**
87
+ * Deterministic resolution order: tier, shallow before deep, common-root order, then path.
88
+ *
89
+ * @private Book index
90
+ */
91
+ export declare function compareEntries(a: BookEntry, b: BookEntry): number;
92
+ /**
93
+ * Locations of the common Book roots.
94
+ *
95
+ * @private Book index
96
+ */
97
+ export type BookLocations = {
98
+ readonly agents: string;
99
+ readonly tasks: string;
100
+ readonly chats?: string;
101
+ };
102
+ /**
103
+ * Every named Book of a project with one deterministic resolver for agents, tasks and chats.
104
+ *
105
+ * Read-only: discovery never creates or rewrites files. Duplicates are shadowed (first wins) and diagnosed.
106
+ *
107
+ * @private Book index
108
+ */
109
+ export declare class BookIndex {
110
+ /** Absolute project root. */
111
+ readonly projectRoot: string;
112
+ private readonly inGit;
113
+ private readonly entries;
114
+ /** Problems found while indexing. */
115
+ readonly diagnostics: BookDiagnostic[];
116
+ private ignoredLoaded;
117
+ private ignoredIncomplete?;
118
+ private readonly roots;
119
+ private constructor();
120
+ /** Absolute directory of a common root. */
121
+ rootPath(root: CommonRoot): string;
122
+ /**
123
+ * Indexes the non-ignored tiers (2 and 3); the ignored tier is loaded only when a lookup needs it.
124
+ */
125
+ static load(projectRoot: string, locations?: BookLocations): Promise<BookIndex>;
126
+ /** Paths never indexed: runtime state, traces evidence and task templates. */
127
+ private excluded;
128
+ /**
129
+ * Reads and classifies one Book.
130
+ */
131
+ private add;
132
+ /** Sorts entries and reports shadowed duplicates. */
133
+ private finish;
134
+ /**
135
+ * Loads Git-ignored content (tier 4) once, bounded.
136
+ */
137
+ loadIgnoredTier(): Promise<void>;
138
+ /** Every indexed Book in resolution order. */
139
+ all(): readonly BookEntry[];
140
+ /** Books of one kind that win their name (not shadowed). */
141
+ winners(kind?: EntityKind): BookEntry[];
142
+ /** The winning Book of a normalized name among loaded tiers. */
143
+ winnerOf(normalized: string): BookEntry | undefined;
144
+ /** Normalized names of every loaded Book (for distinct new names). */
145
+ names(): Set<string>;
146
+ /**
147
+ * Resolves a reference (`@Name`, `{Name}` or a bare name): built-ins, then the ordered tiers; first match wins.
148
+ */
149
+ resolve(reference: string): Promise<NameResolution>;
150
+ }