@agimon-ai/doompi-hook 0.0.1-alpha.5 → 0.0.1-alpha.50

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 (225) hide show
  1. package/README.md +56 -13
  2. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  3. package/dist/api-contracts.cjs +7 -0
  4. package/dist/api-contracts.d.cts +2 -0
  5. package/dist/api-contracts.d.mts +2 -0
  6. package/dist/api-contracts.mjs +2 -0
  7. package/dist/extensions/pi.cjs +43 -0
  8. package/dist/extensions/pi.cjs.map +1 -0
  9. package/dist/extensions/pi.d.cts +7 -0
  10. package/dist/extensions/pi.d.cts.map +1 -0
  11. package/dist/extensions/pi.d.mts +7 -0
  12. package/dist/extensions/pi.d.mts.map +1 -0
  13. package/dist/extensions/pi.mjs +38 -0
  14. package/dist/extensions/pi.mjs.map +1 -0
  15. package/dist/extensions/server.cjs +37 -0
  16. package/dist/extensions/server.cjs.map +1 -0
  17. package/dist/extensions/server.d.cts +5 -0
  18. package/dist/extensions/server.d.cts.map +1 -0
  19. package/dist/extensions/server.d.mts +5 -0
  20. package/dist/extensions/server.d.mts.map +1 -0
  21. package/dist/extensions/server.mjs +32 -0
  22. package/dist/extensions/server.mjs.map +1 -0
  23. package/dist/index.cjs +31 -0
  24. package/dist/index.d.cts +14 -0
  25. package/dist/index.d.mts +14 -0
  26. package/dist/index.mjs +11 -0
  27. package/dist/src/constants/hook.cjs +11 -0
  28. package/dist/src/constants/hook.cjs.map +1 -0
  29. package/dist/src/constants/hook.mjs +10 -0
  30. package/dist/src/constants/hook.mjs.map +1 -0
  31. package/dist/src/constants/hookDecisions.cjs +8 -0
  32. package/dist/src/constants/hookDecisions.cjs.map +1 -0
  33. package/dist/src/constants/hookDecisions.mjs +7 -0
  34. package/dist/src/constants/hookDecisions.mjs.map +1 -0
  35. package/dist/src/constants/hookDocuments.cjs +12 -0
  36. package/dist/src/constants/hookDocuments.cjs.map +1 -0
  37. package/dist/src/constants/hookDocuments.mjs +9 -0
  38. package/dist/src/constants/hookDocuments.mjs.map +1 -0
  39. package/dist/src/constants/hookHandlers.cjs +16 -0
  40. package/dist/src/constants/hookHandlers.cjs.map +1 -0
  41. package/dist/src/constants/hookHandlers.mjs +11 -0
  42. package/dist/src/constants/hookHandlers.mjs.map +1 -0
  43. package/dist/src/constants/hookPayload.cjs +6 -0
  44. package/dist/src/constants/hookPayload.cjs.map +1 -0
  45. package/dist/src/constants/hookPayload.mjs +6 -0
  46. package/dist/src/constants/hookPayload.mjs.map +1 -0
  47. package/dist/src/constants/hookRunner.cjs +16 -0
  48. package/dist/src/constants/hookRunner.cjs.map +1 -0
  49. package/dist/src/constants/hookRunner.mjs +11 -0
  50. package/dist/src/constants/hookRunner.mjs.map +1 -0
  51. package/dist/src/constants/hookTelemetry.cjs +8 -0
  52. package/dist/src/constants/hookTelemetry.cjs.map +1 -0
  53. package/dist/src/constants/hookTelemetry.mjs +7 -0
  54. package/dist/src/constants/hookTelemetry.mjs.map +1 -0
  55. package/dist/src/constants/hooks.cjs +12 -0
  56. package/dist/src/constants/hooks.cjs.map +1 -0
  57. package/dist/src/constants/hooks.d.cts +10 -0
  58. package/dist/src/constants/hooks.d.cts.map +1 -0
  59. package/dist/src/constants/hooks.d.mts +10 -0
  60. package/dist/src/constants/hooks.d.mts.map +1 -0
  61. package/dist/src/constants/hooks.mjs +12 -0
  62. package/dist/src/constants/hooks.mjs.map +1 -0
  63. package/dist/src/constants/telemetry.cjs +9 -0
  64. package/dist/src/constants/telemetry.cjs.map +1 -0
  65. package/dist/src/constants/telemetry.d.cts +7 -0
  66. package/dist/src/constants/telemetry.d.cts.map +1 -0
  67. package/dist/src/constants/telemetry.d.mts +7 -0
  68. package/dist/src/constants/telemetry.d.mts.map +1 -0
  69. package/dist/src/constants/telemetry.mjs +9 -0
  70. package/dist/src/constants/telemetry.mjs.map +1 -0
  71. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/piRoot.cjs +14 -0
  72. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/piRoot.cjs.map +1 -0
  73. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/piRoot.mjs +14 -0
  74. package/dist/src/extensions/workspaces/sessions/(backend)/_lib/piRoot.mjs.map +1 -0
  75. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agent-settled.cli.cjs +6 -0
  76. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agent-settled.cli.cjs.map +1 -0
  77. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agent-settled.cli.mjs +7 -0
  78. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agent-settled.cli.mjs.map +1 -0
  79. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agent-settled.server.cjs +7 -0
  80. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agent-settled.server.cjs.map +1 -0
  81. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agent-settled.server.mjs +8 -0
  82. package/dist/src/extensions/workspaces/sessions/(backend)/hook/agent-settled.server.mjs.map +1 -0
  83. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.cjs +6 -0
  84. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.cjs.map +1 -0
  85. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.mjs +7 -0
  86. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.mjs.map +1 -0
  87. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.cjs +7 -0
  88. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.cjs.map +1 -0
  89. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.mjs +8 -0
  90. package/dist/src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.mjs.map +1 -0
  91. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.cli.cjs +6 -0
  92. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.cli.cjs.map +1 -0
  93. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.cli.mjs +7 -0
  94. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.cli.mjs.map +1 -0
  95. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs +7 -0
  96. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs.map +1 -0
  97. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.mjs +8 -0
  98. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.mjs.map +1 -0
  99. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs +6 -0
  100. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs.map +1 -0
  101. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs +7 -0
  102. package/dist/src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs.map +1 -0
  103. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-call.cli.cjs +6 -0
  104. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-call.cli.cjs.map +1 -0
  105. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-call.cli.mjs +7 -0
  106. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-call.cli.mjs.map +1 -0
  107. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-result.cli.cjs +6 -0
  108. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-result.cli.cjs.map +1 -0
  109. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-result.cli.mjs +7 -0
  110. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-result.cli.mjs.map +1 -0
  111. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-result.server.cjs +7 -0
  112. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-result.server.cjs.map +1 -0
  113. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-result.server.mjs +8 -0
  114. package/dist/src/extensions/workspaces/sessions/(backend)/hook/tool-result.server.mjs.map +1 -0
  115. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-author-hook.server.cjs +12 -0
  116. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-author-hook.server.cjs.map +1 -0
  117. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-author-hook.server.mjs +12 -0
  118. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-author-hook.server.mjs.map +1 -0
  119. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-hook.cli.cjs +11 -0
  120. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-hook.cli.cjs.map +1 -0
  121. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-hook.cli.mjs +12 -0
  122. package/dist/src/extensions/workspaces/sessions/(backend)/resource/doompi-use-hook.cli.mjs.map +1 -0
  123. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs +7 -0
  124. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.cjs.map +1 -0
  125. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs +8 -0
  126. package/dist/src/extensions/workspaces/sessions/(backend)/root.cli.mjs.map +1 -0
  127. package/dist/src/schemas/apiContracts.cjs +13 -0
  128. package/dist/src/schemas/apiContracts.cjs.map +1 -0
  129. package/dist/src/schemas/apiContracts.d.cts +53 -0
  130. package/dist/src/schemas/apiContracts.d.cts.map +1 -0
  131. package/dist/src/schemas/apiContracts.d.mts +53 -0
  132. package/dist/src/schemas/apiContracts.d.mts.map +1 -0
  133. package/dist/src/schemas/apiContracts.mjs +13 -0
  134. package/dist/src/schemas/apiContracts.mjs.map +1 -0
  135. package/dist/src/services/hookDecisions/index.cjs +47 -0
  136. package/dist/src/services/hookDecisions/index.cjs.map +1 -0
  137. package/dist/src/services/hookDecisions/index.d.cts +18 -0
  138. package/dist/src/services/hookDecisions/index.d.cts.map +1 -0
  139. package/dist/src/services/hookDecisions/index.d.mts +18 -0
  140. package/dist/src/services/hookDecisions/index.d.mts.map +1 -0
  141. package/dist/src/services/hookDecisions/index.mjs +41 -0
  142. package/dist/src/services/hookDecisions/index.mjs.map +1 -0
  143. package/dist/src/services/hookDocuments/index.cjs +105 -0
  144. package/dist/src/services/hookDocuments/index.cjs.map +1 -0
  145. package/dist/src/services/hookDocuments/index.d.cts +22 -0
  146. package/dist/src/services/hookDocuments/index.d.cts.map +1 -0
  147. package/dist/src/services/hookDocuments/index.d.mts +22 -0
  148. package/dist/src/services/hookDocuments/index.d.mts.map +1 -0
  149. package/dist/src/services/hookDocuments/index.mjs +103 -0
  150. package/dist/src/services/hookDocuments/index.mjs.map +1 -0
  151. package/dist/src/services/hookHandlers/index.cjs +185 -0
  152. package/dist/src/services/hookHandlers/index.cjs.map +1 -0
  153. package/dist/src/services/hookHandlers/index.mjs +184 -0
  154. package/dist/src/services/hookHandlers/index.mjs.map +1 -0
  155. package/dist/src/services/hookPayload/index.cjs +30 -0
  156. package/dist/src/services/hookPayload/index.cjs.map +1 -0
  157. package/dist/src/services/hookPayload/index.d.cts +8 -0
  158. package/dist/src/services/hookPayload/index.d.cts.map +1 -0
  159. package/dist/src/services/hookPayload/index.d.mts +8 -0
  160. package/dist/src/services/hookPayload/index.d.mts.map +1 -0
  161. package/dist/src/services/hookPayload/index.mjs +29 -0
  162. package/dist/src/services/hookPayload/index.mjs.map +1 -0
  163. package/dist/src/services/hookRegistry/index.cjs +66 -0
  164. package/dist/src/services/hookRegistry/index.cjs.map +1 -0
  165. package/dist/src/services/hookRegistry/index.d.cts +36 -0
  166. package/dist/src/services/hookRegistry/index.d.cts.map +1 -0
  167. package/dist/src/services/hookRegistry/index.d.mts +36 -0
  168. package/dist/src/services/hookRegistry/index.d.mts.map +1 -0
  169. package/dist/src/services/hookRegistry/index.mjs +64 -0
  170. package/dist/src/services/hookRegistry/index.mjs.map +1 -0
  171. package/dist/src/services/hookRunner/index.cjs +156 -0
  172. package/dist/src/services/hookRunner/index.cjs.map +1 -0
  173. package/dist/src/services/hookRunner/index.d.cts +21 -0
  174. package/dist/src/services/hookRunner/index.d.cts.map +1 -0
  175. package/dist/src/services/hookRunner/index.d.mts +21 -0
  176. package/dist/src/services/hookRunner/index.d.mts.map +1 -0
  177. package/dist/src/services/hookRunner/index.mjs +156 -0
  178. package/dist/src/services/hookRunner/index.mjs.map +1 -0
  179. package/dist/src/services/hookRuntime/index.cjs +82 -0
  180. package/dist/src/services/hookRuntime/index.cjs.map +1 -0
  181. package/dist/src/services/hookRuntime/index.mjs +82 -0
  182. package/dist/src/services/hookRuntime/index.mjs.map +1 -0
  183. package/dist/src/services/hookRuntime/type.d.cts +13 -0
  184. package/dist/src/services/hookRuntime/type.d.cts.map +1 -0
  185. package/dist/src/services/hookRuntime/type.d.mts +13 -0
  186. package/dist/src/services/hookRuntime/type.d.mts.map +1 -0
  187. package/dist/src/services/hookTelemetry/index.cjs +24 -0
  188. package/dist/src/services/hookTelemetry/index.cjs.map +1 -0
  189. package/dist/src/services/hookTelemetry/index.d.cts +13 -0
  190. package/dist/src/services/hookTelemetry/index.d.cts.map +1 -0
  191. package/dist/src/services/hookTelemetry/index.d.mts +13 -0
  192. package/dist/src/services/hookTelemetry/index.d.mts.map +1 -0
  193. package/dist/src/services/hookTelemetry/index.mjs +24 -0
  194. package/dist/src/services/hookTelemetry/index.mjs.map +1 -0
  195. package/dist/src/services/pluginHooks/index.cjs +24 -0
  196. package/dist/src/services/pluginHooks/index.cjs.map +1 -0
  197. package/dist/src/services/pluginHooks/index.d.cts +12 -0
  198. package/dist/src/services/pluginHooks/index.d.cts.map +1 -0
  199. package/dist/src/services/pluginHooks/index.d.mts +12 -0
  200. package/dist/src/services/pluginHooks/index.d.mts.map +1 -0
  201. package/dist/src/services/pluginHooks/index.mjs +24 -0
  202. package/dist/src/services/pluginHooks/index.mjs.map +1 -0
  203. package/dist/src/services/serverHooks/index.cjs +33 -0
  204. package/dist/src/services/serverHooks/index.cjs.map +1 -0
  205. package/dist/src/services/serverHooks/index.mjs +33 -0
  206. package/dist/src/services/serverHooks/index.mjs.map +1 -0
  207. package/dist/src/services/toolNames/index.cjs +32 -0
  208. package/dist/src/services/toolNames/index.cjs.map +1 -0
  209. package/dist/src/services/toolNames/index.d.cts +7 -0
  210. package/dist/src/services/toolNames/index.d.cts.map +1 -0
  211. package/dist/src/services/toolNames/index.d.mts +7 -0
  212. package/dist/src/services/toolNames/index.d.mts.map +1 -0
  213. package/dist/src/services/toolNames/index.mjs +31 -0
  214. package/dist/src/services/toolNames/index.mjs.map +1 -0
  215. package/dist/src/types/hooks.d.cts +138 -0
  216. package/dist/src/types/hooks.d.cts.map +1 -0
  217. package/dist/src/types/hooks.d.mts +138 -0
  218. package/dist/src/types/hooks.d.mts.map +1 -0
  219. package/dist/src/types/telemetry.d.cts +16 -0
  220. package/dist/src/types/telemetry.d.cts.map +1 -0
  221. package/dist/src/types/telemetry.d.mts +16 -0
  222. package/dist/src/types/telemetry.d.mts.map +1 -0
  223. package/llms.txt +6 -2
  224. package/package.json +47 -15
  225. package/src/prompts/doompi-author-hook/SKILL.md +51 -0
package/README.md CHANGED
@@ -1,11 +1,21 @@
1
1
  # @agimon-ai/doompi-hook
2
2
 
3
- Claude-Code-compatible repository and plugin hooks for
3
+ Claude Code-compatible repository and plugin hooks for
4
4
  [DoomPi](https://www.npmjs.com/package/@agimon-ai/doompi) sessions.
5
5
 
6
6
  A **hook** is a shell command the repository runs at a point in the session: before a tool call,
7
7
  after one, at session start, when the agent settles, and at session end. Commands are declared in
8
- `.doom/hooks.yaml`, grouped so a mode can turn a whole family of them on or off:
8
+ `.doom/hooks.yaml`, grouped so a mode can turn a whole family of them on or off.
9
+
10
+ > **Alpha:** hook configuration and runtime contracts may change between releases.
11
+
12
+ ## Requirements
13
+
14
+ - Node.js 22.19.0 or newer
15
+ - Pi 0.85.0
16
+ - `/bin/bash`
17
+
18
+ Configure hooks in `.doom/hooks.yaml`:
9
19
 
10
20
  ```yaml
11
21
  # .doom/hooks.yaml
@@ -25,14 +35,15 @@ groups:
25
35
  skipInSubagent: true
26
36
  ```
27
37
 
28
- A group marked `core: true` always loads. Every other group loads only when the active mode selected
29
- it. The same document is read from the global `.doom` directory and from the repository, and a
30
- repository group replaces the global group of the same id outright.
38
+ A group marked `core: true` always loads. Every other group loads only when the active mode selects
39
+ it. The same document is read from the global `.doom` directory and from the repository. A
40
+ repository group replaces the global group of the same ID outright.
31
41
 
32
42
  ## Activation
33
43
 
34
- The DoomPi distribution activates this package by default. Layers only declare the `hookGroups`
35
- that should run in a major mode:
44
+ The distribution activates this package by default through the `default.packages` list written by
45
+ `doompi init` and `dpi init` in `.doom/modes.yaml`. Keep it there, or declare it in a selected layer,
46
+ for hooks to run. Layers only declare the `hookGroups` to select; they do not define the hook commands:
36
47
 
37
48
  ```yaml
38
49
  # .doom/modes.yaml
@@ -41,14 +52,16 @@ layers:
41
52
  hookGroups: [safety, workflow]
42
53
  ```
43
54
 
44
- A session with no selected `hookGroups` still runs groups marked `core: true`; other groups remain inactive.
55
+ A session with no selected `hookGroups` still runs groups marked `core: true`; other groups remain
56
+ inactive.
45
57
 
46
58
  ## What a hook sees and can say
47
59
 
48
60
  Each command is run through `/bin/bash -c` in the repository root, with the Claude Code payload for
49
- the event on stdin and `CLAUDE_PROJECT_DIR`, `CODEX_REPO_ROOT`, `ORIGINAL_REPO_PATH` and — for a
50
- hook declared by a plugin or a global config — `CLAUDE_PLUGIN_ROOT` in the environment. Tool names
51
- in the payload and in `matcher` are Claude names (`Bash`, `Write`), not Pi's.
61
+ the event on stdin. The environment includes `CLAUDE_PROJECT_DIR`, `CODEX_REPO_ROOT`, and
62
+ `ORIGINAL_REPO_PATH`. Every resolved hook also receives `CLAUDE_PLUGIN_ROOT`, set to the root that
63
+ declared its repository, personal, or plugin configuration. Tool names in the payload and in
64
+ `matcher` are Claude names (`Bash`, `Write`), not Pi's.
52
65
 
53
66
  The last stdout line that starts with `{` is read as the hook's decision:
54
67
 
@@ -70,14 +83,44 @@ indistinguishable from one that passed.
70
83
  expires, is sent `SIGTERM` and then `SIGKILL` two seconds later, so a stalled hook does not leave
71
84
  the processes it started behind.
72
85
 
73
- ## Installation
86
+ ## Help guidance
87
+
88
+ While the Help minor mode is active, this package contributes `doompi-author-hook`. The prompt
89
+ covers `.doom/hooks.yaml`, group activation, commands, payloads, decisions, and verification, and
90
+ is withdrawn when the package or Help provider unloads.
74
91
 
75
- DoomPi already includes this package. For standalone Pi installation:
92
+ ## Install
93
+
94
+ For standalone Pi installation:
76
95
 
77
96
  ```bash
78
97
  pi install npm:@agimon-ai/doompi-hook
79
98
  ```
80
99
 
100
+ ## Public API
101
+
102
+ ```ts
103
+ import { createBashHookRunner, hookExtension } from '@agimon-ai/doompi-hook';
104
+ import type { HookDecision, HookEventName } from '@agimon-ai/doompi-hook';
105
+ ```
106
+
107
+ ## Development
108
+
109
+ ```bash
110
+ pnpm build
111
+ pnpm typecheck
112
+ pnpm test
113
+ pnpm lint
114
+ ```
115
+
116
+ Maintained by [Agimon](https://agimon.ai/about).
117
+
81
118
  ## License
82
119
 
83
120
  MIT
121
+
122
+ ## Extension lifecycle and source layout
123
+
124
+ `extensions/pi.ts` declares Config-dependent service bindings, typed controller events, and Help resources. The readiness gate in `services/hookRuntime/` keeps session-start hooks ahead of dependent events and rejects stale generations. Session-end hooks finish during `session_shutdown` before the shared helper disposes the service binding.
125
+
126
+ `extensions/server.ts` declares the server hooks from `controllers/serverHooks.ts`. Controllers dispatch through `services/<name>/`; constants and shared types have their own roots. Flat `exports/` publishes reusable capabilities, and extension entry points are built directly.
@@ -0,0 +1,23 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
+ };
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
22
+ //#endregion
23
+ exports.__toESM = __toESM;
@@ -0,0 +1,7 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_apiContracts = require("./src/schemas/apiContracts.cjs");
6
+ exports.apiContracts = require_apiContracts.apiContracts;
7
+ exports.default = require_apiContracts.apiContracts;
@@ -0,0 +1,2 @@
1
+ import { apiContracts } from "./src/schemas/apiContracts.cjs";
2
+ export { apiContracts, apiContracts as default };
@@ -0,0 +1,2 @@
1
+ import { apiContracts } from "./src/schemas/apiContracts.mjs";
2
+ export { apiContracts, apiContracts as default };
@@ -0,0 +1,2 @@
1
+ import { apiContracts } from "./src/schemas/apiContracts.mjs";
2
+ export { apiContracts, apiContracts as default };
@@ -0,0 +1,43 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_root_cli = require("../src/extensions/workspaces/sessions/(backend)/root.cli.cjs");
6
+ const require_agent_settled_cli = require("../src/extensions/workspaces/sessions/(backend)/hook/agent-settled.cli.cjs");
7
+ const require_before_agent_start_cli = require("../src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.cjs");
8
+ const require_session_shutdown_cli = require("../src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.cli.cjs");
9
+ const require_session_start_cli = require("../src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.cjs");
10
+ const require_tool_call_cli = require("../src/extensions/workspaces/sessions/(backend)/hook/tool-call.cli.cjs");
11
+ const require_tool_result_cli = require("../src/extensions/workspaces/sessions/(backend)/hook/tool-result.cli.cjs");
12
+ const require_doompi_use_hook_cli = require("../src/extensions/workspaces/sessions/(backend)/resource/doompi-use-hook.cli.cjs");
13
+ let _agimon_ai_doompi_core_pi_extension = require("@agimon-ai/doompi-core/pi-extension");
14
+ let _agimon_ai_doompi_core_extension_file = require("@agimon-ai/doompi-core/extension-file");
15
+ //#region generated/pi.ts
16
+ const at = (value, context) => typeof value === "function" ? value(context) : value;
17
+ const extension = (0, _agimon_ai_doompi_core_pi_extension.definePiExtension)("@agimon-ai/doompi-hook", async (context) => {
18
+ const scopeSession = await require_root_cli.default(context);
19
+ const contextSession = {
20
+ ...context,
21
+ root: scopeSession.value
22
+ };
23
+ return {
24
+ ...(0, _agimon_ai_doompi_core_extension_file.composeRootHooks)(scopeSession),
25
+ events: {
26
+ agent_settled: at(require_agent_settled_cli.default, contextSession),
27
+ before_agent_start: at(require_before_agent_start_cli.default, contextSession),
28
+ session_shutdown: at(require_session_shutdown_cli.default, contextSession),
29
+ session_start: at(require_session_start_cli.default, contextSession),
30
+ tool_call: at(require_tool_call_cli.default, contextSession),
31
+ tool_result: at(require_tool_result_cli.default, contextSession)
32
+ },
33
+ get resources() {
34
+ return [at(require_doompi_use_hook_cli.default, contextSession)];
35
+ },
36
+ services: [...scopeSession.services ?? []]
37
+ };
38
+ });
39
+ //#endregion
40
+ exports.default = extension;
41
+ exports.extension = extension;
42
+
43
+ //# sourceMappingURL=pi.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.cjs","names":["definePiExtension","rootSession","composeRootHooks","hookAgentSettled","hookBeforeAgentStart","hookSessionShutdown","hookSessionStart","hookToolCall","hookToolResult","resourceDoompiUseHook"],"sources":["../../generated/pi.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { definePiExtension, type PiPluginContext, type PiPluginContributions } from '@agimon-ai/doompi-core/pi-extension';\nimport { composeRootHooks } from '@agimon-ai/doompi-core/extension-file';\n\nimport rootSession from '../src/extensions/workspaces/sessions/(backend)/root.cli';\nimport hookAgentSettled from '../src/extensions/workspaces/sessions/(backend)/hook/agent-settled.cli';\nimport hookBeforeAgentStart from '../src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli';\nimport hookSessionShutdown from '../src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.cli';\nimport hookSessionStart from '../src/extensions/workspaces/sessions/(backend)/hook/session-start.cli';\nimport hookToolCall from '../src/extensions/workspaces/sessions/(backend)/hook/tool-call.cli';\nimport hookToolResult from '../src/extensions/workspaces/sessions/(backend)/hook/tool-result.cli';\nimport resourceDoompiUseHook from '../src/extensions/workspaces/sessions/(backend)/resource/doompi-use-hook.cli';\n\ntype OptionsOf<T> = T extends (context: PiPluginContext<infer Options>) => unknown ? Options : never;\ntype InferredOptions = Exclude<OptionsOf<typeof rootSession> | OptionsOf<typeof hookAgentSettled> | OptionsOf<typeof hookBeforeAgentStart> | OptionsOf<typeof hookSessionShutdown> | OptionsOf<typeof hookSessionStart> | OptionsOf<typeof hookToolCall> | OptionsOf<typeof hookToolResult> | OptionsOf<typeof resourceDoompiUseHook>, undefined>;\ntype Intersect<Union> =\n (Union extends unknown ? (value: Union) => void : never) extends (value: infer Value) => void ? Value : never;\ntype ExtensionOptions = [InferredOptions] extends [never] ? undefined : Intersect<InferredOptions>;\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\n\nexport const extension = definePiExtension<ExtensionOptions>('@agimon-ai/doompi-hook', async (context) => {\n const scopeSession = await rootSession(context);\n const contextSession = { ...context, root: scopeSession.value };\n return {\n ...composeRootHooks(scopeSession),\n events: {\n agent_settled: at(hookAgentSettled, contextSession) as NonNullable<PiPluginContributions['events']>['agent_settled'],\n before_agent_start: at(hookBeforeAgentStart, contextSession) as NonNullable<PiPluginContributions['events']>['before_agent_start'],\n session_shutdown: at(hookSessionShutdown, contextSession) as NonNullable<PiPluginContributions['events']>['session_shutdown'],\n session_start: at(hookSessionStart, contextSession) as NonNullable<PiPluginContributions['events']>['session_start'],\n tool_call: at(hookToolCall, contextSession) as NonNullable<PiPluginContributions['events']>['tool_call'],\n tool_result: at(hookToolResult, contextSession) as NonNullable<PiPluginContributions['events']>['tool_result'],\n },\n get resources(): PiPluginContributions['resources'] { return [at(resourceDoompiUseHook, contextSession)]; },\n services: [...(scopeSession.services ?? [])],\n };\n});\n\nexport default extension;\n"],"mappings":";;;;;;;;;;;;;;;AAoBA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AAEpE,MAAa,aAAA,GAAYA,oCAAAA,kBAAAA,CAAoC,0BAA0B,OAAO,YAAY;CACxG,MAAM,eAAe,MAAMC,iBAAAA,QAAY,OAAO;CAC9C,MAAM,iBAAiB;EAAE,GAAG;EAAS,MAAM,aAAa;CAAM;CAC9D,OAAO;EACL,IAAA,GAAGC,sCAAAA,iBAAAA,CAAiB,YAAY;EAChC,QAAQ;GACN,eAAe,GAAGC,0BAAAA,SAAkB,cAAc;GAClD,oBAAoB,GAAGC,+BAAAA,SAAsB,cAAc;GAC3D,kBAAkB,GAAGC,6BAAAA,SAAqB,cAAc;GACxD,eAAe,GAAGC,0BAAAA,SAAkB,cAAc;GAClD,WAAW,GAAGC,sBAAAA,SAAc,cAAc;GAC1C,aAAa,GAAGC,wBAAAA,SAAgB,cAAc;EAChD;EACA,IAAI,YAAgD;GAAE,OAAO,CAAC,GAAGC,4BAAAA,SAAuB,cAAc,CAAC;EAAG;EAC1G,UAAU,CAAC,GAAI,aAAa,YAAY,CAAC,CAAE;CAC7C;AACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { HookExtensionOptions } from "../src/services/hookRuntime/type.cjs";
2
+ import "../index.cjs";
3
+ //#region generated/pi.d.ts
4
+ export declare const extension: import("@agimon-ai/doompi-core/runtime-pi-extension").DefinedPiExtension<HookExtensionOptions>;
5
+ //#endregion
6
+ export { extension as default };
7
+ //# sourceMappingURL=pi.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.d.cts","names":[],"sources":["../../generated/pi.ts"],"mappings":";;;qBAuBa,iEAAS,mBAAT"}
@@ -0,0 +1,7 @@
1
+ import { HookExtensionOptions } from "../src/services/hookRuntime/type.mjs";
2
+ import "../index.mjs";
3
+ //#region generated/pi.d.ts
4
+ export declare const extension: import("@agimon-ai/doompi-core/runtime-pi-extension").DefinedPiExtension<HookExtensionOptions>;
5
+ //#endregion
6
+ export { extension as default };
7
+ //# sourceMappingURL=pi.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.d.mts","names":[],"sources":["../../generated/pi.ts"],"mappings":";;;qBAuBa,iEAAS,mBAAT"}
@@ -0,0 +1,38 @@
1
+ import root_cli_default from "../src/extensions/workspaces/sessions/(backend)/root.cli.mjs";
2
+ import agent_settled_cli_default from "../src/extensions/workspaces/sessions/(backend)/hook/agent-settled.cli.mjs";
3
+ import before_agent_start_cli_default from "../src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli.mjs";
4
+ import session_shutdown_cli_default from "../src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.cli.mjs";
5
+ import session_start_cli_default from "../src/extensions/workspaces/sessions/(backend)/hook/session-start.cli.mjs";
6
+ import tool_call_cli_default from "../src/extensions/workspaces/sessions/(backend)/hook/tool-call.cli.mjs";
7
+ import tool_result_cli_default from "../src/extensions/workspaces/sessions/(backend)/hook/tool-result.cli.mjs";
8
+ import doompi_use_hook_cli_default from "../src/extensions/workspaces/sessions/(backend)/resource/doompi-use-hook.cli.mjs";
9
+ import { definePiExtension } from "@agimon-ai/doompi-core/pi-extension";
10
+ import { composeRootHooks } from "@agimon-ai/doompi-core/extension-file";
11
+ //#region generated/pi.ts
12
+ const at = (value, context) => typeof value === "function" ? value(context) : value;
13
+ const extension = definePiExtension("@agimon-ai/doompi-hook", async (context) => {
14
+ const scopeSession = await root_cli_default(context);
15
+ const contextSession = {
16
+ ...context,
17
+ root: scopeSession.value
18
+ };
19
+ return {
20
+ ...composeRootHooks(scopeSession),
21
+ events: {
22
+ agent_settled: at(agent_settled_cli_default, contextSession),
23
+ before_agent_start: at(before_agent_start_cli_default, contextSession),
24
+ session_shutdown: at(session_shutdown_cli_default, contextSession),
25
+ session_start: at(session_start_cli_default, contextSession),
26
+ tool_call: at(tool_call_cli_default, contextSession),
27
+ tool_result: at(tool_result_cli_default, contextSession)
28
+ },
29
+ get resources() {
30
+ return [at(doompi_use_hook_cli_default, contextSession)];
31
+ },
32
+ services: [...scopeSession.services ?? []]
33
+ };
34
+ });
35
+ //#endregion
36
+ export { extension as default, extension };
37
+
38
+ //# sourceMappingURL=pi.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.mjs","names":["rootSession","hookAgentSettled","hookBeforeAgentStart","hookSessionShutdown","hookSessionStart","hookToolCall","hookToolResult","resourceDoompiUseHook"],"sources":["../../generated/pi.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { definePiExtension, type PiPluginContext, type PiPluginContributions } from '@agimon-ai/doompi-core/pi-extension';\nimport { composeRootHooks } from '@agimon-ai/doompi-core/extension-file';\n\nimport rootSession from '../src/extensions/workspaces/sessions/(backend)/root.cli';\nimport hookAgentSettled from '../src/extensions/workspaces/sessions/(backend)/hook/agent-settled.cli';\nimport hookBeforeAgentStart from '../src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.cli';\nimport hookSessionShutdown from '../src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.cli';\nimport hookSessionStart from '../src/extensions/workspaces/sessions/(backend)/hook/session-start.cli';\nimport hookToolCall from '../src/extensions/workspaces/sessions/(backend)/hook/tool-call.cli';\nimport hookToolResult from '../src/extensions/workspaces/sessions/(backend)/hook/tool-result.cli';\nimport resourceDoompiUseHook from '../src/extensions/workspaces/sessions/(backend)/resource/doompi-use-hook.cli';\n\ntype OptionsOf<T> = T extends (context: PiPluginContext<infer Options>) => unknown ? Options : never;\ntype InferredOptions = Exclude<OptionsOf<typeof rootSession> | OptionsOf<typeof hookAgentSettled> | OptionsOf<typeof hookBeforeAgentStart> | OptionsOf<typeof hookSessionShutdown> | OptionsOf<typeof hookSessionStart> | OptionsOf<typeof hookToolCall> | OptionsOf<typeof hookToolResult> | OptionsOf<typeof resourceDoompiUseHook>, undefined>;\ntype Intersect<Union> =\n (Union extends unknown ? (value: Union) => void : never) extends (value: infer Value) => void ? Value : never;\ntype ExtensionOptions = [InferredOptions] extends [never] ? undefined : Intersect<InferredOptions>;\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\n\nexport const extension = definePiExtension<ExtensionOptions>('@agimon-ai/doompi-hook', async (context) => {\n const scopeSession = await rootSession(context);\n const contextSession = { ...context, root: scopeSession.value };\n return {\n ...composeRootHooks(scopeSession),\n events: {\n agent_settled: at(hookAgentSettled, contextSession) as NonNullable<PiPluginContributions['events']>['agent_settled'],\n before_agent_start: at(hookBeforeAgentStart, contextSession) as NonNullable<PiPluginContributions['events']>['before_agent_start'],\n session_shutdown: at(hookSessionShutdown, contextSession) as NonNullable<PiPluginContributions['events']>['session_shutdown'],\n session_start: at(hookSessionStart, contextSession) as NonNullable<PiPluginContributions['events']>['session_start'],\n tool_call: at(hookToolCall, contextSession) as NonNullable<PiPluginContributions['events']>['tool_call'],\n tool_result: at(hookToolResult, contextSession) as NonNullable<PiPluginContributions['events']>['tool_result'],\n },\n get resources(): PiPluginContributions['resources'] { return [at(resourceDoompiUseHook, contextSession)]; },\n services: [...(scopeSession.services ?? [])],\n };\n});\n\nexport default extension;\n"],"mappings":";;;;;;;;;;;AAoBA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AAEpE,MAAa,YAAY,kBAAoC,0BAA0B,OAAO,YAAY;CACxG,MAAM,eAAe,MAAMA,iBAAY,OAAO;CAC9C,MAAM,iBAAiB;EAAE,GAAG;EAAS,MAAM,aAAa;CAAM;CAC9D,OAAO;EACL,GAAG,iBAAiB,YAAY;EAChC,QAAQ;GACN,eAAe,GAAGC,2BAAkB,cAAc;GAClD,oBAAoB,GAAGC,gCAAsB,cAAc;GAC3D,kBAAkB,GAAGC,8BAAqB,cAAc;GACxD,eAAe,GAAGC,2BAAkB,cAAc;GAClD,WAAW,GAAGC,uBAAc,cAAc;GAC1C,aAAa,GAAGC,yBAAgB,cAAc;EAChD;EACA,IAAI,YAAgD;GAAE,OAAO,CAAC,GAAGC,6BAAuB,cAAc,CAAC;EAAG;EAC1G,UAAU,CAAC,GAAI,aAAa,YAAY,CAAC,CAAE;CAC7C;AACF,CAAC"}
@@ -0,0 +1,37 @@
1
+ Object.defineProperties(exports, {
2
+ __esModule: { value: true },
3
+ [Symbol.toStringTag]: { value: "Module" }
4
+ });
5
+ const require_agent_settled_server = require("../src/extensions/workspaces/sessions/(backend)/hook/agent-settled.server.cjs");
6
+ const require_before_agent_start_server = require("../src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.cjs");
7
+ const require_session_shutdown_server = require("../src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.cjs");
8
+ const require_tool_result_server = require("../src/extensions/workspaces/sessions/(backend)/hook/tool-result.server.cjs");
9
+ const require_doompi_author_hook_server = require("../src/extensions/workspaces/sessions/(backend)/resource/doompi-author-hook.server.cjs");
10
+ let _agimon_ai_doompi_core_server_facet = require("@agimon-ai/doompi-core/server-facet");
11
+ //#region generated/server.ts
12
+ const at = (value, context) => typeof value === "function" ? value(context) : value;
13
+ const via = (identity, value) => ({
14
+ ...identity,
15
+ ...value
16
+ });
17
+ const facet = (0, _agimon_ai_doompi_core_server_facet.defineServerPlugin)({
18
+ name: "@agimon-ai/doompi-hook",
19
+ session: (context) => ({
20
+ get hooks() {
21
+ return [
22
+ via({ event: "agent_settled" }, at(require_agent_settled_server.default, context)),
23
+ via({ event: "before_agent_start" }, at(require_before_agent_start_server.default, context)),
24
+ via({ event: "session_shutdown" }, at(require_session_shutdown_server.default, context)),
25
+ via({ event: "tool_result" }, at(require_tool_result_server.default, context))
26
+ ];
27
+ },
28
+ get resources() {
29
+ return [at(require_doompi_author_hook_server.default, context)];
30
+ }
31
+ })
32
+ });
33
+ //#endregion
34
+ exports.default = facet;
35
+ exports.facet = facet;
36
+
37
+ //# sourceMappingURL=server.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.cjs","names":["defineServerPlugin","hookAgentSettled","hookBeforeAgentStart","hookSessionShutdown","hookToolResult","resourceDoompiAuthorHook"],"sources":["../../generated/server.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { defineServerPlugin, type DoomServerSessionPlugin } from '@agimon-ai/doompi-core/server-facet';\n\nimport hookAgentSettled from '../src/extensions/workspaces/sessions/(backend)/hook/agent-settled.server';\nimport hookBeforeAgentStart from '../src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server';\nimport hookSessionShutdown from '../src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server';\nimport hookToolResult from '../src/extensions/workspaces/sessions/(backend)/hook/tool-result.server';\nimport resourceDoompiAuthorHook from '../src/extensions/workspaces/sessions/(backend)/resource/doompi-author-hook.server';\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T => ({ ...identity, ...(value as object) }) as T;\n\nexport const facet = defineServerPlugin({\n name: '@agimon-ai/doompi-hook',\n session: (context) => ({\n get hooks(): DoomServerSessionPlugin['hooks'] { return [via({ event: 'agent_settled' }, at(hookAgentSettled, context)), via({ event: 'before_agent_start' }, at(hookBeforeAgentStart, context)), via({ event: 'session_shutdown' }, at(hookSessionShutdown, context)), via({ event: 'tool_result' }, at(hookToolResult, context))]; },\n get resources(): DoomServerSessionPlugin['resources'] { return [at(resourceDoompiAuthorHook, context)]; },\n }),\n});\n\nexport default facet;\n"],"mappings":";;;;;;;;;;;AAUA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AACpE,MAAM,OAAU,UAAmC,WAAuB;CAAE,GAAG;CAAU,GAAI;AAAiB;AAE9G,MAAa,SAAA,GAAQA,oCAAAA,mBAAAA,CAAmB;CACtC,MAAM;CACN,UAAU,aAAa;EACrB,IAAI,QAA0C;GAAE,OAAO;IAAC,IAAI,EAAE,OAAO,gBAAgB,GAAG,GAAGC,6BAAAA,SAAkB,OAAO,CAAC;IAAG,IAAI,EAAE,OAAO,qBAAqB,GAAG,GAAGC,kCAAAA,SAAsB,OAAO,CAAC;IAAG,IAAI,EAAE,OAAO,mBAAmB,GAAG,GAAGC,gCAAAA,SAAqB,OAAO,CAAC;IAAG,IAAI,EAAE,OAAO,cAAc,GAAG,GAAGC,2BAAAA,SAAgB,OAAO,CAAC;GAAC;EAAG;EACpU,IAAI,YAAkD;GAAE,OAAO,CAAC,GAAGC,kCAAAA,SAA0B,OAAO,CAAC;EAAG;CAC1G;AACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ //#region generated/server.d.ts
2
+ export declare const facet: import("@agimon-ai/doompi-core/server-facet").DoomServerFacet;
3
+ //#endregion
4
+ export { facet as default };
5
+ //# sourceMappingURL=server.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.cts","names":[],"sources":["../../generated/server.ts"],"mappings":";qBAca,qDAAK"}
@@ -0,0 +1,5 @@
1
+ //#region generated/server.d.ts
2
+ export declare const facet: import("@agimon-ai/doompi-core/server-facet").DoomServerFacet;
3
+ //#endregion
4
+ export { facet as default };
5
+ //# sourceMappingURL=server.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.mts","names":[],"sources":["../../generated/server.ts"],"mappings":";qBAca,qDAAK"}
@@ -0,0 +1,32 @@
1
+ import agent_settled_server_default from "../src/extensions/workspaces/sessions/(backend)/hook/agent-settled.server.mjs";
2
+ import before_agent_start_server_default from "../src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server.mjs";
3
+ import session_shutdown_server_default from "../src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server.mjs";
4
+ import tool_result_server_default from "../src/extensions/workspaces/sessions/(backend)/hook/tool-result.server.mjs";
5
+ import doompi_author_hook_server_default from "../src/extensions/workspaces/sessions/(backend)/resource/doompi-author-hook.server.mjs";
6
+ import { defineServerPlugin } from "@agimon-ai/doompi-core/server-facet";
7
+ //#region generated/server.ts
8
+ const at = (value, context) => typeof value === "function" ? value(context) : value;
9
+ const via = (identity, value) => ({
10
+ ...identity,
11
+ ...value
12
+ });
13
+ const facet = defineServerPlugin({
14
+ name: "@agimon-ai/doompi-hook",
15
+ session: (context) => ({
16
+ get hooks() {
17
+ return [
18
+ via({ event: "agent_settled" }, at(agent_settled_server_default, context)),
19
+ via({ event: "before_agent_start" }, at(before_agent_start_server_default, context)),
20
+ via({ event: "session_shutdown" }, at(session_shutdown_server_default, context)),
21
+ via({ event: "tool_result" }, at(tool_result_server_default, context))
22
+ ];
23
+ },
24
+ get resources() {
25
+ return [at(doompi_author_hook_server_default, context)];
26
+ }
27
+ })
28
+ });
29
+ //#endregion
30
+ export { facet as default, facet };
31
+
32
+ //# sourceMappingURL=server.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.mjs","names":["hookAgentSettled","hookBeforeAgentStart","hookSessionShutdown","hookToolResult","resourceDoompiAuthorHook"],"sources":["../../generated/server.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { defineServerPlugin, type DoomServerSessionPlugin } from '@agimon-ai/doompi-core/server-facet';\n\nimport hookAgentSettled from '../src/extensions/workspaces/sessions/(backend)/hook/agent-settled.server';\nimport hookBeforeAgentStart from '../src/extensions/workspaces/sessions/(backend)/hook/before-agent-start.server';\nimport hookSessionShutdown from '../src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server';\nimport hookToolResult from '../src/extensions/workspaces/sessions/(backend)/hook/tool-result.server';\nimport resourceDoompiAuthorHook from '../src/extensions/workspaces/sessions/(backend)/resource/doompi-author-hook.server';\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T => ({ ...identity, ...(value as object) }) as T;\n\nexport const facet = defineServerPlugin({\n name: '@agimon-ai/doompi-hook',\n session: (context) => ({\n get hooks(): DoomServerSessionPlugin['hooks'] { return [via({ event: 'agent_settled' }, at(hookAgentSettled, context)), via({ event: 'before_agent_start' }, at(hookBeforeAgentStart, context)), via({ event: 'session_shutdown' }, at(hookSessionShutdown, context)), via({ event: 'tool_result' }, at(hookToolResult, context))]; },\n get resources(): DoomServerSessionPlugin['resources'] { return [at(resourceDoompiAuthorHook, context)]; },\n }),\n});\n\nexport default facet;\n"],"mappings":";;;;;;;AAUA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AACpE,MAAM,OAAU,UAAmC,WAAuB;CAAE,GAAG;CAAU,GAAI;AAAiB;AAE9G,MAAa,QAAQ,mBAAmB;CACtC,MAAM;CACN,UAAU,aAAa;EACrB,IAAI,QAA0C;GAAE,OAAO;IAAC,IAAI,EAAE,OAAO,gBAAgB,GAAG,GAAGA,8BAAkB,OAAO,CAAC;IAAG,IAAI,EAAE,OAAO,qBAAqB,GAAG,GAAGC,mCAAsB,OAAO,CAAC;IAAG,IAAI,EAAE,OAAO,mBAAmB,GAAG,GAAGC,iCAAqB,OAAO,CAAC;IAAG,IAAI,EAAE,OAAO,cAAc,GAAG,GAAGC,4BAAgB,OAAO,CAAC;GAAC;EAAG;EACpU,IAAI,YAAkD;GAAE,OAAO,CAAC,GAAGC,mCAA0B,OAAO,CAAC;EAAG;CAC1G;AACF,CAAC"}
package/dist/index.cjs ADDED
@@ -0,0 +1,31 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_index = require("./src/services/hookDecisions/index.cjs");
3
+ const require_telemetry = require("./src/constants/telemetry.cjs");
4
+ const require_index$1 = require("./src/services/toolNames/index.cjs");
5
+ const require_index$2 = require("./src/services/hookRegistry/index.cjs");
6
+ const require_index$3 = require("./src/services/hookDocuments/index.cjs");
7
+ const require_index$4 = require("./src/services/hookPayload/index.cjs");
8
+ const require_index$5 = require("./src/services/hookRunner/index.cjs");
9
+ const require_index$6 = require("./src/services/hookTelemetry/index.cjs");
10
+ const require_index$7 = require("./src/services/pluginHooks/index.cjs");
11
+ const require_hooks = require("./src/constants/hooks.cjs");
12
+ exports.HOOK_EVENT = require_hooks.HOOK_EVENT;
13
+ exports.HOOK_TELEMETRY_EVENT = require_telemetry.HOOK_TELEMETRY_EVENT;
14
+ exports.additionalContextsFrom = require_index.additionalContextsFrom;
15
+ exports.createBashHookRunner = require_index$5.createBashHookRunner;
16
+ exports.createHookDocumentReader = require_index$3.createHookDocumentReader;
17
+ exports.createHookTelemetry = require_index$6.createHookTelemetry;
18
+ exports.decisionReason = require_index.decisionReason;
19
+ exports.decisionsFrom = require_index.decisionsFrom;
20
+ exports.failuresFrom = require_index.failuresFrom;
21
+ exports.hookFailureMessage = require_index.hookFailureMessage;
22
+ exports.isDenied = require_index.isDenied;
23
+ exports.matchesTool = require_index$1.matchesTool;
24
+ exports.registryCacheKey = require_index$2.registryCacheKey;
25
+ exports.registryEntries = require_index$2.registryEntries;
26
+ exports.selectPluginHooks = require_index$7.selectPluginHooks;
27
+ exports.selectRegistryHooks = require_index$2.selectRegistryHooks;
28
+ exports.sessionHookPayload = require_index$4.sessionHookPayload;
29
+ exports.toClaudeToolName = require_index$1.toClaudeToolName;
30
+ exports.toolHookPayload = require_index$4.toolHookPayload;
31
+ exports.toolResultMessages = require_index.toolResultMessages;
@@ -0,0 +1,14 @@
1
+ import { HOOK_EVENT } from "./src/constants/hooks.cjs";
2
+ import { HookCommand, HookDecision, HookDocumentReader, HookDocumentSource, HookEventName, HookFailure, HookFailureReason, HookOutcome, HookPayload, HookRunOptions, HookRunner, HookToolEvent, ParsedRegistrySource, PluginDocumentRead, PluginHookConfig, PluginHookDocument, PluginHookGroup, PluginHookSourceRef, RegistryBinding, RegistryDocument, RegistryEntry, RegistryGroup, RegistryRead, ResolvedHook } from "./src/types/hooks.cjs";
3
+ import { additionalContextsFrom, decisionReason, decisionsFrom, failuresFrom, hookFailureMessage, isDenied, toolResultMessages } from "./src/services/hookDecisions/index.cjs";
4
+ import { HOOK_TELEMETRY_EVENT } from "./src/constants/telemetry.cjs";
5
+ import { HookTelemetry, HookTelemetryAttributes, HookTelemetryEventName } from "./src/types/telemetry.cjs";
6
+ import { HookDocumentReaderOptions, createHookDocumentReader } from "./src/services/hookDocuments/index.cjs";
7
+ import { sessionHookPayload, toolHookPayload } from "./src/services/hookPayload/index.cjs";
8
+ import { RegistrySelection, registryCacheKey, registryEntries, selectRegistryHooks } from "./src/services/hookRegistry/index.cjs";
9
+ import { BashHookRunnerOptions, createBashHookRunner } from "./src/services/hookRunner/index.cjs";
10
+ import { HookExtensionOptions } from "./src/services/hookRuntime/type.cjs";
11
+ import { HookTelemetryOptions, createHookTelemetry } from "./src/services/hookTelemetry/index.cjs";
12
+ import { selectPluginHooks } from "./src/services/pluginHooks/index.cjs";
13
+ import { matchesTool, toClaudeToolName } from "./src/services/toolNames/index.cjs";
14
+ export { type BashHookRunnerOptions, HOOK_EVENT, HOOK_TELEMETRY_EVENT, type HookCommand, type HookDecision, type HookDocumentReader, type HookDocumentReaderOptions, type HookDocumentSource, type HookEventName, type HookExtensionOptions, type HookFailure, type HookFailureReason, type HookOutcome, type HookPayload, type HookRunOptions, type HookRunner, type HookTelemetry, type HookTelemetryAttributes, type HookTelemetryEventName, type HookTelemetryOptions, type HookToolEvent, type ParsedRegistrySource, type PluginDocumentRead, type PluginHookConfig, type PluginHookDocument, type PluginHookGroup, type PluginHookSourceRef, type RegistryBinding, type RegistryDocument, type RegistryEntry, type RegistryGroup, type RegistryRead, type RegistrySelection, type ResolvedHook, additionalContextsFrom, createBashHookRunner, createHookDocumentReader, createHookTelemetry, decisionReason, decisionsFrom, failuresFrom, hookFailureMessage, isDenied, matchesTool, registryCacheKey, registryEntries, selectPluginHooks, selectRegistryHooks, sessionHookPayload, toClaudeToolName, toolHookPayload, toolResultMessages };
@@ -0,0 +1,14 @@
1
+ import { HOOK_EVENT } from "./src/constants/hooks.mjs";
2
+ import { HookCommand, HookDecision, HookDocumentReader, HookDocumentSource, HookEventName, HookFailure, HookFailureReason, HookOutcome, HookPayload, HookRunOptions, HookRunner, HookToolEvent, ParsedRegistrySource, PluginDocumentRead, PluginHookConfig, PluginHookDocument, PluginHookGroup, PluginHookSourceRef, RegistryBinding, RegistryDocument, RegistryEntry, RegistryGroup, RegistryRead, ResolvedHook } from "./src/types/hooks.mjs";
3
+ import { additionalContextsFrom, decisionReason, decisionsFrom, failuresFrom, hookFailureMessage, isDenied, toolResultMessages } from "./src/services/hookDecisions/index.mjs";
4
+ import { HOOK_TELEMETRY_EVENT } from "./src/constants/telemetry.mjs";
5
+ import { HookTelemetry, HookTelemetryAttributes, HookTelemetryEventName } from "./src/types/telemetry.mjs";
6
+ import { HookDocumentReaderOptions, createHookDocumentReader } from "./src/services/hookDocuments/index.mjs";
7
+ import { sessionHookPayload, toolHookPayload } from "./src/services/hookPayload/index.mjs";
8
+ import { RegistrySelection, registryCacheKey, registryEntries, selectRegistryHooks } from "./src/services/hookRegistry/index.mjs";
9
+ import { BashHookRunnerOptions, createBashHookRunner } from "./src/services/hookRunner/index.mjs";
10
+ import { HookExtensionOptions } from "./src/services/hookRuntime/type.mjs";
11
+ import { HookTelemetryOptions, createHookTelemetry } from "./src/services/hookTelemetry/index.mjs";
12
+ import { selectPluginHooks } from "./src/services/pluginHooks/index.mjs";
13
+ import { matchesTool, toClaudeToolName } from "./src/services/toolNames/index.mjs";
14
+ export { type BashHookRunnerOptions, HOOK_EVENT, HOOK_TELEMETRY_EVENT, type HookCommand, type HookDecision, type HookDocumentReader, type HookDocumentReaderOptions, type HookDocumentSource, type HookEventName, type HookExtensionOptions, type HookFailure, type HookFailureReason, type HookOutcome, type HookPayload, type HookRunOptions, type HookRunner, type HookTelemetry, type HookTelemetryAttributes, type HookTelemetryEventName, type HookTelemetryOptions, type HookToolEvent, type ParsedRegistrySource, type PluginDocumentRead, type PluginHookConfig, type PluginHookDocument, type PluginHookGroup, type PluginHookSourceRef, type RegistryBinding, type RegistryDocument, type RegistryEntry, type RegistryGroup, type RegistryRead, type RegistrySelection, type ResolvedHook, additionalContextsFrom, createBashHookRunner, createHookDocumentReader, createHookTelemetry, decisionReason, decisionsFrom, failuresFrom, hookFailureMessage, isDenied, matchesTool, registryCacheKey, registryEntries, selectPluginHooks, selectRegistryHooks, sessionHookPayload, toClaudeToolName, toolHookPayload, toolResultMessages };
package/dist/index.mjs ADDED
@@ -0,0 +1,11 @@
1
+ import { additionalContextsFrom, decisionReason, decisionsFrom, failuresFrom, hookFailureMessage, isDenied, toolResultMessages } from "./src/services/hookDecisions/index.mjs";
2
+ import { HOOK_TELEMETRY_EVENT } from "./src/constants/telemetry.mjs";
3
+ import { matchesTool, toClaudeToolName } from "./src/services/toolNames/index.mjs";
4
+ import { registryCacheKey, registryEntries, selectRegistryHooks } from "./src/services/hookRegistry/index.mjs";
5
+ import { createHookDocumentReader } from "./src/services/hookDocuments/index.mjs";
6
+ import { sessionHookPayload, toolHookPayload } from "./src/services/hookPayload/index.mjs";
7
+ import { createBashHookRunner } from "./src/services/hookRunner/index.mjs";
8
+ import { createHookTelemetry } from "./src/services/hookTelemetry/index.mjs";
9
+ import { selectPluginHooks } from "./src/services/pluginHooks/index.mjs";
10
+ import { HOOK_EVENT } from "./src/constants/hooks.mjs";
11
+ export { HOOK_EVENT, HOOK_TELEMETRY_EVENT, additionalContextsFrom, createBashHookRunner, createHookDocumentReader, createHookTelemetry, decisionReason, decisionsFrom, failuresFrom, hookFailureMessage, isDenied, matchesTool, registryCacheKey, registryEntries, selectPluginHooks, selectRegistryHooks, sessionHookPayload, toClaudeToolName, toolHookPayload, toolResultMessages };
@@ -0,0 +1,11 @@
1
+ //#region src/constants/hook.ts
2
+ const PACKAGE_SOURCE = "@agimon-ai/doompi-hook";
3
+ const HOOK_HELP_SKILL = {
4
+ name: "doompi-author-hook",
5
+ description: "Author DoomPi repository or plugin hooks. Use when creating or changing .doom/hooks.yaml, selecting hook groups from modes.yaml, writing hook commands, or adapting Claude Code hook payloads and decisions to DoomPi."
6
+ };
7
+ //#endregion
8
+ exports.HOOK_HELP_SKILL = HOOK_HELP_SKILL;
9
+ exports.PACKAGE_SOURCE = PACKAGE_SOURCE;
10
+
11
+ //# sourceMappingURL=hook.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.cjs","names":[],"sources":["../../../src/constants/hook.ts"],"sourcesContent":["export const PACKAGE_SOURCE = '@agimon-ai/doompi-hook';\nexport const HOOK_HELP_SKILL = {\n name: 'doompi-author-hook',\n description:\n 'Author DoomPi repository or plugin hooks. Use when creating or changing .doom/hooks.yaml, selecting hook groups from modes.yaml, writing hook commands, or adapting Claude Code hook payloads and decisions to DoomPi.',\n};\n"],"mappings":";AAAA,MAAa,iBAAiB;AAC9B,MAAa,kBAAkB;CAC7B,MAAM;CACN,aACE;AACJ"}
@@ -0,0 +1,10 @@
1
+ //#region src/constants/hook.ts
2
+ const PACKAGE_SOURCE = "@agimon-ai/doompi-hook";
3
+ const HOOK_HELP_SKILL = {
4
+ name: "doompi-author-hook",
5
+ description: "Author DoomPi repository or plugin hooks. Use when creating or changing .doom/hooks.yaml, selecting hook groups from modes.yaml, writing hook commands, or adapting Claude Code hook payloads and decisions to DoomPi."
6
+ };
7
+ //#endregion
8
+ export { HOOK_HELP_SKILL, PACKAGE_SOURCE };
9
+
10
+ //# sourceMappingURL=hook.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook.mjs","names":[],"sources":["../../../src/constants/hook.ts"],"sourcesContent":["export const PACKAGE_SOURCE = '@agimon-ai/doompi-hook';\nexport const HOOK_HELP_SKILL = {\n name: 'doompi-author-hook',\n description:\n 'Author DoomPi repository or plugin hooks. Use when creating or changing .doom/hooks.yaml, selecting hook groups from modes.yaml, writing hook commands, or adapting Claude Code hook payloads and decisions to DoomPi.',\n};\n"],"mappings":";AAAA,MAAa,iBAAiB;AAC9B,MAAa,kBAAkB;CAC7B,MAAM;CACN,aACE;AACJ"}
@@ -0,0 +1,8 @@
1
+ //#region src/constants/hookDecisions.ts
2
+ const BLOCK_DECISION = "block";
3
+ const DENY_PERMISSION = "deny";
4
+ //#endregion
5
+ exports.BLOCK_DECISION = BLOCK_DECISION;
6
+ exports.DENY_PERMISSION = DENY_PERMISSION;
7
+
8
+ //# sourceMappingURL=hookDecisions.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hookDecisions.cjs","names":[],"sources":["../../../src/constants/hookDecisions.ts"],"sourcesContent":["export const BLOCK_DECISION = 'block';\nexport const DENY_PERMISSION = 'deny';\n"],"mappings":";AAAA,MAAa,iBAAiB;AAC9B,MAAa,kBAAkB"}
@@ -0,0 +1,7 @@
1
+ //#region src/constants/hookDecisions.ts
2
+ const BLOCK_DECISION = "block";
3
+ const DENY_PERMISSION = "deny";
4
+ //#endregion
5
+ export { BLOCK_DECISION, DENY_PERMISSION };
6
+
7
+ //# sourceMappingURL=hookDecisions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hookDecisions.mjs","names":[],"sources":["../../../src/constants/hookDecisions.ts"],"sourcesContent":["export const BLOCK_DECISION = 'block';\nexport const DENY_PERMISSION = 'deny';\n"],"mappings":";AAAA,MAAa,iBAAiB;AAC9B,MAAa,kBAAkB"}
@@ -0,0 +1,12 @@
1
+ //#region src/constants/hookDocuments.ts
2
+ const HOOKS_FILE = "hooks.yaml";
3
+ const FILE_ENCODING = "utf8";
4
+ const FILE_NOT_FOUND_ERROR = "ENOENT";
5
+ const REGISTRY_SOURCE_ATTRIBUTE = "repository";
6
+ //#endregion
7
+ exports.FILE_ENCODING = FILE_ENCODING;
8
+ exports.FILE_NOT_FOUND_ERROR = FILE_NOT_FOUND_ERROR;
9
+ exports.HOOKS_FILE = HOOKS_FILE;
10
+ exports.REGISTRY_SOURCE_ATTRIBUTE = REGISTRY_SOURCE_ATTRIBUTE;
11
+
12
+ //# sourceMappingURL=hookDocuments.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hookDocuments.cjs","names":[],"sources":["../../../src/constants/hookDocuments.ts"],"sourcesContent":["export const HOOKS_FILE = 'hooks.yaml';\nexport const FILE_ENCODING = 'utf8';\nexport const FILE_NOT_FOUND_ERROR = 'ENOENT';\nexport const REGISTRY_SOURCE_ATTRIBUTE = 'repository';\n"],"mappings":";AAAA,MAAa,aAAa;AAC1B,MAAa,gBAAgB;AAC7B,MAAa,uBAAuB;AACpC,MAAa,4BAA4B"}
@@ -0,0 +1,9 @@
1
+ //#region src/constants/hookDocuments.ts
2
+ const HOOKS_FILE = "hooks.yaml";
3
+ const FILE_ENCODING = "utf8";
4
+ const FILE_NOT_FOUND_ERROR = "ENOENT";
5
+ const REGISTRY_SOURCE_ATTRIBUTE = "repository";
6
+ //#endregion
7
+ export { FILE_ENCODING, FILE_NOT_FOUND_ERROR, HOOKS_FILE, REGISTRY_SOURCE_ATTRIBUTE };
8
+
9
+ //# sourceMappingURL=hookDocuments.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hookDocuments.mjs","names":[],"sources":["../../../src/constants/hookDocuments.ts"],"sourcesContent":["export const HOOKS_FILE = 'hooks.yaml';\nexport const FILE_ENCODING = 'utf8';\nexport const FILE_NOT_FOUND_ERROR = 'ENOENT';\nexport const REGISTRY_SOURCE_ATTRIBUTE = 'repository';\n"],"mappings":";AAAA,MAAa,aAAa;AAC1B,MAAa,gBAAgB;AAC7B,MAAa,uBAAuB;AACpC,MAAa,4BAA4B"}
@@ -0,0 +1,16 @@
1
+ //#region src/constants/hookHandlers.ts
2
+ const STATUS_PREFIX = "repository-hooks";
3
+ const FAILURE_MESSAGE_TYPE = "repository-hook-failure";
4
+ const CONTEXT_MESSAGE_TYPE = "repository-hook-context";
5
+ const STEER = { deliverAs: "steer" };
6
+ const BLOCKED_BY_HOOK = "Blocked by repository hook";
7
+ const SUBAGENT_ENVIRONMENT_FLAG = "PI_SUBAGENT_CHILD";
8
+ //#endregion
9
+ exports.BLOCKED_BY_HOOK = BLOCKED_BY_HOOK;
10
+ exports.CONTEXT_MESSAGE_TYPE = CONTEXT_MESSAGE_TYPE;
11
+ exports.FAILURE_MESSAGE_TYPE = FAILURE_MESSAGE_TYPE;
12
+ exports.STATUS_PREFIX = STATUS_PREFIX;
13
+ exports.STEER = STEER;
14
+ exports.SUBAGENT_ENVIRONMENT_FLAG = SUBAGENT_ENVIRONMENT_FLAG;
15
+
16
+ //# sourceMappingURL=hookHandlers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hookHandlers.cjs","names":[],"sources":["../../../src/constants/hookHandlers.ts"],"sourcesContent":["export const STATUS_PREFIX = 'repository-hooks';\nexport const FAILURE_MESSAGE_TYPE = 'repository-hook-failure';\nexport const CONTEXT_MESSAGE_TYPE = 'repository-hook-context';\nexport const STEER = { deliverAs: 'steer' } as const;\nexport const BLOCKED_BY_HOOK = 'Blocked by repository hook';\nexport const SUBAGENT_ENVIRONMENT_FLAG = 'PI_SUBAGENT_CHILD';\nexport const CONTEXT_SEPARATOR = '\\n\\n';\n"],"mappings":";AAAA,MAAa,gBAAgB;AAC7B,MAAa,uBAAuB;AACpC,MAAa,uBAAuB;AACpC,MAAa,QAAQ,EAAE,WAAW,QAAQ;AAC1C,MAAa,kBAAkB;AAC/B,MAAa,4BAA4B"}
@@ -0,0 +1,11 @@
1
+ //#region src/constants/hookHandlers.ts
2
+ const STATUS_PREFIX = "repository-hooks";
3
+ const FAILURE_MESSAGE_TYPE = "repository-hook-failure";
4
+ const CONTEXT_MESSAGE_TYPE = "repository-hook-context";
5
+ const STEER = { deliverAs: "steer" };
6
+ const BLOCKED_BY_HOOK = "Blocked by repository hook";
7
+ const SUBAGENT_ENVIRONMENT_FLAG = "PI_SUBAGENT_CHILD";
8
+ //#endregion
9
+ export { BLOCKED_BY_HOOK, CONTEXT_MESSAGE_TYPE, FAILURE_MESSAGE_TYPE, STATUS_PREFIX, STEER, SUBAGENT_ENVIRONMENT_FLAG };
10
+
11
+ //# sourceMappingURL=hookHandlers.mjs.map