@vibesdotdev/code-sessions 0.0.0-stage → 1.0.0-rc.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 (217) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +165 -2
  3. package/dist/agent/coordinator.agent.descriptor.d.ts +69 -0
  4. package/dist/agent/coordinator.agent.descriptor.d.ts.map +1 -0
  5. package/dist/agent/coordinator.agent.descriptor.js +60 -0
  6. package/dist/agent/coordinator.agent.descriptor.js.map +1 -0
  7. package/dist/agent/coordinator.prompt.descriptor.d.ts +135 -0
  8. package/dist/agent/coordinator.prompt.descriptor.d.ts.map +1 -0
  9. package/dist/agent/coordinator.prompt.descriptor.js +29 -0
  10. package/dist/agent/coordinator.prompt.descriptor.js.map +1 -0
  11. package/dist/agent/coordinator.system-prompt.d.ts +3 -0
  12. package/dist/agent/coordinator.system-prompt.d.ts.map +1 -0
  13. package/dist/agent/coordinator.system-prompt.js +18 -0
  14. package/dist/agent/coordinator.system-prompt.js.map +1 -0
  15. package/dist/agent/developer.agent.descriptor.d.ts +74 -0
  16. package/dist/agent/developer.agent.descriptor.d.ts.map +1 -0
  17. package/dist/agent/developer.agent.descriptor.js +138 -0
  18. package/dist/agent/developer.agent.descriptor.js.map +1 -0
  19. package/dist/agent/developer.prompt.descriptor.d.ts +137 -0
  20. package/dist/agent/developer.prompt.descriptor.d.ts.map +1 -0
  21. package/dist/agent/developer.prompt.descriptor.js +29 -0
  22. package/dist/agent/developer.prompt.descriptor.js.map +1 -0
  23. package/dist/agent/reviewer.agent.descriptor.d.ts +69 -0
  24. package/dist/agent/reviewer.agent.descriptor.d.ts.map +1 -0
  25. package/dist/agent/reviewer.agent.descriptor.js +60 -0
  26. package/dist/agent/reviewer.agent.descriptor.js.map +1 -0
  27. package/dist/agent/reviewer.prompt.descriptor.d.ts +135 -0
  28. package/dist/agent/reviewer.prompt.descriptor.d.ts.map +1 -0
  29. package/dist/agent/reviewer.prompt.descriptor.js +29 -0
  30. package/dist/agent/reviewer.prompt.descriptor.js.map +1 -0
  31. package/dist/agent/reviewer.system-prompt.d.ts +3 -0
  32. package/dist/agent/reviewer.system-prompt.d.ts.map +1 -0
  33. package/dist/agent/reviewer.system-prompt.js +17 -0
  34. package/dist/agent/reviewer.system-prompt.js.map +1 -0
  35. package/dist/agent/system-prompt.d.ts +12 -0
  36. package/dist/agent/system-prompt.d.ts.map +1 -0
  37. package/dist/agent/system-prompt.js +28 -0
  38. package/dist/agent/system-prompt.js.map +1 -0
  39. package/dist/api/code-sessions.api-client.descriptor.d.ts +25 -0
  40. package/dist/api/code-sessions.api-client.descriptor.d.ts.map +1 -0
  41. package/dist/api/code-sessions.api-client.descriptor.js +26 -0
  42. package/dist/api/code-sessions.api-client.descriptor.js.map +1 -0
  43. package/dist/api/code-sessions.api-client.impl.d.ts +156 -0
  44. package/dist/api/code-sessions.api-client.impl.d.ts.map +1 -0
  45. package/dist/api/code-sessions.api-client.impl.js +852 -0
  46. package/dist/api/code-sessions.api-client.impl.js.map +1 -0
  47. package/dist/api/code-sessions.api-client.schemas.d.ts +2 -0
  48. package/dist/api/code-sessions.api-client.schemas.d.ts.map +1 -0
  49. package/dist/api/code-sessions.api-client.schemas.js +2 -0
  50. package/dist/api/code-sessions.api-client.schemas.js.map +1 -0
  51. package/dist/api/code-sessions.api-client.types.d.ts +252 -0
  52. package/dist/api/code-sessions.api-client.types.d.ts.map +1 -0
  53. package/dist/api/code-sessions.api-client.types.js +77 -0
  54. package/dist/api/code-sessions.api-client.types.js.map +1 -0
  55. package/dist/api/index.d.ts +13 -0
  56. package/dist/api/index.d.ts.map +1 -0
  57. package/dist/api/index.js +20 -0
  58. package/dist/api/index.js.map +1 -0
  59. package/dist/capability.d.ts +9 -0
  60. package/dist/capability.d.ts.map +1 -0
  61. package/dist/capability.js +9 -0
  62. package/dist/capability.js.map +1 -0
  63. package/dist/catalog/index.d.ts +2 -0
  64. package/dist/catalog/index.d.ts.map +1 -0
  65. package/dist/catalog/index.js +2 -0
  66. package/dist/catalog/index.js.map +1 -0
  67. package/dist/catalog/session-catalog.d.ts +131 -0
  68. package/dist/catalog/session-catalog.d.ts.map +1 -0
  69. package/dist/catalog/session-catalog.impl.consumer.worker.d.ts +113 -0
  70. package/dist/catalog/session-catalog.impl.consumer.worker.d.ts.map +1 -0
  71. package/dist/catalog/session-catalog.impl.consumer.worker.js +32 -0
  72. package/dist/catalog/session-catalog.impl.consumer.worker.js.map +1 -0
  73. package/dist/catalog/session-catalog.js +126 -0
  74. package/dist/catalog/session-catalog.js.map +1 -0
  75. package/dist/clock/clock.client.d.ts +18 -0
  76. package/dist/clock/clock.client.d.ts.map +1 -0
  77. package/dist/clock/clock.client.js +43 -0
  78. package/dist/clock/clock.client.js.map +1 -0
  79. package/dist/code-sessions.consumer.plugin.d.ts +4 -0
  80. package/dist/code-sessions.consumer.plugin.d.ts.map +1 -0
  81. package/dist/code-sessions.consumer.plugin.js +16 -0
  82. package/dist/code-sessions.consumer.plugin.js.map +1 -0
  83. package/dist/code-sessions.plugin.d.ts +15 -0
  84. package/dist/code-sessions.plugin.d.ts.map +1 -0
  85. package/dist/code-sessions.plugin.js +65 -0
  86. package/dist/code-sessions.plugin.js.map +1 -0
  87. package/dist/config/index.d.ts +9 -0
  88. package/dist/config/index.d.ts.map +1 -0
  89. package/dist/config/index.js +9 -0
  90. package/dist/config/index.js.map +1 -0
  91. package/dist/config/preparation.d.ts +2 -0
  92. package/dist/config/preparation.d.ts.map +1 -0
  93. package/dist/config/preparation.js +2 -0
  94. package/dist/config/preparation.js.map +1 -0
  95. package/dist/docs/code-sessions.docs.descriptor.d.ts +4 -0
  96. package/dist/docs/code-sessions.docs.descriptor.d.ts.map +1 -0
  97. package/dist/docs/code-sessions.docs.descriptor.js +241 -0
  98. package/dist/docs/code-sessions.docs.descriptor.js.map +1 -0
  99. package/dist/index.d.ts +26 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +28 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/pull-request-plan.d.ts +68 -0
  104. package/dist/pull-request-plan.d.ts.map +1 -0
  105. package/dist/pull-request-plan.js +94 -0
  106. package/dist/pull-request-plan.js.map +1 -0
  107. package/dist/schemas/preparation.d.ts +51 -0
  108. package/dist/schemas/preparation.d.ts.map +1 -0
  109. package/dist/schemas/preparation.js +20 -0
  110. package/dist/schemas/preparation.js.map +1 -0
  111. package/dist/schemas/requests.d.ts +411 -0
  112. package/dist/schemas/requests.d.ts.map +1 -0
  113. package/dist/schemas/requests.js +87 -0
  114. package/dist/schemas/requests.js.map +1 -0
  115. package/dist/schemas/responses.d.ts +275 -0
  116. package/dist/schemas/responses.d.ts.map +1 -0
  117. package/dist/schemas/responses.js +90 -0
  118. package/dist/schemas/responses.js.map +1 -0
  119. package/dist/svelte/actions.d.ts +70 -0
  120. package/dist/svelte/actions.d.ts.map +1 -0
  121. package/dist/svelte/actions.js +280 -0
  122. package/dist/svelte/clock.svelte.d.ts +6 -0
  123. package/dist/svelte/clock.svelte.d.ts.map +1 -0
  124. package/dist/svelte/clock.svelte.js +33 -0
  125. package/dist/svelte/components/CreateSessionDialog.svelte +470 -0
  126. package/dist/svelte/components/CreateSessionDialog.svelte.d.ts +57 -0
  127. package/dist/svelte/components/CreateSessionDialog.svelte.d.ts.map +1 -0
  128. package/dist/svelte/components/SessionCard.svelte +216 -0
  129. package/dist/svelte/components/SessionCard.svelte.d.ts +27 -0
  130. package/dist/svelte/components/SessionCard.svelte.d.ts.map +1 -0
  131. package/dist/svelte/components/SessionList.svelte +86 -0
  132. package/dist/svelte/components/SessionList.svelte.d.ts +23 -0
  133. package/dist/svelte/components/SessionList.svelte.d.ts.map +1 -0
  134. package/dist/svelte/components/SessionSeed.svelte +60 -0
  135. package/dist/svelte/components/SessionSeed.svelte.d.ts +9 -0
  136. package/dist/svelte/components/SessionSeed.svelte.d.ts.map +1 -0
  137. package/dist/svelte/components/TranscriptView.svelte +360 -0
  138. package/dist/svelte/components/TranscriptView.svelte.d.ts +26 -0
  139. package/dist/svelte/components/TranscriptView.svelte.d.ts.map +1 -0
  140. package/dist/svelte/create-session-form.d.ts +84 -0
  141. package/dist/svelte/create-session-form.d.ts.map +1 -0
  142. package/dist/svelte/create-session-form.js +107 -0
  143. package/dist/svelte/index.d.ts +20 -0
  144. package/dist/svelte/index.d.ts.map +1 -0
  145. package/dist/svelte/index.js +18 -0
  146. package/dist/svelte/live-session.d.ts +156 -0
  147. package/dist/svelte/live-session.d.ts.map +1 -0
  148. package/dist/svelte/live-session.js +152 -0
  149. package/dist/svelte/loaders.d.ts +74 -0
  150. package/dist/svelte/loaders.d.ts.map +1 -0
  151. package/dist/svelte/loaders.js +124 -0
  152. package/dist/svelte/outcome.d.ts +46 -0
  153. package/dist/svelte/outcome.d.ts.map +1 -0
  154. package/dist/svelte/outcome.js +49 -0
  155. package/dist/svelte/relative-time.d.ts +32 -0
  156. package/dist/svelte/relative-time.d.ts.map +1 -0
  157. package/dist/svelte/relative-time.js +51 -0
  158. package/dist/svelte/session-list-item.d.ts +23 -0
  159. package/dist/svelte/session-list-item.d.ts.map +1 -0
  160. package/dist/svelte/session-list-item.js +1 -0
  161. package/dist/svelte/styles.css +8 -0
  162. package/dist/svelte/transcript-input.d.ts +45 -0
  163. package/dist/svelte/transcript-input.d.ts.map +1 -0
  164. package/dist/svelte/transcript-input.js +188 -0
  165. package/dist/tui/code-sessions-tui.plugin.d.ts +10 -0
  166. package/dist/tui/code-sessions-tui.plugin.d.ts.map +1 -0
  167. package/dist/tui/code-sessions-tui.plugin.js +29 -0
  168. package/dist/tui/code-sessions-tui.plugin.js.map +1 -0
  169. package/dist/tui/code-sessions.tui-app.descriptor.d.ts +7 -0
  170. package/dist/tui/code-sessions.tui-app.descriptor.d.ts.map +1 -0
  171. package/dist/tui/code-sessions.tui-app.descriptor.js +30 -0
  172. package/dist/tui/code-sessions.tui-app.descriptor.js.map +1 -0
  173. package/dist/tui/code-sessions.tui-app.impl.consumer.d.ts +14 -0
  174. package/dist/tui/code-sessions.tui-app.impl.consumer.d.ts.map +1 -0
  175. package/dist/tui/code-sessions.tui-app.impl.consumer.js +453 -0
  176. package/dist/tui/code-sessions.tui-app.impl.consumer.js.map +1 -0
  177. package/dist/tui/code-sessions.tui-client.d.ts +22 -0
  178. package/dist/tui/code-sessions.tui-client.d.ts.map +1 -0
  179. package/dist/tui/code-sessions.tui-client.js +95 -0
  180. package/dist/tui/code-sessions.tui-client.js.map +1 -0
  181. package/dist/tui/code-sessions.tui-open.descriptor.d.ts +7 -0
  182. package/dist/tui/code-sessions.tui-open.descriptor.d.ts.map +1 -0
  183. package/dist/tui/code-sessions.tui-open.descriptor.js +16 -0
  184. package/dist/tui/code-sessions.tui-open.descriptor.js.map +1 -0
  185. package/dist/tui/code-sessions.tui-open.impl.consumer.d.ts +7 -0
  186. package/dist/tui/code-sessions.tui-open.impl.consumer.d.ts.map +1 -0
  187. package/dist/tui/code-sessions.tui-open.impl.consumer.js +11 -0
  188. package/dist/tui/code-sessions.tui-open.impl.consumer.js.map +1 -0
  189. package/dist/tui/code-sessions.tui-state.descriptor.d.ts +16 -0
  190. package/dist/tui/code-sessions.tui-state.descriptor.d.ts.map +1 -0
  191. package/dist/tui/code-sessions.tui-state.descriptor.js +50 -0
  192. package/dist/tui/code-sessions.tui-state.descriptor.js.map +1 -0
  193. package/dist/tui/code-sessions.tui-state.impl.consumer.d.ts +30 -0
  194. package/dist/tui/code-sessions.tui-state.impl.consumer.d.ts.map +1 -0
  195. package/dist/tui/code-sessions.tui-state.impl.consumer.js +533 -0
  196. package/dist/tui/code-sessions.tui-state.impl.consumer.js.map +1 -0
  197. package/dist/tui/code-sessions.tui-state.key.d.ts +322 -0
  198. package/dist/tui/code-sessions.tui-state.key.d.ts.map +1 -0
  199. package/dist/tui/code-sessions.tui-state.key.js +104 -0
  200. package/dist/tui/code-sessions.tui-state.key.js.map +1 -0
  201. package/dist/tui/index.d.ts +9 -0
  202. package/dist/tui/index.d.ts.map +1 -0
  203. package/dist/tui/index.js +8 -0
  204. package/dist/tui/index.js.map +1 -0
  205. package/dist/workspace/index.d.ts +2 -0
  206. package/dist/workspace/index.d.ts.map +1 -0
  207. package/dist/workspace/index.js +2 -0
  208. package/dist/workspace/index.js.map +1 -0
  209. package/dist/workspace/workspace-binding.d.ts +74 -0
  210. package/dist/workspace/workspace-binding.d.ts.map +1 -0
  211. package/dist/workspace/workspace-binding.impl.consumer.worker.d.ts +17 -0
  212. package/dist/workspace/workspace-binding.impl.consumer.worker.d.ts.map +1 -0
  213. package/dist/workspace/workspace-binding.impl.consumer.worker.js +134 -0
  214. package/dist/workspace/workspace-binding.impl.consumer.worker.js.map +1 -0
  215. package/dist/workspace/workspace-binding.js +72 -0
  216. package/dist/workspace/workspace-binding.js.map +1 -0
  217. package/package.json +238 -4
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Developer — the platform's system-owned coding agent.
3
+ *
4
+ * The agent a person gets when they open Code mode and do not pick anyone. Until
5
+ * now that list offered a general chat agent, a customer's own org assistant, and
6
+ * the onboarding concierge — nobody whose job is writing code. Marshal is the
7
+ * shape this follows (a runtime-discovered, system-owned, public Chat agent whose
8
+ * identity lives on the descriptor so every surface behaves the same); the job is
9
+ * different.
10
+ *
11
+ * It lives in `code-sessions` because that package owns the code-session product
12
+ * surface. An agent whose whole purpose is to work inside a session belongs with
13
+ * the feature that owns sessions, the way Marshal belongs with `workboard` and
14
+ * Druid with `druid`.
15
+ */
16
+ import { AIAgentInstanceDescriptorSchema } from '@vibesdotdev/ai-schemas/agents/schemas/descriptor';
17
+ import { AI_AGENT_PRIMARY_LOOP_ID } from '@vibesdotdev/ai-schemas/agents/constants';
18
+ import { developerAgentSystemPrompt } from "./system-prompt.js";
19
+ export const developerAgentDescriptor = AIAgentInstanceDescriptorSchema.parse({
20
+ id: 'developer',
21
+ name: 'Developer',
22
+ description: 'Writes, runs and ships code in a workspace bound to a repository. Reads the code, ' +
23
+ 'makes the change, runs the tests, and opens a pull request.',
24
+ agentType: 'chat',
25
+ loopId: AI_AGENT_PRIMARY_LOOP_ID,
26
+ sourceType: 'system',
27
+ version: '1.0.0',
28
+ // Deliberately inherit the user's runtime-owned default provider and model.
29
+ // This descriptor runs on consumer and cloud hardware, so pinning either
30
+ // environment's transport here makes the other one unrunnable. Role and
31
+ // complexity stay vendor-neutral through the agent's effort setting below;
32
+ // an explicit per-request override still wins before the default is resolved.
33
+ configuration: {
34
+ temperature: 0.2,
35
+ streaming: true,
36
+ enableToolCalls: true,
37
+ enableThinking: false,
38
+ memoryType: 'buffer',
39
+ memorySize: 160,
40
+ toolSelectionStrategy: 'auto',
41
+ // The setting a person is most likely to want to change on this agent, and
42
+ // the reason `effort` exists on the descriptor at all. `medium` is the
43
+ // honest default: high enough to plan a multi-file change, low enough that
44
+ // the default coding agent is not the most expensive thing on the platform.
45
+ // Raise it per agent (a user copy) or per request.
46
+ effort: 'medium',
47
+ checkpointEnabled: true
48
+ },
49
+ promptTemplate: developerAgentSystemPrompt,
50
+ tools: [
51
+ // Complete coding surface, ordered by use. Each entry names its real
52
+ // hardware boundary so a cloud loop never advertises a consumer limb.
53
+ { source: 'system', toolId: 'file-read', enabled: true, order: 1 },
54
+ { source: 'system', toolId: 'file-write', enabled: true, order: 2 },
55
+ { source: 'system', toolId: 'run-command', enabled: true, order: 4 },
56
+ { source: 'system', toolId: 'git', enabled: true, order: 5 },
57
+ { source: 'system', toolId: 'preview-url', enabled: true, order: 6 },
58
+ { source: 'system', toolId: 'sandbox-execute', enabled: true, order: 7 },
59
+ { source: 'system', toolId: 'code-session-git', enabled: true, order: 7, hardware: ['consumer'] },
60
+ { source: 'system', toolId: 'code-session-state', enabled: true, order: 8, hardware: ['consumer'] },
61
+ { source: 'system', toolId: 'code-session-todo', enabled: true, order: 9, hardware: ['consumer'] },
62
+ { source: 'system', toolId: 'code-session-workspace', enabled: true, order: 10, hardware: ['consumer'] },
63
+ { source: 'system', toolId: 'forge-list-repos', enabled: true, order: 11 },
64
+ { source: 'system', toolId: 'forge-read-file', enabled: true, order: 12 },
65
+ { source: 'system', toolId: 'forge-issue-list', enabled: true, order: 13 },
66
+ { source: 'system', toolId: 'forge-issue-get', enabled: true, order: 14 },
67
+ { source: 'system', toolId: 'forge-issue-search', enabled: true, order: 15 },
68
+ { source: 'system', toolId: 'forge-issue-create', enabled: true, order: 16 },
69
+ { source: 'system', toolId: 'forge-issue-update', enabled: true, order: 17 },
70
+ { source: 'system', toolId: 'forge-issue-comment', enabled: true, order: 18 },
71
+ { source: 'system', toolId: 'forge-issue-comments-list', enabled: true, order: 19 },
72
+ { source: 'system', toolId: 'forge-issue-close', enabled: true, order: 20 },
73
+ { source: 'system', toolId: 'forge-pr-create-from-branch', enabled: true, order: 21 },
74
+ { source: 'system', toolId: 'forge-pr-create', enabled: true, order: 22 },
75
+ { source: 'system', toolId: 'forge-pr-update', enabled: true, order: 23 },
76
+ { source: 'system', toolId: 'forge-pr-get', enabled: true, order: 24 },
77
+ { source: 'system', toolId: 'forge-pr-list', enabled: true, order: 25 },
78
+ { source: 'system', toolId: 'forge-pr-files', enabled: true, order: 26 },
79
+ { source: 'system', toolId: 'forge-pr-search', enabled: true, order: 27 },
80
+ { source: 'system', toolId: 'forge-pr-review-comment', enabled: true, order: 28 },
81
+ { source: 'system', toolId: 'forge-pr-merge-status', enabled: true, order: 29 },
82
+ { source: 'system', toolId: 'docs', enabled: true, order: 30 },
83
+ { source: 'system', toolId: 'knowledge-search', enabled: true, order: 31 },
84
+ { source: 'system', toolId: 'knowledge-remember', enabled: true, order: 32 },
85
+ { source: 'system', toolId: 'web-search', enabled: true, order: 33 },
86
+ { source: 'system', toolId: 'search', enabled: true, order: 34 },
87
+ { source: 'system', toolId: 'fetch', enabled: true, order: 35 },
88
+ { source: 'system', toolId: 'context7-docs', enabled: true, order: 36 },
89
+ { source: 'system', toolId: 'context7-search', enabled: true, order: 37 },
90
+ { source: 'system', toolId: 'workspace-search', enabled: true, order: 38, hardware: ['consumer'] },
91
+ { source: 'system', toolId: 'workspace-atlas', enabled: true, order: 39, hardware: ['consumer'] },
92
+ { source: 'system', toolId: 'reasoning', enabled: true, order: 40 },
93
+ { source: 'system', toolId: 'calculate', enabled: true, order: 41 },
94
+ { source: 'system', toolId: 'vibes-work', enabled: true, order: 42 },
95
+ { source: 'system', toolId: 'generation-context', enabled: true, order: 43 },
96
+ { source: 'system', toolId: 'tool-help', enabled: true, order: 44 },
97
+ { source: 'system', toolId: 'tool-search', enabled: true, order: 45 },
98
+ // ── consumer-only below ─────────────────────────────────────────────
99
+ // These register only in a consumer runtime scope. Declared with an
100
+ // explicit hardware constraint so a cloud run does not advertise a limb
101
+ // it cannot move — an unresolvable entry is dropped silently by the
102
+ // loop, which is how an agent ends up quietly weaker than its config.
103
+ { source: 'system', toolId: 'workspace-fs', enabled: true, order: 46, hardware: ['consumer'] },
104
+ { source: 'system', toolId: 'workspace-lsp', enabled: true, order: 47, hardware: ['consumer'] },
105
+ { source: 'system', toolId: 'workspace-rules', enabled: true, order: 48, hardware: ['consumer'] },
106
+ { source: 'system', toolId: 'workspace-lock', enabled: true, order: 49, hardware: ['consumer'] },
107
+ { source: 'system', toolId: 'session', enabled: true, order: 50, hardware: ['consumer'] },
108
+ { source: 'system', toolId: 'session-todo', enabled: true, order: 51, hardware: ['consumer'] },
109
+ { source: 'system', toolId: 'session-scratchpad', enabled: true, order: 52, hardware: ['consumer'] },
110
+ { source: 'system', toolId: 'session-workspace', enabled: true, order: 53, hardware: ['consumer'] },
111
+ { source: 'system', toolId: 'knowledge', enabled: true, order: 54, hardware: ['consumer'] },
112
+ { source: 'system', toolId: 'terminal', enabled: true, order: 55, hardware: ['consumer'] },
113
+ // The unit's own checks run as the runbooks owner runs them (`system:check-execute`); a public agent binds no internal tool.
114
+ { source: 'system', toolId: 'runbook', enabled: true, order: 56, hardware: ['consumer'] },
115
+ { source: 'system', toolId: 'browser', enabled: true, order: 57, hardware: ['consumer'] },
116
+ { source: 'system', toolId: 'spawn-subagent', enabled: true, order: 58, hardware: ['consumer'] },
117
+ { source: 'system', toolId: 'agent-execution', enabled: true, order: 59, hardware: ['consumer'] },
118
+ { source: 'system', toolId: 'request-approval', enabled: true, order: 60 }
119
+ ],
120
+ /**
121
+ * The list above is a FLOOR, not a ceiling.
122
+ *
123
+ * `resolveEffectiveToolIds` treats an EMPTY tool list as "no tools", not as
124
+ * "all tools", so an agent that declares nothing gets nothing. The set is
125
+ * therefore explicit — but Code mode no longer REPLACES it (it used to pass
126
+ * `inheritAgentTools: false` with a 10-entry allowList, capping this agent at
127
+ * 10 of 128 registered tools), so a user's own copy of this agent can add to
128
+ * it, and a restriction is expressed where restrictions belong: on that copy,
129
+ * or in tool settings.
130
+ */
131
+ capabilityCeiling: '2b',
132
+ hardware: ['consumer', 'cloud'],
133
+ isPublic: true,
134
+ enabled: true,
135
+ tags: ['developer', 'code', 'engineering', 'default']
136
+ });
137
+ export default developerAgentDescriptor;
138
+ //# sourceMappingURL=developer.agent.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"developer.agent.descriptor.js","sourceRoot":"","sources":["../../src/agent/developer.agent.descriptor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Developer agent system prompt, projected onto `prompts/manifest`.
3
+ *
4
+ * code-sessions owns this content. The catalog reads it so
5
+ * `vibes prompts show developer` and the native tool loop resolve the same
6
+ * identity. Chat Code mode must not replace it.
7
+ */
8
+ export declare const developerPromptManifest: {
9
+ id: string;
10
+ version: string;
11
+ name: string;
12
+ description: string;
13
+ type: "system";
14
+ category: "development";
15
+ tags: string[];
16
+ scope: "builtin";
17
+ isPublic: boolean;
18
+ generator: "static";
19
+ content: string;
20
+ metadata: {
21
+ author: string;
22
+ source: string;
23
+ };
24
+ };
25
+ export declare const developerPromptManifestDescriptor: {
26
+ id: string;
27
+ kind: "prompts/manifest";
28
+ owner: string;
29
+ manifest: {
30
+ id: string;
31
+ version: string;
32
+ name: string;
33
+ description: string;
34
+ type: "system" | "workflow" | "specialist" | "tool" | "extraction";
35
+ tags: string[];
36
+ scope: "user" | "shared" | "builtin" | "project";
37
+ isPublic: boolean;
38
+ content: string;
39
+ generator: "static" | "template" | "dynamic";
40
+ category?: "custom" | "generation" | "extraction" | "development" | "knowledge" | "chat" | "analysis" | "validation" | undefined;
41
+ ownerId?: string | undefined;
42
+ projectId?: string | undefined;
43
+ sections?: {
44
+ key: string;
45
+ title: string;
46
+ content: string;
47
+ order: number;
48
+ collapsible: boolean;
49
+ conditional?: string | undefined;
50
+ }[] | undefined;
51
+ contentPath?: string | undefined;
52
+ tools?: string[] | undefined;
53
+ contextRequired?: string[] | undefined;
54
+ modelConfig?: {
55
+ model?: string | undefined;
56
+ temperature?: number | undefined;
57
+ maxTokens?: number | undefined;
58
+ topP?: number | undefined;
59
+ stopSequences?: string[] | undefined;
60
+ } | undefined;
61
+ knowledgeBaseIds?: string[] | undefined;
62
+ dependencies?: string[] | undefined;
63
+ composedWith?: string[] | undefined;
64
+ inject?: "tools"[] | undefined;
65
+ arguments?: {
66
+ name: string;
67
+ description: string;
68
+ type: "string" | "number" | "boolean" | "file" | "select" | "multiselect" | "text" | "json";
69
+ required: boolean;
70
+ default?: unknown;
71
+ options?: {
72
+ label: string;
73
+ value: string;
74
+ description?: string | undefined;
75
+ }[] | undefined;
76
+ validation?: string | undefined;
77
+ placeholder?: string | undefined;
78
+ }[] | undefined;
79
+ templateEngine?: "handlebars" | "mustache" | "native" | undefined;
80
+ transform?: {
81
+ inputSchema?: Record<string, unknown> | undefined;
82
+ transformPath?: string | undefined;
83
+ transformSpread?: {
84
+ spreadFrom?: ("data" | "user" | "project" | "session")[] | undefined;
85
+ assigns?: Record<string, {
86
+ literal: import("@vibesdotdev/kernel/bootstrap").JsonValue;
87
+ } | {
88
+ path: string;
89
+ }> | undefined;
90
+ } | undefined;
91
+ } | undefined;
92
+ versions?: {
93
+ version: string;
94
+ createdAt: string;
95
+ changelog?: string | undefined;
96
+ parentVersion?: string | undefined;
97
+ author?: string | undefined;
98
+ }[] | undefined;
99
+ currentVersion?: {
100
+ version: string;
101
+ createdAt: string;
102
+ changelog?: string | undefined;
103
+ parentVersion?: string | undefined;
104
+ author?: string | undefined;
105
+ } | undefined;
106
+ metadata?: {
107
+ author?: string | undefined;
108
+ license?: string | undefined;
109
+ source?: string | undefined;
110
+ related?: string[] | undefined;
111
+ custom?: Record<string, unknown> | undefined;
112
+ } | undefined;
113
+ createdAt?: string | undefined;
114
+ updatedAt?: string | undefined;
115
+ };
116
+ name?: string | undefined;
117
+ description?: string | undefined;
118
+ tags?: string[] | undefined;
119
+ hardware?: string[] | undefined;
120
+ enabled?: boolean | undefined;
121
+ priority?: number | undefined;
122
+ capabilityId?: string | undefined;
123
+ requiredContext?: string[] | undefined;
124
+ optionalContext?: string[] | undefined;
125
+ config?: unknown;
126
+ retention?: string | {
127
+ reason: string;
128
+ maxAgeDays?: number | undefined;
129
+ maxEntries?: number | undefined;
130
+ maxBytes?: number | undefined;
131
+ cascadeFrom?: string | undefined;
132
+ ageField?: string | undefined;
133
+ enforcedBy?: string | undefined;
134
+ } | undefined;
135
+ };
136
+ export default developerPromptManifestDescriptor;
137
+ //# sourceMappingURL=developer.prompt.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"developer.prompt.descriptor.d.ts","sourceRoot":"","sources":["../../src/agent/developer.prompt.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;CAiBnC,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG7C,CAAC;AAEF,eAAe,iCAAiC,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Developer agent system prompt, projected onto `prompts/manifest`.
3
+ *
4
+ * code-sessions owns this content. The catalog reads it so
5
+ * `vibes prompts show developer` and the native tool loop resolve the same
6
+ * identity. Chat Code mode must not replace it.
7
+ */
8
+ import { definePromptManifestDescriptor } from '@vibesdotdev/ai-schemas';
9
+ import { developerAgentSystemPrompt } from "./system-prompt.js";
10
+ export const developerPromptManifest = {
11
+ id: 'developer',
12
+ version: '2.1.0',
13
+ name: 'Developer Agent',
14
+ description: 'System prompt for the editor coding agent: role, workspace position, and how to succeed in any project',
15
+ type: 'system',
16
+ category: 'development',
17
+ tags: ['developer', 'code', 'agent', 'system'],
18
+ scope: 'builtin',
19
+ isPublic: false,
20
+ generator: 'static',
21
+ content: developerAgentSystemPrompt,
22
+ metadata: {
23
+ author: 'vibes',
24
+ source: 'code-sessions/src/agent/system-prompt.ts'
25
+ }
26
+ };
27
+ export const developerPromptManifestDescriptor = definePromptManifestDescriptor(developerPromptManifest, { owner: 'code-sessions' });
28
+ export default developerPromptManifestDescriptor;
29
+ //# sourceMappingURL=developer.prompt.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"developer.prompt.descriptor.js","sourceRoot":"","sources":["../../src/agent/developer.prompt.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACtC,EAAE,EAAE,WAAW;IACf,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACV,wGAAwG;IACzG,IAAI,EAAE,QAAiB;IACvB,QAAQ,EAAE,aAAsB;IAChC,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC9C,KAAK,EAAE,SAAkB;IACzB,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,QAAiB;IAC5B,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE;QACT,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,0CAA0C;KAClD;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,8BAA8B,CAC9E,uBAAuB,EACvB,EAAE,KAAK,EAAE,eAAe,EAAE,CAC1B,CAAC;AAEF,eAAe,iCAAiC,CAAC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Reviewer — the platform's system-owned independent review agent.
3
+ *
4
+ * It judges a change someone else made: the diff, the code around it, the
5
+ * checks' results and the standards the caller names, and ends with a verdict.
6
+ *
7
+ * A sibling of `developer` (the writing agent): it reads, it never writes. A
8
+ * run's profile names the model (`agents.execution`); the descriptor inherits
9
+ * the user's default, as `developer` does, so it runs on consumer and cloud.
10
+ */
11
+ export declare const reviewerAgentDescriptor: {
12
+ id: string;
13
+ kind: "tools/agent/instance";
14
+ name: string;
15
+ description: string;
16
+ agentType: "custom" | "extraction" | "chat" | "task" | "assistant" | "react";
17
+ sourceType: "user" | "system";
18
+ version: string;
19
+ loopId: string;
20
+ configuration: {
21
+ [x: string]: unknown;
22
+ maxIterations?: number | undefined;
23
+ temperature?: number | undefined;
24
+ maxTokens?: number | undefined;
25
+ streaming?: boolean | undefined;
26
+ enableThinking?: boolean | undefined;
27
+ enableToolCalls?: boolean | undefined;
28
+ persistToolResults?: boolean | undefined;
29
+ memoryType?: "none" | "summary" | "buffer" | undefined;
30
+ memorySize?: number | undefined;
31
+ memoryProfileId?: string | undefined;
32
+ toolSelectionStrategy?: "user" | "auto" | "specified" | undefined;
33
+ effort?: "none" | "low" | "medium" | "high" | "max" | "xhigh" | undefined;
34
+ checkpointEnabled?: boolean | undefined;
35
+ enableSubagentCalls?: boolean | undefined;
36
+ };
37
+ isPublic: boolean;
38
+ enabled: boolean;
39
+ capabilityCeiling: "0" | "1" | "3" | "2a" | "2b";
40
+ systemAgentId?: string | null | undefined;
41
+ createdById?: string | null | undefined;
42
+ modelId?: string | null | undefined;
43
+ fallbacks?: {
44
+ providerId?: string | undefined;
45
+ modelId?: string | undefined;
46
+ }[] | undefined;
47
+ voice?: {
48
+ providerId: string;
49
+ voiceId: string;
50
+ } | undefined;
51
+ metadata?: Record<string, import("@vibesdotdev/kernel/bootstrap").JsonValue> | undefined;
52
+ presentation?: {
53
+ audiences: ("consumer" | "operator")[];
54
+ } | undefined;
55
+ promptId?: string | undefined;
56
+ promptTemplate?: string | null | undefined;
57
+ tools?: {
58
+ source: "custom" | "system";
59
+ toolId: string;
60
+ enabled: boolean;
61
+ order?: number | undefined;
62
+ hardware?: ("consumer" | "cloud")[] | undefined;
63
+ }[] | undefined;
64
+ hardware?: ("consumer" | "cloud")[] | undefined;
65
+ isDefault?: boolean | undefined;
66
+ tags?: string[] | undefined;
67
+ };
68
+ export default reviewerAgentDescriptor;
69
+ //# sourceMappingURL=reviewer.agent.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewer.agent.descriptor.d.ts","sourceRoot":"","sources":["../../src/agent/reviewer.agent.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ClC,CAAC;AAEH,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Reviewer — the platform's system-owned independent review agent.
3
+ *
4
+ * It judges a change someone else made: the diff, the code around it, the
5
+ * checks' results and the standards the caller names, and ends with a verdict.
6
+ *
7
+ * A sibling of `developer` (the writing agent): it reads, it never writes. A
8
+ * run's profile names the model (`agents.execution`); the descriptor inherits
9
+ * the user's default, as `developer` does, so it runs on consumer and cloud.
10
+ */
11
+ import { AIAgentInstanceDescriptorSchema } from '@vibesdotdev/ai-schemas/agents/schemas/descriptor';
12
+ import { AI_AGENT_PRIMARY_LOOP_ID } from '@vibesdotdev/ai-schemas/agents/constants';
13
+ import { reviewerAgentSystemPrompt } from "./reviewer.system-prompt.js";
14
+ export const reviewerAgentDescriptor = AIAgentInstanceDescriptorSchema.parse({
15
+ id: 'reviewer',
16
+ name: 'Reviewer',
17
+ description: 'Independently reviews a change against the standards it was asked to meet, and answers PASS or FAIL with the reason. Reads; never edits.',
18
+ agentType: 'chat',
19
+ loopId: AI_AGENT_PRIMARY_LOOP_ID,
20
+ sourceType: 'system',
21
+ version: '1.0.0',
22
+ configuration: {
23
+ temperature: 0.1,
24
+ streaming: true,
25
+ enableToolCalls: true,
26
+ enableThinking: false,
27
+ memoryType: 'buffer',
28
+ memorySize: 100,
29
+ toolSelectionStrategy: 'auto',
30
+ effort: 'xhigh',
31
+ checkpointEnabled: true
32
+ },
33
+ promptTemplate: reviewerAgentSystemPrompt,
34
+ // Read-only: inspection, search, the workspace's own checks and rules; no write, run or forge mutation.
35
+ tools: [
36
+ { source: 'system', toolId: 'file-read', enabled: true, order: 1 },
37
+ { source: 'system', toolId: 'git', enabled: true, order: 2 },
38
+ { source: 'system', toolId: 'workspace-search', enabled: true, order: 3, hardware: ['consumer'] },
39
+ { source: 'system', toolId: 'workspace-atlas', enabled: true, order: 4, hardware: ['consumer'] },
40
+ { source: 'system', toolId: 'workspace-fs', enabled: true, order: 5, hardware: ['consumer'] },
41
+ { source: 'system', toolId: 'workspace-lsp', enabled: true, order: 6, hardware: ['consumer'] },
42
+ { source: 'system', toolId: 'workspace-rules', enabled: true, order: 7, hardware: ['consumer'] },
43
+ { source: 'system', toolId: 'forge-read-file', enabled: true, order: 9 },
44
+ { source: 'system', toolId: 'forge-pr-get', enabled: true, order: 10 },
45
+ { source: 'system', toolId: 'forge-pr-files', enabled: true, order: 11 },
46
+ { source: 'system', toolId: 'docs', enabled: true, order: 12 },
47
+ { source: 'system', toolId: 'search', enabled: true, order: 13 },
48
+ { source: 'system', toolId: 'knowledge-search', enabled: true, order: 14 },
49
+ { source: 'system', toolId: 'reasoning', enabled: true, order: 15 },
50
+ { source: 'system', toolId: 'tool-help', enabled: true, order: 16 },
51
+ { source: 'system', toolId: 'tool-search', enabled: true, order: 17 }
52
+ ],
53
+ capabilityCeiling: '2b',
54
+ hardware: ['consumer', 'cloud'],
55
+ isPublic: true,
56
+ enabled: true,
57
+ tags: ['reviewer', 'review', 'code', 'default']
58
+ });
59
+ export default reviewerAgentDescriptor;
60
+ //# sourceMappingURL=reviewer.agent.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewer.agent.descriptor.js","sourceRoot":"","sources":["../../src/agent/reviewer.agent.descriptor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Reviewer agent system prompt, projected onto `prompts/manifest`: the role's
3
+ * identity and its instructions (what to look for, what it may not do, when a
4
+ * change passes). The native tool loop resolves it by the agent's id.
5
+ */
6
+ export declare const reviewerPromptManifest: {
7
+ id: string;
8
+ version: string;
9
+ name: string;
10
+ description: string;
11
+ type: "system";
12
+ category: "development";
13
+ tags: string[];
14
+ scope: "builtin";
15
+ isPublic: boolean;
16
+ generator: "static";
17
+ content: string;
18
+ metadata: {
19
+ author: string;
20
+ source: string;
21
+ };
22
+ };
23
+ export declare const reviewerPromptManifestDescriptor: {
24
+ id: string;
25
+ kind: "prompts/manifest";
26
+ owner: string;
27
+ manifest: {
28
+ id: string;
29
+ version: string;
30
+ name: string;
31
+ description: string;
32
+ type: "system" | "workflow" | "specialist" | "tool" | "extraction";
33
+ tags: string[];
34
+ scope: "user" | "shared" | "builtin" | "project";
35
+ isPublic: boolean;
36
+ content: string;
37
+ generator: "static" | "template" | "dynamic";
38
+ category?: "custom" | "generation" | "extraction" | "development" | "knowledge" | "chat" | "analysis" | "validation" | undefined;
39
+ ownerId?: string | undefined;
40
+ projectId?: string | undefined;
41
+ sections?: {
42
+ key: string;
43
+ title: string;
44
+ content: string;
45
+ order: number;
46
+ collapsible: boolean;
47
+ conditional?: string | undefined;
48
+ }[] | undefined;
49
+ contentPath?: string | undefined;
50
+ tools?: string[] | undefined;
51
+ contextRequired?: string[] | undefined;
52
+ modelConfig?: {
53
+ model?: string | undefined;
54
+ temperature?: number | undefined;
55
+ maxTokens?: number | undefined;
56
+ topP?: number | undefined;
57
+ stopSequences?: string[] | undefined;
58
+ } | undefined;
59
+ knowledgeBaseIds?: string[] | undefined;
60
+ dependencies?: string[] | undefined;
61
+ composedWith?: string[] | undefined;
62
+ inject?: "tools"[] | undefined;
63
+ arguments?: {
64
+ name: string;
65
+ description: string;
66
+ type: "string" | "number" | "boolean" | "file" | "select" | "multiselect" | "text" | "json";
67
+ required: boolean;
68
+ default?: unknown;
69
+ options?: {
70
+ label: string;
71
+ value: string;
72
+ description?: string | undefined;
73
+ }[] | undefined;
74
+ validation?: string | undefined;
75
+ placeholder?: string | undefined;
76
+ }[] | undefined;
77
+ templateEngine?: "handlebars" | "mustache" | "native" | undefined;
78
+ transform?: {
79
+ inputSchema?: Record<string, unknown> | undefined;
80
+ transformPath?: string | undefined;
81
+ transformSpread?: {
82
+ spreadFrom?: ("data" | "user" | "project" | "session")[] | undefined;
83
+ assigns?: Record<string, {
84
+ literal: import("@vibesdotdev/kernel/bootstrap").JsonValue;
85
+ } | {
86
+ path: string;
87
+ }> | undefined;
88
+ } | undefined;
89
+ } | undefined;
90
+ versions?: {
91
+ version: string;
92
+ createdAt: string;
93
+ changelog?: string | undefined;
94
+ parentVersion?: string | undefined;
95
+ author?: string | undefined;
96
+ }[] | undefined;
97
+ currentVersion?: {
98
+ version: string;
99
+ createdAt: string;
100
+ changelog?: string | undefined;
101
+ parentVersion?: string | undefined;
102
+ author?: string | undefined;
103
+ } | undefined;
104
+ metadata?: {
105
+ author?: string | undefined;
106
+ license?: string | undefined;
107
+ source?: string | undefined;
108
+ related?: string[] | undefined;
109
+ custom?: Record<string, unknown> | undefined;
110
+ } | undefined;
111
+ createdAt?: string | undefined;
112
+ updatedAt?: string | undefined;
113
+ };
114
+ name?: string | undefined;
115
+ description?: string | undefined;
116
+ tags?: string[] | undefined;
117
+ hardware?: string[] | undefined;
118
+ enabled?: boolean | undefined;
119
+ priority?: number | undefined;
120
+ capabilityId?: string | undefined;
121
+ requiredContext?: string[] | undefined;
122
+ optionalContext?: string[] | undefined;
123
+ config?: unknown;
124
+ retention?: string | {
125
+ reason: string;
126
+ maxAgeDays?: number | undefined;
127
+ maxEntries?: number | undefined;
128
+ maxBytes?: number | undefined;
129
+ cascadeFrom?: string | undefined;
130
+ ageField?: string | undefined;
131
+ enforcedBy?: string | undefined;
132
+ } | undefined;
133
+ };
134
+ export default reviewerPromptManifestDescriptor;
135
+ //# sourceMappingURL=reviewer.prompt.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewer.prompt.descriptor.d.ts","sourceRoot":"","sources":["../../src/agent/reviewer.prompt.descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;CAgBlC,CAAC;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE3C,CAAC;AAEH,eAAe,gCAAgC,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Reviewer agent system prompt, projected onto `prompts/manifest`: the role's
3
+ * identity and its instructions (what to look for, what it may not do, when a
4
+ * change passes). The native tool loop resolves it by the agent's id.
5
+ */
6
+ import { definePromptManifestDescriptor } from '@vibesdotdev/ai-schemas';
7
+ import { reviewerAgentSystemPrompt } from "./reviewer.system-prompt.js";
8
+ export const reviewerPromptManifest = {
9
+ id: 'reviewer',
10
+ version: '1.1.0',
11
+ name: 'Reviewer Agent',
12
+ description: 'System prompt for the read-only reviewer: what to look for, what it may not do, and when a change passes',
13
+ type: 'system',
14
+ category: 'development',
15
+ tags: ['reviewer', 'review', 'agent', 'system'],
16
+ scope: 'builtin',
17
+ isPublic: false,
18
+ generator: 'static',
19
+ content: reviewerAgentSystemPrompt,
20
+ metadata: {
21
+ author: 'vibes',
22
+ source: 'code-sessions/src/agent/reviewer.system-prompt.ts'
23
+ }
24
+ };
25
+ export const reviewerPromptManifestDescriptor = definePromptManifestDescriptor(reviewerPromptManifest, {
26
+ owner: 'code-sessions'
27
+ });
28
+ export default reviewerPromptManifestDescriptor;
29
+ //# sourceMappingURL=reviewer.prompt.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewer.prompt.descriptor.js","sourceRoot":"","sources":["../../src/agent/reviewer.prompt.descriptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACrC,EAAE,EAAE,UAAU;IACd,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,0GAA0G;IACvH,IAAI,EAAE,QAAiB;IACvB,QAAQ,EAAE,aAAsB;IAChC,IAAI,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC/C,KAAK,EAAE,SAAkB;IACzB,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,QAAiB;IAC5B,OAAO,EAAE,yBAAyB;IAClC,QAAQ,EAAE;QACT,MAAM,EAAE,OAAO;QACf,MAAM,EAAE,mDAAmD;KAC3D;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,8BAA8B,CAAC,sBAAsB,EAAE;IACtG,KAAK,EAAE,eAAe;CACtB,CAAC,CAAC;AAEH,eAAe,gCAAgC,CAAC"}