@nhtio/adk 1.20260604.0 → 1.20260605.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/batteries/embeddings/openai/adapter.cjs +1 -1
  3. package/batteries/embeddings/openai/adapter.mjs +1 -1
  4. package/batteries/embeddings/webllm/adapter.cjs +1 -1
  5. package/batteries/embeddings/webllm/adapter.mjs +1 -1
  6. package/batteries/llm/openai_chat_completions/adapter.cjs +5 -5
  7. package/batteries/llm/openai_chat_completions/adapter.mjs +5 -5
  8. package/batteries/llm/openai_chat_completions/helpers.cjs +2 -2
  9. package/batteries/llm/openai_chat_completions/helpers.mjs +2 -2
  10. package/batteries/llm/openai_chat_completions/validation.cjs +1 -1
  11. package/batteries/llm/openai_chat_completions/validation.mjs +1 -1
  12. package/batteries/llm/webllm_chat_completions/adapter.cjs +5 -5
  13. package/batteries/llm/webllm_chat_completions/adapter.mjs +5 -5
  14. package/batteries/llm/webllm_chat_completions/validation.cjs +1 -1
  15. package/batteries/llm/webllm_chat_completions/validation.mjs +1 -1
  16. package/batteries/storage/flydrive.cjs +1 -1
  17. package/batteries/storage/flydrive.mjs +1 -1
  18. package/batteries/storage/in_memory.cjs +1 -1
  19. package/batteries/storage/in_memory.mjs +1 -1
  20. package/batteries/storage/opfs.cjs +1 -1
  21. package/batteries/storage/opfs.mjs +1 -1
  22. package/batteries/tools/color.cjs +2 -2
  23. package/batteries/tools/color.mjs +2 -2
  24. package/batteries/tools/comparison.cjs +3 -3
  25. package/batteries/tools/comparison.mjs +3 -3
  26. package/batteries/tools/data_structure.cjs +3 -3
  27. package/batteries/tools/data_structure.mjs +3 -3
  28. package/batteries/tools/datetime_extended.cjs +3 -3
  29. package/batteries/tools/datetime_extended.mjs +3 -3
  30. package/batteries/tools/datetime_math.cjs +3 -3
  31. package/batteries/tools/datetime_math.mjs +3 -3
  32. package/batteries/tools/encoding.cjs +3 -3
  33. package/batteries/tools/encoding.mjs +3 -3
  34. package/batteries/tools/formatting.cjs +3 -3
  35. package/batteries/tools/formatting.mjs +3 -3
  36. package/batteries/tools/geo_basics.cjs +2 -2
  37. package/batteries/tools/geo_basics.mjs +2 -2
  38. package/batteries/tools/math/index.d.ts +14 -3
  39. package/batteries/tools/math.cjs +241 -9
  40. package/batteries/tools/math.cjs.map +1 -1
  41. package/batteries/tools/math.mjs +241 -9
  42. package/batteries/tools/math.mjs.map +1 -1
  43. package/batteries/tools/memory.cjs +6 -6
  44. package/batteries/tools/memory.mjs +6 -6
  45. package/batteries/tools/parsing.cjs +4 -4
  46. package/batteries/tools/parsing.mjs +4 -4
  47. package/batteries/tools/retrievables.cjs +5 -5
  48. package/batteries/tools/retrievables.mjs +5 -5
  49. package/batteries/tools/standing_instructions.cjs +4 -4
  50. package/batteries/tools/standing_instructions.mjs +4 -4
  51. package/batteries/tools/statistics.cjs +4 -4
  52. package/batteries/tools/statistics.mjs +4 -4
  53. package/batteries/tools/string_processing.cjs +3 -3
  54. package/batteries/tools/string_processing.mjs +3 -3
  55. package/batteries/tools/structured_data.cjs +3 -3
  56. package/batteries/tools/structured_data.mjs +3 -3
  57. package/batteries/tools/text_analysis.cjs +3 -3
  58. package/batteries/tools/text_analysis.mjs +3 -3
  59. package/batteries/tools/text_comparison.cjs +2 -2
  60. package/batteries/tools/text_comparison.mjs +2 -2
  61. package/batteries/tools/time.cjs +3 -3
  62. package/batteries/tools/time.mjs +3 -3
  63. package/batteries/tools/unit_conversion.cjs +2 -2
  64. package/batteries/tools/unit_conversion.mjs +2 -2
  65. package/{common-D_e5zYsG.js → common-Bfqzwdpd.js} +7 -7
  66. package/{common-D_e5zYsG.js.map → common-Bfqzwdpd.js.map} +1 -1
  67. package/{common-lMrnzoyn.mjs → common-Bo5q3gDK.mjs} +7 -7
  68. package/{common-lMrnzoyn.mjs.map → common-Bo5q3gDK.mjs.map} +1 -1
  69. package/common.cjs +7 -7
  70. package/common.mjs +7 -7
  71. package/{dispatch_runner-CDF3X0nv.mjs → dispatch_runner-DNy8EuK2.mjs} +3 -3
  72. package/{dispatch_runner-CDF3X0nv.mjs.map → dispatch_runner-DNy8EuK2.mjs.map} +1 -1
  73. package/{dispatch_runner-CpuyATj1.js → dispatch_runner-D_EIoEwR.js} +3 -3
  74. package/{dispatch_runner-CpuyATj1.js.map → dispatch_runner-D_EIoEwR.js.map} +1 -1
  75. package/dispatch_runner.cjs +1 -1
  76. package/dispatch_runner.mjs +1 -1
  77. package/forge.cjs +4 -4
  78. package/forge.mjs +4 -4
  79. package/guards.cjs +8 -8
  80. package/guards.mjs +8 -8
  81. package/index.cjs +12 -12
  82. package/index.mjs +12 -12
  83. package/mcp/adk-docs-corpus.json +1 -1
  84. package/package.json +71 -71
  85. package/skills/adk-assembly/SKILL.md +2 -2
  86. package/{spooled_artifact-B8gIIn9h.js → spooled_artifact-Chp6PEr8.js} +3 -3
  87. package/{spooled_artifact-B8gIIn9h.js.map → spooled_artifact-Chp6PEr8.js.map} +1 -1
  88. package/{spooled_artifact-CWoKUDEm.mjs → spooled_artifact-xpzZicMR.mjs} +3 -3
  89. package/{spooled_artifact-CWoKUDEm.mjs.map → spooled_artifact-xpzZicMR.mjs.map} +1 -1
  90. package/spooled_artifact.cjs +2 -2
  91. package/spooled_artifact.mjs +2 -2
  92. package/{spooled_markdown_artifact-CNle4jXN.mjs → spooled_markdown_artifact-CigJMNOl.mjs} +3 -3
  93. package/{spooled_markdown_artifact-CNle4jXN.mjs.map → spooled_markdown_artifact-CigJMNOl.mjs.map} +1 -1
  94. package/{spooled_markdown_artifact-DQX0RCdI.js → spooled_markdown_artifact-b72JfMYo.js} +3 -3
  95. package/{spooled_markdown_artifact-DQX0RCdI.js.map → spooled_markdown_artifact-b72JfMYo.js.map} +1 -1
  96. package/{thought-B_P8LiB6.mjs → thought-BhoBfz9K.mjs} +3 -3
  97. package/{thought-B_P8LiB6.mjs.map → thought-BhoBfz9K.mjs.map} +1 -1
  98. package/{thought-BD6AkkOr.js → thought-pxBGk4lN.js} +3 -3
  99. package/{thought-BD6AkkOr.js.map → thought-pxBGk4lN.js.map} +1 -1
  100. package/{tool-CRZSUcdP.mjs → tool-C381-NLO.mjs} +3 -3
  101. package/{tool-CRZSUcdP.mjs.map → tool-C381-NLO.mjs.map} +1 -1
  102. package/{tool-CX9vNHAw.js → tool-CxIEutdk.js} +3 -3
  103. package/{tool-CX9vNHAw.js.map → tool-CxIEutdk.js.map} +1 -1
  104. package/{tool_call--7ti-frB.js → tool_call-BPPa_KYu.js} +4 -4
  105. package/{tool_call--7ti-frB.js.map → tool_call-BPPa_KYu.js.map} +1 -1
  106. package/{tool_call-BUeMuCc6.mjs → tool_call-H02gzSIs.mjs} +4 -4
  107. package/{tool_call-BUeMuCc6.mjs.map → tool_call-H02gzSIs.mjs.map} +1 -1
  108. package/{tool_registry-BGHg6KTq.mjs → tool_registry-CbtMt21B.mjs} +142 -142
  109. package/tool_registry-CbtMt21B.mjs.map +1 -0
  110. package/{tool_registry-CtCQ4Xoz.js → tool_registry-CoM6fy7F.js} +141 -141
  111. package/tool_registry-CoM6fy7F.js.map +1 -0
  112. package/{turn_runner-C02LZHjt.mjs → turn_runner-CJke8_wy.mjs} +5 -5
  113. package/{turn_runner-C02LZHjt.mjs.map → turn_runner-CJke8_wy.mjs.map} +1 -1
  114. package/{turn_runner-BJTtAORU.js → turn_runner-DFW9OuBj.js} +5 -5
  115. package/{turn_runner-BJTtAORU.js.map → turn_runner-DFW9OuBj.js.map} +1 -1
  116. package/turn_runner.cjs +1 -1
  117. package/turn_runner.mjs +1 -1
  118. package/tool_registry-BGHg6KTq.mjs.map +0 -1
  119. package/tool_registry-CtCQ4Xoz.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,28 @@ All notable changes to `@nhtio/adk` are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## 2026-06-05
9
+
10
+ ### Added
11
+
12
+ - **The `evaluate_katex` math tool now evaluates calculus numerically.** It previously mangled any
13
+ calculus input — `\int_{0}^{1} x dx` had its bounds stripped by the LaTeX flattener and produced a
14
+ cryptic `Syntax error in part "\int^(1) x dx"`. The tool now detects calculus on the raw LaTeX
15
+ before flattening and computes it numerically with the bundled mathjs (no new dependency):
16
+ definite integrals (`\int_{a}^{b} f \,dx`) via Simpson quadrature, derivatives at a point
17
+ (`\frac{d}{dx} f \big|_{x=a}`) via central finite difference, and limits (`\lim_{x \to a} f`,
18
+ including `a = \pm\infty`) via a two-sided approach. Results are rounded and labelled
19
+ `Result (numeric):` to flag the approximation. Genuinely uncomputable inputs (indefinite integrals,
20
+ derivatives without a point, infinite integration bounds, singular integrands, divergent limits)
21
+ return a specific, guiding error instead of a garbled one. mathjs has no symbolic integration and
22
+ its symbolic `derivative` is intentionally blocklisted here, so these are numeric methods.
23
+
24
+ ### Fixed
25
+
26
+ - **`evaluate_katex` now maps inverse trig to the correct mathjs names.** `\arcsin`, `\arccos`, and
27
+ `\arctan` were passed through as `arcsin`/`arccos`/`arctan`, which mathjs does not define, so every
28
+ inverse-trig expression errored with `Undefined function`. They now translate to `asin`/`acos`/`atan`.
29
+
8
30
  ## 2026-06-04
9
31
 
10
32
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../../chunk-Ble4zEEl.js");
3
- const require_tool_registry = require("../../../tool_registry-CtCQ4Xoz.js");
3
+ const require_tool_registry = require("../../../tool_registry-CoM6fy7F.js");
4
4
  require("../../../guards.cjs");
5
5
  const require_lib_utils_retry = require("../../../lib/utils/retry.cjs");
6
6
  const require_batteries_embeddings_openai_exceptions = require("./exceptions.cjs");
@@ -1,4 +1,4 @@
1
- import { o as isError } from "../../../tool_registry-BGHg6KTq.mjs";
1
+ import { o as isError } from "../../../tool_registry-CbtMt21B.mjs";
2
2
  import "../../../guards.mjs";
3
3
  import { computeBackoff, parseRetryAfter, sleepWithJitter } from "../../../lib/utils/retry.mjs";
4
4
  import { E_OPENAI_EMBEDDINGS_HTTP_ERROR, E_OPENAI_EMBEDDINGS_MALFORMED_RESPONSE, E_OPENAI_EMBEDDINGS_REQUEST_TIMEOUT } from "./exceptions.mjs";
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../../chunk-Ble4zEEl.js");
3
- const require_tool_registry = require("../../../tool_registry-CtCQ4Xoz.js");
3
+ const require_tool_registry = require("../../../tool_registry-CoM6fy7F.js");
4
4
  require("../../../guards.cjs");
5
5
  const require_batteries_embeddings_openai_helpers = require("../openai/helpers.cjs");
6
6
  const require_batteries_embeddings_webllm_exceptions = require("./exceptions.cjs");
@@ -1,4 +1,4 @@
1
- import { o as isError } from "../../../tool_registry-BGHg6KTq.mjs";
1
+ import { o as isError } from "../../../tool_registry-CbtMt21B.mjs";
2
2
  import "../../../guards.mjs";
3
3
  import { applyEmbeddingPrefix } from "../openai/helpers.mjs";
4
4
  import { E_INVALID_WEBLLM_EMBEDDINGS_OPTIONS, E_WEBLLM_EMBEDDINGS_ENGINE_ERROR } from "./exceptions.mjs";
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../../chunk-Ble4zEEl.js");
3
- const require_tool_registry = require("../../../tool_registry-CtCQ4Xoz.js");
4
- const require_thought = require("../../../thought-BD6AkkOr.js");
5
- const require_spooled_artifact = require("../../../spooled_artifact-B8gIIn9h.js");
6
- require("../../../common-D_e5zYsG.js");
7
- const require_tool_call = require("../../../tool_call--7ti-frB.js");
3
+ const require_tool_registry = require("../../../tool_registry-CoM6fy7F.js");
4
+ const require_thought = require("../../../thought-pxBGk4lN.js");
5
+ const require_spooled_artifact = require("../../../spooled_artifact-Chp6PEr8.js");
6
+ require("../../../common-Bfqzwdpd.js");
7
+ const require_tool_call = require("../../../tool_call-BPPa_KYu.js");
8
8
  require("../../../guards.cjs");
9
9
  const require_lib_utils_retry = require("../../../lib/utils/retry.cjs");
10
10
  const require_batteries_llm_openai_chat_completions_exceptions = require("./exceptions.cjs");
@@ -1,8 +1,8 @@
1
- import { a as Tokenizable, c as isObject, n as canonicalStringify, o as isError, s as isInstanceOf, t as ToolRegistry } from "../../../tool_registry-BGHg6KTq.mjs";
2
- import { n as Message, t as Thought } from "../../../thought-B_P8LiB6.mjs";
3
- import { i as ArtifactTool, t as SpooledArtifact } from "../../../spooled_artifact-CWoKUDEm.mjs";
4
- import "../../../common-lMrnzoyn.mjs";
5
- import { n as Media, t as ToolCall } from "../../../tool_call-BUeMuCc6.mjs";
1
+ import { a as canonicalStringify, c as isObject, o as isError, r as Tokenizable, s as isInstanceOf, t as ToolRegistry } from "../../../tool_registry-CbtMt21B.mjs";
2
+ import { n as Message, t as Thought } from "../../../thought-BhoBfz9K.mjs";
3
+ import { i as ArtifactTool, t as SpooledArtifact } from "../../../spooled_artifact-xpzZicMR.mjs";
4
+ import "../../../common-Bo5q3gDK.mjs";
5
+ import { n as Media, t as ToolCall } from "../../../tool_call-H02gzSIs.mjs";
6
6
  import "../../../guards.mjs";
7
7
  import { computeBackoff, linkAbortSignals, parseRetryAfter, sleepWithJitter } from "../../../lib/utils/retry.mjs";
8
8
  import { E_INVALID_OPENAI_CHAT_COMPLETIONS_OPTIONS, E_OPENAI_CHAT_COMPLETIONS_CONTEXT_OVERFLOW, E_OPENAI_CHAT_COMPLETIONS_HTTP_ERROR, E_OPENAI_CHAT_COMPLETIONS_INVALID_TOOL_CALL_ARGS, E_OPENAI_CHAT_COMPLETIONS_REQUEST_TIMEOUT, E_OPENAI_CHAT_COMPLETIONS_STREAM_ERROR, E_OPENAI_CHAT_COMPLETIONS_STREAM_STALLED } from "./exceptions.mjs";
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../../chunk-Ble4zEEl.js");
3
- require("../../../common-D_e5zYsG.js");
4
- const require_tool_call = require("../../../tool_call--7ti-frB.js");
3
+ require("../../../common-Bfqzwdpd.js");
4
+ const require_tool_call = require("../../../tool_call-BPPa_KYu.js");
5
5
  require("../../../guards.cjs");
6
6
  const require_batteries_llm_openai_chat_completions_exceptions = require("./exceptions.cjs");
7
7
  //#region src/batteries/llm/openai_chat_completions/helpers.ts
@@ -1,5 +1,5 @@
1
- import "../../../common-lMrnzoyn.mjs";
2
- import { n as Media } from "../../../tool_call-BUeMuCc6.mjs";
1
+ import "../../../common-Bo5q3gDK.mjs";
2
+ import { n as Media } from "../../../tool_call-H02gzSIs.mjs";
3
3
  import "../../../guards.mjs";
4
4
  import { E_UNSUPPORTED_MEDIA_MODALITY } from "./exceptions.mjs";
5
5
  //#region src/batteries/llm/openai_chat_completions/helpers.ts
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../../chunk-Ble4zEEl.js");
3
- const require_common = require("../../../common-D_e5zYsG.js");
3
+ const require_common = require("../../../common-Bfqzwdpd.js");
4
4
  require("../../../guards.cjs");
5
5
  const require_batteries_llm_openai_chat_completions_exceptions = require("./exceptions.cjs");
6
6
  let _nhtio_validation = require("@nhtio/validation");
@@ -1,4 +1,4 @@
1
- import { i as byteStoreSchema } from "../../../common-lMrnzoyn.mjs";
1
+ import { i as byteStoreSchema } from "../../../common-Bo5q3gDK.mjs";
2
2
  import "../../../guards.mjs";
3
3
  import { E_INVALID_OPENAI_CHAT_COMPLETIONS_OPTIONS } from "./exceptions.mjs";
4
4
  import { validator } from "@nhtio/validation";
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../../chunk-Ble4zEEl.js");
3
- const require_tool_registry = require("../../../tool_registry-CtCQ4Xoz.js");
4
- const require_thought = require("../../../thought-BD6AkkOr.js");
5
- const require_spooled_artifact = require("../../../spooled_artifact-B8gIIn9h.js");
6
- require("../../../common-D_e5zYsG.js");
7
- const require_tool_call = require("../../../tool_call--7ti-frB.js");
3
+ const require_tool_registry = require("../../../tool_registry-CoM6fy7F.js");
4
+ const require_thought = require("../../../thought-pxBGk4lN.js");
5
+ const require_spooled_artifact = require("../../../spooled_artifact-Chp6PEr8.js");
6
+ require("../../../common-Bfqzwdpd.js");
7
+ const require_tool_call = require("../../../tool_call-BPPa_KYu.js");
8
8
  require("../../../guards.cjs");
9
9
  const require_batteries_storage_in_memory = require("../../storage/in_memory.cjs");
10
10
  const require_batteries_llm_openai_chat_completions_helpers = require("../openai_chat_completions/helpers.cjs");
@@ -1,8 +1,8 @@
1
- import { a as Tokenizable, c as isObject, n as canonicalStringify, o as isError, s as isInstanceOf, t as ToolRegistry } from "../../../tool_registry-BGHg6KTq.mjs";
2
- import { n as Message, t as Thought } from "../../../thought-B_P8LiB6.mjs";
3
- import { i as ArtifactTool, t as SpooledArtifact } from "../../../spooled_artifact-CWoKUDEm.mjs";
4
- import "../../../common-lMrnzoyn.mjs";
5
- import { n as Media, t as ToolCall } from "../../../tool_call-BUeMuCc6.mjs";
1
+ import { a as canonicalStringify, c as isObject, o as isError, r as Tokenizable, s as isInstanceOf, t as ToolRegistry } from "../../../tool_registry-CbtMt21B.mjs";
2
+ import { n as Message, t as Thought } from "../../../thought-BhoBfz9K.mjs";
3
+ import { i as ArtifactTool, t as SpooledArtifact } from "../../../spooled_artifact-xpzZicMR.mjs";
4
+ import "../../../common-Bo5q3gDK.mjs";
5
+ import { n as Media, t as ToolCall } from "../../../tool_call-H02gzSIs.mjs";
6
6
  import "../../../guards.mjs";
7
7
  import { InMemorySpoolStore } from "../../storage/in_memory.mjs";
8
8
  import { defaultBuildChatCompletionsHistory, defaultCreateChatCompletionsToolCallDeltaAccumulator, defaultDescriptionToChatCompletionsJsonSchema, defaultFilterThoughts, defaultRenderChatCompletionsSystemPrompt, defaultRenderChatCompletionsToolCallResult, defaultRenderFirstPartyRetrievables, defaultRenderMemories, defaultRenderRetrievableSafetyDirective, defaultRenderRetrievables, defaultRenderStandingInstructions, defaultRenderThirdPartyPrivateRetrievables, defaultRenderThirdPartyPublicRetrievables, defaultRenderThought, defaultRenderTimelineMessage, defaultRenderTrustedContent, defaultRenderUntrustedContent, defaultToolsToChatCompletionsTools, extractReasoningFields } from "../openai_chat_completions/helpers.mjs";
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../../chunk-Ble4zEEl.js");
3
- const require_common = require("../../../common-D_e5zYsG.js");
3
+ const require_common = require("../../../common-Bfqzwdpd.js");
4
4
  require("../../../guards.cjs");
5
5
  const require_batteries_llm_webllm_chat_completions_exceptions = require("./exceptions.cjs");
6
6
  let _nhtio_validation = require("@nhtio/validation");
@@ -1,4 +1,4 @@
1
- import { i as byteStoreSchema } from "../../../common-lMrnzoyn.mjs";
1
+ import { i as byteStoreSchema } from "../../../common-Bo5q3gDK.mjs";
2
2
  import "../../../guards.mjs";
3
3
  import { E_INVALID_WEBLLM_CHAT_COMPLETIONS_OPTIONS } from "./exceptions.mjs";
4
4
  import { validator } from "@nhtio/validation";
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../../chunk-Ble4zEEl.js");
3
- const require_tool_registry = require("../../tool_registry-CtCQ4Xoz.js");
3
+ const require_tool_registry = require("../../tool_registry-CoM6fy7F.js");
4
4
  require("../../guards.cjs");
5
5
  //#endregion
6
6
  //#region src/batteries/storage/flydrive/index.ts
@@ -1,5 +1,5 @@
1
1
  import { t as __commonJSMin } from "../../chunk-kRvK8_k2.mjs";
2
- import { s as isInstanceOf } from "../../tool_registry-BGHg6KTq.mjs";
2
+ import { s as isInstanceOf } from "../../tool_registry-CbtMt21B.mjs";
3
3
  import "../../guards.mjs";
4
4
  //#endregion
5
5
  //#region src/batteries/storage/flydrive/index.ts
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../chunk-Ble4zEEl.js");
3
- const require_tool_registry = require("../../tool_registry-CtCQ4Xoz.js");
3
+ const require_tool_registry = require("../../tool_registry-CoM6fy7F.js");
4
4
  require("../../guards.cjs");
5
5
  //#region src/batteries/storage/in_memory/index.ts
6
6
  /**
@@ -1,4 +1,4 @@
1
- import { s as isInstanceOf } from "../../tool_registry-BGHg6KTq.mjs";
1
+ import { s as isInstanceOf } from "../../tool_registry-CbtMt21B.mjs";
2
2
  import "../../guards.mjs";
3
3
  //#region src/batteries/storage/in_memory/index.ts
4
4
  /**
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../chunk-Ble4zEEl.js");
3
- const require_tool_registry = require("../../tool_registry-CtCQ4Xoz.js");
3
+ const require_tool_registry = require("../../tool_registry-CoM6fy7F.js");
4
4
  require("../../guards.cjs");
5
5
  //#region src/batteries/storage/opfs/index.ts
6
6
  /**
@@ -1,4 +1,4 @@
1
- import { s as isInstanceOf } from "../../tool_registry-BGHg6KTq.mjs";
1
+ import { s as isInstanceOf } from "../../tool_registry-CbtMt21B.mjs";
2
2
  import "../../guards.mjs";
3
3
  //#region src/batteries/storage/opfs/index.ts
4
4
  /**
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../chunk-Ble4zEEl.js");
3
- const require_tool = require("../../tool-CX9vNHAw.js");
4
- require("../../common-D_e5zYsG.js");
3
+ const require_tool = require("../../tool-CxIEutdk.js");
4
+ require("../../common-Bfqzwdpd.js");
5
5
  let _nhtio_validation = require("@nhtio/validation");
6
6
  //#region src/batteries/tools/color/index.ts
7
7
  /**
@@ -1,5 +1,5 @@
1
- import { t as Tool } from "../../tool-CRZSUcdP.mjs";
2
- import "../../common-lMrnzoyn.mjs";
1
+ import { t as Tool } from "../../tool-C381-NLO.mjs";
2
+ import "../../common-Bo5q3gDK.mjs";
3
3
  import { validator } from "@nhtio/validation";
4
4
  //#region src/batteries/tools/color/index.ts
5
5
  /**
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../chunk-Ble4zEEl.js");
3
- const require_tool_registry = require("../../tool_registry-CtCQ4Xoz.js");
4
- const require_tool = require("../../tool-CX9vNHAw.js");
5
- require("../../common-D_e5zYsG.js");
3
+ const require_tool_registry = require("../../tool_registry-CoM6fy7F.js");
4
+ const require_tool = require("../../tool-CxIEutdk.js");
5
+ require("../../common-Bfqzwdpd.js");
6
6
  require("../../guards.cjs");
7
7
  let _nhtio_validation = require("@nhtio/validation");
8
8
  //#region src/batteries/tools/comparison/index.ts
@@ -1,6 +1,6 @@
1
- import { o as isError } from "../../tool_registry-BGHg6KTq.mjs";
2
- import { t as Tool } from "../../tool-CRZSUcdP.mjs";
3
- import "../../common-lMrnzoyn.mjs";
1
+ import { o as isError } from "../../tool_registry-CbtMt21B.mjs";
2
+ import { t as Tool } from "../../tool-C381-NLO.mjs";
3
+ import "../../common-Bo5q3gDK.mjs";
4
4
  import "../../guards.mjs";
5
5
  import { validator } from "@nhtio/validation";
6
6
  //#region src/batteries/tools/comparison/index.ts
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../chunk-Ble4zEEl.js");
3
- const require_tool_registry = require("../../tool_registry-CtCQ4Xoz.js");
4
- const require_tool = require("../../tool-CX9vNHAw.js");
5
- require("../../common-D_e5zYsG.js");
3
+ const require_tool_registry = require("../../tool_registry-CoM6fy7F.js");
4
+ const require_tool = require("../../tool-CxIEutdk.js");
5
+ require("../../common-Bfqzwdpd.js");
6
6
  require("../../guards.cjs");
7
7
  let _nhtio_validation = require("@nhtio/validation");
8
8
  //#region src/batteries/tools/data_structure/index.ts
@@ -1,6 +1,6 @@
1
- import { c as isObject, o as isError } from "../../tool_registry-BGHg6KTq.mjs";
2
- import { t as Tool } from "../../tool-CRZSUcdP.mjs";
3
- import "../../common-lMrnzoyn.mjs";
1
+ import { c as isObject, o as isError } from "../../tool_registry-CbtMt21B.mjs";
2
+ import { t as Tool } from "../../tool-C381-NLO.mjs";
3
+ import "../../common-Bo5q3gDK.mjs";
4
4
  import "../../guards.mjs";
5
5
  import { validator } from "@nhtio/validation";
6
6
  //#region src/batteries/tools/data_structure/index.ts
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../../chunk-Ble4zEEl.js");
3
- const require_tool = require("../../tool-CX9vNHAw.js");
4
- require("../../common-D_e5zYsG.js");
5
- let _nhtio_validation = require("@nhtio/validation");
3
+ const require_tool = require("../../tool-CxIEutdk.js");
4
+ require("../../common-Bfqzwdpd.js");
6
5
  let luxon = require("luxon");
6
+ let _nhtio_validation = require("@nhtio/validation");
7
7
  let chrono_node = require("chrono-node");
8
8
  chrono_node = require_chunk.__toESM(chrono_node);
9
9
  //#region src/batteries/tools/datetime_extended/index.ts
@@ -1,7 +1,7 @@
1
- import { t as Tool } from "../../tool-CRZSUcdP.mjs";
2
- import "../../common-lMrnzoyn.mjs";
3
- import { validator } from "@nhtio/validation";
1
+ import { t as Tool } from "../../tool-C381-NLO.mjs";
2
+ import "../../common-Bo5q3gDK.mjs";
4
3
  import { DateTime, IANAZone } from "luxon";
4
+ import { validator } from "@nhtio/validation";
5
5
  import * as chrono from "chrono-node";
6
6
  //#region src/batteries/tools/datetime_extended/index.ts
7
7
  /**
@@ -1,9 +1,9 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../chunk-Ble4zEEl.js");
3
- const require_tool = require("../../tool-CX9vNHAw.js");
4
- require("../../common-D_e5zYsG.js");
5
- let _nhtio_validation = require("@nhtio/validation");
3
+ const require_tool = require("../../tool-CxIEutdk.js");
4
+ require("../../common-Bfqzwdpd.js");
6
5
  let luxon = require("luxon");
6
+ let _nhtio_validation = require("@nhtio/validation");
7
7
  //#region src/batteries/tools/datetime_math/index.ts
8
8
  /**
9
9
  * Pre-constructed tools for ISO datetime arithmetic, differences, and timezone-aware formatting.
@@ -1,7 +1,7 @@
1
- import { t as Tool } from "../../tool-CRZSUcdP.mjs";
2
- import "../../common-lMrnzoyn.mjs";
3
- import { validator } from "@nhtio/validation";
1
+ import { t as Tool } from "../../tool-C381-NLO.mjs";
2
+ import "../../common-Bo5q3gDK.mjs";
4
3
  import { DateTime, Duration, IANAZone } from "luxon";
4
+ import { validator } from "@nhtio/validation";
5
5
  //#region src/batteries/tools/datetime_math/index.ts
6
6
  /**
7
7
  * Pre-constructed tools for ISO datetime arithmetic, differences, and timezone-aware formatting.
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../chunk-Ble4zEEl.js");
3
- const require_tool_registry = require("../../tool_registry-CtCQ4Xoz.js");
4
- const require_tool = require("../../tool-CX9vNHAw.js");
5
- require("../../common-D_e5zYsG.js");
3
+ const require_tool_registry = require("../../tool_registry-CoM6fy7F.js");
4
+ const require_tool = require("../../tool-CxIEutdk.js");
5
+ require("../../common-Bfqzwdpd.js");
6
6
  require("../../guards.cjs");
7
7
  let _nhtio_validation = require("@nhtio/validation");
8
8
  //#region src/batteries/tools/encoding/index.ts
@@ -1,6 +1,6 @@
1
- import { o as isError } from "../../tool_registry-BGHg6KTq.mjs";
2
- import { t as Tool } from "../../tool-CRZSUcdP.mjs";
3
- import "../../common-lMrnzoyn.mjs";
1
+ import { o as isError } from "../../tool_registry-CbtMt21B.mjs";
2
+ import { t as Tool } from "../../tool-C381-NLO.mjs";
3
+ import "../../common-Bo5q3gDK.mjs";
4
4
  import "../../guards.mjs";
5
5
  import { validator } from "@nhtio/validation";
6
6
  //#region src/batteries/tools/encoding/index.ts
@@ -1,8 +1,8 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../chunk-Ble4zEEl.js");
3
- const require_tool_registry = require("../../tool_registry-CtCQ4Xoz.js");
4
- const require_tool = require("../../tool-CX9vNHAw.js");
5
- require("../../common-D_e5zYsG.js");
3
+ const require_tool_registry = require("../../tool_registry-CoM6fy7F.js");
4
+ const require_tool = require("../../tool-CxIEutdk.js");
5
+ require("../../common-Bfqzwdpd.js");
6
6
  require("../../guards.cjs");
7
7
  let _nhtio_validation = require("@nhtio/validation");
8
8
  //#region src/batteries/tools/formatting/index.ts
@@ -1,6 +1,6 @@
1
- import { o as isError } from "../../tool_registry-BGHg6KTq.mjs";
2
- import { t as Tool } from "../../tool-CRZSUcdP.mjs";
3
- import "../../common-lMrnzoyn.mjs";
1
+ import { o as isError } from "../../tool_registry-CbtMt21B.mjs";
2
+ import { t as Tool } from "../../tool-C381-NLO.mjs";
3
+ import "../../common-Bo5q3gDK.mjs";
4
4
  import "../../guards.mjs";
5
5
  import { validator } from "@nhtio/validation";
6
6
  //#region src/batteries/tools/formatting/index.ts
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  require("../../chunk-Ble4zEEl.js");
3
- const require_tool = require("../../tool-CX9vNHAw.js");
4
- require("../../common-D_e5zYsG.js");
3
+ const require_tool = require("../../tool-CxIEutdk.js");
4
+ require("../../common-Bfqzwdpd.js");
5
5
  let _nhtio_validation = require("@nhtio/validation");
6
6
  //#region src/batteries/tools/geo_basics/index.ts
7
7
  /**
@@ -1,5 +1,5 @@
1
- import { t as Tool } from "../../tool-CRZSUcdP.mjs";
2
- import "../../common-lMrnzoyn.mjs";
1
+ import { t as Tool } from "../../tool-C381-NLO.mjs";
2
+ import "../../common-Bo5q3gDK.mjs";
3
3
  import { validator } from "@nhtio/validation";
4
4
  //#region src/batteries/tools/geo_basics/index.ts
5
5
  /**
@@ -28,9 +28,20 @@ export declare const calculateTool: Tool<import("../../../common").SpooledArtifa
28
28
  *
29
29
  * @remarks
30
30
  * Translates common LaTeX constructs (`\frac{a}{b}`, `\sqrt{...}`, `\cdot`, `\times`, Greek
31
- * macros like `\pi`, `\left`/`\right` delimiters, `\text{...}`, subscripts, etc.) into their
32
- * mathjs equivalents before evaluation. Both the source and the translated mathjs expression
33
- * are subject to the 1000-character length cap.
31
+ * macros like `\pi`, inverse trig `\arcsin`/`\arccos`/`\arctan`, `\left`/`\right` delimiters,
32
+ * `\text{...}`, subscripts, etc.) into their mathjs equivalents before evaluation. Both the source
33
+ * and the translated mathjs expression are subject to the 1000-character length cap.
34
+ *
35
+ * Also evaluates three calculus constructs **numerically** (mathjs has no symbolic integration, and
36
+ * its symbolic `derivative` is blocklisted here for safety):
37
+ * - Definite integrals — `\int_{a}^{b} f \,dx` via composite Simpson quadrature.
38
+ * - Derivatives at a point — `\frac{d}{dx} f \big|_{x=a}` via central finite difference.
39
+ * - Limits — `\lim_{x \to a} f` (including `a = \pm\infty`) via a two-sided numeric approach.
40
+ *
41
+ * Numeric results are rounded with `math.format(..., { precision: 12 })` and labelled
42
+ * `Result (numeric):` to flag that they are approximations. Constructs that cannot be evaluated
43
+ * numerically (indefinite integrals, derivatives without a point, infinite integration bounds,
44
+ * singular integrands, divergent limits) return a specific, guiding error string.
34
45
  *
35
46
  * Parse and evaluation errors are returned as error strings rather than thrown.
36
47
  */