@treasuredata/tdx 2026.4.12 → 2026.4.14

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 a70_0x51e2(_0x4edcbf,_0x2c0296){_0x4edcbf=_0x4edcbf-0xde;var _0x555345=a70_0x5553();var _0x51e29b=_0x555345[_0x4edcbf];return _0x51e29b;}(function(_0x4219f8,_0x293119){var _0x272833=a70_0x51e2,_0x3fdfed=_0x4219f8();while(!![]){try{var _0x1d0671=-parseInt(_0x272833(0xe2))/0x1+parseInt(_0x272833(0xe0))/0x2*(parseInt(_0x272833(0xe3))/0x3)+-parseInt(_0x272833(0xdf))/0x4*(parseInt(_0x272833(0xde))/0x5)+parseInt(_0x272833(0xe7))/0x6*(-parseInt(_0x272833(0xe8))/0x7)+parseInt(_0x272833(0xe6))/0x8*(-parseInt(_0x272833(0xe4))/0x9)+parseInt(_0x272833(0xe5))/0xa+parseInt(_0x272833(0xe1))/0xb;if(_0x1d0671===_0x293119)break;else _0x3fdfed['push'](_0x3fdfed['shift']());}catch(_0x5d8e1c){_0x3fdfed['push'](_0x3fdfed['shift']());}}}(a70_0x5553,0x57598));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_0x5553(){var _0x117441=['81571UnVSLI','5hwClSw','2398136cTSlDF','1121934HLuwKS','14786673OlJdxs','393684diJcPv','3EFbfAu','63ZJrDRh','1351840LtkNef','161944bCyvFl','282oABkYZ'];a70_0x5553=function(){return _0x117441;};return a70_0x5553();}export*from'./commands/activations.js';export*from'./commands/show.js';export*from'./commands/describe.js';export*from'./sdk/index.js';
1
+ (function(_0x1cd984,_0x30747b){var _0x5a6902=a70_0x373d,_0x38cc12=_0x1cd984();while(!![]){try{var _0x2cb3f8=parseInt(_0x5a6902(0x123))/0x1+-parseInt(_0x5a6902(0x126))/0x2*(parseInt(_0x5a6902(0x127))/0x3)+-parseInt(_0x5a6902(0x128))/0x4+-parseInt(_0x5a6902(0x124))/0x5*(parseInt(_0x5a6902(0x125))/0x6)+parseInt(_0x5a6902(0x129))/0x7*(parseInt(_0x5a6902(0x120))/0x8)+-parseInt(_0x5a6902(0x11f))/0x9+parseInt(_0x5a6902(0x121))/0xa*(parseInt(_0x5a6902(0x122))/0xb);if(_0x2cb3f8===_0x30747b)break;else _0x38cc12['push'](_0x38cc12['shift']());}catch(_0x8ec49a){_0x38cc12['push'](_0x38cc12['shift']());}}}(a70_0x3de9,0xb50e8));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';function a70_0x373d(_0x5c7e14,_0x1beebc){_0x5c7e14=_0x5c7e14-0x11f;var _0x3de962=a70_0x3de9();var _0x373d46=_0x3de962[_0x5c7e14];return _0x373d46;}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';export*from'./commands/activations.js';export*from'./commands/show.js';export*from'./commands/describe.js';export*from'./sdk/index.js';function a70_0x3de9(){var _0x1db599=['1467076aPVguy','5997131BLwMuU','10645038LzPWUQ','8ileEul','70CMkcnO','1479863yMnLDy','1363919TVpnbW','10YTVsEs','1431204EJgOAG','56JNSYXz','42231uKRAGz'];a70_0x3de9=function(){return _0x1db599;};return a70_0x3de9();}
@@ -1 +1 @@
1
- (function(_0x3e11b0,_0x1d4104){const _0x5a30e1=a71_0x3939,_0x33faad=_0x3e11b0();while(!![]){try{const _0x4029aa=parseInt(_0x5a30e1(0x10f))/0x1+-parseInt(_0x5a30e1(0x101))/0x2+-parseInt(_0x5a30e1(0x10a))/0x3+parseInt(_0x5a30e1(0x108))/0x4*(parseInt(_0x5a30e1(0xfa))/0x5)+-parseInt(_0x5a30e1(0xf8))/0x6+-parseInt(_0x5a30e1(0x11d))/0x7+-parseInt(_0x5a30e1(0x116))/0x8*(-parseInt(_0x5a30e1(0x107))/0x9);if(_0x4029aa===_0x1d4104)break;else _0x33faad['push'](_0x33faad['shift']());}catch(_0x4a7522){_0x33faad['push'](_0x33faad['shift']());}}}(a71_0x2958,0x7791b));import{McpServer}from'@modelcontextprotocol/sdk/server/mcp.js';import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';function a71_0x2958(){const _0x2c1e4f=['text','tdx_run','registerTool','env','387yvmKjo','341980dzsrMa','success','334038CVcaXU','slug','Optional\x20filter\x20by\x20category','1.0.0','\x0a\x0aExamples:\x0a','526036MWgLhN','string','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.','category','map','\x0a\x0a---\x0a\x0a','SIGINT','359312sNDcpy','shape','once','CDP','tdx_search','description','Context','6788096piBiMa','Utilities','connect','No\x20commands\x20found\x20matching\x20\x22','length','Command\x20and\x20arguments\x20as\x20array\x20(e.g.,\x20[\x22query\x22,\x20\x22SELECT\x20...\x22])','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.','path','array','3205104lLbBvV','tdx','35PMSZLl','**\x20(','Failed\x20to\x20create\x20item','close','Command\x20failed','SIGTERM','error','1901580FBcynU','join'];a71_0x2958=function(){return _0x2c1e4f;};return a71_0x2958();}import{z}from'zod';function a71_0x3939(_0x37c325,_0x5e1f0d){_0x37c325=_0x37c325-0xf0;const _0x2958e4=a71_0x2958();let _0x3939b3=_0x2958e4[_0x37c325];return _0x3939b3;}import{executeTdxRun,searchCommands,executeWorkCreateItem,WorkCreateItemInputSchema}from'./tools/index.js';export function createMCPServer(_0x2dc25b={}){const _0x4544b0=a71_0x3939,_0x15560e=new McpServer({'name':_0x4544b0(0xf9),'version':_0x4544b0(0x10d)});return _0x15560e[_0x4544b0(0x105)](_0x4544b0(0x104),{'description':_0x4544b0(0xf5),'inputSchema':{'args':z[_0x4544b0(0xf7)](z['string']())['describe'](_0x4544b0(0xf4))}},async({args:_0x3a7178})=>{const _0x232b0a=_0x4544b0,_0x418ade=await executeTdxRun({'args':_0x3a7178},_0x2dc25b[_0x232b0a(0x106)]||{});return _0x418ade['success']?{'content':[{'type':'text','text':_0x418ade['output']||'Command\x20completed\x20successfully'}]}:{'content':[{'type':_0x232b0a(0x103),'text':_0x418ade[_0x232b0a(0x100)]||_0x418ade['output']||_0x232b0a(0xfe)}],'isError':!![]};}),_0x15560e[_0x4544b0(0x105)](_0x4544b0(0x11a),{'description':_0x4544b0(0x111),'inputSchema':{'query':z[_0x4544b0(0x110)]()['describe']('Natural\x20language\x20query\x20(e.g.,\x20\x22list\x20databases\x22,\x20\x22run\x20SQL\x22,\x20\x22manage\x20segments\x22)'),'category':z['enum'](['Data',_0x4544b0(0x119),'AI',_0x4544b0(0x11c),_0x4544b0(0xf0)])['optional']()['describe'](_0x4544b0(0x10c))}},async({query:_0x5b7e51,category:_0x50041a})=>{const _0x1ea29a=_0x4544b0,_0x180e20=searchCommands({'query':_0x5b7e51,'category':_0x50041a});if(_0x180e20[_0x1ea29a(0xf3)]===0x0)return{'content':[{'type':_0x1ea29a(0x103),'text':_0x1ea29a(0xf2)+_0x5b7e51+'\x22'}]};const _0x53d7d8=_0x180e20[_0x1ea29a(0x113)](_0x1ad0c9=>{const _0x42522b=_0x1ea29a,_0x13bff6=_0x1ad0c9['examples'][_0x42522b(0x113)](_0x1503e1=>'\x20\x20'+_0x1503e1)[_0x42522b(0x102)]('\x0a');return'**'+_0x1ad0c9['name']+_0x42522b(0xfb)+_0x1ad0c9[_0x42522b(0x112)]+')\x0a'+_0x1ad0c9[_0x42522b(0x11b)]+_0x42522b(0x10e)+_0x13bff6;})[_0x1ea29a(0x102)](_0x1ea29a(0x114));return{'content':[{'type':_0x1ea29a(0x103),'text':_0x53d7d8}]};}),_0x15560e['registerTool']('work_create_item',{'description':'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.','inputSchema':WorkCreateItemInputSchema[_0x4544b0(0x117)]},async({title:_0x3a1ff0,kind:_0x46fd4d,status:_0x3dea49,tags:_0x5a3976,priority:_0x12d740,body:_0x32de57,template:_0x135e7a,github:_0x16a08c,jira:_0x1f6642})=>{const _0x4d8c50=_0x4544b0,_0x50f1cd=executeWorkCreateItem({'title':_0x3a1ff0,'kind':_0x46fd4d,'status':_0x3dea49,'tags':_0x5a3976,'priority':_0x12d740,'body':_0x32de57,'template':_0x135e7a,'github':_0x16a08c,'jira':_0x1f6642});return _0x50f1cd[_0x4d8c50(0x109)]?{'content':[{'type':_0x4d8c50(0x103),'text':JSON['stringify']({'path':_0x50f1cd[_0x4d8c50(0xf6)],'slug':_0x50f1cd[_0x4d8c50(0x10b)]})}]}:{'content':[{'type':_0x4d8c50(0x103),'text':_0x50f1cd[_0x4d8c50(0x100)]||_0x4d8c50(0xfc)}],'isError':!![]};}),_0x15560e;}export async function startMCPServer(_0x5b0f2f={}){const _0x33dabb=a71_0x3939,_0x426205=createMCPServer(_0x5b0f2f),_0x5ae6a8=new StdioServerTransport();return await _0x426205[_0x33dabb(0xf1)](_0x5ae6a8),new Promise(_0x69c706=>{const _0x168beb=_0x33dabb;let _0x4b622c=![];const _0xd16b08=async()=>{const _0x34ce54=a71_0x3939;if(_0x4b622c)return;_0x4b622c=!![],await _0x426205[_0x34ce54(0xfd)](),_0x69c706();};process[_0x168beb(0x118)](_0x168beb(0x115),_0xd16b08),process[_0x168beb(0x118)](_0x168beb(0xff),_0xd16b08),process['stdin']['once'](_0x168beb(0xfd),_0xd16b08);});}
1
+ (function(_0x45b090,_0x5862fb){const _0x4b3107=a71_0x5621,_0x51010f=_0x45b090();while(!![]){try{const _0x90333e=-parseInt(_0x4b3107(0xe8))/0x1*(parseInt(_0x4b3107(0xe2))/0x2)+-parseInt(_0x4b3107(0x108))/0x3*(-parseInt(_0x4b3107(0xfa))/0x4)+-parseInt(_0x4b3107(0x101))/0x5+-parseInt(_0x4b3107(0x10a))/0x6*(-parseInt(_0x4b3107(0x109))/0x7)+-parseInt(_0x4b3107(0xe6))/0x8+-parseInt(_0x4b3107(0x102))/0x9+parseInt(_0x4b3107(0xe7))/0xa*(parseInt(_0x4b3107(0xff))/0xb);if(_0x90333e===_0x5862fb)break;else _0x51010f['push'](_0x51010f['shift']());}catch(_0x323072){_0x51010f['push'](_0x51010f['shift']());}}}(a71_0x5f0c,0x910b2));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';function a71_0x5621(_0x8bd57a,_0x3f39ec){_0x8bd57a=_0x8bd57a-0xd9;const _0x5f0c1b=a71_0x5f0c();let _0x5621d5=_0x5f0c1b[_0x8bd57a];return _0x5621d5;}function a71_0x5f0c(){const _0x595af0=['2936800fZkHzA','323227QrHWUE','env','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.','\x0a\x0aExamples:\x0a','**\x20(','\x0a\x0a---\x0a\x0a','registerTool','success','examples','connect','description','array','1.0.0','join','Utilities','output','enum','tdx','108HyaMYT','shape','Natural\x20language\x20query\x20(e.g.,\x20\x22list\x20databases\x22,\x20\x22run\x20SQL\x22,\x20\x22manage\x20segments\x22)','text','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.','143VNgsAn','Optional\x20filter\x20by\x20category','4778865JQiqDE','10319886MZVrhu','stringify','length','SIGTERM','error','describe','44316TpfedD','28JTBFMI','41784aBGZZd','once','Data','CDP','string','map','work_create_item','path','close','tdx_run','6xztfJE','Command\x20failed','slug','tdx_search','4626672fHJvFZ'];a71_0x5f0c=function(){return _0x595af0;};return a71_0x5f0c();}export function createMCPServer(_0x1970a5={}){const _0x483c16=a71_0x5621,_0x2ab1e6=new McpServer({'name':_0x483c16(0xf9),'version':_0x483c16(0xf4)});return _0x2ab1e6['registerTool'](_0x483c16(0xe1),{'description':_0x483c16(0xea),'inputSchema':{'args':z[_0x483c16(0xf3)](z[_0x483c16(0xdc)]())['describe']('Command\x20and\x20arguments\x20as\x20array\x20(e.g.,\x20[\x22query\x22,\x20\x22SELECT\x20...\x22])')}},async({args:_0x2965ca})=>{const _0x1927cb=_0x483c16,_0x54537e=await executeTdxRun({'args':_0x2965ca},_0x1970a5[_0x1927cb(0xe9)]||{});return _0x54537e[_0x1927cb(0xef)]?{'content':[{'type':_0x1927cb(0xfd),'text':_0x54537e[_0x1927cb(0xf7)]||'Command\x20completed\x20successfully'}]}:{'content':[{'type':'text','text':_0x54537e[_0x1927cb(0x106)]||_0x54537e[_0x1927cb(0xf7)]||_0x1927cb(0xe3)}],'isError':!![]};}),_0x2ab1e6[_0x483c16(0xee)](_0x483c16(0xe5),{'description':'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.','inputSchema':{'query':z[_0x483c16(0xdc)]()[_0x483c16(0x107)](_0x483c16(0xfc)),'category':z[_0x483c16(0xf8)]([_0x483c16(0xda),_0x483c16(0xdb),'AI','Context',_0x483c16(0xf6)])['optional']()['describe'](_0x483c16(0x100))}},async({query:_0x734e56,category:_0x21b012})=>{const _0x19b590=_0x483c16,_0x49516f=searchCommands({'query':_0x734e56,'category':_0x21b012});if(_0x49516f[_0x19b590(0x104)]===0x0)return{'content':[{'type':_0x19b590(0xfd),'text':'No\x20commands\x20found\x20matching\x20\x22'+_0x734e56+'\x22'}]};const _0x18e7d1=_0x49516f[_0x19b590(0xdd)](_0x288f83=>{const _0x188dfb=_0x19b590,_0x3f89e9=_0x288f83[_0x188dfb(0xf0)]['map'](_0x9b8bd7=>'\x20\x20'+_0x9b8bd7)[_0x188dfb(0xf5)]('\x0a');return'**'+_0x288f83['name']+_0x188dfb(0xec)+_0x288f83['category']+')\x0a'+_0x288f83[_0x188dfb(0xf2)]+_0x188dfb(0xeb)+_0x3f89e9;})[_0x19b590(0xf5)](_0x19b590(0xed));return{'content':[{'type':_0x19b590(0xfd),'text':_0x18e7d1}]};}),_0x2ab1e6[_0x483c16(0xee)](_0x483c16(0xde),{'description':_0x483c16(0xfe),'inputSchema':WorkCreateItemInputSchema[_0x483c16(0xfb)]},async({title:_0xcbe448,kind:_0x1bcd11,status:_0x23fdbd,tags:_0x5010df,priority:_0x247431,body:_0x139694,template:_0x37f6b1,github:_0x2f3f49,jira:_0x12efbd})=>{const _0x492f2a=_0x483c16,_0x111904=executeWorkCreateItem({'title':_0xcbe448,'kind':_0x1bcd11,'status':_0x23fdbd,'tags':_0x5010df,'priority':_0x247431,'body':_0x139694,'template':_0x37f6b1,'github':_0x2f3f49,'jira':_0x12efbd});return _0x111904['success']?{'content':[{'type':_0x492f2a(0xfd),'text':JSON[_0x492f2a(0x103)]({'path':_0x111904[_0x492f2a(0xdf)],'slug':_0x111904[_0x492f2a(0xe4)]})}]}:{'content':[{'type':_0x492f2a(0xfd),'text':_0x111904[_0x492f2a(0x106)]||'Failed\x20to\x20create\x20item'}],'isError':!![]};}),_0x2ab1e6;}export async function startMCPServer(_0x5ae6cd={}){const _0x13bca2=a71_0x5621,_0x214fd8=createMCPServer(_0x5ae6cd),_0x4b4237=new StdioServerTransport();return await _0x214fd8[_0x13bca2(0xf1)](_0x4b4237),new Promise(_0x2fc818=>{const _0x1fb53c=_0x13bca2;let _0x105ba3=![];const _0x2ecfe0=async()=>{const _0x58bcda=a71_0x5621;if(_0x105ba3)return;_0x105ba3=!![],await _0x214fd8[_0x58bcda(0xe0)](),_0x2fc818();};process['once']('SIGINT',_0x2ecfe0),process[_0x1fb53c(0xd9)](_0x1fb53c(0x105),_0x2ecfe0),process['stdin'][_0x1fb53c(0xd9)]('close',_0x2ecfe0);});}
@@ -1 +1 @@
1
- (function(_0x55f69b,_0x54bc55){var _0x3978ab=a72_0x4dca,_0x1a813f=_0x55f69b();while(!![]){try{var _0x4bc1d5=-parseInt(_0x3978ab(0xfb))/0x1*(parseInt(_0x3978ab(0xf7))/0x2)+parseInt(_0x3978ab(0xf9))/0x3+parseInt(_0x3978ab(0xfc))/0x4*(-parseInt(_0x3978ab(0xf6))/0x5)+-parseInt(_0x3978ab(0xf8))/0x6+-parseInt(_0x3978ab(0xfa))/0x7*(parseInt(_0x3978ab(0xfe))/0x8)+parseInt(_0x3978ab(0xfd))/0x9+parseInt(_0x3978ab(0xf5))/0xa;if(_0x4bc1d5===_0x54bc55)break;else _0x1a813f['push'](_0x1a813f['shift']());}catch(_0xc52d30){_0x1a813f['push'](_0x1a813f['shift']());}}}(a72_0x6a6f,0x477f4));export{executeTdxRun,TdxRunInputSchema}from'./tdx-run.js';export{searchCommands,TdxSearchInputSchema}from'./tdx-search.js';function a72_0x6a6f(){var _0x2ed368=['1585791xvfDTP','23248EWsfiL','9281200nuvMJt','2539960oidpDt','103326etjDhR','972030pImLlx','1502289rXzBOr','427nwobUG','9eRGKHV','4IoJSFB'];a72_0x6a6f=function(){return _0x2ed368;};return a72_0x6a6f();}function a72_0x4dca(_0x318e49,_0x34bd72){_0x318e49=_0x318e49-0xf5;var _0x6a6fb3=a72_0x6a6f();var _0x4dca29=_0x6a6fb3[_0x318e49];return _0x4dca29;}export{executeWorkCreateItem,WorkCreateItemInputSchema}from'./work-create-item.js';
1
+ function a72_0x3f80(_0x5d1ab2,_0x1b97ad){_0x5d1ab2=_0x5d1ab2-0x142;var _0x22c08e=a72_0x22c0();var _0x3f800e=_0x22c08e[_0x5d1ab2];return _0x3f800e;}(function(_0x5677e3,_0x1f60f7){var _0x27fb9b=a72_0x3f80,_0x5e36be=_0x5677e3();while(!![]){try{var _0x46a7f7=-parseInt(_0x27fb9b(0x14c))/0x1+-parseInt(_0x27fb9b(0x14b))/0x2+-parseInt(_0x27fb9b(0x148))/0x3*(-parseInt(_0x27fb9b(0x149))/0x4)+-parseInt(_0x27fb9b(0x143))/0x5*(-parseInt(_0x27fb9b(0x142))/0x6)+-parseInt(_0x27fb9b(0x146))/0x7+-parseInt(_0x27fb9b(0x144))/0x8*(parseInt(_0x27fb9b(0x145))/0x9)+parseInt(_0x27fb9b(0x147))/0xa*(parseInt(_0x27fb9b(0x14a))/0xb);if(_0x46a7f7===_0x1f60f7)break;else _0x5e36be['push'](_0x5e36be['shift']());}catch(_0x49dddc){_0x5e36be['push'](_0x5e36be['shift']());}}}(a72_0x22c0,0x31235));function a72_0x22c0(){var _0xa31e23=['379705LirfKS','1962SUOZzV','3035VFhksn','8oTnIrX','1640601hgbcag','1315615RmkKlb','4690970mwuDUp','23748UecSyp','156dyLOWU','11zKoeLS','50204sjsDBO'];a72_0x22c0=function(){return _0xa31e23;};return a72_0x22c0();}export{executeTdxRun,TdxRunInputSchema}from'./tdx-run.js';export{searchCommands,TdxSearchInputSchema}from'./tdx-search.js';export{executeWorkCreateItem,WorkCreateItemInputSchema}from'./work-create-item.js';
@@ -1 +1 @@
1
- const a73_0x1b49df=a73_0x1b60;(function(_0x1015ea,_0x2c8f62){const _0x1d1fe9=a73_0x1b60,_0x213f3f=_0x1015ea();while(!![]){try{const _0x453f49=parseInt(_0x1d1fe9(0xf4))/0x1*(-parseInt(_0x1d1fe9(0xe6))/0x2)+-parseInt(_0x1d1fe9(0xe2))/0x3*(-parseInt(_0x1d1fe9(0xf9))/0x4)+parseInt(_0x1d1fe9(0xe0))/0x5*(parseInt(_0x1d1fe9(0xe4))/0x6)+-parseInt(_0x1d1fe9(0xfb))/0x7*(parseInt(_0x1d1fe9(0xed))/0x8)+parseInt(_0x1d1fe9(0xf2))/0x9*(parseInt(_0x1d1fe9(0xf6))/0xa)+parseInt(_0x1d1fe9(0xe7))/0xb*(-parseInt(_0x1d1fe9(0xfa))/0xc)+parseInt(_0x1d1fe9(0xe1))/0xd;if(_0x453f49===_0x2c8f62)break;else _0x213f3f['push'](_0x213f3f['shift']());}catch(_0x205247){_0x213f3f['push'](_0x213f3f['shift']());}}}(a73_0x2b25,0xe0266));import{spawn}from'child_process';import{dirname,join}from'path';function a73_0x2b25(){const _0x1be268=['execPath','ignore','platform','6395zhjzmn','19998589fxYiFw','309IhjdFw','pipe','6510oMTlmi','toString','2288378KeYdkE','11NMuCMy','win32','stdout','true','SIGTERM','--json','40OVkMRv','stderr','node.exe','close','node','396621xrCGaH','data','1OuNNVT','array','120tdRocD','describe','Failed\x20to\x20spawn\x20tdx:\x20','32052qMJidS','18561996Hmwaxb','939533sBamJW','This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','PATH','object'];a73_0x2b25=function(){return _0x1be268;};return a73_0x2b25();}import{existsSync}from'fs';import{z}from'zod';import{isBlockedCommand,getBlockedReason,formatOutput}from'../utils.js';export const TdxRunInputSchema=z[a73_0x1b49df(0xdc)]({'args':z[a73_0x1b49df(0xf5)](z['string']())[a73_0x1b49df(0xf7)]('Command\x20and\x20arguments\x20as\x20array\x20(e.g.,\x20[\x22query\x22,\x20\x22SELECT\x20...\x22])')});function a73_0x1b60(_0xa06505,_0x3f2a76){_0xa06505=_0xa06505-0xda;const _0x2b25a5=a73_0x2b25();let _0x1b6006=_0x2b25a5[_0xa06505];return _0x1b6006;}const DEFAULT_TIMEOUT_MS=0xf*0x3c*0x3e8;function getNodeBinDir(){const _0x2e8afa=a73_0x1b49df,_0x4b106e=process['resourcesPath'];if(_0x4b106e){const _0x27be5a=join(_0x4b106e,_0x2e8afa(0xf1)),_0x3f324a=process[_0x2e8afa(0xdf)]==='win32'?_0x2e8afa(0xef):_0x2e8afa(0xf1);if(existsSync(join(_0x27be5a,_0x3f324a)))return _0x27be5a;}return dirname(process[_0x2e8afa(0xdd)]);}export async function executeTdxRun(_0x541168,_0xedcaca){const _0x15276d=a73_0x1b49df,{args:_0x1e2a51}=_0x541168;if(isBlockedCommand(_0x1e2a51)){const _0x2fbfcf=getBlockedReason(_0x1e2a51);return{'success':![],'output':'','error':_0x2fbfcf||_0x15276d(0xda),'exitCode':0x1};}const _0x54d077=[_0x15276d(0xec),'--no-color',..._0x1e2a51],_0x444011=getNodeBinDir(),_0x5fcf83=process[_0x15276d(0xdf)]===_0x15276d(0xe8)?';':':',_0x3dc8bf=_0xedcaca[_0x15276d(0xdb)]??process.env.PATH??'',_0x298778=''+_0x444011+_0x5fcf83+_0x3dc8bf;return new Promise(_0x44bb58=>{const _0x142c42=_0x15276d,_0x3bae2c=spawn('tdx',_0x54d077,{'env':{...process.env,..._0xedcaca,'PATH':_0x298778,'CI':_0x142c42(0xea)},'stdio':[_0x142c42(0xde),'pipe',_0x142c42(0xe3)]});let _0x36ba2b='',_0x4d0d6a='',_0x10fc5c=![];const _0x36f310=setTimeout(()=>{const _0x2091fe=_0x142c42;_0x10fc5c=!![],_0x3bae2c['kill'](_0x2091fe(0xeb));},DEFAULT_TIMEOUT_MS);_0x3bae2c[_0x142c42(0xe9)]['on'](_0x142c42(0xf3),_0x42e494=>{const _0x463139=_0x142c42;_0x36ba2b+=_0x42e494[_0x463139(0xe5)]();}),_0x3bae2c[_0x142c42(0xee)]['on']('data',_0x3f452d=>{const _0x3d77c2=_0x142c42;_0x4d0d6a+=_0x3f452d[_0x3d77c2(0xe5)]();}),_0x3bae2c['on']('error',_0x39a928=>{const _0x2066b7=_0x142c42;clearTimeout(_0x36f310),_0x44bb58({'success':![],'output':'','error':_0x2066b7(0xf8)+_0x39a928['message'],'exitCode':0x1});}),_0x3bae2c['on'](_0x142c42(0xf0),_0x543321=>{clearTimeout(_0x36f310);if(_0x10fc5c){_0x44bb58({'success':![],'output':formatOutput(_0x36ba2b),'error':'Command\x20timed\x20out\x20after\x2015\x20minutes.\x20For\x20long-running\x20queries,\x20use\x20job\x20submit\x20instead.','exitCode':0x7c});return;}const _0x1a17e7=_0x543321??0x1,_0x5ce853=_0x1a17e7===0x0,_0x154651=formatOutput(_0x36ba2b||_0x4d0d6a),_0x3edd40=!_0x5ce853&&_0x4d0d6a?formatOutput(_0x4d0d6a):undefined;_0x44bb58({'success':_0x5ce853,'output':_0x154651,'error':_0x3edd40,'exitCode':_0x1a17e7});});});}
1
+ const a73_0x3f47ef=a73_0x5413;function a73_0x5413(_0x1ca5a8,_0x3b4f3f){_0x1ca5a8=_0x1ca5a8-0x128;const _0x2abde4=a73_0x2abd();let _0x541382=_0x2abde4[_0x1ca5a8];return _0x541382;}(function(_0xa7036b,_0x38814f){const _0x2d86fb=a73_0x5413,_0x552c5c=_0xa7036b();while(!![]){try{const _0x38b146=-parseInt(_0x2d86fb(0x145))/0x1+-parseInt(_0x2d86fb(0x138))/0x2+parseInt(_0x2d86fb(0x137))/0x3*(parseInt(_0x2d86fb(0x133))/0x4)+-parseInt(_0x2d86fb(0x130))/0x5*(parseInt(_0x2d86fb(0x12b))/0x6)+parseInt(_0x2d86fb(0x13c))/0x7*(-parseInt(_0x2d86fb(0x131))/0x8)+-parseInt(_0x2d86fb(0x132))/0x9*(parseInt(_0x2d86fb(0x14a))/0xa)+parseInt(_0x2d86fb(0x12d))/0xb;if(_0x38b146===_0x38814f)break;else _0x552c5c['push'](_0x552c5c['shift']());}catch(_0xf53866){_0x552c5c['push'](_0x552c5c['shift']());}}}(a73_0x2abd,0x70b70));function a73_0x2abd(){const _0x10fd5f=['630702OIBYYw','node.exe','Command\x20and\x20arguments\x20as\x20array\x20(e.g.,\x20[\x22query\x22,\x20\x22SELECT\x20...\x22])','close','data','4478450BsbknE','object','--json','--no-color','7866IVWQQP','PATH','14633663NccUeR','message','SIGTERM','440UXDGIN','1888fLVqjg','9iCfHXm','2402500Jtlyxm','error','stdout','describe','3mYzmqT','202862Bswynr','string','tdx','resourcesPath','5159dVcWrk','platform','node','win32','true','kill','array','toString','pipe'];a73_0x2abd=function(){return _0x10fd5f;};return a73_0x2abd();}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_0x3f47ef(0x128)]({'args':z[a73_0x3f47ef(0x142)](z[a73_0x3f47ef(0x139)]())[a73_0x3f47ef(0x136)](a73_0x3f47ef(0x147))});const DEFAULT_TIMEOUT_MS=0xf*0x3c*0x3e8;function getNodeBinDir(){const _0x119272=a73_0x3f47ef,_0x3f587a=process[_0x119272(0x13b)];if(_0x3f587a){const _0xc9ae41=join(_0x3f587a,_0x119272(0x13e)),_0x4a08c2=process[_0x119272(0x13d)]===_0x119272(0x13f)?_0x119272(0x146):'node';if(existsSync(join(_0xc9ae41,_0x4a08c2)))return _0xc9ae41;}return dirname(process['execPath']);}export async function executeTdxRun(_0x27788d,_0x18e60c){const _0x4fd1be=a73_0x3f47ef,{args:_0xb687ea}=_0x27788d;if(isBlockedCommand(_0xb687ea)){const _0xd1d265=getBlockedReason(_0xb687ea);return{'success':![],'output':'','error':_0xd1d265||'This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','exitCode':0x1};}const _0x53b6a8=[_0x4fd1be(0x129),_0x4fd1be(0x12a),..._0xb687ea],_0x3b1d6b=getNodeBinDir(),_0x5e48ca=process[_0x4fd1be(0x13d)]===_0x4fd1be(0x13f)?';':':',_0x413b5e=_0x18e60c[_0x4fd1be(0x12c)]??process.env.PATH??'',_0x4f26e9=''+_0x3b1d6b+_0x5e48ca+_0x413b5e;return new Promise(_0xe3829b=>{const _0xe02866=_0x4fd1be,_0x4b7ae5=spawn(_0xe02866(0x13a),_0x53b6a8,{'env':{...process.env,..._0x18e60c,'PATH':_0x4f26e9,'CI':_0xe02866(0x140)},'stdio':['ignore',_0xe02866(0x144),_0xe02866(0x144)]});let _0x5eecdc='',_0x48750f='',_0x46aff6=![];const _0x3cb3ac=setTimeout(()=>{const _0x6181b4=_0xe02866;_0x46aff6=!![],_0x4b7ae5[_0x6181b4(0x141)](_0x6181b4(0x12f));},DEFAULT_TIMEOUT_MS);_0x4b7ae5[_0xe02866(0x135)]['on']('data',_0x49581b=>{const _0xff7540=_0xe02866;_0x5eecdc+=_0x49581b[_0xff7540(0x143)]();}),_0x4b7ae5['stderr']['on'](_0xe02866(0x149),_0xcf6554=>{_0x48750f+=_0xcf6554['toString']();}),_0x4b7ae5['on'](_0xe02866(0x134),_0x183d37=>{const _0x557340=_0xe02866;clearTimeout(_0x3cb3ac),_0xe3829b({'success':![],'output':'','error':'Failed\x20to\x20spawn\x20tdx:\x20'+_0x183d37[_0x557340(0x12e)],'exitCode':0x1});}),_0x4b7ae5['on'](_0xe02866(0x148),_0x3b14f2=>{clearTimeout(_0x3cb3ac);if(_0x46aff6){_0xe3829b({'success':![],'output':formatOutput(_0x5eecdc),'error':'Command\x20timed\x20out\x20after\x2015\x20minutes.\x20For\x20long-running\x20queries,\x20use\x20job\x20submit\x20instead.','exitCode':0x7c});return;}const _0x5589ed=_0x3b14f2??0x1,_0x3d7eaa=_0x5589ed===0x0,_0x2c00b8=formatOutput(_0x5eecdc||_0x48750f),_0x3d0b22=!_0x3d7eaa&&_0x48750f?formatOutput(_0x48750f):undefined;_0xe3829b({'success':_0x3d7eaa,'output':_0x2c00b8,'error':_0x3d0b22,'exitCode':_0x5589ed});});});}
@@ -1 +1 @@
1
- const a74_0x40ca86=a74_0x5e9a;function a74_0x5e9a(_0x563e0e,_0x46f153){_0x563e0e=_0x563e0e-0x97;const _0x278da3=a74_0x278d();let _0x5e9a29=_0x278da3[_0x563e0e];return _0x5e9a29;}(function(_0x31451c,_0x24d916){const _0x324a23=a74_0x5e9a,_0x296f95=_0x31451c();while(!![]){try{const _0xc82b50=parseInt(_0x324a23(0xc5))/0x1+-parseInt(_0x324a23(0xc1))/0x2*(parseInt(_0x324a23(0xd5))/0x3)+parseInt(_0x324a23(0x18c))/0x4+-parseInt(_0x324a23(0xd1))/0x5*(parseInt(_0x324a23(0xcd))/0x6)+parseInt(_0x324a23(0x9a))/0x7*(parseInt(_0x324a23(0x142))/0x8)+parseInt(_0x324a23(0x100))/0x9+-parseInt(_0x324a23(0xf1))/0xa;if(_0xc82b50===_0x24d916)break;else _0x296f95['push'](_0x296f95['shift']());}catch(_0x3096d7){_0x296f95['push'](_0x296f95['shift']());}}}(a74_0x278d,0x91992));import{z}from'zod';const COMMANDS=[{'name':'database\x20list','description':a74_0x40ca86(0x17c),'category':a74_0x40ca86(0x145),'keywords':[a74_0x40ca86(0xf3),a74_0x40ca86(0x127),'db',a74_0x40ca86(0x15e),a74_0x40ca86(0x121),'all'],'examples':[a74_0x40ca86(0xc2),'tdx\x20databases',a74_0x40ca86(0x10f)]},{'name':a74_0x40ca86(0x188),'description':a74_0x40ca86(0xa4),'category':a74_0x40ca86(0x145),'keywords':['table',a74_0x40ca86(0x147),a74_0x40ca86(0x15e),'show',a74_0x40ca86(0xd7)],'examples':[a74_0x40ca86(0x138),a74_0x40ca86(0xba),a74_0x40ca86(0xfc)]},{'name':a74_0x40ca86(0x121),'description':'Show\x20table\x20contents\x20(SELECT\x20*\x20with\x20limit)','category':a74_0x40ca86(0x145),'keywords':[a74_0x40ca86(0x121),a74_0x40ca86(0xd3),a74_0x40ca86(0xbb),a74_0x40ca86(0xd8),a74_0x40ca86(0x161),'rows',a74_0x40ca86(0x18f)],'examples':[a74_0x40ca86(0xe4),a74_0x40ca86(0x111)]},{'name':a74_0x40ca86(0xf7),'description':a74_0x40ca86(0x171),'category':a74_0x40ca86(0x145),'keywords':[a74_0x40ca86(0xf7),a74_0x40ca86(0xd7),a74_0x40ca86(0xdd),a74_0x40ca86(0x129),'structure',a74_0x40ca86(0x112)],'examples':[a74_0x40ca86(0x16a),a74_0x40ca86(0xf2)]},{'name':a74_0x40ca86(0x10d),'description':a74_0x40ca86(0xaa),'category':a74_0x40ca86(0x145),'keywords':[a74_0x40ca86(0x10d),a74_0x40ca86(0x110),a74_0x40ca86(0xe0),a74_0x40ca86(0x149),'execute',a74_0x40ca86(0xe2),'presto'],'examples':[a74_0x40ca86(0xe6),a74_0x40ca86(0xe7)]},{'name':a74_0x40ca86(0xe3),'description':a74_0x40ca86(0xf0),'category':a74_0x40ca86(0x145),'keywords':[a74_0x40ca86(0x118),a74_0x40ca86(0x146),'list',a74_0x40ca86(0xec),a74_0x40ca86(0x116)],'examples':[a74_0x40ca86(0x11f),'tdx\x20jobs',a74_0x40ca86(0xda)]},{'name':a74_0x40ca86(0x17e),'description':a74_0x40ca86(0x148),'category':'Data','keywords':['job',a74_0x40ca86(0x121),a74_0x40ca86(0x12f),'status',a74_0x40ca86(0xe8)],'examples':[a74_0x40ca86(0x125)]},{'name':a74_0x40ca86(0x98),'description':a74_0x40ca86(0x18e),'category':a74_0x40ca86(0x145),'keywords':[a74_0x40ca86(0x118),a74_0x40ca86(0x16c),a74_0x40ca86(0xc9),a74_0x40ca86(0x187)],'examples':[a74_0x40ca86(0xea)]},{'name':'job\x20kill','description':a74_0x40ca86(0x128),'category':'Data','keywords':['job',a74_0x40ca86(0xad),'cancel','stop',a74_0x40ca86(0xeb)],'examples':['tdx\x20job\x20kill\x2012345']},{'name':a74_0x40ca86(0x14f),'description':'List\x20workflow\x20projects','category':'Data','keywords':[a74_0x40ca86(0x170),a74_0x40ca86(0x14a),a74_0x40ca86(0x9c),'list'],'examples':[a74_0x40ca86(0x9b),a74_0x40ca86(0x132)]},{'name':a74_0x40ca86(0xcf),'description':'List\x20workflow\x20sessions','category':a74_0x40ca86(0x145),'keywords':[a74_0x40ca86(0x170),a74_0x40ca86(0x154),'runs',a74_0x40ca86(0x17f)],'examples':[a74_0x40ca86(0x14d),a74_0x40ca86(0xfa)]},{'name':'workflow\x20logs','description':a74_0x40ca86(0x109),'category':a74_0x40ca86(0x145),'keywords':[a74_0x40ca86(0x170),a74_0x40ca86(0x18b),a74_0x40ca86(0xc9),'debug'],'examples':[a74_0x40ca86(0xa9)]},{'name':a74_0x40ca86(0x141),'description':'Run\x20a\x20workflow','category':a74_0x40ca86(0x145),'keywords':[a74_0x40ca86(0x170),a74_0x40ca86(0xe2),a74_0x40ca86(0x139),'start','trigger'],'examples':['tdx\x20workflow\x20run\x20myproject/myworkflow']},{'name':a74_0x40ca86(0xc4),'description':'List\x20audience\x20segments','category':a74_0x40ca86(0xd2),'keywords':['segment',a74_0x40ca86(0x103),a74_0x40ca86(0xcb),'list',a74_0x40ca86(0xb7)],'examples':[a74_0x40ca86(0xa1),a74_0x40ca86(0x164),a74_0x40ca86(0xe5)]},{'name':a74_0x40ca86(0x186),'description':a74_0x40ca86(0x182),'category':a74_0x40ca86(0xd2),'keywords':[a74_0x40ca86(0xde),a74_0x40ca86(0x121),a74_0x40ca86(0x12f),a74_0x40ca86(0xe8),'view'],'examples':[a74_0x40ca86(0x134)]},{'name':a74_0x40ca86(0x11a),'description':a74_0x40ca86(0xed),'category':a74_0x40ca86(0xd2),'keywords':[a74_0x40ca86(0xde),a74_0x40ca86(0x110),a74_0x40ca86(0x10d),'generate'],'examples':[a74_0x40ca86(0x15d)]},{'name':a74_0x40ca86(0x17b),'description':a74_0x40ca86(0xe1),'category':a74_0x40ca86(0xd2),'keywords':[a74_0x40ca86(0xde),a74_0x40ca86(0xbd),'download','export',a74_0x40ca86(0xc7)],'examples':[a74_0x40ca86(0x105)]},{'name':a74_0x40ca86(0x176),'description':'Push\x20segment\x20definition\x20from\x20YAML','category':a74_0x40ca86(0xd2),'keywords':[a74_0x40ca86(0xde),a74_0x40ca86(0xee),'upload','import',a74_0x40ca86(0x143),a74_0x40ca86(0x124)],'examples':[a74_0x40ca86(0x11c),'tdx\x20sg\x20push\x20segment.yaml\x20--dry-run']},{'name':a74_0x40ca86(0x178),'description':a74_0x40ca86(0x13f),'category':a74_0x40ca86(0xd2),'keywords':[a74_0x40ca86(0xde),a74_0x40ca86(0x16d),a74_0x40ca86(0x13c),a74_0x40ca86(0xdd),a74_0x40ca86(0xd7)],'examples':['tdx\x20segment\x20fields','tdx\x20sg\x20fields']},{'name':'parent-segment\x20list','description':a74_0x40ca86(0xab),'category':'CDP','keywords':[a74_0x40ca86(0x184),a74_0x40ca86(0xde),a74_0x40ca86(0xdf),'list','customer'],'examples':[a74_0x40ca86(0xa5),a74_0x40ca86(0x14e)]},{'name':'parent-segment\x20pull','description':a74_0x40ca86(0x168),'category':a74_0x40ca86(0xd2),'keywords':[a74_0x40ca86(0x184),a74_0x40ca86(0xde),a74_0x40ca86(0xbd),a74_0x40ca86(0x187),'export'],'examples':[a74_0x40ca86(0x152),a74_0x40ca86(0xce)]},{'name':a74_0x40ca86(0xb6),'description':a74_0x40ca86(0xbe),'category':a74_0x40ca86(0xd2),'keywords':[a74_0x40ca86(0x184),a74_0x40ca86(0xde),a74_0x40ca86(0xee),a74_0x40ca86(0x18a),a74_0x40ca86(0x143)],'examples':[a74_0x40ca86(0xd6),a74_0x40ca86(0xb1)]},{'name':'parent-segment\x20validate','description':a74_0x40ca86(0x136),'category':a74_0x40ca86(0xd2),'keywords':[a74_0x40ca86(0x184),'segment','validate',a74_0x40ca86(0xa0),a74_0x40ca86(0x10e)],'examples':['tdx\x20parent-segment\x20validate\x20parent.yaml','tdx\x20ps\x20validate']},{'name':'parent-segment\x20preview','description':'Preview\x20parent\x20segment\x20data','category':a74_0x40ca86(0xd2),'keywords':[a74_0x40ca86(0x184),'segment','preview',a74_0x40ca86(0x162),a74_0x40ca86(0xd8)],'examples':[a74_0x40ca86(0x122),'tdx\x20ps\x20preview\x20--limit\x2010']},{'name':a74_0x40ca86(0x113),'description':a74_0x40ca86(0xc3),'category':a74_0x40ca86(0xd2),'keywords':[a74_0x40ca86(0x16e),'journeys','list',a74_0x40ca86(0x130)],'examples':[a74_0x40ca86(0x13b),a74_0x40ca86(0x107)]},{'name':a74_0x40ca86(0x9d),'description':a74_0x40ca86(0xf5),'category':a74_0x40ca86(0xd2),'keywords':[a74_0x40ca86(0x16e),a74_0x40ca86(0xd3),a74_0x40ca86(0x121),a74_0x40ca86(0x12f)],'examples':[a74_0x40ca86(0x185)]},{'name':a74_0x40ca86(0x97),'description':a74_0x40ca86(0x101),'category':'CDP','keywords':[a74_0x40ca86(0x16e),'pull',a74_0x40ca86(0x187),a74_0x40ca86(0xca)],'examples':[a74_0x40ca86(0x12c)]},{'name':a74_0x40ca86(0xd4),'description':'Push\x20journey\x20definition\x20from\x20YAML','category':a74_0x40ca86(0xd2),'keywords':['journey','push',a74_0x40ca86(0x18a),'create'],'examples':[a74_0x40ca86(0x159)]},{'name':a74_0x40ca86(0xff),'description':a74_0x40ca86(0x119),'category':'CDP','keywords':[a74_0x40ca86(0x11b),'activations',a74_0x40ca86(0xca),a74_0x40ca86(0x11d),a74_0x40ca86(0x12a)],'examples':[a74_0x40ca86(0xc0),a74_0x40ca86(0x114)]},{'name':'connection\x20list','description':a74_0x40ca86(0xc6),'category':a74_0x40ca86(0xd2),'keywords':[a74_0x40ca86(0x12d),'connections',a74_0x40ca86(0x12a),a74_0x40ca86(0x15e)],'examples':[a74_0x40ca86(0x181)]},{'name':'connection\x20schema','description':a74_0x40ca86(0xef),'category':'CDP','keywords':['connection',a74_0x40ca86(0xd7),a74_0x40ca86(0x163),a74_0x40ca86(0x9f)],'examples':[a74_0x40ca86(0x175),a74_0x40ca86(0xd0)]},{'name':'agent\x20list','description':a74_0x40ca86(0x10b),'category':'AI','keywords':[a74_0x40ca86(0x177),a74_0x40ca86(0x9e),a74_0x40ca86(0x15c),'ai',a74_0x40ca86(0x15e)],'examples':[a74_0x40ca86(0x179),a74_0x40ca86(0x123)]},{'name':a74_0x40ca86(0x174),'description':a74_0x40ca86(0x155),'category':'AI','keywords':['agent',a74_0x40ca86(0x121),'details',a74_0x40ca86(0xe8)],'examples':[a74_0x40ca86(0x99)]},{'name':a74_0x40ca86(0x158),'description':a74_0x40ca86(0x157),'category':'AI','keywords':[a74_0x40ca86(0x177),a74_0x40ca86(0xbd),a74_0x40ca86(0x187),a74_0x40ca86(0xca)],'examples':[a74_0x40ca86(0xbc)]},{'name':'agent\x20push','description':'Push\x20agent\x20definition\x20from\x20YAML','category':'AI','keywords':['agent',a74_0x40ca86(0xee),a74_0x40ca86(0x18a),a74_0x40ca86(0x143),'deploy'],'examples':[a74_0x40ca86(0x18d)]},{'name':'chat','description':a74_0x40ca86(0x15f),'category':'AI','keywords':[a74_0x40ca86(0xe9),a74_0x40ca86(0x15c),'ai',a74_0x40ca86(0x137),a74_0x40ca86(0xb3),a74_0x40ca86(0xc8)],'examples':[a74_0x40ca86(0xdb),'tdx\x20chat\x20--agent\x20myproject/myagent\x20\x22What\x20is\x20TD?\x22']},{'name':'chats','description':a74_0x40ca86(0xae),'category':'AI','keywords':[a74_0x40ca86(0xe9),a74_0x40ca86(0x11e),'sessions',a74_0x40ca86(0xec),a74_0x40ca86(0x166)],'examples':[a74_0x40ca86(0x15a),a74_0x40ca86(0x165)]},{'name':a74_0x40ca86(0x16f),'description':a74_0x40ca86(0xb0),'category':'AI','keywords':[a74_0x40ca86(0x15c),a74_0x40ca86(0x108),'ai',a74_0x40ca86(0x15e)],'examples':[a74_0x40ca86(0x172)]},{'name':'llm\x20projects','description':'List\x20LLM\x20projects','category':'AI','keywords':['llm',a74_0x40ca86(0x14a),'ai',a74_0x40ca86(0x15e)],'examples':[a74_0x40ca86(0xbf)]},{'name':a74_0x40ca86(0xf6),'description':a74_0x40ca86(0x135),'category':a74_0x40ca86(0x131),'keywords':[a74_0x40ca86(0xf6),a74_0x40ca86(0x15b),a74_0x40ca86(0x102),'switch',a74_0x40ca86(0xe0)],'examples':[a74_0x40ca86(0x106),a74_0x40ca86(0x167),a74_0x40ca86(0x144)]},{'name':a74_0x40ca86(0x183),'description':'Clear\x20session\x20context','category':a74_0x40ca86(0x131),'keywords':[a74_0x40ca86(0x183),a74_0x40ca86(0x160),a74_0x40ca86(0xaf),a74_0x40ca86(0x102)],'examples':['tdx\x20unset\x20--database','tdx\x20unset\x20--all']},{'name':a74_0x40ca86(0x17d),'description':a74_0x40ca86(0xa3),'category':'Context','keywords':[a74_0x40ca86(0x13e),'profiles','list','config'],'examples':[a74_0x40ca86(0x151),a74_0x40ca86(0xa7)]},{'name':a74_0x40ca86(0xdc),'description':'Show\x20profile\x20details','category':a74_0x40ca86(0x131),'keywords':['profile',a74_0x40ca86(0x121),a74_0x40ca86(0x12f),'config'],'examples':[a74_0x40ca86(0xfe)]},{'name':'auth','description':a74_0x40ca86(0xb2),'category':a74_0x40ca86(0x131),'keywords':['auth',a74_0x40ca86(0x169),'status',a74_0x40ca86(0x10a)],'examples':[a74_0x40ca86(0x16b),a74_0x40ca86(0xf9)]},{'name':a74_0x40ca86(0xf4),'description':a74_0x40ca86(0x117),'category':a74_0x40ca86(0x131),'keywords':[a74_0x40ca86(0xf4),'me',a74_0x40ca86(0xa2),'account'],'examples':[a74_0x40ca86(0x133)]},{'name':a74_0x40ca86(0x189),'description':'List\x20users\x20in\x20account','category':a74_0x40ca86(0x131),'keywords':[a74_0x40ca86(0x189),'list',a74_0x40ca86(0xa8),a74_0x40ca86(0xac)],'examples':[a74_0x40ca86(0x17a),a74_0x40ca86(0xb8)]},{'name':a74_0x40ca86(0x140),'description':a74_0x40ca86(0x13a),'category':a74_0x40ca86(0x14c),'keywords':[a74_0x40ca86(0x140),a74_0x40ca86(0x10c),a74_0x40ca86(0x104),a74_0x40ca86(0x153),a74_0x40ca86(0xb9)],'examples':[a74_0x40ca86(0xfb),a74_0x40ca86(0x12e),a74_0x40ca86(0xfd)]}];function a74_0x278d(){const _0x4b9b37=['14EQTqVQ','tdx\x20workflow\x20projects','digdag','journey\x20view','agents','settings','check','tdx\x20segment\x20list','whoami','List\x20configured\x20profiles','List\x20tables\x20in\x20a\x20database','tdx\x20parent-segment\x20list','name','tdx\x20profiles','team','tdx\x20workflow\x20logs\x20<attempt_id>','Execute\x20SQL\x20query\x20using\x20Trino','List\x20parent\x20segments\x20(customer\x20masters)','members','kill','List\x20chat\x20sessions','reset','List\x20available\x20LLM\x20models','tdx\x20ps\x20push\x20--dry-run','Show\x20authentication\x20status','ask','enum','examples','parent-segment\x20push','cdp','tdx\x20user\x20list','curl','tdx\x20tables\x20mydb.*','preview','tdx\x20agent\x20pull\x20myproject/myagent\x20-o\x20agent.yaml','pull','Push\x20parent\x20segment\x20definition\x20from\x20YAML','tdx\x20llm\x20projects','tdx\x20activations','2914qQnLAj','tdx\x20database\x20list','List\x20customer\x20journeys','segment\x20list','326863oMnRzD','List\x20data\x20connections','yaml','message','output','export','audience','Optional\x20filter\x20by\x20category','5412hbAuES','tdx\x20ps\x20pull','workflow\x20sessions','tdx\x20connection\x20schema\x20google_ads','3395YJnNOh','CDP','view','journey\x20push','2091tNAGue','tdx\x20parent-segment\x20push\x20parent.yaml','schema','data','slice','tdx\x20jobs\x20--limit\x2020','tdx\x20chat\x20\x22Hello\x22','profile\x20show','columns','segment','master','select','Pull\x20segment\x20definition\x20to\x20YAML','run','job\x20list','tdx\x20show\x20mydb.users','tdx\x20segments\x20--recursive','tdx\x20query\x20\x22SELECT\x20*\x20FROM\x20mydb.users\x20LIMIT\x2010\x22','tdx\x20query\x20\x22SELECT\x20count(*)\x20FROM\x20mydb.events\x22','info','chat','tdx\x20job\x20result\x2012345','abort','history','Generate\x20SQL\x20for\x20a\x20segment','push','Show\x20connection\x20schema\x20for\x20activations','List\x20query\x20jobs','5150550qBHsGp','tdx\x20describe\x20mydb.events','database','user','View\x20journey\x20details','use','describe','split','tdx\x20auth\x20--profile\x20myprofile','tdx\x20wf\x20sessions\x20--limit\x2010','tdx\x20api\x20/v3/database/list','tdx\x20tables\x20--database\x20mydb','tdx\x20api\x20-X\x20POST\x20--data\x20\x27{\x22query\x22:\x22SELECT\x201\x22}\x27\x20/v3/job/issue/hive/mydb','tdx\x20profile\x20show\x20myprofile','activations','7952868TQGQIQ','Pull\x20journey\x20definition\x20to\x20YAML','context','segments','raw','tdx\x20segment\x20pull\x20\x22My\x20Segment\x22\x20-o\x20segment.yaml','tdx\x20use\x20mydb','tdx\x20journeys','models','View\x20workflow\x20logs','login','List\x20LLM\x20agents','http','query','verify','tdx\x20databases\x20mydb*','sql','tdx\x20show\x20mydb.users\x20--limit\x20100','definition','journey\x20list','tdx\x20activations\x20--segment\x20\x22My\x20Segment\x22','Natural\x20language\x20query\x20(e.g.,\x20\x22list\x20databases\x22,\x20\x22run\x20SQL\x22,\x20\x22manage\x20segments\x22)','queries','Show\x20current\x20user\x20info','job','List\x20segment\x20activations\x20(exports)','segment\x20sql','activation','tdx\x20segment\x20push\x20segment.yaml','sync','chats','tdx\x20job\x20list','toLowerCase','show','tdx\x20parent-segment\x20preview','tdx\x20agents','update','tdx\x20job\x20show\x2012345','string','databases','Kill\x20a\x20running\x20job','types','destination','category','tdx\x20journey\x20pull\x20\x22My\x20Journey\x22\x20-o\x20journey.yaml','connection','tdx\x20api\x20/v1/audiences\x20--type\x20cdp','details','orchestration','Context','tdx\x20wf\x20projects','tdx\x20user','tdx\x20segment\x20show\x20\x22My\x20Segment\x22','Set\x20session\x20context\x20(database,\x20parent\x20segment,\x20etc.)','Validate\x20parent\x20segment\x20configuration','conversation','tdx\x20table\x20list','execute','Make\x20raw\x20HTTP\x20requests\x20to\x20TD\x20APIs','tdx\x20journey\x20list','attributes','length','profile','List\x20available\x20segment\x20fields','api','workflow\x20run','1681256qvfnzU','create','tdx\x20use\x20--parent-segment\x20\x22My\x20PS\x22','Data','jobs','tables','Show\x20job\x20details','trino','projects','filter','Utilities','tdx\x20workflow\x20sessions\x20myproject','tdx\x20ps\x20list','workflow\x20projects','optional','tdx\x20profile\x20list','tdx\x20parent-segment\x20pull\x20\x22My\x20Parent\x22\x20-o\x20parent.yaml','request','sessions','Show\x20agent\x20details','includes','Pull\x20agent\x20definition\x20to\x20YAML','agent\x20pull','tdx\x20journey\x20push\x20journey.yaml','tdx\x20chats','set','llm','tdx\x20segment\x20sql\x20\x22My\x20Segment\x22','list','Chat\x20with\x20an\x20LLM\x20agent','clear','contents','sample','config','tdx\x20segments','tdx\x20chats\x20--limit\x2010','conversations','tdx\x20use\x20--database\x20mydb','Pull\x20parent\x20segment\x20definition\x20to\x20YAML','authentication','tdx\x20describe\x20mydb.users','tdx\x20auth','result','fields','journey','llm\x20models','workflow','Describe\x20table\x20schema\x20(columns,\x20types)','tdx\x20llm\x20models','score','agent\x20show','tdx\x20connection\x20schema\x20salesforce','segment\x20push','agent','segment\x20fields','tdx\x20agent\x20list','tdx\x20users','segment\x20pull','List\x20all\x20databases','profile\x20list','job\x20show','executions','description','tdx\x20connection\x20list','Show\x20segment\x20details','unset','parent','tdx\x20journey\x20view\x20\x22My\x20Journey\x22','segment\x20show','download','table\x20list','users','upload','logs','4434332NDQDKg','tdx\x20agent\x20push\x20agent.yaml','Get\x20job\x20results','records','journey\x20pull','job\x20result','tdx\x20agent\x20show\x20myproject/myagent'];a74_0x278d=function(){return _0x4b9b37;};return a74_0x278d();}export const TdxSearchInputSchema=z['object']({'query':z[a74_0x40ca86(0x126)]()['describe'](a74_0x40ca86(0x115)),'category':z[a74_0x40ca86(0xb4)]([a74_0x40ca86(0x145),a74_0x40ca86(0xd2),'AI',a74_0x40ca86(0x131),a74_0x40ca86(0x14c)])[a74_0x40ca86(0x150)]()['describe'](a74_0x40ca86(0xcc))});export function searchCommands(_0x2a71ac){const _0x1cb920=a74_0x40ca86,{query:_0x4df367,category:_0x54285b}=_0x2a71ac,_0x3277dd=_0x4df367[_0x1cb920(0x120)](),_0x44986d=_0x3277dd[_0x1cb920(0xf8)](/\s+/)[_0x1cb920(0x14b)](_0xc7dc50=>_0xc7dc50[_0x1cb920(0x13d)]>0x0);let _0x31a2c0=COMMANDS;_0x54285b&&(_0x31a2c0=_0x31a2c0[_0x1cb920(0x14b)](_0x481341=>_0x481341['category']===_0x54285b));const _0x3527ae=_0x31a2c0['map'](_0x493a0f=>{const _0x4bcf1f=_0x1cb920;let _0x5d5922=0x0;_0x493a0f['name'][_0x4bcf1f(0x120)]()===_0x3277dd&&(_0x5d5922+=0x64);_0x493a0f[_0x4bcf1f(0xa6)]['toLowerCase']()['includes'](_0x3277dd)&&(_0x5d5922+=0x32);_0x493a0f[_0x4bcf1f(0x180)][_0x4bcf1f(0x120)]()[_0x4bcf1f(0x156)](_0x3277dd)&&(_0x5d5922+=0x1e);for(const _0x1241bd of _0x44986d){for(const _0x267d84 of _0x493a0f['keywords']){if(_0x267d84===_0x1241bd)_0x5d5922+=0x14;else(_0x267d84[_0x4bcf1f(0x156)](_0x1241bd)||_0x1241bd[_0x4bcf1f(0x156)](_0x267d84))&&(_0x5d5922+=0xa);}_0x493a0f['name'][_0x4bcf1f(0x120)]()[_0x4bcf1f(0x156)](_0x1241bd)&&(_0x5d5922+=0xf),_0x493a0f[_0x4bcf1f(0x180)][_0x4bcf1f(0x120)]()[_0x4bcf1f(0x156)](_0x1241bd)&&(_0x5d5922+=0x5);}return{'name':_0x493a0f[_0x4bcf1f(0xa6)],'description':_0x493a0f[_0x4bcf1f(0x180)],'category':_0x493a0f[_0x4bcf1f(0x12b)],'examples':_0x493a0f[_0x4bcf1f(0xb5)],'score':_0x5d5922};});return _0x3527ae[_0x1cb920(0x14b)](_0x18e5e8=>_0x18e5e8[_0x1cb920(0x173)]>0x0)['sort']((_0x2b9bda,_0xfe7971)=>_0xfe7971[_0x1cb920(0x173)]-_0x2b9bda[_0x1cb920(0x173)])[_0x1cb920(0xd9)](0x0,0xa);}
1
+ const a74_0x150e17=a74_0x55dd;(function(_0x41407a,_0x371d4b){const _0x2cb1be=a74_0x55dd,_0x324fd3=_0x41407a();while(!![]){try{const _0x391b2c=-parseInt(_0x2cb1be(0x137))/0x1+-parseInt(_0x2cb1be(0x1b0))/0x2+-parseInt(_0x2cb1be(0x19f))/0x3+-parseInt(_0x2cb1be(0x1e2))/0x4+parseInt(_0x2cb1be(0x1fa))/0x5+-parseInt(_0x2cb1be(0x1f2))/0x6+parseInt(_0x2cb1be(0x127))/0x7;if(_0x391b2c===_0x371d4b)break;else _0x324fd3['push'](_0x324fd3['shift']());}catch(_0x316577){_0x324fd3['push'](_0x324fd3['shift']());}}}(a74_0x1eba,0xd2da8));import{z}from'zod';const COMMANDS=[{'name':'database\x20list','description':a74_0x150e17(0x12f),'category':a74_0x150e17(0x135),'keywords':[a74_0x150e17(0x141),a74_0x150e17(0x161),'db',a74_0x150e17(0x16b),a74_0x150e17(0x14c),a74_0x150e17(0x154)],'examples':[a74_0x150e17(0x1c0),a74_0x150e17(0x12d),a74_0x150e17(0x14d)]},{'name':a74_0x150e17(0x16d),'description':a74_0x150e17(0x1cf),'category':'Data','keywords':['table',a74_0x150e17(0x194),a74_0x150e17(0x16b),'show',a74_0x150e17(0x199)],'examples':[a74_0x150e17(0x187),a74_0x150e17(0x1c1),a74_0x150e17(0x20e)]},{'name':a74_0x150e17(0x14c),'description':a74_0x150e17(0x1f5),'category':a74_0x150e17(0x135),'keywords':[a74_0x150e17(0x14c),'view',a74_0x150e17(0x1a4),a74_0x150e17(0x1ad),a74_0x150e17(0x123),a74_0x150e17(0x202),a74_0x150e17(0x177)],'examples':['tdx\x20show\x20mydb.users','tdx\x20show\x20mydb.users\x20--limit\x20100']},{'name':a74_0x150e17(0x13f),'description':'Describe\x20table\x20schema\x20(columns,\x20types)','category':a74_0x150e17(0x135),'keywords':[a74_0x150e17(0x13f),a74_0x150e17(0x199),a74_0x150e17(0x1bb),a74_0x150e17(0x1c8),a74_0x150e17(0x182),a74_0x150e17(0x19c)],'examples':[a74_0x150e17(0x173),'tdx\x20describe\x20mydb.events']},{'name':a74_0x150e17(0x19d),'description':'Execute\x20SQL\x20query\x20using\x20Trino','category':a74_0x150e17(0x135),'keywords':['query',a74_0x150e17(0x139),'select',a74_0x150e17(0x11e),a74_0x150e17(0x15f),a74_0x150e17(0x1a3),'presto'],'examples':['tdx\x20query\x20\x22SELECT\x20*\x20FROM\x20mydb.users\x20LIMIT\x2010\x22','tdx\x20query\x20\x22SELECT\x20count(*)\x20FROM\x20mydb.events\x22']},{'name':a74_0x150e17(0x157),'description':'List\x20query\x20jobs','category':'Data','keywords':[a74_0x150e17(0x175),a74_0x150e17(0x1ed),a74_0x150e17(0x16b),a74_0x150e17(0x172),a74_0x150e17(0x16a)],'examples':[a74_0x150e17(0x1be),'tdx\x20jobs',a74_0x150e17(0x1a1)]},{'name':a74_0x150e17(0x1e6),'description':a74_0x150e17(0x1cc),'category':'Data','keywords':[a74_0x150e17(0x175),a74_0x150e17(0x14c),a74_0x150e17(0x208),a74_0x150e17(0x174),a74_0x150e17(0x1a2)],'examples':[a74_0x150e17(0x1d0)]},{'name':'job\x20result','description':'Get\x20job\x20results','category':'Data','keywords':[a74_0x150e17(0x175),a74_0x150e17(0x149),a74_0x150e17(0x186),'download'],'examples':[a74_0x150e17(0x1ca)]},{'name':'job\x20kill','description':'Kill\x20a\x20running\x20job','category':a74_0x150e17(0x135),'keywords':[a74_0x150e17(0x175),a74_0x150e17(0x126),a74_0x150e17(0x1da),a74_0x150e17(0x1e5),a74_0x150e17(0x179)],'examples':[a74_0x150e17(0x1d3)]},{'name':a74_0x150e17(0x121),'description':a74_0x150e17(0x1d7),'category':a74_0x150e17(0x135),'keywords':[a74_0x150e17(0x1f3),a74_0x150e17(0x13c),a74_0x150e17(0x1b3),a74_0x150e17(0x16b)],'examples':[a74_0x150e17(0x1c5),a74_0x150e17(0x1ac)]},{'name':'workflow\x20sessions','description':'List\x20workflow\x20sessions','category':'Data','keywords':[a74_0x150e17(0x1f3),a74_0x150e17(0x1ec),a74_0x150e17(0x206),a74_0x150e17(0x1b8)],'examples':[a74_0x150e17(0x129),a74_0x150e17(0x12b)]},{'name':a74_0x150e17(0x155),'description':a74_0x150e17(0x16e),'category':a74_0x150e17(0x135),'keywords':[a74_0x150e17(0x1f3),'logs',a74_0x150e17(0x186),a74_0x150e17(0x144)],'examples':[a74_0x150e17(0x128)]},{'name':a74_0x150e17(0x1ef),'description':a74_0x150e17(0x13a),'category':a74_0x150e17(0x135),'keywords':[a74_0x150e17(0x1f3),a74_0x150e17(0x1a3),a74_0x150e17(0x15f),a74_0x150e17(0x12a),a74_0x150e17(0x146)],'examples':[a74_0x150e17(0x13d)]},{'name':'segment\x20list','description':a74_0x150e17(0x151),'category':'CDP','keywords':[a74_0x150e17(0x196),a74_0x150e17(0x11a),a74_0x150e17(0x133),a74_0x150e17(0x16b),'cdp'],'examples':[a74_0x150e17(0x1ab),'tdx\x20segments',a74_0x150e17(0x14f)]},{'name':a74_0x150e17(0x1c4),'description':'Show\x20segment\x20details','category':a74_0x150e17(0x1ae),'keywords':['segment',a74_0x150e17(0x14c),a74_0x150e17(0x208),'info',a74_0x150e17(0x1d2)],'examples':[a74_0x150e17(0x1dc)]},{'name':a74_0x150e17(0x14e),'description':a74_0x150e17(0x1db),'category':a74_0x150e17(0x1ae),'keywords':['segment','sql',a74_0x150e17(0x19d),a74_0x150e17(0x14a)],'examples':[a74_0x150e17(0x169)]},{'name':a74_0x150e17(0x200),'description':a74_0x150e17(0x1d1),'category':'CDP','keywords':[a74_0x150e17(0x196),a74_0x150e17(0x1f4),'download',a74_0x150e17(0x1a6),a74_0x150e17(0x1df)],'examples':[a74_0x150e17(0x204)]},{'name':a74_0x150e17(0x153),'description':a74_0x150e17(0x1b5),'category':a74_0x150e17(0x1ae),'keywords':['segment',a74_0x150e17(0x1e9),'upload',a74_0x150e17(0x1d6),a74_0x150e17(0x1d5),a74_0x150e17(0x1c6)],'examples':[a74_0x150e17(0x1bc),a74_0x150e17(0x18b)]},{'name':a74_0x150e17(0x15c),'description':a74_0x150e17(0x1a8),'category':a74_0x150e17(0x1ae),'keywords':[a74_0x150e17(0x196),a74_0x150e17(0x148),a74_0x150e17(0x1a9),a74_0x150e17(0x1bb),a74_0x150e17(0x199)],'examples':[a74_0x150e17(0x1b9),'tdx\x20sg\x20fields']},{'name':a74_0x150e17(0x159),'description':a74_0x150e17(0x1fb),'category':a74_0x150e17(0x1ae),'keywords':[a74_0x150e17(0x116),a74_0x150e17(0x196),a74_0x150e17(0x180),a74_0x150e17(0x16b),'customer'],'examples':[a74_0x150e17(0x1ee),a74_0x150e17(0x1c3)]},{'name':a74_0x150e17(0x189),'description':a74_0x150e17(0x185),'category':a74_0x150e17(0x1ae),'keywords':[a74_0x150e17(0x116),a74_0x150e17(0x196),a74_0x150e17(0x1f4),'download',a74_0x150e17(0x1a6)],'examples':['tdx\x20parent-segment\x20pull\x20\x22My\x20Parent\x22\x20-o\x20parent.yaml','tdx\x20ps\x20pull']},{'name':'parent-segment\x20push','description':a74_0x150e17(0x119),'category':a74_0x150e17(0x1ae),'keywords':[a74_0x150e17(0x116),a74_0x150e17(0x196),a74_0x150e17(0x1e9),a74_0x150e17(0x1c7),a74_0x150e17(0x1d5)],'examples':['tdx\x20parent-segment\x20push\x20parent.yaml',a74_0x150e17(0x1f7)]},{'name':'parent-segment\x20validate','description':a74_0x150e17(0x197),'category':a74_0x150e17(0x1ae),'keywords':[a74_0x150e17(0x116),a74_0x150e17(0x196),a74_0x150e17(0x18d),a74_0x150e17(0x19b),'verify'],'examples':[a74_0x150e17(0x142),a74_0x150e17(0x15b)]},{'name':a74_0x150e17(0x188),'description':'Preview\x20parent\x20segment\x20data','category':a74_0x150e17(0x1ae),'keywords':[a74_0x150e17(0x116),a74_0x150e17(0x196),a74_0x150e17(0x1a4),'sample',a74_0x150e17(0x1ad)],'examples':[a74_0x150e17(0x1dd),a74_0x150e17(0x166)]},{'name':a74_0x150e17(0x156),'description':a74_0x150e17(0x203),'category':a74_0x150e17(0x1ae),'keywords':[a74_0x150e17(0x122),'journeys',a74_0x150e17(0x16b),a74_0x150e17(0x1b4)],'examples':['tdx\x20journey\x20list',a74_0x150e17(0x18a)]},{'name':a74_0x150e17(0x181),'description':a74_0x150e17(0x1cd),'category':a74_0x150e17(0x1ae),'keywords':[a74_0x150e17(0x122),a74_0x150e17(0x1d2),'show',a74_0x150e17(0x208)],'examples':[a74_0x150e17(0x1f0)]},{'name':a74_0x150e17(0x1bd),'description':'Pull\x20journey\x20definition\x20to\x20YAML','category':a74_0x150e17(0x1ae),'keywords':[a74_0x150e17(0x122),a74_0x150e17(0x1f4),a74_0x150e17(0x1ce),a74_0x150e17(0x1a6)],'examples':[a74_0x150e17(0x13b)]},{'name':a74_0x150e17(0x20d),'description':a74_0x150e17(0x1eb),'category':a74_0x150e17(0x1ae),'keywords':[a74_0x150e17(0x122),a74_0x150e17(0x1e9),a74_0x150e17(0x1c7),a74_0x150e17(0x1d5)],'examples':[a74_0x150e17(0x131)]},{'name':a74_0x150e17(0x11d),'description':a74_0x150e17(0x125),'category':a74_0x150e17(0x1ae),'keywords':[a74_0x150e17(0x165),a74_0x150e17(0x11d),a74_0x150e17(0x1a6),'sync',a74_0x150e17(0x20a)],'examples':['tdx\x20activations',a74_0x150e17(0x20b)]},{'name':a74_0x150e17(0x1e1),'description':a74_0x150e17(0x184),'category':a74_0x150e17(0x1ae),'keywords':[a74_0x150e17(0x158),a74_0x150e17(0x1fc),a74_0x150e17(0x20a),a74_0x150e17(0x16b)],'examples':[a74_0x150e17(0x18e)]},{'name':a74_0x150e17(0x17a),'description':a74_0x150e17(0x201),'category':a74_0x150e17(0x1ae),'keywords':[a74_0x150e17(0x158),a74_0x150e17(0x199),'config',a74_0x150e17(0x18f)],'examples':['tdx\x20connection\x20schema\x20salesforce',a74_0x150e17(0x1a0)]},{'name':a74_0x150e17(0x209),'description':'List\x20LLM\x20agents','category':'AI','keywords':[a74_0x150e17(0x20c),a74_0x150e17(0x1a7),a74_0x150e17(0x198),'ai',a74_0x150e17(0x16b)],'examples':[a74_0x150e17(0x207),'tdx\x20agents']},{'name':a74_0x150e17(0x1a5),'description':a74_0x150e17(0x11b),'category':'AI','keywords':[a74_0x150e17(0x20c),a74_0x150e17(0x14c),'details',a74_0x150e17(0x1a2)],'examples':[a74_0x150e17(0x162)]},{'name':a74_0x150e17(0x12c),'description':a74_0x150e17(0x167),'category':'AI','keywords':[a74_0x150e17(0x20c),a74_0x150e17(0x1f4),a74_0x150e17(0x1ce),a74_0x150e17(0x1a6)],'examples':[a74_0x150e17(0x1af)]},{'name':a74_0x150e17(0x1f6),'description':'Push\x20agent\x20definition\x20from\x20YAML','category':'AI','keywords':[a74_0x150e17(0x20c),'push',a74_0x150e17(0x1c7),a74_0x150e17(0x1d5),a74_0x150e17(0x1b1)],'examples':['tdx\x20agent\x20push\x20agent.yaml']},{'name':a74_0x150e17(0x152),'description':'Chat\x20with\x20an\x20LLM\x20agent','category':'AI','keywords':[a74_0x150e17(0x152),a74_0x150e17(0x198),'ai',a74_0x150e17(0x170),'ask',a74_0x150e17(0x11c)],'examples':['tdx\x20chat\x20\x22Hello\x22',a74_0x150e17(0x17e)]},{'name':a74_0x150e17(0x1f9),'description':a74_0x150e17(0x136),'category':'AI','keywords':[a74_0x150e17(0x152),a74_0x150e17(0x1f9),a74_0x150e17(0x1ec),a74_0x150e17(0x172),a74_0x150e17(0x1bf)],'examples':[a74_0x150e17(0x145),a74_0x150e17(0x147)]},{'name':'llm\x20models','description':'List\x20available\x20LLM\x20models','category':'AI','keywords':[a74_0x150e17(0x198),'models','ai',a74_0x150e17(0x16b)],'examples':[a74_0x150e17(0x168)]},{'name':a74_0x150e17(0x17f),'description':a74_0x150e17(0x171),'category':'AI','keywords':[a74_0x150e17(0x198),a74_0x150e17(0x13c),'ai',a74_0x150e17(0x16b)],'examples':[a74_0x150e17(0x1d9)]},{'name':'use','description':'Set\x20session\x20context\x20(database,\x20parent\x20segment,\x20etc.)','category':a74_0x150e17(0x163),'keywords':[a74_0x150e17(0x150),'set','context','switch',a74_0x150e17(0x143)],'examples':['tdx\x20use\x20mydb',a74_0x150e17(0x1de),a74_0x150e17(0x120)]},{'name':a74_0x150e17(0x14b),'description':a74_0x150e17(0x195),'category':a74_0x150e17(0x163),'keywords':[a74_0x150e17(0x14b),a74_0x150e17(0x1e3),a74_0x150e17(0x190),a74_0x150e17(0x1ba)],'examples':[a74_0x150e17(0x1d4),a74_0x150e17(0x192)]},{'name':a74_0x150e17(0x191),'description':a74_0x150e17(0x1d8),'category':a74_0x150e17(0x163),'keywords':[a74_0x150e17(0x130),a74_0x150e17(0x16f),'list',a74_0x150e17(0x140)],'examples':[a74_0x150e17(0x117),'tdx\x20profiles']},{'name':a74_0x150e17(0x1e7),'description':a74_0x150e17(0x19a),'category':a74_0x150e17(0x163),'keywords':[a74_0x150e17(0x130),a74_0x150e17(0x14c),a74_0x150e17(0x208),a74_0x150e17(0x140)],'examples':['tdx\x20profile\x20show\x20myprofile']},{'name':a74_0x150e17(0x11f),'description':a74_0x150e17(0x1aa),'category':a74_0x150e17(0x163),'keywords':['auth',a74_0x150e17(0x183),a74_0x150e17(0x174),a74_0x150e17(0x1fe)],'examples':['tdx\x20auth',a74_0x150e17(0x15a)]},{'name':a74_0x150e17(0x164),'description':a74_0x150e17(0x1ea),'category':a74_0x150e17(0x163),'keywords':[a74_0x150e17(0x164),'me',a74_0x150e17(0x1e0),'account'],'examples':['tdx\x20user']},{'name':a74_0x150e17(0x1b7),'description':a74_0x150e17(0x1fd),'category':a74_0x150e17(0x163),'keywords':[a74_0x150e17(0x1b7),a74_0x150e17(0x16b),a74_0x150e17(0x1ff),a74_0x150e17(0x1f8)],'examples':[a74_0x150e17(0x17c),a74_0x150e17(0x118)]},{'name':a74_0x150e17(0x134),'description':a74_0x150e17(0x17d),'category':'Utilities','keywords':[a74_0x150e17(0x134),a74_0x150e17(0x1e8),a74_0x150e17(0x1b2),a74_0x150e17(0x1c9),a74_0x150e17(0x15e)],'examples':[a74_0x150e17(0x193),a74_0x150e17(0x176),a74_0x150e17(0x12e)]}];function a74_0x1eba(){const _0x1e67fc=['workflow\x20run','tdx\x20journey\x20view\x20\x22My\x20Journey\x22','category','5041776bjWrtT','workflow','pull','Show\x20table\x20contents\x20(SELECT\x20*\x20with\x20limit)','agent\x20push','tdx\x20ps\x20push\x20--dry-run','members','chats','7910030NVfQZe','List\x20parent\x20segments\x20(customer\x20masters)','connections','List\x20users\x20in\x20account','login','team','segment\x20pull','Show\x20connection\x20schema\x20for\x20activations','rows','List\x20customer\x20journeys','tdx\x20segment\x20pull\x20\x22My\x20Segment\x22\x20-o\x20segment.yaml','length','runs','tdx\x20agent\x20list','details','agent\x20list','destination','tdx\x20activations\x20--segment\x20\x22My\x20Segment\x22','agent','journey\x20push','tdx\x20tables\x20--database\x20mydb','parent','tdx\x20profile\x20list','tdx\x20user\x20list','Push\x20parent\x20segment\x20definition\x20from\x20YAML','segments','Show\x20agent\x20details','message','activations','trino','auth','tdx\x20use\x20--parent-segment\x20\x22My\x20PS\x22','workflow\x20projects','journey','contents','keywords','List\x20segment\x20activations\x20(exports)','kill','13707295sgfgUS','tdx\x20workflow\x20logs\x20<attempt_id>','tdx\x20workflow\x20sessions\x20myproject','start','tdx\x20wf\x20sessions\x20--limit\x2010','agent\x20pull','tdx\x20databases','tdx\x20api\x20-X\x20POST\x20--data\x20\x27{\x22query\x22:\x22SELECT\x201\x22}\x27\x20/v3/job/issue/hive/mydb','List\x20all\x20databases','profile','tdx\x20journey\x20push\x20journey.yaml','slice','audience','api','Data','List\x20chat\x20sessions','520505wcfPqE','Natural\x20language\x20query\x20(e.g.,\x20\x22list\x20databases\x22,\x20\x22run\x20SQL\x22,\x20\x22manage\x20segments\x22)','sql','Run\x20a\x20workflow','tdx\x20journey\x20pull\x20\x22My\x20Journey\x22\x20-o\x20journey.yaml','projects','tdx\x20workflow\x20run\x20myproject/myworkflow','sort','describe','config','database','tdx\x20parent-segment\x20validate\x20parent.yaml','select','debug','tdx\x20chats','trigger','tdx\x20chats\x20--limit\x2010','fields','result','generate','unset','show','tdx\x20databases\x20mydb*','segment\x20sql','tdx\x20segments\x20--recursive','use','List\x20audience\x20segments','chat','segment\x20push','all','workflow\x20logs','journey\x20list','job\x20list','connection','parent-segment\x20list','tdx\x20auth\x20--profile\x20myprofile','tdx\x20ps\x20validate','segment\x20fields','filter','curl','execute','toLowerCase','databases','tdx\x20agent\x20show\x20myproject/myagent','Context','user','activation','tdx\x20ps\x20preview\x20--limit\x2010','Pull\x20agent\x20definition\x20to\x20YAML','tdx\x20llm\x20models','tdx\x20segment\x20sql\x20\x22My\x20Segment\x22','queries','list','name','table\x20list','View\x20workflow\x20logs','profiles','conversation','List\x20LLM\x20projects','history','tdx\x20describe\x20mydb.users','status','job','tdx\x20api\x20/v1/audiences\x20--type\x20cdp','records','includes','abort','connection\x20schema','optional','tdx\x20users','Make\x20raw\x20HTTP\x20requests\x20to\x20TD\x20APIs','tdx\x20chat\x20--agent\x20myproject/myagent\x20\x22What\x20is\x20TD?\x22','llm\x20projects','master','journey\x20view','structure','authentication','List\x20data\x20connections','Pull\x20parent\x20segment\x20definition\x20to\x20YAML','output','tdx\x20table\x20list','parent-segment\x20preview','parent-segment\x20pull','tdx\x20journeys','tdx\x20sg\x20push\x20segment.yaml\x20--dry-run','description','validate','tdx\x20connection\x20list','settings','reset','profile\x20list','tdx\x20unset\x20--all','tdx\x20api\x20/v3/database/list','tables','Clear\x20session\x20context','segment','Validate\x20parent\x20segment\x20configuration','llm','schema','Show\x20profile\x20details','check','definition','query','string','874029Lityyf','tdx\x20connection\x20schema\x20google_ads','tdx\x20jobs\x20--limit\x2020','info','run','preview','agent\x20show','export','agents','List\x20available\x20segment\x20fields','attributes','Show\x20authentication\x20status','tdx\x20segment\x20list','tdx\x20wf\x20projects','data','CDP','tdx\x20agent\x20pull\x20myproject/myagent\x20-o\x20agent.yaml','1664926TlUduE','deploy','raw','digdag','orchestration','Push\x20segment\x20definition\x20from\x20YAML','split','users','executions','tdx\x20segment\x20fields','context','columns','tdx\x20segment\x20push\x20segment.yaml','journey\x20pull','tdx\x20job\x20list','conversations','tdx\x20database\x20list','tdx\x20tables\x20mydb.*','score','tdx\x20ps\x20list','segment\x20show','tdx\x20workflow\x20projects','update','upload','types','request','tdx\x20job\x20result\x2012345','Optional\x20filter\x20by\x20category','Show\x20job\x20details','View\x20journey\x20details','download','List\x20tables\x20in\x20a\x20database','tdx\x20job\x20show\x2012345','Pull\x20segment\x20definition\x20to\x20YAML','view','tdx\x20job\x20kill\x2012345','tdx\x20unset\x20--database','create','import','List\x20workflow\x20projects','List\x20configured\x20profiles','tdx\x20llm\x20projects','cancel','Generate\x20SQL\x20for\x20a\x20segment','tdx\x20segment\x20show\x20\x22My\x20Segment\x22','tdx\x20parent-segment\x20preview','tdx\x20use\x20--database\x20mydb','yaml','whoami','connection\x20list','767712SVsOKf','clear','enum','stop','job\x20show','profile\x20show','http','push','Show\x20current\x20user\x20info','Push\x20journey\x20definition\x20from\x20YAML','sessions','jobs','tdx\x20parent-segment\x20list'];a74_0x1eba=function(){return _0x1e67fc;};return a74_0x1eba();}function a74_0x55dd(_0x5e8227,_0x53d372){_0x5e8227=_0x5e8227-0x116;const _0x1eba8d=a74_0x1eba();let _0x55dd6b=_0x1eba8d[_0x5e8227];return _0x55dd6b;}export const TdxSearchInputSchema=z['object']({'query':z[a74_0x150e17(0x19e)]()[a74_0x150e17(0x13f)](a74_0x150e17(0x138)),'category':z[a74_0x150e17(0x1e4)]([a74_0x150e17(0x135),a74_0x150e17(0x1ae),'AI',a74_0x150e17(0x163),'Utilities'])[a74_0x150e17(0x17b)]()[a74_0x150e17(0x13f)](a74_0x150e17(0x1cb))});export function searchCommands(_0x2e8032){const _0x1e36f5=a74_0x150e17,{query:_0x1f2bf9,category:_0x1c1b3d}=_0x2e8032,_0x2a93b5=_0x1f2bf9[_0x1e36f5(0x160)](),_0x2790da=_0x2a93b5[_0x1e36f5(0x1b6)](/\s+/)['filter'](_0x3cdea6=>_0x3cdea6[_0x1e36f5(0x205)]>0x0);let _0x2904b4=COMMANDS;_0x1c1b3d&&(_0x2904b4=_0x2904b4[_0x1e36f5(0x15d)](_0x5e94e0=>_0x5e94e0[_0x1e36f5(0x1f1)]===_0x1c1b3d));const _0x211c42=_0x2904b4['map'](_0x3ccafe=>{const _0x2bf6c3=_0x1e36f5;let _0x4c0a55=0x0;_0x3ccafe[_0x2bf6c3(0x16c)]['toLowerCase']()===_0x2a93b5&&(_0x4c0a55+=0x64);_0x3ccafe[_0x2bf6c3(0x16c)]['toLowerCase']()[_0x2bf6c3(0x178)](_0x2a93b5)&&(_0x4c0a55+=0x32);_0x3ccafe[_0x2bf6c3(0x18c)]['toLowerCase']()['includes'](_0x2a93b5)&&(_0x4c0a55+=0x1e);for(const _0x30747f of _0x2790da){for(const _0x2bca5d of _0x3ccafe[_0x2bf6c3(0x124)]){if(_0x2bca5d===_0x30747f)_0x4c0a55+=0x14;else(_0x2bca5d[_0x2bf6c3(0x178)](_0x30747f)||_0x30747f[_0x2bf6c3(0x178)](_0x2bca5d))&&(_0x4c0a55+=0xa);}_0x3ccafe[_0x2bf6c3(0x16c)]['toLowerCase']()['includes'](_0x30747f)&&(_0x4c0a55+=0xf),_0x3ccafe[_0x2bf6c3(0x18c)][_0x2bf6c3(0x160)]()['includes'](_0x30747f)&&(_0x4c0a55+=0x5);}return{'name':_0x3ccafe[_0x2bf6c3(0x16c)],'description':_0x3ccafe[_0x2bf6c3(0x18c)],'category':_0x3ccafe[_0x2bf6c3(0x1f1)],'examples':_0x3ccafe['examples'],'score':_0x4c0a55};});return _0x211c42['filter'](_0x771098=>_0x771098['score']>0x0)[_0x1e36f5(0x13e)]((_0x389495,_0xff5e51)=>_0xff5e51[_0x1e36f5(0x1c2)]-_0x389495[_0x1e36f5(0x1c2)])[_0x1e36f5(0x132)](0x0,0xa);}
@@ -1 +1 @@
1
- const a75_0x2386b9=a75_0x5b46;(function(_0x2c993e,_0x33d9b4){const _0x53eb9b=a75_0x5b46,_0x1429df=_0x2c993e();while(!![]){try{const _0x5d2538=-parseInt(_0x53eb9b(0x1d6))/0x1*(-parseInt(_0x53eb9b(0x1fb))/0x2)+parseInt(_0x53eb9b(0x1ec))/0x3*(parseInt(_0x53eb9b(0x1dc))/0x4)+parseInt(_0x53eb9b(0x1d8))/0x5*(-parseInt(_0x53eb9b(0x1f0))/0x6)+-parseInt(_0x53eb9b(0x1f5))/0x7+parseInt(_0x53eb9b(0x1e4))/0x8*(-parseInt(_0x53eb9b(0x1dd))/0x9)+parseInt(_0x53eb9b(0x1da))/0xa*(parseInt(_0x53eb9b(0x1fa))/0xb)+parseInt(_0x53eb9b(0x201))/0xc*(parseInt(_0x53eb9b(0x1f7))/0xd);if(_0x5d2538===_0x33d9b4)break;else _0x1429df['push'](_0x1429df['shift']());}catch(_0x5c0b3f){_0x1429df['push'](_0x1429df['shift']());}}}(a75_0x1619,0x41fef));import{z}from'zod';import{WorkspaceSDK,resolveWorkspacePath}from'../../sdk/workspace/index.js';const TASK_STATUSES=[a75_0x2386b9(0x1d9),a75_0x2386b9(0x1f9),a75_0x2386b9(0x1ef),'design_review',a75_0x2386b9(0x1f6),a75_0x2386b9(0x1e7),'done','void'],GUIDE_STATUSES=[a75_0x2386b9(0x1fd),a75_0x2386b9(0x1e8),a75_0x2386b9(0x1f2),'superseded'];export const WorkCreateItemInputSchema=z[a75_0x2386b9(0x200)]({'title':z[a75_0x2386b9(0x1ee)]()[a75_0x2386b9(0x1f8)](a75_0x2386b9(0x1fe)),'kind':z['enum']([a75_0x2386b9(0x1f3),'note',a75_0x2386b9(0x1df),a75_0x2386b9(0x1e1)])[a75_0x2386b9(0x1ea)]()[a75_0x2386b9(0x1f8)](a75_0x2386b9(0x1e9)),'status':z[a75_0x2386b9(0x203)]([...TASK_STATUSES,...GUIDE_STATUSES])[a75_0x2386b9(0x1ea)]()['describe']('Initial\x20status\x20(default:\x20\x22todo\x22\x20for\x20items,\x20\x22proposed\x22\x20for\x20guides)'),'tags':z[a75_0x2386b9(0x1e2)](z['string']())['optional']()[a75_0x2386b9(0x1f8)]('Tags\x20for\x20the\x20item'),'priority':z[a75_0x2386b9(0x203)]([a75_0x2386b9(0x1f4),a75_0x2386b9(0x1de),'medium',a75_0x2386b9(0x206)])[a75_0x2386b9(0x1ea)]()[a75_0x2386b9(0x1f8)](a75_0x2386b9(0x1fc)),'body':z[a75_0x2386b9(0x1ee)]()[a75_0x2386b9(0x1ea)]()['describe'](a75_0x2386b9(0x1eb)),'template':z['string']()[a75_0x2386b9(0x1ea)]()[a75_0x2386b9(0x1f8)](a75_0x2386b9(0x1e0)),'github':z['string']()[a75_0x2386b9(0x1ea)]()[a75_0x2386b9(0x1f8)](a75_0x2386b9(0x1f1)),'jira':z[a75_0x2386b9(0x1ee)]()[a75_0x2386b9(0x1ea)]()['describe'](a75_0x2386b9(0x1db))});function a75_0x5b46(_0x23ece1,_0x1afa3d){_0x23ece1=_0x23ece1-0x1d5;const _0x16199=a75_0x1619();let _0x5b46ad=_0x16199[_0x23ece1];return _0x5b46ad;}export function executeWorkCreateItem(_0x55a5c7){const _0x30670e=a75_0x2386b9,_0x4cd7b1=resolveWorkspacePath();if(!_0x4cd7b1)return{'success':![],'error':'No\x20workspace\x20found.\x20Run\x20`tdx\x20work\x20init`\x20to\x20create\x20one.'};const _0xa910ee=new WorkspaceSDK(_0x4cd7b1),_0x329a68={'title':_0x55a5c7[_0x30670e(0x205)],'kind':_0x55a5c7[_0x30670e(0x1d7)]||_0x30670e(0x1f3),'status':_0x55a5c7[_0x30670e(0x1ff)],'tags':_0x55a5c7['tags'],'priority':_0x55a5c7[_0x30670e(0x1ed)],'body':_0x55a5c7[_0x30670e(0x1e3)],'template':_0x55a5c7['template'],'github':_0x55a5c7[_0x30670e(0x1e5)],'jira':_0x55a5c7[_0x30670e(0x204)]},_0x2ed2d5=_0xa910ee[_0x30670e(0x1e6)](_0x329a68);return{'success':!![],'path':_0x2ed2d5['filePath'],'slug':_0x2ed2d5[_0x30670e(0x202)][_0x30670e(0x1d5)](/\.md$/,'')};}function a75_0x1619(){const _0x10a270=['priority','string','planning','6JXQKIa','GitHub\x20PR/issue\x20reference\x20(owner/repo#number)','deprecated','item','critical','3191076GOTaeB','in_progress','637TeOPHW','describe','todo','143hUWyDb','76094eBynJh','Priority\x20level','proposed','Item\x20title\x20(required)','status','object','137124zKSqnG','fileName','enum','jira','title','low','replace','10GgmuKh','kind','2508515uXEEXV','backlog','308210OTwSUM','JIRA\x20ticket\x20reference\x20(org/TICKET-ID)','12soRbzf','10863RtfLLU','high','guide','Template\x20name\x20from\x20templates/\x20folder','reference','array','body','2264HvmZxk','github','createDocument','review','accepted','Document\x20kind\x20(default:\x20\x22item\x22)','optional','Markdown\x20body\x20content','228405NFWNNL'];a75_0x1619=function(){return _0x10a270;};return a75_0x1619();}
1
+ const a75_0x8dc10e=a75_0x4c2a;(function(_0x585b4b,_0x47e808){const _0x28c8f8=a75_0x4c2a,_0x1d4b4a=_0x585b4b();while(!![]){try{const _0x45c045=-parseInt(_0x28c8f8(0x99))/0x1+-parseInt(_0x28c8f8(0x79))/0x2+parseInt(_0x28c8f8(0xa0))/0x3+-parseInt(_0x28c8f8(0x7a))/0x4*(-parseInt(_0x28c8f8(0x7c))/0x5)+-parseInt(_0x28c8f8(0x91))/0x6+-parseInt(_0x28c8f8(0x8e))/0x7+parseInt(_0x28c8f8(0xa5))/0x8;if(_0x45c045===_0x47e808)break;else _0x1d4b4a['push'](_0x1d4b4a['shift']());}catch(_0x3fea4f){_0x1d4b4a['push'](_0x1d4b4a['shift']());}}}(a75_0x171a,0xacfa9));import{z}from'zod';function a75_0x171a(){const _0x497233=['low','897311JkcPse','optional','accepted','object','Priority\x20level','status','createDocument','1233465LHxJIQ','github','body','planning','GitHub\x20PR/issue\x20reference\x20(owner/repo#number)','32011168mgmpDo','Item\x20title\x20(required)','Markdown\x20body\x20content','2560534LvBChk','8iVFiep','describe','1701870WiDvep','jira','superseded','Document\x20kind\x20(default:\x20\x22item\x22)','template','item','array','No\x20workspace\x20found.\x20Run\x20`tdx\x20work\x20init`\x20to\x20create\x20one.','tags','medium','void','design_review','proposed','guide','reference','backlog','JIRA\x20ticket\x20reference\x20(org/TICKET-ID)','enum','8774262DMoOOX','critical','string','5722404hPxKIv','replace','in_progress','kind','high','review','priority'];a75_0x171a=function(){return _0x497233;};return a75_0x171a();}import{WorkspaceSDK,resolveWorkspacePath}from'../../sdk/workspace/index.js';const TASK_STATUSES=[a75_0x8dc10e(0x8b),'todo',a75_0x8dc10e(0xa3),a75_0x8dc10e(0x87),a75_0x8dc10e(0x93),a75_0x8dc10e(0x96),'done',a75_0x8dc10e(0x86)],GUIDE_STATUSES=[a75_0x8dc10e(0x88),a75_0x8dc10e(0x9b),'deprecated',a75_0x8dc10e(0x7e)];export const WorkCreateItemInputSchema=z[a75_0x8dc10e(0x9c)]({'title':z[a75_0x8dc10e(0x90)]()[a75_0x8dc10e(0x7b)](a75_0x8dc10e(0x77)),'kind':z[a75_0x8dc10e(0x8d)]([a75_0x8dc10e(0x81),'note',a75_0x8dc10e(0x89),a75_0x8dc10e(0x8a)])['optional']()[a75_0x8dc10e(0x7b)](a75_0x8dc10e(0x7f)),'status':z[a75_0x8dc10e(0x8d)]([...TASK_STATUSES,...GUIDE_STATUSES])[a75_0x8dc10e(0x9a)]()[a75_0x8dc10e(0x7b)]('Initial\x20status\x20(default:\x20\x22todo\x22\x20for\x20items,\x20\x22proposed\x22\x20for\x20guides)'),'tags':z[a75_0x8dc10e(0x82)](z[a75_0x8dc10e(0x90)]())['optional']()[a75_0x8dc10e(0x7b)]('Tags\x20for\x20the\x20item'),'priority':z[a75_0x8dc10e(0x8d)]([a75_0x8dc10e(0x8f),a75_0x8dc10e(0x95),a75_0x8dc10e(0x85),a75_0x8dc10e(0x98)])[a75_0x8dc10e(0x9a)]()[a75_0x8dc10e(0x7b)](a75_0x8dc10e(0x9d)),'body':z[a75_0x8dc10e(0x90)]()[a75_0x8dc10e(0x9a)]()[a75_0x8dc10e(0x7b)](a75_0x8dc10e(0x78)),'template':z[a75_0x8dc10e(0x90)]()[a75_0x8dc10e(0x9a)]()[a75_0x8dc10e(0x7b)]('Template\x20name\x20from\x20templates/\x20folder'),'github':z[a75_0x8dc10e(0x90)]()[a75_0x8dc10e(0x9a)]()[a75_0x8dc10e(0x7b)](a75_0x8dc10e(0xa4)),'jira':z[a75_0x8dc10e(0x90)]()['optional']()[a75_0x8dc10e(0x7b)](a75_0x8dc10e(0x8c))});function a75_0x4c2a(_0x1cab7e,_0x19f511){_0x1cab7e=_0x1cab7e-0x77;const _0x171a1a=a75_0x171a();let _0x4c2afb=_0x171a1a[_0x1cab7e];return _0x4c2afb;}export function executeWorkCreateItem(_0x469a78){const _0x42ac5c=a75_0x8dc10e,_0x29650f=resolveWorkspacePath();if(!_0x29650f)return{'success':![],'error':_0x42ac5c(0x83)};const _0x3a9774=new WorkspaceSDK(_0x29650f),_0x3ae608={'title':_0x469a78['title'],'kind':_0x469a78[_0x42ac5c(0x94)]||_0x42ac5c(0x81),'status':_0x469a78[_0x42ac5c(0x9e)],'tags':_0x469a78[_0x42ac5c(0x84)],'priority':_0x469a78[_0x42ac5c(0x97)],'body':_0x469a78[_0x42ac5c(0xa2)],'template':_0x469a78[_0x42ac5c(0x80)],'github':_0x469a78[_0x42ac5c(0xa1)],'jira':_0x469a78[_0x42ac5c(0x7d)]},_0x18aa14=_0x3a9774[_0x42ac5c(0x9f)](_0x3ae608);return{'success':!![],'path':_0x18aa14['filePath'],'slug':_0x18aa14['fileName'][_0x42ac5c(0x92)](/\.md$/,'')};}
package/dist/mcp/utils.js CHANGED
@@ -1 +1 @@
1
- const a76_0x1bb11a=a76_0x1aa0;(function(_0x548c92,_0x40b19b){const _0x5b4957=a76_0x1aa0,_0x167407=_0x548c92();while(!![]){try{const _0x5a9e18=-parseInt(_0x5b4957(0x14f))/0x1+parseInt(_0x5b4957(0x15a))/0x2*(parseInt(_0x5b4957(0x15c))/0x3)+parseInt(_0x5b4957(0x159))/0x4*(-parseInt(_0x5b4957(0x153))/0x5)+-parseInt(_0x5b4957(0x148))/0x6*(parseInt(_0x5b4957(0x152))/0x7)+-parseInt(_0x5b4957(0x15d))/0x8*(parseInt(_0x5b4957(0x156))/0x9)+-parseInt(_0x5b4957(0x158))/0xa+-parseInt(_0x5b4957(0x14d))/0xb*(-parseInt(_0x5b4957(0x157))/0xc);if(_0x5a9e18===_0x40b19b)break;else _0x167407['push'](_0x167407['shift']());}catch(_0xc89678){_0x167407['push'](_0x167407['shift']());}}}(a76_0x5bcb,0xca5ac));function a76_0x5bcb(){const _0x2b6377=['toLowerCase','profile\x20create','auth\x20clear','replace','2761qGBJvO','profile\x20delete','714673qQKSnr','mcp','profile\x20remove','98Jufluv','10mVJkip','Credential\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','join','63ugvLzf','213924nOImBw','8677320CBUaUU','1313440SWcXMi','2ytIulg','includes','557487kjVadT','210088kXmXZw','Profile\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','auth\x20login','Cannot\x20run\x20MCP\x20server\x20recursively','Profile\x20switching\x20via\x20--profile\x20flag\x20is\x20not\x20allowed\x20via\x20MCP','trimEnd','startsWith','This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','slice','length','603690TbJAmB'];a76_0x5bcb=function(){return _0x2b6377;};return a76_0x5bcb();}function a76_0x1aa0(_0x5f931d,_0x2d3f00){_0x5f931d=_0x5f931d-0x143;const _0x5bcbd4=a76_0x5bcb();let _0x1aa092=_0x5bcbd4[_0x5f931d];return _0x1aa092;}const BLOCKED_COMMANDS=['auth\x20setup',a76_0x1bb11a(0x15f),'auth\x20clear',a76_0x1bb11a(0x14a),a76_0x1bb11a(0x14e),a76_0x1bb11a(0x151),a76_0x1bb11a(0x150)],BLOCKED_FLAGS=['--profile','-p'];export function hasBlockedFlag(_0x962dc6){const _0x50a3d1=a76_0x1bb11a;for(const _0x263c61 of _0x962dc6){const _0x4504e5=_0x263c61[_0x50a3d1(0x149)]();for(const _0x55cc56 of BLOCKED_FLAGS){if(_0x4504e5===_0x55cc56||_0x4504e5[_0x50a3d1(0x144)](_0x55cc56+'='))return!![];}}return![];}export function isBlockedCommand(_0x11d256){const _0x4c2f69=a76_0x1bb11a;if(_0x11d256[_0x4c2f69(0x147)]===0x0)return![];if(hasBlockedFlag(_0x11d256))return!![];const _0x3c724d=_0x11d256['slice'](0x0,0x2)[_0x4c2f69(0x155)]('\x20')[_0x4c2f69(0x149)]();for(const _0x571cbb of BLOCKED_COMMANDS){if(_0x3c724d[_0x4c2f69(0x144)](_0x571cbb))return!![];}const _0x1b09ca=_0x11d256[0x0][_0x4c2f69(0x149)]();for(const _0x40fad7 of BLOCKED_COMMANDS){if(!_0x40fad7[_0x4c2f69(0x15b)]('\x20')&&_0x1b09ca===_0x40fad7)return!![];}return![];}export function getBlockedReason(_0x3b7e8b){const _0x2f1947=a76_0x1bb11a;if(!isBlockedCommand(_0x3b7e8b))return undefined;if(hasBlockedFlag(_0x3b7e8b))return _0x2f1947(0x161);const _0x55b921=_0x3b7e8b[_0x2f1947(0x146)](0x0,0x2)[_0x2f1947(0x155)]('\x20')[_0x2f1947(0x149)](),_0x5a87e0=_0x3b7e8b[0x0][_0x2f1947(0x149)]();if(_0x55b921[_0x2f1947(0x144)]('auth\x20setup')||_0x55b921['startsWith'](_0x2f1947(0x15f))||_0x55b921[_0x2f1947(0x144)](_0x2f1947(0x14b)))return _0x2f1947(0x154);if(_0x55b921['startsWith'](_0x2f1947(0x14a))||_0x55b921[_0x2f1947(0x144)]('profile\x20delete')||_0x55b921['startsWith'](_0x2f1947(0x151)))return _0x2f1947(0x15e);if(_0x5a87e0===_0x2f1947(0x150))return _0x2f1947(0x160);return _0x2f1947(0x145);}export function formatOutput(_0x2136e9){const _0x17df65=a76_0x1bb11a,_0x510262=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;let _0x4e3bea=_0x2136e9[_0x17df65(0x14c)](_0x510262,'');return _0x4e3bea=_0x4e3bea['replace'](/\r\n/g,'\x0a')[_0x17df65(0x14c)](/\r/g,'\x0a'),_0x4e3bea=_0x4e3bea[_0x17df65(0x143)](),_0x4e3bea;}
1
+ function a76_0x26b8(){const _0x2280c0=['4117869xxoGFJ','8230AvMIKa','Credential\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','auth\x20login','mcp','toLowerCase','replace','1136823NlfoUn','Cannot\x20run\x20MCP\x20server\x20recursively','2560RUpeNs','profile\x20delete','42KbvatF','This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','1356cRJHgP','auth\x20setup','join','1460316zGAdeo','18686nNHPKu','trimEnd','Profile\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','slice','auth\x20clear','9845uuHZZu','4111064IXtGdk','9IBstNV','profile\x20remove','startsWith'];a76_0x26b8=function(){return _0x2280c0;};return a76_0x26b8();}const a76_0x425eba=a76_0x4fae;function a76_0x4fae(_0x570331,_0x6e6246){_0x570331=_0x570331-0xa7;const _0x26b80a=a76_0x26b8();let _0x4faed1=_0x26b80a[_0x570331];return _0x4faed1;}(function(_0x2a4e21,_0x3d698f){const _0x2320fb=a76_0x4fae,_0x2fbbd4=_0x2a4e21();while(!![]){try{const _0x3081da=-parseInt(_0x2320fb(0xbc))/0x1*(parseInt(_0x2320fb(0xa7))/0x2)+parseInt(_0x2320fb(0xb8))/0x3+-parseInt(_0x2320fb(0xc1))/0x4+parseInt(_0x2320fb(0xb2))/0x5*(parseInt(_0x2320fb(0xbe))/0x6)+parseInt(_0x2320fb(0xb1))/0x7+parseInt(_0x2320fb(0xad))/0x8*(-parseInt(_0x2320fb(0xae))/0x9)+parseInt(_0x2320fb(0xba))/0xa*(parseInt(_0x2320fb(0xac))/0xb);if(_0x3081da===_0x3d698f)break;else _0x2fbbd4['push'](_0x2fbbd4['shift']());}catch(_0x285e01){_0x2fbbd4['push'](_0x2fbbd4['shift']());}}}(a76_0x26b8,0x487fc));const BLOCKED_COMMANDS=[a76_0x425eba(0xbf),a76_0x425eba(0xb4),'auth\x20clear','profile\x20create',a76_0x425eba(0xbb),a76_0x425eba(0xaf),a76_0x425eba(0xb5)],BLOCKED_FLAGS=['--profile','-p'];export function hasBlockedFlag(_0x5aa94b){const _0x3ea39f=a76_0x425eba;for(const _0x174df1 of _0x5aa94b){const _0x1d0de6=_0x174df1[_0x3ea39f(0xb6)]();for(const _0xb9d370 of BLOCKED_FLAGS){if(_0x1d0de6===_0xb9d370||_0x1d0de6['startsWith'](_0xb9d370+'='))return!![];}}return![];}export function isBlockedCommand(_0x9f3aec){const _0x3b02d8=a76_0x425eba;if(_0x9f3aec['length']===0x0)return![];if(hasBlockedFlag(_0x9f3aec))return!![];const _0x2ad751=_0x9f3aec['slice'](0x0,0x2)[_0x3b02d8(0xc0)]('\x20')['toLowerCase']();for(const _0x35935b of BLOCKED_COMMANDS){if(_0x2ad751['startsWith'](_0x35935b))return!![];}const _0x5dec71=_0x9f3aec[0x0]['toLowerCase']();for(const _0x345575 of BLOCKED_COMMANDS){if(!_0x345575['includes']('\x20')&&_0x5dec71===_0x345575)return!![];}return![];}export function getBlockedReason(_0x5f1298){const _0x26fae4=a76_0x425eba;if(!isBlockedCommand(_0x5f1298))return undefined;if(hasBlockedFlag(_0x5f1298))return'Profile\x20switching\x20via\x20--profile\x20flag\x20is\x20not\x20allowed\x20via\x20MCP';const _0x5eddee=_0x5f1298[_0x26fae4(0xaa)](0x0,0x2)[_0x26fae4(0xc0)]('\x20')[_0x26fae4(0xb6)](),_0x3d74e7=_0x5f1298[0x0]['toLowerCase']();if(_0x5eddee['startsWith'](_0x26fae4(0xbf))||_0x5eddee[_0x26fae4(0xb0)]('auth\x20login')||_0x5eddee[_0x26fae4(0xb0)](_0x26fae4(0xab)))return _0x26fae4(0xb3);if(_0x5eddee['startsWith']('profile\x20create')||_0x5eddee['startsWith'](_0x26fae4(0xbb))||_0x5eddee[_0x26fae4(0xb0)](_0x26fae4(0xaf)))return _0x26fae4(0xa9);if(_0x3d74e7===_0x26fae4(0xb5))return _0x26fae4(0xb9);return _0x26fae4(0xbd);}export function formatOutput(_0xc2af21){const _0x348995=a76_0x425eba,_0x3e273e=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;let _0x5b4349=_0xc2af21[_0x348995(0xb7)](_0x3e273e,'');return _0x5b4349=_0x5b4349[_0x348995(0xb7)](/\r\n/g,'\x0a')['replace'](/\r/g,'\x0a'),_0x5b4349=_0x5b4349[_0x348995(0xa8)](),_0x5b4349;}
@@ -1 +1 @@
1
- (function(_0x5bc2ae,_0x59d2ec){const _0x1d8de6=a77_0x3467,_0x1433b3=_0x5bc2ae();while(!![]){try{const _0x2fb167=-parseInt(_0x1d8de6(0x1de))/0x1*(parseInt(_0x1d8de6(0x1fe))/0x2)+-parseInt(_0x1d8de6(0x1e1))/0x3+-parseInt(_0x1d8de6(0x1ca))/0x4*(-parseInt(_0x1d8de6(0x1fd))/0x5)+-parseInt(_0x1d8de6(0x1dd))/0x6+parseInt(_0x1d8de6(0x1cb))/0x7*(parseInt(_0x1d8de6(0x1e5))/0x8)+-parseInt(_0x1d8de6(0x1d5))/0x9+-parseInt(_0x1d8de6(0x1e2))/0xa*(-parseInt(_0x1d8de6(0x1fa))/0xb);if(_0x2fb167===_0x59d2ec)break;else _0x1433b3['push'](_0x1433b3['shift']());}catch(_0x342b69){_0x1433b3['push'](_0x1433b3['shift']());}}}(a77_0x5e96,0x44fd1));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';function a77_0x5e96(){const _0x42ff53=['2vjqIHH','entryCount','slice','445404NBDpAp','1570KplwMP','sessions','daily','1832uHyShm','stringify','stats-cache.json','filter','message','todayCredits','outputTokens','totalCredits','getTime','replace','Failed\x20to\x20read\x20usage\x20directory:','Failed\x20to\x20read\x20usage\x20file\x20','inputTokens','parse','timestamp','contextSignature','split','profiles','init','default','profile','39314FasMJY','max','entries','115GOiyal','269716XgnxOA','values','monthly','utf-8','.jsonl','reduce','sources','lastUpdatedAt','keys','credits','WARN','toISOString','object','map','tdx-claude','6524rCPSPZ','16338VUvavO','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','Failed\x20to\x20process\x20session\x20','mtime','lastUsedAt','model','claude-usage','cacheReadInputTokens','latestContextTokensBySignature','getMonth','3655197DwrVzJ','todayDate','monthCredits','length','sort','warn','cacheCreationInputTokens','source','157338engUlY'];a77_0x5e96=function(){return _0x42ff53;};return a77_0x5e96();}import{getGlobalCacheDir}from'../utils/global-cache.js';let usageLogger=null;async function getLogger(){const _0x53a177=a77_0x3467;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x53a177(0x1c5)],!![]),await usageLogger[_0x53a177(0x1f7)]()),usageLogger;}function getUsageDir(){const _0x15265a=a77_0x3467;return join(getGlobalCacheDir(),_0x15265a(0x1d1));}function sanitizeSessionId(_0x10190f){const _0x3bb82b=a77_0x3467;return _0x10190f[_0x3bb82b(0x1ee)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x2eb96a){const _0x2e24f1=a77_0x3467,_0x257152=getUsageDir(),_0x1d7b93=sanitizeSessionId(_0x2eb96a),_0x220f7e=resolve(_0x257152,_0x1d7b93+'.jsonl');if(!_0x220f7e['startsWith'](_0x257152))throw new Error(_0x2e24f1(0x1cc));return _0x220f7e;}function getStatsCachePath(){const _0x182594=a77_0x3467;return join(getUsageDir(),_0x182594(0x1e7));}async function ensureUsageDir(){const _0x79dbf=getUsageDir();!existsSync(_0x79dbf)&&await mkdir(_0x79dbf,{'recursive':!![]});}export async function appendUsageEntry(_0x204a0d,_0x324d5b){const _0x50d859=a77_0x3467,_0x38a4ad=sanitizeSessionId(_0x204a0d);await ensureUsageDir();const _0x202dd8=getSafeJsonlPath(_0x38a4ad),_0x26568e=JSON['stringify'](_0x324d5b)+'\x0a';await appendFile(_0x202dd8,_0x26568e,_0x50d859(0x201));}async function readSessionJsonl(_0x4c2f57){const _0x112578=a77_0x3467,_0x5c107a=getSafeJsonlPath(_0x4c2f57);if(!existsSync(_0x5c107a))return[];try{const _0x206ac7=await readFile(_0x5c107a,'utf-8'),_0x10c731=_0x206ac7['trim']()[_0x112578(0x1f5)]('\x0a')['filter'](Boolean);return _0x10c731[_0x112578(0x1c8)](_0x58385f=>{const _0x5bda71=_0x112578;try{return JSON[_0x5bda71(0x1f2)](_0x58385f);}catch{return null;}})['filter'](_0x4c0d04=>_0x4c0d04!==null);}catch(_0x348bfd){const _0x30f6d1=await getLogger();return _0x30f6d1[_0x112578(0x1da)](_0x112578(0x1f0)+_0x4c2f57+'.jsonl:',_0x348bfd instanceof Error?_0x348bfd[_0x112578(0x1e9)]:String(_0x348bfd)),[];}}async function getAllSessionFiles(){const _0x389c3f=a77_0x3467,_0x3e36fb=getUsageDir();if(!existsSync(_0x3e36fb))return[];try{const _0x2f72a5=await readdir(_0x3e36fb);return _0x2f72a5[_0x389c3f(0x1e8)](_0x2f6efb=>_0x2f6efb['endsWith'](_0x389c3f(0x202)))[_0x389c3f(0x1c8)](_0x10a0de=>_0x10a0de[_0x389c3f(0x1ee)](_0x389c3f(0x202),''));}catch(_0x425048){const _0x44e46c=await getLogger();return _0x44e46c[_0x389c3f(0x1da)](_0x389c3f(0x1ef),_0x425048 instanceof Error?_0x425048['message']:String(_0x425048)),[];}}async function readStatsCache(){const _0x4d0ca4=a77_0x3467,_0x55a97e=getStatsCachePath();if(!existsSync(_0x55a97e))return null;try{const _0x39ff99=await readFile(_0x55a97e,'utf-8'),_0x4c4bf8=JSON[_0x4d0ca4(0x1f2)](_0x39ff99),_0x2a288a=Object[_0x4d0ca4(0x1ff)](_0x4c4bf8[_0x4d0ca4(0x1e3)]||{})[0x0];if(_0x2a288a&&'totalChatUnits'in _0x2a288a)return null;return _0x4c4bf8;}catch{return null;}}async function writeStatsCache(_0x51afae){const _0x56d456=a77_0x3467;await ensureUsageDir();const _0xf08e70=getStatsCachePath();await writeFile(_0xf08e70,JSON[_0x56d456(0x1e6)](_0x51afae,null,0x2),'utf-8');}function a77_0x3467(_0x397058,_0x323cf3){_0x397058=_0x397058-0x1c1;const _0x5e9685=a77_0x5e96();let _0x34672e=_0x5e9685[_0x397058];return _0x34672e;}async function isCacheUpToDate(_0x394b85,_0xde4f58){const _0x2ac708=a77_0x3467,_0x402023=_0x394b85[_0x2ac708(0x1e3)][_0xde4f58];if(!_0x402023)return![];const _0xf1b98=getSafeJsonlPath(_0xde4f58);if(!existsSync(_0xf1b98))return!![];try{const _0x37cc0c=await stat(_0xf1b98),_0x4e2147=new Date(_0x402023[_0x2ac708(0x1c2)])[_0x2ac708(0x1ed)](),_0x158803=_0x37cc0c[_0x2ac708(0x1ce)][_0x2ac708(0x1ed)]();return _0x4e2147>_0x158803;}catch{return![];}}export async function rebuildCache(){const _0x131b07=a77_0x3467,_0x1f2420=new Date(),_0x4374b5=_0x1f2420[_0x131b07(0x1c6)]()[_0x131b07(0x1e0)](0x0,0xa),_0x34deb9=_0x1f2420[_0x131b07(0x1c6)]()['slice'](0x0,0x7),_0x242e08={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x1f2420[_0x131b07(0x1c6)]()},_0x4a459b=await getAllSessionFiles();for(const _0xcc1987 of _0x4a459b){try{const _0x3e3f79=await readSessionJsonl(_0xcc1987);if(_0x3e3f79[_0x131b07(0x1d8)]===0x0)continue;let _0x47ec0c=0x0;const _0x391144={};let _0x570dae='';for(const _0x1ee393 of _0x3e3f79){const _0x3d4cec=getModelPricing(_0x1ee393[_0x131b07(0x1d0)]),_0x3863e1=calculateTokenCost(_0x1ee393[_0x131b07(0x1f1)],_0x1ee393[_0x131b07(0x1eb)],_0x1ee393['cacheCreationInputTokens']??0x0,_0x1ee393['cacheReadInputTokens']??0x0,_0x3d4cec),_0x119006=usdToAiCredits(_0x3863e1);_0x47ec0c+=_0x119006;const _0x4fe5f0=_0x1ee393[_0x131b07(0x1f4)]||_0x131b07(0x1f8);_0x391144[_0x4fe5f0]=_0x1ee393[_0x131b07(0x1f1)]+(_0x1ee393[_0x131b07(0x1db)]??0x0)+(_0x1ee393[_0x131b07(0x1d2)]??0x0);_0x1ee393[_0x131b07(0x1f3)]>_0x570dae&&(_0x570dae=_0x1ee393[_0x131b07(0x1f3)]);const _0x19760a=_0x1ee393[_0x131b07(0x1f3)][_0x131b07(0x1e0)](0x0,0xa);!_0x242e08['daily'][_0x19760a]&&(_0x242e08[_0x131b07(0x1e4)][_0x19760a]={'totalCredits':0x0,'entryCount':0x0});_0x242e08[_0x131b07(0x1e4)][_0x19760a][_0x131b07(0x1ec)]+=_0x119006,_0x242e08['daily'][_0x19760a][_0x131b07(0x1df)]+=0x1;const _0xf165e=_0x1ee393[_0x131b07(0x1f3)][_0x131b07(0x1e0)](0x0,0x7);!_0x242e08[_0x131b07(0x200)][_0xf165e]&&(_0x242e08[_0x131b07(0x200)][_0xf165e]={'totalCredits':0x0,'entryCount':0x0});_0x242e08[_0x131b07(0x200)][_0xf165e][_0x131b07(0x1ec)]+=_0x119006,_0x242e08[_0x131b07(0x200)][_0xf165e]['entryCount']+=0x1;const _0x24d49a=_0x1ee393[_0x131b07(0x1f9)]||'default';!_0x242e08[_0x131b07(0x1f6)][_0x24d49a]&&(_0x242e08[_0x131b07(0x1f6)][_0x24d49a]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x4374b5,'monthCredits':0x0,'month':_0x34deb9});_0x242e08[_0x131b07(0x1f6)][_0x24d49a]['totalCredits']+=_0x119006,_0x242e08['profiles'][_0x24d49a]['entryCount']+=0x1;_0x1ee393[_0x131b07(0x1f3)]>_0x242e08[_0x131b07(0x1f6)][_0x24d49a][_0x131b07(0x1cf)]&&(_0x242e08['profiles'][_0x24d49a][_0x131b07(0x1cf)]=_0x1ee393[_0x131b07(0x1f3)]);_0x19760a===_0x4374b5&&(_0x242e08['profiles'][_0x24d49a][_0x131b07(0x1ea)]+=_0x119006);_0xf165e===_0x34deb9&&(_0x242e08[_0x131b07(0x1f6)][_0x24d49a][_0x131b07(0x1d7)]+=_0x119006);const _0x2e3ebe=_0x1ee393[_0x131b07(0x1dc)]||_0x131b07(0x1c9);!_0x242e08['sources'][_0x2e3ebe]&&(_0x242e08[_0x131b07(0x1c1)][_0x2e3ebe]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x4374b5,'monthCredits':0x0,'month':_0x34deb9}),_0x242e08[_0x131b07(0x1c1)][_0x2e3ebe][_0x131b07(0x1ec)]+=_0x119006,_0x242e08[_0x131b07(0x1c1)][_0x2e3ebe]['entryCount']+=0x1,_0x19760a===_0x4374b5&&(_0x242e08['sources'][_0x2e3ebe][_0x131b07(0x1ea)]+=_0x119006),_0xf165e===_0x34deb9&&(_0x242e08[_0x131b07(0x1c1)][_0x2e3ebe][_0x131b07(0x1d7)]+=_0x119006);}_0x242e08[_0x131b07(0x1e3)][_0xcc1987]={'totalCredits':_0x47ec0c,'latestContextTokensBySignature':_0x391144,'createdAt':_0x3e3f79[0x0]['timestamp'],'lastUpdatedAt':_0x570dae};}catch(_0x32f7e9){const _0x123cf9=await getLogger();_0x123cf9['warn'](_0x131b07(0x1cd)+_0xcc1987+':',_0x32f7e9 instanceof Error?_0x32f7e9['message']:String(_0x32f7e9));continue;}}return cleanupOldEntries(_0x242e08),await writeStatsCache(_0x242e08),_0x242e08;}function cleanupOldEntries(_0x132103){const _0x3d4c05=a77_0x3467,_0x7c010=new Date(),_0x2d58af=new Date(_0x7c010[_0x3d4c05(0x1ed)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x24f658 of Object[_0x3d4c05(0x1c3)](_0x132103[_0x3d4c05(0x1e4)])){new Date(_0x24f658)<_0x2d58af&&delete _0x132103[_0x3d4c05(0x1e4)][_0x24f658];}const _0x45a82d=new Date(_0x7c010['getFullYear']()-0x1,_0x7c010[_0x3d4c05(0x1d4)](),0x1);for(const _0x4b97bb of Object[_0x3d4c05(0x1c3)](_0x132103[_0x3d4c05(0x200)])){const [_0x24633f,_0x32767a]=_0x4b97bb['split']('-')[_0x3d4c05(0x1c8)](Number),_0x3d64eb=new Date(_0x24633f,_0x32767a-0x1,0x1);_0x3d64eb<_0x45a82d&&delete _0x132103[_0x3d4c05(0x200)][_0x4b97bb];}const _0x56cda4=new Date(_0x7c010[_0x3d4c05(0x1ed)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x2a2608,_0x53c3af]of Object['entries'](_0x132103[_0x3d4c05(0x1e3)])){new Date(_0x53c3af[_0x3d4c05(0x1c2)])<_0x56cda4&&delete _0x132103[_0x3d4c05(0x1e3)][_0x2a2608];}}export async function getOrUpdateCache(_0x2eca5a){const _0x31587e=_0x2eca5a?sanitizeSessionId(_0x2eca5a):undefined,_0x221d33=await readStatsCache();if(!_0x221d33)return rebuildCache();if(_0x31587e){const _0x2490cb=await isCacheUpToDate(_0x221d33,_0x31587e);if(!_0x2490cb)return rebuildCache();}return _0x221d33;}export async function getSessionCredits(_0x83a92b){const _0x8a9fa4=a77_0x3467,_0x28c050=sanitizeSessionId(_0x83a92b),_0x12eb3d=await getOrUpdateCache(_0x28c050),_0xddf05c=_0x12eb3d[_0x8a9fa4(0x1e3)][_0x28c050];if(!_0xddf05c)return 0x0;return _0xddf05c[_0x8a9fa4(0x1ec)];}export async function getTodayCredits(){const _0x3c9940=a77_0x3467,_0x3620b3=await getOrUpdateCache(),_0x5e178c=new Date()[_0x3c9940(0x1c6)]()[_0x3c9940(0x1e0)](0x0,0xa),_0x9d2be7=_0x3620b3[_0x3c9940(0x1e4)][_0x5e178c];if(!_0x9d2be7)return 0x0;return _0x9d2be7[_0x3c9940(0x1ec)];}export async function getMonthCredits(){const _0x24fa83=a77_0x3467,_0x2fbb85=await getOrUpdateCache(),_0x3e2dd9=new Date()[_0x24fa83(0x1c6)]()[_0x24fa83(0x1e0)](0x0,0x7),_0x2a3328=_0x2fbb85['monthly'][_0x3e2dd9];if(!_0x2a3328)return 0x0;return _0x2a3328[_0x24fa83(0x1ec)];}export async function getSessionStats(_0x370e13){const _0x21f903=a77_0x3467,_0x13cd9f=sanitizeSessionId(_0x370e13),_0x148bb9=await getOrUpdateCache(_0x13cd9f);return _0x148bb9[_0x21f903(0x1e3)][_0x13cd9f]||null;}function getMaxLatestContextTokens(_0x5a4c62){const _0x101c3e=a77_0x3467,_0x56b90b=Object[_0x101c3e(0x1ff)](_0x5a4c62);if(_0x56b90b[_0x101c3e(0x1d8)]===0x0)return 0x0;return Math[_0x101c3e(0x1fb)](..._0x56b90b);}export async function getUsageStats(_0x48d899,_0x432c37){const _0x6c3c25=a77_0x3467,_0x4e35d0=sanitizeSessionId(_0x48d899),_0xde008=await getOrUpdateCache(_0x4e35d0),_0x5eec14=_0xde008[_0x6c3c25(0x1e3)][_0x4e35d0],_0x259830=new Date()[_0x6c3c25(0x1c6)]()[_0x6c3c25(0x1e0)](0x0,0xa),_0x158dd0=new Date()['toISOString']()[_0x6c3c25(0x1e0)](0x0,0x7);if(_0x432c37){const _0xdaf900=_0xde008['profiles']?.[_0x432c37],_0x1ca3a5=_0xdaf900?.[_0x6c3c25(0x1d6)]===_0x259830?_0xdaf900['todayCredits']:0x0,_0x618a44=_0xdaf900?.['month']===_0x158dd0?_0xdaf900[_0x6c3c25(0x1d7)]:0x0;return{'sessionCredits':_0x5eec14?_0x5eec14[_0x6c3c25(0x1ec)]:0x0,'todayCredits':_0x1ca3a5,'monthCredits':_0x618a44,'latestContextTokens':_0x5eec14?getMaxLatestContextTokens(_0x5eec14[_0x6c3c25(0x1d3)]):0x0};}return{'sessionCredits':_0x5eec14?_0x5eec14[_0x6c3c25(0x1ec)]:0x0,'todayCredits':_0xde008[_0x6c3c25(0x1e4)][_0x259830]?_0xde008[_0x6c3c25(0x1e4)][_0x259830][_0x6c3c25(0x1ec)]:0x0,'monthCredits':_0xde008['monthly'][_0x158dd0]?_0xde008[_0x6c3c25(0x200)][_0x158dd0][_0x6c3c25(0x1ec)]:0x0,'latestContextTokens':_0x5eec14?getMaxLatestContextTokens(_0x5eec14[_0x6c3c25(0x1d3)]):0x0};}export async function getAllProfileStats(){const _0xfe5eca=a77_0x3467,_0x9a2679=await getOrUpdateCache(),_0x570a23=_0x9a2679[_0xfe5eca(0x1f6)]||{};return Object['entries'](_0x570a23)[_0xfe5eca(0x1e8)](([,_0x303ffe])=>_0x303ffe&&typeof _0x303ffe==='object')[_0xfe5eca(0x1c8)](([_0x1fa84a,_0x1cdbef])=>({'profile':_0x1fa84a,'credits':_0x1cdbef[_0xfe5eca(0x1ec)]||0x0,'entryCount':_0x1cdbef[_0xfe5eca(0x1df)]||0x0,'lastUsedAt':_0x1cdbef[_0xfe5eca(0x1cf)]||''}))[_0xfe5eca(0x1d9)]((_0x2f5923,_0x5175af)=>_0x5175af[_0xfe5eca(0x1c4)]-_0x2f5923[_0xfe5eca(0x1c4)]);}export async function getAllSourceStats(){const _0x378dfe=a77_0x3467,_0x62f73c=await getOrUpdateCache(),_0x1cdcd1=_0x62f73c['sources']||{},_0x4d83d7=new Date()[_0x378dfe(0x1c6)]()[_0x378dfe(0x1e0)](0x0,0xa),_0x4e42df=new Date()[_0x378dfe(0x1c6)]()['slice'](0x0,0x7);return Object[_0x378dfe(0x1fc)](_0x1cdcd1)[_0x378dfe(0x1e8)](([,_0x51f95a])=>_0x51f95a&&typeof _0x51f95a===_0x378dfe(0x1c7))[_0x378dfe(0x1c8)](([_0x4a92b2,_0x319d9d])=>({'source':_0x4a92b2,'credits':_0x319d9d[_0x378dfe(0x1ec)]||0x0,'todayCredits':_0x319d9d[_0x378dfe(0x1d6)]===_0x4d83d7?_0x319d9d['todayCredits']||0x0:0x0,'monthCredits':_0x319d9d['month']===_0x4e42df?_0x319d9d[_0x378dfe(0x1d7)]||0x0:0x0,'entryCount':_0x319d9d[_0x378dfe(0x1df)]||0x0}))[_0x378dfe(0x1d9)]((_0xbfcd34,_0x447c10)=>_0x447c10[_0x378dfe(0x1c4)]-_0xbfcd34[_0x378dfe(0x1c4)]);}export async function getUsageSummary(){const _0xf098a7=a77_0x3467,_0x44fe4e=await getOrUpdateCache(),_0xb6675b=_0x44fe4e[_0xf098a7(0x1f6)]||{},_0x5b58c7=new Date()[_0xf098a7(0x1c6)]()[_0xf098a7(0x1e0)](0x0,0xa),_0x22d804=new Date()[_0xf098a7(0x1c6)]()[_0xf098a7(0x1e0)](0x0,0x7),_0x569cbf=Object[_0xf098a7(0x1ff)](_0xb6675b)[_0xf098a7(0x1e8)](_0x2c2e87=>_0x2c2e87&&typeof _0x2c2e87===_0xf098a7(0x1c7)),_0x4dd07e=_0x569cbf[_0xf098a7(0x203)]((_0x57ecff,_0x30f2e6)=>_0x57ecff+(_0x30f2e6[_0xf098a7(0x1ec)]||0x0),0x0);return{'todayCredits':_0x44fe4e[_0xf098a7(0x1e4)][_0x5b58c7]?_0x44fe4e[_0xf098a7(0x1e4)][_0x5b58c7][_0xf098a7(0x1ec)]||0x0:0x0,'monthCredits':_0x44fe4e[_0xf098a7(0x200)][_0x22d804]?_0x44fe4e[_0xf098a7(0x200)][_0x22d804][_0xf098a7(0x1ec)]||0x0:0x0,'totalCredits':_0x4dd07e,'profileCount':_0x569cbf[_0xf098a7(0x1d8)]};}
1
+ (function(_0x5e4269,_0x224096){const _0x5a32be=a77_0x25e4,_0x1475bd=_0x5e4269();while(!![]){try{const _0x19ebcc=-parseInt(_0x5a32be(0xa3))/0x1*(-parseInt(_0x5a32be(0xa2))/0x2)+-parseInt(_0x5a32be(0xba))/0x3+parseInt(_0x5a32be(0xbd))/0x4*(parseInt(_0x5a32be(0x92))/0x5)+parseInt(_0x5a32be(0x80))/0x6+parseInt(_0x5a32be(0xb4))/0x7*(parseInt(_0x5a32be(0x97))/0x8)+parseInt(_0x5a32be(0xb8))/0x9*(-parseInt(_0x5a32be(0x7b))/0xa)+parseInt(_0x5a32be(0x99))/0xb*(parseInt(_0x5a32be(0xa1))/0xc);if(_0x19ebcc===_0x224096)break;else _0x1475bd['push'](_0x1475bd['shift']());}catch(_0x91dd0a){_0x1475bd['push'](_0x1475bd['shift']());}}}(a77_0x4ae4,0x618d1));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 _0xd1e07a=a77_0x25e4;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0xd1e07a(0x88)],!![]),await usageLogger['init']()),usageLogger;}function getUsageDir(){const _0x3e4316=a77_0x25e4;return join(getGlobalCacheDir(),_0x3e4316(0x7f));}function sanitizeSessionId(_0x27cd8b){const _0x150795=a77_0x25e4;return _0x27cd8b[_0x150795(0xb7)](/[^a-zA-Z0-9_-]/g,'_');}function a77_0x4ae4(){const _0x903a83=['tdx-claude','latestContextTokensBySignature','24372lXFhnR','reduce','todayCredits','startsWith','monthly','keys','10swMyhf','max','monthCredits','getMonth','claude-usage','312630bPmZhs','slice','profiles','inputTokens','.jsonl','lastUpdatedAt','sort','length','WARN','month','contextSignature','timestamp','Failed\x20to\x20read\x20usage\x20directory:','map','outputTokens','split','getTime','toISOString','265ijUkND','utf-8','cacheCreationInputTokens','credits','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','2370536vejPQo','totalChatUnits','4589277ngiPPM','warn','Failed\x20to\x20read\x20usage\x20file\x20','values','sessions','profile','stringify','stats-cache.json','12tWnMDY','643692WyVAXY','1XnVMny','todayDate','filter','entries','totalCredits','lastUsedAt','Failed\x20to\x20process\x20session\x20','default','endsWith','daily','cacheReadInputTokens','model','.jsonl:','object','trim','entryCount','message','7EADxMm','parse','sources','replace','2135979RcQglF','mtime','2320512tgLaFb'];a77_0x4ae4=function(){return _0x903a83;};return a77_0x4ae4();}function getSafeJsonlPath(_0x5b5281){const _0xfd05e3=a77_0x25e4,_0x2936dc=getUsageDir(),_0x5ebf73=sanitizeSessionId(_0x5b5281),_0x3ddde2=resolve(_0x2936dc,_0x5ebf73+_0xfd05e3(0x84));if(!_0x3ddde2[_0xfd05e3(0xc0)](_0x2936dc))throw new Error(_0xfd05e3(0x96));return _0x3ddde2;}function getStatsCachePath(){const _0x26b5c5=a77_0x25e4;return join(getUsageDir(),_0x26b5c5(0xa0));}async function ensureUsageDir(){const _0x44435d=getUsageDir();!existsSync(_0x44435d)&&await mkdir(_0x44435d,{'recursive':!![]});}export async function appendUsageEntry(_0x36b9a8,_0x47e5ad){const _0x5a3e20=a77_0x25e4,_0x2427d4=sanitizeSessionId(_0x36b9a8);await ensureUsageDir();const _0xc0cac2=getSafeJsonlPath(_0x2427d4),_0x3b4d5e=JSON[_0x5a3e20(0x9f)](_0x47e5ad)+'\x0a';await appendFile(_0xc0cac2,_0x3b4d5e,_0x5a3e20(0x93));}async function readSessionJsonl(_0x44240a){const _0x3f4079=a77_0x25e4,_0x133768=getSafeJsonlPath(_0x44240a);if(!existsSync(_0x133768))return[];try{const _0x79d1ba=await readFile(_0x133768,'utf-8'),_0xf408b9=_0x79d1ba[_0x3f4079(0xb1)]()['split']('\x0a')[_0x3f4079(0xa5)](Boolean);return _0xf408b9[_0x3f4079(0x8d)](_0x5d96c5=>{const _0x5826e7=_0x3f4079;try{return JSON[_0x5826e7(0xb5)](_0x5d96c5);}catch{return null;}})['filter'](_0xabeac2=>_0xabeac2!==null);}catch(_0x19a494){const _0x4a403f=await getLogger();return _0x4a403f['warn'](_0x3f4079(0x9b)+_0x44240a+_0x3f4079(0xaf),_0x19a494 instanceof Error?_0x19a494['message']:String(_0x19a494)),[];}}async function getAllSessionFiles(){const _0x8be57a=a77_0x25e4,_0x577c19=getUsageDir();if(!existsSync(_0x577c19))return[];try{const _0x4c911f=await readdir(_0x577c19);return _0x4c911f[_0x8be57a(0xa5)](_0x1d4af6=>_0x1d4af6[_0x8be57a(0xab)](_0x8be57a(0x84)))[_0x8be57a(0x8d)](_0x3f7c9a=>_0x3f7c9a[_0x8be57a(0xb7)](_0x8be57a(0x84),''));}catch(_0x3c7fb3){const _0x37dd3a=await getLogger();return _0x37dd3a[_0x8be57a(0x9a)](_0x8be57a(0x8c),_0x3c7fb3 instanceof Error?_0x3c7fb3[_0x8be57a(0xb3)]:String(_0x3c7fb3)),[];}}async function readStatsCache(){const _0x3c6364=a77_0x25e4,_0x1e7ab1=getStatsCachePath();if(!existsSync(_0x1e7ab1))return null;try{const _0x29e237=await readFile(_0x1e7ab1,_0x3c6364(0x93)),_0x4060b0=JSON[_0x3c6364(0xb5)](_0x29e237),_0x13211b=Object[_0x3c6364(0x9c)](_0x4060b0[_0x3c6364(0x9d)]||{})[0x0];if(_0x13211b&&_0x3c6364(0x98)in _0x13211b)return null;return _0x4060b0;}catch{return null;}}async function writeStatsCache(_0x437db7){const _0x2231cc=a77_0x25e4;await ensureUsageDir();const _0x17b12b=getStatsCachePath();await writeFile(_0x17b12b,JSON[_0x2231cc(0x9f)](_0x437db7,null,0x2),_0x2231cc(0x93));}async function isCacheUpToDate(_0x215f6e,_0x2e214f){const _0x5b7f9d=a77_0x25e4,_0xfeccc8=_0x215f6e[_0x5b7f9d(0x9d)][_0x2e214f];if(!_0xfeccc8)return![];const _0x273c34=getSafeJsonlPath(_0x2e214f);if(!existsSync(_0x273c34))return!![];try{const _0x336948=await stat(_0x273c34),_0x43322d=new Date(_0xfeccc8['lastUpdatedAt'])[_0x5b7f9d(0x90)](),_0x10125a=_0x336948[_0x5b7f9d(0xb9)][_0x5b7f9d(0x90)]();return _0x43322d>_0x10125a;}catch{return![];}}export async function rebuildCache(){const _0x5478b7=a77_0x25e4,_0x27be20=new Date(),_0x32cd07=_0x27be20[_0x5478b7(0x91)]()['slice'](0x0,0xa),_0x122578=_0x27be20[_0x5478b7(0x91)]()[_0x5478b7(0x81)](0x0,0x7),_0x10b45d={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x27be20['toISOString']()},_0x5aa6aa=await getAllSessionFiles();for(const _0x4be12f of _0x5aa6aa){try{const _0x7c7b1f=await readSessionJsonl(_0x4be12f);if(_0x7c7b1f['length']===0x0)continue;let _0x1c542=0x0;const _0xdcb4fd={};let _0x5545d7='';for(const _0x2632f7 of _0x7c7b1f){const _0x321e82=getModelPricing(_0x2632f7[_0x5478b7(0xae)]),_0x35aff7=calculateTokenCost(_0x2632f7[_0x5478b7(0x83)],_0x2632f7[_0x5478b7(0x8e)],_0x2632f7[_0x5478b7(0x94)]??0x0,_0x2632f7[_0x5478b7(0xad)]??0x0,_0x321e82),_0x222f14=usdToAiCredits(_0x35aff7);_0x1c542+=_0x222f14;const _0x452bbb=_0x2632f7[_0x5478b7(0x8a)]||_0x5478b7(0xaa);_0xdcb4fd[_0x452bbb]=_0x2632f7[_0x5478b7(0x83)]+(_0x2632f7['cacheCreationInputTokens']??0x0)+(_0x2632f7['cacheReadInputTokens']??0x0);_0x2632f7[_0x5478b7(0x8b)]>_0x5545d7&&(_0x5545d7=_0x2632f7['timestamp']);const _0x12c466=_0x2632f7[_0x5478b7(0x8b)][_0x5478b7(0x81)](0x0,0xa);!_0x10b45d[_0x5478b7(0xac)][_0x12c466]&&(_0x10b45d[_0x5478b7(0xac)][_0x12c466]={'totalCredits':0x0,'entryCount':0x0});_0x10b45d[_0x5478b7(0xac)][_0x12c466]['totalCredits']+=_0x222f14,_0x10b45d[_0x5478b7(0xac)][_0x12c466][_0x5478b7(0xb2)]+=0x1;const _0xae9f6c=_0x2632f7[_0x5478b7(0x8b)][_0x5478b7(0x81)](0x0,0x7);!_0x10b45d[_0x5478b7(0x79)][_0xae9f6c]&&(_0x10b45d[_0x5478b7(0x79)][_0xae9f6c]={'totalCredits':0x0,'entryCount':0x0});_0x10b45d['monthly'][_0xae9f6c][_0x5478b7(0xa7)]+=_0x222f14,_0x10b45d[_0x5478b7(0x79)][_0xae9f6c]['entryCount']+=0x1;const _0x4eda2f=_0x2632f7[_0x5478b7(0x9e)]||_0x5478b7(0xaa);!_0x10b45d[_0x5478b7(0x82)][_0x4eda2f]&&(_0x10b45d[_0x5478b7(0x82)][_0x4eda2f]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x32cd07,'monthCredits':0x0,'month':_0x122578});_0x10b45d['profiles'][_0x4eda2f][_0x5478b7(0xa7)]+=_0x222f14,_0x10b45d[_0x5478b7(0x82)][_0x4eda2f][_0x5478b7(0xb2)]+=0x1;_0x2632f7['timestamp']>_0x10b45d['profiles'][_0x4eda2f][_0x5478b7(0xa8)]&&(_0x10b45d[_0x5478b7(0x82)][_0x4eda2f][_0x5478b7(0xa8)]=_0x2632f7[_0x5478b7(0x8b)]);_0x12c466===_0x32cd07&&(_0x10b45d['profiles'][_0x4eda2f][_0x5478b7(0xbf)]+=_0x222f14);_0xae9f6c===_0x122578&&(_0x10b45d[_0x5478b7(0x82)][_0x4eda2f][_0x5478b7(0x7d)]+=_0x222f14);const _0x57daab=_0x2632f7['source']||_0x5478b7(0xbb);!_0x10b45d['sources'][_0x57daab]&&(_0x10b45d[_0x5478b7(0xb6)][_0x57daab]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x32cd07,'monthCredits':0x0,'month':_0x122578}),_0x10b45d[_0x5478b7(0xb6)][_0x57daab][_0x5478b7(0xa7)]+=_0x222f14,_0x10b45d[_0x5478b7(0xb6)][_0x57daab][_0x5478b7(0xb2)]+=0x1,_0x12c466===_0x32cd07&&(_0x10b45d[_0x5478b7(0xb6)][_0x57daab][_0x5478b7(0xbf)]+=_0x222f14),_0xae9f6c===_0x122578&&(_0x10b45d[_0x5478b7(0xb6)][_0x57daab][_0x5478b7(0x7d)]+=_0x222f14);}_0x10b45d[_0x5478b7(0x9d)][_0x4be12f]={'totalCredits':_0x1c542,'latestContextTokensBySignature':_0xdcb4fd,'createdAt':_0x7c7b1f[0x0][_0x5478b7(0x8b)],'lastUpdatedAt':_0x5545d7};}catch(_0x428d23){const _0x29c0fa=await getLogger();_0x29c0fa[_0x5478b7(0x9a)](_0x5478b7(0xa9)+_0x4be12f+':',_0x428d23 instanceof Error?_0x428d23['message']:String(_0x428d23));continue;}}return cleanupOldEntries(_0x10b45d),await writeStatsCache(_0x10b45d),_0x10b45d;}function cleanupOldEntries(_0x5cd09a){const _0x5be13a=a77_0x25e4,_0x32f73d=new Date(),_0x57dca4=new Date(_0x32f73d[_0x5be13a(0x90)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x32c429 of Object['keys'](_0x5cd09a[_0x5be13a(0xac)])){new Date(_0x32c429)<_0x57dca4&&delete _0x5cd09a[_0x5be13a(0xac)][_0x32c429];}const _0x23e510=new Date(_0x32f73d['getFullYear']()-0x1,_0x32f73d[_0x5be13a(0x7e)](),0x1);for(const _0x5ecd9c of Object[_0x5be13a(0x7a)](_0x5cd09a[_0x5be13a(0x79)])){const [_0x4e93d4,_0x46a3ee]=_0x5ecd9c[_0x5be13a(0x8f)]('-')['map'](Number),_0x8de7dd=new Date(_0x4e93d4,_0x46a3ee-0x1,0x1);_0x8de7dd<_0x23e510&&delete _0x5cd09a['monthly'][_0x5ecd9c];}const _0x4765c2=new Date(_0x32f73d[_0x5be13a(0x90)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x3d07c8,_0x553a2a]of Object['entries'](_0x5cd09a[_0x5be13a(0x9d)])){new Date(_0x553a2a[_0x5be13a(0x85)])<_0x4765c2&&delete _0x5cd09a['sessions'][_0x3d07c8];}}export async function getOrUpdateCache(_0x151ac5){const _0x4d9b0a=_0x151ac5?sanitizeSessionId(_0x151ac5):undefined,_0x3a44a9=await readStatsCache();if(!_0x3a44a9)return rebuildCache();if(_0x4d9b0a){const _0x98f19e=await isCacheUpToDate(_0x3a44a9,_0x4d9b0a);if(!_0x98f19e)return rebuildCache();}return _0x3a44a9;}function a77_0x25e4(_0x3ad031,_0x41e711){_0x3ad031=_0x3ad031-0x79;const _0x4ae43e=a77_0x4ae4();let _0x25e405=_0x4ae43e[_0x3ad031];return _0x25e405;}export async function getSessionCredits(_0x5022ca){const _0x1d2f60=a77_0x25e4,_0x5b65a3=sanitizeSessionId(_0x5022ca),_0x98d810=await getOrUpdateCache(_0x5b65a3),_0x11176d=_0x98d810[_0x1d2f60(0x9d)][_0x5b65a3];if(!_0x11176d)return 0x0;return _0x11176d['totalCredits'];}export async function getTodayCredits(){const _0x5eab47=a77_0x25e4,_0xc1d4e=await getOrUpdateCache(),_0x2cfee4=new Date()[_0x5eab47(0x91)]()[_0x5eab47(0x81)](0x0,0xa),_0x55488a=_0xc1d4e[_0x5eab47(0xac)][_0x2cfee4];if(!_0x55488a)return 0x0;return _0x55488a[_0x5eab47(0xa7)];}export async function getMonthCredits(){const _0x22a350=a77_0x25e4,_0x4bec8a=await getOrUpdateCache(),_0x6ed86c=new Date()['toISOString']()[_0x22a350(0x81)](0x0,0x7),_0x2fe4a5=_0x4bec8a[_0x22a350(0x79)][_0x6ed86c];if(!_0x2fe4a5)return 0x0;return _0x2fe4a5[_0x22a350(0xa7)];}export async function getSessionStats(_0xf0603e){const _0x5bf690=a77_0x25e4,_0x2b77af=sanitizeSessionId(_0xf0603e),_0x549d9f=await getOrUpdateCache(_0x2b77af);return _0x549d9f[_0x5bf690(0x9d)][_0x2b77af]||null;}function getMaxLatestContextTokens(_0x800ed2){const _0x16d8d9=a77_0x25e4,_0x265f9b=Object[_0x16d8d9(0x9c)](_0x800ed2);if(_0x265f9b['length']===0x0)return 0x0;return Math[_0x16d8d9(0x7c)](..._0x265f9b);}export async function getUsageStats(_0x59cb8b,_0x5ec9b2){const _0x5b9484=a77_0x25e4,_0x3887dd=sanitizeSessionId(_0x59cb8b),_0x4a3b03=await getOrUpdateCache(_0x3887dd),_0x3728e6=_0x4a3b03['sessions'][_0x3887dd],_0x30b660=new Date()[_0x5b9484(0x91)]()[_0x5b9484(0x81)](0x0,0xa),_0x1fd0a2=new Date()['toISOString']()['slice'](0x0,0x7);if(_0x5ec9b2){const _0x4e70f2=_0x4a3b03[_0x5b9484(0x82)]?.[_0x5ec9b2],_0x4bfb45=_0x4e70f2?.[_0x5b9484(0xa4)]===_0x30b660?_0x4e70f2[_0x5b9484(0xbf)]:0x0,_0x907b73=_0x4e70f2?.[_0x5b9484(0x89)]===_0x1fd0a2?_0x4e70f2[_0x5b9484(0x7d)]:0x0;return{'sessionCredits':_0x3728e6?_0x3728e6[_0x5b9484(0xa7)]:0x0,'todayCredits':_0x4bfb45,'monthCredits':_0x907b73,'latestContextTokens':_0x3728e6?getMaxLatestContextTokens(_0x3728e6['latestContextTokensBySignature']):0x0};}return{'sessionCredits':_0x3728e6?_0x3728e6[_0x5b9484(0xa7)]:0x0,'todayCredits':_0x4a3b03[_0x5b9484(0xac)][_0x30b660]?_0x4a3b03['daily'][_0x30b660][_0x5b9484(0xa7)]:0x0,'monthCredits':_0x4a3b03[_0x5b9484(0x79)][_0x1fd0a2]?_0x4a3b03[_0x5b9484(0x79)][_0x1fd0a2]['totalCredits']:0x0,'latestContextTokens':_0x3728e6?getMaxLatestContextTokens(_0x3728e6[_0x5b9484(0xbc)]):0x0};}export async function getAllProfileStats(){const _0x36b6fd=a77_0x25e4,_0x49c4f2=await getOrUpdateCache(),_0x48c792=_0x49c4f2[_0x36b6fd(0x82)]||{};return Object[_0x36b6fd(0xa6)](_0x48c792)[_0x36b6fd(0xa5)](([,_0x506146])=>_0x506146&&typeof _0x506146==='object')[_0x36b6fd(0x8d)](([_0x40ead1,_0x5bd78f])=>({'profile':_0x40ead1,'credits':_0x5bd78f[_0x36b6fd(0xa7)]||0x0,'entryCount':_0x5bd78f['entryCount']||0x0,'lastUsedAt':_0x5bd78f[_0x36b6fd(0xa8)]||''}))[_0x36b6fd(0x86)]((_0x40ec81,_0x371263)=>_0x371263[_0x36b6fd(0x95)]-_0x40ec81[_0x36b6fd(0x95)]);}export async function getAllSourceStats(){const _0x39ba56=a77_0x25e4,_0xdd727d=await getOrUpdateCache(),_0x11ac1c=_0xdd727d['sources']||{},_0x3a6e7a=new Date()['toISOString']()[_0x39ba56(0x81)](0x0,0xa),_0xa645f6=new Date()[_0x39ba56(0x91)]()[_0x39ba56(0x81)](0x0,0x7);return Object[_0x39ba56(0xa6)](_0x11ac1c)[_0x39ba56(0xa5)](([,_0x54de7a])=>_0x54de7a&&typeof _0x54de7a===_0x39ba56(0xb0))['map'](([_0x10ceb3,_0x2a4914])=>({'source':_0x10ceb3,'credits':_0x2a4914[_0x39ba56(0xa7)]||0x0,'todayCredits':_0x2a4914['todayDate']===_0x3a6e7a?_0x2a4914['todayCredits']||0x0:0x0,'monthCredits':_0x2a4914[_0x39ba56(0x89)]===_0xa645f6?_0x2a4914[_0x39ba56(0x7d)]||0x0:0x0,'entryCount':_0x2a4914[_0x39ba56(0xb2)]||0x0}))[_0x39ba56(0x86)]((_0x106898,_0x4018d2)=>_0x4018d2[_0x39ba56(0x95)]-_0x106898[_0x39ba56(0x95)]);}export async function getUsageSummary(){const _0x3b24ec=a77_0x25e4,_0x4518b1=await getOrUpdateCache(),_0x446d40=_0x4518b1[_0x3b24ec(0x82)]||{},_0x4dc73a=new Date()[_0x3b24ec(0x91)]()[_0x3b24ec(0x81)](0x0,0xa),_0x1b6aeb=new Date()[_0x3b24ec(0x91)]()[_0x3b24ec(0x81)](0x0,0x7),_0x11bdbb=Object['values'](_0x446d40)[_0x3b24ec(0xa5)](_0x1234f0=>_0x1234f0&&typeof _0x1234f0==='object'),_0x4baa9c=_0x11bdbb[_0x3b24ec(0xbe)]((_0x31da89,_0x3a7fe5)=>_0x31da89+(_0x3a7fe5['totalCredits']||0x0),0x0);return{'todayCredits':_0x4518b1[_0x3b24ec(0xac)][_0x4dc73a]?_0x4518b1[_0x3b24ec(0xac)][_0x4dc73a]['totalCredits']||0x0:0x0,'monthCredits':_0x4518b1[_0x3b24ec(0x79)][_0x1b6aeb]?_0x4518b1[_0x3b24ec(0x79)][_0x1b6aeb][_0x3b24ec(0xa7)]||0x0:0x0,'totalCredits':_0x4baa9c,'profileCount':_0x11bdbb[_0x3b24ec(0x87)]};}
@@ -1 +1 @@
1
- const a78_0x1f2320=a78_0x1033;(function(_0x2fd8a1,_0x1cefd8){const _0x512909=a78_0x1033,_0x3173f7=_0x2fd8a1();while(!![]){try{const _0x5b2f39=-parseInt(_0x512909(0x121))/0x1+parseInt(_0x512909(0x130))/0x2+-parseInt(_0x512909(0x149))/0x3*(-parseInt(_0x512909(0x109))/0x4)+parseInt(_0x512909(0x15c))/0x5*(-parseInt(_0x512909(0x196))/0x6)+-parseInt(_0x512909(0x115))/0x7*(parseInt(_0x512909(0x16e))/0x8)+parseInt(_0x512909(0x144))/0x9*(parseInt(_0x512909(0x18e))/0xa)+-parseInt(_0x512909(0x18c))/0xb*(-parseInt(_0x512909(0x171))/0xc);if(_0x5b2f39===_0x1cefd8)break;else _0x3173f7['push'](_0x3173f7['shift']());}catch(_0x2b9a26){_0x3173f7['push'](_0x3173f7['shift']());}}}(a78_0x3e99,0xcdc40));import a78_0x355dce from'fastify';import a78_0x4d4646 from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';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_0x1f2320(0x197)+(isExperimentalAvailable()?a78_0x1f2320(0x164):'')+a78_0x1f2320(0x150);function extractSessionUUID(_0x2ffd6c){const _0x38982e=a78_0x1f2320,_0x20afd4=_0x2ffd6c[_0x38982e(0x15b)](/_session_([a-f0-9-]+)$/i);if(_0x20afd4)return _0x20afd4[0x1];return _0x2ffd6c;}export function injectSystemPrompt(_0x4cfa67,_0x32570e){const _0xa98dc=a78_0x1f2320,_0x1aaf0d=_0x4cfa67['system'];if(!_0x1aaf0d)return{..._0x4cfa67,'system':_0x32570e};if(typeof _0x1aaf0d==='string')return{..._0x4cfa67,'system':_0x1aaf0d+'\x0a\x0a'+_0x32570e};if(Array[_0xa98dc(0x10d)](_0x1aaf0d)){const _0x38af5f={'type':_0xa98dc(0x191),'text':_0x32570e};return{..._0x4cfa67,'system':[..._0x1aaf0d,_0x38af5f]};}return _0x4cfa67;}export function shouldInjectSystemPrompt(_0x2b1348){const _0xc58565=a78_0x1f2320;return!_0x2b1348[_0xc58565(0x126)]()[_0xc58565(0x170)](_0xc58565(0x12a));}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8,TOKEN_EXPIRY_BUFFER_MS=0x5*0x3c*0x3e8;function a78_0x1033(_0x5c4e1c,_0x5655c9){_0x5c4e1c=_0x5c4e1c-0xfb;const _0x3e99c6=a78_0x3e99();let _0x1033f3=_0x3e99c6[_0x5c4e1c];return _0x1033f3;}export class PassThroughProxyServer{[a78_0x1f2320(0x117)];[a78_0x1f2320(0x112)];[a78_0x1f2320(0x167)];[a78_0x1f2320(0x11a)];[a78_0x1f2320(0x157)];constructor(_0x41f67a){const _0x2259fe=a78_0x1f2320;this['config']=_0x41f67a,this[_0x2259fe(0x167)]=_0x41f67a[_0x2259fe(0x167)],this['server']=this[_0x2259fe(0x16d)]();}get['port'](){const _0x2666f1=a78_0x1f2320;if(this[_0x2666f1(0x11a)]===undefined)throw new Error('Server\x20has\x20not\x20been\x20started\x20yet');return this[_0x2666f1(0x11a)];}[a78_0x1f2320(0x16d)](){const _0x15f4c9=a78_0x1f2320,_0x266905=a78_0x355dce({'logger':![],'bodyLimit':0x40*0x400*0x400});return this[_0x15f4c9(0x117)]=_0x266905,this[_0x15f4c9(0x163)](),this['setupMiddleware'](),this['setupRoutes'](),_0x266905;}[a78_0x1f2320(0x163)](){const _0x4639dc=a78_0x1f2320;this[_0x4639dc(0x117)]['addContentTypeParser'](_0x4639dc(0x138),{'parseAs':_0x4639dc(0x148)},(_0x52d38e,_0x2ba188,_0x5269aa)=>{try{const _0x2f0973=JSON['parse'](_0x2ba188);_0x5269aa(null,_0x2f0973);}catch(_0x15fd42){_0x5269aa(_0x15fd42,undefined);}});}['setupMiddleware'](){const _0x1c502e=a78_0x1f2320;this[_0x1c502e(0x117)][_0x1c502e(0x13b)](a78_0x4d4646,{'origin':!![],'methods':['GET',_0x1c502e(0x185),_0x1c502e(0x106)],'allowedHeaders':[_0x1c502e(0x17d),_0x1c502e(0x119),_0x1c502e(0x17b),_0x1c502e(0x131)]}),this['server'][_0x1c502e(0x17e)]((_0x11aea8,_0x193ca2,_0x36bbac)=>{const _0xa2d4cf=_0x1c502e,_0x6c73ef=_0x11aea8 instanceof Error?_0x11aea8[_0xa2d4cf(0x19a)]:'Unknown\x20error';this[_0xa2d4cf(0x167)]['error'](_0xa2d4cf(0x188),_0x11aea8),_0x36bbac['code'](0x1f4)[_0xa2d4cf(0xfe)]({'type':'error','error':{'type':_0xa2d4cf(0x179),'message':_0x6c73ef}});});}[a78_0x1f2320(0x132)](){const _0xd426cc=a78_0x1f2320;this['server'][_0xd426cc(0x10b)](_0xd426cc(0x15d),async()=>{const _0xe670c1=_0xd426cc;return{'status':'ok','message':_0xe670c1(0x111)};}),this[_0xd426cc(0x117)][_0xd426cc(0x123)]('/v1/messages',async(_0x329d9a,_0x2adcdf)=>{const _0x747648=_0xd426cc;return this[_0x747648(0x113)](_0x329d9a,_0x2adcdf);}),this[_0xd426cc(0x117)][_0xd426cc(0x123)](_0xd426cc(0x19b),async(_0x40ffe0,_0x3992f0)=>{const _0x79f6a9=_0xd426cc;return this[_0x79f6a9(0x187)](_0x40ffe0,_0x3992f0);});}static [a78_0x1f2320(0x13e)]=new Set(['host',a78_0x1f2320(0x16f),'content-length',a78_0x1f2320(0x128),a78_0x1f2320(0x176),a78_0x1f2320(0x131),a78_0x1f2320(0x18f)]);[a78_0x1f2320(0x155)](_0x489452){const _0x3f5c60=a78_0x1f2320,_0x2c847b={};for(const [_0x110982,_0x2b96ea]of Object[_0x3f5c60(0x14b)](_0x489452[_0x3f5c60(0x11b)])){const _0x25b487=_0x110982[_0x3f5c60(0x126)]();if(PassThroughProxyServer[_0x3f5c60(0x13e)][_0x3f5c60(0x161)](_0x25b487))continue;if(_0x25b487[_0x3f5c60(0x182)](_0x3f5c60(0x18d)))continue;if(typeof _0x2b96ea===_0x3f5c60(0x148))_0x2c847b[_0x110982]=_0x2b96ea;else Array[_0x3f5c60(0x10d)](_0x2b96ea)&&(_0x2c847b[_0x110982]=_0x2b96ea[_0x3f5c60(0x14f)](',\x20'));}const _0x3c21b4=getVersion(),{auth:_0x3a580f}=this[_0x3f5c60(0x112)];return _0x2c847b[_0x3f5c60(0x119)]=_0x3a580f['type']==='oauth'?'Bearer\x20'+_0x3a580f['accessToken']:_0x3f5c60(0x129)+_0x3a580f['apiKey'],_0x2c847b['User-Agent']=_0x3f5c60(0x105)+_0x3c21b4,_0x2c847b[_0x3f5c60(0x178)]=_0x3f5c60(0xfd),_0x2c847b[_0x3f5c60(0x184)]=_0x3c21b4,_0x2c847b;}async[a78_0x1f2320(0x113)](_0x579041,_0xffa4c2){const _0x28ec9c=a78_0x1f2320,_0x468f93=_0x579041['body'],_0x3933cd=_0x468f93[_0x28ec9c(0x143)]!==![],_0xf99bb4=_0x468f93[_0x28ec9c(0x11e)],_0xa6fcf6=_0xf99bb4?.[_0x28ec9c(0x156)]||_0x28ec9c(0x136),_0x386948=extractSessionUUID(_0xa6fcf6),_0x44478f=_0x468f93[_0x28ec9c(0x110)]||'unknown',_0x8e0e00=shouldInjectSystemPrompt(_0x44478f)?injectSystemPrompt(_0x468f93,TDX_SYSTEM_PROMPT):_0x468f93,_0x466493=JSON[_0x28ec9c(0x194)](_0x8e0e00),_0x2a3572=Array[_0x28ec9c(0x10d)](_0x468f93[_0x28ec9c(0x14d)])?_0x468f93[_0x28ec9c(0x14d)]['length']:0x0;this[_0x28ec9c(0x167)][_0x28ec9c(0x173)](_0x28ec9c(0x152)+_0x579041[_0x28ec9c(0x135)]+'\x20'+_0x579041[_0x28ec9c(0x192)]+':\x20messages='+_0x2a3572+_0x28ec9c(0x104)+_0x44478f+_0x28ec9c(0x137)+_0x3933cd);const _0x543255=_0x579041[_0x28ec9c(0x192)][_0x28ec9c(0x170)]('?')?_0x579041[_0x28ec9c(0x192)][_0x28ec9c(0x103)](_0x579041['url'][_0x28ec9c(0x145)]('?')):'',_0x592dc6=this['config'][_0x28ec9c(0x154)]+_0x28ec9c(0x158)+_0x543255,_0x4637c5=this['buildForwardHeaders'](_0x579041);this['logger'][_0x28ec9c(0x16b)](_0x28ec9c(0x153)+_0x592dc6);const _0x193319=this['config'][_0x28ec9c(0x11d)]||DEFAULT_TIMEOUT_MS;try{const _0xb3b8b5=await fetch(_0x592dc6,{'method':'POST','headers':_0x4637c5,'body':_0x466493,'signal':AbortSignal[_0x28ec9c(0x10a)](_0x193319)});if(!_0xb3b8b5['ok']){const _0x462926=await _0xb3b8b5[_0x28ec9c(0x191)]();return this['logger'][_0x28ec9c(0x147)]('[PASSTHROUGH]\x20Upstream\x20error:\x20'+_0xb3b8b5[_0x28ec9c(0x183)]+'\x20'+_0xb3b8b5['statusText']),this['logger'][_0x28ec9c(0x16b)](_0x28ec9c(0x10c)+_0x462926),_0xffa4c2[_0x28ec9c(0x162)](_0xb3b8b5[_0x28ec9c(0x183)]),_0xffa4c2[_0x28ec9c(0x15e)](_0x28ec9c(0x17d),_0xb3b8b5[_0x28ec9c(0x11b)][_0x28ec9c(0x10b)](_0x28ec9c(0x17d))||_0x28ec9c(0x138)),_0xffa4c2[_0x28ec9c(0xfe)](_0x462926);}if(_0x3933cd&&_0xb3b8b5['body'])await this[_0x28ec9c(0x180)](_0xb3b8b5['body'],_0xffa4c2,_0x386948,_0x44478f);else{const _0x2b97dd=await _0xb3b8b5[_0x28ec9c(0x191)]();_0xffa4c2[_0x28ec9c(0x15e)](_0x28ec9c(0x17d),_0xb3b8b5[_0x28ec9c(0x11b)][_0x28ec9c(0x10b)](_0x28ec9c(0x17d))||_0x28ec9c(0x138));try{const _0x34c347=JSON[_0x28ec9c(0x18a)](_0x2b97dd);_0x34c347[_0x28ec9c(0x168)]&&await this[_0x28ec9c(0x14e)](_0x386948,_0x44478f,_0x34c347[_0x28ec9c(0x168)]['input_tokens']||0x0,_0x34c347[_0x28ec9c(0x168)][_0x28ec9c(0x12f)]||0x0,_0x34c347['usage']['cache_creation_input_tokens'],_0x34c347[_0x28ec9c(0x168)][_0x28ec9c(0x127)]);}catch{}return _0xffa4c2['send'](_0x2b97dd);}}catch(_0x440105){const _0x4c115e=_0x440105 instanceof Error?_0x440105[_0x28ec9c(0x19a)]:_0x28ec9c(0x166),_0x18063d=_0x440105 instanceof Error&&_0x440105['name']===_0x28ec9c(0x122);this['logger'][_0x28ec9c(0x147)](_0x28ec9c(0x12d),_0x440105),_0xffa4c2[_0x28ec9c(0x162)](_0x18063d?0x1f8:0x1f7)[_0x28ec9c(0xfe)]({'type':'error','error':{'type':_0x18063d?_0x28ec9c(0x181):_0x28ec9c(0x179),'message':_0x18063d?'Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20'+_0x193319+'ms':_0x28ec9c(0x134)+_0x4c115e}});}}async['handleStreamingResponse'](_0x1690c2,_0x32888f,_0x153cfa,_0x1a5aff){const _0x3c1945=a78_0x1f2320;_0x32888f[_0x3c1945(0x177)][_0x3c1945(0x13c)](0xc8,{'Content-Type':'text/event-stream','Cache-Control':_0x3c1945(0x118),'Connection':_0x3c1945(0x17c)});const _0x129311=new SSEUsageTracker(),_0x13ae5d=_0x1690c2[_0x3c1945(0x17f)](),_0xfbff07=new TextDecoder();try{while(!![]){const {done:_0x5e1570,value:_0x204908}=await _0x13ae5d[_0x3c1945(0x14c)]();if(_0x5e1570)break;const _0x2f1295=_0xfbff07[_0x3c1945(0x140)](_0x204908,{'stream':!![]});_0x129311[_0x3c1945(0x174)](_0x2f1295),_0x32888f[_0x3c1945(0x177)][_0x3c1945(0x124)](_0x2f1295);}_0x129311[_0x3c1945(0x190)]();const _0x58f413=_0x129311[_0x3c1945(0x120)]();(_0x58f413['inputTokens']>0x0||_0x58f413[_0x3c1945(0x10f)]>0x0)&&await this[_0x3c1945(0x14e)](_0x153cfa,_0x1a5aff,_0x58f413[_0x3c1945(0x146)],_0x58f413[_0x3c1945(0x10f)],_0x58f413['cacheCreationInputTokens'],_0x58f413[_0x3c1945(0x13d)]);}catch(_0xd8682d){this[_0x3c1945(0x167)][_0x3c1945(0x147)]('[PASSTHROUGH]\x20Stream\x20error:',_0xd8682d);const _0x3124ba=_0x3c1945(0x13a)+JSON['stringify']({'type':'error','error':{'type':_0x3c1945(0x133),'message':_0x3c1945(0x139)}})+'\x0a\x0a';_0x32888f[_0x3c1945(0x177)]['write'](_0x3124ba);}finally{_0x32888f[_0x3c1945(0x177)][_0x3c1945(0x195)]();}}async[a78_0x1f2320(0x187)](_0x3c3daf,_0x2665f6){const _0x306219=a78_0x1f2320,_0x146e9f=_0x3c3daf[_0x306219(0x15a)],_0x2b7368=_0x3c3daf[_0x306219(0x192)]['includes']('?')?_0x3c3daf[_0x306219(0x192)][_0x306219(0x103)](_0x3c3daf['url']['indexOf']('?')):'',_0x400e52=this[_0x306219(0x112)][_0x306219(0x154)]+'/v1/messages/count_tokens'+_0x2b7368,_0xff11e8=this['buildForwardHeaders'](_0x3c3daf),_0x10613f=_0x146e9f[_0x306219(0x110)]||_0x306219(0x12e),_0x264018=shouldInjectSystemPrompt(_0x10613f)?injectSystemPrompt(_0x146e9f,TDX_SYSTEM_PROMPT):_0x146e9f,_0x3e6948=JSON[_0x306219(0x194)](_0x264018);this['logger'][_0x306219(0x16b)](_0x306219(0x10e)+_0x400e52);const _0x3498ab=this[_0x306219(0x112)][_0x306219(0x11d)]||DEFAULT_TIMEOUT_MS;try{const _0x405c35=await fetch(_0x400e52,{'method':_0x306219(0x185),'headers':_0xff11e8,'body':_0x3e6948,'signal':AbortSignal[_0x306219(0x10a)](_0x3498ab)}),_0x7aac0d=await _0x405c35[_0x306219(0x191)]();return _0x2665f6[_0x306219(0x162)](_0x405c35[_0x306219(0x183)]),_0x2665f6[_0x306219(0x15e)](_0x306219(0x17d),_0x405c35['headers']['get'](_0x306219(0x17d))||_0x306219(0x138)),_0x2665f6[_0x306219(0xfe)](_0x7aac0d);}catch(_0x23324e){const _0x3bbbe0=_0x23324e instanceof Error?_0x23324e[_0x306219(0x19a)]:_0x306219(0x166),_0x4c3b00=_0x23324e instanceof Error&&_0x23324e[_0x306219(0x199)]===_0x306219(0x122);this[_0x306219(0x167)][_0x306219(0x147)](_0x306219(0x15f),_0x23324e),_0x2665f6['code'](_0x4c3b00?0x1f8:0x1f7)['send']({'type':_0x306219(0x147),'error':{'type':_0x4c3b00?'timeout_error':_0x306219(0x179),'message':_0x4c3b00?_0x306219(0x18b)+_0x3498ab+'ms':'Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20'+_0x3bbbe0}});}}async[a78_0x1f2320(0x14e)](_0x5172f8,_0x7ec86c,_0x4ede15,_0x146eb7,_0x5190eb,_0x4c3de9){const _0x202496=a78_0x1f2320,_0x2ebf5f={'timestamp':new Date()['toISOString'](),'model':_0x7ec86c,'inputTokens':_0x4ede15,'outputTokens':_0x146eb7,'cacheCreationInputTokens':_0x5190eb,'cacheReadInputTokens':_0x4c3de9,'profile':this['config']['profile'],'source':_0x202496(0x102)},_0xb8e068=_0x5190eb||_0x4c3de9?_0x202496(0x114)+(_0x5190eb||0x0)+_0x202496(0xfb)+(_0x4c3de9||0x0):'';this[_0x202496(0x167)][_0x202496(0x16b)](_0x202496(0x16c)+_0x4ede15+_0x202496(0x125)+_0x146eb7+_0xb8e068+_0x202496(0x104)+_0x7ec86c);try{await appendUsageEntry(_0x5172f8,_0x2ebf5f);}catch(_0x551389){this[_0x202496(0x167)][_0x202496(0x147)](_0x202496(0x14a),_0x551389);}}[a78_0x1f2320(0x16a)](){const _0x1c5103=a78_0x1f2320;if(this[_0x1c5103(0x112)][_0x1c5103(0x186)][_0x1c5103(0x11f)]!==_0x1c5103(0x165))return;this[_0x1c5103(0x157)]=setInterval(()=>{const _0x457004=_0x1c5103;void this[_0x457004(0xff)]();},TOKEN_REFRESH_INTERVAL_MS),this[_0x1c5103(0x157)][_0x1c5103(0x159)]();}async[a78_0x1f2320(0xff)](){const _0x29d84d=a78_0x1f2320,{auth:_0x37b34a}=this[_0x29d84d(0x112)];if(_0x37b34a[_0x29d84d(0x11f)]!==_0x29d84d(0x165))return;const _0x576343=!_0x37b34a[_0x29d84d(0x151)]||_0x37b34a['expiresAt']<Date[_0x29d84d(0x107)]()+TOKEN_EXPIRY_BUFFER_MS;if(!_0x576343)return;try{const _0x4a253e=await refreshAccessToken(_0x37b34a[_0x29d84d(0x17a)],_0x37b34a[_0x29d84d(0x142)]);_0x37b34a[_0x29d84d(0x193)]=_0x4a253e[_0x29d84d(0xfc)],_0x37b34a['refreshToken']=_0x4a253e['refresh_token'],_0x37b34a[_0x29d84d(0x151)]=_0x4a253e[_0x29d84d(0x13f)],await saveOAuthTokens(_0x4a253e,this['config'][_0x29d84d(0x160)]),this[_0x29d84d(0x167)][_0x29d84d(0x173)](_0x29d84d(0x116));}catch(_0x5bd167){this[_0x29d84d(0x167)][_0x29d84d(0x147)](_0x29d84d(0x198),_0x5bd167);}}async[a78_0x1f2320(0x12b)](){const _0x53072d=a78_0x1f2320,_0x2685fa=this[_0x53072d(0x112)]['maxPortAttempts']??0x64;for(let _0x2cda10=0x0;_0x2cda10<_0x2685fa;_0x2cda10++){const _0x5bbcd8=this[_0x53072d(0x112)]['startPort']+_0x2cda10;try{await this['server']['listen']({'port':_0x5bbcd8,'host':_0x53072d(0x141)}),this[_0x53072d(0x11a)]=_0x5bbcd8,this[_0x53072d(0x167)][_0x53072d(0x173)]('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+_0x5bbcd8),this[_0x53072d(0x167)]['info']('Forwarding\x20to:\x20'+this[_0x53072d(0x112)][_0x53072d(0x154)]),this[_0x53072d(0x16a)]();return;}catch(_0x43d069){const _0x5cd350=_0x43d069 instanceof Error&&_0x53072d(0x162)in _0x43d069&&_0x43d069['code']===_0x53072d(0x12c);if(!_0x5cd350)throw _0x43d069;this[_0x53072d(0x167)][_0x53072d(0x16b)](_0x53072d(0x101)+_0x5bbcd8+_0x53072d(0x189)),this[_0x53072d(0x16d)]();}}const _0x24defc=this[_0x53072d(0x112)][_0x53072d(0x11c)]+_0x2685fa-0x1;throw new Error(_0x53072d(0x172)+this[_0x53072d(0x112)][_0x53072d(0x11c)]+_0x53072d(0x100)+_0x24defc);}async[a78_0x1f2320(0x175)](){const _0x4be2f6=a78_0x1f2320;this[_0x4be2f6(0x157)]&&(clearInterval(this['refreshTimer']),this[_0x4be2f6(0x157)]=undefined),await this[_0x4be2f6(0x117)][_0x4be2f6(0x108)](),this[_0x4be2f6(0x167)]['info']('Pass-through\x20proxy\x20server\x20stopped');}['getAddress'](){const _0x7d37b5=a78_0x1f2320;return'http://127.0.0.1:'+this[_0x7d37b5(0x169)];}}function a78_0x3e99(){const _0xcfed8e=['OPTIONS','now','close','20Gjjcfg','timeout','get','Error\x20body:\x20','isArray','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','outputTokens','model','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','config','handleMessages',',\x20cache_create=','371RIRtsB','[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully','server','no-cache','Authorization','_boundPort','headers','startPort','timeoutMs','metadata','type','getUsage','1171728VypQgg','TimeoutError','post','write',',\x20output=','toLowerCase','cache_read_input_tokens','transfer-encoding','TD1\x20','haiku','start','EADDRINUSE','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','unknown','output_tokens','1974634PSUFPp','x-api-key','setupRoutes','stream_error','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','method','default',',\x20stream=','application/json','Stream\x20interrupted','event:\x20error\x0adata:\x20','register','writeHead','cacheReadInputTokens','SKIP_HEADERS','expires_at','decode','127.0.0.1','refreshToken','stream','1573488LmeGzZ','indexOf','inputTokens','error','string','737814udseTe','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','entries','read','messages','logUsage','join','|\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|','expiresAt','[PASSTHROUGH]\x20','Forwarding\x20to:\x20','llmProxyUrl','buildForwardHeaders','user_id','refreshTimer','/v1/messages','unref','body','match','160yGYRqo','/health','header','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','profile','has','code','setupJsonParser','|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a','oauth','Unknown\x20error','logger','usage','port','startTokenRefreshTimer','debug','[PASSTHROUGH]\x20Usage:\x20input=','createServer','57392PXqLHf','connection','includes','10319796FnYQBE','No\x20available\x20port\x20found\x20between\x20','info','processChunk','stop','authorization','raw','X-TD-Client','api_error','consoleUrl','anthropic-version','keep-alive','Content-Type','setErrorHandler','getReader','handleStreamingResponse','timeout_error','startsWith','status','X-TD-Client-Version','POST','auth','handleCountTokens','[PASSTHROUGH\x20PROXY\x20ERROR]:','\x20in\x20use,\x20trying\x20next...','parse','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','11EgTXca','x-td-','10FUEBNr','user-agent','flush','text','url','accessToken','stringify','end','160698DtpzNi','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','[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:','name','message','/v1/messages/count_tokens',',\x20cache_read=','access_token','tdx','send','refreshTokenIfNeeded','\x20and\x20','Port\x20','tdx-claude','slice',',\x20model=','tdx/'];a78_0x3e99=function(){return _0xcfed8e;};return a78_0x3e99();}
1
+ const a78_0x1facab=a78_0x1b5b;(function(_0x62e4dd,_0x33d096){const _0x5f03d0=a78_0x1b5b,_0x36799a=_0x62e4dd();while(!![]){try{const _0x1f5263=-parseInt(_0x5f03d0(0x1f1))/0x1*(-parseInt(_0x5f03d0(0x20b))/0x2)+parseInt(_0x5f03d0(0x22d))/0x3*(-parseInt(_0x5f03d0(0x202))/0x4)+parseInt(_0x5f03d0(0x1ca))/0x5+parseInt(_0x5f03d0(0x1bc))/0x6+-parseInt(_0x5f03d0(0x1e5))/0x7+parseInt(_0x5f03d0(0x1d6))/0x8+-parseInt(_0x5f03d0(0x21e))/0x9;if(_0x1f5263===_0x33d096)break;else _0x36799a['push'](_0x36799a['shift']());}catch(_0x2cffa1){_0x36799a['push'](_0x36799a['shift']());}}}(a78_0x2b1e,0xaa778));import a78_0x3a2a8c from'fastify';function a78_0x2b1e(){const _0x57fd31=['tdx','x-api-key','application/json','[PASSTHROUGH]\x20Stream\x20error:','cacheCreationInputTokens','[PASSTHROUGH\x20PROXY\x20ERROR]:','write','body','refreshTimer','toLowerCase','access_token','1384684xiTzuU','llmProxyUrl','stream_error','url','slice','host','timeout_error','handleStreamingResponse','config','output_tokens','unref','join','3WPayFj',',\x20cache_read=','headers','X-TD-Client','OPTIONS','tdx/','raw',',\x20model=','keep-alive','[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully','User-Agent','profile','No\x20available\x20port\x20found\x20between\x20','Server\x20has\x20not\x20been\x20started\x20yet','register','model','[PASSTHROUGH]\x20Usage:\x20input=','679324yPGzTj','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','includes','setupMiddleware','getReader','listen','Port\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','startTokenRefreshTimer','826682buxAIh','parse','metadata','127.0.0.1','maxPortAttempts','timeoutMs','type','processChunk','input_tokens','accessToken','/v1/messages','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','indexOf','anthropic-version','TimeoutError','[PASSTHROUGH]\x20','get','/v1/messages/count_tokens','user-agent','23059863IdKKvS','length','post','toISOString','transfer-encoding','port','logUsage','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','[PASSTHROUGH]\x20Upstream\x20error:\x20','logger','authorization','method','message','refreshTokenIfNeeded','default','6auAvOA','text/event-stream','createServer','expiresAt','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20',',\x20stream=','info','name','Bearer\x20','read','handleMessages','string','isArray','stop','user_id','refresh_token','Authorization','cacheReadInputTokens','refreshToken','no-cache','oauth','Forwarding\x20to:\x20','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','Content-Type','SKIP_HEADERS','haiku','cache_creation_input_tokens','POST','decode','event:\x20error\x0adata:\x20','http://127.0.0.1:','error','getAddress','Unknown\x20error','debug','setupJsonParser','X-TD-Client-Version','send','auth','Pass-through\x20proxy\x20server\x20stopped','buildForwardHeaders','messages','inputTokens','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','startPort','api_error','setupRoutes','\x20and\x20','4958172bUtSsu','stringify','|\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|','apiKey','header','usage','server','consoleUrl','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20','handleCountTokens','outputTokens','x-td-','has','4278185hykbWv','TD1\x20','cache_read_input_tokens','_boundPort','[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:','unknown','flush','end','now','statusText','code','status','7007128gzHRSc','timeout','text','writeHead'];a78_0x2b1e=function(){return _0x57fd31;};return a78_0x2b1e();}import a78_0x3fffdf from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';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_0x1facab(0x209)+(isExperimentalAvailable()?'|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a':'')+a78_0x1facab(0x1be);function a78_0x1b5b(_0x379640,_0x21de54){_0x379640=_0x379640-0x1b0;const _0x2b1e12=a78_0x2b1e();let _0x1b5bc9=_0x2b1e12[_0x379640];return _0x1b5bc9;}function extractSessionUUID(_0x3c2245){const _0x212261=_0x3c2245['match'](/_session_([a-f0-9-]+)$/i);if(_0x212261)return _0x212261[0x1];return _0x3c2245;}export function injectSystemPrompt(_0x430234,_0x435931){const _0x41c55c=a78_0x1facab,_0x41a28a=_0x430234['system'];if(!_0x41a28a)return{..._0x430234,'system':_0x435931};if(typeof _0x41a28a===_0x41c55c(0x238))return{..._0x430234,'system':_0x41a28a+'\x0a\x0a'+_0x435931};if(Array['isArray'](_0x41a28a)){const _0x573e64={'type':_0x41c55c(0x1d8),'text':_0x435931};return{..._0x430234,'system':[..._0x41a28a,_0x573e64]};}return _0x430234;}export function shouldInjectSystemPrompt(_0x3b85bb){const _0x19f6b1=a78_0x1facab;return!_0x3b85bb['toLowerCase']()[_0x19f6b1(0x204)](_0x19f6b1(0x246));}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8,TOKEN_EXPIRY_BUFFER_MS=0x5*0x3c*0x3e8;export class PassThroughProxyServer{[a78_0x1facab(0x1c2)];[a78_0x1facab(0x1ed)];[a78_0x1facab(0x227)];[a78_0x1facab(0x1cd)];[a78_0x1facab(0x1e2)];constructor(_0x1ba9dc){const _0xf22718=a78_0x1facab;this['config']=_0x1ba9dc,this[_0xf22718(0x227)]=_0x1ba9dc['logger'],this['server']=this[_0xf22718(0x22f)]();}get['port'](){const _0x3f9512=a78_0x1facab;if(this[_0x3f9512(0x1cd)]===undefined)throw new Error(_0x3f9512(0x1fe));return this[_0x3f9512(0x1cd)];}['createServer'](){const _0x3ebcba=a78_0x1facab,_0xf3dadc=a78_0x3a2a8c({'logger':![],'bodyLimit':0x40*0x400*0x400});return this[_0x3ebcba(0x1c2)]=_0xf3dadc,this['setupJsonParser'](),this[_0x3ebcba(0x205)](),this[_0x3ebcba(0x1ba)](),_0xf3dadc;}[a78_0x1facab(0x250)](){const _0x11579e=a78_0x1facab;this[_0x11579e(0x1c2)]['addContentTypeParser'](_0x11579e(0x1dc),{'parseAs':'string'},(_0x44c761,_0x17bacf,_0xc9c8a)=>{try{const _0x41234f=JSON['parse'](_0x17bacf);_0xc9c8a(null,_0x41234f);}catch(_0x49cb23){_0xc9c8a(_0x49cb23,undefined);}});}['setupMiddleware'](){const _0x316075=a78_0x1facab;this[_0x316075(0x1c2)][_0x316075(0x1ff)](a78_0x3fffdf,{'origin':!![],'methods':['GET',_0x316075(0x248),_0x316075(0x1f5)],'allowedHeaders':[_0x316075(0x244),_0x316075(0x23d),_0x316075(0x218),_0x316075(0x1db)]}),this[_0x316075(0x1c2)]['setErrorHandler']((_0x4f44c1,_0x1d5180,_0x42f688)=>{const _0x45e854=_0x316075,_0x227159=_0x4f44c1 instanceof Error?_0x4f44c1[_0x45e854(0x22a)]:'Unknown\x20error';this['logger']['error'](_0x45e854(0x1df),_0x4f44c1),_0x42f688['code'](0x1f4)['send']({'type':_0x45e854(0x24c),'error':{'type':'api_error','message':_0x227159}});});}[a78_0x1facab(0x1ba)](){const _0x4d4ff1=a78_0x1facab;this[_0x4d4ff1(0x1c2)][_0x4d4ff1(0x21b)]('/health',async()=>{const _0x41b8ba=_0x4d4ff1;return{'status':'ok','message':_0x41b8ba(0x216)};}),this['server'][_0x4d4ff1(0x220)](_0x4d4ff1(0x215),async(_0x58d3f4,_0x1863ea)=>{return this['handleMessages'](_0x58d3f4,_0x1863ea);}),this['server'][_0x4d4ff1(0x220)](_0x4d4ff1(0x21c),async(_0x3c9dc1,_0xb7e369)=>{return this['handleCountTokens'](_0x3c9dc1,_0xb7e369);});}static [a78_0x1facab(0x245)]=new Set([a78_0x1facab(0x1ea),'connection','content-length',a78_0x1facab(0x222),a78_0x1facab(0x228),'x-api-key',a78_0x1facab(0x21d)]);[a78_0x1facab(0x1b4)](_0x557e25){const _0x421be4=a78_0x1facab,_0x5e1171={};for(const [_0x981e51,_0x38d139]of Object['entries'](_0x557e25[_0x421be4(0x1f3)])){const _0x3c4b47=_0x981e51[_0x421be4(0x1e3)]();if(PassThroughProxyServer[_0x421be4(0x245)][_0x421be4(0x1c9)](_0x3c4b47))continue;if(_0x3c4b47['startsWith'](_0x421be4(0x1c8)))continue;if(typeof _0x38d139===_0x421be4(0x238))_0x5e1171[_0x981e51]=_0x38d139;else Array['isArray'](_0x38d139)&&(_0x5e1171[_0x981e51]=_0x38d139[_0x421be4(0x1f0)](',\x20'));}const _0x8309bd=getVersion(),{auth:_0xf55e78}=this['config'];return _0x5e1171['Authorization']=_0xf55e78[_0x421be4(0x211)]===_0x421be4(0x241)?_0x421be4(0x235)+_0xf55e78['accessToken']:_0x421be4(0x1cb)+_0xf55e78[_0x421be4(0x1bf)],_0x5e1171[_0x421be4(0x1fb)]=_0x421be4(0x1f6)+_0x8309bd,_0x5e1171[_0x421be4(0x1f4)]=_0x421be4(0x1da),_0x5e1171[_0x421be4(0x1b0)]=_0x8309bd,_0x5e1171;}async[a78_0x1facab(0x237)](_0x50cb86,_0x3591c5){const _0x35547a=a78_0x1facab,_0x483160=_0x50cb86[_0x35547a(0x1e1)],_0x1865a3=_0x483160['stream']!==![],_0x1e71c5=_0x483160[_0x35547a(0x20d)],_0x4453cf=_0x1e71c5?.[_0x35547a(0x23b)]||_0x35547a(0x22c),_0x42a741=extractSessionUUID(_0x4453cf),_0xe32611=_0x483160[_0x35547a(0x200)]||_0x35547a(0x1cf),_0x4e9ab5=shouldInjectSystemPrompt(_0xe32611)?injectSystemPrompt(_0x483160,TDX_SYSTEM_PROMPT):_0x483160,_0x7dbf2c=JSON[_0x35547a(0x1bd)](_0x4e9ab5),_0x3d7ed8=Array[_0x35547a(0x239)](_0x483160[_0x35547a(0x1b5)])?_0x483160[_0x35547a(0x1b5)][_0x35547a(0x21f)]:0x0;this[_0x35547a(0x227)][_0x35547a(0x233)](_0x35547a(0x21a)+_0x50cb86[_0x35547a(0x229)]+'\x20'+_0x50cb86[_0x35547a(0x1e8)]+':\x20messages='+_0x3d7ed8+_0x35547a(0x1f8)+_0xe32611+_0x35547a(0x232)+_0x1865a3);const _0x1c00b7=_0x50cb86[_0x35547a(0x1e8)][_0x35547a(0x204)]('?')?_0x50cb86['url']['slice'](_0x50cb86[_0x35547a(0x1e8)][_0x35547a(0x217)]('?')):'',_0x26506e=this['config'][_0x35547a(0x1e6)]+_0x35547a(0x215)+_0x1c00b7,_0x32b6e6=this[_0x35547a(0x1b4)](_0x50cb86);this[_0x35547a(0x227)]['debug'](_0x35547a(0x242)+_0x26506e);const _0x33bc28=this[_0x35547a(0x1ed)][_0x35547a(0x210)]||DEFAULT_TIMEOUT_MS;try{const _0x25ac87=await fetch(_0x26506e,{'method':_0x35547a(0x248),'headers':_0x32b6e6,'body':_0x7dbf2c,'signal':AbortSignal[_0x35547a(0x1d7)](_0x33bc28)});if(!_0x25ac87['ok']){const _0x1a4156=await _0x25ac87[_0x35547a(0x1d8)]();return this[_0x35547a(0x227)][_0x35547a(0x24c)](_0x35547a(0x226)+_0x25ac87[_0x35547a(0x1d5)]+'\x20'+_0x25ac87[_0x35547a(0x1d3)]),this[_0x35547a(0x227)][_0x35547a(0x24f)]('Error\x20body:\x20'+_0x1a4156),_0x3591c5[_0x35547a(0x1d4)](_0x25ac87[_0x35547a(0x1d5)]),_0x3591c5['header'](_0x35547a(0x244),_0x25ac87[_0x35547a(0x1f3)][_0x35547a(0x21b)](_0x35547a(0x244))||'application/json'),_0x3591c5[_0x35547a(0x1b1)](_0x1a4156);}if(_0x1865a3&&_0x25ac87[_0x35547a(0x1e1)])await this['handleStreamingResponse'](_0x25ac87[_0x35547a(0x1e1)],_0x3591c5,_0x42a741,_0xe32611);else{const _0x1a5584=await _0x25ac87[_0x35547a(0x1d8)]();_0x3591c5['header'](_0x35547a(0x244),_0x25ac87['headers'][_0x35547a(0x21b)](_0x35547a(0x244))||_0x35547a(0x1dc));try{const _0x3c0ba1=JSON[_0x35547a(0x20c)](_0x1a5584);_0x3c0ba1[_0x35547a(0x1c1)]&&await this[_0x35547a(0x224)](_0x42a741,_0xe32611,_0x3c0ba1[_0x35547a(0x1c1)][_0x35547a(0x213)]||0x0,_0x3c0ba1['usage'][_0x35547a(0x1ee)]||0x0,_0x3c0ba1[_0x35547a(0x1c1)][_0x35547a(0x247)],_0x3c0ba1[_0x35547a(0x1c1)][_0x35547a(0x1cc)]);}catch{}return _0x3591c5[_0x35547a(0x1b1)](_0x1a5584);}}catch(_0x37931d){const _0x1366d0=_0x37931d instanceof Error?_0x37931d[_0x35547a(0x22a)]:_0x35547a(0x24e),_0x921d0=_0x37931d instanceof Error&&_0x37931d[_0x35547a(0x234)]===_0x35547a(0x219);this[_0x35547a(0x227)][_0x35547a(0x24c)](_0x35547a(0x203),_0x37931d),_0x3591c5[_0x35547a(0x1d4)](_0x921d0?0x1f8:0x1f7)[_0x35547a(0x1b1)]({'type':'error','error':{'type':_0x921d0?_0x35547a(0x1eb):_0x35547a(0x1b9),'message':_0x921d0?'Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20'+_0x33bc28+'ms':_0x35547a(0x1b7)+_0x1366d0}});}}async[a78_0x1facab(0x1ec)](_0x34aeeb,_0x17a0dc,_0x23f5f2,_0x5b6825){const _0x571fd5=a78_0x1facab;_0x17a0dc[_0x571fd5(0x1f7)][_0x571fd5(0x1d9)](0xc8,{'Content-Type':_0x571fd5(0x22e),'Cache-Control':_0x571fd5(0x240),'Connection':_0x571fd5(0x1f9)});const _0x5cf9b8=new SSEUsageTracker(),_0x5066f3=_0x34aeeb[_0x571fd5(0x206)](),_0x354f28=new TextDecoder();try{while(!![]){const {done:_0x3c7564,value:_0xa4c37}=await _0x5066f3[_0x571fd5(0x236)]();if(_0x3c7564)break;const _0xc71439=_0x354f28[_0x571fd5(0x249)](_0xa4c37,{'stream':!![]});_0x5cf9b8[_0x571fd5(0x212)](_0xc71439),_0x17a0dc[_0x571fd5(0x1f7)][_0x571fd5(0x1e0)](_0xc71439);}_0x5cf9b8[_0x571fd5(0x1d0)]();const _0xe5f248=_0x5cf9b8['getUsage']();(_0xe5f248[_0x571fd5(0x1b6)]>0x0||_0xe5f248[_0x571fd5(0x1c7)]>0x0)&&await this[_0x571fd5(0x224)](_0x23f5f2,_0x5b6825,_0xe5f248[_0x571fd5(0x1b6)],_0xe5f248['outputTokens'],_0xe5f248[_0x571fd5(0x1de)],_0xe5f248[_0x571fd5(0x23e)]);}catch(_0x26a12e){this[_0x571fd5(0x227)][_0x571fd5(0x24c)](_0x571fd5(0x1dd),_0x26a12e);const _0x570e4d=_0x571fd5(0x24a)+JSON[_0x571fd5(0x1bd)]({'type':'error','error':{'type':_0x571fd5(0x1e7),'message':'Stream\x20interrupted'}})+'\x0a\x0a';_0x17a0dc[_0x571fd5(0x1f7)][_0x571fd5(0x1e0)](_0x570e4d);}finally{_0x17a0dc[_0x571fd5(0x1f7)][_0x571fd5(0x1d1)]();}}async[a78_0x1facab(0x1c6)](_0x1814c1,_0x3c2959){const _0x4760c9=a78_0x1facab,_0x5e0ac3=_0x1814c1[_0x4760c9(0x1e1)],_0x1972e9=_0x1814c1['url'][_0x4760c9(0x204)]('?')?_0x1814c1['url'][_0x4760c9(0x1e9)](_0x1814c1[_0x4760c9(0x1e8)][_0x4760c9(0x217)]('?')):'',_0x40b71b=this['config']['llmProxyUrl']+'/v1/messages/count_tokens'+_0x1972e9,_0x45585a=this[_0x4760c9(0x1b4)](_0x1814c1),_0x57cb54=_0x5e0ac3[_0x4760c9(0x200)]||_0x4760c9(0x1cf),_0x5b2606=shouldInjectSystemPrompt(_0x57cb54)?injectSystemPrompt(_0x5e0ac3,TDX_SYSTEM_PROMPT):_0x5e0ac3,_0x118db5=JSON[_0x4760c9(0x1bd)](_0x5b2606);this[_0x4760c9(0x227)][_0x4760c9(0x24f)](_0x4760c9(0x225)+_0x40b71b);const _0x5121f9=this[_0x4760c9(0x1ed)][_0x4760c9(0x210)]||DEFAULT_TIMEOUT_MS;try{const _0x303686=await fetch(_0x40b71b,{'method':_0x4760c9(0x248),'headers':_0x45585a,'body':_0x118db5,'signal':AbortSignal[_0x4760c9(0x1d7)](_0x5121f9)}),_0x18da23=await _0x303686[_0x4760c9(0x1d8)]();return _0x3c2959['code'](_0x303686['status']),_0x3c2959[_0x4760c9(0x1c0)](_0x4760c9(0x244),_0x303686[_0x4760c9(0x1f3)][_0x4760c9(0x21b)]('Content-Type')||_0x4760c9(0x1dc)),_0x3c2959[_0x4760c9(0x1b1)](_0x18da23);}catch(_0x22c7fa){const _0x172566=_0x22c7fa instanceof Error?_0x22c7fa[_0x4760c9(0x22a)]:_0x4760c9(0x24e),_0x46d21e=_0x22c7fa instanceof Error&&_0x22c7fa[_0x4760c9(0x234)]===_0x4760c9(0x219);this[_0x4760c9(0x227)]['error'](_0x4760c9(0x243),_0x22c7fa),_0x3c2959[_0x4760c9(0x1d4)](_0x46d21e?0x1f8:0x1f7)[_0x4760c9(0x1b1)]({'type':_0x4760c9(0x24c),'error':{'type':_0x46d21e?_0x4760c9(0x1eb):_0x4760c9(0x1b9),'message':_0x46d21e?_0x4760c9(0x231)+_0x5121f9+'ms':_0x4760c9(0x1b7)+_0x172566}});}}async['logUsage'](_0x197955,_0x35157d,_0x4a95a9,_0x1dabde,_0x5debaf,_0x4b8bab){const _0x4c9b32=a78_0x1facab,_0x230a1e={'timestamp':new Date()[_0x4c9b32(0x221)](),'model':_0x35157d,'inputTokens':_0x4a95a9,'outputTokens':_0x1dabde,'cacheCreationInputTokens':_0x5debaf,'cacheReadInputTokens':_0x4b8bab,'profile':this[_0x4c9b32(0x1ed)][_0x4c9b32(0x1fc)],'source':'tdx-claude'},_0x2f36d7=_0x5debaf||_0x4b8bab?',\x20cache_create='+(_0x5debaf||0x0)+_0x4c9b32(0x1f2)+(_0x4b8bab||0x0):'';this[_0x4c9b32(0x227)][_0x4c9b32(0x24f)](_0x4c9b32(0x201)+_0x4a95a9+',\x20output='+_0x1dabde+_0x2f36d7+',\x20model='+_0x35157d);try{await appendUsageEntry(_0x197955,_0x230a1e);}catch(_0x421172){this[_0x4c9b32(0x227)][_0x4c9b32(0x24c)](_0x4c9b32(0x1c4),_0x421172);}}['startTokenRefreshTimer'](){const _0x111385=a78_0x1facab;if(this[_0x111385(0x1ed)][_0x111385(0x1b2)]['type']!==_0x111385(0x241))return;this[_0x111385(0x1e2)]=setInterval(()=>{const _0x142fb7=_0x111385;void this[_0x142fb7(0x22b)]();},TOKEN_REFRESH_INTERVAL_MS),this[_0x111385(0x1e2)][_0x111385(0x1ef)]();}async[a78_0x1facab(0x22b)](){const _0x14f901=a78_0x1facab,{auth:_0x4a2b75}=this[_0x14f901(0x1ed)];if(_0x4a2b75[_0x14f901(0x211)]!==_0x14f901(0x241))return;const _0x16cd91=!_0x4a2b75[_0x14f901(0x230)]||_0x4a2b75[_0x14f901(0x230)]<Date[_0x14f901(0x1d2)]()+TOKEN_EXPIRY_BUFFER_MS;if(!_0x16cd91)return;try{const _0x10368f=await refreshAccessToken(_0x4a2b75[_0x14f901(0x1c3)],_0x4a2b75[_0x14f901(0x23f)]);_0x4a2b75[_0x14f901(0x214)]=_0x10368f[_0x14f901(0x1e4)],_0x4a2b75[_0x14f901(0x23f)]=_0x10368f[_0x14f901(0x23c)],_0x4a2b75['expiresAt']=_0x10368f['expires_at'],await saveOAuthTokens(_0x10368f,this[_0x14f901(0x1ed)][_0x14f901(0x1fc)]),this[_0x14f901(0x227)]['info'](_0x14f901(0x1fa));}catch(_0x31104f){this[_0x14f901(0x227)][_0x14f901(0x24c)](_0x14f901(0x1ce),_0x31104f);}}async['start'](){const _0x4eaaa3=a78_0x1facab,_0x268e47=this[_0x4eaaa3(0x1ed)][_0x4eaaa3(0x20f)]??0x64;for(let _0x2ab04f=0x0;_0x2ab04f<_0x268e47;_0x2ab04f++){const _0x53bc0f=this[_0x4eaaa3(0x1ed)]['startPort']+_0x2ab04f;try{await this[_0x4eaaa3(0x1c2)][_0x4eaaa3(0x207)]({'port':_0x53bc0f,'host':_0x4eaaa3(0x20e)}),this[_0x4eaaa3(0x1cd)]=_0x53bc0f,this[_0x4eaaa3(0x227)][_0x4eaaa3(0x233)](_0x4eaaa3(0x1c5)+_0x53bc0f),this[_0x4eaaa3(0x227)][_0x4eaaa3(0x233)](_0x4eaaa3(0x242)+this['config'][_0x4eaaa3(0x1e6)]),this[_0x4eaaa3(0x20a)]();return;}catch(_0xc23328){const _0x167c84=_0xc23328 instanceof Error&&_0x4eaaa3(0x1d4)in _0xc23328&&_0xc23328[_0x4eaaa3(0x1d4)]==='EADDRINUSE';if(!_0x167c84)throw _0xc23328;this['logger'][_0x4eaaa3(0x24f)](_0x4eaaa3(0x208)+_0x53bc0f+'\x20in\x20use,\x20trying\x20next...'),this[_0x4eaaa3(0x22f)]();}}const _0x49376c=this['config'][_0x4eaaa3(0x1b8)]+_0x268e47-0x1;throw new Error(_0x4eaaa3(0x1fd)+this['config'][_0x4eaaa3(0x1b8)]+_0x4eaaa3(0x1bb)+_0x49376c);}async[a78_0x1facab(0x23a)](){const _0xa8aa05=a78_0x1facab;this[_0xa8aa05(0x1e2)]&&(clearInterval(this['refreshTimer']),this['refreshTimer']=undefined),await this[_0xa8aa05(0x1c2)]['close'](),this[_0xa8aa05(0x227)][_0xa8aa05(0x233)](_0xa8aa05(0x1b3));}[a78_0x1facab(0x24d)](){const _0x8b0c8e=a78_0x1facab;return _0x8b0c8e(0x24b)+this[_0x8b0c8e(0x223)];}}
@@ -1 +1 @@
1
- function a79_0x4204(){const _0x274263=['trim','onRawUsage','output_tokens','204SLTefk','405234wFRjUD','cacheReadInputTokens','split','inputTokens','2917zlphEb','updateFromUsage','flush','startsWith','4nTRbKV','processChunk','14CNjbhI','slice','message_delta','reset','cache_creation_input_tokens','event','cacheCreationInputTokens','max','push','data','event:\x20','3214888NIqBJY','pop','message_start','cache_read_input_tokens','buffer','13526870BlRqem','2914885EKoiCm','usage','unknown','input_tokens','parse','404328IjqSmw','message','outputTokens','2666799okXtuh'];a79_0x4204=function(){return _0x274263;};return a79_0x4204();}const a79_0x5274a4=a79_0x114c;function a79_0x114c(_0x5891c2,_0x5c1986){_0x5891c2=_0x5891c2-0xed;const _0x4204dd=a79_0x4204();let _0x114c7f=_0x4204dd[_0x5891c2];return _0x114c7f;}(function(_0x4e8542,_0x7c33a3){const _0x3f6330=a79_0x114c,_0x3f576a=_0x4e8542();while(!![]){try{const _0x5064a3=-parseInt(_0x3f6330(0x10f))/0x1*(parseInt(_0x3f6330(0x10a))/0x2)+parseInt(_0x3f6330(0x106))/0x3+parseInt(_0x3f6330(0x113))/0x4*(parseInt(_0x3f6330(0xfe))/0x5)+-parseInt(_0x3f6330(0x103))/0x6+parseInt(_0x3f6330(0xed))/0x7*(parseInt(_0x3f6330(0xf8))/0x8)+-parseInt(_0x3f6330(0x10b))/0x9+-parseInt(_0x3f6330(0xfd))/0xa;if(_0x5064a3===_0x7c33a3)break;else _0x3f576a['push'](_0x3f576a['shift']());}catch(_0xcc298b){_0x3f576a['push'](_0x3f576a['shift']());}}}(a79_0x4204,0x7d3e5));export function parseSSEChunk(_0x38df1d){const _0x465335=a79_0x114c,_0x49a775=[],_0x2230e1=_0x38df1d[_0x465335(0x10d)]('\x0a\x0a'),_0x402b0b=_0x2230e1[_0x465335(0xf9)]()||'';for(const _0x32b213 of _0x2230e1){if(!_0x32b213[_0x465335(0x107)]())continue;const _0x4101b5={},_0x414e35=_0x32b213[_0x465335(0x10d)]('\x0a');for(const _0x121a82 of _0x414e35){if(_0x121a82[_0x465335(0x112)](_0x465335(0xf7)))_0x4101b5[_0x465335(0xf2)]=_0x121a82[_0x465335(0xee)](0x7);else _0x121a82[_0x465335(0x112)]('data:\x20')&&(_0x4101b5[_0x465335(0xf6)]=_0x121a82[_0x465335(0xee)](0x6));}(_0x4101b5['event']||_0x4101b5[_0x465335(0xf6)])&&_0x49a775[_0x465335(0xf5)](_0x4101b5);}return{'events':_0x49a775,'remaining':_0x402b0b};}export function extractMessageStartUsage(_0x50993){const _0x56670e=a79_0x114c;try{const _0x31400e=JSON['parse'](_0x50993);if(_0x31400e['type']===_0x56670e(0xfa)&&_0x31400e[_0x56670e(0x104)]?.['usage']){const _0x4af5ef=_0x31400e[_0x56670e(0x104)][_0x56670e(0xff)];return{'inputTokens':_0x4af5ef[_0x56670e(0x101)]||0x0,'outputTokens':_0x4af5ef[_0x56670e(0x109)]||0x0,'cacheCreationInputTokens':_0x4af5ef['cache_creation_input_tokens'],'cacheReadInputTokens':_0x4af5ef['cache_read_input_tokens']};}}catch{}return null;}export function extractMessageDeltaUsage(_0x30eb3a){const _0x104124=a79_0x114c;try{const _0x519f40=JSON[_0x104124(0x102)](_0x30eb3a);if(_0x519f40['type']==='message_delta'&&_0x519f40[_0x104124(0xff)]){const _0x11c2a5=_0x519f40[_0x104124(0xff)];return{'inputTokens':_0x11c2a5['input_tokens']||0x0,'outputTokens':_0x11c2a5[_0x104124(0x109)]||0x0,'cacheCreationInputTokens':_0x11c2a5[_0x104124(0xf1)],'cacheReadInputTokens':_0x11c2a5[_0x104124(0xfb)]};}}catch{}return null;}export function extractUsageFromEvent(_0x480fcf){const _0x464c29=a79_0x114c;if(!_0x480fcf[_0x464c29(0xf6)])return null;if(_0x480fcf[_0x464c29(0xf2)]===_0x464c29(0xfa))return extractMessageStartUsage(_0x480fcf['data']);if(_0x480fcf[_0x464c29(0xf2)]===_0x464c29(0xef))return extractMessageDeltaUsage(_0x480fcf[_0x464c29(0xf6)]);return null;}export class SSEUsageTracker{[a79_0x5274a4(0x10e)]=0x0;[a79_0x5274a4(0x105)]=0x0;['cacheCreationInputTokens'];['cacheReadInputTokens'];[a79_0x5274a4(0xfc)]='';[a79_0x5274a4(0x110)](_0x401ffa){const _0x49208d=a79_0x5274a4;this[_0x49208d(0x10e)]=Math['max'](this['inputTokens'],_0x401ffa['inputTokens']),this['outputTokens']=Math[_0x49208d(0xf4)](this[_0x49208d(0x105)],_0x401ffa[_0x49208d(0x105)]),_0x401ffa['cacheCreationInputTokens']!==undefined&&(this[_0x49208d(0xf3)]=Math['max'](this[_0x49208d(0xf3)]??0x0,_0x401ffa['cacheCreationInputTokens'])),_0x401ffa[_0x49208d(0x10c)]!==undefined&&(this['cacheReadInputTokens']=Math[_0x49208d(0xf4)](this[_0x49208d(0x10c)]??0x0,_0x401ffa[_0x49208d(0x10c)]));}[a79_0x5274a4(0x108)];[a79_0x5274a4(0x114)](_0x26c59f){const _0x534360=a79_0x5274a4;this['buffer']+=_0x26c59f;const {events:_0xe7acb7,remaining:_0x900ca1}=parseSSEChunk(this[_0x534360(0xfc)]);this[_0x534360(0xfc)]=_0x900ca1;for(const _0x5b8bed of _0xe7acb7){const _0x3b6e39=extractUsageFromEvent(_0x5b8bed);_0x3b6e39&&(this[_0x534360(0x108)]?.(_0x5b8bed[_0x534360(0xf2)]||_0x534360(0x100),_0x5b8bed[_0x534360(0xf6)]||'',_0x3b6e39),this['updateFromUsage'](_0x3b6e39));}return _0x26c59f;}[a79_0x5274a4(0x111)](){const _0x3ab329=a79_0x5274a4;if(this[_0x3ab329(0xfc)]['trim']()){const {events:_0x4b86d5}=parseSSEChunk(this['buffer']+'\x0a\x0a');for(const _0x321073 of _0x4b86d5){const _0xdc3677=extractUsageFromEvent(_0x321073);_0xdc3677&&this[_0x3ab329(0x110)](_0xdc3677);}this[_0x3ab329(0xfc)]='';}}['getUsage'](){const _0x5bce2a=a79_0x5274a4;return{'inputTokens':this[_0x5bce2a(0x10e)],'outputTokens':this[_0x5bce2a(0x105)],'cacheCreationInputTokens':this[_0x5bce2a(0xf3)],'cacheReadInputTokens':this['cacheReadInputTokens']};}[a79_0x5274a4(0xf0)](){const _0x216799=a79_0x5274a4;this['inputTokens']=0x0,this[_0x216799(0x105)]=0x0,this[_0x216799(0xf3)]=undefined,this['cacheReadInputTokens']=undefined,this[_0x216799(0xfc)]='';}}
1
+ const a79_0x4dd1ea=a79_0xfa41;(function(_0x4be360,_0x4cecf7){const _0xa004f8=a79_0xfa41,_0x55476c=_0x4be360();while(!![]){try{const _0xbc6079=-parseInt(_0xa004f8(0x1dc))/0x1+parseInt(_0xa004f8(0x1c1))/0x2*(parseInt(_0xa004f8(0x1d3))/0x3)+parseInt(_0xa004f8(0x1bd))/0x4+parseInt(_0xa004f8(0x1db))/0x5+parseInt(_0xa004f8(0x1c0))/0x6+-parseInt(_0xa004f8(0x1c7))/0x7*(parseInt(_0xa004f8(0x1d7))/0x8)+parseInt(_0xa004f8(0x1ca))/0x9*(-parseInt(_0xa004f8(0x1d5))/0xa);if(_0xbc6079===_0x4cecf7)break;else _0x55476c['push'](_0x55476c['shift']());}catch(_0x4b0271){_0x55476c['push'](_0x55476c['shift']());}}}(a79_0x471f,0x92e1f));function a79_0xfa41(_0xcb004,_0x37899b){_0xcb004=_0xcb004-0x1b6;const _0x471f83=a79_0x471f();let _0xfa4183=_0x471f83[_0xcb004];return _0xfa4183;}export function parseSSEChunk(_0x1d3e0a){const _0x264098=a79_0xfa41,_0x393c97=[],_0x95438b=_0x1d3e0a['split']('\x0a\x0a'),_0x6089d4=_0x95438b[_0x264098(0x1c5)]()||'';for(const _0x5e1b14 of _0x95438b){if(!_0x5e1b14[_0x264098(0x1d8)]())continue;const _0x69eb52={},_0x5777c9=_0x5e1b14[_0x264098(0x1cb)]('\x0a');for(const _0x5d27f2 of _0x5777c9){if(_0x5d27f2[_0x264098(0x1c2)](_0x264098(0x1c8)))_0x69eb52[_0x264098(0x1c3)]=_0x5d27f2['slice'](0x7);else _0x5d27f2['startsWith'](_0x264098(0x1d4))&&(_0x69eb52[_0x264098(0x1d6)]=_0x5d27f2[_0x264098(0x1b9)](0x6));}(_0x69eb52[_0x264098(0x1c3)]||_0x69eb52[_0x264098(0x1d6)])&&_0x393c97[_0x264098(0x1d9)](_0x69eb52);}return{'events':_0x393c97,'remaining':_0x6089d4};}export function extractMessageStartUsage(_0x3038db){const _0x49037c=a79_0xfa41;try{const _0x72279c=JSON['parse'](_0x3038db);if(_0x72279c['type']===_0x49037c(0x1cc)&&_0x72279c[_0x49037c(0x1c6)]?.[_0x49037c(0x1cf)]){const _0x213097=_0x72279c['message'][_0x49037c(0x1cf)];return{'inputTokens':_0x213097['input_tokens']||0x0,'outputTokens':_0x213097[_0x49037c(0x1c4)]||0x0,'cacheCreationInputTokens':_0x213097['cache_creation_input_tokens'],'cacheReadInputTokens':_0x213097[_0x49037c(0x1bf)]};}}catch{}return null;}export function extractMessageDeltaUsage(_0x2a5426){const _0x4d4d14=a79_0xfa41;try{const _0xea6517=JSON['parse'](_0x2a5426);if(_0xea6517[_0x4d4d14(0x1ba)]===_0x4d4d14(0x1c9)&&_0xea6517['usage']){const _0x5715d9=_0xea6517[_0x4d4d14(0x1cf)];return{'inputTokens':_0x5715d9['input_tokens']||0x0,'outputTokens':_0x5715d9[_0x4d4d14(0x1c4)]||0x0,'cacheCreationInputTokens':_0x5715d9[_0x4d4d14(0x1d1)],'cacheReadInputTokens':_0x5715d9['cache_read_input_tokens']};}}catch{}return null;}export function extractUsageFromEvent(_0x141dab){const _0x2e69a4=a79_0xfa41;if(!_0x141dab[_0x2e69a4(0x1d6)])return null;if(_0x141dab['event']==='message_start')return extractMessageStartUsage(_0x141dab[_0x2e69a4(0x1d6)]);if(_0x141dab['event']===_0x2e69a4(0x1c9))return extractMessageDeltaUsage(_0x141dab[_0x2e69a4(0x1d6)]);return null;}function a79_0x471f(){const _0x2ed46e=['updateFromUsage','cache_read_input_tokens','4400412WxJosj','252RLiuRz','startsWith','event','output_tokens','pop','message','1755187dbmxcx','event:\x20','message_delta','822303lvzlxX','split','message_start','reset','cacheReadInputTokens','usage','cacheCreationInputTokens','cache_creation_input_tokens','flush','18267Mkzpig','data:\x20','10hlrfmu','data','16VvUwBs','trim','push','unknown','3408470aiNMJQ','1162892lRrLGN','outputTokens','max','buffer','slice','type','inputTokens','onRawUsage','700248ktDRbK'];a79_0x471f=function(){return _0x2ed46e;};return a79_0x471f();}export class SSEUsageTracker{[a79_0x4dd1ea(0x1bb)]=0x0;['outputTokens']=0x0;['cacheCreationInputTokens'];[a79_0x4dd1ea(0x1ce)];['buffer']='';[a79_0x4dd1ea(0x1be)](_0x2acebf){const _0x4c571f=a79_0x4dd1ea;this[_0x4c571f(0x1bb)]=Math[_0x4c571f(0x1b7)](this[_0x4c571f(0x1bb)],_0x2acebf[_0x4c571f(0x1bb)]),this['outputTokens']=Math[_0x4c571f(0x1b7)](this[_0x4c571f(0x1b6)],_0x2acebf[_0x4c571f(0x1b6)]),_0x2acebf[_0x4c571f(0x1d0)]!==undefined&&(this[_0x4c571f(0x1d0)]=Math['max'](this[_0x4c571f(0x1d0)]??0x0,_0x2acebf[_0x4c571f(0x1d0)])),_0x2acebf[_0x4c571f(0x1ce)]!==undefined&&(this[_0x4c571f(0x1ce)]=Math['max'](this[_0x4c571f(0x1ce)]??0x0,_0x2acebf[_0x4c571f(0x1ce)]));}[a79_0x4dd1ea(0x1bc)];['processChunk'](_0x3677dd){const _0x374b0c=a79_0x4dd1ea;this[_0x374b0c(0x1b8)]+=_0x3677dd;const {events:_0x4415aa,remaining:_0x54a928}=parseSSEChunk(this[_0x374b0c(0x1b8)]);this[_0x374b0c(0x1b8)]=_0x54a928;for(const _0x1c6233 of _0x4415aa){const _0x1f4e92=extractUsageFromEvent(_0x1c6233);_0x1f4e92&&(this['onRawUsage']?.(_0x1c6233[_0x374b0c(0x1c3)]||_0x374b0c(0x1da),_0x1c6233[_0x374b0c(0x1d6)]||'',_0x1f4e92),this['updateFromUsage'](_0x1f4e92));}return _0x3677dd;}[a79_0x4dd1ea(0x1d2)](){const _0x3f29db=a79_0x4dd1ea;if(this[_0x3f29db(0x1b8)][_0x3f29db(0x1d8)]()){const {events:_0xa31fe5}=parseSSEChunk(this['buffer']+'\x0a\x0a');for(const _0x576d1d of _0xa31fe5){const _0x44510c=extractUsageFromEvent(_0x576d1d);_0x44510c&&this[_0x3f29db(0x1be)](_0x44510c);}this[_0x3f29db(0x1b8)]='';}}['getUsage'](){const _0x2ae9d6=a79_0x4dd1ea;return{'inputTokens':this[_0x2ae9d6(0x1bb)],'outputTokens':this['outputTokens'],'cacheCreationInputTokens':this[_0x2ae9d6(0x1d0)],'cacheReadInputTokens':this[_0x2ae9d6(0x1ce)]};}[a79_0x4dd1ea(0x1cd)](){const _0x31b628=a79_0x4dd1ea;this[_0x31b628(0x1bb)]=0x0,this[_0x31b628(0x1b6)]=0x0,this[_0x31b628(0x1d0)]=undefined,this['cacheReadInputTokens']=undefined,this[_0x31b628(0x1b8)]='';}}