@treasuredata/tdx 2026.4.10 → 2026.4.11

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 (220) hide show
  1. package/dist/bin.js +1 -1
  2. package/dist/build-info.json +3 -3
  3. package/dist/cli-categories.js +1 -1
  4. package/dist/cli.js +1 -1
  5. package/dist/commands/activations.js +1 -1
  6. package/dist/commands/agent-command.js +1 -1
  7. package/dist/commands/agent-test-command.js +1 -1
  8. package/dist/commands/api-command.js +1 -1
  9. package/dist/commands/auth-command.js +1 -1
  10. package/dist/commands/cas-command.js +1 -1
  11. package/dist/commands/cas-segment-command.js +1 -1
  12. package/dist/commands/chat-command.js +1 -1
  13. package/dist/commands/claude-command.js +1 -1
  14. package/dist/commands/claude-statusline-command.js +1 -1
  15. package/dist/commands/claude-usage-command.js +1 -1
  16. package/dist/commands/command.js +1 -1
  17. package/dist/commands/connection-command.js +1 -1
  18. package/dist/commands/databases.js +1 -1
  19. package/dist/commands/delivery-command.js +1 -1
  20. package/dist/commands/describe.js +1 -1
  21. package/dist/commands/engage-campaign-pull-command.js +1 -1
  22. package/dist/commands/engage-campaign-push-command.js +1 -1
  23. package/dist/commands/engage-campaign-validate-command.js +1 -1
  24. package/dist/commands/engage-command.js +1 -1
  25. package/dist/commands/engage-template-pull-command.js +1 -1
  26. package/dist/commands/engage-template-push-command.js +1 -1
  27. package/dist/commands/engage-template-validate-command.js +1 -1
  28. package/dist/commands/job-command.js +1 -1
  29. package/dist/commands/journey-command.js +1 -1
  30. package/dist/commands/journey-validate-command.js +1 -1
  31. package/dist/commands/llm-command.js +1 -1
  32. package/dist/commands/mcp-command.js +1 -1
  33. package/dist/commands/parent-segment-command.js +1 -1
  34. package/dist/commands/policy-command.js +1 -1
  35. package/dist/commands/profile-command.js +1 -1
  36. package/dist/commands/profiles-command.js +1 -1
  37. package/dist/commands/query-command.js +1 -1
  38. package/dist/commands/schedule-command.js +1 -1
  39. package/dist/commands/segment-command.js +1 -1
  40. package/dist/commands/segment-create-command.js +1 -1
  41. package/dist/commands/segment-fields-command.js +1 -1
  42. package/dist/commands/segment-pull-command.js +1 -1
  43. package/dist/commands/segment-push-command.js +1 -1
  44. package/dist/commands/segment-update-command.js +1 -1
  45. package/dist/commands/segment-use-command.js +1 -1
  46. package/dist/commands/segment-validate-command.js +1 -1
  47. package/dist/commands/segments.js +1 -1
  48. package/dist/commands/show.js +1 -1
  49. package/dist/commands/status-command.js +1 -1
  50. package/dist/commands/tables.js +1 -1
  51. package/dist/commands/unset-command.js +1 -1
  52. package/dist/commands/upgrade-command.js +1 -1
  53. package/dist/commands/use-command.js +1 -1
  54. package/dist/commands/user-command.js +1 -1
  55. package/dist/commands/work-command.js +1 -1
  56. package/dist/commands/workflow-command.js +1 -1
  57. package/dist/core/auth.js +1 -1
  58. package/dist/core/command-output.js +1 -1
  59. package/dist/core/config.js +1 -1
  60. package/dist/core/connection-cache.js +1 -1
  61. package/dist/core/constants.js +1 -1
  62. package/dist/core/credential-cache.js +1 -1
  63. package/dist/core/global-context.js +1 -1
  64. package/dist/core/keychain.js +1 -1
  65. package/dist/core/oauth-keychain.js +1 -1
  66. package/dist/core/oauth.js +1 -1
  67. package/dist/core/profile.js +1 -1
  68. package/dist/core/project-config.js +1 -1
  69. package/dist/core/session.js +1 -1
  70. package/dist/core/user-cache.js +1 -1
  71. package/dist/core/version.js +1 -1
  72. package/dist/index.js +1 -1
  73. package/dist/mcp/server.js +1 -1
  74. package/dist/mcp/tools/index.js +1 -1
  75. package/dist/mcp/tools/tdx-run.js +1 -1
  76. package/dist/mcp/tools/tdx-search.js +1 -1
  77. package/dist/mcp/tools/work-create-item.js +1 -1
  78. package/dist/mcp/utils.js +1 -1
  79. package/dist/proxy/claude-usage-tracker.js +1 -1
  80. package/dist/proxy/passthrough-server.js +1 -1
  81. package/dist/proxy/sse-usage-parser.js +1 -1
  82. package/dist/sdk/agent/agent-config.js +1 -1
  83. package/dist/sdk/agent/agent-ref-parser.js +1 -1
  84. package/dist/sdk/agent/agent-yaml.js +1 -1
  85. package/dist/sdk/agent/test/evaluator.js +1 -1
  86. package/dist/sdk/agent/test/executor.js +1 -1
  87. package/dist/sdk/agent/test/index.js +1 -1
  88. package/dist/sdk/agent/test/output.js +1 -1
  89. package/dist/sdk/agent/test/parser.js +1 -1
  90. package/dist/sdk/agent/tool-target-registry.js +1 -1
  91. package/dist/sdk/api.js +1 -1
  92. package/dist/sdk/cas/cas-api-client.js +1 -1
  93. package/dist/sdk/cas/cas-audience-yaml.js +1 -1
  94. package/dist/sdk/cas/cas-segment-yaml.js +1 -1
  95. package/dist/sdk/cas/index.js +1 -1
  96. package/dist/sdk/cas/pull-workflow.js +1 -1
  97. package/dist/sdk/cas/push-workflow.js +1 -1
  98. package/dist/sdk/client/cdp-api-client.js +1 -1
  99. package/dist/sdk/client/delivery-api-client.js +1 -1
  100. package/dist/sdk/client/endpoints.js +1 -1
  101. package/dist/sdk/client/engage-api-client.js +1 -1
  102. package/dist/sdk/client/http-client.js +1 -1
  103. package/dist/sdk/client/llm-api-client.js +1 -1
  104. package/dist/sdk/client/oauth-refresh.js +1 -1
  105. package/dist/sdk/client/rate-limiter.js +1 -1
  106. package/dist/sdk/client/td-api-client.js +1 -1
  107. package/dist/sdk/client/trino-api-client.js +1 -1
  108. package/dist/sdk/client/workflow-client.js +1 -1
  109. package/dist/sdk/connection-validator.js +1 -1
  110. package/dist/sdk/connection.js +1 -1
  111. package/dist/sdk/delivery.js +1 -1
  112. package/dist/sdk/engage/campaign-pull.js +1 -1
  113. package/dist/sdk/engage/campaign-push.js +1 -1
  114. package/dist/sdk/engage/campaign-validator.js +1 -1
  115. package/dist/sdk/engage/campaign-yaml.js +1 -1
  116. package/dist/sdk/engage/template-pull.js +1 -1
  117. package/dist/sdk/engage/template-push.js +1 -1
  118. package/dist/sdk/engage/template-validator.js +1 -1
  119. package/dist/sdk/engage/template-yaml.js +1 -1
  120. package/dist/sdk/engage/types/campaign-def.js +1 -1
  121. package/dist/sdk/engage/types/campaign-schema.js +1 -1
  122. package/dist/sdk/engage/types/template-schema.js +1 -1
  123. package/dist/sdk/engage.js +1 -1
  124. package/dist/sdk/errors.js +1 -1
  125. package/dist/sdk/index.js +1 -1
  126. package/dist/sdk/io/index.js +1 -1
  127. package/dist/sdk/io/node-filesystem.js +1 -1
  128. package/dist/sdk/job.js +1 -1
  129. package/dist/sdk/journey.js +1 -1
  130. package/dist/sdk/llm/chat-cache.js +1 -1
  131. package/dist/sdk/llm/index.js +1 -1
  132. package/dist/sdk/llm/llm-backup-utils.js +1 -1
  133. package/dist/sdk/llm/model-factors.js +1 -1
  134. package/dist/sdk/personalization.js +1 -1
  135. package/dist/sdk/policy.js +1 -1
  136. package/dist/sdk/query/index.js +1 -1
  137. package/dist/sdk/query/sql-parser.js +1 -1
  138. package/dist/sdk/realtime.js +1 -1
  139. package/dist/sdk/schedule.js +1 -1
  140. package/dist/sdk/segment/child-segment-yaml.js +1 -1
  141. package/dist/sdk/segment/fields-display.js +1 -1
  142. package/dist/sdk/segment/file-discovery.js +1 -1
  143. package/dist/sdk/segment/journey-utils.js +1 -1
  144. package/dist/sdk/segment/journey-validator.js +1 -1
  145. package/dist/sdk/segment/journey-yaml.js +1 -1
  146. package/dist/sdk/segment/parent-segment-preview.js +1 -1
  147. package/dist/sdk/segment/parent-segment-yaml.js +1 -1
  148. package/dist/sdk/segment/pull-workflow.js +1 -1
  149. package/dist/sdk/segment/push-recovery.js +1 -1
  150. package/dist/sdk/segment/push-workflow.js +1 -1
  151. package/dist/sdk/segment/resolution-context.js +1 -1
  152. package/dist/sdk/segment/segment-path-parser.js +1 -1
  153. package/dist/sdk/segment/segment-ref-parser.js +1 -1
  154. package/dist/sdk/segment/segment-validator.js +1 -1
  155. package/dist/sdk/segment/target-resolution.js +1 -1
  156. package/dist/sdk/segment/tdx-config.js +1 -1
  157. package/dist/sdk/segment/types/activation-schema.js +1 -1
  158. package/dist/sdk/segment/types/journey-def.js +1 -1
  159. package/dist/sdk/segment/types/journey-schema.js +1 -1
  160. package/dist/sdk/segment/types/segment-def.js +1 -1
  161. package/dist/sdk/segment/types/segment-schema.js +1 -1
  162. package/dist/sdk/segment/validate-files.js +1 -1
  163. package/dist/sdk/segment/yaml-validator.js +1 -1
  164. package/dist/sdk/segment.js +1 -1
  165. package/dist/sdk/types/index.js +1 -1
  166. package/dist/sdk/types/progress.js +1 -1
  167. package/dist/sdk/types/workspace.js +1 -1
  168. package/dist/sdk/user.js +1 -1
  169. package/dist/sdk/util/format-detector.js +1 -1
  170. package/dist/sdk/util/formatters.js +1 -1
  171. package/dist/sdk/util/index.js +1 -1
  172. package/dist/sdk/util/paginate.js +1 -1
  173. package/dist/sdk/util/tree-formatter.js +1 -1
  174. package/dist/sdk/workflow/archive-validation.js +1 -1
  175. package/dist/sdk/workflow/clone-workflow.js +1 -1
  176. package/dist/sdk/workflow/index.js +1 -1
  177. package/dist/sdk/workflow/pull-workflow.js +1 -1
  178. package/dist/sdk/workflow/push-workflow.js +1 -1
  179. package/dist/sdk/workflow/tdx-config.js +1 -1
  180. package/dist/sdk/workflow/workflow-utils.js +1 -1
  181. package/dist/sdk/workspace/access-tracker.js +1 -1
  182. package/dist/sdk/workspace/frontmatter.js +1 -1
  183. package/dist/sdk/workspace/git.js +1 -1
  184. package/dist/sdk/workspace/index.js +1 -1
  185. package/dist/sdk/workspace/templates.js +1 -1
  186. package/dist/sdk/workspace/weekly.js +1 -1
  187. package/dist/sdk/workspace/wikilinks.js +1 -1
  188. package/dist/test-utils/command-runner.js +1 -1
  189. package/dist/test-utils/factories.js +1 -1
  190. package/dist/test-utils/fixtures.js +1 -1
  191. package/dist/test-utils/http-mock.js +1 -1
  192. package/dist/test-utils/index.js +1 -1
  193. package/dist/utils/async.js +1 -1
  194. package/dist/utils/colors.js +1 -1
  195. package/dist/utils/diff.js +1 -1
  196. package/dist/utils/file-permissions.js +1 -1
  197. package/dist/utils/file-reader.js +1 -1
  198. package/dist/utils/github-releases.js +1 -1
  199. package/dist/utils/global-cache.js +1 -1
  200. package/dist/utils/json-loader.js +1 -1
  201. package/dist/utils/local-cache.js +1 -1
  202. package/dist/utils/logger/formatters/default-formatter.js +1 -1
  203. package/dist/utils/logger/formatters/index.js +1 -1
  204. package/dist/utils/logger/handlers/console-handler.js +1 -1
  205. package/dist/utils/logger/handlers/file-handler.js +1 -1
  206. package/dist/utils/logger/handlers/index.js +1 -1
  207. package/dist/utils/logger/handlers/null-handler.js +1 -1
  208. package/dist/utils/logger/index.js +1 -1
  209. package/dist/utils/logger/logger.js +1 -1
  210. package/dist/utils/logger/types.js +1 -1
  211. package/dist/utils/option-validation.js +1 -1
  212. package/dist/utils/process.js +1 -1
  213. package/dist/utils/prompt.js +1 -1
  214. package/dist/utils/spinner.js +1 -1
  215. package/dist/utils/sse-parser.js +1 -1
  216. package/dist/utils/string-utils.js +1 -1
  217. package/dist/utils/table-ref-parser.js +1 -1
  218. package/dist/utils/tdx-logger.js +1 -1
  219. package/dist/utils/version-check.js +1 -1
  220. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- (function(_0x2f20af,_0x5ade5d){var _0x3b2e62=a70_0x111a,_0x5df684=_0x2f20af();while(!![]){try{var _0x3dac82=parseInt(_0x3b2e62(0x10a))/0x1*(parseInt(_0x3b2e62(0x114))/0x2)+parseInt(_0x3b2e62(0x110))/0x3+-parseInt(_0x3b2e62(0x10e))/0x4*(-parseInt(_0x3b2e62(0x111))/0x5)+-parseInt(_0x3b2e62(0x10c))/0x6+-parseInt(_0x3b2e62(0x10f))/0x7*(-parseInt(_0x3b2e62(0x113))/0x8)+-parseInt(_0x3b2e62(0x10b))/0x9*(-parseInt(_0x3b2e62(0x112))/0xa)+-parseInt(_0x3b2e62(0x10d))/0xb;if(_0x3dac82===_0x5ade5d)break;else _0x5df684['push'](_0x5df684['shift']());}catch(_0xd105e2){_0x5df684['push'](_0x5df684['shift']());}}}(a70_0x3875,0xbba7d));export*from'./sdk/types/index.js';export*from'./core/config.js';export*from'./core/auth.js';export*from'./sdk/client/http-client.js';export*from'./sdk/client/td-api-client.js';export{TrinoApiClient}from'./sdk/client/trino-api-client.js';export*from'./sdk/client/rate-limiter.js';export*from'./sdk/types/trino.js';export*from'./commands/command.js';export*from'./commands/query-command.js';export*from'./commands/databases.js';export*from'./commands/tables.js';export*from'./commands/segments.js';function a70_0x3875(){var _0x9aa407=['2233QYEItG','1860765BqHQYq','30UwHuoF','28690cJslwx','5352dLAqZG','704192xxdUvv','3gRuxSo','3447NSEUzQ','3523572ZoUHmH','23907048qrbZwO','360324xzSXLO'];a70_0x3875=function(){return _0x9aa407;};return a70_0x3875();}export*from'./commands/activations.js';export*from'./commands/show.js';function a70_0x111a(_0x323fde,_0x357453){_0x323fde=_0x323fde-0x10a;var _0x387506=a70_0x3875();var _0x111aaf=_0x387506[_0x323fde];return _0x111aaf;}export*from'./commands/describe.js';export*from'./sdk/index.js';
1
+ (function(_0x4fd386,_0xc8bdf0){var _0x36eb26=a70_0x53a6,_0x2a6f0e=_0x4fd386();while(!![]){try{var _0x3bd457=parseInt(_0x36eb26(0x17b))/0x1*(-parseInt(_0x36eb26(0x179))/0x2)+parseInt(_0x36eb26(0x175))/0x3*(-parseInt(_0x36eb26(0x17c))/0x4)+parseInt(_0x36eb26(0x176))/0x5*(parseInt(_0x36eb26(0x174))/0x6)+parseInt(_0x36eb26(0x17f))/0x7*(-parseInt(_0x36eb26(0x177))/0x8)+parseInt(_0x36eb26(0x178))/0x9+-parseInt(_0x36eb26(0x17e))/0xa*(-parseInt(_0x36eb26(0x17a))/0xb)+parseInt(_0x36eb26(0x17d))/0xc*(-parseInt(_0x36eb26(0x180))/0xd);if(_0x3bd457===_0xc8bdf0)break;else _0x2a6f0e['push'](_0x2a6f0e['shift']());}catch(_0x19e436){_0x2a6f0e['push'](_0x2a6f0e['shift']());}}}(a70_0x5697,0xc1527));export*from'./sdk/types/index.js';export*from'./core/config.js';export*from'./core/auth.js';export*from'./sdk/client/http-client.js';export*from'./sdk/client/td-api-client.js';export{TrinoApiClient}from'./sdk/client/trino-api-client.js';export*from'./sdk/client/rate-limiter.js';export*from'./sdk/types/trino.js';export*from'./commands/command.js';export*from'./commands/query-command.js';export*from'./commands/databases.js';export*from'./commands/tables.js';export*from'./commands/segments.js';function a70_0x5697(){var _0x2d2bc7=['1414560qZAvXI','10dThYTw','481201tbOSYL','65sSwhpH','7090050NczsPB','323682GmbnbK','5NZDVJU','72PMFkCy','4684536OQpRwW','83288fqKjvI','13519649MppAps','12lRUOGK','16tBYZqE'];a70_0x5697=function(){return _0x2d2bc7;};return a70_0x5697();}export*from'./commands/activations.js';export*from'./commands/show.js';function a70_0x53a6(_0x2a7b82,_0x20bd89){_0x2a7b82=_0x2a7b82-0x174;var _0x56975d=a70_0x5697();var _0x53a684=_0x56975d[_0x2a7b82];return _0x53a684;}export*from'./commands/describe.js';export*from'./sdk/index.js';
@@ -1 +1 @@
1
- (function(_0x51b693,_0x58f9aa){const _0x637afb=a71_0x2fa8,_0x3493c6=_0x51b693();while(!![]){try{const _0x5c93fc=-parseInt(_0x637afb(0x1b9))/0x1+parseInt(_0x637afb(0x1c7))/0x2+parseInt(_0x637afb(0x1a5))/0x3*(parseInt(_0x637afb(0x1a4))/0x4)+-parseInt(_0x637afb(0x1ba))/0x5+parseInt(_0x637afb(0x1cb))/0x6+parseInt(_0x637afb(0x1cc))/0x7*(parseInt(_0x637afb(0x1bc))/0x8)+parseInt(_0x637afb(0x1c1))/0x9*(parseInt(_0x637afb(0x1d1))/0xa);if(_0x5c93fc===_0x58f9aa)break;else _0x3493c6['push'](_0x3493c6['shift']());}catch(_0x1f2e48){_0x3493c6['push'](_0x3493c6['shift']());}}}(a71_0x173b,0x24bd4));import{McpServer}from'@modelcontextprotocol/sdk/server/mcp.js';function a71_0x2fa8(_0x40629f,_0x78d675){_0x40629f=_0x40629f-0x1a2;const _0x173b5b=a71_0x173b();let _0x2fa82d=_0x173b5b[_0x40629f];return _0x2fa82d;}import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';function a71_0x173b(){const _0x3080eb=['close','stringify','Search\x20for\x20relevant\x20tdx\x20commands\x20based\x20on\x20what\x20you\x20want\x20to\x20do.\x0a\x0aExamples:\x0a-\x20{\x22query\x22:\x20\x22how\x20to\x20run\x20SQL\x20queries\x22}\x0a-\x20{\x22query\x22:\x20\x22list\x20databases\x20and\x20tables\x22}\x0a-\x20{\x22query\x22:\x20\x22manage\x20customer\x20segments\x22,\x20\x22category\x22:\x20\x22CDP\x22}\x0a-\x20{\x22query\x22:\x20\x22workflow\x20logs\x22}\x0a\x0aCategories:\x20Data,\x20CDP,\x20AI,\x20Context,\x20Utilities\x0a\x0aReturns\x20matching\x20commands\x20with\x20descriptions\x20and\x20example\x20usage.','join','examples','Optional\x20filter\x20by\x20category','No\x20commands\x20found\x20matching\x20\x22','Natural\x20language\x20query\x20(e.g.,\x20\x22list\x20databases\x22,\x20\x22run\x20SQL\x22,\x20\x22manage\x20segments\x22)','describe','array','success','Command\x20completed\x20successfully','232278CeYWOf','198365nXzPbS','optional','24720BMyHcj','Command\x20and\x20arguments\x20as\x20array\x20(e.g.,\x20[\x22query\x22,\x20\x22SELECT\x20...\x22])','enum','env','\x0a\x0a---\x0a\x0a','9qiLOLA','name','Failed\x20to\x20create\x20item','slug','shape','description','230996TGrOrz','CDP','stdin','once','342384tFiAGA','154FuVXeG','Create\x20a\x20work\x20item\x20in\x20the\x20workspace\x20with\x20auto-generated\x20slug,\x20correct\x20folder\x20placement,\x20and\x20auto-commit.\x0a\x0aExamples:\x0a-\x20Create\x20a\x20task:\x20{\x22title\x22:\x20\x22Fix\x20login\x20bug\x22,\x20\x22tags\x22:\x20[\x22bugfix\x22]}\x0a-\x20Create\x20a\x20note:\x20{\x22title\x22:\x20\x22Meeting\x20notes\x22,\x20\x22kind\x22:\x20\x22note\x22}\x0a-\x20Create\x20with\x20PR\x20link:\x20{\x22title\x22:\x20\x22Add\x20auth\x22,\x20\x22github\x22:\x20\x22treasure-data/tdx#123\x22}\x0a-\x20Create\x20from\x20template:\x20{\x22title\x22:\x20\x22New\x20feature\x22,\x20\x22template\x22:\x20\x22feature\x22}\x0a\x0aReturns\x20the\x20file\x20path\x20and\x20slug\x20of\x20the\x20created\x20document.','category','length','text','372550dXjNmG','tdx_search','path','map','578552PZKiEI','3fDIvIL','Context','1.0.0','registerTool','\x0a\x0aExamples:\x0a','output','string','**\x20('];a71_0x173b=function(){return _0x3080eb;};return a71_0x173b();}import{z}from'zod';import{executeTdxRun,searchCommands,executeWorkCreateItem,WorkCreateItemInputSchema}from'./tools/index.js';export function createMCPServer(_0x3dd4ca={}){const _0x5a12b2=a71_0x2fa8,_0x4e8717=new McpServer({'name':'tdx','version':_0x5a12b2(0x1a7)});return _0x4e8717[_0x5a12b2(0x1a8)]('tdx_run',{'description':'Execute\x20any\x20tdx\x20CLI\x20command.\x20Returns\x20JSON\x20output.\x0a\x0aExamples:\x0a-\x20List\x20databases:\x20{\x22args\x22:\x20[\x22databases\x22]}\x0a-\x20Run\x20SQL\x20query:\x20{\x22args\x22:\x20[\x22query\x22,\x20\x22SELECT\x20*\x20FROM\x20mydb.users\x20LIMIT\x2010\x22]}\x0a-\x20List\x20segments:\x20{\x22args\x22:\x20[\x22segments\x22,\x20\x22--recursive\x22]}\x0a-\x20Show\x20job\x20details:\x20{\x22args\x22:\x20[\x22job\x22,\x20\x22show\x22,\x20\x2212345\x22]}\x0a-\x20List\x20tables:\x20{\x22args\x22:\x20[\x22tables\x22,\x20\x22mydb.*\x22]}\x0a\x0aNote:\x20Some\x20commands\x20(auth,\x20profile\x20management,\x20mcp)\x20are\x20blocked\x20for\x20security.','inputSchema':{'args':z[_0x5a12b2(0x1b6)](z['string']())['describe'](_0x5a12b2(0x1bd))}},async({args:_0x4d5666})=>{const _0x5703ef=_0x5a12b2,_0x24d1c1=await executeTdxRun({'args':_0x4d5666},_0x3dd4ca[_0x5703ef(0x1bf)]||{});return _0x24d1c1[_0x5703ef(0x1b7)]?{'content':[{'type':_0x5703ef(0x1d0),'text':_0x24d1c1[_0x5703ef(0x1aa)]||_0x5703ef(0x1b8)}]}:{'content':[{'type':_0x5703ef(0x1d0),'text':_0x24d1c1['error']||_0x24d1c1[_0x5703ef(0x1aa)]||'Command\x20failed'}],'isError':!![]};}),_0x4e8717[_0x5a12b2(0x1a8)](_0x5a12b2(0x1d2),{'description':_0x5a12b2(0x1af),'inputSchema':{'query':z[_0x5a12b2(0x1ab)]()[_0x5a12b2(0x1b5)](_0x5a12b2(0x1b4)),'category':z[_0x5a12b2(0x1be)](['Data',_0x5a12b2(0x1c8),'AI',_0x5a12b2(0x1a6),'Utilities'])[_0x5a12b2(0x1bb)]()[_0x5a12b2(0x1b5)](_0x5a12b2(0x1b2))}},async({query:_0x15c5b1,category:_0x3d0e63})=>{const _0x5294a4=_0x5a12b2,_0x4b466c=searchCommands({'query':_0x15c5b1,'category':_0x3d0e63});if(_0x4b466c[_0x5294a4(0x1cf)]===0x0)return{'content':[{'type':'text','text':_0x5294a4(0x1b3)+_0x15c5b1+'\x22'}]};const _0x367b40=_0x4b466c[_0x5294a4(0x1a3)](_0x9ceb0b=>{const _0x102a38=_0x5294a4,_0x292643=_0x9ceb0b[_0x102a38(0x1b1)][_0x102a38(0x1a3)](_0x1e11e7=>'\x20\x20'+_0x1e11e7)['join']('\x0a');return'**'+_0x9ceb0b[_0x102a38(0x1c2)]+_0x102a38(0x1ac)+_0x9ceb0b[_0x102a38(0x1ce)]+')\x0a'+_0x9ceb0b[_0x102a38(0x1c6)]+_0x102a38(0x1a9)+_0x292643;})[_0x5294a4(0x1b0)](_0x5294a4(0x1c0));return{'content':[{'type':_0x5294a4(0x1d0),'text':_0x367b40}]};}),_0x4e8717[_0x5a12b2(0x1a8)]('work_create_item',{'description':_0x5a12b2(0x1cd),'inputSchema':WorkCreateItemInputSchema[_0x5a12b2(0x1c5)]},async({title:_0x2fafe8,kind:_0x38eaf7,status:_0x42dc19,tags:_0x5ca5ef,priority:_0x4fa88,body:_0x2dc4d1,template:_0x40d30a,github:_0x3bea7f,jira:_0x1d9e50})=>{const _0x16b7e5=_0x5a12b2,_0x415f15=executeWorkCreateItem({'title':_0x2fafe8,'kind':_0x38eaf7,'status':_0x42dc19,'tags':_0x5ca5ef,'priority':_0x4fa88,'body':_0x2dc4d1,'template':_0x40d30a,'github':_0x3bea7f,'jira':_0x1d9e50});return _0x415f15[_0x16b7e5(0x1b7)]?{'content':[{'type':_0x16b7e5(0x1d0),'text':JSON[_0x16b7e5(0x1ae)]({'path':_0x415f15[_0x16b7e5(0x1a2)],'slug':_0x415f15[_0x16b7e5(0x1c4)]})}]}:{'content':[{'type':'text','text':_0x415f15['error']||_0x16b7e5(0x1c3)}],'isError':!![]};}),_0x4e8717;}export async function startMCPServer(_0x266220={}){const _0x269903=createMCPServer(_0x266220),_0x28e007=new StdioServerTransport();return await _0x269903['connect'](_0x28e007),new Promise(_0xb98e8a=>{const _0x255a69=a71_0x2fa8;let _0x74a8ba=![];const _0x5d9e77=async()=>{const _0x1a3cd5=a71_0x2fa8;if(_0x74a8ba)return;_0x74a8ba=!![],await _0x269903[_0x1a3cd5(0x1ad)](),_0xb98e8a();};process[_0x255a69(0x1ca)]('SIGINT',_0x5d9e77),process[_0x255a69(0x1ca)]('SIGTERM',_0x5d9e77),process[_0x255a69(0x1c9)][_0x255a69(0x1ca)](_0x255a69(0x1ad),_0x5d9e77);});}
1
+ (function(_0x3bdd9a,_0x1efca2){const _0x2db40a=a71_0x586c,_0x17fca9=_0x3bdd9a();while(!![]){try{const _0x1604f9=parseInt(_0x2db40a(0x1b3))/0x1+parseInt(_0x2db40a(0x1af))/0x2*(-parseInt(_0x2db40a(0x18f))/0x3)+parseInt(_0x2db40a(0x190))/0x4+parseInt(_0x2db40a(0x18e))/0x5*(parseInt(_0x2db40a(0x19d))/0x6)+parseInt(_0x2db40a(0x1a6))/0x7+parseInt(_0x2db40a(0x19c))/0x8*(-parseInt(_0x2db40a(0x194))/0x9)+-parseInt(_0x2db40a(0x1b1))/0xa*(-parseInt(_0x2db40a(0x197))/0xb);if(_0x1604f9===_0x1efca2)break;else _0x17fca9['push'](_0x17fca9['shift']());}catch(_0x5d032c){_0x17fca9['push'](_0x17fca9['shift']());}}}(a71_0x1023,0xd2366));function a71_0x1023(){const _0x28e911=['success','path','env','147984KiwdNP','12Uzlonl','join','description','optional','**\x20(','describe','output','once','\x0a\x0aExamples:\x0a','1659441xJSGwy','SIGINT','map','Context','Data','Failed\x20to\x20create\x20item','Search\x20for\x20relevant\x20tdx\x20commands\x20based\x20on\x20what\x20you\x20want\x20to\x20do.\x0a\x0aExamples:\x0a-\x20{\x22query\x22:\x20\x22how\x20to\x20run\x20SQL\x20queries\x22}\x0a-\x20{\x22query\x22:\x20\x22list\x20databases\x20and\x20tables\x22}\x0a-\x20{\x22query\x22:\x20\x22manage\x20customer\x20segments\x22,\x20\x22category\x22:\x20\x22CDP\x22}\x0a-\x20{\x22query\x22:\x20\x22workflow\x20logs\x22}\x0a\x0aCategories:\x20Data,\x20CDP,\x20AI,\x20Context,\x20Utilities\x0a\x0aReturns\x20matching\x20commands\x20with\x20descriptions\x20and\x20example\x20usage.','stdin','SIGTERM','26326XxVPUv','tdx_run','60ENEodl','No\x20commands\x20found\x20matching\x20\x22','1342434ngdjJz','\x0a\x0a---\x0a\x0a','registerTool','Utilities','work_create_item','Create\x20a\x20work\x20item\x20in\x20the\x20workspace\x20with\x20auto-generated\x20slug,\x20correct\x20folder\x20placement,\x20and\x20auto-commit.\x0a\x0aExamples:\x0a-\x20Create\x20a\x20task:\x20{\x22title\x22:\x20\x22Fix\x20login\x20bug\x22,\x20\x22tags\x22:\x20[\x22bugfix\x22]}\x0a-\x20Create\x20a\x20note:\x20{\x22title\x22:\x20\x22Meeting\x20notes\x22,\x20\x22kind\x22:\x20\x22note\x22}\x0a-\x20Create\x20with\x20PR\x20link:\x20{\x22title\x22:\x20\x22Add\x20auth\x22,\x20\x22github\x22:\x20\x22treasure-data/tdx#123\x22}\x0a-\x20Create\x20from\x20template:\x20{\x22title\x22:\x20\x22New\x20feature\x22,\x20\x22template\x22:\x20\x22feature\x22}\x0a\x0aReturns\x20the\x20file\x20path\x20and\x20slug\x20of\x20the\x20created\x20document.','close','CDP','text','name','Execute\x20any\x20tdx\x20CLI\x20command.\x20Returns\x20JSON\x20output.\x0a\x0aExamples:\x0a-\x20List\x20databases:\x20{\x22args\x22:\x20[\x22databases\x22]}\x0a-\x20Run\x20SQL\x20query:\x20{\x22args\x22:\x20[\x22query\x22,\x20\x22SELECT\x20*\x20FROM\x20mydb.users\x20LIMIT\x2010\x22]}\x0a-\x20List\x20segments:\x20{\x22args\x22:\x20[\x22segments\x22,\x20\x22--recursive\x22]}\x0a-\x20Show\x20job\x20details:\x20{\x22args\x22:\x20[\x22job\x22,\x20\x22show\x22,\x20\x2212345\x22]}\x0a-\x20List\x20tables:\x20{\x22args\x22:\x20[\x22tables\x22,\x20\x22mydb.*\x22]}\x0a\x0aNote:\x20Some\x20commands\x20(auth,\x20profile\x20management,\x20mcp)\x20are\x20blocked\x20for\x20security.','shape','array','length','connect','category','1756415niAemA','177CcEFLu','1620368jwMwyB','string','enum','tdx','612VSEdeZ','Command\x20completed\x20successfully','error','381986koEZFF','1.0.0'];a71_0x1023=function(){return _0x28e911;};return a71_0x1023();}function a71_0x586c(_0x27e324,_0x55769e){_0x27e324=_0x27e324-0x18d;const _0x1023f3=a71_0x1023();let _0x586c42=_0x1023f3[_0x27e324];return _0x586c42;}import{McpServer}from'@modelcontextprotocol/sdk/server/mcp.js';import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import{z}from'zod';import{executeTdxRun,searchCommands,executeWorkCreateItem,WorkCreateItemInputSchema}from'./tools/index.js';export function createMCPServer(_0x53e1a2={}){const _0x5ef25f=a71_0x586c,_0x54da86=new McpServer({'name':_0x5ef25f(0x193),'version':_0x5ef25f(0x198)});return _0x54da86[_0x5ef25f(0x1b5)](_0x5ef25f(0x1b0),{'description':_0x5ef25f(0x1bd),'inputSchema':{'args':z[_0x5ef25f(0x1bf)](z[_0x5ef25f(0x191)]())['describe']('Command\x20and\x20arguments\x20as\x20array\x20(e.g.,\x20[\x22query\x22,\x20\x22SELECT\x20...\x22])')}},async({args:_0x4fcf54})=>{const _0x4b5819=_0x5ef25f,_0x28efc1=await executeTdxRun({'args':_0x4fcf54},_0x53e1a2[_0x4b5819(0x19b)]||{});return _0x28efc1[_0x4b5819(0x199)]?{'content':[{'type':_0x4b5819(0x1bb),'text':_0x28efc1[_0x4b5819(0x1a3)]||_0x4b5819(0x195)}]}:{'content':[{'type':'text','text':_0x28efc1[_0x4b5819(0x196)]||_0x28efc1['output']||'Command\x20failed'}],'isError':!![]};}),_0x54da86[_0x5ef25f(0x1b5)]('tdx_search',{'description':_0x5ef25f(0x1ac),'inputSchema':{'query':z['string']()[_0x5ef25f(0x1a2)]('Natural\x20language\x20query\x20(e.g.,\x20\x22list\x20databases\x22,\x20\x22run\x20SQL\x22,\x20\x22manage\x20segments\x22)'),'category':z[_0x5ef25f(0x192)]([_0x5ef25f(0x1aa),_0x5ef25f(0x1ba),'AI',_0x5ef25f(0x1a9),_0x5ef25f(0x1b6)])[_0x5ef25f(0x1a0)]()[_0x5ef25f(0x1a2)]('Optional\x20filter\x20by\x20category')}},async({query:_0x3e18b2,category:_0xc1fd53})=>{const _0x12f555=_0x5ef25f,_0x39a06a=searchCommands({'query':_0x3e18b2,'category':_0xc1fd53});if(_0x39a06a[_0x12f555(0x1c0)]===0x0)return{'content':[{'type':'text','text':_0x12f555(0x1b2)+_0x3e18b2+'\x22'}]};const _0x2efed5=_0x39a06a[_0x12f555(0x1a8)](_0x568922=>{const _0x28e171=_0x12f555,_0x19b50e=_0x568922['examples']['map'](_0x123f4e=>'\x20\x20'+_0x123f4e)[_0x28e171(0x19e)]('\x0a');return'**'+_0x568922[_0x28e171(0x1bc)]+_0x28e171(0x1a1)+_0x568922[_0x28e171(0x18d)]+')\x0a'+_0x568922[_0x28e171(0x19f)]+_0x28e171(0x1a5)+_0x19b50e;})[_0x12f555(0x19e)](_0x12f555(0x1b4));return{'content':[{'type':_0x12f555(0x1bb),'text':_0x2efed5}]};}),_0x54da86[_0x5ef25f(0x1b5)](_0x5ef25f(0x1b7),{'description':_0x5ef25f(0x1b8),'inputSchema':WorkCreateItemInputSchema[_0x5ef25f(0x1be)]},async({title:_0x30ae3f,kind:_0x5c9e27,status:_0x4bc5a2,tags:_0x569b81,priority:_0x197fe3,body:_0x5ec0a8,template:_0x3151ba,github:_0x25e24c,jira:_0x11a0b7})=>{const _0x2e2e4a=_0x5ef25f,_0xe0c921=executeWorkCreateItem({'title':_0x30ae3f,'kind':_0x5c9e27,'status':_0x4bc5a2,'tags':_0x569b81,'priority':_0x197fe3,'body':_0x5ec0a8,'template':_0x3151ba,'github':_0x25e24c,'jira':_0x11a0b7});return _0xe0c921[_0x2e2e4a(0x199)]?{'content':[{'type':_0x2e2e4a(0x1bb),'text':JSON['stringify']({'path':_0xe0c921[_0x2e2e4a(0x19a)],'slug':_0xe0c921['slug']})}]}:{'content':[{'type':'text','text':_0xe0c921[_0x2e2e4a(0x196)]||_0x2e2e4a(0x1ab)}],'isError':!![]};}),_0x54da86;}export async function startMCPServer(_0x275a8e={}){const _0x3483dc=a71_0x586c,_0x1a44d5=createMCPServer(_0x275a8e),_0x4bd5a5=new StdioServerTransport();return await _0x1a44d5[_0x3483dc(0x1c1)](_0x4bd5a5),new Promise(_0x422caf=>{const _0x3be921=_0x3483dc;let _0x4be4ae=![];const _0xa4fcd7=async()=>{if(_0x4be4ae)return;_0x4be4ae=!![],await _0x1a44d5['close'](),_0x422caf();};process[_0x3be921(0x1a4)](_0x3be921(0x1a7),_0xa4fcd7),process[_0x3be921(0x1a4)](_0x3be921(0x1ae),_0xa4fcd7),process[_0x3be921(0x1ad)][_0x3be921(0x1a4)](_0x3be921(0x1b9),_0xa4fcd7);});}
@@ -1 +1 @@
1
- function a72_0x43dd(_0x197a70,_0x4167e5){_0x197a70=_0x197a70-0x1dc;var _0x3a9879=a72_0x3a98();var _0x43dd30=_0x3a9879[_0x197a70];return _0x43dd30;}(function(_0x380a50,_0x3bdff3){var _0x3dd932=a72_0x43dd,_0x2906d2=_0x380a50();while(!![]){try{var _0x1d5b34=parseInt(_0x3dd932(0x1df))/0x1*(-parseInt(_0x3dd932(0x1e2))/0x2)+parseInt(_0x3dd932(0x1e7))/0x3*(-parseInt(_0x3dd932(0x1e5))/0x4)+parseInt(_0x3dd932(0x1dc))/0x5+-parseInt(_0x3dd932(0x1e1))/0x6+-parseInt(_0x3dd932(0x1dd))/0x7*(-parseInt(_0x3dd932(0x1de))/0x8)+-parseInt(_0x3dd932(0x1e4))/0x9*(-parseInt(_0x3dd932(0x1e0))/0xa)+parseInt(_0x3dd932(0x1e3))/0xb*(parseInt(_0x3dd932(0x1e6))/0xc);if(_0x1d5b34===_0x3bdff3)break;else _0x2906d2['push'](_0x2906d2['shift']());}catch(_0x19f782){_0x2906d2['push'](_0x2906d2['shift']());}}}(a72_0x3a98,0xd5450));export{executeTdxRun,TdxRunInputSchema}from'./tdx-run.js';export{searchCommands,TdxSearchInputSchema}from'./tdx-search.js';function a72_0x3a98(){var _0x34c7a1=['2399385rCDuuV','28hNoHDJ','1337976heLyTn','1UxmBuh','5144660lhnSeV','3336474LYNGWS','2657524RAAbTR','44PdPOdC','18rkguVH','4FuBVLT','4050960XzUZMg','2309172ghqMut'];a72_0x3a98=function(){return _0x34c7a1;};return a72_0x3a98();}export{executeWorkCreateItem,WorkCreateItemInputSchema}from'./work-create-item.js';
1
+ (function(_0x5d2e0a,_0x1e8c56){var _0x3497ff=a72_0x1aa9,_0x5ba934=_0x5d2e0a();while(!![]){try{var _0x4e319f=-parseInt(_0x3497ff(0x13b))/0x1+-parseInt(_0x3497ff(0x132))/0x2+-parseInt(_0x3497ff(0x137))/0x3*(-parseInt(_0x3497ff(0x136))/0x4)+-parseInt(_0x3497ff(0x134))/0x5+parseInt(_0x3497ff(0x135))/0x6+-parseInt(_0x3497ff(0x139))/0x7*(-parseInt(_0x3497ff(0x133))/0x8)+parseInt(_0x3497ff(0x13a))/0x9*(parseInt(_0x3497ff(0x138))/0xa);if(_0x4e319f===_0x1e8c56)break;else _0x5ba934['push'](_0x5ba934['shift']());}catch(_0x34ae7f){_0x5ba934['push'](_0x5ba934['shift']());}}}(a72_0x3380,0xd654a));function a72_0x3380(){var _0x10b2ae=['1448Fnsunr','6963875pKarxr','7460436MmZaBb','4JcuiqB','3549843epBEHx','891690BjiKwv','8834CgQyvC','117lEVsLc','1344592ssSiqp','398082ddJOmD'];a72_0x3380=function(){return _0x10b2ae;};return a72_0x3380();}export{executeTdxRun,TdxRunInputSchema}from'./tdx-run.js';export{searchCommands,TdxSearchInputSchema}from'./tdx-search.js';function a72_0x1aa9(_0x641968,_0x187ae0){_0x641968=_0x641968-0x132;var _0x3380c1=a72_0x3380();var _0x1aa987=_0x3380c1[_0x641968];return _0x1aa987;}export{executeWorkCreateItem,WorkCreateItemInputSchema}from'./work-create-item.js';
@@ -1 +1 @@
1
- function a73_0x589c(){const _0x7b219e=['913488PnDZiT','--json','node.exe','stdout','438KLvmYG','true','1480304BXsCBE','describe','error','platform','10605NEFpdA','stderr','--no-color','Failed\x20to\x20spawn\x20tdx:\x20','4037436nFXhIU','data','execPath','toString','tdx','196307NvReJB','12812880cURtYK','win32','7148YILsjl','object','message','2CiWlbm','95jntijP','pipe','resourcesPath'];a73_0x589c=function(){return _0x7b219e;};return a73_0x589c();}const a73_0xca01c1=a73_0x5436;(function(_0x255953,_0x2692f3){const _0x1e4700=a73_0x5436,_0x18a6c7=_0x255953();while(!![]){try{const _0x4b9798=-parseInt(_0x1e4700(0x204))/0x1*(-parseInt(_0x1e4700(0x20a))/0x2)+-parseInt(_0x1e4700(0x20e))/0x3+parseInt(_0x1e4700(0x207))/0x4*(-parseInt(_0x1e4700(0x20b))/0x5)+-parseInt(_0x1e4700(0x1f5))/0x6*(parseInt(_0x1e4700(0x1fb))/0x7)+-parseInt(_0x1e4700(0x1f7))/0x8+-parseInt(_0x1e4700(0x1ff))/0x9+parseInt(_0x1e4700(0x205))/0xa;if(_0x4b9798===_0x2692f3)break;else _0x18a6c7['push'](_0x18a6c7['shift']());}catch(_0xc02b1a){_0x18a6c7['push'](_0x18a6c7['shift']());}}}(a73_0x589c,0x6069d));function a73_0x5436(_0x45edf3,_0x1420ad){_0x45edf3=_0x45edf3-0x1f4;const _0x589c39=a73_0x589c();let _0x54361c=_0x589c39[_0x45edf3];return _0x54361c;}import{spawn}from'child_process';import{dirname,join}from'path';import{existsSync}from'fs';import{z}from'zod';import{isBlockedCommand,getBlockedReason,formatOutput}from'../utils.js';export const TdxRunInputSchema=z[a73_0xca01c1(0x208)]({'args':z['array'](z['string']())[a73_0xca01c1(0x1f8)]('Command\x20and\x20arguments\x20as\x20array\x20(e.g.,\x20[\x22query\x22,\x20\x22SELECT\x20...\x22])')});const DEFAULT_TIMEOUT_MS=0xf*0x3c*0x3e8;function getNodeBinDir(){const _0x3b96f5=a73_0xca01c1,_0x24e625=process[_0x3b96f5(0x20d)];if(_0x24e625){const _0xff61fb=join(_0x24e625,'node'),_0x30d693=process[_0x3b96f5(0x1fa)]===_0x3b96f5(0x206)?_0x3b96f5(0x210):'node';if(existsSync(join(_0xff61fb,_0x30d693)))return _0xff61fb;}return dirname(process[_0x3b96f5(0x201)]);}export async function executeTdxRun(_0x5b2907,_0x434333){const _0x1c8840=a73_0xca01c1,{args:_0xd88bbc}=_0x5b2907;if(isBlockedCommand(_0xd88bbc)){const _0x1e5c79=getBlockedReason(_0xd88bbc);return{'success':![],'output':'','error':_0x1e5c79||'This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','exitCode':0x1};}const _0x5bd2bb=[_0x1c8840(0x20f),_0x1c8840(0x1fd),..._0xd88bbc],_0x46ebf0=getNodeBinDir(),_0x2c6b1a=process['platform']===_0x1c8840(0x206)?';':':',_0x2a594a=_0x434333['PATH']??process.env.PATH??'',_0x168007=''+_0x46ebf0+_0x2c6b1a+_0x2a594a;return new Promise(_0x27cc71=>{const _0x16a647=_0x1c8840,_0x378b6b=spawn(_0x16a647(0x203),_0x5bd2bb,{'env':{...process.env,..._0x434333,'PATH':_0x168007,'CI':_0x16a647(0x1f6)},'stdio':['ignore',_0x16a647(0x20c),'pipe']});let _0x3a77a3='',_0x4c2334='',_0x69eda6=![];const _0x1937f2=setTimeout(()=>{_0x69eda6=!![],_0x378b6b['kill']('SIGTERM');},DEFAULT_TIMEOUT_MS);_0x378b6b[_0x16a647(0x1f4)]['on'](_0x16a647(0x200),_0x571a1e=>{_0x3a77a3+=_0x571a1e['toString']();}),_0x378b6b[_0x16a647(0x1fc)]['on'](_0x16a647(0x200),_0x155d24=>{const _0x3465f6=_0x16a647;_0x4c2334+=_0x155d24[_0x3465f6(0x202)]();}),_0x378b6b['on'](_0x16a647(0x1f9),_0x1d11d9=>{const _0x51e025=_0x16a647;clearTimeout(_0x1937f2),_0x27cc71({'success':![],'output':'','error':_0x51e025(0x1fe)+_0x1d11d9[_0x51e025(0x209)],'exitCode':0x1});}),_0x378b6b['on']('close',_0xa04f2=>{clearTimeout(_0x1937f2);if(_0x69eda6){_0x27cc71({'success':![],'output':formatOutput(_0x3a77a3),'error':'Command\x20timed\x20out\x20after\x2015\x20minutes.\x20For\x20long-running\x20queries,\x20use\x20job\x20submit\x20instead.','exitCode':0x7c});return;}const _0x10b13f=_0xa04f2??0x1,_0x3ef0ce=_0x10b13f===0x0,_0x45d114=formatOutput(_0x3a77a3||_0x4c2334),_0x39fc6a=!_0x3ef0ce&&_0x4c2334?formatOutput(_0x4c2334):undefined;_0x27cc71({'success':_0x3ef0ce,'output':_0x45d114,'error':_0x39fc6a,'exitCode':_0x10b13f});});});}
1
+ function a73_0x12d6(_0x211a72,_0xf4ecae){_0x211a72=_0x211a72-0x1eb;const _0x2b8933=a73_0x2b89();let _0x12d607=_0x2b8933[_0x211a72];return _0x12d607;}const a73_0x14361a=a73_0x12d6;(function(_0x558e9f,_0x55a0a3){const _0x3f06fd=a73_0x12d6,_0xca79e5=_0x558e9f();while(!![]){try{const _0x1d4dba=parseInt(_0x3f06fd(0x1f0))/0x1+parseInt(_0x3f06fd(0x204))/0x2+-parseInt(_0x3f06fd(0x1f3))/0x3*(parseInt(_0x3f06fd(0x20b))/0x4)+-parseInt(_0x3f06fd(0x1fe))/0x5+parseInt(_0x3f06fd(0x1f8))/0x6*(-parseInt(_0x3f06fd(0x203))/0x7)+parseInt(_0x3f06fd(0x1ee))/0x8*(-parseInt(_0x3f06fd(0x210))/0x9)+parseInt(_0x3f06fd(0x1f2))/0xa*(parseInt(_0x3f06fd(0x202))/0xb);if(_0x1d4dba===_0x55a0a3)break;else _0xca79e5['push'](_0xca79e5['shift']());}catch(_0x432927){_0xca79e5['push'](_0xca79e5['shift']());}}}(a73_0x2b89,0x3c909));import{spawn}from'child_process';import{dirname,join}from'path';import{existsSync}from'fs';import{z}from'zod';import{isBlockedCommand,getBlockedReason,formatOutput}from'../utils.js';export const TdxRunInputSchema=z[a73_0x14361a(0x20c)]({'args':z[a73_0x14361a(0x208)](z[a73_0x14361a(0x1f7)]())[a73_0x14361a(0x1fc)](a73_0x14361a(0x20d))});const DEFAULT_TIMEOUT_MS=0xf*0x3c*0x3e8;function a73_0x2b89(){const _0x74d56e=['PATH','7898090STqeXx','81gwkKRv','stdout','message','platform','string','2628354pUMChi','--json','true','Command\x20timed\x20out\x20after\x2015\x20minutes.\x20For\x20long-running\x20queries,\x20use\x20job\x20submit\x20instead.','describe','Failed\x20to\x20spawn\x20tdx:\x20','1637620UzAIKw','SIGTERM','error','resourcesPath','11Vmukuh','7HsWbna','843192WwbGdP','node','pipe','--no-color','array','win32','close','67460UezCdM','object','Command\x20and\x20arguments\x20as\x20array\x20(e.g.,\x20[\x22query\x22,\x20\x22SELECT\x20...\x22])','This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','execPath','9tJRLKb','kill','stderr','toString','1063088IWWLfH','data','390492EhCeRz'];a73_0x2b89=function(){return _0x74d56e;};return a73_0x2b89();}function getNodeBinDir(){const _0x396e1a=a73_0x14361a,_0x891c44=process[_0x396e1a(0x201)];if(_0x891c44){const _0x4ca74c=join(_0x891c44,_0x396e1a(0x205)),_0x2babaf=process[_0x396e1a(0x1f6)]==='win32'?'node.exe':_0x396e1a(0x205);if(existsSync(join(_0x4ca74c,_0x2babaf)))return _0x4ca74c;}return dirname(process[_0x396e1a(0x20f)]);}export async function executeTdxRun(_0x20a4e9,_0x2f92bb){const _0x2d3585=a73_0x14361a,{args:_0x4da7f8}=_0x20a4e9;if(isBlockedCommand(_0x4da7f8)){const _0x39c8c6=getBlockedReason(_0x4da7f8);return{'success':![],'output':'','error':_0x39c8c6||_0x2d3585(0x20e),'exitCode':0x1};}const _0x23ac79=[_0x2d3585(0x1f9),_0x2d3585(0x207),..._0x4da7f8],_0x4534f2=getNodeBinDir(),_0x30136f=process[_0x2d3585(0x1f6)]===_0x2d3585(0x209)?';':':',_0x8b28dc=_0x2f92bb[_0x2d3585(0x1f1)]??process.env.PATH??'',_0x3753a2=''+_0x4534f2+_0x30136f+_0x8b28dc;return new Promise(_0x20bed6=>{const _0x128856=_0x2d3585,_0x12e6e3=spawn('tdx',_0x23ac79,{'env':{...process.env,..._0x2f92bb,'PATH':_0x3753a2,'CI':_0x128856(0x1fa)},'stdio':['ignore',_0x128856(0x206),_0x128856(0x206)]});let _0x1ae6f1='',_0x1ac771='',_0x2913c2=![];const _0x2e8e1f=setTimeout(()=>{const _0x478629=_0x128856;_0x2913c2=!![],_0x12e6e3[_0x478629(0x1eb)](_0x478629(0x1ff));},DEFAULT_TIMEOUT_MS);_0x12e6e3[_0x128856(0x1f4)]['on'](_0x128856(0x1ef),_0x37a02b=>{const _0xb5dd3f=_0x128856;_0x1ae6f1+=_0x37a02b[_0xb5dd3f(0x1ed)]();}),_0x12e6e3[_0x128856(0x1ec)]['on']('data',_0x389cfe=>{const _0x1a271d=_0x128856;_0x1ac771+=_0x389cfe[_0x1a271d(0x1ed)]();}),_0x12e6e3['on'](_0x128856(0x200),_0x156b4e=>{const _0x48623c=_0x128856;clearTimeout(_0x2e8e1f),_0x20bed6({'success':![],'output':'','error':_0x48623c(0x1fd)+_0x156b4e[_0x48623c(0x1f5)],'exitCode':0x1});}),_0x12e6e3['on'](_0x128856(0x20a),_0x11fe36=>{const _0x1e4ee9=_0x128856;clearTimeout(_0x2e8e1f);if(_0x2913c2){_0x20bed6({'success':![],'output':formatOutput(_0x1ae6f1),'error':_0x1e4ee9(0x1fb),'exitCode':0x7c});return;}const _0x205a8f=_0x11fe36??0x1,_0x423c02=_0x205a8f===0x0,_0x21ecf2=formatOutput(_0x1ae6f1||_0x1ac771),_0x28b898=!_0x423c02&&_0x1ac771?formatOutput(_0x1ac771):undefined;_0x20bed6({'success':_0x423c02,'output':_0x21ecf2,'error':_0x28b898,'exitCode':_0x205a8f});});});}
@@ -1 +1 @@
1
- function a74_0x3e2b(_0x461899,_0x305a82){_0x461899=_0x461899-0xa1;const _0x15b45c=a74_0x15b4();let _0x3e2b85=_0x15b45c[_0x461899];return _0x3e2b85;}const a74_0x590985=a74_0x3e2b;(function(_0x245f3c,_0x36bbef){const _0x4e1492=a74_0x3e2b,_0x511408=_0x245f3c();while(!![]){try{const _0x2ca623=parseInt(_0x4e1492(0xf1))/0x1+-parseInt(_0x4e1492(0x195))/0x2+parseInt(_0x4e1492(0xd1))/0x3*(-parseInt(_0x4e1492(0x13b))/0x4)+-parseInt(_0x4e1492(0xc6))/0x5+-parseInt(_0x4e1492(0x107))/0x6*(-parseInt(_0x4e1492(0x15d))/0x7)+parseInt(_0x4e1492(0x167))/0x8*(-parseInt(_0x4e1492(0xc2))/0x9)+parseInt(_0x4e1492(0x190))/0xa;if(_0x2ca623===_0x36bbef)break;else _0x511408['push'](_0x511408['shift']());}catch(_0x2e34b8){_0x511408['push'](_0x511408['shift']());}}}(a74_0x15b4,0xd6f0f));import{z}from'zod';function a74_0x15b4(){const _0x2cdec5=['list','activations','Set\x20session\x20context\x20(database,\x20parent\x20segment,\x20etc.)','journey\x20push','segment\x20show','List\x20data\x20connections','all','List\x20LLM\x20projects','parent','tdx\x20connection\x20list','27885970JgZESl','toLowerCase','workflow\x20projects','tdx\x20segment\x20fields','split','2802212vCIsve','upload','tdx\x20api\x20/v1/audiences\x20--type\x20cdp','tdx\x20user\x20list','result','reset','List\x20LLM\x20agents','request','Get\x20job\x20results','describe','auth','tdx\x20api\x20/v3/database/list','tdx\x20wf\x20sessions\x20--limit\x2010','orchestration','tdx\x20job\x20list','users','tdx\x20agents','tdx\x20profile\x20show\x20myprofile','show','Show\x20agent\x20details','records','List\x20tables\x20in\x20a\x20database','view','Push\x20parent\x20segment\x20definition\x20from\x20YAML','http','import','tdx\x20journeys','status','switch','journey\x20pull','List\x20query\x20jobs','members','attributes','tdx\x20sg\x20push\x20segment.yaml\x20--dry-run','9QUOhxh','Preview\x20parent\x20segment\x20data','tdx\x20workflow\x20projects','Push\x20segment\x20definition\x20from\x20YAML','162790jbPNKq','curl','tdx\x20llm\x20projects','projects','select','conversation','tdx\x20wf\x20projects','string','tdx\x20describe\x20mydb.events','generate','tdx\x20job\x20kill\x2012345','3395055XdCUar','tdx\x20journey\x20push\x20journey.yaml','whoami','parent-segment\x20push','trino','databases','contents','tdx\x20llm\x20models','tdx\x20user','details','yaml','start','digdag','parent-segment\x20preview','Data','segment\x20sql','List\x20workflow\x20projects','verify','export','agent\x20pull','execute','account','tdx\x20ps\x20validate','user','tdx\x20chats','tdx\x20parent-segment\x20validate\x20parent.yaml','workflow','profiles','Execute\x20SQL\x20query\x20using\x20Trino','tdx\x20query\x20\x22SELECT\x20count(*)\x20FROM\x20mydb.events\x22','debug','List\x20available\x20segment\x20fields','1635500bsltcL','clear','jobs','List\x20available\x20LLM\x20models','tdx\x20jobs','profile\x20show','agents','destination','sessions','config','tdx\x20table\x20list','Show\x20table\x20contents\x20(SELECT\x20*\x20with\x20limit)','run','workflow\x20logs','List\x20segment\x20activations\x20(exports)','segment\x20list','tdx\x20journey\x20list','Clear\x20session\x20context','data','tdx\x20show\x20mydb.users\x20--limit\x20100','preview','tdx\x20journey\x20view\x20\x22My\x20Journey\x22','6LcLGZM','Show\x20connection\x20schema\x20for\x20activations','master','llm','tdx\x20workflow\x20sessions\x20myproject','tdx\x20unset\x20--all','parent-segment\x20validate','List\x20users\x20in\x20account','Show\x20job\x20details','Make\x20raw\x20HTTP\x20requests\x20to\x20TD\x20APIs','tdx\x20profiles','Push\x20journey\x20definition\x20from\x20YAML','create','schema','presto','tdx\x20agent\x20show\x20myproject/myagent','List\x20audience\x20segments','table\x20list','tdx\x20segment\x20pull\x20\x22My\x20Segment\x22\x20-o\x20segment.yaml','journey','tdx\x20chat\x20\x22Hello\x22','runs','tdx\x20agent\x20list','context','trigger','List\x20chat\x20sessions','parent-segment\x20pull','score','job\x20show','table','journey\x20list','Show\x20segment\x20details','tdx\x20describe\x20mydb.users','Run\x20a\x20workflow','name','tdx\x20api\x20-X\x20POST\x20--data\x20\x27{\x22query\x22:\x22SELECT\x201\x22}\x27\x20/v3/job/issue/hive/mydb','map','segment','tables','sql','query','workflow\x20sessions','Pull\x20journey\x20definition\x20to\x20YAML','journeys','segments','download','types','stop','sort','agent','tdx\x20segment\x20push\x20segment.yaml','pull','4XeqNWu','connections','history','tdx\x20workflow\x20run\x20myproject/myworkflow','use','unset','Kill\x20a\x20running\x20job','tdx\x20agent\x20pull\x20myproject/myagent\x20-o\x20agent.yaml','tdx\x20databases\x20mydb*','tdx\x20parent-segment\x20list','queries','tdx\x20connection\x20schema\x20google_ads','List\x20all\x20databases','job','tdx\x20ps\x20preview\x20--limit\x2010','structure','Validate\x20parent\x20segment\x20configuration','Show\x20authentication\x20status','tdx\x20use\x20mydb','tdx\x20profile\x20list','logs','chats','tdx\x20agent\x20push\x20agent.yaml','Pull\x20segment\x20definition\x20to\x20YAML','login','tdx\x20segment\x20show\x20\x22My\x20Segment\x22','Utilities','segment\x20push','activation','includes','push','tdx\x20databases','abort','executions','2751014VjnEvE','team','tdx\x20segments','tdx\x20unset\x20--database','examples','category','tdx\x20ps\x20push\x20--dry-run','description','Show\x20profile\x20details','info','10970808cMStXx','job\x20result','api','connection','object','connection\x20list','ask','tdx\x20chat\x20--agent\x20myproject/myagent\x20\x22What\x20is\x20TD?\x22','Pull\x20parent\x20segment\x20definition\x20to\x20YAML','update','View\x20workflow\x20logs','filter','CDP','profile\x20list','settings','output','tdx\x20job\x20show\x2012345','raw','conversations','slice','tdx\x20auth','List\x20workflow\x20sessions','Chat\x20with\x20an\x20LLM\x20agent','profile','tdx\x20ps\x20pull','length','fields','Generate\x20SQL\x20for\x20a\x20segment','Context','database\x20list','agent\x20push'];a74_0x15b4=function(){return _0x2cdec5;};return a74_0x15b4();}const COMMANDS=[{'name':a74_0x590985(0x184),'description':a74_0x590985(0x147),'category':a74_0x590985(0xdf),'keywords':['database',a74_0x590985(0xd6),'db',a74_0x590985(0x186),'show',a74_0x590985(0x18c)],'examples':['tdx\x20database\x20list',a74_0x590985(0x15a),a74_0x590985(0x143)]},{'name':a74_0x590985(0x118),'description':a74_0x590985(0xb5),'category':a74_0x590985(0xdf),'keywords':[a74_0x590985(0x124),a74_0x590985(0x12d),a74_0x590985(0x186),a74_0x590985(0xb2),a74_0x590985(0x114)],'examples':[a74_0x590985(0xfb),'tdx\x20tables\x20mydb.*','tdx\x20tables\x20--database\x20mydb']},{'name':'show','description':a74_0x590985(0xfc),'category':a74_0x590985(0xdf),'keywords':[a74_0x590985(0xb2),'view',a74_0x590985(0x105),a74_0x590985(0x103),a74_0x590985(0xd7),'rows',a74_0x590985(0xb4)],'examples':['tdx\x20show\x20mydb.users',a74_0x590985(0x104)]},{'name':'describe','description':'Describe\x20table\x20schema\x20(columns,\x20types)','category':a74_0x590985(0xdf),'keywords':['describe',a74_0x590985(0x114),'columns',a74_0x590985(0x135),a74_0x590985(0x14a),'definition'],'examples':[a74_0x590985(0x127),a74_0x590985(0xce)]},{'name':a74_0x590985(0x12f),'description':a74_0x590985(0xed),'category':a74_0x590985(0xdf),'keywords':[a74_0x590985(0x12f),a74_0x590985(0x12e),a74_0x590985(0xca),a74_0x590985(0xd5),a74_0x590985(0xe5),a74_0x590985(0xfd),a74_0x590985(0x115)],'examples':['tdx\x20query\x20\x22SELECT\x20*\x20FROM\x20mydb.users\x20LIMIT\x2010\x22',a74_0x590985(0xee)]},{'name':'job\x20list','description':a74_0x590985(0xbe),'category':'Data','keywords':[a74_0x590985(0x148),a74_0x590985(0xf3),a74_0x590985(0x186),a74_0x590985(0x13d),a74_0x590985(0x145)],'examples':[a74_0x590985(0xae),a74_0x590985(0xf5),'tdx\x20jobs\x20--limit\x2020']},{'name':a74_0x590985(0x123),'description':a74_0x590985(0x10f),'category':a74_0x590985(0xdf),'keywords':[a74_0x590985(0x148),a74_0x590985(0xb2),a74_0x590985(0xda),a74_0x590985(0xbb),a74_0x590985(0x166)],'examples':[a74_0x590985(0x177)]},{'name':a74_0x590985(0x168),'description':a74_0x590985(0xa8),'category':a74_0x590985(0xdf),'keywords':[a74_0x590985(0x148),a74_0x590985(0xa4),a74_0x590985(0x176),a74_0x590985(0x134)],'examples':['tdx\x20job\x20result\x2012345']},{'name':'job\x20kill','description':a74_0x590985(0x141),'category':'Data','keywords':['job','kill','cancel',a74_0x590985(0x136),a74_0x590985(0x15b)],'examples':[a74_0x590985(0xd0)]},{'name':a74_0x590985(0x192),'description':a74_0x590985(0xe1),'category':'Data','keywords':[a74_0x590985(0xeb),a74_0x590985(0xc9),a74_0x590985(0xdd),a74_0x590985(0x186)],'examples':[a74_0x590985(0xc4),a74_0x590985(0xcc)]},{'name':a74_0x590985(0x130),'description':a74_0x590985(0x17c),'category':'Data','keywords':[a74_0x590985(0xeb),a74_0x590985(0xf9),a74_0x590985(0x11c),a74_0x590985(0x15c)],'examples':[a74_0x590985(0x10b),a74_0x590985(0xac)]},{'name':a74_0x590985(0xfe),'description':a74_0x590985(0x171),'category':a74_0x590985(0xdf),'keywords':[a74_0x590985(0xeb),a74_0x590985(0x14f),a74_0x590985(0x176),a74_0x590985(0xef)],'examples':['tdx\x20workflow\x20logs\x20<attempt_id>']},{'name':'workflow\x20run','description':a74_0x590985(0x128),'category':a74_0x590985(0xdf),'keywords':[a74_0x590985(0xeb),a74_0x590985(0xfd),a74_0x590985(0xe5),a74_0x590985(0xdc),a74_0x590985(0x11f)],'examples':[a74_0x590985(0x13e)]},{'name':a74_0x590985(0x100),'description':a74_0x590985(0x117),'category':a74_0x590985(0x173),'keywords':['segment',a74_0x590985(0x133),'audience',a74_0x590985(0x186),'cdp'],'examples':['tdx\x20segment\x20list',a74_0x590985(0x15f),'tdx\x20segments\x20--recursive']},{'name':a74_0x590985(0x18a),'description':a74_0x590985(0x126),'category':a74_0x590985(0x173),'keywords':['segment',a74_0x590985(0xb2),a74_0x590985(0xda),'info',a74_0x590985(0xb6)],'examples':[a74_0x590985(0x154)]},{'name':a74_0x590985(0xe0),'description':a74_0x590985(0x182),'category':a74_0x590985(0x173),'keywords':[a74_0x590985(0x12c),'sql',a74_0x590985(0x12f),a74_0x590985(0xcf)],'examples':['tdx\x20segment\x20sql\x20\x22My\x20Segment\x22']},{'name':'segment\x20pull','description':a74_0x590985(0x152),'category':a74_0x590985(0x173),'keywords':[a74_0x590985(0x12c),a74_0x590985(0x13a),a74_0x590985(0x134),a74_0x590985(0xe3),a74_0x590985(0xdb)],'examples':[a74_0x590985(0x119)]},{'name':a74_0x590985(0x156),'description':a74_0x590985(0xc5),'category':'CDP','keywords':[a74_0x590985(0x12c),'push',a74_0x590985(0xa1),a74_0x590985(0xb9),a74_0x590985(0x113),a74_0x590985(0x170)],'examples':[a74_0x590985(0x139),a74_0x590985(0xc1)]},{'name':'segment\x20fields','description':a74_0x590985(0xf0),'category':a74_0x590985(0x173),'keywords':[a74_0x590985(0x12c),a74_0x590985(0x181),a74_0x590985(0xc0),'columns',a74_0x590985(0x114)],'examples':[a74_0x590985(0x193),'tdx\x20sg\x20fields']},{'name':'parent-segment\x20list','description':'List\x20parent\x20segments\x20(customer\x20masters)','category':a74_0x590985(0x173),'keywords':[a74_0x590985(0x18e),a74_0x590985(0x12c),a74_0x590985(0x109),a74_0x590985(0x186),'customer'],'examples':[a74_0x590985(0x144),'tdx\x20ps\x20list']},{'name':a74_0x590985(0x121),'description':a74_0x590985(0x16f),'category':a74_0x590985(0x173),'keywords':[a74_0x590985(0x18e),a74_0x590985(0x12c),'pull',a74_0x590985(0x134),a74_0x590985(0xe3)],'examples':['tdx\x20parent-segment\x20pull\x20\x22My\x20Parent\x22\x20-o\x20parent.yaml',a74_0x590985(0x17f)]},{'name':a74_0x590985(0xd4),'description':a74_0x590985(0xb7),'category':a74_0x590985(0x173),'keywords':[a74_0x590985(0x18e),a74_0x590985(0x12c),a74_0x590985(0x159),a74_0x590985(0xa1),a74_0x590985(0x113)],'examples':['tdx\x20parent-segment\x20push\x20parent.yaml',a74_0x590985(0x163)]},{'name':a74_0x590985(0x10d),'description':a74_0x590985(0x14b),'category':a74_0x590985(0x173),'keywords':['parent','segment','validate','check',a74_0x590985(0xe2)],'examples':[a74_0x590985(0xea),a74_0x590985(0xe7)]},{'name':a74_0x590985(0xde),'description':a74_0x590985(0xc3),'category':a74_0x590985(0x173),'keywords':[a74_0x590985(0x18e),'segment','preview','sample',a74_0x590985(0x103)],'examples':['tdx\x20parent-segment\x20preview',a74_0x590985(0x149)]},{'name':a74_0x590985(0x125),'description':'List\x20customer\x20journeys','category':a74_0x590985(0x173),'keywords':[a74_0x590985(0x11a),a74_0x590985(0x132),a74_0x590985(0x186),a74_0x590985(0xad)],'examples':[a74_0x590985(0x101),a74_0x590985(0xba)]},{'name':'journey\x20view','description':'View\x20journey\x20details','category':a74_0x590985(0x173),'keywords':[a74_0x590985(0x11a),a74_0x590985(0xb6),a74_0x590985(0xb2),a74_0x590985(0xda)],'examples':[a74_0x590985(0x106)]},{'name':a74_0x590985(0xbd),'description':a74_0x590985(0x131),'category':'CDP','keywords':['journey','pull',a74_0x590985(0x134),a74_0x590985(0xe3)],'examples':['tdx\x20journey\x20pull\x20\x22My\x20Journey\x22\x20-o\x20journey.yaml']},{'name':a74_0x590985(0x189),'description':a74_0x590985(0x112),'category':a74_0x590985(0x173),'keywords':[a74_0x590985(0x11a),a74_0x590985(0x159),a74_0x590985(0xa1),a74_0x590985(0x113)],'examples':[a74_0x590985(0xd2)]},{'name':a74_0x590985(0x187),'description':a74_0x590985(0xff),'category':a74_0x590985(0x173),'keywords':[a74_0x590985(0x157),a74_0x590985(0x187),a74_0x590985(0xe3),'sync',a74_0x590985(0xf8)],'examples':['tdx\x20activations','tdx\x20activations\x20--segment\x20\x22My\x20Segment\x22']},{'name':a74_0x590985(0x16c),'description':a74_0x590985(0x18b),'category':a74_0x590985(0x173),'keywords':['connection',a74_0x590985(0x13c),a74_0x590985(0xf8),a74_0x590985(0x186)],'examples':[a74_0x590985(0x18f)]},{'name':'connection\x20schema','description':a74_0x590985(0x108),'category':a74_0x590985(0x173),'keywords':[a74_0x590985(0x16a),a74_0x590985(0x114),a74_0x590985(0xfa),a74_0x590985(0x175)],'examples':['tdx\x20connection\x20schema\x20salesforce',a74_0x590985(0x146)]},{'name':'agent\x20list','description':a74_0x590985(0xa6),'category':'AI','keywords':[a74_0x590985(0x138),a74_0x590985(0xf7),a74_0x590985(0x10a),'ai',a74_0x590985(0x186)],'examples':[a74_0x590985(0x11d),a74_0x590985(0xb0)]},{'name':'agent\x20show','description':a74_0x590985(0xb3),'category':'AI','keywords':[a74_0x590985(0x138),'show',a74_0x590985(0xda),a74_0x590985(0x166)],'examples':[a74_0x590985(0x116)]},{'name':a74_0x590985(0xe4),'description':'Pull\x20agent\x20definition\x20to\x20YAML','category':'AI','keywords':[a74_0x590985(0x138),'pull',a74_0x590985(0x134),'export'],'examples':[a74_0x590985(0x142)]},{'name':a74_0x590985(0x185),'description':'Push\x20agent\x20definition\x20from\x20YAML','category':'AI','keywords':[a74_0x590985(0x138),a74_0x590985(0x159),a74_0x590985(0xa1),a74_0x590985(0x113),'deploy'],'examples':[a74_0x590985(0x151)]},{'name':'chat','description':a74_0x590985(0x17d),'category':'AI','keywords':['chat','llm','ai',a74_0x590985(0xcb),a74_0x590985(0x16d),'message'],'examples':[a74_0x590985(0x11b),a74_0x590985(0x16e)]},{'name':a74_0x590985(0x150),'description':a74_0x590985(0x120),'category':'AI','keywords':['chat',a74_0x590985(0x150),a74_0x590985(0xf9),'history',a74_0x590985(0x179)],'examples':[a74_0x590985(0xe9),'tdx\x20chats\x20--limit\x2010']},{'name':'llm\x20models','description':a74_0x590985(0xf4),'category':'AI','keywords':[a74_0x590985(0x10a),'models','ai','list'],'examples':[a74_0x590985(0xd8)]},{'name':'llm\x20projects','description':a74_0x590985(0x18d),'category':'AI','keywords':[a74_0x590985(0x10a),a74_0x590985(0xc9),'ai',a74_0x590985(0x186)],'examples':[a74_0x590985(0xc8)]},{'name':a74_0x590985(0x13f),'description':a74_0x590985(0x188),'category':a74_0x590985(0x183),'keywords':[a74_0x590985(0x13f),'set','context',a74_0x590985(0xbc),a74_0x590985(0xca)],'examples':[a74_0x590985(0x14d),'tdx\x20use\x20--database\x20mydb','tdx\x20use\x20--parent-segment\x20\x22My\x20PS\x22']},{'name':a74_0x590985(0x140),'description':a74_0x590985(0x102),'category':a74_0x590985(0x183),'keywords':[a74_0x590985(0x140),a74_0x590985(0xf2),a74_0x590985(0xa5),a74_0x590985(0x11e)],'examples':[a74_0x590985(0x160),a74_0x590985(0x10c)]},{'name':a74_0x590985(0x174),'description':'List\x20configured\x20profiles','category':a74_0x590985(0x183),'keywords':[a74_0x590985(0x17e),a74_0x590985(0xec),a74_0x590985(0x186),a74_0x590985(0xfa)],'examples':[a74_0x590985(0x14e),a74_0x590985(0x111)]},{'name':a74_0x590985(0xf6),'description':a74_0x590985(0x165),'category':'Context','keywords':[a74_0x590985(0x17e),a74_0x590985(0xb2),a74_0x590985(0xda),a74_0x590985(0xfa)],'examples':[a74_0x590985(0xb1)]},{'name':a74_0x590985(0xaa),'description':a74_0x590985(0x14c),'category':a74_0x590985(0x183),'keywords':[a74_0x590985(0xaa),'authentication',a74_0x590985(0xbb),a74_0x590985(0x153)],'examples':[a74_0x590985(0x17b),'tdx\x20auth\x20--profile\x20myprofile']},{'name':a74_0x590985(0xe8),'description':'Show\x20current\x20user\x20info','category':a74_0x590985(0x183),'keywords':['user','me',a74_0x590985(0xd3),a74_0x590985(0xe6)],'examples':[a74_0x590985(0xd9)]},{'name':'users','description':a74_0x590985(0x10e),'category':'Context','keywords':[a74_0x590985(0xaf),a74_0x590985(0x186),a74_0x590985(0x15e),a74_0x590985(0xbf)],'examples':['tdx\x20users',a74_0x590985(0xa3)]},{'name':a74_0x590985(0x169),'description':a74_0x590985(0x110),'category':a74_0x590985(0x155),'keywords':[a74_0x590985(0x169),a74_0x590985(0xb8),a74_0x590985(0x178),a74_0x590985(0xa7),a74_0x590985(0xc7)],'examples':[a74_0x590985(0xab),a74_0x590985(0xa2),a74_0x590985(0x12a)]}];export const TdxSearchInputSchema=z[a74_0x590985(0x16b)]({'query':z[a74_0x590985(0xcd)]()['describe']('Natural\x20language\x20query\x20(e.g.,\x20\x22list\x20databases\x22,\x20\x22run\x20SQL\x22,\x20\x22manage\x20segments\x22)'),'category':z['enum']([a74_0x590985(0xdf),'CDP','AI',a74_0x590985(0x183),'Utilities'])['optional']()[a74_0x590985(0xa9)]('Optional\x20filter\x20by\x20category')});export function searchCommands(_0x1a452a){const _0x3a1914=a74_0x590985,{query:_0x332805,category:_0x513cdc}=_0x1a452a,_0x1a5c7d=_0x332805[_0x3a1914(0x191)](),_0x1829db=_0x1a5c7d[_0x3a1914(0x194)](/\s+/)['filter'](_0x5b1f04=>_0x5b1f04[_0x3a1914(0x180)]>0x0);let _0x13d15f=COMMANDS;_0x513cdc&&(_0x13d15f=_0x13d15f[_0x3a1914(0x172)](_0x1f6283=>_0x1f6283[_0x3a1914(0x162)]===_0x513cdc));const _0x286b07=_0x13d15f[_0x3a1914(0x12b)](_0x498c1f=>{const _0x285be3=_0x3a1914;let _0x12d659=0x0;_0x498c1f[_0x285be3(0x129)][_0x285be3(0x191)]()===_0x1a5c7d&&(_0x12d659+=0x64);_0x498c1f[_0x285be3(0x129)]['toLowerCase']()[_0x285be3(0x158)](_0x1a5c7d)&&(_0x12d659+=0x32);_0x498c1f[_0x285be3(0x164)]['toLowerCase']()['includes'](_0x1a5c7d)&&(_0x12d659+=0x1e);for(const _0x275ae8 of _0x1829db){for(const _0x169683 of _0x498c1f['keywords']){if(_0x169683===_0x275ae8)_0x12d659+=0x14;else(_0x169683[_0x285be3(0x158)](_0x275ae8)||_0x275ae8[_0x285be3(0x158)](_0x169683))&&(_0x12d659+=0xa);}_0x498c1f[_0x285be3(0x129)]['toLowerCase']()[_0x285be3(0x158)](_0x275ae8)&&(_0x12d659+=0xf),_0x498c1f[_0x285be3(0x164)][_0x285be3(0x191)]()[_0x285be3(0x158)](_0x275ae8)&&(_0x12d659+=0x5);}return{'name':_0x498c1f[_0x285be3(0x129)],'description':_0x498c1f[_0x285be3(0x164)],'category':_0x498c1f[_0x285be3(0x162)],'examples':_0x498c1f[_0x285be3(0x161)],'score':_0x12d659};});return _0x286b07[_0x3a1914(0x172)](_0x830dd5=>_0x830dd5['score']>0x0)[_0x3a1914(0x137)]((_0x5e9600,_0x1ad4fa)=>_0x1ad4fa[_0x3a1914(0x122)]-_0x5e9600[_0x3a1914(0x122)])[_0x3a1914(0x17a)](0x0,0xa);}
1
+ const a74_0x284ade=a74_0x1266;(function(_0x56c0a5,_0x26fba1){const _0x24b7b8=a74_0x1266,_0x581d98=_0x56c0a5();while(!![]){try{const _0x3270ff=parseInt(_0x24b7b8(0x1b2))/0x1+parseInt(_0x24b7b8(0x18b))/0x2+-parseInt(_0x24b7b8(0x16b))/0x3*(parseInt(_0x24b7b8(0x152))/0x4)+parseInt(_0x24b7b8(0x18c))/0x5*(-parseInt(_0x24b7b8(0x137))/0x6)+parseInt(_0x24b7b8(0x1a4))/0x7+-parseInt(_0x24b7b8(0x1b6))/0x8*(parseInt(_0x24b7b8(0x178))/0x9)+parseInt(_0x24b7b8(0x13d))/0xa*(-parseInt(_0x24b7b8(0x1c8))/0xb);if(_0x3270ff===_0x26fba1)break;else _0x581d98['push'](_0x581d98['shift']());}catch(_0x91a087){_0x581d98['push'](_0x581d98['shift']());}}}(a74_0x6344,0x2dba7));import{z}from'zod';const COMMANDS=[{'name':a74_0x284ade(0x1f7),'description':a74_0x284ade(0x12a),'category':'Data','keywords':[a74_0x284ade(0x1c6),a74_0x284ade(0x1c0),'db',a74_0x284ade(0x1e1),a74_0x284ade(0x1fc),a74_0x284ade(0x18a)],'examples':[a74_0x284ade(0x14a),a74_0x284ade(0x1b7),'tdx\x20databases\x20mydb*']},{'name':a74_0x284ade(0x1a0),'description':a74_0x284ade(0x163),'category':a74_0x284ade(0x1ed),'keywords':[a74_0x284ade(0x1bd),a74_0x284ade(0x194),a74_0x284ade(0x1e1),'show',a74_0x284ade(0x1a2)],'examples':[a74_0x284ade(0x1bb),a74_0x284ade(0x151),a74_0x284ade(0x1fb)]},{'name':a74_0x284ade(0x1fc),'description':a74_0x284ade(0x219),'category':'Data','keywords':[a74_0x284ade(0x1fc),a74_0x284ade(0x1ea),'preview','data',a74_0x284ade(0x179),a74_0x284ade(0x1c5),a74_0x284ade(0x167)],'examples':[a74_0x284ade(0x19a),a74_0x284ade(0x1dd)]},{'name':a74_0x284ade(0x22d),'description':a74_0x284ade(0x15a),'category':a74_0x284ade(0x1ed),'keywords':['describe',a74_0x284ade(0x1a2),a74_0x284ade(0x192),a74_0x284ade(0x143),'structure',a74_0x284ade(0x1fe)],'examples':['tdx\x20describe\x20mydb.users',a74_0x284ade(0x21b)]},{'name':a74_0x284ade(0x19c),'description':a74_0x284ade(0x1ca),'category':'Data','keywords':['query',a74_0x284ade(0x224),'select',a74_0x284ade(0x162),a74_0x284ade(0x1e3),a74_0x284ade(0x1a1),a74_0x284ade(0x201)],'examples':[a74_0x284ade(0x1f6),a74_0x284ade(0x1a5)]},{'name':a74_0x284ade(0x1dc),'description':a74_0x284ade(0x1e2),'category':a74_0x284ade(0x1ed),'keywords':[a74_0x284ade(0x13a),'jobs',a74_0x284ade(0x1e1),a74_0x284ade(0x13b),a74_0x284ade(0x221)],'examples':['tdx\x20job\x20list',a74_0x284ade(0x1de),a74_0x284ade(0x197)]},{'name':a74_0x284ade(0x216),'description':'Show\x20job\x20details','category':a74_0x284ade(0x1ed),'keywords':[a74_0x284ade(0x13a),a74_0x284ade(0x1fc),a74_0x284ade(0x1ce),a74_0x284ade(0x1cd),a74_0x284ade(0x214)],'examples':[a74_0x284ade(0x21e)]},{'name':a74_0x284ade(0x1b3),'description':a74_0x284ade(0x1b4),'category':'Data','keywords':[a74_0x284ade(0x13a),a74_0x284ade(0x149),a74_0x284ade(0x20a),a74_0x284ade(0x177)],'examples':['tdx\x20job\x20result\x2012345']},{'name':a74_0x284ade(0x1b8),'description':a74_0x284ade(0x142),'category':a74_0x284ade(0x1ed),'keywords':[a74_0x284ade(0x13a),a74_0x284ade(0x157),'cancel',a74_0x284ade(0x173),a74_0x284ade(0x200)],'examples':[a74_0x284ade(0x165)]},{'name':a74_0x284ade(0x1f0),'description':a74_0x284ade(0x1ee),'category':a74_0x284ade(0x1ed),'keywords':[a74_0x284ade(0x133),a74_0x284ade(0x20d),a74_0x284ade(0x15e),a74_0x284ade(0x1e1)],'examples':['tdx\x20workflow\x20projects',a74_0x284ade(0x1cb)]},{'name':'workflow\x20sessions','description':a74_0x284ade(0x1d9),'category':'Data','keywords':['workflow',a74_0x284ade(0x150),a74_0x284ade(0x206),a74_0x284ade(0x136)],'examples':[a74_0x284ade(0x158),a74_0x284ade(0x1e5)]},{'name':a74_0x284ade(0x1ef),'description':a74_0x284ade(0x1ec),'category':a74_0x284ade(0x1ed),'keywords':[a74_0x284ade(0x133),a74_0x284ade(0x17f),a74_0x284ade(0x20a),'debug'],'examples':[a74_0x284ade(0x131)]},{'name':a74_0x284ade(0x160),'description':a74_0x284ade(0x223),'category':'Data','keywords':[a74_0x284ade(0x133),'run','execute',a74_0x284ade(0x195),'trigger'],'examples':[a74_0x284ade(0x12d)]},{'name':a74_0x284ade(0x1da),'description':'List\x20audience\x20segments','category':a74_0x284ade(0x204),'keywords':[a74_0x284ade(0x1f3),a74_0x284ade(0x21d),a74_0x284ade(0x196),a74_0x284ade(0x1e1),a74_0x284ade(0x15b)],'examples':['tdx\x20segment\x20list',a74_0x284ade(0x183),a74_0x284ade(0x209)]},{'name':a74_0x284ade(0x205),'description':a74_0x284ade(0x1e6),'category':a74_0x284ade(0x204),'keywords':[a74_0x284ade(0x1f3),a74_0x284ade(0x1fc),'details','info',a74_0x284ade(0x1ea)],'examples':[a74_0x284ade(0x1cf)]},{'name':a74_0x284ade(0x1b9),'description':a74_0x284ade(0x169),'category':'CDP','keywords':[a74_0x284ade(0x1f3),a74_0x284ade(0x224),a74_0x284ade(0x19c),'generate'],'examples':[a74_0x284ade(0x17b)]},{'name':a74_0x284ade(0x176),'description':a74_0x284ade(0x170),'category':a74_0x284ade(0x204),'keywords':['segment',a74_0x284ade(0x22c),a74_0x284ade(0x177),a74_0x284ade(0x186),a74_0x284ade(0x139)],'examples':[a74_0x284ade(0x130)]},{'name':a74_0x284ade(0x153),'description':a74_0x284ade(0x19d),'category':a74_0x284ade(0x204),'keywords':[a74_0x284ade(0x1f3),a74_0x284ade(0x225),a74_0x284ade(0x202),a74_0x284ade(0x189),a74_0x284ade(0x1d0),a74_0x284ade(0x132)],'examples':[a74_0x284ade(0x190),a74_0x284ade(0x13c)]},{'name':a74_0x284ade(0x146),'description':a74_0x284ade(0x1b0),'category':a74_0x284ade(0x204),'keywords':[a74_0x284ade(0x1f3),'fields','attributes',a74_0x284ade(0x192),a74_0x284ade(0x1a2)],'examples':[a74_0x284ade(0x161),a74_0x284ade(0x138)]},{'name':a74_0x284ade(0x1d2),'description':a74_0x284ade(0x1ff),'category':a74_0x284ade(0x204),'keywords':[a74_0x284ade(0x1bf),'segment',a74_0x284ade(0x1ab),a74_0x284ade(0x1e1),a74_0x284ade(0x14c)],'examples':[a74_0x284ade(0x1f5),a74_0x284ade(0x1e8)]},{'name':a74_0x284ade(0x220),'description':'Pull\x20parent\x20segment\x20definition\x20to\x20YAML','category':a74_0x284ade(0x204),'keywords':[a74_0x284ade(0x1bf),a74_0x284ade(0x1f3),a74_0x284ade(0x22c),a74_0x284ade(0x177),a74_0x284ade(0x186)],'examples':[a74_0x284ade(0x215),'tdx\x20ps\x20pull']},{'name':'parent-segment\x20push','description':a74_0x284ade(0x1fa),'category':a74_0x284ade(0x204),'keywords':[a74_0x284ade(0x1bf),a74_0x284ade(0x1f3),a74_0x284ade(0x225),a74_0x284ade(0x202),'create'],'examples':[a74_0x284ade(0x1c1),a74_0x284ade(0x14e)]},{'name':a74_0x284ade(0x228),'description':a74_0x284ade(0x1d6),'category':'CDP','keywords':[a74_0x284ade(0x1bf),'segment','validate',a74_0x284ade(0x18f),'verify'],'examples':['tdx\x20parent-segment\x20validate\x20parent.yaml',a74_0x284ade(0x226)]},{'name':a74_0x284ade(0x1c9),'description':a74_0x284ade(0x144),'category':'CDP','keywords':[a74_0x284ade(0x1bf),a74_0x284ade(0x1f3),a74_0x284ade(0x156),'sample',a74_0x284ade(0x148)],'examples':[a74_0x284ade(0x22a),a74_0x284ade(0x16f)]},{'name':'journey\x20list','description':a74_0x284ade(0x166),'category':a74_0x284ade(0x204),'keywords':[a74_0x284ade(0x180),'journeys',a74_0x284ade(0x1e1),'orchestration'],'examples':['tdx\x20journey\x20list','tdx\x20journeys']},{'name':a74_0x284ade(0x1be),'description':a74_0x284ade(0x1d8),'category':'CDP','keywords':[a74_0x284ade(0x180),'view','show',a74_0x284ade(0x1ce)],'examples':[a74_0x284ade(0x154)]},{'name':a74_0x284ade(0x19f),'description':a74_0x284ade(0x187),'category':a74_0x284ade(0x204),'keywords':['journey','pull',a74_0x284ade(0x177),'export'],'examples':['tdx\x20journey\x20pull\x20\x22My\x20Journey\x22\x20-o\x20journey.yaml']},{'name':'journey\x20push','description':a74_0x284ade(0x20c),'category':a74_0x284ade(0x204),'keywords':[a74_0x284ade(0x180),a74_0x284ade(0x225),a74_0x284ade(0x202),a74_0x284ade(0x1d0)],'examples':[a74_0x284ade(0x12e)]},{'name':a74_0x284ade(0x159),'description':a74_0x284ade(0x145),'category':'CDP','keywords':[a74_0x284ade(0x1a3),a74_0x284ade(0x159),a74_0x284ade(0x186),'sync',a74_0x284ade(0x21f)],'examples':[a74_0x284ade(0x18d),'tdx\x20activations\x20--segment\x20\x22My\x20Segment\x22']},{'name':'connection\x20list','description':a74_0x284ade(0x182),'category':a74_0x284ade(0x204),'keywords':[a74_0x284ade(0x208),a74_0x284ade(0x1bc),'destination',a74_0x284ade(0x1e1)],'examples':[a74_0x284ade(0x19e)]},{'name':a74_0x284ade(0x135),'description':a74_0x284ade(0x1c7),'category':a74_0x284ade(0x204),'keywords':[a74_0x284ade(0x208),a74_0x284ade(0x1a2),a74_0x284ade(0x141),a74_0x284ade(0x14d)],'examples':[a74_0x284ade(0x175),a74_0x284ade(0x13e)]},{'name':a74_0x284ade(0x1d4),'description':a74_0x284ade(0x14b),'category':'AI','keywords':[a74_0x284ade(0x1c3),a74_0x284ade(0x164),'llm','ai',a74_0x284ade(0x1e1)],'examples':[a74_0x284ade(0x213),a74_0x284ade(0x18e)]},{'name':a74_0x284ade(0x1eb),'description':a74_0x284ade(0x1e7),'category':'AI','keywords':[a74_0x284ade(0x1c3),a74_0x284ade(0x1fc),a74_0x284ade(0x1ce),a74_0x284ade(0x214)],'examples':['tdx\x20agent\x20show\x20myproject/myagent']},{'name':a74_0x284ade(0x198),'description':a74_0x284ade(0x1db),'category':'AI','keywords':[a74_0x284ade(0x1c3),a74_0x284ade(0x22c),a74_0x284ade(0x177),'export'],'examples':['tdx\x20agent\x20pull\x20myproject/myagent\x20-o\x20agent.yaml']},{'name':a74_0x284ade(0x172),'description':a74_0x284ade(0x17e),'category':'AI','keywords':[a74_0x284ade(0x1c3),a74_0x284ade(0x225),a74_0x284ade(0x202),'create',a74_0x284ade(0x1f9)],'examples':[a74_0x284ade(0x1ae)]},{'name':a74_0x284ade(0x1f1),'description':a74_0x284ade(0x199),'category':'AI','keywords':[a74_0x284ade(0x1f1),a74_0x284ade(0x1d1),'ai','conversation',a74_0x284ade(0x1ad),'message'],'examples':[a74_0x284ade(0x203),a74_0x284ade(0x20e)]},{'name':a74_0x284ade(0x227),'description':a74_0x284ade(0x17c),'category':'AI','keywords':[a74_0x284ade(0x1f1),a74_0x284ade(0x227),a74_0x284ade(0x150),a74_0x284ade(0x13b),a74_0x284ade(0x17d)],'examples':[a74_0x284ade(0x17a),'tdx\x20chats\x20--limit\x2010']},{'name':a74_0x284ade(0x1c4),'description':'List\x20available\x20LLM\x20models','category':'AI','keywords':[a74_0x284ade(0x1d1),a74_0x284ade(0x12c),'ai',a74_0x284ade(0x1e1)],'examples':[a74_0x284ade(0x16c)]},{'name':a74_0x284ade(0x14f),'description':'List\x20LLM\x20projects','category':'AI','keywords':[a74_0x284ade(0x1d1),'projects','ai',a74_0x284ade(0x1e1)],'examples':['tdx\x20llm\x20projects']},{'name':a74_0x284ade(0x185),'description':a74_0x284ade(0x155),'category':a74_0x284ade(0x22e),'keywords':[a74_0x284ade(0x185),a74_0x284ade(0x21c),a74_0x284ade(0x188),'switch','select'],'examples':[a74_0x284ade(0x22b),a74_0x284ade(0x19b),a74_0x284ade(0x1f4)]},{'name':a74_0x284ade(0x140),'description':'Clear\x20session\x20context','category':a74_0x284ade(0x22e),'keywords':[a74_0x284ade(0x140),a74_0x284ade(0x1a8),a74_0x284ade(0x20f),a74_0x284ade(0x188)],'examples':[a74_0x284ade(0x1a9),'tdx\x20unset\x20--all']},{'name':a74_0x284ade(0x1d5),'description':a74_0x284ade(0x1e9),'category':'Context','keywords':['profile',a74_0x284ade(0x12b),a74_0x284ade(0x1e1),a74_0x284ade(0x141)],'examples':[a74_0x284ade(0x15c),'tdx\x20profiles']},{'name':a74_0x284ade(0x1d7),'description':'Show\x20profile\x20details','category':'Context','keywords':[a74_0x284ade(0x16d),a74_0x284ade(0x1fc),a74_0x284ade(0x1ce),a74_0x284ade(0x141)],'examples':[a74_0x284ade(0x1a7)]},{'name':'auth','description':a74_0x284ade(0x174),'category':'Context','keywords':[a74_0x284ade(0x184),a74_0x284ade(0x210),a74_0x284ade(0x1cd),'login'],'examples':[a74_0x284ade(0x207),a74_0x284ade(0x212)]},{'name':a74_0x284ade(0x1d3),'description':a74_0x284ade(0x211),'category':a74_0x284ade(0x22e),'keywords':['user','me',a74_0x284ade(0x229),'account'],'examples':[a74_0x284ade(0x168)]},{'name':a74_0x284ade(0x1aa),'description':'List\x20users\x20in\x20account','category':a74_0x284ade(0x22e),'keywords':[a74_0x284ade(0x1aa),'list',a74_0x284ade(0x15f),a74_0x284ade(0x1fd)],'examples':[a74_0x284ade(0x15d),a74_0x284ade(0x181)]},{'name':'api','description':a74_0x284ade(0x1cc),'category':'Utilities','keywords':[a74_0x284ade(0x1ba),a74_0x284ade(0x147),a74_0x284ade(0x193),a74_0x284ade(0x217),a74_0x284ade(0x134)],'examples':[a74_0x284ade(0x1b5),'tdx\x20api\x20/v1/audiences\x20--type\x20cdp',a74_0x284ade(0x1e0)]}];function a74_0x1266(_0x17b794,_0x12d0c1){_0x17b794=_0x17b794-0x12a;const _0x6344c7=a74_0x6344();let _0x1266c3=_0x6344c7[_0x17b794];return _0x1266c3;}export const TdxSearchInputSchema=z[a74_0x284ade(0x171)]({'query':z[a74_0x284ade(0x13f)]()[a74_0x284ade(0x22d)](a74_0x284ade(0x16a)),'category':z[a74_0x284ade(0x1c2)]([a74_0x284ade(0x1ed),a74_0x284ade(0x204),'AI',a74_0x284ade(0x22e),a74_0x284ade(0x20b)])[a74_0x284ade(0x1f2)]()[a74_0x284ade(0x22d)]('Optional\x20filter\x20by\x20category')});function a74_0x6344(){const _0x4046eb=['tdx\x20parent-segment\x20pull\x20\x22My\x20Parent\x22\x20-o\x20parent.yaml','job\x20show','request','slice','Show\x20table\x20contents\x20(SELECT\x20*\x20with\x20limit)','examples','tdx\x20describe\x20mydb.events','set','segments','tdx\x20job\x20show\x2012345','destination','parent-segment\x20pull','queries','score','Run\x20a\x20workflow','sql','push','tdx\x20ps\x20validate','chats','parent-segment\x20validate','whoami','tdx\x20parent-segment\x20preview','tdx\x20use\x20mydb','pull','describe','Context','List\x20all\x20databases','profiles','models','tdx\x20workflow\x20run\x20myproject/myworkflow','tdx\x20journey\x20push\x20journey.yaml','map','tdx\x20segment\x20pull\x20\x22My\x20Segment\x22\x20-o\x20segment.yaml','tdx\x20workflow\x20logs\x20<attempt_id>','update','workflow','curl','connection\x20schema','executions','6Kmczxu','tdx\x20sg\x20fields','yaml','job','history','tdx\x20sg\x20push\x20segment.yaml\x20--dry-run','11930WbnXqf','tdx\x20connection\x20schema\x20google_ads','string','unset','config','Kill\x20a\x20running\x20job','types','Preview\x20parent\x20segment\x20data','List\x20segment\x20activations\x20(exports)','segment\x20fields','http','data','result','tdx\x20database\x20list','List\x20LLM\x20agents','customer','settings','tdx\x20ps\x20push\x20--dry-run','llm\x20projects','sessions','tdx\x20tables\x20mydb.*','182432nTlzEg','segment\x20push','tdx\x20journey\x20view\x20\x22My\x20Journey\x22','Set\x20session\x20context\x20(database,\x20parent\x20segment,\x20etc.)','preview','kill','tdx\x20workflow\x20sessions\x20myproject','activations','Describe\x20table\x20schema\x20(columns,\x20types)','cdp','tdx\x20profile\x20list','tdx\x20users','digdag','team','workflow\x20run','tdx\x20segment\x20fields','trino','List\x20tables\x20in\x20a\x20database','agents','tdx\x20job\x20kill\x2012345','List\x20customer\x20journeys','records','tdx\x20user','Generate\x20SQL\x20for\x20a\x20segment','Natural\x20language\x20query\x20(e.g.,\x20\x22list\x20databases\x22,\x20\x22run\x20SQL\x22,\x20\x22manage\x20segments\x22)','6RWMLBg','tdx\x20llm\x20models','profile','filter','tdx\x20ps\x20preview\x20--limit\x2010','Pull\x20segment\x20definition\x20to\x20YAML','object','agent\x20push','stop','Show\x20authentication\x20status','tdx\x20connection\x20schema\x20salesforce','segment\x20pull','download','18abqmjs','contents','tdx\x20chats','tdx\x20segment\x20sql\x20\x22My\x20Segment\x22','List\x20chat\x20sessions','conversations','Push\x20agent\x20definition\x20from\x20YAML','logs','journey','tdx\x20user\x20list','List\x20data\x20connections','tdx\x20segments','auth','use','export','Pull\x20journey\x20definition\x20to\x20YAML','context','import','all','465502MROexA','136655kilWhI','tdx\x20activations','tdx\x20agents','check','tdx\x20segment\x20push\x20segment.yaml','split','columns','raw','tables','start','audience','tdx\x20jobs\x20--limit\x2020','agent\x20pull','Chat\x20with\x20an\x20LLM\x20agent','tdx\x20show\x20mydb.users','tdx\x20use\x20--database\x20mydb','query','Push\x20segment\x20definition\x20from\x20YAML','tdx\x20connection\x20list','journey\x20pull','table\x20list','run','schema','activation','1966132GYKNpf','tdx\x20query\x20\x22SELECT\x20count(*)\x20FROM\x20mydb.events\x22','includes','tdx\x20profile\x20show\x20myprofile','clear','tdx\x20unset\x20--database','users','master','length','ask','tdx\x20agent\x20push\x20agent.yaml','name','List\x20available\x20segment\x20fields','toLowerCase','43065GCmYKk','job\x20result','Get\x20job\x20results','tdx\x20api\x20/v3/database/list','325744gyHpqu','tdx\x20databases','job\x20kill','segment\x20sql','api','tdx\x20table\x20list','connections','table','journey\x20view','parent','databases','tdx\x20parent-segment\x20push\x20parent.yaml','enum','agent','llm\x20models','rows','database','Show\x20connection\x20schema\x20for\x20activations','1562oLFmHT','parent-segment\x20preview','Execute\x20SQL\x20query\x20using\x20Trino','tdx\x20wf\x20projects','Make\x20raw\x20HTTP\x20requests\x20to\x20TD\x20APIs','status','details','tdx\x20segment\x20show\x20\x22My\x20Segment\x22','create','llm','parent-segment\x20list','user','agent\x20list','profile\x20list','Validate\x20parent\x20segment\x20configuration','profile\x20show','View\x20journey\x20details','List\x20workflow\x20sessions','segment\x20list','Pull\x20agent\x20definition\x20to\x20YAML','job\x20list','tdx\x20show\x20mydb.users\x20--limit\x20100','tdx\x20jobs','keywords','tdx\x20api\x20-X\x20POST\x20--data\x20\x27{\x22query\x22:\x22SELECT\x201\x22}\x27\x20/v3/job/issue/hive/mydb','list','List\x20query\x20jobs','execute','description','tdx\x20wf\x20sessions\x20--limit\x2010','Show\x20segment\x20details','Show\x20agent\x20details','tdx\x20ps\x20list','List\x20configured\x20profiles','view','agent\x20show','View\x20workflow\x20logs','Data','List\x20workflow\x20projects','workflow\x20logs','workflow\x20projects','chat','optional','segment','tdx\x20use\x20--parent-segment\x20\x22My\x20PS\x22','tdx\x20parent-segment\x20list','tdx\x20query\x20\x22SELECT\x20*\x20FROM\x20mydb.users\x20LIMIT\x2010\x22','database\x20list','category','deploy','Push\x20parent\x20segment\x20definition\x20from\x20YAML','tdx\x20tables\x20--database\x20mydb','show','members','definition','List\x20parent\x20segments\x20(customer\x20masters)','abort','presto','upload','tdx\x20chat\x20\x22Hello\x22','CDP','segment\x20show','runs','tdx\x20auth','connection','tdx\x20segments\x20--recursive','output','Utilities','Push\x20journey\x20definition\x20from\x20YAML','projects','tdx\x20chat\x20--agent\x20myproject/myagent\x20\x22What\x20is\x20TD?\x22','reset','authentication','Show\x20current\x20user\x20info','tdx\x20auth\x20--profile\x20myprofile','tdx\x20agent\x20list','info'];a74_0x6344=function(){return _0x4046eb;};return a74_0x6344();}export function searchCommands(_0x428630){const _0x33c238=a74_0x284ade,{query:_0x303a99,category:_0x5b4d0c}=_0x428630,_0x1823ee=_0x303a99[_0x33c238(0x1b1)](),_0x2cf9df=_0x1823ee[_0x33c238(0x191)](/\s+/)['filter'](_0x23e2d3=>_0x23e2d3[_0x33c238(0x1ac)]>0x0);let _0x5a6749=COMMANDS;_0x5b4d0c&&(_0x5a6749=_0x5a6749[_0x33c238(0x16e)](_0x545c09=>_0x545c09[_0x33c238(0x1f8)]===_0x5b4d0c));const _0x955e34=_0x5a6749[_0x33c238(0x12f)](_0x3ccd31=>{const _0x3e9a49=_0x33c238;let _0x3ea5e1=0x0;_0x3ccd31['name'][_0x3e9a49(0x1b1)]()===_0x1823ee&&(_0x3ea5e1+=0x64);_0x3ccd31[_0x3e9a49(0x1af)][_0x3e9a49(0x1b1)]()[_0x3e9a49(0x1a6)](_0x1823ee)&&(_0x3ea5e1+=0x32);_0x3ccd31[_0x3e9a49(0x1e4)][_0x3e9a49(0x1b1)]()[_0x3e9a49(0x1a6)](_0x1823ee)&&(_0x3ea5e1+=0x1e);for(const _0x3db916 of _0x2cf9df){for(const _0x29ffe3 of _0x3ccd31[_0x3e9a49(0x1df)]){if(_0x29ffe3===_0x3db916)_0x3ea5e1+=0x14;else(_0x29ffe3['includes'](_0x3db916)||_0x3db916[_0x3e9a49(0x1a6)](_0x29ffe3))&&(_0x3ea5e1+=0xa);}_0x3ccd31[_0x3e9a49(0x1af)][_0x3e9a49(0x1b1)]()[_0x3e9a49(0x1a6)](_0x3db916)&&(_0x3ea5e1+=0xf),_0x3ccd31[_0x3e9a49(0x1e4)]['toLowerCase']()[_0x3e9a49(0x1a6)](_0x3db916)&&(_0x3ea5e1+=0x5);}return{'name':_0x3ccd31[_0x3e9a49(0x1af)],'description':_0x3ccd31[_0x3e9a49(0x1e4)],'category':_0x3ccd31['category'],'examples':_0x3ccd31[_0x3e9a49(0x21a)],'score':_0x3ea5e1};});return _0x955e34[_0x33c238(0x16e)](_0x569da6=>_0x569da6[_0x33c238(0x222)]>0x0)['sort']((_0x20148f,_0x219e9a)=>_0x219e9a[_0x33c238(0x222)]-_0x20148f[_0x33c238(0x222)])[_0x33c238(0x218)](0x0,0xa);}
@@ -1 +1 @@
1
- function a75_0x5c7d(_0x268019,_0x284134){_0x268019=_0x268019-0x14a;const _0x8f2bf8=a75_0x8f2b();let _0x5c7d76=_0x8f2bf8[_0x268019];return _0x5c7d76;}function a75_0x8f2b(){const _0x1c4010=['item','in_progress','describe','void','accepted','github','kind','optional','review','2882782byunbA','deprecated','Tags\x20for\x20the\x20item','1158zqmMHs','object','3828411JJdZEr','done','string','JIRA\x20ticket\x20reference\x20(org/TICKET-ID)','Initial\x20status\x20(default:\x20\x22todo\x22\x20for\x20items,\x20\x22proposed\x22\x20for\x20guides)','521504WErImq','53544ClpQEh','Document\x20kind\x20(default:\x20\x22item\x22)','reference','fileName','260slNRNR','Markdown\x20body\x20content','priority','10585380vuNyLh','planning','title','superseded','Item\x20title\x20(required)','array','1260549fwbkCo','low','Template\x20name\x20from\x20templates/\x20folder','GitHub\x20PR/issue\x20reference\x20(owner/repo#number)','Priority\x20level','8hlXluU','382KrDLbd','template','high','replace','enum','No\x20workspace\x20found.\x20Run\x20`tdx\x20work\x20init`\x20to\x20create\x20one.','body','jira','status','medium','tags'];a75_0x8f2b=function(){return _0x1c4010;};return a75_0x8f2b();}const a75_0x44bdc7=a75_0x5c7d;(function(_0x1ff4f7,_0x59c626){const _0x4b3996=a75_0x5c7d,_0x4e23c5=_0x1ff4f7();while(!![]){try{const _0x15e6b8=-parseInt(_0x4b3996(0x170))/0x1*(-parseInt(_0x4b3996(0x155))/0x2)+parseInt(_0x4b3996(0x16a))/0x3+-parseInt(_0x4b3996(0x15c))/0x4+-parseInt(_0x4b3996(0x161))/0x5*(parseInt(_0x4b3996(0x15d))/0x6)+-parseInt(_0x4b3996(0x152))/0x7+parseInt(_0x4b3996(0x16f))/0x8*(-parseInt(_0x4b3996(0x157))/0x9)+parseInt(_0x4b3996(0x164))/0xa;if(_0x15e6b8===_0x59c626)break;else _0x4e23c5['push'](_0x4e23c5['shift']());}catch(_0x456bad){_0x4e23c5['push'](_0x4e23c5['shift']());}}}(a75_0x8f2b,0x417ee));import{z}from'zod';import{WorkspaceSDK,resolveWorkspacePath}from'../../sdk/workspace/index.js';const TASK_STATUSES=['backlog','todo',a75_0x44bdc7(0x165),'design_review',a75_0x44bdc7(0x14a),a75_0x44bdc7(0x151),a75_0x44bdc7(0x158),a75_0x44bdc7(0x14c)],GUIDE_STATUSES=['proposed',a75_0x44bdc7(0x14d),a75_0x44bdc7(0x153),a75_0x44bdc7(0x167)];export const WorkCreateItemInputSchema=z[a75_0x44bdc7(0x156)]({'title':z[a75_0x44bdc7(0x159)]()[a75_0x44bdc7(0x14b)](a75_0x44bdc7(0x168)),'kind':z[a75_0x44bdc7(0x174)](['item','note','guide',a75_0x44bdc7(0x15f)])[a75_0x44bdc7(0x150)]()[a75_0x44bdc7(0x14b)](a75_0x44bdc7(0x15e)),'status':z['enum']([...TASK_STATUSES,...GUIDE_STATUSES])[a75_0x44bdc7(0x150)]()[a75_0x44bdc7(0x14b)](a75_0x44bdc7(0x15b)),'tags':z[a75_0x44bdc7(0x169)](z[a75_0x44bdc7(0x159)]())[a75_0x44bdc7(0x150)]()['describe'](a75_0x44bdc7(0x154)),'priority':z[a75_0x44bdc7(0x174)](['critical',a75_0x44bdc7(0x172),a75_0x44bdc7(0x179),a75_0x44bdc7(0x16b)])[a75_0x44bdc7(0x150)]()[a75_0x44bdc7(0x14b)](a75_0x44bdc7(0x16e)),'body':z['string']()[a75_0x44bdc7(0x150)]()[a75_0x44bdc7(0x14b)](a75_0x44bdc7(0x162)),'template':z[a75_0x44bdc7(0x159)]()[a75_0x44bdc7(0x150)]()[a75_0x44bdc7(0x14b)](a75_0x44bdc7(0x16c)),'github':z[a75_0x44bdc7(0x159)]()['optional']()[a75_0x44bdc7(0x14b)](a75_0x44bdc7(0x16d)),'jira':z[a75_0x44bdc7(0x159)]()[a75_0x44bdc7(0x150)]()[a75_0x44bdc7(0x14b)](a75_0x44bdc7(0x15a))});export function executeWorkCreateItem(_0x40e46d){const _0x36becd=a75_0x44bdc7,_0x378cc0=resolveWorkspacePath();if(!_0x378cc0)return{'success':![],'error':_0x36becd(0x175)};const _0x286255=new WorkspaceSDK(_0x378cc0),_0x3ce513={'title':_0x40e46d[_0x36becd(0x166)],'kind':_0x40e46d[_0x36becd(0x14f)]||_0x36becd(0x17b),'status':_0x40e46d[_0x36becd(0x178)],'tags':_0x40e46d[_0x36becd(0x17a)],'priority':_0x40e46d[_0x36becd(0x163)],'body':_0x40e46d[_0x36becd(0x176)],'template':_0x40e46d[_0x36becd(0x171)],'github':_0x40e46d[_0x36becd(0x14e)],'jira':_0x40e46d[_0x36becd(0x177)]},_0xeb2f87=_0x286255['createDocument'](_0x3ce513);return{'success':!![],'path':_0xeb2f87['filePath'],'slug':_0xeb2f87[_0x36becd(0x160)][_0x36becd(0x173)](/\.md$/,'')};}
1
+ const a75_0x1bfd79=a75_0x30a0;function a75_0x30a0(_0xa0f46e,_0x102b67){_0xa0f46e=_0xa0f46e-0x19c;const _0x9047ca=a75_0x9047();let _0x30a021=_0x9047ca[_0xa0f46e];return _0x30a021;}(function(_0x245db8,_0x3f4f86){const _0x5e09e4=a75_0x30a0,_0x1dcb3b=_0x245db8();while(!![]){try{const _0x29fc32=parseInt(_0x5e09e4(0x19e))/0x1*(parseInt(_0x5e09e4(0x1a4))/0x2)+parseInt(_0x5e09e4(0x1c8))/0x3*(parseInt(_0x5e09e4(0x1d0))/0x4)+parseInt(_0x5e09e4(0x19f))/0x5+parseInt(_0x5e09e4(0x1c3))/0x6*(-parseInt(_0x5e09e4(0x1af))/0x7)+-parseInt(_0x5e09e4(0x1c1))/0x8*(parseInt(_0x5e09e4(0x1a8))/0x9)+-parseInt(_0x5e09e4(0x1ae))/0xa+-parseInt(_0x5e09e4(0x1bb))/0xb*(-parseInt(_0x5e09e4(0x1ab))/0xc);if(_0x29fc32===_0x3f4f86)break;else _0x1dcb3b['push'](_0x1dcb3b['shift']());}catch(_0x46d741){_0x1dcb3b['push'](_0x1dcb3b['shift']());}}}(a75_0x9047,0xcc222));function a75_0x9047(){const _0x3b83bc=['describe','priority','4ogAIUJ','optional','proposed','enum','1HguPSD','2322805VzTpGx','planning','review','Tags\x20for\x20the\x20item','jira','3141926CTVVRu','low','void','status','35469EEGHSj','item','object','2283216xWEidi','superseded','Item\x20title\x20(required)','1995610vUUaXu','7DugnkW','todo','reference','medium','deprecated','GitHub\x20PR/issue\x20reference\x20(owner/repo#number)','Template\x20name\x20from\x20templates/\x20folder','design_review','high','title','Priority\x20level','in_progress','22wYfMKW','accepted','No\x20workspace\x20found.\x20Run\x20`tdx\x20work\x20init`\x20to\x20create\x20one.','github','replace','kind','424eLREmK','createDocument','7995282RROnIB','backlog','body','Initial\x20status\x20(default:\x20\x22todo\x22\x20for\x20items,\x20\x22proposed\x22\x20for\x20guides)','Markdown\x20body\x20content','483153JjBdMn','note','filePath','tags','string','fileName'];a75_0x9047=function(){return _0x3b83bc;};return a75_0x9047();}import{z}from'zod';import{WorkspaceSDK,resolveWorkspacePath}from'../../sdk/workspace/index.js';const TASK_STATUSES=[a75_0x1bfd79(0x1c4),a75_0x1bfd79(0x1b0),a75_0x1bfd79(0x1a0),a75_0x1bfd79(0x1b6),a75_0x1bfd79(0x1ba),a75_0x1bfd79(0x1a1),'done',a75_0x1bfd79(0x1a6)],GUIDE_STATUSES=[a75_0x1bfd79(0x19c),a75_0x1bfd79(0x1bc),a75_0x1bfd79(0x1b3),a75_0x1bfd79(0x1ac)];export const WorkCreateItemInputSchema=z[a75_0x1bfd79(0x1aa)]({'title':z[a75_0x1bfd79(0x1cc)]()[a75_0x1bfd79(0x1ce)](a75_0x1bfd79(0x1ad)),'kind':z[a75_0x1bfd79(0x19d)]([a75_0x1bfd79(0x1a9),a75_0x1bfd79(0x1c9),'guide',a75_0x1bfd79(0x1b1)])['optional']()[a75_0x1bfd79(0x1ce)]('Document\x20kind\x20(default:\x20\x22item\x22)'),'status':z[a75_0x1bfd79(0x19d)]([...TASK_STATUSES,...GUIDE_STATUSES])[a75_0x1bfd79(0x1d1)]()[a75_0x1bfd79(0x1ce)](a75_0x1bfd79(0x1c6)),'tags':z['array'](z[a75_0x1bfd79(0x1cc)]())[a75_0x1bfd79(0x1d1)]()['describe'](a75_0x1bfd79(0x1a2)),'priority':z[a75_0x1bfd79(0x19d)](['critical',a75_0x1bfd79(0x1b7),a75_0x1bfd79(0x1b2),a75_0x1bfd79(0x1a5)])['optional']()[a75_0x1bfd79(0x1ce)](a75_0x1bfd79(0x1b9)),'body':z['string']()[a75_0x1bfd79(0x1d1)]()[a75_0x1bfd79(0x1ce)](a75_0x1bfd79(0x1c7)),'template':z[a75_0x1bfd79(0x1cc)]()[a75_0x1bfd79(0x1d1)]()[a75_0x1bfd79(0x1ce)](a75_0x1bfd79(0x1b5)),'github':z[a75_0x1bfd79(0x1cc)]()[a75_0x1bfd79(0x1d1)]()['describe'](a75_0x1bfd79(0x1b4)),'jira':z['string']()[a75_0x1bfd79(0x1d1)]()[a75_0x1bfd79(0x1ce)]('JIRA\x20ticket\x20reference\x20(org/TICKET-ID)')});export function executeWorkCreateItem(_0x3254c4){const _0x23b026=a75_0x1bfd79,_0x36cb5a=resolveWorkspacePath();if(!_0x36cb5a)return{'success':![],'error':_0x23b026(0x1bd)};const _0x3d01bb=new WorkspaceSDK(_0x36cb5a),_0x28ff14={'title':_0x3254c4[_0x23b026(0x1b8)],'kind':_0x3254c4[_0x23b026(0x1c0)]||_0x23b026(0x1a9),'status':_0x3254c4[_0x23b026(0x1a7)],'tags':_0x3254c4[_0x23b026(0x1cb)],'priority':_0x3254c4[_0x23b026(0x1cf)],'body':_0x3254c4[_0x23b026(0x1c5)],'template':_0x3254c4['template'],'github':_0x3254c4[_0x23b026(0x1be)],'jira':_0x3254c4[_0x23b026(0x1a3)]},_0x4485f1=_0x3d01bb[_0x23b026(0x1c2)](_0x28ff14);return{'success':!![],'path':_0x4485f1[_0x23b026(0x1ca)],'slug':_0x4485f1[_0x23b026(0x1cd)][_0x23b026(0x1bf)](/\.md$/,'')};}
package/dist/mcp/utils.js CHANGED
@@ -1 +1 @@
1
- function a76_0x3184(_0x49550d,_0x2256bf){_0x49550d=_0x49550d-0x12e;const _0x21732c=a76_0x2173();let _0x3184f2=_0x21732c[_0x49550d];return _0x3184f2;}const a76_0x2b76d7=a76_0x3184;function a76_0x2173(){const _0x76c3ed=['4159195LHtLJk','18822OIgSHG','4934709plqWAG','replace','6FJCcpS','slice','auth\x20clear','profile\x20create','length','includes','2124227mwzGFl','4aniXtZ','11001712cSfgiV','toLowerCase','366tywmsJ','Cannot\x20run\x20MCP\x20server\x20recursively','--profile','Credential\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','startsWith','4220280yWsGxk','join','Profile\x20switching\x20via\x20--profile\x20flag\x20is\x20not\x20allowed\x20via\x20MCP','mcp','1369288CRGtRy','profile\x20delete','trimEnd','auth\x20setup','auth\x20login'];a76_0x2173=function(){return _0x76c3ed;};return a76_0x2173();}(function(_0x4e2504,_0x464c30){const _0x37f636=a76_0x3184,_0x54158d=_0x4e2504();while(!![]){try{const _0x474b88=-parseInt(_0x37f636(0x136))/0x1+parseInt(_0x37f636(0x149))/0x2*(parseInt(_0x37f636(0x13c))/0x3)+-parseInt(_0x37f636(0x146))/0x4*(-parseInt(_0x37f636(0x13b))/0x5)+parseInt(_0x37f636(0x13f))/0x6*(-parseInt(_0x37f636(0x145))/0x7)+parseInt(_0x37f636(0x147))/0x8+-parseInt(_0x37f636(0x13d))/0x9+-parseInt(_0x37f636(0x132))/0xa;if(_0x474b88===_0x464c30)break;else _0x54158d['push'](_0x54158d['shift']());}catch(_0x15e7da){_0x54158d['push'](_0x54158d['shift']());}}}(a76_0x2173,0xaddb5));const BLOCKED_COMMANDS=['auth\x20setup','auth\x20login','auth\x20clear',a76_0x2b76d7(0x142),a76_0x2b76d7(0x137),'profile\x20remove',a76_0x2b76d7(0x135)],BLOCKED_FLAGS=[a76_0x2b76d7(0x12f),'-p'];export function hasBlockedFlag(_0x11eb00){const _0x17b846=a76_0x2b76d7;for(const _0x4189fe of _0x11eb00){const _0x854f66=_0x4189fe[_0x17b846(0x148)]();for(const _0x11c6f5 of BLOCKED_FLAGS){if(_0x854f66===_0x11c6f5||_0x854f66['startsWith'](_0x11c6f5+'='))return!![];}}return![];}export function isBlockedCommand(_0x4213f8){const _0x1df628=a76_0x2b76d7;if(_0x4213f8[_0x1df628(0x143)]===0x0)return![];if(hasBlockedFlag(_0x4213f8))return!![];const _0xe8d571=_0x4213f8[_0x1df628(0x140)](0x0,0x2)[_0x1df628(0x133)]('\x20')[_0x1df628(0x148)]();for(const _0x5bf743 of BLOCKED_COMMANDS){if(_0xe8d571['startsWith'](_0x5bf743))return!![];}const _0x24de5a=_0x4213f8[0x0][_0x1df628(0x148)]();for(const _0x3b2b86 of BLOCKED_COMMANDS){if(!_0x3b2b86[_0x1df628(0x144)]('\x20')&&_0x24de5a===_0x3b2b86)return!![];}return![];}export function getBlockedReason(_0x38f7e5){const _0x150bd8=a76_0x2b76d7;if(!isBlockedCommand(_0x38f7e5))return undefined;if(hasBlockedFlag(_0x38f7e5))return _0x150bd8(0x134);const _0x357556=_0x38f7e5[_0x150bd8(0x140)](0x0,0x2)['join']('\x20')[_0x150bd8(0x148)](),_0x37ff1b=_0x38f7e5[0x0][_0x150bd8(0x148)]();if(_0x357556[_0x150bd8(0x131)](_0x150bd8(0x139))||_0x357556[_0x150bd8(0x131)](_0x150bd8(0x13a))||_0x357556[_0x150bd8(0x131)](_0x150bd8(0x141)))return _0x150bd8(0x130);if(_0x357556['startsWith'](_0x150bd8(0x142))||_0x357556[_0x150bd8(0x131)]('profile\x20delete')||_0x357556[_0x150bd8(0x131)]('profile\x20remove'))return'Profile\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP';if(_0x37ff1b===_0x150bd8(0x135))return _0x150bd8(0x12e);return'This\x20command\x20is\x20not\x20allowed\x20via\x20MCP';}export function formatOutput(_0x57c01f){const _0x487917=a76_0x2b76d7,_0x2d9311=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;let _0x141e29=_0x57c01f[_0x487917(0x13e)](_0x2d9311,'');return _0x141e29=_0x141e29[_0x487917(0x13e)](/\r\n/g,'\x0a')['replace'](/\r/g,'\x0a'),_0x141e29=_0x141e29[_0x487917(0x138)](),_0x141e29;}
1
+ const a76_0x216f90=a76_0x4fe7;(function(_0x59abb9,_0x5a41b5){const _0x5020e5=a76_0x4fe7,_0x55a4e8=_0x59abb9();while(!![]){try{const _0x28c9f7=parseInt(_0x5020e5(0x1d1))/0x1+parseInt(_0x5020e5(0x1c3))/0x2+-parseInt(_0x5020e5(0x1d2))/0x3+parseInt(_0x5020e5(0x1c5))/0x4*(parseInt(_0x5020e5(0x1d8))/0x5)+parseInt(_0x5020e5(0x1d0))/0x6+-parseInt(_0x5020e5(0x1c8))/0x7+-parseInt(_0x5020e5(0x1cd))/0x8*(-parseInt(_0x5020e5(0x1cf))/0x9);if(_0x28c9f7===_0x5a41b5)break;else _0x55a4e8['push'](_0x55a4e8['shift']());}catch(_0x41a92e){_0x55a4e8['push'](_0x55a4e8['shift']());}}}(a76_0x4bab,0xd6122));const BLOCKED_COMMANDS=['auth\x20setup',a76_0x216f90(0x1c0),'auth\x20clear',a76_0x216f90(0x1cb),a76_0x216f90(0x1c1),a76_0x216f90(0x1ca),a76_0x216f90(0x1c2)],BLOCKED_FLAGS=[a76_0x216f90(0x1d6),'-p'];function a76_0x4bab(){const _0x557fbf=['This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','70396JKqmHm','slice','toLowerCase','1652210bqBurw','Credential\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','profile\x20remove','profile\x20create','Cannot\x20run\x20MCP\x20server\x20recursively','400664aMwSIm','Profile\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','27RQMeSe','9791538NjhcSF','701623RNLtCk','4455849wSARWu','trimEnd','auth\x20clear','includes','--profile','join','5raLaIn','startsWith','Profile\x20switching\x20via\x20--profile\x20flag\x20is\x20not\x20allowed\x20via\x20MCP','length','auth\x20login','profile\x20delete','mcp','193506GDWrHQ'];a76_0x4bab=function(){return _0x557fbf;};return a76_0x4bab();}export function hasBlockedFlag(_0xc50527){const _0x4372f4=a76_0x216f90;for(const _0x27937f of _0xc50527){const _0x2da366=_0x27937f[_0x4372f4(0x1c7)]();for(const _0x2aa1dd of BLOCKED_FLAGS){if(_0x2da366===_0x2aa1dd||_0x2da366[_0x4372f4(0x1d9)](_0x2aa1dd+'='))return!![];}}return![];}function a76_0x4fe7(_0x49abbb,_0x31db98){_0x49abbb=_0x49abbb-0x1bf;const _0x4babef=a76_0x4bab();let _0x4fe7ce=_0x4babef[_0x49abbb];return _0x4fe7ce;}export function isBlockedCommand(_0x1ba452){const _0x23739a=a76_0x216f90;if(_0x1ba452[_0x23739a(0x1bf)]===0x0)return![];if(hasBlockedFlag(_0x1ba452))return!![];const _0x18e105=_0x1ba452[_0x23739a(0x1c6)](0x0,0x2)[_0x23739a(0x1d7)]('\x20')['toLowerCase']();for(const _0x2c5fee of BLOCKED_COMMANDS){if(_0x18e105['startsWith'](_0x2c5fee))return!![];}const _0xe14efe=_0x1ba452[0x0]['toLowerCase']();for(const _0x498a7c of BLOCKED_COMMANDS){if(!_0x498a7c[_0x23739a(0x1d5)]('\x20')&&_0xe14efe===_0x498a7c)return!![];}return![];}export function getBlockedReason(_0xa0e4b){const _0x3f7ef2=a76_0x216f90;if(!isBlockedCommand(_0xa0e4b))return undefined;if(hasBlockedFlag(_0xa0e4b))return _0x3f7ef2(0x1da);const _0x14d6fe=_0xa0e4b[_0x3f7ef2(0x1c6)](0x0,0x2)[_0x3f7ef2(0x1d7)]('\x20')[_0x3f7ef2(0x1c7)](),_0x450e66=_0xa0e4b[0x0][_0x3f7ef2(0x1c7)]();if(_0x14d6fe[_0x3f7ef2(0x1d9)]('auth\x20setup')||_0x14d6fe[_0x3f7ef2(0x1d9)](_0x3f7ef2(0x1c0))||_0x14d6fe[_0x3f7ef2(0x1d9)](_0x3f7ef2(0x1d4)))return _0x3f7ef2(0x1c9);if(_0x14d6fe[_0x3f7ef2(0x1d9)]('profile\x20create')||_0x14d6fe[_0x3f7ef2(0x1d9)](_0x3f7ef2(0x1c1))||_0x14d6fe['startsWith'](_0x3f7ef2(0x1ca)))return _0x3f7ef2(0x1ce);if(_0x450e66===_0x3f7ef2(0x1c2))return _0x3f7ef2(0x1cc);return _0x3f7ef2(0x1c4);}export function formatOutput(_0x38a25b){const _0x3bcf2f=a76_0x216f90,_0x5d60a6=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;let _0x3d3acb=_0x38a25b['replace'](_0x5d60a6,'');return _0x3d3acb=_0x3d3acb['replace'](/\r\n/g,'\x0a')['replace'](/\r/g,'\x0a'),_0x3d3acb=_0x3d3acb[_0x3bcf2f(0x1d3)](),_0x3d3acb;}
@@ -1 +1 @@
1
- (function(_0x371ba8,_0x2c9db6){const _0x308b31=a77_0x5da9,_0x4d1c58=_0x371ba8();while(!![]){try{const _0x31d086=-parseInt(_0x308b31(0xfa))/0x1*(parseInt(_0x308b31(0xf4))/0x2)+-parseInt(_0x308b31(0x123))/0x3+-parseInt(_0x308b31(0xeb))/0x4+parseInt(_0x308b31(0x11c))/0x5*(-parseInt(_0x308b31(0x117))/0x6)+parseInt(_0x308b31(0x110))/0x7*(parseInt(_0x308b31(0x119))/0x8)+-parseInt(_0x308b31(0x124))/0x9*(-parseInt(_0x308b31(0x10b))/0xa)+parseInt(_0x308b31(0x101))/0xb;if(_0x31d086===_0x2c9db6)break;else _0x4d1c58['push'](_0x4d1c58['shift']());}catch(_0x5d3a20){_0x4d1c58['push'](_0x4d1c58['shift']());}}}(a77_0x2c80,0x56410));import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';import{existsSync}from'node:fs';import{join,resolve}from'node:path';import{getModelPricing,calculateTokenCost,usdToAiCredits}from'../sdk/llm/model-factors.js';import{TDXLogger,LogLevel}from'../utils/tdx-logger.js';import{getGlobalCacheDir}from'../utils/global-cache.js';let usageLogger=null;async function getLogger(){const _0x41ee20=a77_0x5da9;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel['WARN'],!![]),await usageLogger[_0x41ee20(0x108)]()),usageLogger;}function getUsageDir(){const _0x3aa210=a77_0x5da9;return join(getGlobalCacheDir(),_0x3aa210(0xf5));}function sanitizeSessionId(_0x2b7d31){return _0x2b7d31['replace'](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0xeb62bb){const _0x44610c=a77_0x5da9,_0x24fe79=getUsageDir(),_0x2323be=sanitizeSessionId(_0xeb62bb),_0x2c2712=resolve(_0x24fe79,_0x2323be+_0x44610c(0xfd));if(!_0x2c2712[_0x44610c(0xe7)](_0x24fe79))throw new Error(_0x44610c(0x113));return _0x2c2712;}function getStatsCachePath(){const _0x2ace8d=a77_0x5da9;return join(getUsageDir(),_0x2ace8d(0xe6));}async function ensureUsageDir(){const _0x5e60f3=getUsageDir();!existsSync(_0x5e60f3)&&await mkdir(_0x5e60f3,{'recursive':!![]});}export async function appendUsageEntry(_0x415f66,_0xfc7680){const _0x51d450=a77_0x5da9,_0x3dd782=sanitizeSessionId(_0x415f66);await ensureUsageDir();const _0x7e2f9d=getSafeJsonlPath(_0x3dd782),_0x1c3485=JSON['stringify'](_0xfc7680)+'\x0a';await appendFile(_0x7e2f9d,_0x1c3485,_0x51d450(0x11f));}async function readSessionJsonl(_0x5b970f){const _0x3d7b01=a77_0x5da9,_0x53de3f=getSafeJsonlPath(_0x5b970f);if(!existsSync(_0x53de3f))return[];try{const _0x47bd79=await readFile(_0x53de3f,'utf-8'),_0x2705d5=_0x47bd79['trim']()['split']('\x0a')[_0x3d7b01(0xe1)](Boolean);return _0x2705d5['map'](_0x4fa6e8=>{const _0x13441f=_0x3d7b01;try{return JSON[_0x13441f(0x104)](_0x4fa6e8);}catch{return null;}})[_0x3d7b01(0xe1)](_0x4ca570=>_0x4ca570!==null);}catch(_0x1db74e){const _0x5a9de3=await getLogger();return _0x5a9de3[_0x3d7b01(0xf2)]('Failed\x20to\x20read\x20usage\x20file\x20'+_0x5b970f+_0x3d7b01(0xe4),_0x1db74e instanceof Error?_0x1db74e['message']:String(_0x1db74e)),[];}}async function getAllSessionFiles(){const _0x5006ce=a77_0x5da9,_0x1f04e9=getUsageDir();if(!existsSync(_0x1f04e9))return[];try{const _0x45734e=await readdir(_0x1f04e9);return _0x45734e[_0x5006ce(0xe1)](_0x4c9725=>_0x4c9725[_0x5006ce(0xf6)]('.jsonl'))[_0x5006ce(0xed)](_0x1e8d32=>_0x1e8d32['replace'](_0x5006ce(0xfd),''));}catch(_0x2efe0a){const _0x17f0ec=await getLogger();return _0x17f0ec['warn']('Failed\x20to\x20read\x20usage\x20directory:',_0x2efe0a instanceof Error?_0x2efe0a[_0x5006ce(0x106)]:String(_0x2efe0a)),[];}}async function readStatsCache(){const _0xf56a3a=a77_0x5da9,_0x21a14a=getStatsCachePath();if(!existsSync(_0x21a14a))return null;try{const _0x16d5e1=await readFile(_0x21a14a,_0xf56a3a(0x11f)),_0x26d612=JSON[_0xf56a3a(0x104)](_0x16d5e1),_0x57ba9c=Object['values'](_0x26d612[_0xf56a3a(0x122)]||{})[0x0];if(_0x57ba9c&&_0xf56a3a(0x10f)in _0x57ba9c)return null;return _0x26d612;}catch{return null;}}async function writeStatsCache(_0x4594d1){const _0x349c9c=a77_0x5da9;await ensureUsageDir();const _0x12b6a2=getStatsCachePath();await writeFile(_0x12b6a2,JSON[_0x349c9c(0x121)](_0x4594d1,null,0x2),_0x349c9c(0x11f));}function a77_0x5da9(_0x3c6a1d,_0xda0cc6){_0x3c6a1d=_0x3c6a1d-0xe1;const _0x2c80d3=a77_0x2c80();let _0x5da9e5=_0x2c80d3[_0x3c6a1d];return _0x5da9e5;}async function isCacheUpToDate(_0x2e8ee9,_0xa12202){const _0x4ae8ca=a77_0x5da9,_0x406846=_0x2e8ee9[_0x4ae8ca(0x122)][_0xa12202];if(!_0x406846)return![];const _0x31cbd8=getSafeJsonlPath(_0xa12202);if(!existsSync(_0x31cbd8))return!![];try{const _0x46a6b5=await stat(_0x31cbd8),_0x5e8426=new Date(_0x406846[_0x4ae8ca(0x111)])[_0x4ae8ca(0x10c)](),_0x224e2b=_0x46a6b5[_0x4ae8ca(0x120)]['getTime']();return _0x5e8426>_0x224e2b;}catch{return![];}}export async function rebuildCache(){const _0x288f92=a77_0x5da9,_0x2b5718=new Date(),_0x4353a8=_0x2b5718[_0x288f92(0x118)]()[_0x288f92(0xf7)](0x0,0xa),_0x2a3849=_0x2b5718[_0x288f92(0x118)]()[_0x288f92(0xf7)](0x0,0x7),_0x2c47f5={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x2b5718[_0x288f92(0x118)]()},_0x541a0c=await getAllSessionFiles();for(const _0x4626a8 of _0x541a0c){try{const _0x58faa5=await readSessionJsonl(_0x4626a8);if(_0x58faa5[_0x288f92(0x102)]===0x0)continue;let _0x337b25=0x0;const _0x9a16e3={};let _0x49fc0f='';for(const _0x450487 of _0x58faa5){const _0x1c56c5=getModelPricing(_0x450487[_0x288f92(0x100)]),_0x529265=calculateTokenCost(_0x450487[_0x288f92(0x115)],_0x450487[_0x288f92(0xe3)],_0x450487[_0x288f92(0x10a)]??0x0,_0x450487['cacheReadInputTokens']??0x0,_0x1c56c5),_0x50b40a=usdToAiCredits(_0x529265);_0x337b25+=_0x50b40a;const _0x1b62e6=_0x450487[_0x288f92(0x107)]||_0x288f92(0x11b);_0x9a16e3[_0x1b62e6]=_0x450487[_0x288f92(0x115)]+(_0x450487[_0x288f92(0x10a)]??0x0)+(_0x450487[_0x288f92(0xf9)]??0x0);_0x450487[_0x288f92(0xee)]>_0x49fc0f&&(_0x49fc0f=_0x450487[_0x288f92(0xee)]);const _0x47c87e=_0x450487['timestamp'][_0x288f92(0xf7)](0x0,0xa);!_0x2c47f5['daily'][_0x47c87e]&&(_0x2c47f5[_0x288f92(0xe5)][_0x47c87e]={'totalCredits':0x0,'entryCount':0x0});_0x2c47f5[_0x288f92(0xe5)][_0x47c87e][_0x288f92(0x11e)]+=_0x50b40a,_0x2c47f5[_0x288f92(0xe5)][_0x47c87e][_0x288f92(0xf8)]+=0x1;const _0x3e7f8e=_0x450487[_0x288f92(0xee)][_0x288f92(0xf7)](0x0,0x7);!_0x2c47f5[_0x288f92(0xf0)][_0x3e7f8e]&&(_0x2c47f5[_0x288f92(0xf0)][_0x3e7f8e]={'totalCredits':0x0,'entryCount':0x0});_0x2c47f5[_0x288f92(0xf0)][_0x3e7f8e]['totalCredits']+=_0x50b40a,_0x2c47f5['monthly'][_0x3e7f8e]['entryCount']+=0x1;const _0x11d40f=_0x450487[_0x288f92(0x114)]||_0x288f92(0x11b);!_0x2c47f5['profiles'][_0x11d40f]&&(_0x2c47f5['profiles'][_0x11d40f]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x4353a8,'monthCredits':0x0,'month':_0x2a3849});_0x2c47f5[_0x288f92(0x11a)][_0x11d40f][_0x288f92(0x11e)]+=_0x50b40a,_0x2c47f5[_0x288f92(0x11a)][_0x11d40f][_0x288f92(0xf8)]+=0x1;_0x450487[_0x288f92(0xee)]>_0x2c47f5['profiles'][_0x11d40f][_0x288f92(0x109)]&&(_0x2c47f5[_0x288f92(0x11a)][_0x11d40f][_0x288f92(0x109)]=_0x450487[_0x288f92(0xee)]);_0x47c87e===_0x4353a8&&(_0x2c47f5[_0x288f92(0x11a)][_0x11d40f]['todayCredits']+=_0x50b40a);_0x3e7f8e===_0x2a3849&&(_0x2c47f5['profiles'][_0x11d40f][_0x288f92(0xf3)]+=_0x50b40a);const _0x40bd2a=_0x450487[_0x288f92(0x10e)]||_0x288f92(0x105);!_0x2c47f5[_0x288f92(0xea)][_0x40bd2a]&&(_0x2c47f5[_0x288f92(0xea)][_0x40bd2a]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x4353a8,'monthCredits':0x0,'month':_0x2a3849}),_0x2c47f5[_0x288f92(0xea)][_0x40bd2a][_0x288f92(0x11e)]+=_0x50b40a,_0x2c47f5['sources'][_0x40bd2a]['entryCount']+=0x1,_0x47c87e===_0x4353a8&&(_0x2c47f5[_0x288f92(0xea)][_0x40bd2a][_0x288f92(0xe8)]+=_0x50b40a),_0x3e7f8e===_0x2a3849&&(_0x2c47f5[_0x288f92(0xea)][_0x40bd2a][_0x288f92(0xf3)]+=_0x50b40a);}_0x2c47f5['sessions'][_0x4626a8]={'totalCredits':_0x337b25,'latestContextTokensBySignature':_0x9a16e3,'createdAt':_0x58faa5[0x0][_0x288f92(0xee)],'lastUpdatedAt':_0x49fc0f};}catch(_0x26ae8e){const _0x2ab7be=await getLogger();_0x2ab7be[_0x288f92(0xf2)](_0x288f92(0xfc)+_0x4626a8+':',_0x26ae8e instanceof Error?_0x26ae8e[_0x288f92(0x106)]:String(_0x26ae8e));continue;}}return cleanupOldEntries(_0x2c47f5),await writeStatsCache(_0x2c47f5),_0x2c47f5;}function cleanupOldEntries(_0x1af190){const _0x13fce1=a77_0x5da9,_0xd1b81=new Date(),_0x5f50a0=new Date(_0xd1b81[_0x13fce1(0x10c)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x34ca0d of Object[_0x13fce1(0x10d)](_0x1af190['daily'])){new Date(_0x34ca0d)<_0x5f50a0&&delete _0x1af190[_0x13fce1(0xe5)][_0x34ca0d];}const _0x1653ef=new Date(_0xd1b81[_0x13fce1(0x112)]()-0x1,_0xd1b81['getMonth'](),0x1);for(const _0x2b2552 of Object['keys'](_0x1af190[_0x13fce1(0xf0)])){const [_0x471337,_0x3c4a43]=_0x2b2552[_0x13fce1(0x103)]('-')[_0x13fce1(0xed)](Number),_0x5f068b=new Date(_0x471337,_0x3c4a43-0x1,0x1);_0x5f068b<_0x1653ef&&delete _0x1af190[_0x13fce1(0xf0)][_0x2b2552];}const _0x57d3b9=new Date(_0xd1b81[_0x13fce1(0x10c)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x3759fb,_0x589f6e]of Object[_0x13fce1(0xf1)](_0x1af190[_0x13fce1(0x122)])){new Date(_0x589f6e[_0x13fce1(0x111)])<_0x57d3b9&&delete _0x1af190[_0x13fce1(0x122)][_0x3759fb];}}export async function getOrUpdateCache(_0x1b7878){const _0x403798=_0x1b7878?sanitizeSessionId(_0x1b7878):undefined,_0x3e0fc6=await readStatsCache();if(!_0x3e0fc6)return rebuildCache();if(_0x403798){const _0xae517c=await isCacheUpToDate(_0x3e0fc6,_0x403798);if(!_0xae517c)return rebuildCache();}return _0x3e0fc6;}export async function getSessionCredits(_0x341bed){const _0x29a810=a77_0x5da9,_0x462f8d=sanitizeSessionId(_0x341bed),_0x20681a=await getOrUpdateCache(_0x462f8d),_0x65dac2=_0x20681a[_0x29a810(0x122)][_0x462f8d];if(!_0x65dac2)return 0x0;return _0x65dac2[_0x29a810(0x11e)];}export async function getTodayCredits(){const _0x5060f4=a77_0x5da9,_0x26963e=await getOrUpdateCache(),_0x4dd24d=new Date()[_0x5060f4(0x118)]()[_0x5060f4(0xf7)](0x0,0xa),_0x527712=_0x26963e[_0x5060f4(0xe5)][_0x4dd24d];if(!_0x527712)return 0x0;return _0x527712[_0x5060f4(0x11e)];}export async function getMonthCredits(){const _0xea5e74=a77_0x5da9,_0x1bab02=await getOrUpdateCache(),_0x562b51=new Date()[_0xea5e74(0x118)]()[_0xea5e74(0xf7)](0x0,0x7),_0x2183a3=_0x1bab02[_0xea5e74(0xf0)][_0x562b51];if(!_0x2183a3)return 0x0;return _0x2183a3[_0xea5e74(0x11e)];}export async function getSessionStats(_0x558f05){const _0x2685ef=a77_0x5da9,_0x3923cf=sanitizeSessionId(_0x558f05),_0x5247ea=await getOrUpdateCache(_0x3923cf);return _0x5247ea[_0x2685ef(0x122)][_0x3923cf]||null;}function a77_0x2c80(){const _0x40aeb6=['9465GDcGMD','month','totalCredits','utf-8','mtime','stringify','sessions','378801hwkzZF','45VBHyBL','filter','max','outputTokens','.jsonl:','daily','stats-cache.json','startsWith','todayCredits','reduce','sources','2698588bCyGsz','latestContextTokensBySignature','map','timestamp','sort','monthly','entries','warn','monthCredits','201136xBARpT','claude-usage','endsWith','slice','entryCount','cacheReadInputTokens','2KuKSYH','todayDate','Failed\x20to\x20process\x20session\x20','.jsonl','values','object','model','18866936ttHtqK','length','split','parse','tdx-claude','message','contextSignature','init','lastUsedAt','cacheCreationInputTokens','187010LHCkzQ','getTime','keys','source','totalChatUnits','7pIblBD','lastUpdatedAt','getFullYear','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','profile','inputTokens','credits','1578voTAoS','toISOString','356192AneOFz','profiles','default'];a77_0x2c80=function(){return _0x40aeb6;};return a77_0x2c80();}function getMaxLatestContextTokens(_0x5159ba){const _0x2421d0=a77_0x5da9,_0x559296=Object[_0x2421d0(0xfe)](_0x5159ba);if(_0x559296[_0x2421d0(0x102)]===0x0)return 0x0;return Math[_0x2421d0(0xe2)](..._0x559296);}export async function getUsageStats(_0x182142,_0xd21e1b){const _0x31f730=a77_0x5da9,_0x1f246f=sanitizeSessionId(_0x182142),_0x5e5d61=await getOrUpdateCache(_0x1f246f),_0x2d2bb4=_0x5e5d61[_0x31f730(0x122)][_0x1f246f],_0x443160=new Date()[_0x31f730(0x118)]()[_0x31f730(0xf7)](0x0,0xa),_0x4b4ea7=new Date()[_0x31f730(0x118)]()[_0x31f730(0xf7)](0x0,0x7);if(_0xd21e1b){const _0x12144d=_0x5e5d61[_0x31f730(0x11a)]?.[_0xd21e1b],_0x37f316=_0x12144d?.[_0x31f730(0xfb)]===_0x443160?_0x12144d[_0x31f730(0xe8)]:0x0,_0x401f5c=_0x12144d?.[_0x31f730(0x11d)]===_0x4b4ea7?_0x12144d[_0x31f730(0xf3)]:0x0;return{'sessionCredits':_0x2d2bb4?_0x2d2bb4[_0x31f730(0x11e)]:0x0,'todayCredits':_0x37f316,'monthCredits':_0x401f5c,'latestContextTokens':_0x2d2bb4?getMaxLatestContextTokens(_0x2d2bb4[_0x31f730(0xec)]):0x0};}return{'sessionCredits':_0x2d2bb4?_0x2d2bb4[_0x31f730(0x11e)]:0x0,'todayCredits':_0x5e5d61[_0x31f730(0xe5)][_0x443160]?_0x5e5d61['daily'][_0x443160][_0x31f730(0x11e)]:0x0,'monthCredits':_0x5e5d61[_0x31f730(0xf0)][_0x4b4ea7]?_0x5e5d61[_0x31f730(0xf0)][_0x4b4ea7]['totalCredits']:0x0,'latestContextTokens':_0x2d2bb4?getMaxLatestContextTokens(_0x2d2bb4['latestContextTokensBySignature']):0x0};}export async function getAllProfileStats(){const _0x5121d4=a77_0x5da9,_0x989b38=await getOrUpdateCache(),_0x1393d0=_0x989b38['profiles']||{};return Object[_0x5121d4(0xf1)](_0x1393d0)[_0x5121d4(0xe1)](([,_0x263048])=>_0x263048&&typeof _0x263048===_0x5121d4(0xff))[_0x5121d4(0xed)](([_0x18608f,_0x293f6f])=>({'profile':_0x18608f,'credits':_0x293f6f['totalCredits']||0x0,'entryCount':_0x293f6f[_0x5121d4(0xf8)]||0x0,'lastUsedAt':_0x293f6f['lastUsedAt']||''}))[_0x5121d4(0xef)]((_0xcc6fd4,_0x51bbba)=>_0x51bbba[_0x5121d4(0x116)]-_0xcc6fd4[_0x5121d4(0x116)]);}export async function getAllSourceStats(){const _0x59897e=a77_0x5da9,_0x13c674=await getOrUpdateCache(),_0x4f1159=_0x13c674[_0x59897e(0xea)]||{},_0x220f53=new Date()[_0x59897e(0x118)]()[_0x59897e(0xf7)](0x0,0xa),_0x224e8e=new Date()['toISOString']()['slice'](0x0,0x7);return Object['entries'](_0x4f1159)['filter'](([,_0xfb6de2])=>_0xfb6de2&&typeof _0xfb6de2==='object')[_0x59897e(0xed)](([_0xa55669,_0x4c2820])=>({'source':_0xa55669,'credits':_0x4c2820[_0x59897e(0x11e)]||0x0,'todayCredits':_0x4c2820[_0x59897e(0xfb)]===_0x220f53?_0x4c2820['todayCredits']||0x0:0x0,'monthCredits':_0x4c2820[_0x59897e(0x11d)]===_0x224e8e?_0x4c2820[_0x59897e(0xf3)]||0x0:0x0,'entryCount':_0x4c2820[_0x59897e(0xf8)]||0x0}))[_0x59897e(0xef)]((_0x184d0c,_0x4af067)=>_0x4af067[_0x59897e(0x116)]-_0x184d0c['credits']);}export async function getUsageSummary(){const _0x5c82cd=a77_0x5da9,_0x125249=await getOrUpdateCache(),_0x5daf2d=_0x125249[_0x5c82cd(0x11a)]||{},_0x564ed7=new Date()[_0x5c82cd(0x118)]()[_0x5c82cd(0xf7)](0x0,0xa),_0x304c90=new Date()[_0x5c82cd(0x118)]()[_0x5c82cd(0xf7)](0x0,0x7),_0xa67b15=Object[_0x5c82cd(0xfe)](_0x5daf2d)['filter'](_0x1402c3=>_0x1402c3&&typeof _0x1402c3==='object'),_0x333db3=_0xa67b15[_0x5c82cd(0xe9)]((_0x1e7b39,_0xee142b)=>_0x1e7b39+(_0xee142b[_0x5c82cd(0x11e)]||0x0),0x0);return{'todayCredits':_0x125249[_0x5c82cd(0xe5)][_0x564ed7]?_0x125249[_0x5c82cd(0xe5)][_0x564ed7][_0x5c82cd(0x11e)]||0x0:0x0,'monthCredits':_0x125249[_0x5c82cd(0xf0)][_0x304c90]?_0x125249[_0x5c82cd(0xf0)][_0x304c90][_0x5c82cd(0x11e)]||0x0:0x0,'totalCredits':_0x333db3,'profileCount':_0xa67b15[_0x5c82cd(0x102)]};}
1
+ (function(_0x4fe2db,_0x1372a9){const _0x390915=a77_0x400e,_0x412d41=_0x4fe2db();while(!![]){try{const _0x12f86e=parseInt(_0x390915(0x1c1))/0x1*(parseInt(_0x390915(0x198))/0x2)+-parseInt(_0x390915(0x191))/0x3+parseInt(_0x390915(0x1ac))/0x4+-parseInt(_0x390915(0x196))/0x5+parseInt(_0x390915(0x1aa))/0x6*(-parseInt(_0x390915(0x1a4))/0x7)+-parseInt(_0x390915(0x1bd))/0x8+-parseInt(_0x390915(0x1c0))/0x9*(-parseInt(_0x390915(0x1a9))/0xa);if(_0x12f86e===_0x1372a9)break;else _0x412d41['push'](_0x412d41['shift']());}catch(_0x523f12){_0x412d41['push'](_0x412d41['shift']());}}}(a77_0x5e66,0x321d0));import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';import{existsSync}from'node:fs';import{join,resolve}from'node:path';import{getModelPricing,calculateTokenCost,usdToAiCredits}from'../sdk/llm/model-factors.js';import{TDXLogger,LogLevel}from'../utils/tdx-logger.js';import{getGlobalCacheDir}from'../utils/global-cache.js';let usageLogger=null;async function getLogger(){const _0x18729d=a77_0x400e;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x18729d(0x1c2)],!![]),await usageLogger[_0x18729d(0x1b2)]()),usageLogger;}function getUsageDir(){const _0x131fa9=a77_0x400e;return join(getGlobalCacheDir(),_0x131fa9(0x1a6));}function sanitizeSessionId(_0x31c75e){const _0x1bea50=a77_0x400e;return _0x31c75e[_0x1bea50(0x1ba)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x3cf4c2){const _0x2615de=a77_0x400e,_0x4b9404=getUsageDir(),_0x3ca132=sanitizeSessionId(_0x3cf4c2),_0x575d86=resolve(_0x4b9404,_0x3ca132+_0x2615de(0x19f));if(!_0x575d86[_0x2615de(0x1c6)](_0x4b9404))throw new Error(_0x2615de(0x1c5));return _0x575d86;}function a77_0x5e66(){const _0xcfae09=['getMonth','entries','message','replace','sources','credits','1820800QjEVtj','length','monthCredits','45QSbocb','89681gHcaHu','WARN','Failed\x20to\x20read\x20usage\x20directory:','mtime','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','startsWith','values','entryCount','daily','todayDate','latestContextTokensBySignature','tdx-claude','totalCredits','filter','lastUpdatedAt','reduce','lastUsedAt','profile','max','521637LbrmtO','split','totalChatUnits','todayCredits','monthly','1946560uIyCRX','timestamp','2jroERs','.jsonl:','month','model','sort','default','keys','.jsonl','cacheCreationInputTokens','profiles','utf-8','stringify','35QFjlmn','inputTokens','claude-usage','getFullYear','sessions','2177490DvzLxO','286188fyVwsK','trim','224476kQcsxt','object','cacheReadInputTokens','map','contextSignature','stats-cache.json','init','getTime','slice','toISOString','warn'];a77_0x5e66=function(){return _0xcfae09;};return a77_0x5e66();}function a77_0x400e(_0x2bff81,_0x5cea7b){_0x2bff81=_0x2bff81-0x18e;const _0x5e665a=a77_0x5e66();let _0x400e15=_0x5e665a[_0x2bff81];return _0x400e15;}function getStatsCachePath(){const _0x4ed178=a77_0x400e;return join(getUsageDir(),_0x4ed178(0x1b1));}async function ensureUsageDir(){const _0x4a64d1=getUsageDir();!existsSync(_0x4a64d1)&&await mkdir(_0x4a64d1,{'recursive':!![]});}export async function appendUsageEntry(_0x88b9f2,_0x3b11e4){const _0x12c90c=a77_0x400e,_0x11e86d=sanitizeSessionId(_0x88b9f2);await ensureUsageDir();const _0x4cb511=getSafeJsonlPath(_0x11e86d),_0x261747=JSON[_0x12c90c(0x1a3)](_0x3b11e4)+'\x0a';await appendFile(_0x4cb511,_0x261747,_0x12c90c(0x1a2));}async function readSessionJsonl(_0x25771e){const _0x5e6dbe=a77_0x400e,_0x51c774=getSafeJsonlPath(_0x25771e);if(!existsSync(_0x51c774))return[];try{const _0x17ded0=await readFile(_0x51c774,_0x5e6dbe(0x1a2)),_0x4e9e02=_0x17ded0[_0x5e6dbe(0x1ab)]()['split']('\x0a')[_0x5e6dbe(0x1ce)](Boolean);return _0x4e9e02[_0x5e6dbe(0x1af)](_0x18db9a=>{try{return JSON['parse'](_0x18db9a);}catch{return null;}})[_0x5e6dbe(0x1ce)](_0x45a517=>_0x45a517!==null);}catch(_0x13642d){const _0x11e509=await getLogger();return _0x11e509[_0x5e6dbe(0x1b6)]('Failed\x20to\x20read\x20usage\x20file\x20'+_0x25771e+_0x5e6dbe(0x199),_0x13642d instanceof Error?_0x13642d[_0x5e6dbe(0x1b9)]:String(_0x13642d)),[];}}async function getAllSessionFiles(){const _0x23972e=a77_0x400e,_0x4d5fe3=getUsageDir();if(!existsSync(_0x4d5fe3))return[];try{const _0x5664c8=await readdir(_0x4d5fe3);return _0x5664c8[_0x23972e(0x1ce)](_0x2c94db=>_0x2c94db['endsWith']('.jsonl'))[_0x23972e(0x1af)](_0x2171c9=>_0x2171c9['replace'](_0x23972e(0x19f),''));}catch(_0x94fda9){const _0x5c8fc2=await getLogger();return _0x5c8fc2[_0x23972e(0x1b6)](_0x23972e(0x1c3),_0x94fda9 instanceof Error?_0x94fda9[_0x23972e(0x1b9)]:String(_0x94fda9)),[];}}async function readStatsCache(){const _0x456188=a77_0x400e,_0x57e371=getStatsCachePath();if(!existsSync(_0x57e371))return null;try{const _0x4f8eed=await readFile(_0x57e371,_0x456188(0x1a2)),_0x39c584=JSON['parse'](_0x4f8eed),_0x50fb3c=Object[_0x456188(0x1c7)](_0x39c584[_0x456188(0x1a8)]||{})[0x0];if(_0x50fb3c&&_0x456188(0x193)in _0x50fb3c)return null;return _0x39c584;}catch{return null;}}async function writeStatsCache(_0x2413bd){const _0x179526=a77_0x400e;await ensureUsageDir();const _0x22df92=getStatsCachePath();await writeFile(_0x22df92,JSON[_0x179526(0x1a3)](_0x2413bd,null,0x2),_0x179526(0x1a2));}async function isCacheUpToDate(_0x522583,_0x3fcd68){const _0x2ad64b=a77_0x400e,_0x5d727f=_0x522583[_0x2ad64b(0x1a8)][_0x3fcd68];if(!_0x5d727f)return![];const _0x4c88a8=getSafeJsonlPath(_0x3fcd68);if(!existsSync(_0x4c88a8))return!![];try{const _0x4769f3=await stat(_0x4c88a8),_0x191523=new Date(_0x5d727f[_0x2ad64b(0x1cf)])[_0x2ad64b(0x1b3)](),_0x19be5a=_0x4769f3[_0x2ad64b(0x1c4)][_0x2ad64b(0x1b3)]();return _0x191523>_0x19be5a;}catch{return![];}}export async function rebuildCache(){const _0x5a6bcc=a77_0x400e,_0x2f363a=new Date(),_0x449059=_0x2f363a['toISOString']()[_0x5a6bcc(0x1b4)](0x0,0xa),_0x3a2a02=_0x2f363a[_0x5a6bcc(0x1b5)]()[_0x5a6bcc(0x1b4)](0x0,0x7),_0xf20f4={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x2f363a['toISOString']()},_0x4b00c1=await getAllSessionFiles();for(const _0x272ee4 of _0x4b00c1){try{const _0x4a35f3=await readSessionJsonl(_0x272ee4);if(_0x4a35f3[_0x5a6bcc(0x1be)]===0x0)continue;let _0x1862be=0x0;const _0x454e80={};let _0xa1b356='';for(const _0x41e1b8 of _0x4a35f3){const _0x303a74=getModelPricing(_0x41e1b8[_0x5a6bcc(0x19b)]),_0x41c649=calculateTokenCost(_0x41e1b8[_0x5a6bcc(0x1a5)],_0x41e1b8['outputTokens'],_0x41e1b8[_0x5a6bcc(0x1a0)]??0x0,_0x41e1b8[_0x5a6bcc(0x1ae)]??0x0,_0x303a74),_0x54b223=usdToAiCredits(_0x41c649);_0x1862be+=_0x54b223;const _0x29f675=_0x41e1b8[_0x5a6bcc(0x1b0)]||_0x5a6bcc(0x19d);_0x454e80[_0x29f675]=_0x41e1b8[_0x5a6bcc(0x1a5)]+(_0x41e1b8[_0x5a6bcc(0x1a0)]??0x0)+(_0x41e1b8[_0x5a6bcc(0x1ae)]??0x0);_0x41e1b8[_0x5a6bcc(0x197)]>_0xa1b356&&(_0xa1b356=_0x41e1b8[_0x5a6bcc(0x197)]);const _0x5d4c4e=_0x41e1b8['timestamp'][_0x5a6bcc(0x1b4)](0x0,0xa);!_0xf20f4[_0x5a6bcc(0x1c9)][_0x5d4c4e]&&(_0xf20f4[_0x5a6bcc(0x1c9)][_0x5d4c4e]={'totalCredits':0x0,'entryCount':0x0});_0xf20f4[_0x5a6bcc(0x1c9)][_0x5d4c4e][_0x5a6bcc(0x1cd)]+=_0x54b223,_0xf20f4[_0x5a6bcc(0x1c9)][_0x5d4c4e][_0x5a6bcc(0x1c8)]+=0x1;const _0x403989=_0x41e1b8[_0x5a6bcc(0x197)]['slice'](0x0,0x7);!_0xf20f4[_0x5a6bcc(0x195)][_0x403989]&&(_0xf20f4[_0x5a6bcc(0x195)][_0x403989]={'totalCredits':0x0,'entryCount':0x0});_0xf20f4[_0x5a6bcc(0x195)][_0x403989][_0x5a6bcc(0x1cd)]+=_0x54b223,_0xf20f4[_0x5a6bcc(0x195)][_0x403989]['entryCount']+=0x1;const _0x462ab9=_0x41e1b8[_0x5a6bcc(0x18f)]||_0x5a6bcc(0x19d);!_0xf20f4['profiles'][_0x462ab9]&&(_0xf20f4[_0x5a6bcc(0x1a1)][_0x462ab9]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x449059,'monthCredits':0x0,'month':_0x3a2a02});_0xf20f4[_0x5a6bcc(0x1a1)][_0x462ab9][_0x5a6bcc(0x1cd)]+=_0x54b223,_0xf20f4[_0x5a6bcc(0x1a1)][_0x462ab9]['entryCount']+=0x1;_0x41e1b8['timestamp']>_0xf20f4['profiles'][_0x462ab9][_0x5a6bcc(0x18e)]&&(_0xf20f4[_0x5a6bcc(0x1a1)][_0x462ab9][_0x5a6bcc(0x18e)]=_0x41e1b8['timestamp']);_0x5d4c4e===_0x449059&&(_0xf20f4[_0x5a6bcc(0x1a1)][_0x462ab9][_0x5a6bcc(0x194)]+=_0x54b223);_0x403989===_0x3a2a02&&(_0xf20f4[_0x5a6bcc(0x1a1)][_0x462ab9][_0x5a6bcc(0x1bf)]+=_0x54b223);const _0xd226d2=_0x41e1b8['source']||_0x5a6bcc(0x1cc);!_0xf20f4[_0x5a6bcc(0x1bb)][_0xd226d2]&&(_0xf20f4[_0x5a6bcc(0x1bb)][_0xd226d2]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x449059,'monthCredits':0x0,'month':_0x3a2a02}),_0xf20f4[_0x5a6bcc(0x1bb)][_0xd226d2][_0x5a6bcc(0x1cd)]+=_0x54b223,_0xf20f4[_0x5a6bcc(0x1bb)][_0xd226d2][_0x5a6bcc(0x1c8)]+=0x1,_0x5d4c4e===_0x449059&&(_0xf20f4[_0x5a6bcc(0x1bb)][_0xd226d2][_0x5a6bcc(0x194)]+=_0x54b223),_0x403989===_0x3a2a02&&(_0xf20f4[_0x5a6bcc(0x1bb)][_0xd226d2][_0x5a6bcc(0x1bf)]+=_0x54b223);}_0xf20f4[_0x5a6bcc(0x1a8)][_0x272ee4]={'totalCredits':_0x1862be,'latestContextTokensBySignature':_0x454e80,'createdAt':_0x4a35f3[0x0][_0x5a6bcc(0x197)],'lastUpdatedAt':_0xa1b356};}catch(_0x1211d4){const _0x192301=await getLogger();_0x192301['warn']('Failed\x20to\x20process\x20session\x20'+_0x272ee4+':',_0x1211d4 instanceof Error?_0x1211d4[_0x5a6bcc(0x1b9)]:String(_0x1211d4));continue;}}return cleanupOldEntries(_0xf20f4),await writeStatsCache(_0xf20f4),_0xf20f4;}function cleanupOldEntries(_0x207834){const _0x2f4bfd=a77_0x400e,_0x402ace=new Date(),_0x3d5e86=new Date(_0x402ace[_0x2f4bfd(0x1b3)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x250293 of Object[_0x2f4bfd(0x19e)](_0x207834[_0x2f4bfd(0x1c9)])){new Date(_0x250293)<_0x3d5e86&&delete _0x207834[_0x2f4bfd(0x1c9)][_0x250293];}const _0x2caa42=new Date(_0x402ace[_0x2f4bfd(0x1a7)]()-0x1,_0x402ace[_0x2f4bfd(0x1b7)](),0x1);for(const _0x238d6f of Object['keys'](_0x207834[_0x2f4bfd(0x195)])){const [_0x27d567,_0x34c79c]=_0x238d6f[_0x2f4bfd(0x192)]('-')['map'](Number),_0x35692f=new Date(_0x27d567,_0x34c79c-0x1,0x1);_0x35692f<_0x2caa42&&delete _0x207834[_0x2f4bfd(0x195)][_0x238d6f];}const _0x4741eb=new Date(_0x402ace[_0x2f4bfd(0x1b3)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x28bf18,_0x5e2348]of Object[_0x2f4bfd(0x1b8)](_0x207834[_0x2f4bfd(0x1a8)])){new Date(_0x5e2348['lastUpdatedAt'])<_0x4741eb&&delete _0x207834[_0x2f4bfd(0x1a8)][_0x28bf18];}}export async function getOrUpdateCache(_0x460df5){const _0x586418=_0x460df5?sanitizeSessionId(_0x460df5):undefined,_0x2fdd19=await readStatsCache();if(!_0x2fdd19)return rebuildCache();if(_0x586418){const _0x40a9a0=await isCacheUpToDate(_0x2fdd19,_0x586418);if(!_0x40a9a0)return rebuildCache();}return _0x2fdd19;}export async function getSessionCredits(_0x474fe5){const _0xc07eab=a77_0x400e,_0x127eb9=sanitizeSessionId(_0x474fe5),_0x1b2f53=await getOrUpdateCache(_0x127eb9),_0x8d20ed=_0x1b2f53[_0xc07eab(0x1a8)][_0x127eb9];if(!_0x8d20ed)return 0x0;return _0x8d20ed[_0xc07eab(0x1cd)];}export async function getTodayCredits(){const _0x4b8262=a77_0x400e,_0x40a973=await getOrUpdateCache(),_0x52c952=new Date()[_0x4b8262(0x1b5)]()[_0x4b8262(0x1b4)](0x0,0xa),_0x5ca7c3=_0x40a973[_0x4b8262(0x1c9)][_0x52c952];if(!_0x5ca7c3)return 0x0;return _0x5ca7c3[_0x4b8262(0x1cd)];}export async function getMonthCredits(){const _0x459f35=a77_0x400e,_0x117f61=await getOrUpdateCache(),_0x120ccb=new Date()[_0x459f35(0x1b5)]()[_0x459f35(0x1b4)](0x0,0x7),_0x1f2d08=_0x117f61[_0x459f35(0x195)][_0x120ccb];if(!_0x1f2d08)return 0x0;return _0x1f2d08[_0x459f35(0x1cd)];}export async function getSessionStats(_0x1c3874){const _0x202f53=sanitizeSessionId(_0x1c3874),_0x692301=await getOrUpdateCache(_0x202f53);return _0x692301['sessions'][_0x202f53]||null;}function getMaxLatestContextTokens(_0x2c6626){const _0x385114=a77_0x400e,_0x419da0=Object[_0x385114(0x1c7)](_0x2c6626);if(_0x419da0['length']===0x0)return 0x0;return Math[_0x385114(0x190)](..._0x419da0);}export async function getUsageStats(_0x25b7f5,_0x54bf3b){const _0x1c0762=a77_0x400e,_0x9363aa=sanitizeSessionId(_0x25b7f5),_0x3af6ab=await getOrUpdateCache(_0x9363aa),_0x48ba82=_0x3af6ab[_0x1c0762(0x1a8)][_0x9363aa],_0x203235=new Date()['toISOString']()[_0x1c0762(0x1b4)](0x0,0xa),_0x3db339=new Date()[_0x1c0762(0x1b5)]()[_0x1c0762(0x1b4)](0x0,0x7);if(_0x54bf3b){const _0x6ef792=_0x3af6ab[_0x1c0762(0x1a1)]?.[_0x54bf3b],_0x269b9d=_0x6ef792?.[_0x1c0762(0x1ca)]===_0x203235?_0x6ef792['todayCredits']:0x0,_0xf9687a=_0x6ef792?.[_0x1c0762(0x19a)]===_0x3db339?_0x6ef792[_0x1c0762(0x1bf)]:0x0;return{'sessionCredits':_0x48ba82?_0x48ba82['totalCredits']:0x0,'todayCredits':_0x269b9d,'monthCredits':_0xf9687a,'latestContextTokens':_0x48ba82?getMaxLatestContextTokens(_0x48ba82[_0x1c0762(0x1cb)]):0x0};}return{'sessionCredits':_0x48ba82?_0x48ba82['totalCredits']:0x0,'todayCredits':_0x3af6ab[_0x1c0762(0x1c9)][_0x203235]?_0x3af6ab[_0x1c0762(0x1c9)][_0x203235]['totalCredits']:0x0,'monthCredits':_0x3af6ab[_0x1c0762(0x195)][_0x3db339]?_0x3af6ab[_0x1c0762(0x195)][_0x3db339]['totalCredits']:0x0,'latestContextTokens':_0x48ba82?getMaxLatestContextTokens(_0x48ba82[_0x1c0762(0x1cb)]):0x0};}export async function getAllProfileStats(){const _0x151b00=a77_0x400e,_0x3e3655=await getOrUpdateCache(),_0x6ab3bb=_0x3e3655['profiles']||{};return Object[_0x151b00(0x1b8)](_0x6ab3bb)[_0x151b00(0x1ce)](([,_0x138226])=>_0x138226&&typeof _0x138226===_0x151b00(0x1ad))[_0x151b00(0x1af)](([_0x412e47,_0x2696e6])=>({'profile':_0x412e47,'credits':_0x2696e6['totalCredits']||0x0,'entryCount':_0x2696e6[_0x151b00(0x1c8)]||0x0,'lastUsedAt':_0x2696e6[_0x151b00(0x18e)]||''}))[_0x151b00(0x19c)]((_0x3a8795,_0x4f6db0)=>_0x4f6db0[_0x151b00(0x1bc)]-_0x3a8795[_0x151b00(0x1bc)]);}export async function getAllSourceStats(){const _0x560152=a77_0x400e,_0x583344=await getOrUpdateCache(),_0x6d13c3=_0x583344[_0x560152(0x1bb)]||{},_0x150e3=new Date()[_0x560152(0x1b5)]()[_0x560152(0x1b4)](0x0,0xa),_0x10f2c2=new Date()[_0x560152(0x1b5)]()['slice'](0x0,0x7);return Object[_0x560152(0x1b8)](_0x6d13c3)['filter'](([,_0x2bd0ff])=>_0x2bd0ff&&typeof _0x2bd0ff===_0x560152(0x1ad))[_0x560152(0x1af)](([_0x205c7d,_0x3d6d42])=>({'source':_0x205c7d,'credits':_0x3d6d42[_0x560152(0x1cd)]||0x0,'todayCredits':_0x3d6d42[_0x560152(0x1ca)]===_0x150e3?_0x3d6d42[_0x560152(0x194)]||0x0:0x0,'monthCredits':_0x3d6d42[_0x560152(0x19a)]===_0x10f2c2?_0x3d6d42[_0x560152(0x1bf)]||0x0:0x0,'entryCount':_0x3d6d42[_0x560152(0x1c8)]||0x0}))[_0x560152(0x19c)]((_0x29029b,_0x322d90)=>_0x322d90[_0x560152(0x1bc)]-_0x29029b[_0x560152(0x1bc)]);}export async function getUsageSummary(){const _0x28ade5=a77_0x400e,_0x3b2acd=await getOrUpdateCache(),_0x209061=_0x3b2acd[_0x28ade5(0x1a1)]||{},_0x10a7a0=new Date()[_0x28ade5(0x1b5)]()[_0x28ade5(0x1b4)](0x0,0xa),_0xcd7e8b=new Date()[_0x28ade5(0x1b5)]()[_0x28ade5(0x1b4)](0x0,0x7),_0x74c073=Object[_0x28ade5(0x1c7)](_0x209061)['filter'](_0xc2a88e=>_0xc2a88e&&typeof _0xc2a88e==='object'),_0x4ea7dc=_0x74c073[_0x28ade5(0x1d0)]((_0x208b70,_0x25096c)=>_0x208b70+(_0x25096c[_0x28ade5(0x1cd)]||0x0),0x0);return{'todayCredits':_0x3b2acd[_0x28ade5(0x1c9)][_0x10a7a0]?_0x3b2acd[_0x28ade5(0x1c9)][_0x10a7a0]['totalCredits']||0x0:0x0,'monthCredits':_0x3b2acd['monthly'][_0xcd7e8b]?_0x3b2acd[_0x28ade5(0x195)][_0xcd7e8b][_0x28ade5(0x1cd)]||0x0:0x0,'totalCredits':_0x4ea7dc,'profileCount':_0x74c073[_0x28ade5(0x1be)]};}
@@ -1 +1 @@
1
- const a78_0x353937=a78_0x3e16;(function(_0x39c4cb,_0x343373){const _0x1e6200=a78_0x3e16,_0x1c58b9=_0x39c4cb();while(!![]){try{const _0xd785d5=parseInt(_0x1e6200(0x24c))/0x1+-parseInt(_0x1e6200(0x1cf))/0x2*(parseInt(_0x1e6200(0x1ff))/0x3)+parseInt(_0x1e6200(0x25c))/0x4+-parseInt(_0x1e6200(0x1d5))/0x5*(parseInt(_0x1e6200(0x250))/0x6)+parseInt(_0x1e6200(0x228))/0x7+parseInt(_0x1e6200(0x263))/0x8+-parseInt(_0x1e6200(0x1c9))/0x9*(-parseInt(_0x1e6200(0x209))/0xa);if(_0xd785d5===_0x343373)break;else _0x1c58b9['push'](_0x1c58b9['shift']());}catch(_0x817708){_0x1c58b9['push'](_0x1c58b9['shift']());}}}(a78_0x579d,0xc20ab));function a78_0x3e16(_0x3a220b,_0x52b265){_0x3a220b=_0x3a220b-0x1c8;const _0x579dbd=a78_0x579d();let _0x3e166d=_0x579dbd[_0x3a220b];return _0x3e166d;}import a78_0x287ac7 from'fastify';import a78_0x43994f from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';function a78_0x579d(){const _0x35a6d3=['type','transfer-encoding','listen','92412ogTHMj','user-agent','tdx-claude','TD1\x20','handleCountTokens','Bearer\x20','startPort','6316112EEUtQg','/health','refreshTokenIfNeeded','815130sSlTzZ','llmProxyUrl','x-api-key','content-length','info','access_token','703056bBgKdD','slice','accessToken','connection','headers','port','15zwghvx','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','send','Port\x20','name','timeout_error','maxPortAttempts','EADDRINUSE','X-TD-Client-Version','Forwarding\x20to:\x20','setupMiddleware','timeoutMs','setupRoutes','/v1/messages/count_tokens','stream','profile','now','unref','http://127.0.0.1:','metadata',',\x20output=','refresh_token','[PASSTHROUGH]\x20Upstream\x20error:\x20','application/json','X-TD-Client','processChunk','Server\x20has\x20not\x20been\x20started\x20yet','event:\x20error\x0adata:\x20','unknown','GET','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','consoleUrl','/v1/messages','code','No\x20available\x20port\x20found\x20between\x20','logUsage','output_tokens','tdx/','auth','message','POST','stringify','9AGfYRI','setErrorHandler','default','error','authorization','buildForwardHeaders','includes','server','refreshToken','_boundPort','110fkWHHj','handleMessages','createServer','getUsage','expires_at','isArray','127.0.0.1','write','\x20and\x20','haiku','[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:','Error\x20body:\x20',':\x20messages=','text','[PASSTHROUGH]\x20Stream\x20error:','url','model','addContentTypeParser','header','read','string','entries','cacheReadInputTokens','x-td-','timeout','|\x20Write\x20agent\x20system\x20prompts\x20|\x20tdx-skills:agent-prompt\x20|\x0a|\x20TD\x20Trino\x20SQL\x20queries\x20|\x20sql-skills:trino\x20|\x0a|\x20TD\x20Hive\x20SQL\x20queries\x20|\x20sql-skills:hive\x20|\x0a|\x20Time\x20filtering\x20(td_interval,\x20partition\x20pruning)\x20|\x20sql-skills:time-filtering\x20|\x0a|\x20Optimize\x20slow\x20Trino\x20queries\x20|\x20sql-skills:trino-optimizer\x20|\x0a|\x20Convert\x20Trino\x20to\x20Hive\x20(memory\x20errors)\x20|\x20sql-skills:trino-to-hive-migration\x20|\x0a|\x20Treasure\x20Workflow\x20(.dig\x20files)\x20|\x20workflow-skills:digdag\x20|\x0a|\x20Debug/manage\x20workflows\x20|\x20workflow-skills:workflow-management\x20|\x0a|\x20dbt\x20with\x20TD\x20Trino\x20|\x20workflow-skills:dbt\x20|\x0a|\x20JavaScript\x20SDK\x20(browser\x20tracking)\x20|\x20sdk-skills:javascript\x20|\x0a|\x20Python\x20SDK\x20(pytd,\x20pandas)\x20|\x20sdk-skills:python\x20|','raw','startTokenRefreshTimer','cacheCreationInputTokens','outputTokens','You\x20are\x20`tdx\x20claude`,\x20an\x20extension\x20of\x20Claude\x20Code\x20with\x20tdx\x20CLI\x20tools\x20(https://tdx.treasuredata.com/)\x20and\x20skills\x20for\x20Treasure\x20Data\x20and\x20CDP.\x0a\x0aFor\x20Treasure\x20Data\x20tasks,\x20use\x20these\x20skills:\x0a\x0a|\x20Task\x20|\x20Skill\x20|\x0a|------|-------|\x0a|\x20tdx\x20CLI\x20operations\x20(databases,\x20tables,\x20queries)\x20|\x20tdx-skills:tdx-basic\x20|\x0a|\x20CDP\x20parent\x20segments\x20(YAML\x20config)\x20|\x20tdx-skills:parent-segment\x20|\x0a|\x20CDP\x20child\x20segments\x20(rules,\x20activations)\x20|\x20tdx-skills:segment\x20|\x0a|\x20Validate\x20segment\x20YAML\x20|\x20tdx-skills:validate-segment\x20|\x0a|\x20CDP\x20journeys\x20(stages,\x20steps)\x20|\x20tdx-skills:journey\x20|\x0a|\x20Validate\x20journey\x20YAML\x20|\x20tdx-skills:validate-journey\x20|\x0a|\x20Configure\x20activations\x20|\x20tdx-skills:connector-config\x20|\x0a|\x20Build\x20LLM\x20agents\x20|\x20tdx-skills:agent\x20|\x0a','1863988IwcPZL','debug','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully','startsWith','parse','anthropic-version','SKIP_HEADERS','Authorization','status','system',',\x20cache_create=','stop','config','refreshTimer','user_id','TimeoutError','keep-alive','getAddress','post','messages','decode','handleStreamingResponse','oauth','join','inputTokens','method','indexOf','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','api_error','Unknown\x20error','logger','text/event-stream','toLowerCase','get','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','105648rwuQby','Content-Type','expiresAt','Stream\x20interrupted','662880qHVVhD','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','register','body','stream_error','\x20in\x20use,\x20trying\x20next...','usage','match','cache_read_input_tokens'];a78_0x579d=function(){return _0x35a6d3;};return a78_0x579d();}import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';import{isExperimentalAvailable}from'../core/config.js';import{refreshAccessToken}from'../sdk/client/oauth-refresh.js';import{saveOAuthTokens}from'../core/oauth-keychain.js';const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8,TDX_SYSTEM_PROMPT=a78_0x353937(0x227)+(isExperimentalAvailable()?'|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a':'')+a78_0x353937(0x222);function extractSessionUUID(_0x1ded84){const _0x2fb86c=a78_0x353937,_0x268dca=_0x1ded84[_0x2fb86c(0x257)](/_session_([a-f0-9-]+)$/i);if(_0x268dca)return _0x268dca[0x1];return _0x1ded84;}export function injectSystemPrompt(_0x4b3caf,_0x5d71a2){const _0x58bf9f=a78_0x353937,_0x7c8061=_0x4b3caf[_0x58bf9f(0x232)];if(!_0x7c8061)return{..._0x4b3caf,'system':_0x5d71a2};if(typeof _0x7c8061===_0x58bf9f(0x21d))return{..._0x4b3caf,'system':_0x7c8061+'\x0a\x0a'+_0x5d71a2};if(Array[_0x58bf9f(0x20e)](_0x7c8061)){const _0x39c974={'type':_0x58bf9f(0x216),'text':_0x5d71a2};return{..._0x4b3caf,'system':[..._0x7c8061,_0x39c974]};}return _0x4b3caf;}export function shouldInjectSystemPrompt(_0x2e57ab){const _0x39bbdf=a78_0x353937;return!_0x2e57ab[_0x39bbdf(0x249)]()['includes'](_0x39bbdf(0x212));}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8,TOKEN_EXPIRY_BUFFER_MS=0x5*0x3c*0x3e8;export class PassThroughProxyServer{['server'];[a78_0x353937(0x235)];[a78_0x353937(0x247)];[a78_0x353937(0x208)];['refreshTimer'];constructor(_0x447459){const _0x2af50f=a78_0x353937;this[_0x2af50f(0x235)]=_0x447459,this[_0x2af50f(0x247)]=_0x447459[_0x2af50f(0x247)],this[_0x2af50f(0x206)]=this['createServer']();}get[a78_0x353937(0x1d4)](){const _0xd24059=a78_0x353937;if(this[_0xd24059(0x208)]===undefined)throw new Error(_0xd24059(0x1ef));return this[_0xd24059(0x208)];}['createServer'](){const _0x7426a4=a78_0x353937,_0x592fda=a78_0x287ac7({'logger':![],'bodyLimit':0x40*0x400*0x400});return this[_0x7426a4(0x206)]=_0x592fda,this['setupJsonParser'](),this[_0x7426a4(0x1df)](),this[_0x7426a4(0x1e1)](),_0x592fda;}['setupJsonParser'](){const _0x399b26=a78_0x353937;this[_0x399b26(0x206)][_0x399b26(0x21a)](_0x399b26(0x1ec),{'parseAs':'string'},(_0x350236,_0x4feefc,_0x15dc9c)=>{const _0x41995c=_0x399b26;try{const _0x43ed1c=JSON[_0x41995c(0x22d)](_0x4feefc);_0x15dc9c(null,_0x43ed1c);}catch(_0x24531a){_0x15dc9c(_0x24531a,undefined);}});}['setupMiddleware'](){const _0xd574b1=a78_0x353937;this[_0xd574b1(0x206)][_0xd574b1(0x252)](a78_0x43994f,{'origin':!![],'methods':[_0xd574b1(0x1f2),_0xd574b1(0x1fd),'OPTIONS'],'allowedHeaders':[_0xd574b1(0x24d),_0xd574b1(0x230),_0xd574b1(0x22e),_0xd574b1(0x1cb)]}),this[_0xd574b1(0x206)][_0xd574b1(0x200)]((_0x31982a,_0x31555c,_0x5801b1)=>{const _0x27779b=_0xd574b1,_0x4c5d8a=_0x31982a instanceof Error?_0x31982a[_0x27779b(0x1fc)]:_0x27779b(0x246);this[_0x27779b(0x247)]['error']('[PASSTHROUGH\x20PROXY\x20ERROR]:',_0x31982a),_0x5801b1[_0x27779b(0x1f6)](0x1f4)[_0x27779b(0x1d7)]({'type':_0x27779b(0x202),'error':{'type':'api_error','message':_0x4c5d8a}});});}[a78_0x353937(0x1e1)](){const _0x5f3a42=a78_0x353937;this[_0x5f3a42(0x206)][_0x5f3a42(0x24a)](_0x5f3a42(0x264),async()=>{const _0x15199f=_0x5f3a42;return{'status':'ok','message':_0x15199f(0x244)};}),this[_0x5f3a42(0x206)][_0x5f3a42(0x23b)](_0x5f3a42(0x1f5),async(_0x2a75de,_0x5513e2)=>{const _0xb0c545=_0x5f3a42;return this[_0xb0c545(0x20a)](_0x2a75de,_0x5513e2);}),this[_0x5f3a42(0x206)][_0x5f3a42(0x23b)](_0x5f3a42(0x1e2),async(_0x4923be,_0x3db045)=>{const _0x5555b9=_0x5f3a42;return this[_0x5555b9(0x260)](_0x4923be,_0x3db045);});}static [a78_0x353937(0x22f)]=new Set(['host',a78_0x353937(0x1d2),a78_0x353937(0x1cc),a78_0x353937(0x25a),a78_0x353937(0x203),a78_0x353937(0x1cb),a78_0x353937(0x25d)]);[a78_0x353937(0x204)](_0x2d108e){const _0x2e001f=a78_0x353937,_0x154e82={};for(const [_0x508063,_0x278938]of Object[_0x2e001f(0x21e)](_0x2d108e[_0x2e001f(0x1d3)])){const _0x586046=_0x508063['toLowerCase']();if(PassThroughProxyServer[_0x2e001f(0x22f)]['has'](_0x586046))continue;if(_0x586046[_0x2e001f(0x22c)](_0x2e001f(0x220)))continue;if(typeof _0x278938===_0x2e001f(0x21d))_0x154e82[_0x508063]=_0x278938;else Array[_0x2e001f(0x20e)](_0x278938)&&(_0x154e82[_0x508063]=_0x278938[_0x2e001f(0x240)](',\x20'));}const _0x30bb62=getVersion(),{auth:_0x53b045}=this[_0x2e001f(0x235)];return _0x154e82[_0x2e001f(0x230)]=_0x53b045['type']===_0x2e001f(0x23f)?_0x2e001f(0x261)+_0x53b045[_0x2e001f(0x1d1)]:_0x2e001f(0x25f)+_0x53b045['apiKey'],_0x154e82['User-Agent']=_0x2e001f(0x1fa)+_0x30bb62,_0x154e82[_0x2e001f(0x1ed)]='tdx',_0x154e82[_0x2e001f(0x1dd)]=_0x30bb62,_0x154e82;}async[a78_0x353937(0x20a)](_0x378a41,_0x12c40c){const _0x37c330=a78_0x353937,_0x43c746=_0x378a41[_0x37c330(0x253)],_0x486847=_0x43c746[_0x37c330(0x1e3)]!==![],_0x208e07=_0x43c746[_0x37c330(0x1e8)],_0x214081=_0x208e07?.[_0x37c330(0x237)]||_0x37c330(0x201),_0x1f8265=extractSessionUUID(_0x214081),_0x3193b0=_0x43c746[_0x37c330(0x219)]||_0x37c330(0x1f1),_0x17c9a4=shouldInjectSystemPrompt(_0x3193b0)?injectSystemPrompt(_0x43c746,TDX_SYSTEM_PROMPT):_0x43c746,_0x400fda=JSON['stringify'](_0x17c9a4),_0x2bf4b5=Array['isArray'](_0x43c746[_0x37c330(0x23c)])?_0x43c746['messages']['length']:0x0;this[_0x37c330(0x247)][_0x37c330(0x1cd)]('[PASSTHROUGH]\x20'+_0x378a41[_0x37c330(0x242)]+'\x20'+_0x378a41[_0x37c330(0x218)]+_0x37c330(0x215)+_0x2bf4b5+',\x20model='+_0x3193b0+',\x20stream='+_0x486847);const _0x504e5f=_0x378a41[_0x37c330(0x218)][_0x37c330(0x205)]('?')?_0x378a41['url'][_0x37c330(0x1d0)](_0x378a41[_0x37c330(0x218)][_0x37c330(0x243)]('?')):'',_0x568b19=this['config'][_0x37c330(0x1ca)]+_0x37c330(0x1f5)+_0x504e5f,_0x36f321=this[_0x37c330(0x204)](_0x378a41);this[_0x37c330(0x247)]['debug'](_0x37c330(0x1de)+_0x568b19);const _0x3edbb1=this[_0x37c330(0x235)]['timeoutMs']||DEFAULT_TIMEOUT_MS;try{const _0x8c5d39=await fetch(_0x568b19,{'method':_0x37c330(0x1fd),'headers':_0x36f321,'body':_0x400fda,'signal':AbortSignal[_0x37c330(0x221)](_0x3edbb1)});if(!_0x8c5d39['ok']){const _0x49bb5f=await _0x8c5d39[_0x37c330(0x216)]();return this[_0x37c330(0x247)][_0x37c330(0x202)](_0x37c330(0x1eb)+_0x8c5d39['status']+'\x20'+_0x8c5d39['statusText']),this[_0x37c330(0x247)][_0x37c330(0x229)](_0x37c330(0x214)+_0x49bb5f),_0x12c40c[_0x37c330(0x1f6)](_0x8c5d39[_0x37c330(0x231)]),_0x12c40c[_0x37c330(0x21b)](_0x37c330(0x24d),_0x8c5d39[_0x37c330(0x1d3)][_0x37c330(0x24a)](_0x37c330(0x24d))||_0x37c330(0x1ec)),_0x12c40c[_0x37c330(0x1d7)](_0x49bb5f);}if(_0x486847&&_0x8c5d39['body'])await this[_0x37c330(0x23e)](_0x8c5d39[_0x37c330(0x253)],_0x12c40c,_0x1f8265,_0x3193b0);else{const _0x2d2e3d=await _0x8c5d39['text']();_0x12c40c[_0x37c330(0x21b)]('Content-Type',_0x8c5d39[_0x37c330(0x1d3)][_0x37c330(0x24a)](_0x37c330(0x24d))||'application/json');try{const _0x56c9a=JSON[_0x37c330(0x22d)](_0x2d2e3d);_0x56c9a['usage']&&await this[_0x37c330(0x1f8)](_0x1f8265,_0x3193b0,_0x56c9a[_0x37c330(0x256)]['input_tokens']||0x0,_0x56c9a[_0x37c330(0x256)][_0x37c330(0x1f9)]||0x0,_0x56c9a[_0x37c330(0x256)]['cache_creation_input_tokens'],_0x56c9a[_0x37c330(0x256)][_0x37c330(0x258)]);}catch{}return _0x12c40c['send'](_0x2d2e3d);}}catch(_0x8ef455){const _0x106b68=_0x8ef455 instanceof Error?_0x8ef455[_0x37c330(0x1fc)]:_0x37c330(0x246),_0x499360=_0x8ef455 instanceof Error&&_0x8ef455[_0x37c330(0x1d9)]===_0x37c330(0x238);this[_0x37c330(0x247)]['error']('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:',_0x8ef455),_0x12c40c[_0x37c330(0x1f6)](_0x499360?0x1f8:0x1f7)['send']({'type':_0x37c330(0x202),'error':{'type':_0x499360?'timeout_error':_0x37c330(0x245),'message':_0x499360?'Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20'+_0x3edbb1+'ms':_0x37c330(0x24b)+_0x106b68}});}}async[a78_0x353937(0x23e)](_0x33fb94,_0x1f5bcf,_0x5b432c,_0x192354){const _0xbad0e9=a78_0x353937;_0x1f5bcf[_0xbad0e9(0x223)]['writeHead'](0xc8,{'Content-Type':_0xbad0e9(0x248),'Cache-Control':'no-cache','Connection':_0xbad0e9(0x239)});const _0xca8d12=new SSEUsageTracker(),_0x58a15a=_0x33fb94['getReader'](),_0x47df11=new TextDecoder();try{while(!![]){const {done:_0x835f8a,value:_0x3624a5}=await _0x58a15a[_0xbad0e9(0x21c)]();if(_0x835f8a)break;const _0x65edfe=_0x47df11[_0xbad0e9(0x23d)](_0x3624a5,{'stream':!![]});_0xca8d12[_0xbad0e9(0x1ee)](_0x65edfe),_0x1f5bcf['raw'][_0xbad0e9(0x210)](_0x65edfe);}_0xca8d12['flush']();const _0x34644e=_0xca8d12[_0xbad0e9(0x20c)]();(_0x34644e[_0xbad0e9(0x241)]>0x0||_0x34644e[_0xbad0e9(0x226)]>0x0)&&await this[_0xbad0e9(0x1f8)](_0x5b432c,_0x192354,_0x34644e[_0xbad0e9(0x241)],_0x34644e['outputTokens'],_0x34644e[_0xbad0e9(0x225)],_0x34644e[_0xbad0e9(0x21f)]);}catch(_0x4fec9a){this[_0xbad0e9(0x247)][_0xbad0e9(0x202)](_0xbad0e9(0x217),_0x4fec9a);const _0x3370e4=_0xbad0e9(0x1f0)+JSON[_0xbad0e9(0x1fe)]({'type':_0xbad0e9(0x202),'error':{'type':_0xbad0e9(0x254),'message':_0xbad0e9(0x24f)}})+'\x0a\x0a';_0x1f5bcf[_0xbad0e9(0x223)][_0xbad0e9(0x210)](_0x3370e4);}finally{_0x1f5bcf[_0xbad0e9(0x223)]['end']();}}async['handleCountTokens'](_0x5ed33c,_0x5ea2a0){const _0x176b08=a78_0x353937,_0x5e113e=_0x5ed33c[_0x176b08(0x253)],_0x26d32a=_0x5ed33c[_0x176b08(0x218)]['includes']('?')?_0x5ed33c['url']['slice'](_0x5ed33c['url'][_0x176b08(0x243)]('?')):'',_0xc4461f=this[_0x176b08(0x235)][_0x176b08(0x1ca)]+_0x176b08(0x1e2)+_0x26d32a,_0x1c7fd4=this[_0x176b08(0x204)](_0x5ed33c),_0x3de4b6=_0x5e113e['model']||_0x176b08(0x1f1),_0x5952b5=shouldInjectSystemPrompt(_0x3de4b6)?injectSystemPrompt(_0x5e113e,TDX_SYSTEM_PROMPT):_0x5e113e,_0x1a6fb7=JSON[_0x176b08(0x1fe)](_0x5952b5);this[_0x176b08(0x247)][_0x176b08(0x229)](_0x176b08(0x1f3)+_0xc4461f);const _0x3f0b02=this[_0x176b08(0x235)][_0x176b08(0x1e0)]||DEFAULT_TIMEOUT_MS;try{const _0x1a859c=await fetch(_0xc4461f,{'method':'POST','headers':_0x1c7fd4,'body':_0x1a6fb7,'signal':AbortSignal[_0x176b08(0x221)](_0x3f0b02)}),_0x1c7d2d=await _0x1a859c[_0x176b08(0x216)]();return _0x5ea2a0[_0x176b08(0x1f6)](_0x1a859c[_0x176b08(0x231)]),_0x5ea2a0[_0x176b08(0x21b)](_0x176b08(0x24d),_0x1a859c['headers']['get']('Content-Type')||_0x176b08(0x1ec)),_0x5ea2a0[_0x176b08(0x1d7)](_0x1c7d2d);}catch(_0x12b693){const _0x349638=_0x12b693 instanceof Error?_0x12b693[_0x176b08(0x1fc)]:_0x176b08(0x246),_0x292a75=_0x12b693 instanceof Error&&_0x12b693[_0x176b08(0x1d9)]==='TimeoutError';this[_0x176b08(0x247)][_0x176b08(0x202)](_0x176b08(0x1d6),_0x12b693),_0x5ea2a0[_0x176b08(0x1f6)](_0x292a75?0x1f8:0x1f7)['send']({'type':'error','error':{'type':_0x292a75?_0x176b08(0x1da):'api_error','message':_0x292a75?_0x176b08(0x22a)+_0x3f0b02+'ms':_0x176b08(0x24b)+_0x349638}});}}async[a78_0x353937(0x1f8)](_0x3762d9,_0x163328,_0x1cc835,_0xbd130f,_0x4d3339,_0x5a8440){const _0x477980=a78_0x353937,_0x164dbb={'timestamp':new Date()['toISOString'](),'model':_0x163328,'inputTokens':_0x1cc835,'outputTokens':_0xbd130f,'cacheCreationInputTokens':_0x4d3339,'cacheReadInputTokens':_0x5a8440,'profile':this[_0x477980(0x235)][_0x477980(0x1e4)],'source':_0x477980(0x25e)},_0x3c186c=_0x4d3339||_0x5a8440?_0x477980(0x233)+(_0x4d3339||0x0)+',\x20cache_read='+(_0x5a8440||0x0):'';this['logger'][_0x477980(0x229)]('[PASSTHROUGH]\x20Usage:\x20input='+_0x1cc835+_0x477980(0x1e9)+_0xbd130f+_0x3c186c+',\x20model='+_0x163328);try{await appendUsageEntry(_0x3762d9,_0x164dbb);}catch(_0x46bae6){this[_0x477980(0x247)][_0x477980(0x202)](_0x477980(0x251),_0x46bae6);}}[a78_0x353937(0x224)](){const _0x34be89=a78_0x353937;if(this[_0x34be89(0x235)][_0x34be89(0x1fb)]['type']!==_0x34be89(0x23f))return;this[_0x34be89(0x236)]=setInterval(()=>{const _0x34d244=_0x34be89;void this[_0x34d244(0x1c8)]();},TOKEN_REFRESH_INTERVAL_MS),this['refreshTimer'][_0x34be89(0x1e6)]();}async[a78_0x353937(0x1c8)](){const _0x4086a5=a78_0x353937,{auth:_0x29bc51}=this[_0x4086a5(0x235)];if(_0x29bc51[_0x4086a5(0x259)]!==_0x4086a5(0x23f))return;const _0x48677e=!_0x29bc51[_0x4086a5(0x24e)]||_0x29bc51[_0x4086a5(0x24e)]<Date[_0x4086a5(0x1e5)]()+TOKEN_EXPIRY_BUFFER_MS;if(!_0x48677e)return;try{const _0x3735a5=await refreshAccessToken(_0x29bc51[_0x4086a5(0x1f4)],_0x29bc51[_0x4086a5(0x207)]);_0x29bc51[_0x4086a5(0x1d1)]=_0x3735a5[_0x4086a5(0x1ce)],_0x29bc51[_0x4086a5(0x207)]=_0x3735a5[_0x4086a5(0x1ea)],_0x29bc51[_0x4086a5(0x24e)]=_0x3735a5[_0x4086a5(0x20d)],await saveOAuthTokens(_0x3735a5,this[_0x4086a5(0x235)][_0x4086a5(0x1e4)]),this[_0x4086a5(0x247)][_0x4086a5(0x1cd)](_0x4086a5(0x22b));}catch(_0x5b6e38){this[_0x4086a5(0x247)]['error'](_0x4086a5(0x213),_0x5b6e38);}}async['start'](){const _0x539112=a78_0x353937,_0x586984=this[_0x539112(0x235)][_0x539112(0x1db)]??0x64;for(let _0x40083c=0x0;_0x40083c<_0x586984;_0x40083c++){const _0x1c0c29=this[_0x539112(0x235)][_0x539112(0x262)]+_0x40083c;try{await this[_0x539112(0x206)][_0x539112(0x25b)]({'port':_0x1c0c29,'host':_0x539112(0x20f)}),this[_0x539112(0x208)]=_0x1c0c29,this[_0x539112(0x247)][_0x539112(0x1cd)]('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+_0x1c0c29),this[_0x539112(0x247)][_0x539112(0x1cd)](_0x539112(0x1de)+this[_0x539112(0x235)]['llmProxyUrl']),this[_0x539112(0x224)]();return;}catch(_0x1c7e15){const _0x2f0830=_0x1c7e15 instanceof Error&&'code'in _0x1c7e15&&_0x1c7e15[_0x539112(0x1f6)]===_0x539112(0x1dc);if(!_0x2f0830)throw _0x1c7e15;this[_0x539112(0x247)][_0x539112(0x229)](_0x539112(0x1d8)+_0x1c0c29+_0x539112(0x255)),this[_0x539112(0x20b)]();}}const _0xe01b8d=this[_0x539112(0x235)][_0x539112(0x262)]+_0x586984-0x1;throw new Error(_0x539112(0x1f7)+this[_0x539112(0x235)][_0x539112(0x262)]+_0x539112(0x211)+_0xe01b8d);}async[a78_0x353937(0x234)](){const _0x3bc6de=a78_0x353937;this[_0x3bc6de(0x236)]&&(clearInterval(this[_0x3bc6de(0x236)]),this[_0x3bc6de(0x236)]=undefined),await this[_0x3bc6de(0x206)]['close'](),this[_0x3bc6de(0x247)][_0x3bc6de(0x1cd)]('Pass-through\x20proxy\x20server\x20stopped');}[a78_0x353937(0x23a)](){const _0x3c23db=a78_0x353937;return _0x3c23db(0x1e7)+this['port'];}}
1
+ const a78_0x4ed696=a78_0x24a7;(function(_0x4533f3,_0x3c68da){const _0x4a31e7=a78_0x24a7,_0x315146=_0x4533f3();while(!![]){try{const _0xac7edf=parseInt(_0x4a31e7(0x1f3))/0x1+-parseInt(_0x4a31e7(0x1d2))/0x2*(parseInt(_0x4a31e7(0x1e3))/0x3)+-parseInt(_0x4a31e7(0x1fb))/0x4*(-parseInt(_0x4a31e7(0x1ac))/0x5)+-parseInt(_0x4a31e7(0x207))/0x6*(parseInt(_0x4a31e7(0x225))/0x7)+-parseInt(_0x4a31e7(0x223))/0x8+-parseInt(_0x4a31e7(0x232))/0x9+parseInt(_0x4a31e7(0x1b4))/0xa;if(_0xac7edf===_0x3c68da)break;else _0x315146['push'](_0x315146['shift']());}catch(_0x5c6aba){_0x315146['push'](_0x315146['shift']());}}}(a78_0x3a7c,0x73207));import a78_0x50b9e3 from'fastify';import a78_0x1e4b26 from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';function a78_0x24a7(_0x3715de,_0x171d0b){_0x3715de=_0x3715de-0x194;const _0x3a7ce7=a78_0x3a7c();let _0x24a728=_0x3a7ce7[_0x3715de];return _0x24a728;}import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';import{isExperimentalAvailable}from'../core/config.js';import{refreshAccessToken}from'../sdk/client/oauth-refresh.js';import{saveOAuthTokens}from'../core/oauth-keychain.js';const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8,TDX_SYSTEM_PROMPT=a78_0x4ed696(0x197)+(isExperimentalAvailable()?'|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a':'')+a78_0x4ed696(0x1c2);function a78_0x3a7c(){const _0x20ef1d=['[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','metadata','now',',\x20stream=','Server\x20has\x20not\x20been\x20started\x20yet','isArray','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','code','stop','writeHead','name','setErrorHandler','anthropic-version','message','unknown','event:\x20error\x0adata:\x20','connection','text/event-stream','434704kTXUGE','setupRoutes','7SqBnmj','maxPortAttempts','setupMiddleware','model','timeout_error','stringify',',\x20cache_read=','Authorization','handleCountTokens','tdx','x-td-','refreshTokenIfNeeded','authorization','5218056kmIPlw','handleStreamingResponse','refresh_token','No\x20available\x20port\x20found\x20between\x20','You\x20are\x20`tdx\x20claude`,\x20an\x20extension\x20of\x20Claude\x20Code\x20with\x20tdx\x20CLI\x20tools\x20(https://tdx.treasuredata.com/)\x20and\x20skills\x20for\x20Treasure\x20Data\x20and\x20CDP.\x0a\x0aFor\x20Treasure\x20Data\x20tasks,\x20use\x20these\x20skills:\x0a\x0a|\x20Task\x20|\x20Skill\x20|\x0a|------|-------|\x0a|\x20tdx\x20CLI\x20operations\x20(databases,\x20tables,\x20queries)\x20|\x20tdx-skills:tdx-basic\x20|\x0a|\x20CDP\x20parent\x20segments\x20(YAML\x20config)\x20|\x20tdx-skills:parent-segment\x20|\x0a|\x20CDP\x20child\x20segments\x20(rules,\x20activations)\x20|\x20tdx-skills:segment\x20|\x0a|\x20Validate\x20segment\x20YAML\x20|\x20tdx-skills:validate-segment\x20|\x0a|\x20CDP\x20journeys\x20(stages,\x20steps)\x20|\x20tdx-skills:journey\x20|\x0a|\x20Validate\x20journey\x20YAML\x20|\x20tdx-skills:validate-journey\x20|\x0a|\x20Configure\x20activations\x20|\x20tdx-skills:connector-config\x20|\x0a|\x20Build\x20LLM\x20agents\x20|\x20tdx-skills:agent\x20|\x0a','send','info','start','content-length','[PASSTHROUGH]\x20Usage:\x20input=','entries','refreshTimer','expires_at','parse',',\x20output=','text','cache_creation_input_tokens','register','inputTokens',',\x20cache_create=','buildForwardHeaders','config','consoleUrl','[PASSTHROUGH]\x20Upstream\x20error:\x20','profile','4515ERCpLL','cacheReadInputTokens','headers','oauth','startTokenRefreshTimer','no-cache','status','header','15144150MyWenF','includes','raw','Content-Type','/health','logUsage','setupJsonParser','_boundPort','GET','messages','keep-alive',',\x20model=','read','http://127.0.0.1:','|\x20Write\x20agent\x20system\x20prompts\x20|\x20tdx-skills:agent-prompt\x20|\x0a|\x20TD\x20Trino\x20SQL\x20queries\x20|\x20sql-skills:trino\x20|\x0a|\x20TD\x20Hive\x20SQL\x20queries\x20|\x20sql-skills:hive\x20|\x0a|\x20Time\x20filtering\x20(td_interval,\x20partition\x20pruning)\x20|\x20sql-skills:time-filtering\x20|\x0a|\x20Optimize\x20slow\x20Trino\x20queries\x20|\x20sql-skills:trino-optimizer\x20|\x0a|\x20Convert\x20Trino\x20to\x20Hive\x20(memory\x20errors)\x20|\x20sql-skills:trino-to-hive-migration\x20|\x0a|\x20Treasure\x20Workflow\x20(.dig\x20files)\x20|\x20workflow-skills:digdag\x20|\x0a|\x20Debug/manage\x20workflows\x20|\x20workflow-skills:workflow-management\x20|\x0a|\x20dbt\x20with\x20TD\x20Trino\x20|\x20workflow-skills:dbt\x20|\x0a|\x20JavaScript\x20SDK\x20(browser\x20tracking)\x20|\x20sdk-skills:javascript\x20|\x0a|\x20Python\x20SDK\x20(pytd,\x20pandas)\x20|\x20sdk-skills:python\x20|','stream_error','X-TD-Client','indexOf','handleMessages','slice','Bearer\x20','EADDRINUSE','stream','end','body','method','statusText',':\x20messages=','createServer','TimeoutError','239446eIaMxW','toISOString','host','string','write','Forwarding\x20to:\x20','post','get','flush','transfer-encoding','server','auth','/v1/messages','refreshToken','llmProxyUrl','error','Unknown\x20error','15CBizpA','application/json','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','has','127.0.0.1','SKIP_HEADERS','outputTokens','system','POST','Stream\x20interrupted','user-agent','Pass-through\x20proxy\x20server\x20stopped','debug','timeoutMs','timeout','usage','860318sBfMKA','port','decode','x-api-key','url','expiresAt','close','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','472OJXdiM','tdx-claude','api_error','addContentTypeParser','Error\x20body:\x20','accessToken','Port\x20','match','X-TD-Client-Version','length','startPort','\x20and\x20','4661946OCYqDK','\x20in\x20use,\x20trying\x20next...','access_token','/v1/messages/count_tokens','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','input_tokens','logger','type','haiku','[PASSTHROUGH\x20PROXY\x20ERROR]:'];a78_0x3a7c=function(){return _0x20ef1d;};return a78_0x3a7c();}function extractSessionUUID(_0x578a30){const _0x4c1f7f=a78_0x4ed696,_0x1c94cd=_0x578a30[_0x4c1f7f(0x202)](/_session_([a-f0-9-]+)$/i);if(_0x1c94cd)return _0x1c94cd[0x1];return _0x578a30;}export function injectSystemPrompt(_0x5b90f4,_0x487038){const _0x3becc5=a78_0x4ed696,_0x43ef0b=_0x5b90f4[_0x3becc5(0x1ea)];if(!_0x43ef0b)return{..._0x5b90f4,'system':_0x487038};if(typeof _0x43ef0b===_0x3becc5(0x1d5))return{..._0x5b90f4,'system':_0x43ef0b+'\x0a\x0a'+_0x487038};if(Array[_0x3becc5(0x216)](_0x43ef0b)){const _0x2f344e={'type':_0x3becc5(0x1a2),'text':_0x487038};return{..._0x5b90f4,'system':[..._0x43ef0b,_0x2f344e]};}return _0x5b90f4;}export function shouldInjectSystemPrompt(_0x59f318){const _0xa55f37=a78_0x4ed696;return!_0x59f318['toLowerCase']()[_0xa55f37(0x1b5)](_0xa55f37(0x20f));}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8,TOKEN_EXPIRY_BUFFER_MS=0x5*0x3c*0x3e8;export class PassThroughProxyServer{[a78_0x4ed696(0x1dc)];[a78_0x4ed696(0x1a8)];[a78_0x4ed696(0x20d)];[a78_0x4ed696(0x1bb)];[a78_0x4ed696(0x19e)];constructor(_0x52f64b){const _0x3f225f=a78_0x4ed696;this[_0x3f225f(0x1a8)]=_0x52f64b,this[_0x3f225f(0x20d)]=_0x52f64b[_0x3f225f(0x20d)],this[_0x3f225f(0x1dc)]=this['createServer']();}get[a78_0x4ed696(0x1f4)](){const _0x14ea09=a78_0x4ed696;if(this[_0x14ea09(0x1bb)]===undefined)throw new Error(_0x14ea09(0x215));return this['_boundPort'];}[a78_0x4ed696(0x1d0)](){const _0x3b4b98=a78_0x4ed696,_0x4a6955=a78_0x50b9e3({'logger':![],'bodyLimit':0x40*0x400*0x400});return this[_0x3b4b98(0x1dc)]=_0x4a6955,this['setupJsonParser'](),this[_0x3b4b98(0x227)](),this[_0x3b4b98(0x224)](),_0x4a6955;}[a78_0x4ed696(0x1ba)](){const _0x3b1a07=a78_0x4ed696;this[_0x3b1a07(0x1dc)][_0x3b1a07(0x1fe)]('application/json',{'parseAs':_0x3b1a07(0x1d5)},(_0x51b49,_0x261c43,_0x748fc3)=>{const _0x4db146=_0x3b1a07;try{const _0x3e58b5=JSON[_0x4db146(0x1a0)](_0x261c43);_0x748fc3(null,_0x3e58b5);}catch(_0x195a19){_0x748fc3(_0x195a19,undefined);}});}['setupMiddleware'](){const _0x4bee31=a78_0x4ed696;this['server'][_0x4bee31(0x1a4)](a78_0x1e4b26,{'origin':!![],'methods':[_0x4bee31(0x1bc),_0x4bee31(0x1eb),'OPTIONS'],'allowedHeaders':[_0x4bee31(0x1b7),_0x4bee31(0x22c),_0x4bee31(0x21d),_0x4bee31(0x1f6)]}),this[_0x4bee31(0x1dc)][_0x4bee31(0x21c)]((_0x3d0f07,_0x5a7054,_0x25bbd2)=>{const _0x459d0f=_0x4bee31,_0x465832=_0x3d0f07 instanceof Error?_0x3d0f07[_0x459d0f(0x21e)]:_0x459d0f(0x1e2);this['logger'][_0x459d0f(0x1e1)](_0x459d0f(0x210),_0x3d0f07),_0x25bbd2[_0x459d0f(0x218)](0x1f4)[_0x459d0f(0x198)]({'type':_0x459d0f(0x1e1),'error':{'type':_0x459d0f(0x1fd),'message':_0x465832}});});}[a78_0x4ed696(0x224)](){const _0x30e05b=a78_0x4ed696;this['server'][_0x30e05b(0x1d9)](_0x30e05b(0x1b8),async()=>{return{'status':'ok','message':'TD\x20LLM\x20Pass-through\x20Proxy\x20Server'};}),this[_0x30e05b(0x1dc)][_0x30e05b(0x1d8)]('/v1/messages',async(_0x151356,_0x17d2ec)=>{const _0x4adf61=_0x30e05b;return this[_0x4adf61(0x1c6)](_0x151356,_0x17d2ec);}),this[_0x30e05b(0x1dc)][_0x30e05b(0x1d8)](_0x30e05b(0x20a),async(_0x30714d,_0x1e347f)=>{const _0x30a65f=_0x30e05b;return this[_0x30a65f(0x22d)](_0x30714d,_0x1e347f);});}static [a78_0x4ed696(0x1e8)]=new Set([a78_0x4ed696(0x1d4),a78_0x4ed696(0x221),a78_0x4ed696(0x19b),a78_0x4ed696(0x1db),a78_0x4ed696(0x231),'x-api-key',a78_0x4ed696(0x1ed)]);[a78_0x4ed696(0x1a7)](_0x5982a8){const _0x161b43=a78_0x4ed696,_0x5b7281={};for(const [_0x1a9e8c,_0x16200e]of Object[_0x161b43(0x19d)](_0x5982a8['headers'])){const _0x33e9c5=_0x1a9e8c['toLowerCase']();if(PassThroughProxyServer[_0x161b43(0x1e8)][_0x161b43(0x1e6)](_0x33e9c5))continue;if(_0x33e9c5['startsWith'](_0x161b43(0x22f)))continue;if(typeof _0x16200e===_0x161b43(0x1d5))_0x5b7281[_0x1a9e8c]=_0x16200e;else Array['isArray'](_0x16200e)&&(_0x5b7281[_0x1a9e8c]=_0x16200e['join'](',\x20'));}const _0x28a1c4=getVersion(),{auth:_0x36942c}=this['config'];return _0x5b7281['Authorization']=_0x36942c[_0x161b43(0x20e)]===_0x161b43(0x1af)?_0x161b43(0x1c8)+_0x36942c[_0x161b43(0x200)]:'TD1\x20'+_0x36942c['apiKey'],_0x5b7281['User-Agent']='tdx/'+_0x28a1c4,_0x5b7281[_0x161b43(0x1c4)]=_0x161b43(0x22e),_0x5b7281[_0x161b43(0x203)]=_0x28a1c4,_0x5b7281;}async[a78_0x4ed696(0x1c6)](_0x187598,_0x384f51){const _0x28adc7=a78_0x4ed696,_0x2c0f0e=_0x187598[_0x28adc7(0x1cc)],_0x161c8f=_0x2c0f0e[_0x28adc7(0x1ca)]!==![],_0x2eff23=_0x2c0f0e[_0x28adc7(0x212)],_0x3d2d9e=_0x2eff23?.['user_id']||'default',_0x16779e=extractSessionUUID(_0x3d2d9e),_0x14589c=_0x2c0f0e['model']||_0x28adc7(0x21f),_0x368d3e=shouldInjectSystemPrompt(_0x14589c)?injectSystemPrompt(_0x2c0f0e,TDX_SYSTEM_PROMPT):_0x2c0f0e,_0x5f171d=JSON[_0x28adc7(0x22a)](_0x368d3e),_0x5f0ba1=Array[_0x28adc7(0x216)](_0x2c0f0e[_0x28adc7(0x1bd)])?_0x2c0f0e['messages'][_0x28adc7(0x204)]:0x0;this[_0x28adc7(0x20d)][_0x28adc7(0x199)]('[PASSTHROUGH]\x20'+_0x187598[_0x28adc7(0x1cd)]+'\x20'+_0x187598['url']+_0x28adc7(0x1cf)+_0x5f0ba1+_0x28adc7(0x1bf)+_0x14589c+_0x28adc7(0x214)+_0x161c8f);const _0xcf00ec=_0x187598[_0x28adc7(0x1f7)][_0x28adc7(0x1b5)]('?')?_0x187598[_0x28adc7(0x1f7)]['slice'](_0x187598['url'][_0x28adc7(0x1c5)]('?')):'',_0x357f03=this[_0x28adc7(0x1a8)][_0x28adc7(0x1e0)]+_0x28adc7(0x1de)+_0xcf00ec,_0x1fce26=this[_0x28adc7(0x1a7)](_0x187598);this[_0x28adc7(0x20d)][_0x28adc7(0x1ef)]('Forwarding\x20to:\x20'+_0x357f03);const _0x29ea65=this['config'][_0x28adc7(0x1f0)]||DEFAULT_TIMEOUT_MS;try{const _0x358eb7=await fetch(_0x357f03,{'method':_0x28adc7(0x1eb),'headers':_0x1fce26,'body':_0x5f171d,'signal':AbortSignal['timeout'](_0x29ea65)});if(!_0x358eb7['ok']){const _0x44c317=await _0x358eb7[_0x28adc7(0x1a2)]();return this[_0x28adc7(0x20d)][_0x28adc7(0x1e1)](_0x28adc7(0x1aa)+_0x358eb7[_0x28adc7(0x1b2)]+'\x20'+_0x358eb7[_0x28adc7(0x1ce)]),this[_0x28adc7(0x20d)]['debug'](_0x28adc7(0x1ff)+_0x44c317),_0x384f51[_0x28adc7(0x218)](_0x358eb7['status']),_0x384f51[_0x28adc7(0x1b3)](_0x28adc7(0x1b7),_0x358eb7[_0x28adc7(0x1ae)][_0x28adc7(0x1d9)](_0x28adc7(0x1b7))||'application/json'),_0x384f51['send'](_0x44c317);}if(_0x161c8f&&_0x358eb7[_0x28adc7(0x1cc)])await this[_0x28adc7(0x194)](_0x358eb7['body'],_0x384f51,_0x16779e,_0x14589c);else{const _0x4d8857=await _0x358eb7[_0x28adc7(0x1a2)]();_0x384f51['header'](_0x28adc7(0x1b7),_0x358eb7['headers'][_0x28adc7(0x1d9)]('Content-Type')||_0x28adc7(0x1e4));try{const _0x46653a=JSON[_0x28adc7(0x1a0)](_0x4d8857);_0x46653a[_0x28adc7(0x1f2)]&&await this[_0x28adc7(0x1b9)](_0x16779e,_0x14589c,_0x46653a[_0x28adc7(0x1f2)][_0x28adc7(0x20c)]||0x0,_0x46653a['usage']['output_tokens']||0x0,_0x46653a[_0x28adc7(0x1f2)][_0x28adc7(0x1a3)],_0x46653a[_0x28adc7(0x1f2)]['cache_read_input_tokens']);}catch{}return _0x384f51['send'](_0x4d8857);}}catch(_0x1054f4){const _0x1d4fac=_0x1054f4 instanceof Error?_0x1054f4[_0x28adc7(0x21e)]:'Unknown\x20error',_0x4d4c9b=_0x1054f4 instanceof Error&&_0x1054f4['name']===_0x28adc7(0x1d1);this[_0x28adc7(0x20d)][_0x28adc7(0x1e1)]('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:',_0x1054f4),_0x384f51[_0x28adc7(0x218)](_0x4d4c9b?0x1f8:0x1f7)[_0x28adc7(0x198)]({'type':'error','error':{'type':_0x4d4c9b?_0x28adc7(0x229):_0x28adc7(0x1fd),'message':_0x4d4c9b?_0x28adc7(0x217)+_0x29ea65+'ms':'Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20'+_0x1d4fac}});}}async[a78_0x4ed696(0x194)](_0x380526,_0xbbb68e,_0x8b7285,_0x3cb686){const _0x45c2d3=a78_0x4ed696;_0xbbb68e[_0x45c2d3(0x1b6)][_0x45c2d3(0x21a)](0xc8,{'Content-Type':_0x45c2d3(0x222),'Cache-Control':_0x45c2d3(0x1b1),'Connection':_0x45c2d3(0x1be)});const _0x2e6a4c=new SSEUsageTracker(),_0x169424=_0x380526['getReader'](),_0x29288d=new TextDecoder();try{while(!![]){const {done:_0x3266ed,value:_0x260484}=await _0x169424[_0x45c2d3(0x1c0)]();if(_0x3266ed)break;const _0x1c8c64=_0x29288d[_0x45c2d3(0x1f5)](_0x260484,{'stream':!![]});_0x2e6a4c['processChunk'](_0x1c8c64),_0xbbb68e[_0x45c2d3(0x1b6)][_0x45c2d3(0x1d6)](_0x1c8c64);}_0x2e6a4c[_0x45c2d3(0x1da)]();const _0x56d50d=_0x2e6a4c['getUsage']();(_0x56d50d[_0x45c2d3(0x1a5)]>0x0||_0x56d50d[_0x45c2d3(0x1e9)]>0x0)&&await this[_0x45c2d3(0x1b9)](_0x8b7285,_0x3cb686,_0x56d50d[_0x45c2d3(0x1a5)],_0x56d50d[_0x45c2d3(0x1e9)],_0x56d50d['cacheCreationInputTokens'],_0x56d50d[_0x45c2d3(0x1ad)]);}catch(_0x31bc55){this['logger'][_0x45c2d3(0x1e1)]('[PASSTHROUGH]\x20Stream\x20error:',_0x31bc55);const _0x2d9308=_0x45c2d3(0x220)+JSON[_0x45c2d3(0x22a)]({'type':_0x45c2d3(0x1e1),'error':{'type':_0x45c2d3(0x1c3),'message':_0x45c2d3(0x1ec)}})+'\x0a\x0a';_0xbbb68e['raw'][_0x45c2d3(0x1d6)](_0x2d9308);}finally{_0xbbb68e[_0x45c2d3(0x1b6)][_0x45c2d3(0x1cb)]();}}async[a78_0x4ed696(0x22d)](_0x5d79cb,_0x47a271){const _0x54eeca=a78_0x4ed696,_0x435439=_0x5d79cb[_0x54eeca(0x1cc)],_0x344296=_0x5d79cb[_0x54eeca(0x1f7)][_0x54eeca(0x1b5)]('?')?_0x5d79cb[_0x54eeca(0x1f7)][_0x54eeca(0x1c7)](_0x5d79cb[_0x54eeca(0x1f7)][_0x54eeca(0x1c5)]('?')):'',_0x4b47a8=this[_0x54eeca(0x1a8)]['llmProxyUrl']+_0x54eeca(0x20a)+_0x344296,_0x1bc8c1=this['buildForwardHeaders'](_0x5d79cb),_0x2bb1ec=_0x435439[_0x54eeca(0x228)]||'unknown',_0x52b195=shouldInjectSystemPrompt(_0x2bb1ec)?injectSystemPrompt(_0x435439,TDX_SYSTEM_PROMPT):_0x435439,_0x4da641=JSON[_0x54eeca(0x22a)](_0x52b195);this['logger'][_0x54eeca(0x1ef)](_0x54eeca(0x20b)+_0x4b47a8);const _0x40333f=this[_0x54eeca(0x1a8)][_0x54eeca(0x1f0)]||DEFAULT_TIMEOUT_MS;try{const _0x49c503=await fetch(_0x4b47a8,{'method':_0x54eeca(0x1eb),'headers':_0x1bc8c1,'body':_0x4da641,'signal':AbortSignal[_0x54eeca(0x1f1)](_0x40333f)}),_0x316fd1=await _0x49c503['text']();return _0x47a271[_0x54eeca(0x218)](_0x49c503[_0x54eeca(0x1b2)]),_0x47a271[_0x54eeca(0x1b3)](_0x54eeca(0x1b7),_0x49c503[_0x54eeca(0x1ae)]['get'](_0x54eeca(0x1b7))||'application/json'),_0x47a271[_0x54eeca(0x198)](_0x316fd1);}catch(_0x14015f){const _0x4fb676=_0x14015f instanceof Error?_0x14015f[_0x54eeca(0x21e)]:_0x54eeca(0x1e2),_0x5cef5b=_0x14015f instanceof Error&&_0x14015f[_0x54eeca(0x21b)]===_0x54eeca(0x1d1);this[_0x54eeca(0x20d)][_0x54eeca(0x1e1)](_0x54eeca(0x1fa),_0x14015f),_0x47a271[_0x54eeca(0x218)](_0x5cef5b?0x1f8:0x1f7)[_0x54eeca(0x198)]({'type':'error','error':{'type':_0x5cef5b?_0x54eeca(0x229):'api_error','message':_0x5cef5b?'Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20'+_0x40333f+'ms':_0x54eeca(0x1e5)+_0x4fb676}});}}async['logUsage'](_0x59cb9f,_0x17d3e6,_0x52db38,_0x1f18df,_0x5ef439,_0xd6b1e9){const _0x239daa=a78_0x4ed696,_0x3bb704={'timestamp':new Date()[_0x239daa(0x1d3)](),'model':_0x17d3e6,'inputTokens':_0x52db38,'outputTokens':_0x1f18df,'cacheCreationInputTokens':_0x5ef439,'cacheReadInputTokens':_0xd6b1e9,'profile':this[_0x239daa(0x1a8)][_0x239daa(0x1ab)],'source':_0x239daa(0x1fc)},_0x5122bd=_0x5ef439||_0xd6b1e9?_0x239daa(0x1a6)+(_0x5ef439||0x0)+_0x239daa(0x22b)+(_0xd6b1e9||0x0):'';this[_0x239daa(0x20d)][_0x239daa(0x1ef)](_0x239daa(0x19c)+_0x52db38+_0x239daa(0x1a1)+_0x1f18df+_0x5122bd+',\x20model='+_0x17d3e6);try{await appendUsageEntry(_0x59cb9f,_0x3bb704);}catch(_0xb8d30b){this[_0x239daa(0x20d)][_0x239daa(0x1e1)](_0x239daa(0x211),_0xb8d30b);}}['startTokenRefreshTimer'](){const _0x559d64=a78_0x4ed696;if(this['config'][_0x559d64(0x1dd)][_0x559d64(0x20e)]!==_0x559d64(0x1af))return;this[_0x559d64(0x19e)]=setInterval(()=>{const _0x4cac43=_0x559d64;void this[_0x4cac43(0x230)]();},TOKEN_REFRESH_INTERVAL_MS),this['refreshTimer']['unref']();}async[a78_0x4ed696(0x230)](){const _0x5d09dc=a78_0x4ed696,{auth:_0x185acf}=this['config'];if(_0x185acf[_0x5d09dc(0x20e)]!==_0x5d09dc(0x1af))return;const _0x1b0c44=!_0x185acf[_0x5d09dc(0x1f8)]||_0x185acf[_0x5d09dc(0x1f8)]<Date[_0x5d09dc(0x213)]()+TOKEN_EXPIRY_BUFFER_MS;if(!_0x1b0c44)return;try{const _0x5e7d58=await refreshAccessToken(_0x185acf[_0x5d09dc(0x1a9)],_0x185acf[_0x5d09dc(0x1df)]);_0x185acf[_0x5d09dc(0x200)]=_0x5e7d58[_0x5d09dc(0x209)],_0x185acf[_0x5d09dc(0x1df)]=_0x5e7d58[_0x5d09dc(0x195)],_0x185acf[_0x5d09dc(0x1f8)]=_0x5e7d58[_0x5d09dc(0x19f)],await saveOAuthTokens(_0x5e7d58,this[_0x5d09dc(0x1a8)][_0x5d09dc(0x1ab)]),this[_0x5d09dc(0x20d)][_0x5d09dc(0x199)]('[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully');}catch(_0x43140e){this[_0x5d09dc(0x20d)]['error']('[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:',_0x43140e);}}async[a78_0x4ed696(0x19a)](){const _0x42e715=a78_0x4ed696,_0x35fd97=this['config'][_0x42e715(0x226)]??0x64;for(let _0x39e160=0x0;_0x39e160<_0x35fd97;_0x39e160++){const _0x38cbd3=this[_0x42e715(0x1a8)]['startPort']+_0x39e160;try{await this['server']['listen']({'port':_0x38cbd3,'host':_0x42e715(0x1e7)}),this[_0x42e715(0x1bb)]=_0x38cbd3,this[_0x42e715(0x20d)][_0x42e715(0x199)]('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+_0x38cbd3),this[_0x42e715(0x20d)][_0x42e715(0x199)](_0x42e715(0x1d7)+this[_0x42e715(0x1a8)]['llmProxyUrl']),this[_0x42e715(0x1b0)]();return;}catch(_0x52a968){const _0x49eda7=_0x52a968 instanceof Error&&_0x42e715(0x218)in _0x52a968&&_0x52a968[_0x42e715(0x218)]===_0x42e715(0x1c9);if(!_0x49eda7)throw _0x52a968;this['logger'][_0x42e715(0x1ef)](_0x42e715(0x201)+_0x38cbd3+_0x42e715(0x208)),this[_0x42e715(0x1d0)]();}}const _0x5e21d0=this['config'][_0x42e715(0x205)]+_0x35fd97-0x1;throw new Error(_0x42e715(0x196)+this[_0x42e715(0x1a8)]['startPort']+_0x42e715(0x206)+_0x5e21d0);}async[a78_0x4ed696(0x219)](){const _0x25d19c=a78_0x4ed696;this[_0x25d19c(0x19e)]&&(clearInterval(this['refreshTimer']),this['refreshTimer']=undefined),await this[_0x25d19c(0x1dc)][_0x25d19c(0x1f9)](),this[_0x25d19c(0x20d)][_0x25d19c(0x199)](_0x25d19c(0x1ee));}['getAddress'](){const _0x5b843d=a78_0x4ed696;return _0x5b843d(0x1c1)+this['port'];}}
@@ -1 +1 @@
1
- function a79_0x1ff4(_0x1446ab,_0x31bdb8){_0x1446ab=_0x1446ab-0x110;const _0x505cd5=a79_0x505c();let _0x1ff4e4=_0x505cd5[_0x1446ab];return _0x1ff4e4;}const a79_0x122e60=a79_0x1ff4;(function(_0x4b12f0,_0x46258f){const _0x35bd0b=a79_0x1ff4,_0x279cb4=_0x4b12f0();while(!![]){try{const _0x4d123e=parseInt(_0x35bd0b(0x125))/0x1+-parseInt(_0x35bd0b(0x126))/0x2+parseInt(_0x35bd0b(0x120))/0x3+parseInt(_0x35bd0b(0x11a))/0x4+parseInt(_0x35bd0b(0x119))/0x5+parseInt(_0x35bd0b(0x130))/0x6*(parseInt(_0x35bd0b(0x12c))/0x7)+-parseInt(_0x35bd0b(0x113))/0x8;if(_0x4d123e===_0x46258f)break;else _0x279cb4['push'](_0x279cb4['shift']());}catch(_0x1af3d3){_0x279cb4['push'](_0x279cb4['shift']());}}}(a79_0x505c,0xb1754));export function parseSSEChunk(_0x50c25a){const _0x1617d9=a79_0x1ff4,_0x45fd5b=[],_0x543f00=_0x50c25a[_0x1617d9(0x127)]('\x0a\x0a'),_0x887c0d=_0x543f00[_0x1617d9(0x128)]()||'';for(const _0x204469 of _0x543f00){if(!_0x204469['trim']())continue;const _0x4348e1={},_0x17f1eb=_0x204469['split']('\x0a');for(const _0x16dadf of _0x17f1eb){if(_0x16dadf[_0x1617d9(0x11e)]('event:\x20'))_0x4348e1[_0x1617d9(0x131)]=_0x16dadf[_0x1617d9(0x110)](0x7);else _0x16dadf[_0x1617d9(0x11e)]('data:\x20')&&(_0x4348e1[_0x1617d9(0x11d)]=_0x16dadf[_0x1617d9(0x110)](0x6));}(_0x4348e1['event']||_0x4348e1[_0x1617d9(0x11d)])&&_0x45fd5b[_0x1617d9(0x118)](_0x4348e1);}return{'events':_0x45fd5b,'remaining':_0x887c0d};}export function extractMessageStartUsage(_0x25e516){const _0x308582=a79_0x1ff4;try{const _0x13c852=JSON[_0x308582(0x111)](_0x25e516);if(_0x13c852['type']==='message_start'&&_0x13c852['message']?.[_0x308582(0x116)]){const _0x2f7496=_0x13c852['message'][_0x308582(0x116)];return{'inputTokens':_0x2f7496['input_tokens']||0x0,'outputTokens':_0x2f7496[_0x308582(0x129)]||0x0,'cacheCreationInputTokens':_0x2f7496[_0x308582(0x124)],'cacheReadInputTokens':_0x2f7496[_0x308582(0x12d)]};}}catch{}return null;}export function extractMessageDeltaUsage(_0x462135){const _0x5974c7=a79_0x1ff4;try{const _0x145d51=JSON['parse'](_0x462135);if(_0x145d51[_0x5974c7(0x122)]===_0x5974c7(0x12a)&&_0x145d51[_0x5974c7(0x116)]){const _0x35ee35=_0x145d51[_0x5974c7(0x116)];return{'inputTokens':_0x35ee35[_0x5974c7(0x121)]||0x0,'outputTokens':_0x35ee35[_0x5974c7(0x129)]||0x0,'cacheCreationInputTokens':_0x35ee35[_0x5974c7(0x124)],'cacheReadInputTokens':_0x35ee35[_0x5974c7(0x12d)]};}}catch{}return null;}export function extractUsageFromEvent(_0x2bc631){const _0x1d3ce1=a79_0x1ff4;if(!_0x2bc631[_0x1d3ce1(0x11d)])return null;if(_0x2bc631[_0x1d3ce1(0x131)]===_0x1d3ce1(0x114))return extractMessageStartUsage(_0x2bc631[_0x1d3ce1(0x11d)]);if(_0x2bc631[_0x1d3ce1(0x131)]===_0x1d3ce1(0x12a))return extractMessageDeltaUsage(_0x2bc631[_0x1d3ce1(0x11d)]);return null;}function a79_0x505c(){const _0x427deb=['output_tokens','message_delta','inputTokens','19873fZJfEM','cache_read_input_tokens','onRawUsage','max','240Bbiwmp','event','outputTokens','slice','parse','updateFromUsage','19454736dGAKUt','message_start','flush','usage','processChunk','push','7206925HAlHZb','716744fFNcPk','cacheReadInputTokens','cacheCreationInputTokens','data','startsWith','trim','4069911WQXTkg','input_tokens','type','buffer','cache_creation_input_tokens','334677ZAKyIR','533470APKOTt','split','pop'];a79_0x505c=function(){return _0x427deb;};return a79_0x505c();}export class SSEUsageTracker{[a79_0x122e60(0x12b)]=0x0;[a79_0x122e60(0x132)]=0x0;['cacheCreationInputTokens'];['cacheReadInputTokens'];[a79_0x122e60(0x123)]='';['updateFromUsage'](_0x48ede4){const _0x582765=a79_0x122e60;this[_0x582765(0x12b)]=Math[_0x582765(0x12f)](this['inputTokens'],_0x48ede4[_0x582765(0x12b)]),this[_0x582765(0x132)]=Math[_0x582765(0x12f)](this['outputTokens'],_0x48ede4[_0x582765(0x132)]),_0x48ede4[_0x582765(0x11c)]!==undefined&&(this[_0x582765(0x11c)]=Math[_0x582765(0x12f)](this[_0x582765(0x11c)]??0x0,_0x48ede4[_0x582765(0x11c)])),_0x48ede4[_0x582765(0x11b)]!==undefined&&(this[_0x582765(0x11b)]=Math[_0x582765(0x12f)](this[_0x582765(0x11b)]??0x0,_0x48ede4[_0x582765(0x11b)]));}[a79_0x122e60(0x12e)];[a79_0x122e60(0x117)](_0x582093){const _0x3a7e9d=a79_0x122e60;this[_0x3a7e9d(0x123)]+=_0x582093;const {events:_0x1e8867,remaining:_0x308f02}=parseSSEChunk(this[_0x3a7e9d(0x123)]);this[_0x3a7e9d(0x123)]=_0x308f02;for(const _0x46d6b1 of _0x1e8867){const _0x495442=extractUsageFromEvent(_0x46d6b1);_0x495442&&(this['onRawUsage']?.(_0x46d6b1['event']||'unknown',_0x46d6b1[_0x3a7e9d(0x11d)]||'',_0x495442),this[_0x3a7e9d(0x112)](_0x495442));}return _0x582093;}[a79_0x122e60(0x115)](){const _0x45114d=a79_0x122e60;if(this['buffer'][_0x45114d(0x11f)]()){const {events:_0x5d846a}=parseSSEChunk(this[_0x45114d(0x123)]+'\x0a\x0a');for(const _0x4e6347 of _0x5d846a){const _0x562be4=extractUsageFromEvent(_0x4e6347);_0x562be4&&this[_0x45114d(0x112)](_0x562be4);}this[_0x45114d(0x123)]='';}}['getUsage'](){const _0x1e2803=a79_0x122e60;return{'inputTokens':this[_0x1e2803(0x12b)],'outputTokens':this[_0x1e2803(0x132)],'cacheCreationInputTokens':this[_0x1e2803(0x11c)],'cacheReadInputTokens':this[_0x1e2803(0x11b)]};}['reset'](){const _0x3eae60=a79_0x122e60;this[_0x3eae60(0x12b)]=0x0,this['outputTokens']=0x0,this[_0x3eae60(0x11c)]=undefined,this['cacheReadInputTokens']=undefined,this['buffer']='';}}
1
+ const a79_0x39abb5=a79_0x4da1;(function(_0x1d5bb5,_0x2d5c6d){const _0x36cee5=a79_0x4da1,_0x39ce43=_0x1d5bb5();while(!![]){try{const _0x5a8c91=parseInt(_0x36cee5(0xb6))/0x1+parseInt(_0x36cee5(0xd2))/0x2*(parseInt(_0x36cee5(0xbe))/0x3)+parseInt(_0x36cee5(0xd8))/0x4*(parseInt(_0x36cee5(0xdc))/0x5)+-parseInt(_0x36cee5(0xc3))/0x6*(-parseInt(_0x36cee5(0xd4))/0x7)+parseInt(_0x36cee5(0xb7))/0x8+-parseInt(_0x36cee5(0xd0))/0x9*(parseInt(_0x36cee5(0xd7))/0xa)+parseInt(_0x36cee5(0xc4))/0xb*(-parseInt(_0x36cee5(0xc6))/0xc);if(_0x5a8c91===_0x2d5c6d)break;else _0x39ce43['push'](_0x39ce43['shift']());}catch(_0x2e490e){_0x39ce43['push'](_0x39ce43['shift']());}}}(a79_0x5695,0x4fcc8));export function parseSSEChunk(_0x443c94){const _0x3eb082=a79_0x4da1,_0x9854e4=[],_0x3598fc=_0x443c94[_0x3eb082(0xba)]('\x0a\x0a'),_0x18d632=_0x3598fc[_0x3eb082(0xc9)]()||'';for(const _0xaf87a4 of _0x3598fc){if(!_0xaf87a4[_0x3eb082(0xb3)]())continue;const _0x3ed421={},_0x2a3650=_0xaf87a4[_0x3eb082(0xba)]('\x0a');for(const _0x1e0e7e of _0x2a3650){if(_0x1e0e7e[_0x3eb082(0xce)](_0x3eb082(0xc5)))_0x3ed421[_0x3eb082(0xb8)]=_0x1e0e7e[_0x3eb082(0xd6)](0x7);else _0x1e0e7e[_0x3eb082(0xce)](_0x3eb082(0xd9))&&(_0x3ed421[_0x3eb082(0xdb)]=_0x1e0e7e['slice'](0x6));}(_0x3ed421[_0x3eb082(0xb8)]||_0x3ed421[_0x3eb082(0xdb)])&&_0x9854e4['push'](_0x3ed421);}return{'events':_0x9854e4,'remaining':_0x18d632};}function a79_0x4da1(_0x8e341c,_0x3b2361){_0x8e341c=_0x8e341c-0xb3;const _0x5695e6=a79_0x5695();let _0x4da17e=_0x5695e6[_0x8e341c];return _0x4da17e;}export function extractMessageStartUsage(_0x4ab952){const _0x302bd7=a79_0x4da1;try{const _0x3d265c=JSON['parse'](_0x4ab952);if(_0x3d265c[_0x302bd7(0xbc)]==='message_start'&&_0x3d265c['message']?.[_0x302bd7(0xb5)]){const _0x261556=_0x3d265c['message'][_0x302bd7(0xb5)];return{'inputTokens':_0x261556[_0x302bd7(0xda)]||0x0,'outputTokens':_0x261556[_0x302bd7(0xcc)]||0x0,'cacheCreationInputTokens':_0x261556[_0x302bd7(0xc8)],'cacheReadInputTokens':_0x261556[_0x302bd7(0xd3)]};}}catch{}return null;}export function extractMessageDeltaUsage(_0x29bb6c){const _0x16cfcc=a79_0x4da1;try{const _0x9f24ba=JSON[_0x16cfcc(0xc2)](_0x29bb6c);if(_0x9f24ba[_0x16cfcc(0xbc)]===_0x16cfcc(0xbd)&&_0x9f24ba['usage']){const _0x321d86=_0x9f24ba[_0x16cfcc(0xb5)];return{'inputTokens':_0x321d86[_0x16cfcc(0xda)]||0x0,'outputTokens':_0x321d86[_0x16cfcc(0xcc)]||0x0,'cacheCreationInputTokens':_0x321d86[_0x16cfcc(0xc8)],'cacheReadInputTokens':_0x321d86['cache_read_input_tokens']};}}catch{}return null;}export function extractUsageFromEvent(_0x362f27){const _0x47abad=a79_0x4da1;if(!_0x362f27[_0x47abad(0xdb)])return null;if(_0x362f27[_0x47abad(0xb8)]===_0x47abad(0xbf))return extractMessageStartUsage(_0x362f27[_0x47abad(0xdb)]);if(_0x362f27[_0x47abad(0xb8)]===_0x47abad(0xbd))return extractMessageDeltaUsage(_0x362f27['data']);return null;}function a79_0x5695(){const _0x511238=['parse','6eprezd','1599158vXiuTR','event:\x20','36hkVGiH','cacheReadInputTokens','cache_creation_input_tokens','pop','buffer','outputTokens','output_tokens','reset','startsWith','inputTokens','192123oSPCQa','processChunk','205586YjaXpk','cache_read_input_tokens','4045146wSRKog','cacheCreationInputTokens','slice','70uHkMFu','136DZLpIa','data:\x20','input_tokens','data','5500EulcNh','trim','getUsage','usage','67301xTbXXt','194032FEJCMP','event','updateFromUsage','split','unknown','type','message_delta','6tKzXYh','message_start','onRawUsage','max'];a79_0x5695=function(){return _0x511238;};return a79_0x5695();}export class SSEUsageTracker{[a79_0x39abb5(0xcf)]=0x0;[a79_0x39abb5(0xcb)]=0x0;['cacheCreationInputTokens'];[a79_0x39abb5(0xc7)];[a79_0x39abb5(0xca)]='';[a79_0x39abb5(0xb9)](_0x4db8dd){const _0x17f83f=a79_0x39abb5;this[_0x17f83f(0xcf)]=Math[_0x17f83f(0xc1)](this[_0x17f83f(0xcf)],_0x4db8dd[_0x17f83f(0xcf)]),this[_0x17f83f(0xcb)]=Math[_0x17f83f(0xc1)](this[_0x17f83f(0xcb)],_0x4db8dd[_0x17f83f(0xcb)]),_0x4db8dd['cacheCreationInputTokens']!==undefined&&(this['cacheCreationInputTokens']=Math[_0x17f83f(0xc1)](this[_0x17f83f(0xd5)]??0x0,_0x4db8dd[_0x17f83f(0xd5)])),_0x4db8dd[_0x17f83f(0xc7)]!==undefined&&(this[_0x17f83f(0xc7)]=Math[_0x17f83f(0xc1)](this[_0x17f83f(0xc7)]??0x0,_0x4db8dd[_0x17f83f(0xc7)]));}[a79_0x39abb5(0xc0)];[a79_0x39abb5(0xd1)](_0x4e53c2){const _0x4c8418=a79_0x39abb5;this[_0x4c8418(0xca)]+=_0x4e53c2;const {events:_0x549df8,remaining:_0x5989ab}=parseSSEChunk(this['buffer']);this[_0x4c8418(0xca)]=_0x5989ab;for(const _0x4f4920 of _0x549df8){const _0x45cbe9=extractUsageFromEvent(_0x4f4920);_0x45cbe9&&(this[_0x4c8418(0xc0)]?.(_0x4f4920[_0x4c8418(0xb8)]||_0x4c8418(0xbb),_0x4f4920[_0x4c8418(0xdb)]||'',_0x45cbe9),this[_0x4c8418(0xb9)](_0x45cbe9));}return _0x4e53c2;}['flush'](){const _0x541a78=a79_0x39abb5;if(this[_0x541a78(0xca)][_0x541a78(0xb3)]()){const {events:_0x42efd4}=parseSSEChunk(this[_0x541a78(0xca)]+'\x0a\x0a');for(const _0x57adf8 of _0x42efd4){const _0x3eb40e=extractUsageFromEvent(_0x57adf8);_0x3eb40e&&this[_0x541a78(0xb9)](_0x3eb40e);}this[_0x541a78(0xca)]='';}}[a79_0x39abb5(0xb4)](){const _0x4c8b38=a79_0x39abb5;return{'inputTokens':this[_0x4c8b38(0xcf)],'outputTokens':this[_0x4c8b38(0xcb)],'cacheCreationInputTokens':this[_0x4c8b38(0xd5)],'cacheReadInputTokens':this[_0x4c8b38(0xc7)]};}[a79_0x39abb5(0xcd)](){const _0x5b90e2=a79_0x39abb5;this[_0x5b90e2(0xcf)]=0x0,this['outputTokens']=0x0,this[_0x5b90e2(0xd5)]=undefined,this[_0x5b90e2(0xc7)]=undefined,this['buffer']='';}}