@aelinrezende/pipa-core 1.0.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 (259) hide show
  1. package/README.md +131 -0
  2. package/extensions/pipa/constants/backlog.d.ts +49 -0
  3. package/extensions/pipa/constants/backlog.d.ts.map +1 -0
  4. package/extensions/pipa/constants/compactor.d.ts +7 -0
  5. package/extensions/pipa/constants/compactor.d.ts.map +1 -0
  6. package/extensions/pipa/constants/docs.d.ts +46 -0
  7. package/extensions/pipa/constants/docs.d.ts.map +1 -0
  8. package/extensions/pipa/constants/file.d.ts +15 -0
  9. package/extensions/pipa/constants/file.d.ts.map +1 -0
  10. package/extensions/pipa/constants/pipa.d.ts +6 -0
  11. package/extensions/pipa/constants/pipa.d.ts.map +1 -0
  12. package/extensions/pipa/constants/store.d.ts +6 -0
  13. package/extensions/pipa/constants/store.d.ts.map +1 -0
  14. package/extensions/pipa/constants/task.d.ts +62 -0
  15. package/extensions/pipa/constants/task.d.ts.map +1 -0
  16. package/extensions/pipa/constants/teammate.d.ts +25 -0
  17. package/extensions/pipa/constants/teammate.d.ts.map +1 -0
  18. package/extensions/pipa/constants/todo.d.ts +21 -0
  19. package/extensions/pipa/constants/todo.d.ts.map +1 -0
  20. package/extensions/pipa/core/apply-features.d.ts +4 -0
  21. package/extensions/pipa/core/apply-features.d.ts.map +1 -0
  22. package/extensions/pipa/core/config.d.ts +3 -0
  23. package/extensions/pipa/core/config.d.ts.map +1 -0
  24. package/extensions/pipa/core/decorators/events.d.ts +15 -0
  25. package/extensions/pipa/core/decorators/events.d.ts.map +1 -0
  26. package/extensions/pipa/core/errors/pipa-exception.d.ts +17 -0
  27. package/extensions/pipa/core/errors/pipa-exception.d.ts.map +1 -0
  28. package/extensions/pipa/core/events.types.d.ts +72 -0
  29. package/extensions/pipa/core/events.types.d.ts.map +1 -0
  30. package/extensions/pipa/core/pipa.d.ts +19 -0
  31. package/extensions/pipa/core/pipa.d.ts.map +1 -0
  32. package/extensions/pipa/core/toast.d.ts +13 -0
  33. package/extensions/pipa/core/toast.d.ts.map +1 -0
  34. package/extensions/pipa/cross-cutting/resource-loader.d.ts +8 -0
  35. package/extensions/pipa/cross-cutting/resource-loader.d.ts.map +1 -0
  36. package/extensions/pipa/cross-cutting/store.d.ts +5 -0
  37. package/extensions/pipa/cross-cutting/store.d.ts.map +1 -0
  38. package/extensions/pipa/features/backlog/backlog.definitions.d.ts +67 -0
  39. package/extensions/pipa/features/backlog/backlog.definitions.d.ts.map +1 -0
  40. package/extensions/pipa/features/backlog/backlog.entity.d.ts +43 -0
  41. package/extensions/pipa/features/backlog/backlog.entity.d.ts.map +1 -0
  42. package/extensions/pipa/features/backlog/backlog.feature.d.ts +14 -0
  43. package/extensions/pipa/features/backlog/backlog.feature.d.ts.map +1 -0
  44. package/extensions/pipa/features/backlog/backlog.hub.d.ts +25 -0
  45. package/extensions/pipa/features/backlog/backlog.hub.d.ts.map +1 -0
  46. package/extensions/pipa/features/backlog/hooks/guard.d.ts +13 -0
  47. package/extensions/pipa/features/backlog/hooks/guard.d.ts.map +1 -0
  48. package/extensions/pipa/features/backlog/hooks/index.d.ts +2 -0
  49. package/extensions/pipa/features/backlog/hooks/index.d.ts.map +1 -0
  50. package/extensions/pipa/features/backlog/hub/core.d.ts +50 -0
  51. package/extensions/pipa/features/backlog/hub/core.d.ts.map +1 -0
  52. package/extensions/pipa/features/backlog/hub/index.d.ts +4 -0
  53. package/extensions/pipa/features/backlog/hub/index.d.ts.map +1 -0
  54. package/extensions/pipa/features/backlog/hub/state.d.ts +48 -0
  55. package/extensions/pipa/features/backlog/hub/state.d.ts.map +1 -0
  56. package/extensions/pipa/features/backlog/hub/validator.d.ts +14 -0
  57. package/extensions/pipa/features/backlog/hub/validator.d.ts.map +1 -0
  58. package/extensions/pipa/features/base-feature.d.ts +13 -0
  59. package/extensions/pipa/features/base-feature.d.ts.map +1 -0
  60. package/extensions/pipa/features/docs/docs.definitions.d.ts +73 -0
  61. package/extensions/pipa/features/docs/docs.definitions.d.ts.map +1 -0
  62. package/extensions/pipa/features/docs/docs.entity.d.ts +27 -0
  63. package/extensions/pipa/features/docs/docs.entity.d.ts.map +1 -0
  64. package/extensions/pipa/features/docs/docs.feature.d.ts +13 -0
  65. package/extensions/pipa/features/docs/docs.feature.d.ts.map +1 -0
  66. package/extensions/pipa/features/docs/docs.hub.d.ts +22 -0
  67. package/extensions/pipa/features/docs/docs.hub.d.ts.map +1 -0
  68. package/extensions/pipa/features/docs/hub/core.d.ts +38 -0
  69. package/extensions/pipa/features/docs/hub/core.d.ts.map +1 -0
  70. package/extensions/pipa/features/docs/hub/index.d.ts +4 -0
  71. package/extensions/pipa/features/docs/hub/index.d.ts.map +1 -0
  72. package/extensions/pipa/features/docs/hub/state.d.ts +34 -0
  73. package/extensions/pipa/features/docs/hub/state.d.ts.map +1 -0
  74. package/extensions/pipa/features/docs/hub/validator.d.ts +19 -0
  75. package/extensions/pipa/features/docs/hub/validator.d.ts.map +1 -0
  76. package/extensions/pipa/features/onboarding/index.d.ts +2 -0
  77. package/extensions/pipa/features/onboarding/index.d.ts.map +1 -0
  78. package/extensions/pipa/features/onboarding/onboarding.feature.d.ts +19 -0
  79. package/extensions/pipa/features/onboarding/onboarding.feature.d.ts.map +1 -0
  80. package/extensions/pipa/features/onboarding/prompts.d.ts +8 -0
  81. package/extensions/pipa/features/onboarding/prompts.d.ts.map +1 -0
  82. package/extensions/pipa/features/permission/hooks/custom-tools.d.ts +12 -0
  83. package/extensions/pipa/features/permission/hooks/custom-tools.d.ts.map +1 -0
  84. package/extensions/pipa/features/permission/hooks/index.d.ts +3 -0
  85. package/extensions/pipa/features/permission/hooks/index.d.ts.map +1 -0
  86. package/extensions/pipa/features/permission/hooks/terminal.d.ts +12 -0
  87. package/extensions/pipa/features/permission/hooks/terminal.d.ts.map +1 -0
  88. package/extensions/pipa/features/permission/permission.definitions.d.ts +16 -0
  89. package/extensions/pipa/features/permission/permission.definitions.d.ts.map +1 -0
  90. package/extensions/pipa/features/permission/permission.feature.d.ts +13 -0
  91. package/extensions/pipa/features/permission/permission.feature.d.ts.map +1 -0
  92. package/extensions/pipa/features/provider/custom.feature.d.ts +8 -0
  93. package/extensions/pipa/features/provider/custom.feature.d.ts.map +1 -0
  94. package/extensions/pipa/features/reminder-cleaner/hooks/cleaner.d.ts +14 -0
  95. package/extensions/pipa/features/reminder-cleaner/hooks/cleaner.d.ts.map +1 -0
  96. package/extensions/pipa/features/reminder-cleaner/reminder-cleaner.feature.d.ts +12 -0
  97. package/extensions/pipa/features/reminder-cleaner/reminder-cleaner.feature.d.ts.map +1 -0
  98. package/extensions/pipa/features/task/hooks/guard.d.ts +14 -0
  99. package/extensions/pipa/features/task/hooks/guard.d.ts.map +1 -0
  100. package/extensions/pipa/features/task/hooks/index.d.ts +4 -0
  101. package/extensions/pipa/features/task/hooks/index.d.ts.map +1 -0
  102. package/extensions/pipa/features/task/hooks/reminders.d.ts +15 -0
  103. package/extensions/pipa/features/task/hooks/reminders.d.ts.map +1 -0
  104. package/extensions/pipa/features/task/hooks/tui-register.d.ts +8 -0
  105. package/extensions/pipa/features/task/hooks/tui-register.d.ts.map +1 -0
  106. package/extensions/pipa/features/task/hub/core.d.ts +60 -0
  107. package/extensions/pipa/features/task/hub/core.d.ts.map +1 -0
  108. package/extensions/pipa/features/task/hub/index.d.ts +5 -0
  109. package/extensions/pipa/features/task/hub/index.d.ts.map +1 -0
  110. package/extensions/pipa/features/task/hub/squad.d.ts +37 -0
  111. package/extensions/pipa/features/task/hub/squad.d.ts.map +1 -0
  112. package/extensions/pipa/features/task/hub/state.d.ts +104 -0
  113. package/extensions/pipa/features/task/hub/state.d.ts.map +1 -0
  114. package/extensions/pipa/features/task/hub/validator.d.ts +50 -0
  115. package/extensions/pipa/features/task/hub/validator.d.ts.map +1 -0
  116. package/extensions/pipa/features/task/task.definitions.d.ts +86 -0
  117. package/extensions/pipa/features/task/task.definitions.d.ts.map +1 -0
  118. package/extensions/pipa/features/task/task.entity.d.ts +61 -0
  119. package/extensions/pipa/features/task/task.entity.d.ts.map +1 -0
  120. package/extensions/pipa/features/task/task.feature.d.ts +10 -0
  121. package/extensions/pipa/features/task/task.feature.d.ts.map +1 -0
  122. package/extensions/pipa/features/task/task.hub.d.ts +24 -0
  123. package/extensions/pipa/features/task/task.hub.d.ts.map +1 -0
  124. package/extensions/pipa/features/task/tui/index.d.ts +2 -0
  125. package/extensions/pipa/features/task/tui/index.d.ts.map +1 -0
  126. package/extensions/pipa/features/task/tui/task-tree.widget.d.ts +19 -0
  127. package/extensions/pipa/features/task/tui/task-tree.widget.d.ts.map +1 -0
  128. package/extensions/pipa/features/teammate/hooks/execution-context.d.ts +12 -0
  129. package/extensions/pipa/features/teammate/hooks/execution-context.d.ts.map +1 -0
  130. package/extensions/pipa/features/teammate/hooks/index.d.ts +8 -0
  131. package/extensions/pipa/features/teammate/hooks/index.d.ts.map +1 -0
  132. package/extensions/pipa/features/teammate/hooks/lifecycle.d.ts +17 -0
  133. package/extensions/pipa/features/teammate/hooks/lifecycle.d.ts.map +1 -0
  134. package/extensions/pipa/features/teammate/hooks/observability.d.ts +17 -0
  135. package/extensions/pipa/features/teammate/hooks/observability.d.ts.map +1 -0
  136. package/extensions/pipa/features/teammate/hooks/reminders.d.ts +19 -0
  137. package/extensions/pipa/features/teammate/hooks/reminders.d.ts.map +1 -0
  138. package/extensions/pipa/features/teammate/hooks/session-interval.d.ts +56 -0
  139. package/extensions/pipa/features/teammate/hooks/session-interval.d.ts.map +1 -0
  140. package/extensions/pipa/features/teammate/hooks/shutdown-context.d.ts +10 -0
  141. package/extensions/pipa/features/teammate/hooks/shutdown-context.d.ts.map +1 -0
  142. package/extensions/pipa/features/teammate/hooks/tui-register.d.ts +8 -0
  143. package/extensions/pipa/features/teammate/hooks/tui-register.d.ts.map +1 -0
  144. package/extensions/pipa/features/teammate/hub/core.d.ts +36 -0
  145. package/extensions/pipa/features/teammate/hub/core.d.ts.map +1 -0
  146. package/extensions/pipa/features/teammate/hub/exchange.d.ts +35 -0
  147. package/extensions/pipa/features/teammate/hub/exchange.d.ts.map +1 -0
  148. package/extensions/pipa/features/teammate/hub/frontmatter.d.ts +19 -0
  149. package/extensions/pipa/features/teammate/hub/frontmatter.d.ts.map +1 -0
  150. package/extensions/pipa/features/teammate/hub/index.d.ts +6 -0
  151. package/extensions/pipa/features/teammate/hub/index.d.ts.map +1 -0
  152. package/extensions/pipa/features/teammate/hub/state.d.ts +39 -0
  153. package/extensions/pipa/features/teammate/hub/state.d.ts.map +1 -0
  154. package/extensions/pipa/features/teammate/hub/validator.d.ts +21 -0
  155. package/extensions/pipa/features/teammate/hub/validator.d.ts.map +1 -0
  156. package/extensions/pipa/features/teammate/prompts.d.ts +13 -0
  157. package/extensions/pipa/features/teammate/prompts.d.ts.map +1 -0
  158. package/extensions/pipa/features/teammate/teammate.definitions.d.ts +42 -0
  159. package/extensions/pipa/features/teammate/teammate.definitions.d.ts.map +1 -0
  160. package/extensions/pipa/features/teammate/teammate.entity.d.ts +68 -0
  161. package/extensions/pipa/features/teammate/teammate.entity.d.ts.map +1 -0
  162. package/extensions/pipa/features/teammate/teammate.feature.d.ts +12 -0
  163. package/extensions/pipa/features/teammate/teammate.feature.d.ts.map +1 -0
  164. package/extensions/pipa/features/teammate/teammate.hub.d.ts +24 -0
  165. package/extensions/pipa/features/teammate/teammate.hub.d.ts.map +1 -0
  166. package/extensions/pipa/features/teammate/tui/index.d.ts +3 -0
  167. package/extensions/pipa/features/teammate/tui/index.d.ts.map +1 -0
  168. package/extensions/pipa/features/teammate/tui/teammate-tree.widget.d.ts +23 -0
  169. package/extensions/pipa/features/teammate/tui/teammate-tree.widget.d.ts.map +1 -0
  170. package/extensions/pipa/features/teammate/tui/tui-animator.mixin.d.ts +16 -0
  171. package/extensions/pipa/features/teammate/tui/tui-animator.mixin.d.ts.map +1 -0
  172. package/extensions/pipa/features/todo/hooks/index.d.ts +2 -0
  173. package/extensions/pipa/features/todo/hooks/index.d.ts.map +1 -0
  174. package/extensions/pipa/features/todo/hooks/reminders.d.ts +16 -0
  175. package/extensions/pipa/features/todo/hooks/reminders.d.ts.map +1 -0
  176. package/extensions/pipa/features/todo/hub/core.d.ts +35 -0
  177. package/extensions/pipa/features/todo/hub/core.d.ts.map +1 -0
  178. package/extensions/pipa/features/todo/hub/index.d.ts +4 -0
  179. package/extensions/pipa/features/todo/hub/index.d.ts.map +1 -0
  180. package/extensions/pipa/features/todo/hub/state.d.ts +40 -0
  181. package/extensions/pipa/features/todo/hub/state.d.ts.map +1 -0
  182. package/extensions/pipa/features/todo/hub/validator.d.ts +24 -0
  183. package/extensions/pipa/features/todo/hub/validator.d.ts.map +1 -0
  184. package/extensions/pipa/features/todo/todo.definitions.d.ts +31 -0
  185. package/extensions/pipa/features/todo/todo.definitions.d.ts.map +1 -0
  186. package/extensions/pipa/features/todo/todo.entity.d.ts +44 -0
  187. package/extensions/pipa/features/todo/todo.entity.d.ts.map +1 -0
  188. package/extensions/pipa/features/todo/todo.feature.d.ts +18 -0
  189. package/extensions/pipa/features/todo/todo.feature.d.ts.map +1 -0
  190. package/extensions/pipa/features/todo/todo.hub.d.ts +24 -0
  191. package/extensions/pipa/features/todo/todo.hub.d.ts.map +1 -0
  192. package/extensions/pipa/features/tool-result-compactor/hooks/compactor.d.ts +22 -0
  193. package/extensions/pipa/features/tool-result-compactor/hooks/compactor.d.ts.map +1 -0
  194. package/extensions/pipa/features/tool-result-compactor/tool-result-compactor.feature.d.ts +12 -0
  195. package/extensions/pipa/features/tool-result-compactor/tool-result-compactor.feature.d.ts.map +1 -0
  196. package/extensions/pipa/index.d.ts +5 -0
  197. package/extensions/pipa/index.d.ts.map +1 -0
  198. package/extensions/pipa/interfaces/common.d.ts +80 -0
  199. package/extensions/pipa/interfaces/common.d.ts.map +1 -0
  200. package/extensions/pipa/interfaces/config.d.ts +37 -0
  201. package/extensions/pipa/interfaces/config.d.ts.map +1 -0
  202. package/extensions/pipa/interfaces/index.d.ts +7 -0
  203. package/extensions/pipa/interfaces/index.d.ts.map +1 -0
  204. package/extensions/pipa/interfaces/intercom.d.ts +10 -0
  205. package/extensions/pipa/interfaces/intercom.d.ts.map +1 -0
  206. package/extensions/pipa/interfaces/permission.d.ts +10 -0
  207. package/extensions/pipa/interfaces/permission.d.ts.map +1 -0
  208. package/extensions/pipa/interfaces/pipa.d.ts +28 -0
  209. package/extensions/pipa/interfaces/pipa.d.ts.map +1 -0
  210. package/extensions/pipa/interfaces/reminder.d.ts +15 -0
  211. package/extensions/pipa/interfaces/reminder.d.ts.map +1 -0
  212. package/extensions/pipa/interfaces/string.d.ts +15 -0
  213. package/extensions/pipa/interfaces/string.d.ts.map +1 -0
  214. package/extensions/pipa/lib/array.d.ts +17 -0
  215. package/extensions/pipa/lib/array.d.ts.map +1 -0
  216. package/extensions/pipa/lib/doc.d.ts +30 -0
  217. package/extensions/pipa/lib/doc.d.ts.map +1 -0
  218. package/extensions/pipa/lib/file.d.ts +7 -0
  219. package/extensions/pipa/lib/file.d.ts.map +1 -0
  220. package/extensions/pipa/lib/format-tokens.d.ts +6 -0
  221. package/extensions/pipa/lib/format-tokens.d.ts.map +1 -0
  222. package/extensions/pipa/lib/graph.d.ts +16 -0
  223. package/extensions/pipa/lib/graph.d.ts.map +1 -0
  224. package/extensions/pipa/lib/index.d.ts +20 -0
  225. package/extensions/pipa/lib/index.d.ts.map +1 -0
  226. package/extensions/pipa/lib/llm.d.ts +33 -0
  227. package/extensions/pipa/lib/llm.d.ts.map +1 -0
  228. package/extensions/pipa/lib/markdown.d.ts +13 -0
  229. package/extensions/pipa/lib/markdown.d.ts.map +1 -0
  230. package/extensions/pipa/lib/onboarding.d.ts +17 -0
  231. package/extensions/pipa/lib/onboarding.d.ts.map +1 -0
  232. package/extensions/pipa/lib/paths.d.ts +22 -0
  233. package/extensions/pipa/lib/paths.d.ts.map +1 -0
  234. package/extensions/pipa/lib/permission.d.ts +22 -0
  235. package/extensions/pipa/lib/permission.d.ts.map +1 -0
  236. package/extensions/pipa/lib/pi.d.ts +38 -0
  237. package/extensions/pipa/lib/pi.d.ts.map +1 -0
  238. package/extensions/pipa/lib/reminder-cleaner.d.ts +7 -0
  239. package/extensions/pipa/lib/reminder-cleaner.d.ts.map +1 -0
  240. package/extensions/pipa/lib/string.d.ts +32 -0
  241. package/extensions/pipa/lib/string.d.ts.map +1 -0
  242. package/extensions/pipa/lib/teammate.d.ts +7 -0
  243. package/extensions/pipa/lib/teammate.d.ts.map +1 -0
  244. package/extensions/pipa/lib/tool-result-compactor.d.ts +12 -0
  245. package/extensions/pipa/lib/tool-result-compactor.d.ts.map +1 -0
  246. package/extensions/pipa/lib/tool.d.ts +9 -0
  247. package/extensions/pipa/lib/tool.d.ts.map +1 -0
  248. package/extensions/pipa/lib/tui-animation.d.ts +35 -0
  249. package/extensions/pipa/lib/tui-animation.d.ts.map +1 -0
  250. package/extensions/pipa/lib/tui.d.ts +73 -0
  251. package/extensions/pipa/lib/tui.d.ts.map +1 -0
  252. package/extensions/pipa/lib/typebox.d.ts +5 -0
  253. package/extensions/pipa/lib/typebox.d.ts.map +1 -0
  254. package/index.d.ts +36 -0
  255. package/index.d.ts.map +1 -0
  256. package/index.js +164 -0
  257. package/package.json +69 -0
  258. package/pipa.config.d.ts +4 -0
  259. package/pipa.config.d.ts.map +1 -0
@@ -0,0 +1,67 @@
1
+ import Type from 'typebox';
2
+ export declare const BACKLOG_TOOL_SCHEMA: {
3
+ /** Cria novo item no backlog com parâmetros diretos */
4
+ instantiate: Type.TObject<{
5
+ action: Type.TLiteral<"instantiate">;
6
+ title: Type.TString;
7
+ type: Type.TUnion<[Type.TLiteral<import("./backlog.entity").BacklogItemType>, ...Type.TLiteral<import("./backlog.entity").BacklogItemType>[]]>;
8
+ priority: Type.TUnion<[Type.TLiteral<import("./backlog.entity").BacklogPriority>, ...Type.TLiteral<import("./backlog.entity").BacklogPriority>[]]>;
9
+ domain: Type.TOptional<Type.TArray<Type.TUnion<[Type.TLiteral<import("./backlog.entity").BacklogDomain>, ...Type.TLiteral<import("./backlog.entity").BacklogDomain>[]]>>>;
10
+ parentCode: Type.TOptional<Type.TString>;
11
+ tags: Type.TOptional<Type.TArray<Type.TString>>;
12
+ metadata: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
13
+ body: Type.TString;
14
+ }>;
15
+ /** Lista itens do backlog com filtro, ordenação e limite */
16
+ list: Type.TObject<{
17
+ action: Type.TLiteral<"list">;
18
+ status: Type.TOptional<Type.TUnion<[Type.TLiteral<import("./backlog.entity").BacklogStatus>, ...Type.TLiteral<import("./backlog.entity").BacklogStatus>[]]>>;
19
+ type: Type.TOptional<Type.TUnion<[Type.TLiteral<import("./backlog.entity").BacklogItemType>, ...Type.TLiteral<import("./backlog.entity").BacklogItemType>[]]>>;
20
+ sort: Type.TOptional<Type.TObject<{
21
+ field: Type.TUnion<[Type.TLiteral<"order" | "updatedAt">, ...Type.TLiteral<"order" | "updatedAt">[]]>;
22
+ order: Type.TUnion<[Type.TLiteral<"ASC" | "DESC">, ...Type.TLiteral<"ASC" | "DESC">[]]>;
23
+ }>>;
24
+ limit: Type.TOptional<Type.TNumber>;
25
+ }>;
26
+ /** Atualiza metadados YAML de um item do backlog */
27
+ 'update-frontmatter': Type.TObject<{
28
+ action: Type.TLiteral<"update-frontmatter">;
29
+ code: Type.TString;
30
+ field: Type.TUnion<[Type.TLiteral<"body" | "code" | "createdAt" | "domain" | "order" | "parentCode" | "priority" | "status" | "tags" | "title" | "type" | "updatedAt">, ...Type.TLiteral<"body" | "code" | "createdAt" | "domain" | "order" | "parentCode" | "priority" | "status" | "tags" | "title" | "type" | "updatedAt">[]]>;
31
+ value: Type.TString;
32
+ }>;
33
+ /** Manipula o corpo markdown de um item do backlog */
34
+ 'update-body': Type.TObject<{
35
+ action: Type.TLiteral<"update-body">;
36
+ code: Type.TString;
37
+ mode: Type.TUnion<[Type.TLiteral<"append">, Type.TLiteral<"replace">, Type.TLiteral<"set">]>;
38
+ value: Type.TString;
39
+ replacement: Type.TOptional<Type.TString>;
40
+ }>;
41
+ /** Faz merge de dados livres (metadata) em um item do backlog */
42
+ 'update-metadata': Type.TObject<{
43
+ action: Type.TLiteral<"update-metadata">;
44
+ code: Type.TString;
45
+ metadata: Type.TRecord<"^.*$", Type.TUnknown>;
46
+ }>;
47
+ /** Busca item do backlog por título, código ou tags */
48
+ select: Type.TObject<{
49
+ action: Type.TLiteral<"select">;
50
+ query: Type.TOptional<Type.TString>;
51
+ }>;
52
+ /** Remove item do backlog por código */
53
+ remove: Type.TObject<{
54
+ action: Type.TLiteral<"remove">;
55
+ code: Type.TString;
56
+ }>;
57
+ };
58
+ export declare const BACKLOG_TOOL_ACTIONS_MESSAGE: {
59
+ list: string;
60
+ instantiate: string;
61
+ 'update-frontmatter': string;
62
+ 'update-body': string;
63
+ 'update-metadata': string;
64
+ select: string;
65
+ remove: string;
66
+ };
67
+ //# sourceMappingURL=backlog.definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backlog.definitions.d.ts","sourceRoot":"","sources":["../../../../../extensions/pipa/features/backlog/backlog.definitions.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAa3B,eAAO,MAAM,mBAAmB;IAC9B,uDAAuD;IACvD,WAAW;;;;;;;;;;;IAqDX,4DAA4D;IAC5D,IAAI;;;;;;;;;;IA2BJ,oDAAoD;IACpD,oBAAoB;;;;;;IAWpB,sDAAsD;IACtD,aAAa;;;;;;;IA2Bb,iEAAiE;IACjE,iBAAiB;;;;;IAajB,uDAAuD;IACvD,MAAM;;;;IASN,wCAAwC;IACxC,MAAM;;;;CAIP,CAAC;AAEF,eAAO,MAAM,4BAA4B;IACvC,IAAI;IACJ,WAAW;IACX,oBAAoB;IACpB,aAAa;IACb,iBAAiB;IACjB,MAAM;IACN,MAAM;CACP,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { BaseClass, ToolActionPayload, ToolParams } from '../../interfaces/common';
2
+ import { BACKLOG_TOOL_SCHEMA } from './backlog.definitions';
3
+ export type BacklogItemType = 'epic' | 'story' | 'task' | 'bugfix';
4
+ export type BacklogStatus = 'triage' | 'in_progress' | 'done' | 'blocked' | 'cancelled';
5
+ export type BacklogPriority = 'low' | 'medium' | 'high' | 'critical';
6
+ export type BacklogDomain = 'api' | 'ui' | 'integration';
7
+ export type BacklogToolParams = ToolParams<typeof BACKLOG_TOOL_SCHEMA>;
8
+ /** Payload de cada ação da tool backlog */
9
+ export type BacklogToolSchema<K extends keyof typeof BACKLOG_TOOL_SCHEMA> = ToolActionPayload<typeof BACKLOG_TOOL_SCHEMA, K>;
10
+ /** Representa um item do backlog de tarefas do projeto */
11
+ export declare class BacklogItem {
12
+ constructor(data: BaseClass<BacklogItem>);
13
+ /** Código curto gerado via nanoid(8) */
14
+ code: string;
15
+ /** Título descritivo da tarefa */
16
+ title: string;
17
+ /** Tipo do item: epic, story, task, bugfix */
18
+ type: BacklogItemType;
19
+ /** Status atual do item */
20
+ status: BacklogStatus;
21
+ /** Conteúdo markdown (objetivo, critérios…) */
22
+ body: string;
23
+ /** ISO date de criação */
24
+ createdAt: string;
25
+ /** ISO date da última modificação */
26
+ updatedAt: string;
27
+ /** Prioridade do item */
28
+ priority?: BacklogPriority;
29
+ /** Domínios relacionados */
30
+ domain?: BacklogDomain[];
31
+ /** Código do item pai (epic ou story) */
32
+ parentCode?: string;
33
+ /** Ordem de exibição */
34
+ order?: number;
35
+ /** Etiquetas livres */
36
+ tags?: string[];
37
+ /** Campo livre para dados arbitrários (links, IDs externos, flags) */
38
+ metadata?: Record<string, unknown>;
39
+ }
40
+ /** Campos do frontmatter editáveis — union type derivado de BacklogItem */
41
+ export type BacklogItemFrontmatter = keyof Pick<BacklogItem, 'code' | 'title' | 'type' | 'status' | 'body' | 'createdAt' | 'updatedAt' | 'parentCode' | 'priority' | 'domain' | 'tags' | 'order'>;
42
+ export type BacklogStore = Map<string, BacklogItem>;
43
+ //# sourceMappingURL=backlog.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backlog.entity.d.ts","sourceRoot":"","sources":["../../../../../extensions/pipa/features/backlog/backlog.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;AACxF,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AACrE,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;AACzD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEvE,2CAA2C;AAC3C,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,MAAM,OAAO,mBAAmB,IAAI,iBAAiB,CAC3F,OAAO,mBAAmB,EAC1B,CAAC,CACF,CAAC;AAEF,0DAA0D;AAC1D,qBAAa,WAAW;IACtB,YAAY,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,EAEvC;IAED,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IAEb,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IAEd,8CAA8C;IAC9C,IAAI,EAAE,eAAe,CAAC;IAEtB,2BAA2B;IAC3B,MAAM,EAAE,aAAa,CAAC;IAEtB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAElB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IAEzB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,2EAA2E;AAC3E,MAAM,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAC7C,WAAW,EACT,MAAM,GACN,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,GACN,WAAW,GACX,WAAW,GACX,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,MAAM,GACN,OAAO,CACV,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';
2
+ import { PipaBaseFeature } from '../base-feature';
3
+ import { BacklogGuard } from './hooks';
4
+ declare const BacklogFeature_base: import("ts-mixer/dist/types/types").Class<any[], PipaBaseFeature & BacklogGuard, typeof PipaBaseFeature & typeof BacklogGuard>;
5
+ /**
6
+ * Feature principal do backlog de tarefas do projeto.
7
+ * Registra a tool 'backlog' e bloqueia write/edit direto em backlog.json.
8
+ */
9
+ export declare class BacklogFeature extends BacklogFeature_base {
10
+ loadBacklog(): void;
11
+ initialize(pi: ExtensionAPI): void;
12
+ }
13
+ export {};
14
+ //# sourceMappingURL=backlog.feature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backlog.feature.d.ts","sourceRoot":"","sources":["../../../../../extensions/pipa/features/backlog/backlog.feature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAOpE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;;AAGvC;;;GAGG;AACH,qBAAa,cAAe,SAAQ,mBAAoC;IAE/D,WAAW,IAAI,IAAI,CAEzB;IAED,UAAU,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA4CjC;CACF"}
@@ -0,0 +1,25 @@
1
+ import { PipaApi } from '../../interfaces';
2
+ import { BacklogItem, BacklogToolSchema } from './backlog.entity';
3
+ import { BacklogCore, BacklogValidator } from './hub';
4
+ declare const BacklogHub_base: import("ts-mixer/dist/types/types").Class<any[], BacklogValidator & BacklogCore, typeof BacklogValidator & typeof BacklogCore>;
5
+ /**
6
+ * Gerencia o backlog local de tarefas do projeto.
7
+ * Persiste todos os itens como um único backlog.json.
8
+ */
9
+ export declare class BacklogHub extends BacklogHub_base {
10
+ readonly pipa: PipaApi;
11
+ constructor(pipa: PipaApi);
12
+ instantiate(data: BacklogToolSchema<'instantiate'>): {
13
+ action: "instantiate";
14
+ title: string;
15
+ type: import("./backlog.entity").BacklogItemType;
16
+ priority: import("./backlog.entity").BacklogPriority;
17
+ domain?: import("./backlog.entity").BacklogDomain[] | undefined;
18
+ parentCode?: string | undefined;
19
+ tags?: string[] | undefined;
20
+ metadata?: Record<string, unknown> | undefined;
21
+ body: string;
22
+ } & BacklogItem;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=backlog.hub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backlog.hub.d.ts","sourceRoot":"","sources":["../../../../../extensions/pipa/features/backlog/backlog.hub.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAgB,gBAAgB,EAAE,MAAM,OAAO,CAAC;;AAEpE;;;GAGG;AACH,qBAAa,UAAW,SAAQ,eAAoC;IACtD,QAAQ,CAAC,IAAI,EAAE,OAAO;IAAlC,YAAqB,IAAI,EAAE,OAAO,EAEjC;IAED,WAAW,CAAC,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC;;;;;;;;;;oBAuBjD;CACF"}
@@ -0,0 +1,13 @@
1
+ import type { ContextEvent, ToolCallEvent, ToolCallEventResult } from '@earendil-works/pi-coding-agent';
2
+ import type { ContextEventResult } from '@earendil-works/pi-coding-agent/extensions';
3
+ import type { PipaApi } from '../../../interfaces';
4
+ /**
5
+ * Bloqueia write/edit/read em backlog.json dentro de BACKLOG_BASE_DIR.
6
+ * Força uso da tool backlog para manipular tarefas.
7
+ */
8
+ export declare class BacklogGuard {
9
+ private readonly blockedToolCallIds;
10
+ guardBacklogWrite(event: ToolCallEvent, _pipa: PipaApi): ToolCallEventResult | void;
11
+ collapseBlockedLoop(event: ContextEvent, _pipa: PipaApi): ContextEventResult | void;
12
+ }
13
+ //# sourceMappingURL=guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../../../../../extensions/pipa/features/backlog/hooks/guard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACxG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAGrF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAYnD;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAGxD,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CA0BlF;IAGD,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CA2ClF;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './guard';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../extensions/pipa/features/backlog/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,50 @@
1
+ import type { PipaApi } from '../../../interfaces';
2
+ import { BacklogItem, BacklogToolSchema } from '../backlog.entity';
3
+ import { BacklogState } from './state';
4
+ import { BacklogValidator } from './validator';
5
+ declare const BacklogCore_base: import("ts-mixer/dist/types/types").Class<any[], BacklogValidator & BacklogState, typeof BacklogValidator & typeof BacklogState>;
6
+ /**
7
+ * Núcleo de CRUD do backlog.
8
+ * Síncrono. Persiste todos os itens como um único backlog.json.
9
+ * Leitura (list/get) delega para BacklogState, que carrega o disco sob demanda.
10
+ */
11
+ export declare class BacklogCore extends BacklogCore_base {
12
+ readonly pipa: PipaApi;
13
+ constructor(pipa: PipaApi);
14
+ /** Busca item por código — delega ao BacklogState (escaneia disco) */
15
+ get(code: string): BacklogItem | undefined;
16
+ /** Lista itens com filtro e ordenação — delega ao BacklogState (escaneia disco) */
17
+ list(sort: BacklogToolSchema<'list'>): BacklogItem[];
18
+ /** Atualiza campo do frontmatter e persiste o backlog.json */
19
+ updateFrontmatter({ code, field, value }: BacklogToolSchema<'update-frontmatter'>): BacklogItem;
20
+ /**
21
+ * Deriva o status esperado de um nó a partir do status dos filhos.
22
+ * Regra (aprovada): sem filhos → não muda; todos os filhos com o MESMO status → esse status;
23
+ * mix não uniforme → in_progress.
24
+ */
25
+ private deriveStatus;
26
+ /**
27
+ * Deriva o status de um nó a partir do status dos filhos e persiste no store se mudou.
28
+ * Regra (aprovada): sem filhos → não muda; todos os filhos com o MESMO status → esse status;
29
+ * mix não uniforme → in_progress.
30
+ */
31
+ private deriveNodeStatus;
32
+ /**
33
+ * Recalcula o status dos ancestrais em cascata até a raiz, a partir de um item.
34
+ * Guarda contra parentCode cíclico: interrompe ao reencontrar um código já visitado.
35
+ * Persiste uma única vez no fim da cascata.
36
+ */
37
+ protected recalculateAncestors(code: string): void;
38
+ /** Normaliza quebras de linha — aceita \\n literal ou newline real */
39
+ private normalizeBody;
40
+ /** Manipula corpo markdown e persiste o backlog.json */
41
+ updateBody({ code, mode, value, replacement }: BacklogToolSchema<'update-body'>): BacklogItem;
42
+ /** Faz merge de dados livres (metadata) no item e persiste o backlog.json */
43
+ updateMetadata({ code, metadata }: BacklogToolSchema<'update-metadata'>): BacklogItem;
44
+ /** Busca fuzzy por título/código/tags via fuse.js */
45
+ select({ query }: BacklogToolSchema<'select'>): BacklogItem[];
46
+ /** Remove item do backlog e recalcula o antigo pai em cascata */
47
+ remove({ code }: BacklogToolSchema<'remove'>): BacklogItem;
48
+ }
49
+ export {};
50
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../../extensions/pipa/features/backlog/hub/core.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAiB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;;AAC/C;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,gBAAqC;IACxD,QAAQ,CAAC,IAAI,EAAE,OAAO;IAAlC,YAAqB,IAAI,EAAE,OAAO,EAEjC;IAED,sEAAsE;IACtE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEzC;IAED,mFAAmF;IACnF,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,WAAW,EAAE,CAEnD;IAED,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,GAAG,WAAW,CAmB9F;IAED;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAepB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAgBjD;IAED,sEAAsE;IACtE,OAAO,CAAC,aAAa;IAIrB,wDAAwD;IACxD,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAgB,EAAE,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAAG,WAAW,CAUjG;IAED,6EAA6E;IAC7E,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,WAAW,CAUpF;IAED,qDAAqD;IACrD,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,WAAW,EAAE,CAS5D;IAED,iEAAiE;IACjE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,WAAW,CAkBzD;CACF"}
@@ -0,0 +1,4 @@
1
+ export * from './core';
2
+ export * from './state';
3
+ export * from './validator';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../extensions/pipa/features/backlog/hub/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { PipaApi, ToolParams } from '../../../interfaces';
2
+ import { FileManager } from '../../../lib';
3
+ import { BACKLOG_TOOL_SCHEMA } from '../backlog.definitions';
4
+ import { BacklogItem, BacklogToolSchema } from '../backlog.entity';
5
+ /** Critérios de filtro/ordenação para listagem do backlog */
6
+ export type BacklogListCriteria = Partial<Pick<BacklogItem, 'status' | 'type'>> & {
7
+ sort: ToolParams<typeof BACKLOG_TOOL_SCHEMA>['sort'];
8
+ limit?: number;
9
+ };
10
+ /**
11
+ * Utilitário de leitura: carrega backlog.json do disco sob demanda.
12
+ * Sem cache em memória. BacklogCore é responsável pela escrita (persistOne).
13
+ */
14
+ export declare class BacklogState {
15
+ readonly pipa: PipaApi;
16
+ constructor(pipa: PipaApi);
17
+ static get fileManager(): FileManager<BacklogItem[]>;
18
+ private static get store();
19
+ /**
20
+ * Carrega backlog.json do disco para a store em memória, substituindo o cache atual.
21
+ */
22
+ static load(): void;
23
+ /**
24
+ * Salva silenciosamente o estado atual para o disco em JSON.
25
+ */
26
+ private static persist;
27
+ /**
28
+ * Lista itens com filtro e ordenação — escaneia o disco.
29
+ */
30
+ static listBy(criteria?: BacklogToolSchema<'list'>): BacklogItem[];
31
+ /** Lista todos os itens (sem filtro) */
32
+ static all(): BacklogItem[];
33
+ /**
34
+ * Busca um item por código — escaneia o disco.
35
+ */
36
+ static get(code: string): BacklogItem | undefined;
37
+ /** Limpa o cache do backlog */
38
+ static clear(): void;
39
+ /** Adiciona um item ao cache do backlog */
40
+ static add(item: BacklogItem): void;
41
+ /**
42
+ * Atualiza os dados de um item existente na store e retorna o item atualizado.
43
+ */
44
+ static update(id: string, data: Partial<BacklogItem>): BacklogItem;
45
+ /** Remove um item do cache do backlog */
46
+ static delete(code: string): boolean;
47
+ }
48
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../../extensions/pipa/features/backlog/hub/state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAgB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,6DAA6D;AAC7D,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG;IAChF,IAAI,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAY;IACX,QAAQ,CAAC,IAAI,EAAE,OAAO;IAAlC,YAAqB,IAAI,EAAE,OAAO,EAAI;IAEtC,WAAkB,WAAW,+BAE5B;IAED,OAAO,CAAC,MAAM,KAAK,KAAK,GAQvB;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,IAAI,IAAI,CAKlB;IAED;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IAItB;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,WAAW,EAAE,CA0BjE;IAED,wCAAwC;IACxC,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAE1B;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEhD;IAED,+BAA+B;IAC/B,MAAM,CAAC,KAAK,SAEX;IAED,2CAA2C;IAC3C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,QAG3B;IAED;;OAEG;IACH,OAAc,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAexE;IAED,yCAAyC;IACzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKnC;CACF"}
@@ -0,0 +1,14 @@
1
+ import { BACKLOG_TOOL_NUDGES } from '../../../constants/backlog';
2
+ import type { BacklogItem } from '../backlog.entity';
3
+ /** Valida regras de negócio antes de operações no backlog */
4
+ export declare class BacklogValidator {
5
+ /** Verifica se o item existe e retorna. Throw PipaException se não encontrado. */
6
+ protected canUpdate(code: string, action?: Exclude<keyof typeof BACKLOG_TOOL_NUDGES, 'remove'>): BacklogItem;
7
+ /** Verifica se o item existe para remoção. Throw PipaException se não encontrado. */
8
+ protected canRemove(code: string): BacklogItem;
9
+ /** Verifica se o item existe para operação select. */
10
+ protected canSelect(code: string): BacklogItem;
11
+ /** Valida dados para criação. Throw PipaException se inválido. */
12
+ protected canCreate({ type, title }: Pick<BacklogItem, 'type' | 'title'>): void;
13
+ }
14
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../../../extensions/pipa/features/backlog/hub/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAErF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,6DAA6D;AAC7D,qBAAa,gBAAgB;IAC3B,kFAAkF;IAClF,SAAS,CAAC,SAAS,CACjB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,OAAO,CAAC,MAAM,OAAO,mBAAmB,EAAE,QAAQ,CAAwB,GACjF,WAAW,CAWb;IAED,qFAAqF;IACrF,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAQ7C;IAED,sDAAsD;IACtD,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAW7C;IAED,kEAAkE;IAClE,SAAS,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAW9E;CACF"}
@@ -0,0 +1,13 @@
1
+ import type * as Pi from '@earendil-works/pi-coding-agent/extensions';
2
+ import { PipaApi } from '../interfaces';
3
+ export declare abstract class PipaBaseFeature {
4
+ readonly pi: Pi.ExtensionAPI;
5
+ constructor(pi: Pi.ExtensionAPI);
6
+ pipa: PipaApi;
7
+ /**
8
+ * Método de inicialização da feature, chamado uma vez durante o setup da extensão.
9
+ */
10
+ initialize?(pi: Pi.ExtensionAPI): Promise<void> | void;
11
+ }
12
+ export type PipaBaseFeatureConstructor = new (pi: Pi.ExtensionAPI) => PipaBaseFeature;
13
+ //# sourceMappingURL=base-feature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-feature.d.ts","sourceRoot":"","sources":["../../../../extensions/pipa/features/base-feature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,EAAE,MAAM,4CAA4C,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,8BAAsB,eAAe;IAChB,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY;IAA/C,YAA4B,EAAE,EAAE,EAAE,CAAC,YAAY,EAAI;IAE5C,IAAI,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACxD;AACD,MAAM,MAAM,0BAA0B,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,YAAY,KAAK,eAAe,CAAC"}
@@ -0,0 +1,73 @@
1
+ import Type from 'typebox';
2
+ export declare const DOCS_SORT_FIELDS: string[];
3
+ export declare const DOCS_SORT_ORDERS: string[];
4
+ export declare const DOCS_FRONTMATTER_FIELDS: string[];
5
+ export declare const DOCS_TOOL_SCHEMA: {
6
+ /** Cria novo documento */
7
+ instantiate: Type.TObject<{
8
+ action: Type.TLiteral<"instantiate">;
9
+ title: Type.TString;
10
+ parentCode: Type.TOptional<Type.TString>;
11
+ tags: Type.TOptional<Type.TArray<Type.TString>>;
12
+ metadata: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
13
+ body: Type.TString;
14
+ summary: Type.TString;
15
+ }>;
16
+ /** Lista documentos */
17
+ list: Type.TObject<{
18
+ action: Type.TLiteral<"list">;
19
+ tags: Type.TOptional<Type.TArray<Type.TString>>;
20
+ sort: Type.TOptional<Type.TObject<{
21
+ field: Type.TUnion<[Type.TLiteral<string>, ...Type.TLiteral<string>[]]>;
22
+ order: Type.TUnion<[Type.TLiteral<string>, ...Type.TLiteral<string>[]]>;
23
+ }>>;
24
+ limit: Type.TOptional<Type.TNumber>;
25
+ }>;
26
+ /** Atualiza frontmatter (título/tags) */
27
+ 'update-frontmatter': Type.TObject<{
28
+ action: Type.TLiteral<"update-frontmatter">;
29
+ code: Type.TString;
30
+ field: Type.TUnion<[Type.TLiteral<string>, ...Type.TLiteral<string>[]]>;
31
+ value: Type.TUnion<[Type.TString, Type.TArray<Type.TString>]>;
32
+ }>;
33
+ /** Atualiza conteúdo */
34
+ 'update-body': Type.TObject<{
35
+ action: Type.TLiteral<"update-body">;
36
+ code: Type.TString;
37
+ mode: Type.TUnion<[Type.TLiteral<"append">, Type.TLiteral<"replace">, Type.TLiteral<"set">]>;
38
+ value: Type.TString;
39
+ replacement: Type.TOptional<Type.TString>;
40
+ summary: Type.TOptional<Type.TString>;
41
+ }>;
42
+ /** Faz merge de dados livres (metadata) em um documento */
43
+ 'update-metadata': Type.TObject<{
44
+ action: Type.TLiteral<"update-metadata">;
45
+ code: Type.TString;
46
+ metadata: Type.TRecord<"^.*$", Type.TUnknown>;
47
+ }>;
48
+ /** Busca documentos via fuzzy search */
49
+ select: Type.TObject<{
50
+ action: Type.TLiteral<"select">;
51
+ query: Type.TString;
52
+ }>;
53
+ /** Remove documento */
54
+ remove: Type.TObject<{
55
+ action: Type.TLiteral<"remove">;
56
+ code: Type.TString;
57
+ }>;
58
+ /** Publica site estático via retypeapp */
59
+ publish: Type.TObject<{
60
+ action: Type.TLiteral<"publish">;
61
+ }>;
62
+ };
63
+ export declare const DOCS_TOOL_ACTIONS_MESSAGE: {
64
+ instantiate: string;
65
+ list: string;
66
+ 'update-frontmatter': string;
67
+ 'update-body': string;
68
+ 'update-metadata': string;
69
+ select: string;
70
+ remove: string;
71
+ publish: string;
72
+ };
73
+ //# sourceMappingURL=docs.definitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.definitions.d.ts","sourceRoot":"","sources":["../../../../../extensions/pipa/features/docs/docs.definitions.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAC;AAK3B,eAAO,MAAM,gBAAgB,UAAsC,CAAC;AACpE,eAAO,MAAM,gBAAgB,UAAkB,CAAC;AAChD,eAAO,MAAM,uBAAuB,UAAkC,CAAC;AAEvE,eAAO,MAAM,gBAAgB;IAC3B,0BAA0B;IAC1B,WAAW;;;;;;;;;IA6CX,uBAAuB;IACvB,IAAI;;;;;;;;;IAwBJ,yCAAyC;IACzC,oBAAoB;;;;;;IAapB,wBAAwB;IACxB,aAAa;;;;;;;;IAmDb,2DAA2D;IAC3D,iBAAiB;;;;;IAajB,wCAAwC;IACxC,MAAM;;;;IAKN,uBAAuB;IACvB,MAAM;;;;IAKN,0CAA0C;IAC1C,OAAO;;;CAQR,CAAC;AAEF,eAAO,MAAM,yBAAyB;IACpC,WAAW;IACX,IAAI;IACJ,oBAAoB;IACpB,aAAa;IACb,iBAAiB;IACjB,MAAM;IACN,MAAM;IACN,OAAO;CACR,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { BaseClass, ToolActionPayload, ToolParams } from '../../interfaces/common';
2
+ import { DOCS_TOOL_SCHEMA } from './docs.definitions';
3
+ export type DocsToolParams = ToolParams<typeof DOCS_TOOL_SCHEMA>;
4
+ export type DocsToolSchema<K extends keyof typeof DOCS_TOOL_SCHEMA> = ToolActionPayload<typeof DOCS_TOOL_SCHEMA, K>;
5
+ export declare class DocItem {
6
+ constructor(data: BaseClass<DocItem>);
7
+ /** Código curto (nanoid) */
8
+ code: string;
9
+ /** Título do documento */
10
+ title: string;
11
+ /** Conteúdo markdown */
12
+ body: string;
13
+ /** Resumo curto do documento (fornecido pelo agente, máximo DOC_SUMMARY_LENGTH caracteres) */
14
+ summary: string;
15
+ /** ISO date de criação */
16
+ createdAt: string;
17
+ /** ISO date da última modificação */
18
+ updatedAt: string;
19
+ /** Código do documento pai (cria hierarquia no publish) */
20
+ parentCode?: string;
21
+ /** Etiquetas livres para categorização */
22
+ tags?: string[];
23
+ /** Metadados arbitrários */
24
+ metadata?: Record<string, unknown>;
25
+ }
26
+ export type DocsStore = Map<string, DocItem>;
27
+ //# sourceMappingURL=docs.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.entity.d.ts","sourceRoot":"","sources":["../../../../../extensions/pipa/features/docs/docs.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEjE,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,OAAO,gBAAgB,IAAI,iBAAiB,CAAC,OAAO,gBAAgB,EAAE,CAAC,CAAC,CAAC;AAEpH,qBAAa,OAAO;IAClB,YAAY,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,EAEnC;IAED,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IAEb,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IAEd,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,8FAA8F;IAC9F,OAAO,EAAE,MAAM,CAAC;IAEhB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAElB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';
2
+ import { PipaBaseFeature } from '../base-feature';
3
+ declare const DocsFeature_base: import("ts-mixer/dist/types/types").Class<any[], PipaBaseFeature, typeof PipaBaseFeature>;
4
+ /**
5
+ * Feature principal de gerenciamento de documentos.
6
+ * Registra a tool 'docs' e persiste os dados em docs/entries.json.
7
+ */
8
+ export declare class DocsFeature extends DocsFeature_base {
9
+ loadDocs(): void;
10
+ initialize(pi: ExtensionAPI): void;
11
+ }
12
+ export {};
13
+ //# sourceMappingURL=docs.feature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.feature.d.ts","sourceRoot":"","sources":["../../../../../extensions/pipa/features/docs/docs.feature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAOpE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;;AAMlD;;;GAGG;AACH,qBAAa,WAAY,SAAQ,gBAAsB;IAE9C,QAAQ,IAAI,IAAI,CAEtB;IAED,UAAU,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAsDjC;CACF"}
@@ -0,0 +1,22 @@
1
+ import { PipaApi } from '../../interfaces';
2
+ import { DocItem, DocsToolSchema } from './docs.entity';
3
+ import { DocsCore, DocsValidator } from './hub';
4
+ declare const DocsHub_base: import("ts-mixer/dist/types/types").Class<any[], DocsValidator & DocsCore, typeof DocsValidator & typeof DocsCore>;
5
+ /**
6
+ * Gerencia a base de documentos do projeto.
7
+ */
8
+ export declare class DocsHub extends DocsHub_base {
9
+ readonly pipa: PipaApi;
10
+ constructor(pipa: PipaApi);
11
+ instantiate(data: DocsToolSchema<'instantiate'>): {
12
+ action: "instantiate";
13
+ title: string;
14
+ parentCode?: string | undefined;
15
+ tags?: string[] | undefined;
16
+ metadata?: Record<string, unknown> | undefined;
17
+ body: string;
18
+ summary: string;
19
+ } & DocItem;
20
+ }
21
+ export {};
22
+ //# sourceMappingURL=docs.hub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.hub.d.ts","sourceRoot":"","sources":["../../../../../extensions/pipa/features/docs/docs.hub.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;;AAEhD;;GAEG;AACH,qBAAa,OAAQ,SAAQ,YAA8B;IAC7C,QAAQ,CAAC,IAAI,EAAE,OAAO;IAAlC,YAAqB,IAAI,EAAE,OAAO,EAEjC;IAED,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC;;;;;;;;gBAgB9C;CACF"}
@@ -0,0 +1,38 @@
1
+ import type { PipaApi } from '../../../interfaces';
2
+ import { DocListItem } from '../../../lib/doc';
3
+ import { DocItem, DocsToolSchema } from '../docs.entity';
4
+ import { DocsState } from './state';
5
+ import { DocsValidator } from './validator';
6
+ declare const DocsCore_base: import("ts-mixer/dist/types/types").Class<any[], DocsValidator & DocsState, typeof DocsValidator & typeof DocsState>;
7
+ /**
8
+ * Núcleo de CRUD dos documentos.
9
+ * Síncrono. Persiste todos os itens como um único entries.json.
10
+ * Leitura (list/get) delega para DocsState.
11
+ */
12
+ export declare class DocsCore extends DocsCore_base {
13
+ readonly pipa: PipaApi;
14
+ constructor(pipa: PipaApi);
15
+ /** Persiste um único item no disco via DocsState (FileManager.save) */
16
+ persistOne(item: DocItem): void;
17
+ /** Busca item por código */
18
+ get(code: string): DocItem | undefined;
19
+ /** Lista itens com filtro e ordenação */
20
+ list(sort: DocsToolSchema<'list'>): DocListItem[];
21
+ /** Atualiza campo do frontmatter e persiste o entries.json */
22
+ updateFrontmatter({ code, field, value }: DocsToolSchema<'update-frontmatter'>): DocItem;
23
+ /** Manipula corpo markdown e persiste o entries.json */
24
+ updateBody({ code, mode, value, replacement, summary }: DocsToolSchema<'update-body'>): DocItem;
25
+ /** Faz merge de dados livres (metadata) no item e persiste o entries.json */
26
+ updateMetadata({ code, metadata }: DocsToolSchema<'update-metadata'>): DocItem;
27
+ /** Busca fuzzy por título/código/tags via fuse.js */
28
+ select({ query }: DocsToolSchema<'select'>): DocItem[];
29
+ /** Remove item e salva json */
30
+ remove({ code }: DocsToolSchema<'remove'>): DocItem;
31
+ /** Publica site estático extraindo .md e rodando retypeapp */
32
+ publish(): Promise<{
33
+ path: string;
34
+ url: string;
35
+ }>;
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../../../../extensions/pipa/features/docs/hub/core.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAsC,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;;AAI5C;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,aAA+B;IAC/C,QAAQ,CAAC,IAAI,EAAE,OAAO;IAAlC,YAAqB,IAAI,EAAE,OAAO,EAEjC;IAED,uEAAuE;IACvE,UAAU,CAAC,IAAI,EAAE,OAAO,QAGvB;IAED,4BAA4B;IAC5B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAErC;IAED,yCAAyC;IACzC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,WAAW,EAAE,CAEhD;IAED,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,cAAc,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAavF;IAED,wDAAwD;IACxD,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAgB,EAAE,OAAO,EAAE,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,OAAO,CAmBnG;IAED,6EAA6E;IAC7E,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,cAAc,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAU7E;IAED,qDAAqD;IACrD,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,OAAO,EAAE,CASrD;IAED,+BAA+B;IAC/B,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,OAAO,CAQlD;IAED,8DAA8D;IACxD,OAAO,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAiEtD;CACF"}
@@ -0,0 +1,4 @@
1
+ export { DocsCore } from './core';
2
+ export { DocsState } from './state';
3
+ export { DocsValidator } from './validator';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../extensions/pipa/features/docs/hub/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { PipaApi } from '../../../interfaces';
2
+ import { FileManager } from '../../../lib';
3
+ import { DocItem, DocsToolSchema } from '../docs.entity';
4
+ /**
5
+ * Utilitário de leitura: carrega entries.json do disco sob demanda.
6
+ * Sem cache em memória. DocsCore é responsável pela escrita (persistOne).
7
+ */
8
+ export declare class DocsState {
9
+ readonly pipa: PipaApi;
10
+ constructor(pipa: PipaApi);
11
+ /**
12
+ * Carrega entries.json do disco para a store em memória, substituindo o cache atual.
13
+ */
14
+ static load(): void;
15
+ private static get store();
16
+ readonly fileManager: FileManager<DocItem[]>;
17
+ /**
18
+ * Lista itens com filtro (por tags) e ordenação — usa o store carregado.
19
+ */
20
+ static listBy(criteria?: DocsToolSchema<'list'>): DocItem[];
21
+ /** Lista todos os itens (sem filtro) */
22
+ static all(): DocItem[];
23
+ /** Persiste todos os itens no disco (entries.json) via FileManager */
24
+ saveAll(): void;
25
+ /** Busca um item por código */
26
+ static get(code: string): DocItem | undefined;
27
+ /** Limpa o cache */
28
+ static clear(): void;
29
+ /** Adiciona um item ao cache */
30
+ static add(item: DocItem): void;
31
+ /** Remove um item do cache */
32
+ static delete(code: string): boolean;
33
+ }
34
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../../extensions/pipa/features/docs/hub/state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAc,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAa,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEpE;;;GAGG;AACH,qBAAa,SAAS;IACR,QAAQ,CAAC,IAAI,EAAE,OAAO;IAAlC,YAAqB,IAAI,EAAE,OAAO,EAEjC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,IAAI,IAAI,CAKlB;IAED,OAAO,CAAC,MAAM,KAAK,KAAK,GAQvB;IAED,SAAgB,WAAW,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAEpD;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,OAAO,EAAE,CAoB1D;IAED,wCAAwC;IACxC,MAAM,CAAC,GAAG,IAAI,OAAO,EAAE,CAEtB;IAED,sEAAsE;IACtE,OAAO,SAEN;IAED,+BAA+B;IAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAE5C;IAED,oBAAoB;IACpB,MAAM,CAAC,KAAK,SAEX;IAED,gCAAgC;IAChC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,QAEvB;IAED,8BAA8B;IAC9B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnC;CACF"}