@code-yeongyu/senpi 2026.6.3 → 2026.6.6-3

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 (1075) hide show
  1. package/CHANGELOG.md +52 -4
  2. package/README.md +21 -4
  3. package/dist/bun/cli.d.ts.map +1 -1
  4. package/dist/bun/cli.js +1 -1
  5. package/dist/bun/cli.js.map +1 -1
  6. package/dist/bun/register-bedrock.d.ts.map +1 -1
  7. package/dist/bun/restore-sandbox-env.d.ts.map +1 -1
  8. package/dist/bun/restore-sandbox-env.js.map +1 -1
  9. package/dist/cli/args.d.ts +1 -0
  10. package/dist/cli/args.d.ts.map +1 -1
  11. package/dist/cli/args.js +14 -2
  12. package/dist/cli/args.js.map +1 -1
  13. package/dist/cli/config-selector.d.ts.map +1 -1
  14. package/dist/cli/config-selector.js.map +1 -1
  15. package/dist/cli/file-processor.d.ts.map +1 -1
  16. package/dist/cli/file-processor.js.map +1 -1
  17. package/dist/cli/initial-message.d.ts +1 -1
  18. package/dist/cli/initial-message.d.ts.map +1 -1
  19. package/dist/cli/initial-message.js.map +1 -1
  20. package/dist/cli/list-models.d.ts.map +1 -1
  21. package/dist/cli/list-models.js.map +1 -1
  22. package/dist/cli/session-picker.d.ts.map +1 -1
  23. package/dist/cli/session-picker.js.map +1 -1
  24. package/dist/cli-main.d.ts +3 -0
  25. package/dist/cli-main.d.ts.map +1 -0
  26. package/dist/cli-main.js +10 -0
  27. package/dist/cli-main.js.map +1 -0
  28. package/dist/cli.d.ts.map +1 -1
  29. package/dist/cli.js +46 -13
  30. package/dist/cli.js.map +1 -1
  31. package/dist/config.d.ts.map +1 -1
  32. package/dist/config.js.map +1 -1
  33. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  34. package/dist/core/agent-session-runtime.js +0 -8
  35. package/dist/core/agent-session-runtime.js.map +1 -1
  36. package/dist/core/agent-session-services.d.ts.map +1 -1
  37. package/dist/core/agent-session-services.js.map +1 -1
  38. package/dist/core/agent-session.d.ts +32 -0
  39. package/dist/core/agent-session.d.ts.map +1 -1
  40. package/dist/core/agent-session.js +51 -79
  41. package/dist/core/agent-session.js.map +1 -1
  42. package/dist/core/auth-guidance.d.ts.map +1 -1
  43. package/dist/core/auth-guidance.js.map +1 -1
  44. package/dist/core/auth-storage.d.ts +4 -0
  45. package/dist/core/auth-storage.d.ts.map +1 -1
  46. package/dist/core/auth-storage.js +8 -11
  47. package/dist/core/auth-storage.js.map +1 -1
  48. package/dist/core/bash-executor.d.ts.map +1 -1
  49. package/dist/core/bash-executor.js.map +1 -1
  50. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  51. package/dist/core/compaction/branch-summarization.js.map +1 -1
  52. package/dist/core/compaction/compaction.d.ts.map +1 -1
  53. package/dist/core/compaction/compaction.js.map +1 -1
  54. package/dist/core/compaction/index.d.ts.map +1 -1
  55. package/dist/core/compaction/utils.d.ts.map +1 -1
  56. package/dist/core/compaction/utils.js.map +1 -1
  57. package/dist/core/defaults.d.ts.map +1 -1
  58. package/dist/core/diagnostics.d.ts.map +1 -1
  59. package/dist/core/dynamic-prompt/build.d.ts.map +1 -1
  60. package/dist/core/dynamic-prompt/build.js.map +1 -1
  61. package/dist/core/dynamic-prompt/exploration.d.ts.map +1 -1
  62. package/dist/core/dynamic-prompt/exploration.js.map +1 -1
  63. package/dist/core/dynamic-prompt/identity.d.ts.map +1 -1
  64. package/dist/core/dynamic-prompt/identity.js.map +1 -1
  65. package/dist/core/dynamic-prompt/index.d.ts.map +1 -1
  66. package/dist/core/dynamic-prompt/intent-gate.d.ts.map +1 -1
  67. package/dist/core/dynamic-prompt/intent-gate.js.map +1 -1
  68. package/dist/core/dynamic-prompt/parallel-tools.d.ts.map +1 -1
  69. package/dist/core/dynamic-prompt/parallel-tools.js.map +1 -1
  70. package/dist/core/dynamic-prompt/policies.d.ts.map +1 -1
  71. package/dist/core/dynamic-prompt/policies.js.map +1 -1
  72. package/dist/core/dynamic-prompt/style.d.ts.map +1 -1
  73. package/dist/core/dynamic-prompt/style.js.map +1 -1
  74. package/dist/core/dynamic-prompt/tool-categorization.d.ts.map +1 -1
  75. package/dist/core/dynamic-prompt/tool-categorization.js.map +1 -1
  76. package/dist/core/dynamic-prompt/tool-section.d.ts.map +1 -1
  77. package/dist/core/dynamic-prompt/tool-section.js.map +1 -1
  78. package/dist/core/dynamic-prompt/types.d.ts.map +1 -1
  79. package/dist/core/dynamic-prompt/verification.d.ts.map +1 -1
  80. package/dist/core/dynamic-prompt/verification.js.map +1 -1
  81. package/dist/core/event-bus.d.ts.map +1 -1
  82. package/dist/core/event-bus.js.map +1 -1
  83. package/dist/core/exec.d.ts.map +1 -1
  84. package/dist/core/exec.js.map +1 -1
  85. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
  86. package/dist/core/export-html/ansi-to-html.js.map +1 -1
  87. package/dist/core/export-html/index.d.ts.map +1 -1
  88. package/dist/core/export-html/index.js.map +1 -1
  89. package/dist/core/export-html/template.js +19 -6
  90. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  91. package/dist/core/export-html/tool-renderer.js.map +1 -1
  92. package/dist/core/extensions/builtin/anthropic-bash/index.d.ts.map +1 -1
  93. package/dist/core/extensions/builtin/anthropic-bash/index.js.map +1 -1
  94. package/dist/core/extensions/builtin/anthropic-web-search/index.d.ts.map +1 -1
  95. package/dist/core/extensions/builtin/anthropic-web-search/index.js.map +1 -1
  96. package/dist/core/extensions/builtin/bash-timeout/index.d.ts.map +1 -1
  97. package/dist/core/extensions/builtin/bash-timeout/index.js.map +1 -1
  98. package/dist/core/extensions/builtin/bash-timeout/timeout.d.ts.map +1 -1
  99. package/dist/core/extensions/builtin/bash-timeout/timeout.js.map +1 -1
  100. package/dist/core/extensions/builtin/compaction/checkpoint-state.d.ts.map +1 -1
  101. package/dist/core/extensions/builtin/compaction/checkpoint-state.js.map +1 -1
  102. package/dist/core/extensions/builtin/compaction/circuit-breaker.d.ts.map +1 -1
  103. package/dist/core/extensions/builtin/compaction/circuit-breaker.js.map +1 -1
  104. package/dist/core/extensions/builtin/compaction/context-reduction.d.ts.map +1 -1
  105. package/dist/core/extensions/builtin/compaction/context-reduction.js +1 -1
  106. package/dist/core/extensions/builtin/compaction/context-reduction.js.map +1 -1
  107. package/dist/core/extensions/builtin/compaction/degradation-monitor.d.ts.map +1 -1
  108. package/dist/core/extensions/builtin/compaction/degradation-monitor.js.map +1 -1
  109. package/dist/core/extensions/builtin/compaction/index.d.ts.map +1 -1
  110. package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
  111. package/dist/core/extensions/builtin/compaction/openai-remote.d.ts.map +1 -1
  112. package/dist/core/extensions/builtin/compaction/openai-remote.js.map +1 -1
  113. package/dist/core/extensions/builtin/compaction/overflow-detection.d.ts.map +1 -1
  114. package/dist/core/extensions/builtin/compaction/overflow-detection.js.map +1 -1
  115. package/dist/core/extensions/builtin/compaction/per-turn-cap.d.ts.map +1 -1
  116. package/dist/core/extensions/builtin/compaction/per-turn-cap.js.map +1 -1
  117. package/dist/core/extensions/builtin/compaction/policy.d.ts.map +1 -1
  118. package/dist/core/extensions/builtin/compaction/policy.js.map +1 -1
  119. package/dist/core/extensions/builtin/compaction/prompts.d.ts.map +1 -1
  120. package/dist/core/extensions/builtin/compaction/prompts.js.map +1 -1
  121. package/dist/core/extensions/builtin/compaction/repair-tool-pairs.d.ts.map +1 -1
  122. package/dist/core/extensions/builtin/compaction/repair-tool-pairs.js.map +1 -1
  123. package/dist/core/extensions/builtin/compaction/restoration-tracker.d.ts.map +1 -1
  124. package/dist/core/extensions/builtin/compaction/restoration-tracker.js.map +1 -1
  125. package/dist/core/extensions/builtin/compaction/speculative.d.ts.map +1 -1
  126. package/dist/core/extensions/builtin/compaction/speculative.js.map +1 -1
  127. package/dist/core/extensions/builtin/compaction/state.d.ts.map +1 -1
  128. package/dist/core/extensions/builtin/compaction/state.js.map +1 -1
  129. package/dist/core/extensions/builtin/compaction/todo-bridge.d.ts.map +1 -1
  130. package/dist/core/extensions/builtin/compaction/todo-bridge.js.map +1 -1
  131. package/dist/core/extensions/builtin/compaction/tool-truncation.d.ts.map +1 -1
  132. package/dist/core/extensions/builtin/compaction/tool-truncation.js.map +1 -1
  133. package/dist/core/extensions/builtin/diff.d.ts.map +1 -1
  134. package/dist/core/extensions/builtin/diff.js.map +1 -1
  135. package/dist/core/extensions/builtin/files.d.ts.map +1 -1
  136. package/dist/core/extensions/builtin/files.js.map +1 -1
  137. package/dist/core/extensions/builtin/gpt-apply-patch/apply.d.ts.map +1 -1
  138. package/dist/core/extensions/builtin/gpt-apply-patch/apply.js.map +1 -1
  139. package/dist/core/extensions/builtin/gpt-apply-patch/constants.d.ts.map +1 -1
  140. package/dist/core/extensions/builtin/gpt-apply-patch/constants.js.map +1 -1
  141. package/dist/core/extensions/builtin/gpt-apply-patch/errors.d.ts.map +1 -1
  142. package/dist/core/extensions/builtin/gpt-apply-patch/errors.js +0 -2
  143. package/dist/core/extensions/builtin/gpt-apply-patch/errors.js.map +1 -1
  144. package/dist/core/extensions/builtin/gpt-apply-patch/extension.d.ts.map +1 -1
  145. package/dist/core/extensions/builtin/gpt-apply-patch/extension.js.map +1 -1
  146. package/dist/core/extensions/builtin/gpt-apply-patch/index.d.ts.map +1 -1
  147. package/dist/core/extensions/builtin/gpt-apply-patch/params.d.ts.map +1 -1
  148. package/dist/core/extensions/builtin/gpt-apply-patch/params.js.map +1 -1
  149. package/dist/core/extensions/builtin/gpt-apply-patch/parser.d.ts.map +1 -1
  150. package/dist/core/extensions/builtin/gpt-apply-patch/parser.js.map +1 -1
  151. package/dist/core/extensions/builtin/gpt-apply-patch/patch-diff.d.ts.map +1 -1
  152. package/dist/core/extensions/builtin/gpt-apply-patch/patch-diff.js.map +1 -1
  153. package/dist/core/extensions/builtin/gpt-apply-patch/patch-replace.d.ts.map +1 -1
  154. package/dist/core/extensions/builtin/gpt-apply-patch/patch-replace.js.map +1 -1
  155. package/dist/core/extensions/builtin/gpt-apply-patch/preview-format.d.ts.map +1 -1
  156. package/dist/core/extensions/builtin/gpt-apply-patch/preview-format.js.map +1 -1
  157. package/dist/core/extensions/builtin/gpt-apply-patch/preview.d.ts.map +1 -1
  158. package/dist/core/extensions/builtin/gpt-apply-patch/preview.js.map +1 -1
  159. package/dist/core/extensions/builtin/gpt-apply-patch/seek-sequence.d.ts.map +1 -1
  160. package/dist/core/extensions/builtin/gpt-apply-patch/seek-sequence.js.map +1 -1
  161. package/dist/core/extensions/builtin/gpt-apply-patch/streaming-parser.d.ts.map +1 -1
  162. package/dist/core/extensions/builtin/gpt-apply-patch/streaming-parser.js +7 -5
  163. package/dist/core/extensions/builtin/gpt-apply-patch/streaming-parser.js.map +1 -1
  164. package/dist/core/extensions/builtin/gpt-apply-patch/streaming-render.d.ts.map +1 -1
  165. package/dist/core/extensions/builtin/gpt-apply-patch/streaming-render.js.map +1 -1
  166. package/dist/core/extensions/builtin/gpt-apply-patch/text.d.ts.map +1 -1
  167. package/dist/core/extensions/builtin/gpt-apply-patch/text.js.map +1 -1
  168. package/dist/core/extensions/builtin/gpt-apply-patch/tool.d.ts.map +1 -1
  169. package/dist/core/extensions/builtin/gpt-apply-patch/tool.js.map +1 -1
  170. package/dist/core/extensions/builtin/gpt-apply-patch/types.d.ts.map +1 -1
  171. package/dist/core/extensions/builtin/gpt-apply-patch/workspace.d.ts.map +1 -1
  172. package/dist/core/extensions/builtin/gpt-apply-patch/workspace.js.map +1 -1
  173. package/dist/core/extensions/builtin/history-search/filter.d.ts.map +1 -1
  174. package/dist/core/extensions/builtin/history-search/filter.js.map +1 -1
  175. package/dist/core/extensions/builtin/history-search/index.d.ts.map +1 -1
  176. package/dist/core/extensions/builtin/history-search/index.js.map +1 -1
  177. package/dist/core/extensions/builtin/history-search/indexer.d.ts.map +1 -1
  178. package/dist/core/extensions/builtin/history-search/indexer.js.map +1 -1
  179. package/dist/core/extensions/builtin/history-search/overlay.d.ts.map +1 -1
  180. package/dist/core/extensions/builtin/history-search/overlay.js +3 -6
  181. package/dist/core/extensions/builtin/history-search/overlay.js.map +1 -1
  182. package/dist/core/extensions/builtin/history-search/types.d.ts.map +1 -1
  183. package/dist/core/extensions/builtin/index.d.ts.map +1 -1
  184. package/dist/core/extensions/builtin/kimi-web-search/index.d.ts.map +1 -1
  185. package/dist/core/extensions/builtin/kimi-web-search/index.js.map +1 -1
  186. package/dist/core/extensions/builtin/openai-web-search/index.d.ts.map +1 -1
  187. package/dist/core/extensions/builtin/openai-web-search/index.js.map +1 -1
  188. package/dist/core/extensions/builtin/permission-system/arity.d.ts.map +1 -1
  189. package/dist/core/extensions/builtin/permission-system/arity.js.map +1 -1
  190. package/dist/core/extensions/builtin/permission-system/cli.d.ts.map +1 -1
  191. package/dist/core/extensions/builtin/permission-system/cli.js.map +1 -1
  192. package/dist/core/extensions/builtin/permission-system/config.d.ts.map +1 -1
  193. package/dist/core/extensions/builtin/permission-system/config.js.map +1 -1
  194. package/dist/core/extensions/builtin/permission-system/evaluate.d.ts.map +1 -1
  195. package/dist/core/extensions/builtin/permission-system/evaluate.js.map +1 -1
  196. package/dist/core/extensions/builtin/permission-system/events.d.ts.map +1 -1
  197. package/dist/core/extensions/builtin/permission-system/events.js.map +1 -1
  198. package/dist/core/extensions/builtin/permission-system/external-dir.d.ts.map +1 -1
  199. package/dist/core/extensions/builtin/permission-system/external-dir.js.map +1 -1
  200. package/dist/core/extensions/builtin/permission-system/index.d.ts.map +1 -1
  201. package/dist/core/extensions/builtin/permission-system/index.js.map +1 -1
  202. package/dist/core/extensions/builtin/permission-system/non-interactive.d.ts.map +1 -1
  203. package/dist/core/extensions/builtin/permission-system/non-interactive.js.map +1 -1
  204. package/dist/core/extensions/builtin/permission-system/parsers.d.ts.map +1 -1
  205. package/dist/core/extensions/builtin/permission-system/parsers.js +3 -1
  206. package/dist/core/extensions/builtin/permission-system/parsers.js.map +1 -1
  207. package/dist/core/extensions/builtin/permission-system/prompt.d.ts.map +1 -1
  208. package/dist/core/extensions/builtin/permission-system/prompt.js.map +1 -1
  209. package/dist/core/extensions/builtin/permission-system/service.d.ts.map +1 -1
  210. package/dist/core/extensions/builtin/permission-system/service.js +2 -5
  211. package/dist/core/extensions/builtin/permission-system/service.js.map +1 -1
  212. package/dist/core/extensions/builtin/permission-system/settings.d.ts.map +1 -1
  213. package/dist/core/extensions/builtin/permission-system/settings.js.map +1 -1
  214. package/dist/core/extensions/builtin/permission-system/storage.d.ts.map +1 -1
  215. package/dist/core/extensions/builtin/permission-system/storage.js.map +1 -1
  216. package/dist/core/extensions/builtin/permission-system/types.d.ts.map +1 -1
  217. package/dist/core/extensions/builtin/permission-system/types.js +3 -5
  218. package/dist/core/extensions/builtin/permission-system/types.js.map +1 -1
  219. package/dist/core/extensions/builtin/permission-system/wildcard.d.ts.map +1 -1
  220. package/dist/core/extensions/builtin/permission-system/wildcard.js.map +1 -1
  221. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-5.d.ts.map +1 -1
  222. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-5.js.map +1 -1
  223. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-6.d.ts.map +1 -1
  224. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-6.js.map +1 -1
  225. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-7.d.ts.map +1 -1
  226. package/dist/core/extensions/builtin/prompt-preset/claude-opus-4-7.js.map +1 -1
  227. package/dist/core/extensions/builtin/prompt-preset/file-operations.d.ts.map +1 -1
  228. package/dist/core/extensions/builtin/prompt-preset/file-operations.js.map +1 -1
  229. package/dist/core/extensions/builtin/prompt-preset/gpt-5.2.d.ts.map +1 -1
  230. package/dist/core/extensions/builtin/prompt-preset/gpt-5.2.js.map +1 -1
  231. package/dist/core/extensions/builtin/prompt-preset/gpt-5.3-codex.d.ts.map +1 -1
  232. package/dist/core/extensions/builtin/prompt-preset/gpt-5.3-codex.js.map +1 -1
  233. package/dist/core/extensions/builtin/prompt-preset/gpt-5.4.d.ts.map +1 -1
  234. package/dist/core/extensions/builtin/prompt-preset/gpt-5.4.js.map +1 -1
  235. package/dist/core/extensions/builtin/prompt-preset/gpt-5.5.d.ts.map +1 -1
  236. package/dist/core/extensions/builtin/prompt-preset/gpt-5.5.js.map +1 -1
  237. package/dist/core/extensions/builtin/prompt-preset/gpt-5.d.ts.map +1 -1
  238. package/dist/core/extensions/builtin/prompt-preset/gpt-5.js.map +1 -1
  239. package/dist/core/extensions/builtin/prompt-preset/index.d.ts.map +1 -1
  240. package/dist/core/extensions/builtin/prompt-preset/index.js.map +1 -1
  241. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-6.d.ts.map +1 -1
  242. package/dist/core/extensions/builtin/prompt-preset/kimi-k2-6.js.map +1 -1
  243. package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
  244. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  245. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
  246. package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
  247. package/dist/core/extensions/builtin/prompt-url-widget.d.ts.map +1 -1
  248. package/dist/core/extensions/builtin/prompt-url-widget.js.map +1 -1
  249. package/dist/core/extensions/builtin/redraws.d.ts.map +1 -1
  250. package/dist/core/extensions/builtin/redraws.js.map +1 -1
  251. package/dist/core/extensions/builtin/service-tier.d.ts.map +1 -1
  252. package/dist/core/extensions/builtin/service-tier.js.map +1 -1
  253. package/dist/core/extensions/builtin/session-observer/index.d.ts.map +1 -1
  254. package/dist/core/extensions/builtin/session-observer/index.js.map +1 -1
  255. package/dist/core/extensions/builtin/session-observer/loader.d.ts.map +1 -1
  256. package/dist/core/extensions/builtin/session-observer/loader.js.map +1 -1
  257. package/dist/core/extensions/builtin/session-observer/overlay-format.d.ts.map +1 -1
  258. package/dist/core/extensions/builtin/session-observer/overlay-format.js.map +1 -1
  259. package/dist/core/extensions/builtin/session-observer/overlay.d.ts.map +1 -1
  260. package/dist/core/extensions/builtin/session-observer/overlay.js +13 -18
  261. package/dist/core/extensions/builtin/session-observer/overlay.js.map +1 -1
  262. package/dist/core/extensions/builtin/session-observer/scanner.d.ts.map +1 -1
  263. package/dist/core/extensions/builtin/session-observer/scanner.js.map +1 -1
  264. package/dist/core/extensions/builtin/session-observer/text.d.ts.map +1 -1
  265. package/dist/core/extensions/builtin/session-observer/text.js.map +1 -1
  266. package/dist/core/extensions/builtin/session-observer/transcript-entries.d.ts.map +1 -1
  267. package/dist/core/extensions/builtin/session-observer/transcript-entries.js.map +1 -1
  268. package/dist/core/extensions/builtin/session-observer/transcript-format.d.ts.map +1 -1
  269. package/dist/core/extensions/builtin/session-observer/transcript-format.js.map +1 -1
  270. package/dist/core/extensions/builtin/session-observer/transcript.d.ts.map +1 -1
  271. package/dist/core/extensions/builtin/session-observer/transcript.js.map +1 -1
  272. package/dist/core/extensions/builtin/session-observer/types.d.ts.map +1 -1
  273. package/dist/core/extensions/builtin/system-messages.d.ts.map +1 -1
  274. package/dist/core/extensions/builtin/system-messages.js.map +1 -1
  275. package/dist/core/extensions/builtin/todotools/continuation/config.d.ts +1 -1
  276. package/dist/core/extensions/builtin/todotools/continuation/config.d.ts.map +1 -1
  277. package/dist/core/extensions/builtin/todotools/continuation/config.js.map +1 -1
  278. package/dist/core/extensions/builtin/todotools/continuation/index.d.ts.map +1 -1
  279. package/dist/core/extensions/builtin/todotools/continuation/prompt.d.ts.map +1 -1
  280. package/dist/core/extensions/builtin/todotools/continuation/prompt.js.map +1 -1
  281. package/dist/core/extensions/builtin/todotools/continuation/runtime.d.ts.map +1 -1
  282. package/dist/core/extensions/builtin/todotools/continuation/runtime.js.map +1 -1
  283. package/dist/core/extensions/builtin/todotools/index.d.ts.map +1 -1
  284. package/dist/core/extensions/builtin/todotools/index.js.map +1 -1
  285. package/dist/core/extensions/builtin/todotools/prompt.d.ts.map +1 -1
  286. package/dist/core/extensions/builtin/todotools/settings.d.ts.map +1 -1
  287. package/dist/core/extensions/builtin/todotools/settings.js.map +1 -1
  288. package/dist/core/extensions/builtin/todotools/state.d.ts.map +1 -1
  289. package/dist/core/extensions/builtin/todotools/state.js.map +1 -1
  290. package/dist/core/extensions/builtin/todotools/system-messages.d.ts.map +1 -1
  291. package/dist/core/extensions/builtin/todotools/system-messages.js.map +1 -1
  292. package/dist/core/extensions/builtin/todotools/tools/todoread.d.ts.map +1 -1
  293. package/dist/core/extensions/builtin/todotools/tools/todoread.js.map +1 -1
  294. package/dist/core/extensions/builtin/todotools/tools/todowrite.d.ts.map +1 -1
  295. package/dist/core/extensions/builtin/todotools/tools/todowrite.js.map +1 -1
  296. package/dist/core/extensions/builtin/tool-pair-guard/index.d.ts.map +1 -1
  297. package/dist/core/extensions/builtin/tool-pair-guard/index.js.map +1 -1
  298. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-anthropic-payload.d.ts.map +1 -1
  299. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-anthropic-payload.js.map +1 -1
  300. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-openai-chat-completions-payload.d.ts.map +1 -1
  301. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-openai-chat-completions-payload.js.map +1 -1
  302. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-openai-responses-payload.d.ts.map +1 -1
  303. package/dist/core/extensions/builtin/tool-pair-guard/sanitize-openai-responses-payload.js.map +1 -1
  304. package/dist/core/extensions/builtin/tps.d.ts.map +1 -1
  305. package/dist/core/extensions/builtin/tps.js.map +1 -1
  306. package/dist/core/extensions/index.d.ts.map +1 -1
  307. package/dist/core/extensions/loader.d.ts.map +1 -1
  308. package/dist/core/extensions/loader.js.map +1 -1
  309. package/dist/core/extensions/runner.d.ts.map +1 -1
  310. package/dist/core/extensions/runner.js +35 -43
  311. package/dist/core/extensions/runner.js.map +1 -1
  312. package/dist/core/extensions/types.d.ts +1 -1
  313. package/dist/core/extensions/types.d.ts.map +1 -1
  314. package/dist/core/extensions/types.js.map +1 -1
  315. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  316. package/dist/core/extensions/wrapper.js.map +1 -1
  317. package/dist/core/footer-data-provider.d.ts.map +1 -1
  318. package/dist/core/footer-data-provider.js +17 -18
  319. package/dist/core/footer-data-provider.js.map +1 -1
  320. package/dist/core/http-dispatcher.d.ts.map +1 -1
  321. package/dist/core/http-dispatcher.js.map +1 -1
  322. package/dist/core/index.d.ts.map +1 -1
  323. package/dist/core/keybindings.d.ts +1 -1
  324. package/dist/core/keybindings.d.ts.map +1 -1
  325. package/dist/core/keybindings.js +0 -1
  326. package/dist/core/keybindings.js.map +1 -1
  327. package/dist/core/messages.d.ts.map +1 -1
  328. package/dist/core/messages.js.map +1 -1
  329. package/dist/core/model-registry.d.ts.map +1 -1
  330. package/dist/core/model-registry.js +8 -10
  331. package/dist/core/model-registry.js.map +1 -1
  332. package/dist/core/model-resolver.d.ts.map +1 -1
  333. package/dist/core/model-resolver.js +2 -0
  334. package/dist/core/model-resolver.js.map +1 -1
  335. package/dist/core/output-guard.d.ts.map +1 -1
  336. package/dist/core/output-guard.js.map +1 -1
  337. package/dist/core/package-manager.d.ts +3 -0
  338. package/dist/core/package-manager.d.ts.map +1 -1
  339. package/dist/core/package-manager.js +47 -19
  340. package/dist/core/package-manager.js.map +1 -1
  341. package/dist/core/prompt-templates.d.ts.map +1 -1
  342. package/dist/core/prompt-templates.js.map +1 -1
  343. package/dist/core/provider-attribution.d.ts.map +1 -1
  344. package/dist/core/provider-attribution.js.map +1 -1
  345. package/dist/core/provider-display-names.d.ts.map +1 -1
  346. package/dist/core/provider-display-names.js +2 -0
  347. package/dist/core/provider-display-names.js.map +1 -1
  348. package/dist/core/resolve-config-value.d.ts.map +1 -1
  349. package/dist/core/resolve-config-value.js.map +1 -1
  350. package/dist/core/resource-loader.d.ts +1 -0
  351. package/dist/core/resource-loader.d.ts.map +1 -1
  352. package/dist/core/resource-loader.js +26 -53
  353. package/dist/core/resource-loader.js.map +1 -1
  354. package/dist/core/sdk.d.ts.map +1 -1
  355. package/dist/core/sdk.js.map +1 -1
  356. package/dist/core/session-cwd.d.ts.map +1 -1
  357. package/dist/core/session-cwd.js +0 -1
  358. package/dist/core/session-cwd.js.map +1 -1
  359. package/dist/core/session-manager.d.ts.map +1 -1
  360. package/dist/core/session-manager.js +7 -11
  361. package/dist/core/session-manager.js.map +1 -1
  362. package/dist/core/session-work-barrier.d.ts.map +1 -1
  363. package/dist/core/session-work-barrier.js +5 -3
  364. package/dist/core/session-work-barrier.js.map +1 -1
  365. package/dist/core/settings-manager.d.ts +10 -2
  366. package/dist/core/settings-manager.d.ts.map +1 -1
  367. package/dist/core/settings-manager.js +77 -46
  368. package/dist/core/settings-manager.js.map +1 -1
  369. package/dist/core/skills.d.ts.map +1 -1
  370. package/dist/core/skills.js.map +1 -1
  371. package/dist/core/slash-commands.d.ts.map +1 -1
  372. package/dist/core/slash-commands.js +1 -0
  373. package/dist/core/slash-commands.js.map +1 -1
  374. package/dist/core/source-info.d.ts.map +1 -1
  375. package/dist/core/source-info.js.map +1 -1
  376. package/dist/core/system-prompt.d.ts.map +1 -1
  377. package/dist/core/system-prompt.js.map +1 -1
  378. package/dist/core/telemetry.d.ts.map +1 -1
  379. package/dist/core/telemetry.js.map +1 -1
  380. package/dist/core/thinking-levels.d.ts.map +1 -1
  381. package/dist/core/thinking-levels.js.map +1 -1
  382. package/dist/core/timings.d.ts.map +1 -1
  383. package/dist/core/timings.js.map +1 -1
  384. package/dist/core/tools/bash.d.ts.map +1 -1
  385. package/dist/core/tools/bash.js +9 -6
  386. package/dist/core/tools/bash.js.map +1 -1
  387. package/dist/core/tools/diff-render.d.ts.map +1 -1
  388. package/dist/core/tools/diff-render.js.map +1 -1
  389. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  390. package/dist/core/tools/edit-diff.js.map +1 -1
  391. package/dist/core/tools/edit.d.ts.map +1 -1
  392. package/dist/core/tools/edit.js.map +1 -1
  393. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  394. package/dist/core/tools/file-mutation-queue.js.map +1 -1
  395. package/dist/core/tools/find.d.ts.map +1 -1
  396. package/dist/core/tools/find.js +1 -1
  397. package/dist/core/tools/find.js.map +1 -1
  398. package/dist/core/tools/grep.d.ts.map +1 -1
  399. package/dist/core/tools/grep.js +1 -1
  400. package/dist/core/tools/grep.js.map +1 -1
  401. package/dist/core/tools/index.d.ts.map +1 -1
  402. package/dist/core/tools/index.js.map +1 -1
  403. package/dist/core/tools/ls.d.ts.map +1 -1
  404. package/dist/core/tools/ls.js +1 -1
  405. package/dist/core/tools/ls.js.map +1 -1
  406. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  407. package/dist/core/tools/output-accumulator.js +12 -18
  408. package/dist/core/tools/output-accumulator.js.map +1 -1
  409. package/dist/core/tools/path-utils.d.ts.map +1 -1
  410. package/dist/core/tools/path-utils.js.map +1 -1
  411. package/dist/core/tools/read.d.ts.map +1 -1
  412. package/dist/core/tools/read.js +1 -1
  413. package/dist/core/tools/read.js.map +1 -1
  414. package/dist/core/tools/render-utils.d.ts.map +1 -1
  415. package/dist/core/tools/render-utils.js.map +1 -1
  416. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  417. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  418. package/dist/core/tools/truncate.d.ts.map +1 -1
  419. package/dist/core/tools/truncate.js.map +1 -1
  420. package/dist/core/tools/write.d.ts.map +1 -1
  421. package/dist/core/tools/write.js +1 -2
  422. package/dist/core/tools/write.js.map +1 -1
  423. package/dist/core/trust-manager.d.ts +9 -0
  424. package/dist/core/trust-manager.d.ts.map +1 -0
  425. package/dist/core/trust-manager.js +133 -0
  426. package/dist/core/trust-manager.js.map +1 -0
  427. package/dist/index.d.ts +2 -1
  428. package/dist/index.d.ts.map +1 -1
  429. package/dist/index.js +1 -0
  430. package/dist/index.js.map +1 -1
  431. package/dist/main.d.ts.map +1 -1
  432. package/dist/main.js +54 -2
  433. package/dist/main.js.map +1 -1
  434. package/dist/migrations.d.ts.map +1 -1
  435. package/dist/migrations.js.map +1 -1
  436. package/dist/modes/index.d.ts.map +1 -1
  437. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  438. package/dist/modes/interactive/components/armin.js +6 -10
  439. package/dist/modes/interactive/components/armin.js.map +1 -1
  440. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  441. package/dist/modes/interactive/components/assistant-message.js +2 -11
  442. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  443. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  444. package/dist/modes/interactive/components/bash-execution.js +6 -11
  445. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  446. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  447. package/dist/modes/interactive/components/bordered-loader.js +0 -3
  448. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  449. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  450. package/dist/modes/interactive/components/branch-summary-message.js +1 -3
  451. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  452. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  453. package/dist/modes/interactive/components/compaction-summary-message.js +1 -3
  454. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  455. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  456. package/dist/modes/interactive/components/config-selector.js +5 -15
  457. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  458. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  459. package/dist/modes/interactive/components/countdown-timer.js +0 -5
  460. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  461. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  462. package/dist/modes/interactive/components/custom-editor.js +1 -8
  463. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  464. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  465. package/dist/modes/interactive/components/custom-message.js +1 -6
  466. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  467. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
  468. package/dist/modes/interactive/components/daxnuts.js +6 -8
  469. package/dist/modes/interactive/components/daxnuts.js.map +1 -1
  470. package/dist/modes/interactive/components/diff.d.ts.map +1 -1
  471. package/dist/modes/interactive/components/diff.js +2 -2
  472. package/dist/modes/interactive/components/diff.js.map +1 -1
  473. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  474. package/dist/modes/interactive/components/dynamic-border.js +0 -1
  475. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  476. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
  477. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
  478. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  479. package/dist/modes/interactive/components/extension-editor.js +1 -6
  480. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  481. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  482. package/dist/modes/interactive/components/extension-input.js +2 -8
  483. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  484. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  485. package/dist/modes/interactive/components/extension-selector.js +1 -9
  486. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  487. package/dist/modes/interactive/components/favorite-models-selector.d.ts.map +1 -1
  488. package/dist/modes/interactive/components/favorite-models-selector.js +9 -15
  489. package/dist/modes/interactive/components/favorite-models-selector.js.map +1 -1
  490. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  491. package/dist/modes/interactive/components/footer.js +10 -3
  492. package/dist/modes/interactive/components/footer.js.map +1 -1
  493. package/dist/modes/interactive/components/index.d.ts +1 -0
  494. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  495. package/dist/modes/interactive/components/index.js +1 -0
  496. package/dist/modes/interactive/components/index.js.map +1 -1
  497. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  498. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  499. package/dist/modes/interactive/components/login-dialog.d.ts +0 -1
  500. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  501. package/dist/modes/interactive/components/login-dialog.js +6 -21
  502. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  503. package/dist/modes/interactive/components/model-favorites.d.ts.map +1 -1
  504. package/dist/modes/interactive/components/model-favorites.js.map +1 -1
  505. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  506. package/dist/modes/interactive/components/model-selector.js +9 -22
  507. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  508. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  509. package/dist/modes/interactive/components/oauth-selector.js +3 -12
  510. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  511. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  512. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  513. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  514. package/dist/modes/interactive/components/session-selector.js +33 -58
  515. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  516. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  517. package/dist/modes/interactive/components/settings-selector.js +0 -4
  518. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  519. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  520. package/dist/modes/interactive/components/show-images-selector.js +0 -1
  521. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  522. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  523. package/dist/modes/interactive/components/skill-invocation-message.js +1 -3
  524. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  525. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  526. package/dist/modes/interactive/components/theme-selector.js +0 -2
  527. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  528. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  529. package/dist/modes/interactive/components/thinking-selector.js +0 -1
  530. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  531. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  532. package/dist/modes/interactive/components/tool-execution.js +9 -28
  533. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  534. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  535. package/dist/modes/interactive/components/tree-selector.js +18 -32
  536. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  537. package/dist/modes/interactive/components/trust-selector.d.ts +20 -0
  538. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -0
  539. package/dist/modes/interactive/components/trust-selector.js +81 -0
  540. package/dist/modes/interactive/components/trust-selector.js.map +1 -0
  541. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  542. package/dist/modes/interactive/components/user-message-selector.js +3 -6
  543. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  544. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  545. package/dist/modes/interactive/components/user-message.js +0 -1
  546. package/dist/modes/interactive/components/user-message.js.map +1 -1
  547. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
  548. package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
  549. package/dist/modes/interactive/interactive-mode.d.ts +24 -0
  550. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  551. package/dist/modes/interactive/interactive-mode.js +112 -101
  552. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  553. package/dist/modes/interactive/session-info-format.d.ts.map +1 -1
  554. package/dist/modes/interactive/session-info-format.js.map +1 -1
  555. package/dist/modes/interactive/startup-tools.d.ts.map +1 -1
  556. package/dist/modes/interactive/startup-tools.js.map +1 -1
  557. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  558. package/dist/modes/interactive/theme/theme.js +0 -6
  559. package/dist/modes/interactive/theme/theme.js.map +1 -1
  560. package/dist/modes/interactive/working-status.d.ts.map +1 -1
  561. package/dist/modes/interactive/working-status.js.map +1 -1
  562. package/dist/modes/print-mode.d.ts.map +1 -1
  563. package/dist/modes/print-mode.js.map +1 -1
  564. package/dist/modes/provider-native-rendering.d.ts.map +1 -1
  565. package/dist/modes/provider-native-rendering.js.map +1 -1
  566. package/dist/modes/rpc/jsonl.d.ts.map +1 -1
  567. package/dist/modes/rpc/jsonl.js.map +1 -1
  568. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  569. package/dist/modes/rpc/rpc-client.js +7 -8
  570. package/dist/modes/rpc/rpc-client.js.map +1 -1
  571. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  572. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  573. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  574. package/dist/package-manager-cli.d.ts.map +1 -1
  575. package/dist/package-manager-cli.js +56 -9
  576. package/dist/package-manager-cli.js.map +1 -1
  577. package/dist/self-update-bootstrap.d.ts +19 -0
  578. package/dist/self-update-bootstrap.d.ts.map +1 -0
  579. package/dist/self-update-bootstrap.js +160 -0
  580. package/dist/self-update-bootstrap.js.map +1 -0
  581. package/dist/senpi +46 -13
  582. package/dist/utils/ansi.d.ts.map +1 -1
  583. package/dist/utils/ansi.js.map +1 -1
  584. package/dist/utils/changelog.d.ts.map +1 -1
  585. package/dist/utils/changelog.js.map +1 -1
  586. package/dist/utils/child-process.d.ts.map +1 -1
  587. package/dist/utils/child-process.js.map +1 -1
  588. package/dist/utils/clipboard-image.d.ts.map +1 -1
  589. package/dist/utils/clipboard-image.js.map +1 -1
  590. package/dist/utils/clipboard-native.d.ts.map +1 -1
  591. package/dist/utils/clipboard-native.js.map +1 -1
  592. package/dist/utils/clipboard.d.ts.map +1 -1
  593. package/dist/utils/clipboard.js.map +1 -1
  594. package/dist/utils/deprecation.d.ts.map +1 -1
  595. package/dist/utils/deprecation.js.map +1 -1
  596. package/dist/utils/exif-orientation.d.ts.map +1 -1
  597. package/dist/utils/exif-orientation.js.map +1 -1
  598. package/dist/utils/frontmatter.d.ts.map +1 -1
  599. package/dist/utils/frontmatter.js.map +1 -1
  600. package/dist/utils/fs-watch.d.ts.map +1 -1
  601. package/dist/utils/fs-watch.js.map +1 -1
  602. package/dist/utils/git.d.ts.map +1 -1
  603. package/dist/utils/git.js +54 -22
  604. package/dist/utils/git.js.map +1 -1
  605. package/dist/utils/html.d.ts.map +1 -1
  606. package/dist/utils/html.js.map +1 -1
  607. package/dist/utils/image-convert.d.ts.map +1 -1
  608. package/dist/utils/image-convert.js.map +1 -1
  609. package/dist/utils/image-resize-core.d.ts.map +1 -1
  610. package/dist/utils/image-resize-core.js.map +1 -1
  611. package/dist/utils/image-resize-worker.d.ts.map +1 -1
  612. package/dist/utils/image-resize-worker.js.map +1 -1
  613. package/dist/utils/image-resize.d.ts.map +1 -1
  614. package/dist/utils/image-resize.js.map +1 -1
  615. package/dist/utils/json.d.ts.map +1 -1
  616. package/dist/utils/json.js.map +1 -1
  617. package/dist/utils/mime.d.ts.map +1 -1
  618. package/dist/utils/mime.js.map +1 -1
  619. package/dist/utils/open-browser.d.ts +9 -0
  620. package/dist/utils/open-browser.d.ts.map +1 -0
  621. package/dist/utils/open-browser.js +22 -0
  622. package/dist/utils/open-browser.js.map +1 -0
  623. package/dist/utils/paths.d.ts.map +1 -1
  624. package/dist/utils/paths.js.map +1 -1
  625. package/dist/utils/photon.d.ts.map +1 -1
  626. package/dist/utils/photon.js.map +1 -1
  627. package/dist/utils/pi-user-agent.d.ts.map +1 -1
  628. package/dist/utils/pi-user-agent.js.map +1 -1
  629. package/dist/utils/shell.d.ts.map +1 -1
  630. package/dist/utils/shell.js.map +1 -1
  631. package/dist/utils/sleep.d.ts.map +1 -1
  632. package/dist/utils/sleep.js.map +1 -1
  633. package/dist/utils/syntax-highlight.d.ts.map +1 -1
  634. package/dist/utils/syntax-highlight.js.map +1 -1
  635. package/dist/utils/tools-manager.d.ts.map +1 -1
  636. package/dist/utils/tools-manager.js.map +1 -1
  637. package/dist/utils/version-check.d.ts.map +1 -1
  638. package/dist/utils/version-check.js.map +1 -1
  639. package/dist/utils/windows-self-update.d.ts.map +1 -1
  640. package/dist/utils/windows-self-update.js.map +1 -1
  641. package/docs/containerization.md +111 -0
  642. package/docs/docs.json +4 -0
  643. package/docs/extensions.md +3 -1
  644. package/docs/index.md +1 -0
  645. package/docs/packages.md +3 -1
  646. package/docs/prompt-templates.md +1 -1
  647. package/docs/providers.md +3 -0
  648. package/docs/settings.md +10 -0
  649. package/docs/skills.md +3 -3
  650. package/docs/themes.md +1 -1
  651. package/docs/usage.md +15 -3
  652. package/examples/extensions/README.md +1 -0
  653. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  654. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  655. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  656. package/examples/extensions/gondolin/index.ts +531 -0
  657. package/examples/extensions/gondolin/package-lock.json +185 -0
  658. package/examples/extensions/gondolin/package.json +19 -0
  659. package/examples/extensions/minimal-mode.ts +6 -6
  660. package/examples/extensions/sandbox/package-lock.json +2 -2
  661. package/examples/extensions/sandbox/package.json +1 -1
  662. package/examples/extensions/with-deps/package-lock.json +2 -2
  663. package/examples/extensions/with-deps/package.json +1 -1
  664. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  665. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  666. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +7 -0
  667. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  668. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +2 -27
  669. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  670. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
  671. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js +7 -20
  672. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -1
  673. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
  674. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
  675. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  676. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  677. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts.map +1 -1
  678. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.js.map +1 -1
  679. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
  680. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +0 -3
  681. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
  682. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts.map +1 -1
  683. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js.map +1 -1
  684. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.d.ts.map +1 -1
  685. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.js.map +1 -1
  686. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.d.ts.map +1 -1
  687. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.js +0 -3
  688. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.js.map +1 -1
  689. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts.map +1 -1
  690. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js +0 -7
  691. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js.map +1 -1
  692. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.d.ts.map +1 -1
  693. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.js +3 -1
  694. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.js.map +1 -1
  695. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.d.ts.map +1 -1
  696. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.js +0 -5
  697. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.js.map +1 -1
  698. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.d.ts.map +1 -1
  699. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.js.map +1 -1
  700. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  701. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +0 -1
  702. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  703. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/uuid.d.ts.map +1 -1
  704. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/uuid.js.map +1 -1
  705. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts.map +1 -1
  706. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js.map +1 -1
  707. package/node_modules/@earendil-works/pi-agent-core/dist/harness/system-prompt.d.ts.map +1 -1
  708. package/node_modules/@earendil-works/pi-agent-core/dist/harness/system-prompt.js.map +1 -1
  709. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
  710. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js +0 -16
  711. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
  712. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts.map +1 -1
  713. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js.map +1 -1
  714. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.d.ts.map +1 -1
  715. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.js.map +1 -1
  716. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -1
  717. package/node_modules/@earendil-works/pi-agent-core/dist/node.d.ts.map +1 -1
  718. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts.map +1 -1
  719. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js.map +1 -1
  720. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  721. package/node_modules/@earendil-works/pi-agent-core/package.json +6 -6
  722. package/node_modules/@earendil-works/pi-ai/README.md +5 -1
  723. package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts.map +1 -1
  724. package/node_modules/@earendil-works/pi-ai/dist/api-registry.js.map +1 -1
  725. package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.d.ts.map +1 -1
  726. package/node_modules/@earendil-works/pi-ai/dist/cli.d.ts.map +1 -1
  727. package/node_modules/@earendil-works/pi-ai/dist/cli.js.map +1 -1
  728. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
  729. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +2 -0
  730. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
  731. package/node_modules/@earendil-works/pi-ai/dist/image-models.d.ts.map +1 -1
  732. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +30 -0
  733. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
  734. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +30 -0
  735. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
  736. package/node_modules/@earendil-works/pi-ai/dist/image-models.js.map +1 -1
  737. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts.map +1 -1
  738. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.js.map +1 -1
  739. package/node_modules/@earendil-works/pi-ai/dist/images.d.ts.map +1 -1
  740. package/node_modules/@earendil-works/pi-ai/dist/images.js.map +1 -1
  741. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  742. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  743. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +413 -65
  744. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  745. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +385 -97
  746. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  747. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  748. package/node_modules/@earendil-works/pi-ai/dist/oauth.d.ts.map +1 -1
  749. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  750. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  751. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  752. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
  753. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -1
  754. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
  755. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.d.ts.map +1 -1
  756. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.js.map +1 -1
  757. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.d.ts.map +1 -1
  758. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js.map +1 -1
  759. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.d.ts.map +1 -1
  760. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.js.map +1 -1
  761. package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.d.ts.map +1 -1
  762. package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.js.map +1 -1
  763. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts.map +1 -1
  764. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js.map +1 -1
  765. package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts.map +1 -1
  766. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js.map +1 -1
  767. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts.map +1 -1
  768. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js.map +1 -1
  769. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.d.ts.map +1 -1
  770. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js.map +1 -1
  771. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts.map +1 -1
  772. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js +3 -3
  773. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js.map +1 -1
  774. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -1
  775. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +0 -7
  776. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -1
  777. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  778. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +26 -9
  779. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -1
  780. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.d.ts.map +1 -1
  781. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.js.map +1 -1
  782. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts.map +1 -1
  783. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js.map +1 -1
  784. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
  785. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -1
  786. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.d.ts.map +1 -1
  787. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.js.map +1 -1
  788. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts.map +1 -1
  789. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js.map +1 -1
  790. package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.d.ts.map +1 -1
  791. package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.js.map +1 -1
  792. package/node_modules/@earendil-works/pi-ai/dist/session-resources.d.ts.map +1 -1
  793. package/node_modules/@earendil-works/pi-ai/dist/session-resources.js.map +1 -1
  794. package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts.map +1 -1
  795. package/node_modules/@earendil-works/pi-ai/dist/stream.js.map +1 -1
  796. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/context-transformer.d.ts.map +1 -1
  797. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/context-transformer.js.map +1 -1
  798. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.d.ts.map +1 -1
  799. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.js.map +1 -1
  800. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/gemma4.d.ts.map +1 -1
  801. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/gemma4.js +10 -8
  802. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/gemma4.js.map +1 -1
  803. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/hermes.d.ts.map +1 -1
  804. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/hermes.js.map +1 -1
  805. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/json-mix.d.ts.map +1 -1
  806. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/json-mix.js.map +1 -1
  807. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/morph-xml.d.ts.map +1 -1
  808. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/morph-xml.js.map +1 -1
  809. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/xml-tool-tag-scanner.d.ts.map +1 -1
  810. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/xml-tool-tag-scanner.js.map +1 -1
  811. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/yaml-xml.d.ts.map +1 -1
  812. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/yaml-xml.js.map +1 -1
  813. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/stream-wrapper.d.ts.map +1 -1
  814. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/stream-wrapper.js.map +1 -1
  815. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/types.d.ts.map +1 -1
  816. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +4 -4
  817. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  818. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  819. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.d.ts.map +1 -1
  820. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.js.map +1 -1
  821. package/node_modules/@earendil-works/pi-ai/dist/utils/diagnostics.d.ts.map +1 -1
  822. package/node_modules/@earendil-works/pi-ai/dist/utils/diagnostics.js.map +1 -1
  823. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts.map +1 -1
  824. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js +3 -7
  825. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js.map +1 -1
  826. package/node_modules/@earendil-works/pi-ai/dist/utils/hash.d.ts.map +1 -1
  827. package/node_modules/@earendil-works/pi-ai/dist/utils/hash.js.map +1 -1
  828. package/node_modules/@earendil-works/pi-ai/dist/utils/headers.d.ts.map +1 -1
  829. package/node_modules/@earendil-works/pi-ai/dist/utils/headers.js.map +1 -1
  830. package/node_modules/@earendil-works/pi-ai/dist/utils/json-parse.d.ts.map +1 -1
  831. package/node_modules/@earendil-works/pi-ai/dist/utils/json-parse.js.map +1 -1
  832. package/node_modules/@earendil-works/pi-ai/dist/utils/node-http-proxy.d.ts.map +1 -1
  833. package/node_modules/@earendil-works/pi-ai/dist/utils/node-http-proxy.js.map +1 -1
  834. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.d.ts.map +1 -1
  835. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.js.map +1 -1
  836. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts.map +1 -1
  837. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js.map +1 -1
  838. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  839. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +13 -1
  840. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
  841. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts.map +1 -1
  842. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js.map +1 -1
  843. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/oauth-page.d.ts.map +1 -1
  844. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/oauth-page.js.map +1 -1
  845. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts.map +1 -1
  846. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js +4 -2
  847. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js.map +1 -1
  848. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/pkce.d.ts.map +1 -1
  849. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/pkce.js.map +1 -1
  850. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.d.ts.map +1 -1
  851. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  852. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
  853. package/node_modules/@earendil-works/pi-ai/dist/utils/sanitize-unicode.d.ts.map +1 -1
  854. package/node_modules/@earendil-works/pi-ai/dist/utils/sanitize-unicode.js.map +1 -1
  855. package/node_modules/@earendil-works/pi-ai/dist/utils/tool-pair-repair.d.ts.map +1 -1
  856. package/node_modules/@earendil-works/pi-ai/dist/utils/tool-pair-repair.js.map +1 -1
  857. package/node_modules/@earendil-works/pi-ai/dist/utils/typebox-helpers.d.ts.map +1 -1
  858. package/node_modules/@earendil-works/pi-ai/dist/utils/typebox-helpers.js.map +1 -1
  859. package/node_modules/@earendil-works/pi-ai/dist/utils/validation.d.ts.map +1 -1
  860. package/node_modules/@earendil-works/pi-ai/dist/utils/validation.js.map +1 -1
  861. package/node_modules/@earendil-works/pi-ai/package.json +5 -5
  862. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts +1 -1
  863. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
  864. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js +0 -3
  865. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
  866. package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts.map +1 -1
  867. package/node_modules/@earendil-works/pi-tui/dist/components/box.js +1 -6
  868. package/node_modules/@earendil-works/pi-tui/dist/components/box.js.map +1 -1
  869. package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.d.ts.map +1 -1
  870. package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.js +4 -3
  871. package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.js.map +1 -1
  872. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  873. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +43 -54
  874. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  875. package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts.map +1 -1
  876. package/node_modules/@earendil-works/pi-tui/dist/components/image.js +0 -8
  877. package/node_modules/@earendil-works/pi-tui/dist/components/image.js.map +1 -1
  878. package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts.map +1 -1
  879. package/node_modules/@earendil-works/pi-tui/dist/components/input.js +14 -14
  880. package/node_modules/@earendil-works/pi-tui/dist/components/input.js.map +1 -1
  881. package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts.map +1 -1
  882. package/node_modules/@earendil-works/pi-tui/dist/components/loader.js +11 -13
  883. package/node_modules/@earendil-works/pi-tui/dist/components/loader.js.map +1 -1
  884. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
  885. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +0 -11
  886. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
  887. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts.map +1 -1
  888. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.js +4 -9
  889. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.js.map +1 -1
  890. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts.map +1 -1
  891. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js +4 -12
  892. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js.map +1 -1
  893. package/node_modules/@earendil-works/pi-tui/dist/components/spacer.d.ts.map +1 -1
  894. package/node_modules/@earendil-works/pi-tui/dist/components/spacer.js +0 -1
  895. package/node_modules/@earendil-works/pi-tui/dist/components/spacer.js.map +1 -1
  896. package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts.map +1 -1
  897. package/node_modules/@earendil-works/pi-tui/dist/components/text.js +0 -8
  898. package/node_modules/@earendil-works/pi-tui/dist/components/text.js.map +1 -1
  899. package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.d.ts.map +1 -1
  900. package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.js +0 -3
  901. package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.js.map +1 -1
  902. package/node_modules/@earendil-works/pi-tui/dist/editor-component.d.ts.map +1 -1
  903. package/node_modules/@earendil-works/pi-tui/dist/fuzzy.d.ts.map +1 -1
  904. package/node_modules/@earendil-works/pi-tui/dist/fuzzy.js.map +1 -1
  905. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  906. package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts.map +1 -1
  907. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js +2 -4
  908. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js.map +1 -1
  909. package/node_modules/@earendil-works/pi-tui/dist/keys.d.ts.map +1 -1
  910. package/node_modules/@earendil-works/pi-tui/dist/keys.js.map +1 -1
  911. package/node_modules/@earendil-works/pi-tui/dist/kill-ring.d.ts.map +1 -1
  912. package/node_modules/@earendil-works/pi-tui/dist/kill-ring.js +3 -1
  913. package/node_modules/@earendil-works/pi-tui/dist/kill-ring.js.map +1 -1
  914. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.d.ts.map +1 -1
  915. package/node_modules/@earendil-works/pi-tui/dist/native-modifiers.js.map +1 -1
  916. package/node_modules/@earendil-works/pi-tui/dist/slash-command-autocomplete.d.ts.map +1 -1
  917. package/node_modules/@earendil-works/pi-tui/dist/slash-command-autocomplete.js.map +1 -1
  918. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.d.ts.map +1 -1
  919. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.js +4 -6
  920. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.js.map +1 -1
  921. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
  922. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  923. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  924. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +24 -29
  925. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  926. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  927. package/node_modules/@earendil-works/pi-tui/dist/tui.js +25 -27
  928. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  929. package/node_modules/@earendil-works/pi-tui/dist/undo-stack.d.ts.map +1 -1
  930. package/node_modules/@earendil-works/pi-tui/dist/undo-stack.js +3 -1
  931. package/node_modules/@earendil-works/pi-tui/dist/undo-stack.js.map +1 -1
  932. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts.map +1 -1
  933. package/node_modules/@earendil-works/pi-tui/dist/utils.js +14 -12
  934. package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +1 -1
  935. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.d.ts.map +1 -1
  936. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.js.map +1 -1
  937. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  938. package/node_modules/@types/node/README.md +3 -3
  939. package/node_modules/@types/node/assert/strict.d.ts +3 -55
  940. package/node_modules/@types/node/assert.d.ts +49 -177
  941. package/node_modules/@types/node/async_hooks.d.ts +151 -43
  942. package/node_modules/@types/node/buffer.buffer.d.ts +2 -8
  943. package/node_modules/@types/node/buffer.d.ts +43 -212
  944. package/node_modules/@types/node/child_process.d.ts +23 -133
  945. package/node_modules/@types/node/cluster.d.ts +238 -384
  946. package/node_modules/@types/node/compatibility/iterators.d.ts +1 -0
  947. package/node_modules/@types/node/console.d.ts +45 -404
  948. package/node_modules/@types/node/constants.d.ts +3 -10
  949. package/node_modules/@types/node/crypto.d.ts +640 -1127
  950. package/node_modules/@types/node/dgram.d.ts +14 -77
  951. package/node_modules/@types/node/diagnostics_channel.d.ts +3 -29
  952. package/node_modules/@types/node/dns/promises.d.ts +4 -10
  953. package/node_modules/@types/node/dns.d.ts +130 -177
  954. package/node_modules/@types/node/domain.d.ts +12 -32
  955. package/node_modules/@types/node/events.d.ts +872 -840
  956. package/node_modules/@types/node/fs/promises.d.ts +193 -20
  957. package/node_modules/@types/node/fs.d.ts +754 -435
  958. package/node_modules/@types/node/globals.d.ts +8 -30
  959. package/node_modules/@types/node/globals.typedarray.d.ts +63 -0
  960. package/node_modules/@types/node/http.d.ts +363 -305
  961. package/node_modules/@types/node/http2.d.ts +545 -781
  962. package/node_modules/@types/node/https.d.ts +64 -243
  963. package/node_modules/@types/node/index.d.ts +26 -6
  964. package/node_modules/@types/node/inspector/promises.d.ts +35 -0
  965. package/node_modules/@types/node/inspector.d.ts +68 -57
  966. package/node_modules/@types/node/inspector.generated.d.ts +764 -410
  967. package/node_modules/@types/node/module.d.ts +53 -189
  968. package/node_modules/@types/node/net.d.ts +101 -207
  969. package/node_modules/@types/node/os.d.ts +11 -19
  970. package/node_modules/@types/node/package.json +13 -3
  971. package/node_modules/@types/node/path/posix.d.ts +8 -0
  972. package/node_modules/@types/node/path/win32.d.ts +8 -0
  973. package/node_modules/@types/node/path.d.ts +119 -141
  974. package/node_modules/@types/node/perf_hooks.d.ts +317 -673
  975. package/node_modules/@types/node/process.d.ts +277 -157
  976. package/node_modules/@types/node/punycode.d.ts +3 -31
  977. package/node_modules/@types/node/querystring.d.ts +3 -16
  978. package/node_modules/@types/node/quic.d.ts +897 -0
  979. package/node_modules/@types/node/readline/promises.d.ts +3 -6
  980. package/node_modules/@types/node/readline.d.ts +65 -152
  981. package/node_modules/@types/node/repl.d.ts +101 -109
  982. package/node_modules/@types/node/sea.d.ts +9 -115
  983. package/node_modules/@types/node/sqlite.d.ts +415 -68
  984. package/node_modules/@types/node/stream/consumers.d.ts +91 -15
  985. package/node_modules/@types/node/stream/iter.d.ts +301 -0
  986. package/node_modules/@types/node/stream/promises.d.ts +136 -15
  987. package/node_modules/@types/node/stream/web.d.ts +179 -501
  988. package/node_modules/@types/node/stream.d.ts +577 -490
  989. package/node_modules/@types/node/string_decoder.d.ts +3 -43
  990. package/node_modules/@types/node/test/reporters.d.ts +59 -0
  991. package/node_modules/@types/node/test.d.ts +402 -286
  992. package/node_modules/@types/node/timers/promises.d.ts +3 -18
  993. package/node_modules/@types/node/timers.d.ts +3 -141
  994. package/node_modules/@types/node/tls.d.ts +115 -241
  995. package/node_modules/@types/node/trace_events.d.ts +3 -97
  996. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +2 -8
  997. package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
  998. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +2 -0
  999. package/node_modules/@types/node/ts5.6/index.d.ts +28 -6
  1000. package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
  1001. package/node_modules/@types/node/ts5.7/index.d.ts +119 -0
  1002. package/node_modules/@types/node/tty.d.ts +57 -40
  1003. package/node_modules/@types/node/url.d.ts +156 -584
  1004. package/node_modules/@types/node/util/types.d.ts +558 -0
  1005. package/node_modules/@types/node/util.d.ts +167 -1096
  1006. package/node_modules/@types/node/v8.d.ts +75 -15
  1007. package/node_modules/@types/node/vm.d.ts +334 -198
  1008. package/node_modules/@types/node/wasi.d.ts +24 -74
  1009. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +27 -2
  1010. package/node_modules/@types/node/web-globals/blob.d.ts +23 -0
  1011. package/node_modules/@types/node/web-globals/console.d.ts +9 -0
  1012. package/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
  1013. package/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
  1014. package/node_modules/@types/node/web-globals/events.d.ts +9 -0
  1015. package/node_modules/@types/node/web-globals/fetch.d.ts +14 -0
  1016. package/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
  1017. package/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
  1018. package/node_modules/@types/node/web-globals/navigator.d.ts +3 -0
  1019. package/node_modules/@types/node/web-globals/performance.d.ts +45 -0
  1020. package/node_modules/@types/node/web-globals/streams.d.ts +115 -0
  1021. package/node_modules/@types/node/web-globals/timers.d.ts +44 -0
  1022. package/node_modules/@types/node/web-globals/url.d.ts +24 -0
  1023. package/node_modules/@types/node/worker_threads.d.ts +280 -393
  1024. package/node_modules/@types/node/zlib/iter.d.ts +131 -0
  1025. package/node_modules/@types/node/zlib.d.ts +7 -165
  1026. package/node_modules/undici-types/agent.d.ts +13 -12
  1027. package/node_modules/undici-types/api.d.ts +26 -26
  1028. package/node_modules/undici-types/balanced-pool.d.ts +13 -12
  1029. package/node_modules/undici-types/cache-interceptor.d.ts +179 -0
  1030. package/node_modules/undici-types/client-stats.d.ts +15 -0
  1031. package/node_modules/undici-types/client.d.ts +34 -19
  1032. package/node_modules/undici-types/connector.d.ts +4 -2
  1033. package/node_modules/undici-types/cookies.d.ts +2 -0
  1034. package/node_modules/undici-types/diagnostics-channel.d.ts +18 -10
  1035. package/node_modules/undici-types/dispatcher.d.ts +127 -104
  1036. package/node_modules/undici-types/env-http-proxy-agent.d.ts +4 -3
  1037. package/node_modules/undici-types/errors.d.ts +82 -54
  1038. package/node_modules/undici-types/eventsource.d.ts +9 -4
  1039. package/node_modules/undici-types/fetch.d.ts +22 -20
  1040. package/node_modules/undici-types/formdata.d.ts +7 -7
  1041. package/node_modules/undici-types/global-dispatcher.d.ts +4 -4
  1042. package/node_modules/undici-types/global-origin.d.ts +5 -5
  1043. package/node_modules/undici-types/h2c-client.d.ts +73 -0
  1044. package/node_modules/undici-types/handlers.d.ts +8 -8
  1045. package/node_modules/undici-types/header.d.ts +157 -1
  1046. package/node_modules/undici-types/index.d.ts +67 -47
  1047. package/node_modules/undici-types/interceptors.d.ts +71 -8
  1048. package/node_modules/undici-types/mock-agent.d.ts +36 -18
  1049. package/node_modules/undici-types/mock-call-history.d.ts +111 -0
  1050. package/node_modules/undici-types/mock-client.d.ts +6 -4
  1051. package/node_modules/undici-types/mock-errors.d.ts +3 -3
  1052. package/node_modules/undici-types/mock-interceptor.d.ts +21 -20
  1053. package/node_modules/undici-types/mock-pool.d.ts +6 -4
  1054. package/node_modules/undici-types/package.json +1 -1
  1055. package/node_modules/undici-types/patch.d.ts +0 -4
  1056. package/node_modules/undici-types/pool-stats.d.ts +8 -8
  1057. package/node_modules/undici-types/pool.d.ts +15 -13
  1058. package/node_modules/undici-types/proxy-agent.d.ts +5 -4
  1059. package/node_modules/undici-types/readable.d.ts +19 -16
  1060. package/node_modules/undici-types/retry-agent.d.ts +1 -1
  1061. package/node_modules/undici-types/retry-handler.d.ts +19 -10
  1062. package/node_modules/undici-types/round-robin-pool.d.ts +41 -0
  1063. package/node_modules/undici-types/snapshot-agent.d.ts +109 -0
  1064. package/node_modules/undici-types/socks5-proxy-agent.d.ts +25 -0
  1065. package/node_modules/undici-types/util.d.ts +3 -3
  1066. package/node_modules/undici-types/utility.d.ts +7 -0
  1067. package/node_modules/undici-types/webidl.d.ts +148 -29
  1068. package/node_modules/undici-types/websocket.d.ts +48 -10
  1069. package/npm-shrinkwrap.json +21 -21
  1070. package/package.json +14 -8
  1071. package/node_modules/@types/node/compatibility/disposable.d.ts +0 -14
  1072. package/node_modules/@types/node/compatibility/index.d.ts +0 -9
  1073. package/node_modules/@types/node/compatibility/indexable.d.ts +0 -20
  1074. package/node_modules/undici-types/file.d.ts +0 -39
  1075. package/node_modules/undici-types/filereader.d.ts +0 -54
@@ -1,36 +1,6 @@
1
- /**
2
- * This module provides an implementation of a subset of the W3C [Web Performance APIs](https://w3c.github.io/perf-timing-primer/) as well as additional APIs for
3
- * Node.js-specific performance measurements.
4
- *
5
- * Node.js supports the following [Web Performance APIs](https://w3c.github.io/perf-timing-primer/):
6
- *
7
- * * [High Resolution Time](https://www.w3.org/TR/hr-time-2)
8
- * * [Performance Timeline](https://w3c.github.io/performance-timeline/)
9
- * * [User Timing](https://www.w3.org/TR/user-timing/)
10
- * * [Resource Timing](https://www.w3.org/TR/resource-timing-2/)
11
- *
12
- * ```js
13
- * import { PerformanceObserver, performance } from 'node:perf_hooks';
14
- *
15
- * const obs = new PerformanceObserver((items) => {
16
- * console.log(items.getEntries()[0].duration);
17
- * performance.clearMarks();
18
- * });
19
- * obs.observe({ type: 'measure' });
20
- * performance.measure('Start to Now');
21
- *
22
- * performance.mark('A');
23
- * doSomeLongRunningProcess(() => {
24
- * performance.measure('A to Now', 'A');
25
- *
26
- * performance.mark('B');
27
- * performance.measure('A to B', 'A', 'B');
28
- * });
29
- * ```
30
- * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/perf_hooks.js)
31
- */
32
- declare module "perf_hooks" {
33
- import { AsyncResource } from "node:async_hooks";
1
+ declare module "node:perf_hooks" {
2
+ import { InternalEventTargetEventProperties } from "node:events";
3
+ // #region web types
34
4
  type EntryType =
35
5
  | "dns" // Node.js only
36
6
  | "function" // Node.js only
@@ -42,76 +12,212 @@ declare module "perf_hooks" {
42
12
  | "net" // Node.js only
43
13
  | "node" // Node.js only
44
14
  | "resource"; // available on the Web
45
- interface NodeGCPerformanceDetail {
46
- /**
47
- * When `performanceEntry.entryType` is equal to 'gc', the `performance.kind` property identifies
48
- * the type of garbage collection operation that occurred.
49
- * See perf_hooks.constants for valid values.
50
- */
51
- readonly kind: number;
52
- /**
53
- * When `performanceEntry.entryType` is equal to 'gc', the `performance.flags`
54
- * property contains additional information about garbage collection operation.
55
- * See perf_hooks.constants for valid values.
56
- */
57
- readonly flags: number;
15
+ interface ConnectionTimingInfo {
16
+ domainLookupStartTime: number;
17
+ domainLookupEndTime: number;
18
+ connectionStartTime: number;
19
+ connectionEndTime: number;
20
+ secureConnectionStartTime: number;
21
+ ALPNNegotiatedProtocol: string;
58
22
  }
59
- /**
60
- * The constructor of this class is not exposed to users directly.
61
- * @since v8.5.0
62
- */
63
- class PerformanceEntry {
64
- protected constructor();
65
- /**
66
- * The total number of milliseconds elapsed for this entry. This value will not
67
- * be meaningful for all Performance Entry types.
68
- * @since v8.5.0
69
- */
70
- readonly duration: number;
71
- /**
72
- * The name of the performance entry.
73
- * @since v8.5.0
74
- */
75
- readonly name: string;
23
+ interface FetchTimingInfo {
24
+ startTime: number;
25
+ redirectStartTime: number;
26
+ redirectEndTime: number;
27
+ postRedirectStartTime: number;
28
+ finalServiceWorkerStartTime: number;
29
+ finalNetworkRequestStartTime: number;
30
+ finalNetworkResponseStartTime: number;
31
+ endTime: number;
32
+ finalConnectionTimingInfo: ConnectionTimingInfo | null;
33
+ encodedBodySize: number;
34
+ decodedBodySize: number;
35
+ }
36
+ type PerformanceEntryList = PerformanceEntry[];
37
+ interface PerformanceMarkOptions {
38
+ detail?: any;
39
+ startTime?: number;
40
+ }
41
+ interface PerformanceMeasureOptions {
42
+ detail?: any;
43
+ duration?: number;
44
+ end?: string | number;
45
+ start?: string | number;
46
+ }
47
+ interface PerformanceObserverCallback {
48
+ (entries: PerformanceObserverEntryList, observer: PerformanceObserver): void;
49
+ }
50
+ interface PerformanceObserverInit {
51
+ buffered?: boolean;
52
+ entryTypes?: EntryType[];
53
+ type?: EntryType;
54
+ }
55
+ // TODO: remove in next major
56
+ /** @deprecated Use `TimerifyOptions` instead. */
57
+ interface PerformanceTimerifyOptions extends TimerifyOptions {}
58
+ interface PerformanceEventMap {
59
+ "resourcetimingbufferfull": Event;
60
+ }
61
+ interface Performance extends EventTarget, InternalEventTargetEventProperties<PerformanceEventMap> {
62
+ readonly nodeTiming: PerformanceNodeTiming;
63
+ readonly timeOrigin: number;
64
+ clearMarks(markName?: string): void;
65
+ clearMeasures(measureName?: string): void;
66
+ clearResourceTimings(resourceTimingName?: string): void;
67
+ getEntries(): PerformanceEntryList;
68
+ getEntriesByName(name: string, type?: EntryType): PerformanceEntryList;
69
+ getEntriesByType(type: EntryType): PerformanceEntryList;
70
+ mark(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;
71
+ markResourceTiming(
72
+ timingInfo: FetchTimingInfo,
73
+ requestedUrl: string,
74
+ initiatorType: string,
75
+ global: unknown,
76
+ cacheMode: string,
77
+ bodyInfo: unknown,
78
+ responseStatus: number,
79
+ deliveryType?: string,
80
+ ): PerformanceResourceTiming;
81
+ measure(measureName: string, startMark?: string, endMark?: string): PerformanceMeasure;
82
+ measure(measureName: string, options: PerformanceMeasureOptions, endMark?: string): PerformanceMeasure;
83
+ now(): number;
84
+ setResourceTimingBufferSize(maxSize: number): void;
85
+ toJSON(): any;
86
+ addEventListener<K extends keyof PerformanceEventMap>(
87
+ type: K,
88
+ listener: (ev: PerformanceEventMap[K]) => void,
89
+ options?: AddEventListenerOptions | boolean,
90
+ ): void;
91
+ addEventListener(
92
+ type: string,
93
+ listener: EventListener | EventListenerObject,
94
+ options?: AddEventListenerOptions | boolean,
95
+ ): void;
96
+ removeEventListener<K extends keyof PerformanceEventMap>(
97
+ type: K,
98
+ listener: (ev: PerformanceEventMap[K]) => void,
99
+ options?: EventListenerOptions | boolean,
100
+ ): void;
101
+ removeEventListener(
102
+ type: string,
103
+ listener: EventListener | EventListenerObject,
104
+ options?: EventListenerOptions | boolean,
105
+ ): void;
76
106
  /**
77
- * The high resolution millisecond timestamp marking the starting time of the
78
- * Performance Entry.
79
- * @since v8.5.0
107
+ * This is an alias of `perf_hooks.eventLoopUtilization()`.
108
+ *
109
+ * _This property is an extension by Node.js. It is not available in Web browsers._
110
+ * @since v14.10.0, v12.19.0
111
+ * @param utilization1 The result of a previous call to
112
+ * `eventLoopUtilization()`.
113
+ * @param utilization2 The result of a previous call to
114
+ * `eventLoopUtilization()` prior to `utilization1`.
80
115
  */
81
- readonly startTime: number;
116
+ eventLoopUtilization(
117
+ utilization1?: EventLoopUtilization,
118
+ utilization2?: EventLoopUtilization,
119
+ ): EventLoopUtilization;
82
120
  /**
83
- * The type of the performance entry. It may be one of:
121
+ * This is an alias of `perf_hooks.timerify()`.
84
122
  *
85
- * * `'node'` (Node.js only)
86
- * * `'mark'` (available on the Web)
87
- * * `'measure'` (available on the Web)
88
- * * `'gc'` (Node.js only)
89
- * * `'function'` (Node.js only)
90
- * * `'http2'` (Node.js only)
91
- * * `'http'` (Node.js only)
123
+ * _This property is an extension by Node.js. It is not available in Web browsers._
92
124
  * @since v8.5.0
93
125
  */
126
+ timerify<T extends (...args: any[]) => any>(fn: T, options?: TimerifyOptions): T;
127
+ }
128
+ var Performance: {
129
+ prototype: Performance;
130
+ new(): Performance;
131
+ };
132
+ interface PerformanceEntry {
133
+ readonly duration: number;
94
134
  readonly entryType: EntryType;
135
+ readonly name: string;
136
+ readonly startTime: number;
95
137
  toJSON(): any;
96
138
  }
97
- /**
98
- * Exposes marks created via the `Performance.mark()` method.
99
- * @since v18.2.0, v16.17.0
100
- */
101
- class PerformanceMark extends PerformanceEntry {
139
+ var PerformanceEntry: {
140
+ prototype: PerformanceEntry;
141
+ new(): PerformanceEntry;
142
+ };
143
+ interface PerformanceMark extends PerformanceEntry {
102
144
  readonly detail: any;
103
- readonly duration: 0;
104
145
  readonly entryType: "mark";
105
146
  }
147
+ var PerformanceMark: {
148
+ prototype: PerformanceMark;
149
+ new(markName: string, markOptions?: PerformanceMarkOptions): PerformanceMark;
150
+ };
151
+ interface PerformanceMeasure extends PerformanceEntry {
152
+ readonly detail: any;
153
+ readonly entryType: "measure";
154
+ }
155
+ var PerformanceMeasure: {
156
+ prototype: PerformanceMeasure;
157
+ new(): PerformanceMeasure;
158
+ };
159
+ interface PerformanceObserver {
160
+ disconnect(): void;
161
+ observe(options: PerformanceObserverInit): void;
162
+ takeRecords(): PerformanceEntryList;
163
+ }
164
+ var PerformanceObserver: {
165
+ prototype: PerformanceObserver;
166
+ new(callback: PerformanceObserverCallback): PerformanceObserver;
167
+ readonly supportedEntryTypes: readonly EntryType[];
168
+ };
169
+ interface PerformanceObserverEntryList {
170
+ getEntries(): PerformanceEntryList;
171
+ getEntriesByName(name: string, type?: EntryType): PerformanceEntryList;
172
+ getEntriesByType(type: EntryType): PerformanceEntryList;
173
+ }
174
+ var PerformanceObserverEntryList: {
175
+ prototype: PerformanceObserverEntryList;
176
+ new(): PerformanceObserverEntryList;
177
+ };
178
+ interface PerformanceResourceTiming extends PerformanceEntry {
179
+ readonly connectEnd: number;
180
+ readonly connectStart: number;
181
+ readonly decodedBodySize: number;
182
+ readonly domainLookupEnd: number;
183
+ readonly domainLookupStart: number;
184
+ readonly encodedBodySize: number;
185
+ readonly entryType: "resource";
186
+ readonly fetchStart: number;
187
+ readonly initiatorType: string;
188
+ readonly nextHopProtocol: string;
189
+ readonly redirectEnd: number;
190
+ readonly redirectStart: number;
191
+ readonly requestStart: number;
192
+ readonly responseEnd: number;
193
+ readonly responseStart: number;
194
+ readonly responseStatus: number;
195
+ readonly secureConnectionStart: number;
196
+ readonly transferSize: number;
197
+ readonly workerStart: number;
198
+ toJSON(): any;
199
+ }
200
+ var PerformanceResourceTiming: {
201
+ prototype: PerformanceResourceTiming;
202
+ new(): PerformanceResourceTiming;
203
+ };
204
+ var performance: Performance;
205
+ // #endregion
106
206
  /**
107
- * Exposes measures created via the `Performance.measure()` method.
207
+ * _This class is an extension by Node.js. It is not available in Web browsers._
208
+ *
209
+ * Provides detailed Node.js timing data.
108
210
  *
109
211
  * The constructor of this class is not exposed to users directly.
110
- * @since v18.2.0, v16.17.0
212
+ * @since v19.0.0
111
213
  */
112
- class PerformanceMeasure extends PerformanceEntry {
214
+ class PerformanceNodeEntry extends PerformanceEntry {
215
+ /**
216
+ * Additional detail specific to the `entryType`.
217
+ * @since v16.0.0
218
+ */
113
219
  readonly detail: any;
114
- readonly entryType: "measure";
220
+ readonly entryType: "dns" | "function" | "gc" | "http2" | "http" | "net" | "node";
115
221
  }
116
222
  interface UVMetrics {
117
223
  /**
@@ -127,7 +233,6 @@ declare module "perf_hooks" {
127
233
  */
128
234
  readonly eventsWaiting: number;
129
235
  }
130
- // TODO: PerformanceNodeEntry is missing
131
236
  /**
132
237
  * _This property is an extension by Node.js. It is not available in Web browsers._
133
238
  *
@@ -135,8 +240,7 @@ declare module "perf_hooks" {
135
240
  * is not exposed to users.
136
241
  * @since v8.5.0
137
242
  */
138
- class PerformanceNodeTiming extends PerformanceEntry {
139
- readonly entryType: "node";
243
+ interface PerformanceNodeTiming extends PerformanceEntry {
140
244
  /**
141
245
  * The high resolution millisecond timestamp at which the Node.js process
142
246
  * completed bootstrapping. If bootstrapping has not yet finished, the property
@@ -144,6 +248,7 @@ declare module "perf_hooks" {
144
248
  * @since v8.5.0
145
249
  */
146
250
  readonly bootstrapComplete: number;
251
+ readonly entryType: "node";
147
252
  /**
148
253
  * The high resolution millisecond timestamp at which the Node.js environment was
149
254
  * initialized.
@@ -195,507 +300,6 @@ declare module "perf_hooks" {
195
300
  */
196
301
  readonly v8Start: number;
197
302
  }
198
- interface EventLoopUtilization {
199
- idle: number;
200
- active: number;
201
- utilization: number;
202
- }
203
- /**
204
- * @param utilization1 The result of a previous call to `eventLoopUtilization()`.
205
- * @param utilization2 The result of a previous call to `eventLoopUtilization()` prior to `utilization1`.
206
- */
207
- type EventLoopUtilityFunction = (
208
- utilization1?: EventLoopUtilization,
209
- utilization2?: EventLoopUtilization,
210
- ) => EventLoopUtilization;
211
- interface MarkOptions {
212
- /**
213
- * Additional optional detail to include with the mark.
214
- */
215
- detail?: unknown | undefined;
216
- /**
217
- * An optional timestamp to be used as the mark time.
218
- * @default `performance.now()`
219
- */
220
- startTime?: number | undefined;
221
- }
222
- interface MeasureOptions {
223
- /**
224
- * Additional optional detail to include with the mark.
225
- */
226
- detail?: unknown;
227
- /**
228
- * Duration between start and end times.
229
- */
230
- duration?: number | undefined;
231
- /**
232
- * Timestamp to be used as the end time, or a string identifying a previously recorded mark.
233
- */
234
- end?: number | string | undefined;
235
- /**
236
- * Timestamp to be used as the start time, or a string identifying a previously recorded mark.
237
- */
238
- start?: number | string | undefined;
239
- }
240
- interface TimerifyOptions {
241
- /**
242
- * A histogram object created using `perf_hooks.createHistogram()` that will record runtime
243
- * durations in nanoseconds.
244
- */
245
- histogram?: RecordableHistogram | undefined;
246
- }
247
- interface Performance {
248
- /**
249
- * If `name` is not provided, removes all `PerformanceMark` objects from the Performance Timeline.
250
- * If `name` is provided, removes only the named mark.
251
- * @since v8.5.0
252
- */
253
- clearMarks(name?: string): void;
254
- /**
255
- * If `name` is not provided, removes all `PerformanceMeasure` objects from the Performance Timeline.
256
- * If `name` is provided, removes only the named measure.
257
- * @since v16.7.0
258
- */
259
- clearMeasures(name?: string): void;
260
- /**
261
- * If `name` is not provided, removes all `PerformanceResourceTiming` objects from the Resource Timeline.
262
- * If `name` is provided, removes only the named resource.
263
- * @since v18.2.0, v16.17.0
264
- */
265
- clearResourceTimings(name?: string): void;
266
- /**
267
- * eventLoopUtilization is similar to CPU utilization except that it is calculated using high precision wall-clock time.
268
- * It represents the percentage of time the event loop has spent outside the event loop's event provider (e.g. epoll_wait).
269
- * No other CPU idle time is taken into consideration.
270
- */
271
- eventLoopUtilization: EventLoopUtilityFunction;
272
- /**
273
- * Returns a list of `PerformanceEntry` objects in chronological order with respect to `performanceEntry.startTime`.
274
- * If you are only interested in performance entries of certain types or that have certain names, see
275
- * `performance.getEntriesByType()` and `performance.getEntriesByName()`.
276
- * @since v16.7.0
277
- */
278
- getEntries(): PerformanceEntry[];
279
- /**
280
- * Returns a list of `PerformanceEntry` objects in chronological order with respect to `performanceEntry.startTime`
281
- * whose `performanceEntry.name` is equal to `name`, and optionally, whose `performanceEntry.entryType` is equal to `type`.
282
- * @param name
283
- * @param type
284
- * @since v16.7.0
285
- */
286
- getEntriesByName(name: string, type?: EntryType): PerformanceEntry[];
287
- /**
288
- * Returns a list of `PerformanceEntry` objects in chronological order with respect to `performanceEntry.startTime`
289
- * whose `performanceEntry.entryType` is equal to `type`.
290
- * @param type
291
- * @since v16.7.0
292
- */
293
- getEntriesByType(type: EntryType): PerformanceEntry[];
294
- /**
295
- * Creates a new `PerformanceMark` entry in the Performance Timeline.
296
- * A `PerformanceMark` is a subclass of `PerformanceEntry` whose `performanceEntry.entryType` is always `'mark'`,
297
- * and whose `performanceEntry.duration` is always `0`.
298
- * Performance marks are used to mark specific significant moments in the Performance Timeline.
299
- *
300
- * The created `PerformanceMark` entry is put in the global Performance Timeline and can be queried with
301
- * `performance.getEntries`, `performance.getEntriesByName`, and `performance.getEntriesByType`. When the observation is
302
- * performed, the entries should be cleared from the global Performance Timeline manually with `performance.clearMarks`.
303
- * @param name
304
- */
305
- mark(name: string, options?: MarkOptions): PerformanceMark;
306
- /**
307
- * Creates a new `PerformanceResourceTiming` entry in the Resource Timeline.
308
- * A `PerformanceResourceTiming` is a subclass of `PerformanceEntry` whose `performanceEntry.entryType` is always `'resource'`.
309
- * Performance resources are used to mark moments in the Resource Timeline.
310
- * @param timingInfo [Fetch Timing Info](https://fetch.spec.whatwg.org/#fetch-timing-info)
311
- * @param requestedUrl The resource url
312
- * @param initiatorType The initiator name, e.g: 'fetch'
313
- * @param global
314
- * @param cacheMode The cache mode must be an empty string ('') or 'local'
315
- * @param bodyInfo [Fetch Response Body Info](https://fetch.spec.whatwg.org/#response-body-info)
316
- * @param responseStatus The response's status code
317
- * @param deliveryType The delivery type. Default: ''.
318
- * @since v18.2.0, v16.17.0
319
- */
320
- markResourceTiming(
321
- timingInfo: object,
322
- requestedUrl: string,
323
- initiatorType: string,
324
- global: object,
325
- cacheMode: "" | "local",
326
- bodyInfo: object,
327
- responseStatus: number,
328
- deliveryType?: string,
329
- ): PerformanceResourceTiming;
330
- /**
331
- * Creates a new PerformanceMeasure entry in the Performance Timeline.
332
- * A PerformanceMeasure is a subclass of PerformanceEntry whose performanceEntry.entryType is always 'measure',
333
- * and whose performanceEntry.duration measures the number of milliseconds elapsed since startMark and endMark.
334
- *
335
- * The startMark argument may identify any existing PerformanceMark in the the Performance Timeline, or may identify
336
- * any of the timestamp properties provided by the PerformanceNodeTiming class. If the named startMark does not exist,
337
- * then startMark is set to timeOrigin by default.
338
- *
339
- * The endMark argument must identify any existing PerformanceMark in the the Performance Timeline or any of the timestamp
340
- * properties provided by the PerformanceNodeTiming class. If the named endMark does not exist, an error will be thrown.
341
- * @param name
342
- * @param startMark
343
- * @param endMark
344
- * @return The PerformanceMeasure entry that was created
345
- */
346
- measure(name: string, startMark?: string, endMark?: string): PerformanceMeasure;
347
- measure(name: string, options: MeasureOptions): PerformanceMeasure;
348
- /**
349
- * _This property is an extension by Node.js. It is not available in Web browsers._
350
- *
351
- * An instance of the `PerformanceNodeTiming` class that provides performance metrics for specific Node.js operational milestones.
352
- * @since v8.5.0
353
- */
354
- readonly nodeTiming: PerformanceNodeTiming;
355
- /**
356
- * Returns the current high resolution millisecond timestamp, where 0 represents the start of the current `node` process.
357
- * @since v8.5.0
358
- */
359
- now(): number;
360
- /**
361
- * Sets the global performance resource timing buffer size to the specified number of "resource" type performance entry objects.
362
- *
363
- * By default the max buffer size is set to 250.
364
- * @since v18.8.0
365
- */
366
- setResourceTimingBufferSize(maxSize: number): void;
367
- /**
368
- * The [`timeOrigin`](https://w3c.github.io/hr-time/#dom-performance-timeorigin) specifies the high resolution millisecond timestamp
369
- * at which the current `node` process began, measured in Unix time.
370
- * @since v8.5.0
371
- */
372
- readonly timeOrigin: number;
373
- /**
374
- * _This property is an extension by Node.js. It is not available in Web browsers._
375
- *
376
- * Wraps a function within a new function that measures the running time of the wrapped function.
377
- * A `PerformanceObserver` must be subscribed to the `'function'` event type in order for the timing details to be accessed.
378
- *
379
- * ```js
380
- * import {
381
- * performance,
382
- * PerformanceObserver,
383
- * } from 'node:perf_hooks';
384
- *
385
- * function someFunction() {
386
- * console.log('hello world');
387
- * }
388
- *
389
- * const wrapped = performance.timerify(someFunction);
390
- *
391
- * const obs = new PerformanceObserver((list) => {
392
- * console.log(list.getEntries()[0].duration);
393
- *
394
- * performance.clearMarks();
395
- * performance.clearMeasures();
396
- * obs.disconnect();
397
- * });
398
- * obs.observe({ entryTypes: ['function'] });
399
- *
400
- * // A performance timeline entry will be created
401
- * wrapped();
402
- * ```
403
- *
404
- * If the wrapped function returns a promise, a finally handler will be attached to the promise and the duration will be reported
405
- * once the finally handler is invoked.
406
- * @param fn
407
- */
408
- timerify<T extends (...params: any[]) => any>(fn: T, options?: TimerifyOptions): T;
409
- /**
410
- * An object which is JSON representation of the performance object. It is similar to
411
- * [`window.performance.toJSON`](https://developer.mozilla.org/en-US/docs/Web/API/Performance/toJSON) in browsers.
412
- * @since v16.1.0
413
- */
414
- toJSON(): any;
415
- }
416
- class PerformanceObserverEntryList {
417
- /**
418
- * Returns a list of `PerformanceEntry` objects in chronological order
419
- * with respect to `performanceEntry.startTime`.
420
- *
421
- * ```js
422
- * import {
423
- * performance,
424
- * PerformanceObserver,
425
- * } from 'node:perf_hooks';
426
- *
427
- * const obs = new PerformanceObserver((perfObserverList, observer) => {
428
- * console.log(perfObserverList.getEntries());
429
- *
430
- * * [
431
- * * PerformanceEntry {
432
- * * name: 'test',
433
- * * entryType: 'mark',
434
- * * startTime: 81.465639,
435
- * * duration: 0,
436
- * * detail: null
437
- * * },
438
- * * PerformanceEntry {
439
- * * name: 'meow',
440
- * * entryType: 'mark',
441
- * * startTime: 81.860064,
442
- * * duration: 0,
443
- * * detail: null
444
- * * }
445
- * * ]
446
- *
447
- * performance.clearMarks();
448
- * performance.clearMeasures();
449
- * observer.disconnect();
450
- * });
451
- * obs.observe({ type: 'mark' });
452
- *
453
- * performance.mark('test');
454
- * performance.mark('meow');
455
- * ```
456
- * @since v8.5.0
457
- */
458
- getEntries(): PerformanceEntry[];
459
- /**
460
- * Returns a list of `PerformanceEntry` objects in chronological order
461
- * with respect to `performanceEntry.startTime` whose `performanceEntry.name` is
462
- * equal to `name`, and optionally, whose `performanceEntry.entryType` is equal to`type`.
463
- *
464
- * ```js
465
- * import {
466
- * performance,
467
- * PerformanceObserver,
468
- * } from 'node:perf_hooks';
469
- *
470
- * const obs = new PerformanceObserver((perfObserverList, observer) => {
471
- * console.log(perfObserverList.getEntriesByName('meow'));
472
- *
473
- * * [
474
- * * PerformanceEntry {
475
- * * name: 'meow',
476
- * * entryType: 'mark',
477
- * * startTime: 98.545991,
478
- * * duration: 0,
479
- * * detail: null
480
- * * }
481
- * * ]
482
- *
483
- * console.log(perfObserverList.getEntriesByName('nope')); // []
484
- *
485
- * console.log(perfObserverList.getEntriesByName('test', 'mark'));
486
- *
487
- * * [
488
- * * PerformanceEntry {
489
- * * name: 'test',
490
- * * entryType: 'mark',
491
- * * startTime: 63.518931,
492
- * * duration: 0,
493
- * * detail: null
494
- * * }
495
- * * ]
496
- *
497
- * console.log(perfObserverList.getEntriesByName('test', 'measure')); // []
498
- *
499
- * performance.clearMarks();
500
- * performance.clearMeasures();
501
- * observer.disconnect();
502
- * });
503
- * obs.observe({ entryTypes: ['mark', 'measure'] });
504
- *
505
- * performance.mark('test');
506
- * performance.mark('meow');
507
- * ```
508
- * @since v8.5.0
509
- */
510
- getEntriesByName(name: string, type?: EntryType): PerformanceEntry[];
511
- /**
512
- * Returns a list of `PerformanceEntry` objects in chronological order
513
- * with respect to `performanceEntry.startTime` whose `performanceEntry.entryType` is equal to `type`.
514
- *
515
- * ```js
516
- * import {
517
- * performance,
518
- * PerformanceObserver,
519
- * } from 'node:perf_hooks';
520
- *
521
- * const obs = new PerformanceObserver((perfObserverList, observer) => {
522
- * console.log(perfObserverList.getEntriesByType('mark'));
523
- *
524
- * * [
525
- * * PerformanceEntry {
526
- * * name: 'test',
527
- * * entryType: 'mark',
528
- * * startTime: 55.897834,
529
- * * duration: 0,
530
- * * detail: null
531
- * * },
532
- * * PerformanceEntry {
533
- * * name: 'meow',
534
- * * entryType: 'mark',
535
- * * startTime: 56.350146,
536
- * * duration: 0,
537
- * * detail: null
538
- * * }
539
- * * ]
540
- *
541
- * performance.clearMarks();
542
- * performance.clearMeasures();
543
- * observer.disconnect();
544
- * });
545
- * obs.observe({ type: 'mark' });
546
- *
547
- * performance.mark('test');
548
- * performance.mark('meow');
549
- * ```
550
- * @since v8.5.0
551
- */
552
- getEntriesByType(type: EntryType): PerformanceEntry[];
553
- }
554
- type PerformanceObserverCallback = (list: PerformanceObserverEntryList, observer: PerformanceObserver) => void;
555
- /**
556
- * @since v8.5.0
557
- */
558
- class PerformanceObserver extends AsyncResource {
559
- constructor(callback: PerformanceObserverCallback);
560
- /**
561
- * Disconnects the `PerformanceObserver` instance from all notifications.
562
- * @since v8.5.0
563
- */
564
- disconnect(): void;
565
- /**
566
- * Subscribes the `PerformanceObserver` instance to notifications of new `PerformanceEntry` instances identified either by `options.entryTypes` or `options.type`:
567
- *
568
- * ```js
569
- * import {
570
- * performance,
571
- * PerformanceObserver,
572
- * } from 'node:perf_hooks';
573
- *
574
- * const obs = new PerformanceObserver((list, observer) => {
575
- * // Called once asynchronously. `list` contains three items.
576
- * });
577
- * obs.observe({ type: 'mark' });
578
- *
579
- * for (let n = 0; n < 3; n++)
580
- * performance.mark(`test${n}`);
581
- * ```
582
- * @since v8.5.0
583
- */
584
- observe(
585
- options:
586
- | {
587
- entryTypes: readonly EntryType[];
588
- buffered?: boolean | undefined;
589
- }
590
- | {
591
- type: EntryType;
592
- buffered?: boolean | undefined;
593
- },
594
- ): void;
595
- /**
596
- * @since v16.0.0
597
- * @returns Current list of entries stored in the performance observer, emptying it out.
598
- */
599
- takeRecords(): PerformanceEntry[];
600
- }
601
- /**
602
- * Provides detailed network timing data regarding the loading of an application's resources.
603
- *
604
- * The constructor of this class is not exposed to users directly.
605
- * @since v18.2.0, v16.17.0
606
- */
607
- class PerformanceResourceTiming extends PerformanceEntry {
608
- readonly entryType: "resource";
609
- protected constructor();
610
- /**
611
- * The high resolution millisecond timestamp at immediately before dispatching the `fetch`
612
- * request. If the resource is not intercepted by a worker the property will always return 0.
613
- * @since v18.2.0, v16.17.0
614
- */
615
- readonly workerStart: number;
616
- /**
617
- * The high resolution millisecond timestamp that represents the start time of the fetch which
618
- * initiates the redirect.
619
- * @since v18.2.0, v16.17.0
620
- */
621
- readonly redirectStart: number;
622
- /**
623
- * The high resolution millisecond timestamp that will be created immediately after receiving
624
- * the last byte of the response of the last redirect.
625
- * @since v18.2.0, v16.17.0
626
- */
627
- readonly redirectEnd: number;
628
- /**
629
- * The high resolution millisecond timestamp immediately before the Node.js starts to fetch the resource.
630
- * @since v18.2.0, v16.17.0
631
- */
632
- readonly fetchStart: number;
633
- /**
634
- * The high resolution millisecond timestamp immediately before the Node.js starts the domain name lookup
635
- * for the resource.
636
- * @since v18.2.0, v16.17.0
637
- */
638
- readonly domainLookupStart: number;
639
- /**
640
- * The high resolution millisecond timestamp representing the time immediately after the Node.js finished
641
- * the domain name lookup for the resource.
642
- * @since v18.2.0, v16.17.0
643
- */
644
- readonly domainLookupEnd: number;
645
- /**
646
- * The high resolution millisecond timestamp representing the time immediately before Node.js starts to
647
- * establish the connection to the server to retrieve the resource.
648
- * @since v18.2.0, v16.17.0
649
- */
650
- readonly connectStart: number;
651
- /**
652
- * The high resolution millisecond timestamp representing the time immediately after Node.js finishes
653
- * establishing the connection to the server to retrieve the resource.
654
- * @since v18.2.0, v16.17.0
655
- */
656
- readonly connectEnd: number;
657
- /**
658
- * The high resolution millisecond timestamp representing the time immediately before Node.js starts the
659
- * handshake process to secure the current connection.
660
- * @since v18.2.0, v16.17.0
661
- */
662
- readonly secureConnectionStart: number;
663
- /**
664
- * The high resolution millisecond timestamp representing the time immediately before Node.js receives the
665
- * first byte of the response from the server.
666
- * @since v18.2.0, v16.17.0
667
- */
668
- readonly requestStart: number;
669
- /**
670
- * The high resolution millisecond timestamp representing the time immediately after Node.js receives the
671
- * last byte of the resource or immediately before the transport connection is closed, whichever comes first.
672
- * @since v18.2.0, v16.17.0
673
- */
674
- readonly responseEnd: number;
675
- /**
676
- * A number representing the size (in octets) of the fetched resource. The size includes the response header
677
- * fields plus the response payload body.
678
- * @since v18.2.0, v16.17.0
679
- */
680
- readonly transferSize: number;
681
- /**
682
- * A number representing the size (in octets) received from the fetch (HTTP or cache), of the payload body, before
683
- * removing any applied content-codings.
684
- * @since v18.2.0, v16.17.0
685
- */
686
- readonly encodedBodySize: number;
687
- /**
688
- * A number representing the size (in octets) received from the fetch (HTTP or cache), of the message body, after
689
- * removing any applied content-codings.
690
- * @since v18.2.0, v16.17.0
691
- */
692
- readonly decodedBodySize: number;
693
- /**
694
- * Returns a `object` that is the JSON representation of the `PerformanceResourceTiming` object
695
- * @since v18.2.0, v16.17.0
696
- */
697
- toJSON(): any;
698
- }
699
303
  namespace constants {
700
304
  const NODE_PERFORMANCE_GC_MAJOR: number;
701
305
  const NODE_PERFORMANCE_GC_MINOR: number;
@@ -709,7 +313,6 @@ declare module "perf_hooks" {
709
313
  const NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: number;
710
314
  const NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: number;
711
315
  }
712
- const performance: Performance;
713
316
  interface EventLoopMonitorOptions {
714
317
  /**
715
318
  * The sampling rate in milliseconds.
@@ -811,6 +414,20 @@ declare module "perf_hooks" {
811
414
  * @since v11.10.0
812
415
  */
813
416
  disable(): boolean;
417
+ /**
418
+ * Disables the update interval timer when the histogram is disposed.
419
+ *
420
+ * ```js
421
+ * const { monitorEventLoopDelay } = require('node:perf_hooks');
422
+ * {
423
+ * using hist = monitorEventLoopDelay({ resolution: 20 });
424
+ * hist.enable();
425
+ * // The histogram will be disabled when the block is exited.
426
+ * }
427
+ * ```
428
+ * @since v24.2.0
429
+ */
430
+ [Symbol.dispose](): void;
814
431
  }
815
432
  interface RecordableHistogram extends Histogram {
816
433
  /**
@@ -830,6 +447,66 @@ declare module "perf_hooks" {
830
447
  */
831
448
  add(other: RecordableHistogram): void;
832
449
  }
450
+ interface EventLoopUtilization {
451
+ idle: number;
452
+ active: number;
453
+ utilization: number;
454
+ }
455
+ /**
456
+ * The `eventLoopUtilization()` function returns an object that contains the
457
+ * cumulative duration of time the event loop has been both idle and active as a
458
+ * high resolution milliseconds timer. The `utilization` value is the calculated
459
+ * Event Loop Utilization (ELU).
460
+ *
461
+ * If bootstrapping has not yet finished on the main thread the properties have
462
+ * the value of `0`. The ELU is immediately available on [Worker threads](https://nodejs.org/docs/latest-v25.x/api/worker_threads.html#worker-threads) since
463
+ * bootstrap happens within the event loop.
464
+ *
465
+ * Both `utilization1` and `utilization2` are optional parameters.
466
+ *
467
+ * If `utilization1` is passed, then the delta between the current call's `active`
468
+ * and `idle` times, as well as the corresponding `utilization` value are
469
+ * calculated and returned (similar to `process.hrtime()`).
470
+ *
471
+ * If `utilization1` and `utilization2` are both passed, then the delta is
472
+ * calculated between the two arguments. This is a convenience option because,
473
+ * unlike `process.hrtime()`, calculating the ELU is more complex than a
474
+ * single subtraction.
475
+ *
476
+ * ELU is similar to CPU utilization, except that it only measures event loop
477
+ * statistics and not CPU usage. It represents the percentage of time the event
478
+ * loop has spent outside the event loop's event provider (e.g. `epoll_wait`).
479
+ * No other CPU idle time is taken into consideration. The following is an example
480
+ * of how a mostly idle process will have a high ELU.
481
+ *
482
+ * ```js
483
+ * import { eventLoopUtilization } from 'node:perf_hooks';
484
+ * import { spawnSync } from 'node:child_process';
485
+ *
486
+ * setImmediate(() => {
487
+ * const elu = eventLoopUtilization();
488
+ * spawnSync('sleep', ['5']);
489
+ * console.log(eventLoopUtilization(elu).utilization);
490
+ * });
491
+ * ```
492
+ *
493
+ * Although the CPU is mostly idle while running this script, the value of
494
+ * `utilization` is `1`. This is because the call to
495
+ * `child_process.spawnSync()` blocks the event loop from proceeding.
496
+ *
497
+ * Passing in a user-defined object instead of the result of a previous call to
498
+ * `eventLoopUtilization()` will lead to undefined behavior. The return values
499
+ * are not guaranteed to reflect any correct state of the event loop.
500
+ * @since v25.2.0
501
+ * @param utilization1 The result of a previous call to
502
+ * `eventLoopUtilization()`.
503
+ * @param utilization2 The result of a previous call to
504
+ * `eventLoopUtilization()` prior to `utilization1`.
505
+ */
506
+ function eventLoopUtilization(
507
+ utilization1?: EventLoopUtilization,
508
+ utilization2?: EventLoopUtilization,
509
+ ): EventLoopUtilization;
833
510
  /**
834
511
  * _This property is an extension by Node.js. It is not available in Web browsers._
835
512
  *
@@ -859,6 +536,49 @@ declare module "perf_hooks" {
859
536
  * @since v11.10.0
860
537
  */
861
538
  function monitorEventLoopDelay(options?: EventLoopMonitorOptions): IntervalHistogram;
539
+ interface TimerifyOptions {
540
+ /**
541
+ * A histogram object created using
542
+ * `perf_hooks.createHistogram()` that will record runtime durations in
543
+ * nanoseconds.
544
+ */
545
+ histogram?: RecordableHistogram | undefined;
546
+ }
547
+ /**
548
+ * _This property is an extension by Node.js. It is not available in Web browsers._
549
+ *
550
+ * Wraps a function within a new function that measures the running time of the
551
+ * wrapped function. A `PerformanceObserver` must be subscribed to the `'function'`
552
+ * event type in order for the timing details to be accessed.
553
+ *
554
+ * ```js
555
+ * import { timerify, performance, PerformanceObserver } from 'node:perf_hooks';
556
+ *
557
+ * function someFunction() {
558
+ * console.log('hello world');
559
+ * }
560
+ *
561
+ * const wrapped = timerify(someFunction);
562
+ *
563
+ * const obs = new PerformanceObserver((list) => {
564
+ * console.log(list.getEntries()[0].duration);
565
+ *
566
+ * performance.clearMarks();
567
+ * performance.clearMeasures();
568
+ * obs.disconnect();
569
+ * });
570
+ * obs.observe({ entryTypes: ['function'] });
571
+ *
572
+ * // A performance timeline entry will be created
573
+ * wrapped();
574
+ * ```
575
+ *
576
+ * If the wrapped function returns a promise, a finally handler will be attached
577
+ * to the promise and the duration will be reported once the finally handler is
578
+ * invoked.
579
+ * @since v25.2.0
580
+ */
581
+ function timerify<T extends (...args: any[]) => any>(fn: T, options?: TimerifyOptions): T;
862
582
  interface CreateHistogramOptions {
863
583
  /**
864
584
  * The minimum recordable value. Must be an integer value greater than 0.
@@ -881,88 +601,12 @@ declare module "perf_hooks" {
881
601
  * @since v15.9.0, v14.18.0
882
602
  */
883
603
  function createHistogram(options?: CreateHistogramOptions): RecordableHistogram;
884
- import {
885
- performance as _performance,
886
- PerformanceEntry as _PerformanceEntry,
887
- PerformanceMark as _PerformanceMark,
888
- PerformanceMeasure as _PerformanceMeasure,
889
- PerformanceObserver as _PerformanceObserver,
890
- PerformanceObserverEntryList as _PerformanceObserverEntryList,
891
- PerformanceResourceTiming as _PerformanceResourceTiming,
892
- } from "perf_hooks";
893
- global {
894
- /**
895
- * `PerformanceEntry` is a global reference for `import { PerformanceEntry } from 'node:perf_hooks'`
896
- * @see https://nodejs.org/docs/latest-v22.x/api/globals.html#performanceentry
897
- * @since v19.0.0
898
- */
899
- var PerformanceEntry: typeof globalThis extends {
900
- onmessage: any;
901
- PerformanceEntry: infer T;
902
- } ? T
903
- : typeof _PerformanceEntry;
904
- /**
905
- * `PerformanceMark` is a global reference for `import { PerformanceMark } from 'node:perf_hooks'`
906
- * @see https://nodejs.org/docs/latest-v22.x/api/globals.html#performancemark
907
- * @since v19.0.0
908
- */
909
- var PerformanceMark: typeof globalThis extends {
910
- onmessage: any;
911
- PerformanceMark: infer T;
912
- } ? T
913
- : typeof _PerformanceMark;
914
- /**
915
- * `PerformanceMeasure` is a global reference for `import { PerformanceMeasure } from 'node:perf_hooks'`
916
- * @see https://nodejs.org/docs/latest-v22.x/api/globals.html#performancemeasure
917
- * @since v19.0.0
918
- */
919
- var PerformanceMeasure: typeof globalThis extends {
920
- onmessage: any;
921
- PerformanceMeasure: infer T;
922
- } ? T
923
- : typeof _PerformanceMeasure;
924
- /**
925
- * `PerformanceObserver` is a global reference for `import { PerformanceObserver } from 'node:perf_hooks'`
926
- * @see https://nodejs.org/docs/latest-v22.x/api/globals.html#performanceobserver
927
- * @since v19.0.0
928
- */
929
- var PerformanceObserver: typeof globalThis extends {
930
- onmessage: any;
931
- PerformanceObserver: infer T;
932
- } ? T
933
- : typeof _PerformanceObserver;
934
- /**
935
- * `PerformanceObserverEntryList` is a global reference for `import { PerformanceObserverEntryList } from 'node:perf_hooks'`
936
- * @see https://nodejs.org/docs/latest-v22.x/api/globals.html#performanceobserverentrylist
937
- * @since v19.0.0
938
- */
939
- var PerformanceObserverEntryList: typeof globalThis extends {
940
- onmessage: any;
941
- PerformanceObserverEntryList: infer T;
942
- } ? T
943
- : typeof _PerformanceObserverEntryList;
944
- /**
945
- * `PerformanceResourceTiming` is a global reference for `import { PerformanceResourceTiming } from 'node:perf_hooks'`
946
- * @see https://nodejs.org/docs/latest-v22.x/api/globals.html#performanceresourcetiming
947
- * @since v19.0.0
948
- */
949
- var PerformanceResourceTiming: typeof globalThis extends {
950
- onmessage: any;
951
- PerformanceResourceTiming: infer T;
952
- } ? T
953
- : typeof _PerformanceResourceTiming;
954
- /**
955
- * `performance` is a global reference for `import { performance } from 'node:perf_hooks'`
956
- * @see https://nodejs.org/docs/latest-v22.x/api/globals.html#performance
957
- * @since v16.0.0
958
- */
959
- var performance: typeof globalThis extends {
960
- onmessage: any;
961
- performance: infer T;
962
- } ? T
963
- : typeof _performance;
964
- }
604
+ // TODO: remove these in a future major
605
+ /** @deprecated Use the canonical `PerformanceMarkOptions` instead. */
606
+ interface MarkOptions extends PerformanceMarkOptions {}
607
+ /** @deprecated Use the canonical `PerformanceMeasureOptions` instead. */
608
+ interface MeasureOptions extends PerformanceMeasureOptions {}
965
609
  }
966
- declare module "node:perf_hooks" {
967
- export * from "perf_hooks";
610
+ declare module "perf_hooks" {
611
+ export * from "node:perf_hooks";
968
612
  }