@treasuredata/tdx 2026.4.12 → 2026.4.13

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(_0x5503f8,_0x23a894){var _0x46ceee=a70_0x3e0e,_0x276e8a=_0x5503f8();while(!![]){try{var _0xc4ba9=-parseInt(_0x46ceee(0x1e3))/0x1*(-parseInt(_0x46ceee(0x1df))/0x2)+-parseInt(_0x46ceee(0x1e7))/0x3+parseInt(_0x46ceee(0x1e9))/0x4*(-parseInt(_0x46ceee(0x1e4))/0x5)+parseInt(_0x46ceee(0x1e0))/0x6*(parseInt(_0x46ceee(0x1e8))/0x7)+parseInt(_0x46ceee(0x1de))/0x8+-parseInt(_0x46ceee(0x1e5))/0x9*(parseInt(_0x46ceee(0x1e2))/0xa)+parseInt(_0x46ceee(0x1e6))/0xb*(parseInt(_0x46ceee(0x1e1))/0xc);if(_0xc4ba9===_0x23a894)break;else _0x276e8a['push'](_0x276e8a['shift']());}catch(_0x3d7fcc){_0x276e8a['push'](_0x276e8a['shift']());}}}(a70_0x1c6f,0x213f4));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';function a70_0x3e0e(_0x358fca,_0x2b3f62){_0x358fca=_0x358fca-0x1de;var _0x1c6f6d=a70_0x1c6f();var _0x3e0ef4=_0x1c6f6d[_0x358fca];return _0x3e0ef4;}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';export*from'./commands/activations.js';export*from'./commands/show.js';function a70_0x1c6f(){var _0xbcb4ab=['204nsnbPr','290DubsIY','142JARwYk','379415nslvFU','20511TobpsH','5511DeKYQR','428379xoSqvq','1596259LFLpqx','12pWXSuK','958008gUnxga','3048ogtPrF','6UlrhwE'];a70_0x1c6f=function(){return _0xbcb4ab;};return a70_0x1c6f();}export*from'./commands/describe.js';export*from'./sdk/index.js';
@@ -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(_0x193462,_0x35222c){const _0x159b25=a71_0x2ba1,_0x3f2bfe=_0x193462();while(!![]){try{const _0x113766=parseInt(_0x159b25(0x187))/0x1+-parseInt(_0x159b25(0x18e))/0x2*(-parseInt(_0x159b25(0x18c))/0x3)+-parseInt(_0x159b25(0x176))/0x4+-parseInt(_0x159b25(0x19b))/0x5*(parseInt(_0x159b25(0x194))/0x6)+-parseInt(_0x159b25(0x16d))/0x7+parseInt(_0x159b25(0x171))/0x8*(-parseInt(_0x159b25(0x17a))/0x9)+parseInt(_0x159b25(0x189))/0xa;if(_0x113766===_0x35222c)break;else _0x3f2bfe['push'](_0x3f2bfe['shift']());}catch(_0x3dfa4e){_0x3f2bfe['push'](_0x3f2bfe['shift']());}}}(a71_0x3bee,0x186d2));import{McpServer}from'@modelcontextprotocol/sdk/server/mcp.js';function a71_0x2ba1(_0x2028ae,_0x58729d){_0x2028ae=_0x2028ae-0x16c;const _0x3beea9=a71_0x3bee();let _0x2ba13c=_0x3beea9[_0x2028ae];return _0x2ba13c;}import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';function a71_0x3bee(){const _0x2844d6=['8uyngby','Utilities','Command\x20and\x20arguments\x20as\x20array\x20(e.g.,\x20[\x22query\x22,\x20\x22SELECT\x20...\x22])','text','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.','720772bdcccj','shape','path','Command\x20completed\x20successfully','130698STkXDT','Optional\x20filter\x20by\x20category','string','join','SIGINT','\x0a\x0a---\x0a\x0a','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.','enum','SIGTERM','tdx_run','array','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.','name','85765vGhVTb','tdx','646950nOUajH','map','**\x20(','519bGjzMJ','1.0.0','1874BLjLqW','close','once','Command\x20failed','output','Failed\x20to\x20create\x20item','6biYZbC','tdx_search','connect','success','stringify','error','work_create_item','36495LqCvol','env','describe','73479OrmGZM','examples','registerTool','description'];a71_0x3bee=function(){return _0x2844d6;};return a71_0x3bee();}import{z}from'zod';import{executeTdxRun,searchCommands,executeWorkCreateItem,WorkCreateItemInputSchema}from'./tools/index.js';export function createMCPServer(_0x32e523={}){const _0x4c82b2=a71_0x2ba1,_0x22e34e=new McpServer({'name':_0x4c82b2(0x188),'version':_0x4c82b2(0x18d)});return _0x22e34e[_0x4c82b2(0x16f)](_0x4c82b2(0x183),{'description':_0x4c82b2(0x180),'inputSchema':{'args':z[_0x4c82b2(0x184)](z[_0x4c82b2(0x17c)]())[_0x4c82b2(0x16c)](_0x4c82b2(0x173))}},async({args:_0x88599d})=>{const _0x3ef8a6=_0x4c82b2,_0x1540cc=await executeTdxRun({'args':_0x88599d},_0x32e523[_0x3ef8a6(0x19c)]||{});return _0x1540cc[_0x3ef8a6(0x197)]?{'content':[{'type':_0x3ef8a6(0x174),'text':_0x1540cc[_0x3ef8a6(0x192)]||_0x3ef8a6(0x179)}]}:{'content':[{'type':_0x3ef8a6(0x174),'text':_0x1540cc[_0x3ef8a6(0x199)]||_0x1540cc[_0x3ef8a6(0x192)]||_0x3ef8a6(0x191)}],'isError':!![]};}),_0x22e34e['registerTool'](_0x4c82b2(0x195),{'description':_0x4c82b2(0x175),'inputSchema':{'query':z[_0x4c82b2(0x17c)]()[_0x4c82b2(0x16c)]('Natural\x20language\x20query\x20(e.g.,\x20\x22list\x20databases\x22,\x20\x22run\x20SQL\x22,\x20\x22manage\x20segments\x22)'),'category':z[_0x4c82b2(0x181)](['Data','CDP','AI','Context',_0x4c82b2(0x172)])['optional']()['describe'](_0x4c82b2(0x17b))}},async({query:_0x772048,category:_0x107748})=>{const _0x119bc9=_0x4c82b2,_0x33b53e=searchCommands({'query':_0x772048,'category':_0x107748});if(_0x33b53e['length']===0x0)return{'content':[{'type':'text','text':'No\x20commands\x20found\x20matching\x20\x22'+_0x772048+'\x22'}]};const _0x185ac4=_0x33b53e[_0x119bc9(0x18a)](_0x11e2fb=>{const _0x45e193=_0x119bc9,_0x6b06d8=_0x11e2fb[_0x45e193(0x16e)][_0x45e193(0x18a)](_0x55bde3=>'\x20\x20'+_0x55bde3)[_0x45e193(0x17d)]('\x0a');return'**'+_0x11e2fb[_0x45e193(0x186)]+_0x45e193(0x18b)+_0x11e2fb['category']+')\x0a'+_0x11e2fb[_0x45e193(0x170)]+'\x0a\x0aExamples:\x0a'+_0x6b06d8;})['join'](_0x119bc9(0x17f));return{'content':[{'type':_0x119bc9(0x174),'text':_0x185ac4}]};}),_0x22e34e['registerTool'](_0x4c82b2(0x19a),{'description':_0x4c82b2(0x185),'inputSchema':WorkCreateItemInputSchema[_0x4c82b2(0x177)]},async({title:_0x2caeef,kind:_0x420b55,status:_0x10d572,tags:_0x198801,priority:_0x402f72,body:_0x5c9eef,template:_0x392df4,github:_0x2d3748,jira:_0x40ddb7})=>{const _0x1efcdf=_0x4c82b2,_0x5111c8=executeWorkCreateItem({'title':_0x2caeef,'kind':_0x420b55,'status':_0x10d572,'tags':_0x198801,'priority':_0x402f72,'body':_0x5c9eef,'template':_0x392df4,'github':_0x2d3748,'jira':_0x40ddb7});return _0x5111c8['success']?{'content':[{'type':_0x1efcdf(0x174),'text':JSON[_0x1efcdf(0x198)]({'path':_0x5111c8[_0x1efcdf(0x178)],'slug':_0x5111c8['slug']})}]}:{'content':[{'type':_0x1efcdf(0x174),'text':_0x5111c8[_0x1efcdf(0x199)]||_0x1efcdf(0x193)}],'isError':!![]};}),_0x22e34e;}export async function startMCPServer(_0x1700c6={}){const _0x5760dc=a71_0x2ba1,_0x299b95=createMCPServer(_0x1700c6),_0x5f3737=new StdioServerTransport();return await _0x299b95[_0x5760dc(0x196)](_0x5f3737),new Promise(_0x1e551b=>{const _0x1cf073=_0x5760dc;let _0x3c3435=![];const _0x3799e3=async()=>{const _0x26fa59=a71_0x2ba1;if(_0x3c3435)return;_0x3c3435=!![],await _0x299b95[_0x26fa59(0x18f)](),_0x1e551b();};process[_0x1cf073(0x190)](_0x1cf073(0x17e),_0x3799e3),process[_0x1cf073(0x190)](_0x1cf073(0x182),_0x3799e3),process['stdin'][_0x1cf073(0x190)](_0x1cf073(0x18f),_0x3799e3);});}
@@ -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_0xff8f(_0x331740,_0x32c095){_0x331740=_0x331740-0x1a4;var _0x1bf011=a72_0x1bf0();var _0xff8f3=_0x1bf011[_0x331740];return _0xff8f3;}function a72_0x1bf0(){var _0x3cb174=['6037976VGfxQJ','4122osHLrk','13095510PeROwo','621051UClXMJ','9535eLMPQP','9iXDOFW','1045xjfZqA','1063240EmjAIZ','7GQiJcI','942332RPQguX','21984bxprVX','28QjxDRK'];a72_0x1bf0=function(){return _0x3cb174;};return a72_0x1bf0();}(function(_0xc2bf02,_0x3178dc){var _0x5d440a=a72_0xff8f,_0x94278f=_0xc2bf02();while(!![]){try{var _0x36bf9a=-parseInt(_0x5d440a(0x1a5))/0x1+-parseInt(_0x5d440a(0x1a7))/0x2+-parseInt(_0x5d440a(0x1ad))/0x3*(-parseInt(_0x5d440a(0x1a9))/0x4)+-parseInt(_0x5d440a(0x1ae))/0x5*(-parseInt(_0x5d440a(0x1ab))/0x6)+-parseInt(_0x5d440a(0x1a6))/0x7*(-parseInt(_0x5d440a(0x1aa))/0x8)+parseInt(_0x5d440a(0x1af))/0x9*(-parseInt(_0x5d440a(0x1ac))/0xa)+parseInt(_0x5d440a(0x1a4))/0xb*(parseInt(_0x5d440a(0x1a8))/0xc);if(_0x36bf9a===_0x3178dc)break;else _0x94278f['push'](_0x94278f['shift']());}catch(_0x31f9a4){_0x94278f['push'](_0x94278f['shift']());}}}(a72_0x1bf0,0xce11a));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
+ function a73_0x161f(_0x110864,_0x46412d){_0x110864=_0x110864-0xee;const _0x3c28db=a73_0x3c28();let _0x161fb2=_0x3c28db[_0x110864];return _0x161fb2;}const a73_0x571551=a73_0x161f;(function(_0x45ab6b,_0xcf209b){const _0x5709bd=a73_0x161f,_0x25a9fe=_0x45ab6b();while(!![]){try{const _0x410fd8=-parseInt(_0x5709bd(0x10c))/0x1*(parseInt(_0x5709bd(0xf0))/0x2)+parseInt(_0x5709bd(0x10e))/0x3*(parseInt(_0x5709bd(0xf4))/0x4)+parseInt(_0x5709bd(0xf5))/0x5+-parseInt(_0x5709bd(0xfc))/0x6+-parseInt(_0x5709bd(0x101))/0x7+-parseInt(_0x5709bd(0x104))/0x8+-parseInt(_0x5709bd(0x10f))/0x9*(-parseInt(_0x5709bd(0x100))/0xa);if(_0x410fd8===_0xcf209b)break;else _0x25a9fe['push'](_0x25a9fe['shift']());}catch(_0x17d957){_0x25a9fe['push'](_0x25a9fe['shift']());}}}(a73_0x3c28,0x82fda));import{spawn}from'child_process';function a73_0x3c28(){const _0x36ac6d=['kill','This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','execPath','win32','resourcesPath','object','4403718ssNLcD','array','close','describe','30FwrQRr','2876965TyoZnd','PATH','tdx','5775176fmwtNS','node','error','--no-color','--json','message','data','node.exe','1849jXwJrT','SIGTERM','3hdygfS','4915494eSLuPR','platform','stdout','592kDtmLH','true','Command\x20and\x20arguments\x20as\x20array\x20(e.g.,\x20[\x22query\x22,\x20\x22SELECT\x20...\x22])','Command\x20timed\x20out\x20after\x2015\x20minutes.\x20For\x20long-running\x20queries,\x20use\x20job\x20submit\x20instead.','1870896nKFGaA','4222325CIGvZj'];a73_0x3c28=function(){return _0x36ac6d;};return a73_0x3c28();}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_0x571551(0xfb)]({'args':z[a73_0x571551(0xfd)](z['string']())[a73_0x571551(0xff)](a73_0x571551(0xf2))});const DEFAULT_TIMEOUT_MS=0xf*0x3c*0x3e8;function getNodeBinDir(){const _0xdcbc09=a73_0x571551,_0x33c89c=process[_0xdcbc09(0xfa)];if(_0x33c89c){const _0x394d0d=join(_0x33c89c,'node'),_0x175432=process[_0xdcbc09(0xee)]===_0xdcbc09(0xf9)?_0xdcbc09(0x10b):_0xdcbc09(0x105);if(existsSync(join(_0x394d0d,_0x175432)))return _0x394d0d;}return dirname(process[_0xdcbc09(0xf8)]);}export async function executeTdxRun(_0x497ca3,_0x112fb2){const _0x2cf975=a73_0x571551,{args:_0x421feb}=_0x497ca3;if(isBlockedCommand(_0x421feb)){const _0x4604ef=getBlockedReason(_0x421feb);return{'success':![],'output':'','error':_0x4604ef||_0x2cf975(0xf7),'exitCode':0x1};}const _0x2567ee=[_0x2cf975(0x108),_0x2cf975(0x107),..._0x421feb],_0x1a8f43=getNodeBinDir(),_0x45ef6e=process[_0x2cf975(0xee)]==='win32'?';':':',_0x1071c7=_0x112fb2[_0x2cf975(0x102)]??process.env.PATH??'',_0x6380e0=''+_0x1a8f43+_0x45ef6e+_0x1071c7;return new Promise(_0xfaa3d5=>{const _0x43283e=_0x2cf975,_0x420111=spawn(_0x43283e(0x103),_0x2567ee,{'env':{...process.env,..._0x112fb2,'PATH':_0x6380e0,'CI':_0x43283e(0xf1)},'stdio':['ignore','pipe','pipe']});let _0x21b331='',_0x4addc6='',_0x5b7f7f=![];const _0x4a1a62=setTimeout(()=>{const _0x4dde27=_0x43283e;_0x5b7f7f=!![],_0x420111[_0x4dde27(0xf6)](_0x4dde27(0x10d));},DEFAULT_TIMEOUT_MS);_0x420111[_0x43283e(0xef)]['on']('data',_0x146c67=>{_0x21b331+=_0x146c67['toString']();}),_0x420111['stderr']['on'](_0x43283e(0x10a),_0x10d9c4=>{_0x4addc6+=_0x10d9c4['toString']();}),_0x420111['on'](_0x43283e(0x106),_0x1f9f72=>{const _0x5d3c4a=_0x43283e;clearTimeout(_0x4a1a62),_0xfaa3d5({'success':![],'output':'','error':'Failed\x20to\x20spawn\x20tdx:\x20'+_0x1f9f72[_0x5d3c4a(0x109)],'exitCode':0x1});}),_0x420111['on'](_0x43283e(0xfe),_0x52f93b=>{const _0x5d51f3=_0x43283e;clearTimeout(_0x4a1a62);if(_0x5b7f7f){_0xfaa3d5({'success':![],'output':formatOutput(_0x21b331),'error':_0x5d51f3(0xf3),'exitCode':0x7c});return;}const _0x91b0ce=_0x52f93b??0x1,_0x543345=_0x91b0ce===0x0,_0x2ac2f9=formatOutput(_0x21b331||_0x4addc6),_0x30b339=!_0x543345&&_0x4addc6?formatOutput(_0x4addc6):undefined;_0xfaa3d5({'success':_0x543345,'output':_0x2ac2f9,'error':_0x30b339,'exitCode':_0x91b0ce});});});}
@@ -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_0x2c4c31=a74_0x3c59;function a74_0x3c59(_0x33fc13,_0x5b57af){_0x33fc13=_0x33fc13-0x146;const _0x27bfb3=a74_0x27bf();let _0x3c59a0=_0x27bfb3[_0x33fc13];return _0x3c59a0;}function a74_0x27bf(){const _0x53d6cd=['result','Utilities','Push\x20agent\x20definition\x20from\x20YAML','job\x20result','llm\x20models','profile','context','List\x20configured\x20profiles','tdx\x20sg\x20fields','tdx\x20activations','Show\x20segment\x20details','sort','export','List\x20tables\x20in\x20a\x20database','5yzODgv','parent-segment\x20validate','Push\x20parent\x20segment\x20definition\x20from\x20YAML','toLowerCase','describe','table\x20list','Pull\x20segment\x20definition\x20to\x20YAML','map','segment\x20list','digdag','tdx\x20segment\x20sql\x20\x22My\x20Segment\x22','tdx\x20sg\x20push\x20segment.yaml\x20--dry-run','execute','set','presto','all','tdx\x20agent\x20show\x20myproject/myagent','sessions','queries','tdx\x20agents','databases','start','api','tdx\x20journey\x20pull\x20\x22My\x20Journey\x22\x20-o\x20journey.yaml','tdx\x20segment\x20list','history','create','3398040zFLAik','chat','tdx\x20journey\x20list','tdx\x20segment\x20push\x20segment.yaml','logs','table','tdx\x20auth','509421lBagrU','clear','tdx\x20api\x20-X\x20POST\x20--data\x20\x27{\x22query\x22:\x22SELECT\x201\x22}\x27\x20/v3/job/issue/hive/mydb','tables','pull','authentication','tdx\x20connection\x20schema\x20google_ads','segment','tdx\x20chats','workflow','members','tdx\x20workflow\x20logs\x20<attempt_id>','journey\x20push','length','push','sql','Pull\x20journey\x20definition\x20to\x20YAML','5182903vgZAxA','config','auth','import','structure','http','Show\x20table\x20contents\x20(SELECT\x20*\x20with\x20limit)','tdx\x20parent-segment\x20list','select','trino','tdx\x20jobs\x20--limit\x2020','journey\x20list','llm','llm\x20projects','use','agent\x20push','settings','List\x20data\x20connections','tdx\x20parent-segment\x20pull\x20\x22My\x20Parent\x22\x20-o\x20parent.yaml','tdx\x20chats\x20--limit\x2010','List\x20parent\x20segments\x20(customer\x20masters)','CDP','score','master','tdx\x20profiles','database','Context','segment\x20sql','tdx\x20llm\x20projects','tdx\x20parent-segment\x20push\x20parent.yaml','journey','segment\x20push','Run\x20a\x20workflow','tdx\x20use\x20--database\x20mydb','tdx\x20show\x20mydb.users\x20--limit\x20100','tdx\x20table\x20list','connections','tdx\x20chat\x20\x22Hello\x22','output','agent\x20show','upload','72BYBWKL','tdx\x20journey\x20view\x20\x22My\x20Journey\x22','tdx\x20llm\x20models','Validate\x20parent\x20segment\x20configuration','query','tdx\x20jobs','List\x20LLM\x20projects','tdx\x20job\x20result\x2012345','activations','list','tdx\x20segment\x20show\x20\x22My\x20Segment\x22','tdx\x20unset\x20--all','Preview\x20parent\x20segment\x20data','customer','List\x20query\x20jobs','workflow\x20run','orchestration','tdx\x20job\x20show\x2012345','request','team','Show\x20profile\x20details','Optional\x20filter\x20by\x20category','audience','agent\x20list','Data','tdx\x20ps\x20preview\x20--limit\x2010','tdx\x20databases','10efTghZ','verify','List\x20customer\x20journeys','show','job\x20list','whoami','Set\x20session\x20context\x20(database,\x20parent\x20segment,\x20etc.)','tdx\x20show\x20mydb.users','List\x20all\x20databases','fields','parent','deploy','jobs','segment\x20pull','optional','List\x20audience\x20segments','models','86336yfFxeD','tdx\x20use\x20--parent-segment\x20\x22My\x20PS\x22','info','tdx\x20profile\x20list','string','job\x20show','connection','View\x20workflow\x20logs','workflow\x20sessions','List\x20segment\x20activations\x20(exports)','tdx\x20user','tdx\x20ps\x20validate','run','users','sync','yaml','2FhFctF','Show\x20job\x20details','tdx\x20auth\x20--profile\x20myprofile','Pull\x20parent\x20segment\x20definition\x20to\x20YAML','name','status','view','tdx\x20connection\x20schema\x20salesforce','Chat\x20with\x20an\x20LLM\x20agent','261054vQpvUd','journey\x20pull','tdx\x20ps\x20push\x20--dry-run','job','message','tdx\x20describe\x20mydb.events','tdx\x20segment\x20fields','tdx\x20databases\x20mydb*','columns','tdx\x20activations\x20--segment\x20\x22My\x20Segment\x22','includes','agents','kill','tdx\x20agent\x20push\x20agent.yaml','raw','tdx\x20segments','check','segment\x20fields','unset','cancel','types','examples','workflow\x20projects','conversation','Show\x20agent\x20details','Kill\x20a\x20running\x20job','tdx\x20user\x20list','keywords','agent','details','abort','List\x20workflow\x20projects','journey\x20view','Show\x20authentication\x20status','tdx\x20tables\x20--database\x20mydb','connection\x20schema','tdx\x20job\x20kill\x2012345','validate','tdx\x20job\x20list','generate','tdx\x20parent-segment\x20validate\x20parent.yaml','data','Make\x20raw\x20HTTP\x20requests\x20to\x20TD\x20APIs','Describe\x20table\x20schema\x20(columns,\x20types)','slice','tdx\x20ps\x20list','enum','profile\x20list','description','executions','download','tdx\x20wf\x20sessions\x20--limit\x2010','destination','activation','tdx\x20parent-segment\x20preview','tdx\x20tables\x20mydb.*','filter','category','List\x20available\x20LLM\x20models','schema','Show\x20connection\x20schema\x20for\x20activations','tdx\x20workflow\x20run\x20myproject/myworkflow','rows','tdx\x20agent\x20pull\x20myproject/myagent\x20-o\x20agent.yaml','tdx\x20use\x20mydb','tdx\x20workflow\x20sessions\x20myproject','List\x20LLM\x20agents','14guflIU','tdx\x20query\x20\x22SELECT\x20count(*)\x20FROM\x20mydb.events\x22','530949YpuxSG','sample','records','tdx\x20database\x20list','17082492rtvIPH','tdx\x20ps\x20pull','stop','object','cdp'];a74_0x27bf=function(){return _0x53d6cd;};return a74_0x27bf();}(function(_0x418204,_0x282e6a){const _0x20bef1=a74_0x3c59,_0x170f2c=_0x418204();while(!![]){try{const _0x56ea57=parseInt(_0x20bef1(0x1a5))/0x1+parseInt(_0x20bef1(0x21b))/0x2*(-parseInt(_0x20bef1(0x16c))/0x3)+-parseInt(_0x20bef1(0x19e))/0x4*(parseInt(_0x20bef1(0x183))/0x5)+parseInt(_0x20bef1(0x224))/0x6*(parseInt(_0x20bef1(0x16a))/0x7)+parseInt(_0x20bef1(0x20b))/0x8*(-parseInt(_0x20bef1(0x1df))/0x9)+parseInt(_0x20bef1(0x1fa))/0xa*(-parseInt(_0x20bef1(0x1b6))/0xb)+parseInt(_0x20bef1(0x170))/0xc;if(_0x56ea57===_0x282e6a)break;else _0x170f2c['push'](_0x170f2c['shift']());}catch(_0x59f507){_0x170f2c['push'](_0x170f2c['shift']());}}}(a74_0x27bf,0x6a70a));import{z}from'zod';const COMMANDS=[{'name':'database\x20list','description':a74_0x2c4c31(0x202),'category':'Data','keywords':[a74_0x2c4c31(0x1cf),a74_0x2c4c31(0x197),'db',a74_0x2c4c31(0x1e8),a74_0x2c4c31(0x1fd),a74_0x2c4c31(0x192)],'examples':[a74_0x2c4c31(0x16f),a74_0x2c4c31(0x1f9),a74_0x2c4c31(0x22b)]},{'name':a74_0x2c4c31(0x188),'description':a74_0x2c4c31(0x182),'category':a74_0x2c4c31(0x1f7),'keywords':[a74_0x2c4c31(0x1a3),a74_0x2c4c31(0x1a8),a74_0x2c4c31(0x1e8),a74_0x2c4c31(0x1fd),a74_0x2c4c31(0x162)],'examples':[a74_0x2c4c31(0x1d9),a74_0x2c4c31(0x15e),a74_0x2c4c31(0x149)]},{'name':a74_0x2c4c31(0x1fd),'description':a74_0x2c4c31(0x1bc),'category':a74_0x2c4c31(0x1f7),'keywords':[a74_0x2c4c31(0x1fd),a74_0x2c4c31(0x221),'preview',a74_0x2c4c31(0x150),'contents',a74_0x2c4c31(0x165),a74_0x2c4c31(0x16e)],'examples':[a74_0x2c4c31(0x201),a74_0x2c4c31(0x1d8)]},{'name':a74_0x2c4c31(0x187),'description':a74_0x2c4c31(0x152),'category':a74_0x2c4c31(0x1f7),'keywords':[a74_0x2c4c31(0x187),a74_0x2c4c31(0x162),a74_0x2c4c31(0x22c),a74_0x2c4c31(0x238),a74_0x2c4c31(0x1ba),'definition'],'examples':['tdx\x20describe\x20mydb.users',a74_0x2c4c31(0x229)]},{'name':a74_0x2c4c31(0x1e3),'description':'Execute\x20SQL\x20query\x20using\x20Trino','category':a74_0x2c4c31(0x1f7),'keywords':[a74_0x2c4c31(0x1e3),a74_0x2c4c31(0x1b4),a74_0x2c4c31(0x1be),a74_0x2c4c31(0x1bf),a74_0x2c4c31(0x18f),a74_0x2c4c31(0x217),a74_0x2c4c31(0x191)],'examples':['tdx\x20query\x20\x22SELECT\x20*\x20FROM\x20mydb.users\x20LIMIT\x2010\x22',a74_0x2c4c31(0x16b)]},{'name':a74_0x2c4c31(0x1fe),'description':a74_0x2c4c31(0x1ed),'category':'Data','keywords':[a74_0x2c4c31(0x227),a74_0x2c4c31(0x206),a74_0x2c4c31(0x1e8),a74_0x2c4c31(0x19c),a74_0x2c4c31(0x195)],'examples':[a74_0x2c4c31(0x14d),a74_0x2c4c31(0x1e4),a74_0x2c4c31(0x1c0)]},{'name':a74_0x2c4c31(0x210),'description':a74_0x2c4c31(0x21c),'category':a74_0x2c4c31(0x1f7),'keywords':[a74_0x2c4c31(0x227),a74_0x2c4c31(0x1fd),'details',a74_0x2c4c31(0x220),a74_0x2c4c31(0x20d)],'examples':[a74_0x2c4c31(0x1f0)]},{'name':a74_0x2c4c31(0x178),'description':'Get\x20job\x20results','category':a74_0x2c4c31(0x1f7),'keywords':[a74_0x2c4c31(0x227),a74_0x2c4c31(0x175),a74_0x2c4c31(0x1dc),'download'],'examples':[a74_0x2c4c31(0x1e6)]},{'name':'job\x20kill','description':a74_0x2c4c31(0x23d),'category':a74_0x2c4c31(0x1f7),'keywords':[a74_0x2c4c31(0x227),a74_0x2c4c31(0x230),a74_0x2c4c31(0x237),a74_0x2c4c31(0x172),a74_0x2c4c31(0x242)],'examples':[a74_0x2c4c31(0x14b)]},{'name':a74_0x2c4c31(0x23a),'description':a74_0x2c4c31(0x146),'category':'Data','keywords':[a74_0x2c4c31(0x1ae),'projects',a74_0x2c4c31(0x18c),'list'],'examples':['tdx\x20workflow\x20projects','tdx\x20wf\x20projects']},{'name':a74_0x2c4c31(0x213),'description':'List\x20workflow\x20sessions','category':a74_0x2c4c31(0x1f7),'keywords':[a74_0x2c4c31(0x1ae),'sessions','runs',a74_0x2c4c31(0x158)],'examples':[a74_0x2c4c31(0x168),a74_0x2c4c31(0x15a)]},{'name':'workflow\x20logs','description':a74_0x2c4c31(0x212),'category':'Data','keywords':['workflow',a74_0x2c4c31(0x1a2),a74_0x2c4c31(0x1dc),'debug'],'examples':[a74_0x2c4c31(0x1b0)]},{'name':a74_0x2c4c31(0x1ee),'description':a74_0x2c4c31(0x1d6),'category':a74_0x2c4c31(0x1f7),'keywords':['workflow','run','execute',a74_0x2c4c31(0x198),'trigger'],'examples':[a74_0x2c4c31(0x164)]},{'name':a74_0x2c4c31(0x18b),'description':a74_0x2c4c31(0x209),'category':a74_0x2c4c31(0x1cb),'keywords':[a74_0x2c4c31(0x1ac),'segments',a74_0x2c4c31(0x1f5),a74_0x2c4c31(0x1e8),a74_0x2c4c31(0x174)],'examples':[a74_0x2c4c31(0x19b),a74_0x2c4c31(0x233),'tdx\x20segments\x20--recursive']},{'name':'segment\x20show','description':a74_0x2c4c31(0x17f),'category':a74_0x2c4c31(0x1cb),'keywords':[a74_0x2c4c31(0x1ac),a74_0x2c4c31(0x1fd),'details',a74_0x2c4c31(0x20d),a74_0x2c4c31(0x221)],'examples':[a74_0x2c4c31(0x1e9)]},{'name':a74_0x2c4c31(0x1d1),'description':'Generate\x20SQL\x20for\x20a\x20segment','category':a74_0x2c4c31(0x1cb),'keywords':['segment','sql','query',a74_0x2c4c31(0x14e)],'examples':[a74_0x2c4c31(0x18d)]},{'name':a74_0x2c4c31(0x207),'description':a74_0x2c4c31(0x189),'category':a74_0x2c4c31(0x1cb),'keywords':[a74_0x2c4c31(0x1ac),'pull',a74_0x2c4c31(0x159),a74_0x2c4c31(0x181),a74_0x2c4c31(0x21a)],'examples':['tdx\x20segment\x20pull\x20\x22My\x20Segment\x22\x20-o\x20segment.yaml']},{'name':a74_0x2c4c31(0x1d5),'description':'Push\x20segment\x20definition\x20from\x20YAML','category':a74_0x2c4c31(0x1cb),'keywords':[a74_0x2c4c31(0x1ac),a74_0x2c4c31(0x1b3),'upload',a74_0x2c4c31(0x1b9),a74_0x2c4c31(0x19d),'update'],'examples':[a74_0x2c4c31(0x1a1),a74_0x2c4c31(0x18e)]},{'name':a74_0x2c4c31(0x235),'description':'List\x20available\x20segment\x20fields','category':a74_0x2c4c31(0x1cb),'keywords':['segment',a74_0x2c4c31(0x203),'attributes',a74_0x2c4c31(0x22c),a74_0x2c4c31(0x162)],'examples':[a74_0x2c4c31(0x22a),a74_0x2c4c31(0x17d)]},{'name':'parent-segment\x20list','description':a74_0x2c4c31(0x1ca),'category':a74_0x2c4c31(0x1cb),'keywords':[a74_0x2c4c31(0x204),'segment',a74_0x2c4c31(0x1cd),a74_0x2c4c31(0x1e8),a74_0x2c4c31(0x1ec)],'examples':[a74_0x2c4c31(0x1bd),a74_0x2c4c31(0x154)]},{'name':'parent-segment\x20pull','description':a74_0x2c4c31(0x21e),'category':a74_0x2c4c31(0x1cb),'keywords':['parent',a74_0x2c4c31(0x1ac),a74_0x2c4c31(0x1a9),a74_0x2c4c31(0x159),a74_0x2c4c31(0x181)],'examples':[a74_0x2c4c31(0x1c8),a74_0x2c4c31(0x171)]},{'name':'parent-segment\x20push','description':a74_0x2c4c31(0x185),'category':a74_0x2c4c31(0x1cb),'keywords':[a74_0x2c4c31(0x204),a74_0x2c4c31(0x1ac),a74_0x2c4c31(0x1b3),a74_0x2c4c31(0x1de),a74_0x2c4c31(0x19d)],'examples':[a74_0x2c4c31(0x1d3),a74_0x2c4c31(0x226)]},{'name':a74_0x2c4c31(0x184),'description':a74_0x2c4c31(0x1e2),'category':a74_0x2c4c31(0x1cb),'keywords':[a74_0x2c4c31(0x204),a74_0x2c4c31(0x1ac),a74_0x2c4c31(0x14c),a74_0x2c4c31(0x234),a74_0x2c4c31(0x1fb)],'examples':[a74_0x2c4c31(0x14f),a74_0x2c4c31(0x216)]},{'name':'parent-segment\x20preview','description':a74_0x2c4c31(0x1eb),'category':'CDP','keywords':[a74_0x2c4c31(0x204),a74_0x2c4c31(0x1ac),'preview',a74_0x2c4c31(0x16d),a74_0x2c4c31(0x150)],'examples':[a74_0x2c4c31(0x15d),a74_0x2c4c31(0x1f8)]},{'name':a74_0x2c4c31(0x1c1),'description':a74_0x2c4c31(0x1fc),'category':'CDP','keywords':[a74_0x2c4c31(0x1d4),'journeys','list',a74_0x2c4c31(0x1ef)],'examples':[a74_0x2c4c31(0x1a0),'tdx\x20journeys']},{'name':a74_0x2c4c31(0x147),'description':'View\x20journey\x20details','category':a74_0x2c4c31(0x1cb),'keywords':[a74_0x2c4c31(0x1d4),a74_0x2c4c31(0x221),a74_0x2c4c31(0x1fd),a74_0x2c4c31(0x241)],'examples':[a74_0x2c4c31(0x1e0)]},{'name':a74_0x2c4c31(0x225),'description':a74_0x2c4c31(0x1b5),'category':a74_0x2c4c31(0x1cb),'keywords':[a74_0x2c4c31(0x1d4),'pull',a74_0x2c4c31(0x159),'export'],'examples':[a74_0x2c4c31(0x19a)]},{'name':a74_0x2c4c31(0x1b1),'description':'Push\x20journey\x20definition\x20from\x20YAML','category':'CDP','keywords':['journey',a74_0x2c4c31(0x1b3),a74_0x2c4c31(0x1de),a74_0x2c4c31(0x19d)],'examples':['tdx\x20journey\x20push\x20journey.yaml']},{'name':a74_0x2c4c31(0x1e7),'description':a74_0x2c4c31(0x214),'category':a74_0x2c4c31(0x1cb),'keywords':[a74_0x2c4c31(0x15c),'activations',a74_0x2c4c31(0x181),a74_0x2c4c31(0x219),a74_0x2c4c31(0x15b)],'examples':[a74_0x2c4c31(0x17e),a74_0x2c4c31(0x22d)]},{'name':'connection\x20list','description':a74_0x2c4c31(0x1c7),'category':'CDP','keywords':[a74_0x2c4c31(0x211),a74_0x2c4c31(0x1da),a74_0x2c4c31(0x15b),a74_0x2c4c31(0x1e8)],'examples':['tdx\x20connection\x20list']},{'name':a74_0x2c4c31(0x14a),'description':a74_0x2c4c31(0x163),'category':a74_0x2c4c31(0x1cb),'keywords':['connection','schema',a74_0x2c4c31(0x1b7),a74_0x2c4c31(0x1c6)],'examples':[a74_0x2c4c31(0x222),a74_0x2c4c31(0x1ab)]},{'name':a74_0x2c4c31(0x1f6),'description':a74_0x2c4c31(0x169),'category':'AI','keywords':[a74_0x2c4c31(0x240),a74_0x2c4c31(0x22f),a74_0x2c4c31(0x1c2),'ai','list'],'examples':['tdx\x20agent\x20list',a74_0x2c4c31(0x196)]},{'name':a74_0x2c4c31(0x1dd),'description':a74_0x2c4c31(0x23c),'category':'AI','keywords':[a74_0x2c4c31(0x240),a74_0x2c4c31(0x1fd),a74_0x2c4c31(0x241),a74_0x2c4c31(0x20d)],'examples':[a74_0x2c4c31(0x193)]},{'name':'agent\x20pull','description':'Pull\x20agent\x20definition\x20to\x20YAML','category':'AI','keywords':[a74_0x2c4c31(0x240),a74_0x2c4c31(0x1a9),a74_0x2c4c31(0x159),a74_0x2c4c31(0x181)],'examples':[a74_0x2c4c31(0x166)]},{'name':a74_0x2c4c31(0x1c5),'description':a74_0x2c4c31(0x177),'category':'AI','keywords':[a74_0x2c4c31(0x240),'push',a74_0x2c4c31(0x1de),a74_0x2c4c31(0x19d),a74_0x2c4c31(0x205)],'examples':[a74_0x2c4c31(0x231)]},{'name':a74_0x2c4c31(0x19f),'description':a74_0x2c4c31(0x223),'category':'AI','keywords':[a74_0x2c4c31(0x19f),a74_0x2c4c31(0x1c2),'ai',a74_0x2c4c31(0x23b),'ask',a74_0x2c4c31(0x228)],'examples':[a74_0x2c4c31(0x1db),'tdx\x20chat\x20--agent\x20myproject/myagent\x20\x22What\x20is\x20TD?\x22']},{'name':'chats','description':'List\x20chat\x20sessions','category':'AI','keywords':[a74_0x2c4c31(0x19f),'chats',a74_0x2c4c31(0x194),a74_0x2c4c31(0x19c),'conversations'],'examples':[a74_0x2c4c31(0x1ad),a74_0x2c4c31(0x1c9)]},{'name':a74_0x2c4c31(0x179),'description':a74_0x2c4c31(0x161),'category':'AI','keywords':['llm',a74_0x2c4c31(0x20a),'ai',a74_0x2c4c31(0x1e8)],'examples':[a74_0x2c4c31(0x1e1)]},{'name':a74_0x2c4c31(0x1c3),'description':a74_0x2c4c31(0x1e5),'category':'AI','keywords':[a74_0x2c4c31(0x1c2),'projects','ai','list'],'examples':[a74_0x2c4c31(0x1d2)]},{'name':a74_0x2c4c31(0x1c4),'description':a74_0x2c4c31(0x200),'category':a74_0x2c4c31(0x1d0),'keywords':[a74_0x2c4c31(0x1c4),a74_0x2c4c31(0x190),a74_0x2c4c31(0x17b),'switch',a74_0x2c4c31(0x1be)],'examples':[a74_0x2c4c31(0x167),a74_0x2c4c31(0x1d7),a74_0x2c4c31(0x20c)]},{'name':a74_0x2c4c31(0x236),'description':'Clear\x20session\x20context','category':a74_0x2c4c31(0x1d0),'keywords':['unset',a74_0x2c4c31(0x1a6),'reset',a74_0x2c4c31(0x17b)],'examples':['tdx\x20unset\x20--database',a74_0x2c4c31(0x1ea)]},{'name':a74_0x2c4c31(0x156),'description':a74_0x2c4c31(0x17c),'category':'Context','keywords':[a74_0x2c4c31(0x17a),'profiles',a74_0x2c4c31(0x1e8),'config'],'examples':[a74_0x2c4c31(0x20e),a74_0x2c4c31(0x1ce)]},{'name':'profile\x20show','description':a74_0x2c4c31(0x1f3),'category':'Context','keywords':[a74_0x2c4c31(0x17a),a74_0x2c4c31(0x1fd),a74_0x2c4c31(0x241),'config'],'examples':['tdx\x20profile\x20show\x20myprofile']},{'name':a74_0x2c4c31(0x1b8),'description':a74_0x2c4c31(0x148),'category':a74_0x2c4c31(0x1d0),'keywords':['auth',a74_0x2c4c31(0x1aa),a74_0x2c4c31(0x220),'login'],'examples':[a74_0x2c4c31(0x1a4),a74_0x2c4c31(0x21d)]},{'name':'user','description':'Show\x20current\x20user\x20info','category':a74_0x2c4c31(0x1d0),'keywords':['user','me',a74_0x2c4c31(0x1ff),'account'],'examples':[a74_0x2c4c31(0x215)]},{'name':a74_0x2c4c31(0x218),'description':'List\x20users\x20in\x20account','category':a74_0x2c4c31(0x1d0),'keywords':[a74_0x2c4c31(0x218),a74_0x2c4c31(0x1e8),a74_0x2c4c31(0x1f2),a74_0x2c4c31(0x1af)],'examples':['tdx\x20users',a74_0x2c4c31(0x23e)]},{'name':a74_0x2c4c31(0x199),'description':a74_0x2c4c31(0x151),'category':'Utilities','keywords':[a74_0x2c4c31(0x199),a74_0x2c4c31(0x1bb),a74_0x2c4c31(0x232),a74_0x2c4c31(0x1f1),'curl'],'examples':['tdx\x20api\x20/v3/database/list','tdx\x20api\x20/v1/audiences\x20--type\x20cdp',a74_0x2c4c31(0x1a7)]}];export const TdxSearchInputSchema=z[a74_0x2c4c31(0x173)]({'query':z[a74_0x2c4c31(0x20f)]()[a74_0x2c4c31(0x187)]('Natural\x20language\x20query\x20(e.g.,\x20\x22list\x20databases\x22,\x20\x22run\x20SQL\x22,\x20\x22manage\x20segments\x22)'),'category':z[a74_0x2c4c31(0x155)]([a74_0x2c4c31(0x1f7),a74_0x2c4c31(0x1cb),'AI','Context',a74_0x2c4c31(0x176)])[a74_0x2c4c31(0x208)]()[a74_0x2c4c31(0x187)](a74_0x2c4c31(0x1f4))});export function searchCommands(_0x174c5f){const _0x464b9e=a74_0x2c4c31,{query:_0x4e1afc,category:_0x39f5a3}=_0x174c5f,_0x224194=_0x4e1afc[_0x464b9e(0x186)](),_0x4e0030=_0x224194['split'](/\s+/)[_0x464b9e(0x15f)](_0x55bc91=>_0x55bc91[_0x464b9e(0x1b2)]>0x0);let _0x47303c=COMMANDS;_0x39f5a3&&(_0x47303c=_0x47303c[_0x464b9e(0x15f)](_0x5255fe=>_0x5255fe[_0x464b9e(0x160)]===_0x39f5a3));const _0x1d69cd=_0x47303c[_0x464b9e(0x18a)](_0x3f8662=>{const _0x59abbb=_0x464b9e;let _0x3bccde=0x0;_0x3f8662[_0x59abbb(0x21f)][_0x59abbb(0x186)]()===_0x224194&&(_0x3bccde+=0x64);_0x3f8662[_0x59abbb(0x21f)][_0x59abbb(0x186)]()['includes'](_0x224194)&&(_0x3bccde+=0x32);_0x3f8662[_0x59abbb(0x157)][_0x59abbb(0x186)]()['includes'](_0x224194)&&(_0x3bccde+=0x1e);for(const _0x3769d7 of _0x4e0030){for(const _0x298e43 of _0x3f8662[_0x59abbb(0x23f)]){if(_0x298e43===_0x3769d7)_0x3bccde+=0x14;else(_0x298e43[_0x59abbb(0x22e)](_0x3769d7)||_0x3769d7[_0x59abbb(0x22e)](_0x298e43))&&(_0x3bccde+=0xa);}_0x3f8662[_0x59abbb(0x21f)][_0x59abbb(0x186)]()['includes'](_0x3769d7)&&(_0x3bccde+=0xf),_0x3f8662[_0x59abbb(0x157)][_0x59abbb(0x186)]()[_0x59abbb(0x22e)](_0x3769d7)&&(_0x3bccde+=0x5);}return{'name':_0x3f8662['name'],'description':_0x3f8662[_0x59abbb(0x157)],'category':_0x3f8662['category'],'examples':_0x3f8662[_0x59abbb(0x239)],'score':_0x3bccde};});return _0x1d69cd[_0x464b9e(0x15f)](_0x132e20=>_0x132e20[_0x464b9e(0x1cc)]>0x0)[_0x464b9e(0x180)]((_0x3dc41a,_0x2d150c)=>_0x2d150c[_0x464b9e(0x1cc)]-_0x3dc41a[_0x464b9e(0x1cc)])[_0x464b9e(0x153)](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
+ function a75_0x2978(_0x41c695,_0x19c0ac){_0x41c695=_0x41c695-0x1c3;const _0x472238=a75_0x4722();let _0x297807=_0x472238[_0x41c695];return _0x297807;}const a75_0x467f73=a75_0x2978;(function(_0xd504ae,_0x9f8b8e){const _0x44dfe7=a75_0x2978,_0x15234c=_0xd504ae();while(!![]){try{const _0x109dc9=-parseInt(_0x44dfe7(0x1c4))/0x1+-parseInt(_0x44dfe7(0x1d6))/0x2+-parseInt(_0x44dfe7(0x1d9))/0x3*(-parseInt(_0x44dfe7(0x1e3))/0x4)+-parseInt(_0x44dfe7(0x1db))/0x5+-parseInt(_0x44dfe7(0x1f1))/0x6*(parseInt(_0x44dfe7(0x1da))/0x7)+parseInt(_0x44dfe7(0x1cd))/0x8+parseInt(_0x44dfe7(0x1ee))/0x9;if(_0x109dc9===_0x9f8b8e)break;else _0x15234c['push'](_0x15234c['shift']());}catch(_0x5d593f){_0x15234c['push'](_0x15234c['shift']());}}}(a75_0x4722,0x674e5));import{z}from'zod';import{WorkspaceSDK,resolveWorkspacePath}from'../../sdk/workspace/index.js';function a75_0x4722(){const _0x4e254d=['done','critical','low','backlog','replace','Tags\x20for\x20the\x20item','Priority\x20level','19021095DIUcsV','in_progress','reference','12AvAznI','guide','tags','createDocument','string','799519xydphi','review','superseded','enum','priority','describe','proposed','todo','JIRA\x20ticket\x20reference\x20(org/TICKET-ID)','1749768VEFFIr','github','body','optional','Template\x20name\x20from\x20templates/\x20folder','jira','object','array','accepted','1138006roFmzx','Document\x20kind\x20(default:\x20\x22item\x22)','item','1072056WnxfbG','1353499pUFESw','2555755nqAqlZ','Initial\x20status\x20(default:\x20\x22todo\x22\x20for\x20items,\x20\x22proposed\x22\x20for\x20guides)','design_review','medium','kind','high','note','void','4EAhZek','status','Item\x20title\x20(required)','Markdown\x20body\x20content'];a75_0x4722=function(){return _0x4e254d;};return a75_0x4722();}const TASK_STATUSES=[a75_0x467f73(0x1ea),a75_0x467f73(0x1cb),'planning',a75_0x467f73(0x1dd),a75_0x467f73(0x1ef),a75_0x467f73(0x1c5),a75_0x467f73(0x1e7),a75_0x467f73(0x1e2)],GUIDE_STATUSES=[a75_0x467f73(0x1ca),a75_0x467f73(0x1d5),'deprecated',a75_0x467f73(0x1c6)];export const WorkCreateItemInputSchema=z[a75_0x467f73(0x1d3)]({'title':z['string']()[a75_0x467f73(0x1c9)](a75_0x467f73(0x1e5)),'kind':z[a75_0x467f73(0x1c7)]([a75_0x467f73(0x1d8),a75_0x467f73(0x1e1),a75_0x467f73(0x1f2),a75_0x467f73(0x1f0)])[a75_0x467f73(0x1d0)]()[a75_0x467f73(0x1c9)](a75_0x467f73(0x1d7)),'status':z[a75_0x467f73(0x1c7)]([...TASK_STATUSES,...GUIDE_STATUSES])[a75_0x467f73(0x1d0)]()['describe'](a75_0x467f73(0x1dc)),'tags':z[a75_0x467f73(0x1d4)](z[a75_0x467f73(0x1c3)]())['optional']()[a75_0x467f73(0x1c9)](a75_0x467f73(0x1ec)),'priority':z[a75_0x467f73(0x1c7)]([a75_0x467f73(0x1e8),a75_0x467f73(0x1e0),a75_0x467f73(0x1de),a75_0x467f73(0x1e9)])[a75_0x467f73(0x1d0)]()[a75_0x467f73(0x1c9)](a75_0x467f73(0x1ed)),'body':z['string']()['optional']()[a75_0x467f73(0x1c9)](a75_0x467f73(0x1e6)),'template':z[a75_0x467f73(0x1c3)]()[a75_0x467f73(0x1d0)]()['describe'](a75_0x467f73(0x1d1)),'github':z[a75_0x467f73(0x1c3)]()['optional']()['describe']('GitHub\x20PR/issue\x20reference\x20(owner/repo#number)'),'jira':z[a75_0x467f73(0x1c3)]()['optional']()[a75_0x467f73(0x1c9)](a75_0x467f73(0x1cc))});export function executeWorkCreateItem(_0x150d76){const _0x75333f=a75_0x467f73,_0x39f17a=resolveWorkspacePath();if(!_0x39f17a)return{'success':![],'error':'No\x20workspace\x20found.\x20Run\x20`tdx\x20work\x20init`\x20to\x20create\x20one.'};const _0x28fbf9=new WorkspaceSDK(_0x39f17a),_0x36ece8={'title':_0x150d76['title'],'kind':_0x150d76[_0x75333f(0x1df)]||'item','status':_0x150d76[_0x75333f(0x1e4)],'tags':_0x150d76[_0x75333f(0x1f3)],'priority':_0x150d76[_0x75333f(0x1c8)],'body':_0x150d76[_0x75333f(0x1cf)],'template':_0x150d76['template'],'github':_0x150d76[_0x75333f(0x1ce)],'jira':_0x150d76[_0x75333f(0x1d2)]},_0x4a6f4b=_0x28fbf9[_0x75333f(0x1f4)](_0x36ece8);return{'success':!![],'path':_0x4a6f4b['filePath'],'slug':_0x4a6f4b['fileName'][_0x75333f(0x1eb)](/\.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
+ const a76_0x47d25c=a76_0x548d;function a76_0x12dd(){const _0x2550b7=['profile\x20create','4960610VHpQJg','startsWith','5572xFsoYs','profile\x20delete','Cannot\x20run\x20MCP\x20server\x20recursively','slice','auth\x20login','138XXTGKX','375851nhzKgy','join','Profile\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','6171822eVmQcN','Credential\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','2335UauQht','This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','1167080rZibQJ','1Wkaqas','auth\x20clear','includes','mcp','replace','profile\x20remove','auth\x20setup','832980utiGiL','length','toLowerCase','2686182skVsEw'];a76_0x12dd=function(){return _0x2550b7;};return a76_0x12dd();}(function(_0x23f359,_0x3a1e85){const _0x4ae4a5=a76_0x548d,_0x404a3=_0x23f359();while(!![]){try{const _0x28cab2=-parseInt(_0x4ae4a5(0x1a1))/0x1*(parseInt(_0x4ae4a5(0x18f))/0x2)+parseInt(_0x4ae4a5(0x18c))/0x3+-parseInt(_0x4ae4a5(0x193))/0x4*(-parseInt(_0x4ae4a5(0x19e))/0x5)+parseInt(_0x4ae4a5(0x198))/0x6*(parseInt(_0x4ae4a5(0x199))/0x7)+parseInt(_0x4ae4a5(0x1a0))/0x8+-parseInt(_0x4ae4a5(0x19c))/0x9+parseInt(_0x4ae4a5(0x191))/0xa;if(_0x28cab2===_0x3a1e85)break;else _0x404a3['push'](_0x404a3['shift']());}catch(_0x3155a3){_0x404a3['push'](_0x404a3['shift']());}}}(a76_0x12dd,0xbd823));const BLOCKED_COMMANDS=[a76_0x47d25c(0x18b),a76_0x47d25c(0x197),a76_0x47d25c(0x1a2),a76_0x47d25c(0x190),a76_0x47d25c(0x194),a76_0x47d25c(0x18a),'mcp'],BLOCKED_FLAGS=['--profile','-p'];function a76_0x548d(_0x149055,_0x1d8d8c){_0x149055=_0x149055-0x187;const _0x12dd8f=a76_0x12dd();let _0x548d46=_0x12dd8f[_0x149055];return _0x548d46;}export function hasBlockedFlag(_0x40eb62){const _0x8bcb42=a76_0x47d25c;for(const _0x24eb49 of _0x40eb62){const _0x8c3e08=_0x24eb49['toLowerCase']();for(const _0x28f6f0 of BLOCKED_FLAGS){if(_0x8c3e08===_0x28f6f0||_0x8c3e08[_0x8bcb42(0x192)](_0x28f6f0+'='))return!![];}}return![];}export function isBlockedCommand(_0x16cc1d){const _0x2737fd=a76_0x47d25c;if(_0x16cc1d[_0x2737fd(0x18d)]===0x0)return![];if(hasBlockedFlag(_0x16cc1d))return!![];const _0x13466f=_0x16cc1d[_0x2737fd(0x196)](0x0,0x2)['join']('\x20')[_0x2737fd(0x18e)]();for(const _0x25a2d1 of BLOCKED_COMMANDS){if(_0x13466f[_0x2737fd(0x192)](_0x25a2d1))return!![];}const _0x41b4a5=_0x16cc1d[0x0][_0x2737fd(0x18e)]();for(const _0x159063 of BLOCKED_COMMANDS){if(!_0x159063[_0x2737fd(0x187)]('\x20')&&_0x41b4a5===_0x159063)return!![];}return![];}export function getBlockedReason(_0x468799){const _0x361a9c=a76_0x47d25c;if(!isBlockedCommand(_0x468799))return undefined;if(hasBlockedFlag(_0x468799))return'Profile\x20switching\x20via\x20--profile\x20flag\x20is\x20not\x20allowed\x20via\x20MCP';const _0x1f8d2e=_0x468799[_0x361a9c(0x196)](0x0,0x2)[_0x361a9c(0x19a)]('\x20')['toLowerCase'](),_0x391388=_0x468799[0x0][_0x361a9c(0x18e)]();if(_0x1f8d2e[_0x361a9c(0x192)](_0x361a9c(0x18b))||_0x1f8d2e['startsWith'](_0x361a9c(0x197))||_0x1f8d2e[_0x361a9c(0x192)](_0x361a9c(0x1a2)))return _0x361a9c(0x19d);if(_0x1f8d2e[_0x361a9c(0x192)](_0x361a9c(0x190))||_0x1f8d2e[_0x361a9c(0x192)](_0x361a9c(0x194))||_0x1f8d2e[_0x361a9c(0x192)](_0x361a9c(0x18a)))return _0x361a9c(0x19b);if(_0x391388===_0x361a9c(0x188))return _0x361a9c(0x195);return _0x361a9c(0x19f);}export function formatOutput(_0x4016ca){const _0x3c63d0=a76_0x47d25c,_0x55e44a=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;let _0x47f54b=_0x4016ca[_0x3c63d0(0x189)](_0x55e44a,'');return _0x47f54b=_0x47f54b[_0x3c63d0(0x189)](/\r\n/g,'\x0a')[_0x3c63d0(0x189)](/\r/g,'\x0a'),_0x47f54b=_0x47f54b['trimEnd'](),_0x47f54b;}
@@ -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(_0xa0be8c,_0x40d906){const _0x35b409=a77_0x2f82,_0x92a812=_0xa0be8c();while(!![]){try{const _0x5e1dfd=-parseInt(_0x35b409(0x156))/0x1+-parseInt(_0x35b409(0x15f))/0x2+parseInt(_0x35b409(0x129))/0x3*(-parseInt(_0x35b409(0x14c))/0x4)+-parseInt(_0x35b409(0x149))/0x5+parseInt(_0x35b409(0x13d))/0x6+parseInt(_0x35b409(0x159))/0x7+parseInt(_0x35b409(0x140))/0x8;if(_0x5e1dfd===_0x40d906)break;else _0x92a812['push'](_0x92a812['shift']());}catch(_0x44c702){_0x92a812['push'](_0x92a812['shift']());}}}(a77_0x14e7,0x796dc));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 _0x142d8e=a77_0x2f82;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x142d8e(0x15c)],!![]),await usageLogger[_0x142d8e(0x124)]()),usageLogger;}function getUsageDir(){const _0x5a079e=a77_0x2f82;return join(getGlobalCacheDir(),_0x5a079e(0x141));}function a77_0x2f82(_0x220827,_0x10d3d4){_0x220827=_0x220827-0x123;const _0x14e723=a77_0x14e7();let _0x2f82b5=_0x14e723[_0x220827];return _0x2f82b5;}function sanitizeSessionId(_0x2a642f){const _0x433a99=a77_0x2f82;return _0x2a642f[_0x433a99(0x13f)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x287798){const _0x1e178f=a77_0x2f82,_0x2ef6af=getUsageDir(),_0xd17493=sanitizeSessionId(_0x287798),_0x24eb7a=resolve(_0x2ef6af,_0xd17493+'.jsonl');if(!_0x24eb7a[_0x1e178f(0x15a)](_0x2ef6af))throw new Error(_0x1e178f(0x13e));return _0x24eb7a;}function getStatsCachePath(){const _0x5b2570=a77_0x2f82;return join(getUsageDir(),_0x5b2570(0x158));}async function ensureUsageDir(){const _0x4bc952=getUsageDir();!existsSync(_0x4bc952)&&await mkdir(_0x4bc952,{'recursive':!![]});}export async function appendUsageEntry(_0x355174,_0x5cbac3){const _0x484ef1=a77_0x2f82,_0xefc37c=sanitizeSessionId(_0x355174);await ensureUsageDir();const _0x34387a=getSafeJsonlPath(_0xefc37c),_0x30a2b6=JSON[_0x484ef1(0x146)](_0x5cbac3)+'\x0a';await appendFile(_0x34387a,_0x30a2b6,_0x484ef1(0x155));}async function readSessionJsonl(_0x1280ad){const _0xb8658c=a77_0x2f82,_0x29f3fa=getSafeJsonlPath(_0x1280ad);if(!existsSync(_0x29f3fa))return[];try{const _0x59bb8e=await readFile(_0x29f3fa,_0xb8658c(0x155)),_0x4ceaee=_0x59bb8e[_0xb8658c(0x152)]()[_0xb8658c(0x136)]('\x0a')[_0xb8658c(0x125)](Boolean);return _0x4ceaee[_0xb8658c(0x14e)](_0x1905ad=>{const _0x5c9495=_0xb8658c;try{return JSON[_0x5c9495(0x12b)](_0x1905ad);}catch{return null;}})[_0xb8658c(0x125)](_0x3ce88a=>_0x3ce88a!==null);}catch(_0x5961da){const _0x38261b=await getLogger();return _0x38261b[_0xb8658c(0x128)](_0xb8658c(0x150)+_0x1280ad+'.jsonl:',_0x5961da instanceof Error?_0x5961da[_0xb8658c(0x154)]:String(_0x5961da)),[];}}function a77_0x14e7(){const _0x4dc6ac=['entryCount','timestamp','model','inputTokens','split','profiles','sort','month','mtime','object','sessions','1325508cczVHL','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','replace','22230280DcOaOO','claude-usage','contextSignature','lastUsedAt','monthCredits','slice','stringify','credits','cacheCreationInputTokens','4751335ICAabU','reduce','totalCredits','3374012WDzHrJ','todayDate','map','latestContextTokensBySignature','Failed\x20to\x20read\x20usage\x20file\x20','default','trim','tdx-claude','message','utf-8','571304azBEJH','source','stats-cache.json','171374oZOsAo','startsWith','lastUpdatedAt','WARN','monthly','.jsonl','323478fqrkBE','toISOString','getTime','getFullYear','init','filter','length','max','warn','3QivNRg','todayCredits','parse','keys','endsWith','values','entries','sources','daily'];a77_0x14e7=function(){return _0x4dc6ac;};return a77_0x14e7();}async function getAllSessionFiles(){const _0x2dd9fd=a77_0x2f82,_0x1d7ab9=getUsageDir();if(!existsSync(_0x1d7ab9))return[];try{const _0x1a79a3=await readdir(_0x1d7ab9);return _0x1a79a3[_0x2dd9fd(0x125)](_0x24cb5f=>_0x24cb5f[_0x2dd9fd(0x12d)](_0x2dd9fd(0x15e)))[_0x2dd9fd(0x14e)](_0x15ba43=>_0x15ba43[_0x2dd9fd(0x13f)](_0x2dd9fd(0x15e),''));}catch(_0x5ba030){const _0x2bd698=await getLogger();return _0x2bd698[_0x2dd9fd(0x128)]('Failed\x20to\x20read\x20usage\x20directory:',_0x5ba030 instanceof Error?_0x5ba030[_0x2dd9fd(0x154)]:String(_0x5ba030)),[];}}async function readStatsCache(){const _0x44db5d=a77_0x2f82,_0x35b2b3=getStatsCachePath();if(!existsSync(_0x35b2b3))return null;try{const _0x1fa23d=await readFile(_0x35b2b3,'utf-8'),_0x3d36c3=JSON[_0x44db5d(0x12b)](_0x1fa23d),_0x3fe670=Object['values'](_0x3d36c3[_0x44db5d(0x13c)]||{})[0x0];if(_0x3fe670&&'totalChatUnits'in _0x3fe670)return null;return _0x3d36c3;}catch{return null;}}async function writeStatsCache(_0x2c50fc){const _0x50a97f=a77_0x2f82;await ensureUsageDir();const _0x27c031=getStatsCachePath();await writeFile(_0x27c031,JSON['stringify'](_0x2c50fc,null,0x2),_0x50a97f(0x155));}async function isCacheUpToDate(_0x4b431a,_0x1985be){const _0x4a2726=a77_0x2f82,_0x12c15a=_0x4b431a[_0x4a2726(0x13c)][_0x1985be];if(!_0x12c15a)return![];const _0x1273aa=getSafeJsonlPath(_0x1985be);if(!existsSync(_0x1273aa))return!![];try{const _0xcb8bbe=await stat(_0x1273aa),_0x4ada7d=new Date(_0x12c15a[_0x4a2726(0x15b)])['getTime'](),_0x5d7e10=_0xcb8bbe[_0x4a2726(0x13a)][_0x4a2726(0x161)]();return _0x4ada7d>_0x5d7e10;}catch{return![];}}export async function rebuildCache(){const _0x4f136c=a77_0x2f82,_0x53ec17=new Date(),_0x32d7a1=_0x53ec17['toISOString']()[_0x4f136c(0x145)](0x0,0xa),_0x286c8c=_0x53ec17[_0x4f136c(0x160)]()['slice'](0x0,0x7),_0x36bb7b={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x53ec17[_0x4f136c(0x160)]()},_0x5d2786=await getAllSessionFiles();for(const _0x3cb24e of _0x5d2786){try{const _0x39f7d7=await readSessionJsonl(_0x3cb24e);if(_0x39f7d7[_0x4f136c(0x126)]===0x0)continue;let _0x246860=0x0;const _0x56fde2={};let _0x4825f5='';for(const _0x986da2 of _0x39f7d7){const _0x671649=getModelPricing(_0x986da2[_0x4f136c(0x134)]),_0x21cb73=calculateTokenCost(_0x986da2[_0x4f136c(0x135)],_0x986da2['outputTokens'],_0x986da2[_0x4f136c(0x148)]??0x0,_0x986da2['cacheReadInputTokens']??0x0,_0x671649),_0x16087d=usdToAiCredits(_0x21cb73);_0x246860+=_0x16087d;const _0x29846e=_0x986da2[_0x4f136c(0x142)]||_0x4f136c(0x151);_0x56fde2[_0x29846e]=_0x986da2[_0x4f136c(0x135)]+(_0x986da2[_0x4f136c(0x148)]??0x0)+(_0x986da2['cacheReadInputTokens']??0x0);_0x986da2[_0x4f136c(0x133)]>_0x4825f5&&(_0x4825f5=_0x986da2['timestamp']);const _0x3ac026=_0x986da2['timestamp'][_0x4f136c(0x145)](0x0,0xa);!_0x36bb7b[_0x4f136c(0x131)][_0x3ac026]&&(_0x36bb7b[_0x4f136c(0x131)][_0x3ac026]={'totalCredits':0x0,'entryCount':0x0});_0x36bb7b[_0x4f136c(0x131)][_0x3ac026]['totalCredits']+=_0x16087d,_0x36bb7b[_0x4f136c(0x131)][_0x3ac026][_0x4f136c(0x132)]+=0x1;const _0x258520=_0x986da2[_0x4f136c(0x133)][_0x4f136c(0x145)](0x0,0x7);!_0x36bb7b[_0x4f136c(0x15d)][_0x258520]&&(_0x36bb7b[_0x4f136c(0x15d)][_0x258520]={'totalCredits':0x0,'entryCount':0x0});_0x36bb7b[_0x4f136c(0x15d)][_0x258520][_0x4f136c(0x14b)]+=_0x16087d,_0x36bb7b['monthly'][_0x258520][_0x4f136c(0x132)]+=0x1;const _0x472af6=_0x986da2['profile']||_0x4f136c(0x151);!_0x36bb7b[_0x4f136c(0x137)][_0x472af6]&&(_0x36bb7b[_0x4f136c(0x137)][_0x472af6]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x32d7a1,'monthCredits':0x0,'month':_0x286c8c});_0x36bb7b[_0x4f136c(0x137)][_0x472af6]['totalCredits']+=_0x16087d,_0x36bb7b[_0x4f136c(0x137)][_0x472af6][_0x4f136c(0x132)]+=0x1;_0x986da2[_0x4f136c(0x133)]>_0x36bb7b[_0x4f136c(0x137)][_0x472af6]['lastUsedAt']&&(_0x36bb7b[_0x4f136c(0x137)][_0x472af6][_0x4f136c(0x143)]=_0x986da2[_0x4f136c(0x133)]);_0x3ac026===_0x32d7a1&&(_0x36bb7b[_0x4f136c(0x137)][_0x472af6]['todayCredits']+=_0x16087d);_0x258520===_0x286c8c&&(_0x36bb7b[_0x4f136c(0x137)][_0x472af6][_0x4f136c(0x144)]+=_0x16087d);const _0x28418e=_0x986da2[_0x4f136c(0x157)]||_0x4f136c(0x153);!_0x36bb7b[_0x4f136c(0x130)][_0x28418e]&&(_0x36bb7b[_0x4f136c(0x130)][_0x28418e]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x32d7a1,'monthCredits':0x0,'month':_0x286c8c}),_0x36bb7b[_0x4f136c(0x130)][_0x28418e][_0x4f136c(0x14b)]+=_0x16087d,_0x36bb7b[_0x4f136c(0x130)][_0x28418e]['entryCount']+=0x1,_0x3ac026===_0x32d7a1&&(_0x36bb7b['sources'][_0x28418e][_0x4f136c(0x12a)]+=_0x16087d),_0x258520===_0x286c8c&&(_0x36bb7b['sources'][_0x28418e][_0x4f136c(0x144)]+=_0x16087d);}_0x36bb7b[_0x4f136c(0x13c)][_0x3cb24e]={'totalCredits':_0x246860,'latestContextTokensBySignature':_0x56fde2,'createdAt':_0x39f7d7[0x0][_0x4f136c(0x133)],'lastUpdatedAt':_0x4825f5};}catch(_0x5bf3f8){const _0x46fd34=await getLogger();_0x46fd34['warn']('Failed\x20to\x20process\x20session\x20'+_0x3cb24e+':',_0x5bf3f8 instanceof Error?_0x5bf3f8[_0x4f136c(0x154)]:String(_0x5bf3f8));continue;}}return cleanupOldEntries(_0x36bb7b),await writeStatsCache(_0x36bb7b),_0x36bb7b;}function cleanupOldEntries(_0x33ab2a){const _0x39037e=a77_0x2f82,_0x14e171=new Date(),_0x395344=new Date(_0x14e171[_0x39037e(0x161)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x119ff2 of Object['keys'](_0x33ab2a[_0x39037e(0x131)])){new Date(_0x119ff2)<_0x395344&&delete _0x33ab2a[_0x39037e(0x131)][_0x119ff2];}const _0x10cfe4=new Date(_0x14e171[_0x39037e(0x123)]()-0x1,_0x14e171['getMonth'](),0x1);for(const _0x5ae7a7 of Object[_0x39037e(0x12c)](_0x33ab2a['monthly'])){const [_0x19b029,_0x49be9a]=_0x5ae7a7[_0x39037e(0x136)]('-')[_0x39037e(0x14e)](Number),_0x55b126=new Date(_0x19b029,_0x49be9a-0x1,0x1);_0x55b126<_0x10cfe4&&delete _0x33ab2a[_0x39037e(0x15d)][_0x5ae7a7];}const _0x286bad=new Date(_0x14e171[_0x39037e(0x161)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x5d164a,_0xd04b24]of Object['entries'](_0x33ab2a[_0x39037e(0x13c)])){new Date(_0xd04b24[_0x39037e(0x15b)])<_0x286bad&&delete _0x33ab2a[_0x39037e(0x13c)][_0x5d164a];}}export async function getOrUpdateCache(_0x2409dd){const _0x4e1234=_0x2409dd?sanitizeSessionId(_0x2409dd):undefined,_0x2c645e=await readStatsCache();if(!_0x2c645e)return rebuildCache();if(_0x4e1234){const _0x1dc981=await isCacheUpToDate(_0x2c645e,_0x4e1234);if(!_0x1dc981)return rebuildCache();}return _0x2c645e;}export async function getSessionCredits(_0x13d390){const _0x3be39f=a77_0x2f82,_0x53f5c6=sanitizeSessionId(_0x13d390),_0x185077=await getOrUpdateCache(_0x53f5c6),_0x4527b2=_0x185077[_0x3be39f(0x13c)][_0x53f5c6];if(!_0x4527b2)return 0x0;return _0x4527b2['totalCredits'];}export async function getTodayCredits(){const _0x5453d8=a77_0x2f82,_0x17efdd=await getOrUpdateCache(),_0x2acf8e=new Date()[_0x5453d8(0x160)]()['slice'](0x0,0xa),_0x5d3a0a=_0x17efdd[_0x5453d8(0x131)][_0x2acf8e];if(!_0x5d3a0a)return 0x0;return _0x5d3a0a[_0x5453d8(0x14b)];}export async function getMonthCredits(){const _0x23ca03=a77_0x2f82,_0x4113da=await getOrUpdateCache(),_0x5b5bb2=new Date()[_0x23ca03(0x160)]()['slice'](0x0,0x7),_0x3c5251=_0x4113da['monthly'][_0x5b5bb2];if(!_0x3c5251)return 0x0;return _0x3c5251[_0x23ca03(0x14b)];}export async function getSessionStats(_0x4edc40){const _0x340c64=a77_0x2f82,_0x1d626e=sanitizeSessionId(_0x4edc40),_0x2d61f1=await getOrUpdateCache(_0x1d626e);return _0x2d61f1[_0x340c64(0x13c)][_0x1d626e]||null;}function getMaxLatestContextTokens(_0x498861){const _0x30f533=a77_0x2f82,_0x413aad=Object[_0x30f533(0x12e)](_0x498861);if(_0x413aad[_0x30f533(0x126)]===0x0)return 0x0;return Math[_0x30f533(0x127)](..._0x413aad);}export async function getUsageStats(_0x14f449,_0x192511){const _0x52d89c=a77_0x2f82,_0x267f39=sanitizeSessionId(_0x14f449),_0x3641b1=await getOrUpdateCache(_0x267f39),_0x552271=_0x3641b1['sessions'][_0x267f39],_0x321d0b=new Date()['toISOString']()[_0x52d89c(0x145)](0x0,0xa),_0x345e3a=new Date()[_0x52d89c(0x160)]()[_0x52d89c(0x145)](0x0,0x7);if(_0x192511){const _0x354d7c=_0x3641b1[_0x52d89c(0x137)]?.[_0x192511],_0x14178d=_0x354d7c?.['todayDate']===_0x321d0b?_0x354d7c['todayCredits']:0x0,_0x43f38f=_0x354d7c?.[_0x52d89c(0x139)]===_0x345e3a?_0x354d7c[_0x52d89c(0x144)]:0x0;return{'sessionCredits':_0x552271?_0x552271[_0x52d89c(0x14b)]:0x0,'todayCredits':_0x14178d,'monthCredits':_0x43f38f,'latestContextTokens':_0x552271?getMaxLatestContextTokens(_0x552271[_0x52d89c(0x14f)]):0x0};}return{'sessionCredits':_0x552271?_0x552271[_0x52d89c(0x14b)]:0x0,'todayCredits':_0x3641b1[_0x52d89c(0x131)][_0x321d0b]?_0x3641b1['daily'][_0x321d0b]['totalCredits']:0x0,'monthCredits':_0x3641b1[_0x52d89c(0x15d)][_0x345e3a]?_0x3641b1[_0x52d89c(0x15d)][_0x345e3a][_0x52d89c(0x14b)]:0x0,'latestContextTokens':_0x552271?getMaxLatestContextTokens(_0x552271['latestContextTokensBySignature']):0x0};}export async function getAllProfileStats(){const _0x27434f=a77_0x2f82,_0x3dabfe=await getOrUpdateCache(),_0x3746fd=_0x3dabfe[_0x27434f(0x137)]||{};return Object[_0x27434f(0x12f)](_0x3746fd)['filter'](([,_0x631da5])=>_0x631da5&&typeof _0x631da5===_0x27434f(0x13b))[_0x27434f(0x14e)](([_0x25b8a9,_0x599ff1])=>({'profile':_0x25b8a9,'credits':_0x599ff1[_0x27434f(0x14b)]||0x0,'entryCount':_0x599ff1[_0x27434f(0x132)]||0x0,'lastUsedAt':_0x599ff1['lastUsedAt']||''}))['sort']((_0x5ce4a6,_0x397cbd)=>_0x397cbd[_0x27434f(0x147)]-_0x5ce4a6[_0x27434f(0x147)]);}export async function getAllSourceStats(){const _0x4541c2=a77_0x2f82,_0x593bab=await getOrUpdateCache(),_0x58014e=_0x593bab[_0x4541c2(0x130)]||{},_0x37d0ce=new Date()[_0x4541c2(0x160)]()[_0x4541c2(0x145)](0x0,0xa),_0x2efac4=new Date()[_0x4541c2(0x160)]()[_0x4541c2(0x145)](0x0,0x7);return Object['entries'](_0x58014e)[_0x4541c2(0x125)](([,_0x42c012])=>_0x42c012&&typeof _0x42c012===_0x4541c2(0x13b))[_0x4541c2(0x14e)](([_0x3fcc78,_0x290cfe])=>({'source':_0x3fcc78,'credits':_0x290cfe[_0x4541c2(0x14b)]||0x0,'todayCredits':_0x290cfe[_0x4541c2(0x14d)]===_0x37d0ce?_0x290cfe['todayCredits']||0x0:0x0,'monthCredits':_0x290cfe['month']===_0x2efac4?_0x290cfe[_0x4541c2(0x144)]||0x0:0x0,'entryCount':_0x290cfe[_0x4541c2(0x132)]||0x0}))[_0x4541c2(0x138)]((_0x39717b,_0x1be472)=>_0x1be472[_0x4541c2(0x147)]-_0x39717b['credits']);}export async function getUsageSummary(){const _0x5325d1=a77_0x2f82,_0xc56170=await getOrUpdateCache(),_0x17f391=_0xc56170['profiles']||{},_0xe98011=new Date()[_0x5325d1(0x160)]()[_0x5325d1(0x145)](0x0,0xa),_0x582100=new Date()[_0x5325d1(0x160)]()[_0x5325d1(0x145)](0x0,0x7),_0x5b8d14=Object[_0x5325d1(0x12e)](_0x17f391)[_0x5325d1(0x125)](_0x3b3e4b=>_0x3b3e4b&&typeof _0x3b3e4b===_0x5325d1(0x13b)),_0x370434=_0x5b8d14[_0x5325d1(0x14a)]((_0x14fd88,_0x427a5a)=>_0x14fd88+(_0x427a5a['totalCredits']||0x0),0x0);return{'todayCredits':_0xc56170[_0x5325d1(0x131)][_0xe98011]?_0xc56170[_0x5325d1(0x131)][_0xe98011]['totalCredits']||0x0:0x0,'monthCredits':_0xc56170[_0x5325d1(0x15d)][_0x582100]?_0xc56170[_0x5325d1(0x15d)][_0x582100][_0x5325d1(0x14b)]||0x0:0x0,'totalCredits':_0x370434,'profileCount':_0x5b8d14[_0x5325d1(0x126)]};}
@@ -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_0x2daa19=a78_0x47d9;(function(_0x18b819,_0x1c7510){const _0x15d418=a78_0x47d9,_0x4397d5=_0x18b819();while(!![]){try{const _0x552928=parseInt(_0x15d418(0x94))/0x1*(-parseInt(_0x15d418(0xaf))/0x2)+-parseInt(_0x15d418(0x111))/0x3+-parseInt(_0x15d418(0x9a))/0x4*(parseInt(_0x15d418(0xfe))/0x5)+-parseInt(_0x15d418(0xce))/0x6*(-parseInt(_0x15d418(0xfa))/0x7)+parseInt(_0x15d418(0x11b))/0x8+parseInt(_0x15d418(0xfd))/0x9+parseInt(_0x15d418(0xad))/0xa;if(_0x552928===_0x1c7510)break;else _0x4397d5['push'](_0x4397d5['shift']());}catch(_0x46e0f2){_0x4397d5['push'](_0x4397d5['shift']());}}}(a78_0x62e7,0xee5be));import a78_0x242ed7 from'fastify';import a78_0x1fd0b0 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';function a78_0x47d9(_0x29a438,_0x3bb1b){_0x29a438=_0x29a438-0x8c;const _0x62e740=a78_0x62e7();let _0x47d991=_0x62e740[_0x29a438];return _0x47d991;}const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8,TDX_SYSTEM_PROMPT=a78_0x2daa19(0xa4)+(isExperimentalAvailable()?'|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a':'')+a78_0x2daa19(0xf1);function a78_0x62e7(){const _0x258a6b=['setupMiddleware','code','/health','inputTokens','Bearer\x20','buildForwardHeaders','|\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|','decode','method','Server\x20has\x20not\x20been\x20started\x20yet','EADDRINUSE','addContentTypeParser','text/event-stream','message',',\x20output=','36512GEVimz','haiku','status','7998111EMCswd','5XyoqyO',',\x20cache_read=','register','stringify','Stream\x20interrupted','logger','toISOString','unknown','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','write','header','Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20','Unknown\x20error','info','refreshTokenIfNeeded','Content-Type','config','handleCountTokens','/v1/messages/count_tokens','607995PsWAsT','string',':\x20messages=','type','refresh_token','127.0.0.1','post','access_token','setupRoutes','handleStreamingResponse','3040192jARTWF','get','llmProxyUrl','Forwarding\x20to:\x20','statusText','\x20in\x20use,\x20trying\x20next...','processChunk','startsWith','[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully','text','x-api-key',',\x20model=','startTokenRefreshTimer','slice','body','unref','OPTIONS','User-Agent','user-agent','raw','580631TiIFJG','send','startPort','cache_creation_input_tokens','match','event:\x20error\x0adata:\x20','5581652hohumi','start','[PASSTHROUGH\x20PROXY\x20ERROR]:','GET','POST','cacheReadInputTokens','stream','setupJsonParser','keep-alive','timeout','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','flush','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','metadata','host','accessToken','stream_error','X-TD-Client-Version','TimeoutError','2276360FlnsNn','createServer','2nJXAPQ','read','timeoutMs','auth','[PASSTHROUGH]\x20Usage:\x20input=','logUsage','Port\x20','toLowerCase','[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:','api_error','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','[PASSTHROUGH]\x20','profile','server',',\x20cache_create=','error','url','Authorization','length','_boundPort','X-TD-Client','application/json','messages','parse','connection','tdx','expiresAt','TD1\x20','headers','transfer-encoding','debug','1908uSuBQs','outputTokens','tdx/','refreshToken','SKIP_HEADERS',',\x20stream=','getReader','authorization','includes','cacheCreationInputTokens','getUsage','Pass-through\x20proxy\x20server\x20stopped','timeout_error','/v1/messages','close','refreshTimer','system','input_tokens','port','content-length','indexOf','listen','usage','cache_read_input_tokens','isArray','oauth','name','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','model'];a78_0x62e7=function(){return _0x258a6b;};return a78_0x62e7();}function extractSessionUUID(_0x54c006){const _0xf15112=a78_0x2daa19,_0x13945f=_0x54c006[_0xf15112(0x98)](/_session_([a-f0-9-]+)$/i);if(_0x13945f)return _0x13945f[0x1];return _0x54c006;}export function injectSystemPrompt(_0x312f12,_0x24b80f){const _0x12469d=a78_0x2daa19,_0x3e4fa8=_0x312f12[_0x12469d(0xde)];if(!_0x3e4fa8)return{..._0x312f12,'system':_0x24b80f};if(typeof _0x3e4fa8==='string')return{..._0x312f12,'system':_0x3e4fa8+'\x0a\x0a'+_0x24b80f};if(Array['isArray'](_0x3e4fa8)){const _0x1338eb={'type':_0x12469d(0x124),'text':_0x24b80f};return{..._0x312f12,'system':[..._0x3e4fa8,_0x1338eb]};}return _0x312f12;}export function shouldInjectSystemPrompt(_0x440e52){const _0x330d66=a78_0x2daa19;return!_0x440e52[_0x330d66(0xb6)]()[_0x330d66(0xd6)](_0x330d66(0xfb));}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8,TOKEN_EXPIRY_BUFFER_MS=0x5*0x3c*0x3e8;export class PassThroughProxyServer{['server'];[a78_0x2daa19(0x10e)];[a78_0x2daa19(0x103)];['_boundPort'];[a78_0x2daa19(0xdd)];constructor(_0x151ff5){const _0x469944=a78_0x2daa19;this[_0x469944(0x10e)]=_0x151ff5,this['logger']=_0x151ff5['logger'],this[_0x469944(0xbc)]=this['createServer']();}get[a78_0x2daa19(0xe0)](){const _0x39455f=a78_0x2daa19;if(this[_0x39455f(0xc2)]===undefined)throw new Error(_0x39455f(0xf4));return this['_boundPort'];}[a78_0x2daa19(0xae)](){const _0x210a13=a78_0x2daa19,_0x4f180a=a78_0x242ed7({'logger':![],'bodyLimit':0x40*0x400*0x400});return this['server']=_0x4f180a,this['setupJsonParser'](),this[_0x210a13(0xeb)](),this[_0x210a13(0x119)](),_0x4f180a;}[a78_0x2daa19(0xa1)](){const _0x76ebec=a78_0x2daa19;this['server'][_0x76ebec(0xf6)]('application/json',{'parseAs':_0x76ebec(0x112)},(_0x255cee,_0x4a01bb,_0x33a683)=>{try{const _0x5312bf=JSON['parse'](_0x4a01bb);_0x33a683(null,_0x5312bf);}catch(_0x2b0208){_0x33a683(_0x2b0208,undefined);}});}[a78_0x2daa19(0xeb)](){const _0x4bb61=a78_0x2daa19;this[_0x4bb61(0xbc)][_0x4bb61(0x100)](a78_0x1fd0b0,{'origin':!![],'methods':[_0x4bb61(0x9d),_0x4bb61(0x9e),_0x4bb61(0x90)],'allowedHeaders':[_0x4bb61(0x10d),_0x4bb61(0xc0),'anthropic-version',_0x4bb61(0x125)]}),this['server']['setErrorHandler']((_0x514b81,_0x193b38,_0x2937f3)=>{const _0x438fef=_0x4bb61,_0x5d574f=_0x514b81 instanceof Error?_0x514b81[_0x438fef(0xf8)]:_0x438fef(0x10a);this[_0x438fef(0x103)]['error'](_0x438fef(0x9c),_0x514b81),_0x2937f3['code'](0x1f4)[_0x438fef(0x95)]({'type':_0x438fef(0xbe),'error':{'type':'api_error','message':_0x5d574f}});});}[a78_0x2daa19(0x119)](){const _0x351755=a78_0x2daa19;this[_0x351755(0xbc)][_0x351755(0x11c)](_0x351755(0xed),async()=>{return{'status':'ok','message':'TD\x20LLM\x20Pass-through\x20Proxy\x20Server'};}),this[_0x351755(0xbc)][_0x351755(0x117)]('/v1/messages',async(_0x406aae,_0x4aee26)=>{return this['handleMessages'](_0x406aae,_0x4aee26);}),this[_0x351755(0xbc)]['post'](_0x351755(0x110),async(_0x2c1a20,_0x3d9fa4)=>{const _0x306620=_0x351755;return this[_0x306620(0x10f)](_0x2c1a20,_0x3d9fa4);});}static [a78_0x2daa19(0xd2)]=new Set([a78_0x2daa19(0xa8),a78_0x2daa19(0xc7),a78_0x2daa19(0xe1),a78_0x2daa19(0xcc),a78_0x2daa19(0xd5),'x-api-key',a78_0x2daa19(0x92)]);[a78_0x2daa19(0xf0)](_0x4f3b32){const _0x26b4c0=a78_0x2daa19,_0x427093={};for(const [_0x476ecf,_0x2632e7]of Object['entries'](_0x4f3b32[_0x26b4c0(0xcb)])){const _0x59fd4a=_0x476ecf['toLowerCase']();if(PassThroughProxyServer[_0x26b4c0(0xd2)]['has'](_0x59fd4a))continue;if(_0x59fd4a[_0x26b4c0(0x122)]('x-td-'))continue;if(typeof _0x2632e7===_0x26b4c0(0x112))_0x427093[_0x476ecf]=_0x2632e7;else Array[_0x26b4c0(0xe6)](_0x2632e7)&&(_0x427093[_0x476ecf]=_0x2632e7['join'](',\x20'));}const _0x217206=getVersion(),{auth:_0x3268a2}=this[_0x26b4c0(0x10e)];return _0x427093[_0x26b4c0(0xc0)]=_0x3268a2[_0x26b4c0(0x114)]==='oauth'?_0x26b4c0(0xef)+_0x3268a2[_0x26b4c0(0xa9)]:_0x26b4c0(0xca)+_0x3268a2['apiKey'],_0x427093[_0x26b4c0(0x91)]=_0x26b4c0(0xd0)+_0x217206,_0x427093[_0x26b4c0(0xc3)]=_0x26b4c0(0xc8),_0x427093[_0x26b4c0(0xab)]=_0x217206,_0x427093;}async['handleMessages'](_0x136299,_0x13d573){const _0x48a559=a78_0x2daa19,_0x2e0321=_0x136299[_0x48a559(0x8e)],_0x1e184a=_0x2e0321[_0x48a559(0xa0)]!==![],_0x56c954=_0x2e0321[_0x48a559(0xa7)],_0x1b675f=_0x56c954?.['user_id']||'default',_0x5e317b=extractSessionUUID(_0x1b675f),_0x3c33be=_0x2e0321[_0x48a559(0xea)]||_0x48a559(0x105),_0x45ddce=shouldInjectSystemPrompt(_0x3c33be)?injectSystemPrompt(_0x2e0321,TDX_SYSTEM_PROMPT):_0x2e0321,_0x3f4079=JSON[_0x48a559(0x101)](_0x45ddce),_0x3b4d67=Array['isArray'](_0x2e0321['messages'])?_0x2e0321[_0x48a559(0xc5)][_0x48a559(0xc1)]:0x0;this[_0x48a559(0x103)][_0x48a559(0x10b)](_0x48a559(0xba)+_0x136299[_0x48a559(0xf3)]+'\x20'+_0x136299['url']+_0x48a559(0x113)+_0x3b4d67+_0x48a559(0x126)+_0x3c33be+_0x48a559(0xd3)+_0x1e184a);const _0xf78641=_0x136299[_0x48a559(0xbf)][_0x48a559(0xd6)]('?')?_0x136299['url']['slice'](_0x136299[_0x48a559(0xbf)]['indexOf']('?')):'',_0x4ae1a6=this['config'][_0x48a559(0x11d)]+_0x48a559(0xdb)+_0xf78641,_0x3e9520=this[_0x48a559(0xf0)](_0x136299);this[_0x48a559(0x103)][_0x48a559(0xcd)]('Forwarding\x20to:\x20'+_0x4ae1a6);const _0x266124=this[_0x48a559(0x10e)][_0x48a559(0xb1)]||DEFAULT_TIMEOUT_MS;try{const _0x185d4e=await fetch(_0x4ae1a6,{'method':_0x48a559(0x9e),'headers':_0x3e9520,'body':_0x3f4079,'signal':AbortSignal[_0x48a559(0xa3)](_0x266124)});if(!_0x185d4e['ok']){const _0x77a40f=await _0x185d4e[_0x48a559(0x124)]();return this['logger'][_0x48a559(0xbe)]('[PASSTHROUGH]\x20Upstream\x20error:\x20'+_0x185d4e[_0x48a559(0xfc)]+'\x20'+_0x185d4e[_0x48a559(0x11f)]),this[_0x48a559(0x103)][_0x48a559(0xcd)]('Error\x20body:\x20'+_0x77a40f),_0x13d573[_0x48a559(0xec)](_0x185d4e['status']),_0x13d573[_0x48a559(0x108)](_0x48a559(0x10d),_0x185d4e[_0x48a559(0xcb)][_0x48a559(0x11c)]('Content-Type')||_0x48a559(0xc4)),_0x13d573[_0x48a559(0x95)](_0x77a40f);}if(_0x1e184a&&_0x185d4e['body'])await this[_0x48a559(0x11a)](_0x185d4e[_0x48a559(0x8e)],_0x13d573,_0x5e317b,_0x3c33be);else{const _0x3b3233=await _0x185d4e[_0x48a559(0x124)]();_0x13d573['header']('Content-Type',_0x185d4e[_0x48a559(0xcb)][_0x48a559(0x11c)](_0x48a559(0x10d))||_0x48a559(0xc4));try{const _0x2b33e0=JSON[_0x48a559(0xc6)](_0x3b3233);_0x2b33e0['usage']&&await this[_0x48a559(0xb4)](_0x5e317b,_0x3c33be,_0x2b33e0[_0x48a559(0xe4)][_0x48a559(0xdf)]||0x0,_0x2b33e0['usage']['output_tokens']||0x0,_0x2b33e0[_0x48a559(0xe4)][_0x48a559(0x97)],_0x2b33e0[_0x48a559(0xe4)][_0x48a559(0xe5)]);}catch{}return _0x13d573['send'](_0x3b3233);}}catch(_0x25437b){const _0xb78bc6=_0x25437b instanceof Error?_0x25437b['message']:_0x48a559(0x10a),_0x8d3095=_0x25437b instanceof Error&&_0x25437b[_0x48a559(0xe8)]===_0x48a559(0xac);this['logger'][_0x48a559(0xbe)]('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:',_0x25437b),_0x13d573['code'](_0x8d3095?0x1f8:0x1f7)['send']({'type':_0x48a559(0xbe),'error':{'type':_0x8d3095?_0x48a559(0xda):_0x48a559(0xb8),'message':_0x8d3095?_0x48a559(0xe9)+_0x266124+'ms':'Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20'+_0xb78bc6}});}}async['handleStreamingResponse'](_0x5795bf,_0x396ab7,_0x56065e,_0x2b8044){const _0x488331=a78_0x2daa19;_0x396ab7[_0x488331(0x93)]['writeHead'](0xc8,{'Content-Type':_0x488331(0xf7),'Cache-Control':'no-cache','Connection':_0x488331(0xa2)});const _0x525171=new SSEUsageTracker(),_0x4b8bde=_0x5795bf[_0x488331(0xd4)](),_0x50f351=new TextDecoder();try{while(!![]){const {done:_0x318c27,value:_0xe0ca78}=await _0x4b8bde[_0x488331(0xb0)]();if(_0x318c27)break;const _0x6a2f5d=_0x50f351[_0x488331(0xf2)](_0xe0ca78,{'stream':!![]});_0x525171[_0x488331(0x121)](_0x6a2f5d),_0x396ab7[_0x488331(0x93)][_0x488331(0x107)](_0x6a2f5d);}_0x525171[_0x488331(0xa5)]();const _0x539720=_0x525171[_0x488331(0xd8)]();(_0x539720[_0x488331(0xee)]>0x0||_0x539720[_0x488331(0xcf)]>0x0)&&await this[_0x488331(0xb4)](_0x56065e,_0x2b8044,_0x539720[_0x488331(0xee)],_0x539720[_0x488331(0xcf)],_0x539720[_0x488331(0xd7)],_0x539720[_0x488331(0x9f)]);}catch(_0x3a3f18){this[_0x488331(0x103)]['error']('[PASSTHROUGH]\x20Stream\x20error:',_0x3a3f18);const _0x43715d=_0x488331(0x99)+JSON[_0x488331(0x101)]({'type':'error','error':{'type':_0x488331(0xaa),'message':_0x488331(0x102)}})+'\x0a\x0a';_0x396ab7[_0x488331(0x93)]['write'](_0x43715d);}finally{_0x396ab7[_0x488331(0x93)]['end']();}}async[a78_0x2daa19(0x10f)](_0x1c6d03,_0x43d56e){const _0x5e9572=a78_0x2daa19,_0x5eda81=_0x1c6d03[_0x5e9572(0x8e)],_0x53725b=_0x1c6d03[_0x5e9572(0xbf)][_0x5e9572(0xd6)]('?')?_0x1c6d03[_0x5e9572(0xbf)][_0x5e9572(0x8d)](_0x1c6d03['url'][_0x5e9572(0xe2)]('?')):'',_0x5d773f=this[_0x5e9572(0x10e)][_0x5e9572(0x11d)]+'/v1/messages/count_tokens'+_0x53725b,_0x520360=this[_0x5e9572(0xf0)](_0x1c6d03),_0x200dd6=_0x5eda81[_0x5e9572(0xea)]||_0x5e9572(0x105),_0x4d12cd=shouldInjectSystemPrompt(_0x200dd6)?injectSystemPrompt(_0x5eda81,TDX_SYSTEM_PROMPT):_0x5eda81,_0x2e48f6=JSON['stringify'](_0x4d12cd);this[_0x5e9572(0x103)][_0x5e9572(0xcd)](_0x5e9572(0xb9)+_0x5d773f);const _0x3e38f0=this[_0x5e9572(0x10e)][_0x5e9572(0xb1)]||DEFAULT_TIMEOUT_MS;try{const _0x22a1ab=await fetch(_0x5d773f,{'method':'POST','headers':_0x520360,'body':_0x2e48f6,'signal':AbortSignal[_0x5e9572(0xa3)](_0x3e38f0)}),_0x50740b=await _0x22a1ab[_0x5e9572(0x124)]();return _0x43d56e[_0x5e9572(0xec)](_0x22a1ab[_0x5e9572(0xfc)]),_0x43d56e[_0x5e9572(0x108)]('Content-Type',_0x22a1ab[_0x5e9572(0xcb)][_0x5e9572(0x11c)](_0x5e9572(0x10d))||_0x5e9572(0xc4)),_0x43d56e[_0x5e9572(0x95)](_0x50740b);}catch(_0x39120f){const _0x29fc1c=_0x39120f instanceof Error?_0x39120f[_0x5e9572(0xf8)]:_0x5e9572(0x10a),_0x485a3a=_0x39120f instanceof Error&&_0x39120f[_0x5e9572(0xe8)]===_0x5e9572(0xac);this[_0x5e9572(0x103)][_0x5e9572(0xbe)]('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:',_0x39120f),_0x43d56e[_0x5e9572(0xec)](_0x485a3a?0x1f8:0x1f7)['send']({'type':_0x5e9572(0xbe),'error':{'type':_0x485a3a?_0x5e9572(0xda):_0x5e9572(0xb8),'message':_0x485a3a?_0x5e9572(0xe9)+_0x3e38f0+'ms':_0x5e9572(0x106)+_0x29fc1c}});}}async[a78_0x2daa19(0xb4)](_0x2bc2e2,_0x15b02c,_0x2f7296,_0x2fd5df,_0x487426,_0x43190a){const _0x4d53f8=a78_0x2daa19,_0x17b2d2={'timestamp':new Date()[_0x4d53f8(0x104)](),'model':_0x15b02c,'inputTokens':_0x2f7296,'outputTokens':_0x2fd5df,'cacheCreationInputTokens':_0x487426,'cacheReadInputTokens':_0x43190a,'profile':this[_0x4d53f8(0x10e)][_0x4d53f8(0xbb)],'source':'tdx-claude'},_0x4b95d2=_0x487426||_0x43190a?_0x4d53f8(0xbd)+(_0x487426||0x0)+_0x4d53f8(0xff)+(_0x43190a||0x0):'';this[_0x4d53f8(0x103)][_0x4d53f8(0xcd)](_0x4d53f8(0xb3)+_0x2f7296+_0x4d53f8(0xf9)+_0x2fd5df+_0x4b95d2+_0x4d53f8(0x126)+_0x15b02c);try{await appendUsageEntry(_0x2bc2e2,_0x17b2d2);}catch(_0x4391a1){this[_0x4d53f8(0x103)][_0x4d53f8(0xbe)](_0x4d53f8(0xa6),_0x4391a1);}}['startTokenRefreshTimer'](){const _0x5bc37a=a78_0x2daa19;if(this[_0x5bc37a(0x10e)][_0x5bc37a(0xb2)][_0x5bc37a(0x114)]!==_0x5bc37a(0xe7))return;this['refreshTimer']=setInterval(()=>{const _0x53551a=_0x5bc37a;void this[_0x53551a(0x10c)]();},TOKEN_REFRESH_INTERVAL_MS),this[_0x5bc37a(0xdd)][_0x5bc37a(0x8f)]();}async[a78_0x2daa19(0x10c)](){const _0x51f43d=a78_0x2daa19,{auth:_0x27ab22}=this[_0x51f43d(0x10e)];if(_0x27ab22[_0x51f43d(0x114)]!==_0x51f43d(0xe7))return;const _0xf634cc=!_0x27ab22[_0x51f43d(0xc9)]||_0x27ab22['expiresAt']<Date['now']()+TOKEN_EXPIRY_BUFFER_MS;if(!_0xf634cc)return;try{const _0x5317ed=await refreshAccessToken(_0x27ab22['consoleUrl'],_0x27ab22['refreshToken']);_0x27ab22[_0x51f43d(0xa9)]=_0x5317ed[_0x51f43d(0x118)],_0x27ab22[_0x51f43d(0xd1)]=_0x5317ed[_0x51f43d(0x115)],_0x27ab22['expiresAt']=_0x5317ed['expires_at'],await saveOAuthTokens(_0x5317ed,this[_0x51f43d(0x10e)][_0x51f43d(0xbb)]),this[_0x51f43d(0x103)]['info'](_0x51f43d(0x123));}catch(_0x1135cf){this['logger'][_0x51f43d(0xbe)](_0x51f43d(0xb7),_0x1135cf);}}async[a78_0x2daa19(0x9b)](){const _0x526d13=a78_0x2daa19,_0x565a3f=this['config']['maxPortAttempts']??0x64;for(let _0x384e19=0x0;_0x384e19<_0x565a3f;_0x384e19++){const _0x3d685b=this[_0x526d13(0x10e)][_0x526d13(0x96)]+_0x384e19;try{await this[_0x526d13(0xbc)][_0x526d13(0xe3)]({'port':_0x3d685b,'host':_0x526d13(0x116)}),this[_0x526d13(0xc2)]=_0x3d685b,this['logger']['info'](_0x526d13(0x109)+_0x3d685b),this[_0x526d13(0x103)][_0x526d13(0x10b)](_0x526d13(0x11e)+this[_0x526d13(0x10e)][_0x526d13(0x11d)]),this[_0x526d13(0x8c)]();return;}catch(_0x307176){const _0x1aa61d=_0x307176 instanceof Error&&_0x526d13(0xec)in _0x307176&&_0x307176[_0x526d13(0xec)]===_0x526d13(0xf5);if(!_0x1aa61d)throw _0x307176;this[_0x526d13(0x103)]['debug'](_0x526d13(0xb5)+_0x3d685b+_0x526d13(0x120)),this[_0x526d13(0xae)]();}}const _0xe9fb95=this['config'][_0x526d13(0x96)]+_0x565a3f-0x1;throw new Error('No\x20available\x20port\x20found\x20between\x20'+this[_0x526d13(0x10e)]['startPort']+'\x20and\x20'+_0xe9fb95);}async['stop'](){const _0x4064e1=a78_0x2daa19;this[_0x4064e1(0xdd)]&&(clearInterval(this[_0x4064e1(0xdd)]),this['refreshTimer']=undefined),await this[_0x4064e1(0xbc)][_0x4064e1(0xdc)](),this[_0x4064e1(0x103)][_0x4064e1(0x10b)](_0x4064e1(0xd9));}['getAddress'](){const _0x576191=a78_0x2daa19;return'http://127.0.0.1:'+this[_0x576191(0xe0)];}}
@@ -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_0x4b3b0d=a79_0x562a;(function(_0x1c8b39,_0x4f920b){const _0x4af054=a79_0x562a,_0x4d32ae=_0x1c8b39();while(!![]){try{const _0xeee518=-parseInt(_0x4af054(0x10b))/0x1*(-parseInt(_0x4af054(0xea))/0x2)+parseInt(_0x4af054(0x10e))/0x3*(parseInt(_0x4af054(0x108))/0x4)+parseInt(_0x4af054(0xef))/0x5+-parseInt(_0x4af054(0xf7))/0x6+parseInt(_0x4af054(0x10c))/0x7*(parseInt(_0x4af054(0x106))/0x8)+parseInt(_0x4af054(0xf0))/0x9+-parseInt(_0x4af054(0x102))/0xa;if(_0xeee518===_0x4f920b)break;else _0x4d32ae['push'](_0x4d32ae['shift']());}catch(_0x23d4d0){_0x4d32ae['push'](_0x4d32ae['shift']());}}}(a79_0x3c34,0x35fd8));export function parseSSEChunk(_0x3dcdf2){const _0x36a18c=a79_0x562a,_0x1c2820=[],_0x5d150b=_0x3dcdf2[_0x36a18c(0xe9)]('\x0a\x0a'),_0x26445e=_0x5d150b[_0x36a18c(0xf3)]()||'';for(const _0x5a8003 of _0x5d150b){if(!_0x5a8003[_0x36a18c(0x100)]())continue;const _0xab832b={},_0x5b334a=_0x5a8003['split']('\x0a');for(const _0x30edba of _0x5b334a){if(_0x30edba[_0x36a18c(0xec)](_0x36a18c(0x10a)))_0xab832b[_0x36a18c(0x112)]=_0x30edba[_0x36a18c(0x109)](0x7);else _0x30edba[_0x36a18c(0xec)](_0x36a18c(0x103))&&(_0xab832b['data']=_0x30edba[_0x36a18c(0x109)](0x6));}(_0xab832b[_0x36a18c(0x112)]||_0xab832b[_0x36a18c(0x110)])&&_0x1c2820[_0x36a18c(0x10f)](_0xab832b);}return{'events':_0x1c2820,'remaining':_0x26445e};}function a79_0x562a(_0x2083f3,_0x5b55ba){_0x2083f3=_0x2083f3-0xe9;const _0x3c3430=a79_0x3c34();let _0x562a39=_0x3c3430[_0x2083f3];return _0x562a39;}export function extractMessageStartUsage(_0x22a481){const _0x6feedd=a79_0x562a;try{const _0x4875f2=JSON['parse'](_0x22a481);if(_0x4875f2[_0x6feedd(0xed)]===_0x6feedd(0x111)&&_0x4875f2[_0x6feedd(0xfc)]?.[_0x6feedd(0x105)]){const _0x4e37d8=_0x4875f2[_0x6feedd(0xfc)][_0x6feedd(0x105)];return{'inputTokens':_0x4e37d8[_0x6feedd(0x104)]||0x0,'outputTokens':_0x4e37d8[_0x6feedd(0xf2)]||0x0,'cacheCreationInputTokens':_0x4e37d8['cache_creation_input_tokens'],'cacheReadInputTokens':_0x4e37d8[_0x6feedd(0xf4)]};}}catch{}return null;}export function extractMessageDeltaUsage(_0x58087d){const _0x178b0b=a79_0x562a;try{const _0x56af1a=JSON[_0x178b0b(0xfa)](_0x58087d);if(_0x56af1a[_0x178b0b(0xed)]===_0x178b0b(0xff)&&_0x56af1a[_0x178b0b(0x105)]){const _0x59a5b7=_0x56af1a['usage'];return{'inputTokens':_0x59a5b7[_0x178b0b(0x104)]||0x0,'outputTokens':_0x59a5b7['output_tokens']||0x0,'cacheCreationInputTokens':_0x59a5b7[_0x178b0b(0xf1)],'cacheReadInputTokens':_0x59a5b7[_0x178b0b(0xf4)]};}}catch{}return null;}function a79_0x3c34(){const _0x4dbd79=['cacheReadInputTokens','6mcYDZL','push','data','message_start','event','split','1904tSGXLI','max','startsWith','type','outputTokens','520935VIyJPo','1036701ysbJyP','cache_creation_input_tokens','output_tokens','pop','cache_read_input_tokens','inputTokens','updateFromUsage','510924uzGxVU','unknown','cacheCreationInputTokens','parse','processChunk','message','getUsage','onRawUsage','message_delta','trim','buffer','4733370cAPGrQ','data:\x20','input_tokens','usage','4680Dwjybv','flush','383540UjzBDM','slice','event:\x20','62WmsvWr','3703lUckFs'];a79_0x3c34=function(){return _0x4dbd79;};return a79_0x3c34();}export function extractUsageFromEvent(_0x4a8677){const _0xf1acb5=a79_0x562a;if(!_0x4a8677[_0xf1acb5(0x110)])return null;if(_0x4a8677[_0xf1acb5(0x112)]===_0xf1acb5(0x111))return extractMessageStartUsage(_0x4a8677[_0xf1acb5(0x110)]);if(_0x4a8677[_0xf1acb5(0x112)]===_0xf1acb5(0xff))return extractMessageDeltaUsage(_0x4a8677[_0xf1acb5(0x110)]);return null;}export class SSEUsageTracker{[a79_0x4b3b0d(0xf5)]=0x0;['outputTokens']=0x0;[a79_0x4b3b0d(0xf9)];[a79_0x4b3b0d(0x10d)];[a79_0x4b3b0d(0x101)]='';[a79_0x4b3b0d(0xf6)](_0x1764d9){const _0x3e6e1f=a79_0x4b3b0d;this['inputTokens']=Math[_0x3e6e1f(0xeb)](this[_0x3e6e1f(0xf5)],_0x1764d9[_0x3e6e1f(0xf5)]),this['outputTokens']=Math[_0x3e6e1f(0xeb)](this[_0x3e6e1f(0xee)],_0x1764d9[_0x3e6e1f(0xee)]),_0x1764d9['cacheCreationInputTokens']!==undefined&&(this[_0x3e6e1f(0xf9)]=Math[_0x3e6e1f(0xeb)](this['cacheCreationInputTokens']??0x0,_0x1764d9[_0x3e6e1f(0xf9)])),_0x1764d9[_0x3e6e1f(0x10d)]!==undefined&&(this[_0x3e6e1f(0x10d)]=Math['max'](this['cacheReadInputTokens']??0x0,_0x1764d9[_0x3e6e1f(0x10d)]));}[a79_0x4b3b0d(0xfe)];[a79_0x4b3b0d(0xfb)](_0x43662a){const _0x52fd0b=a79_0x4b3b0d;this['buffer']+=_0x43662a;const {events:_0x545f2f,remaining:_0x2829ac}=parseSSEChunk(this[_0x52fd0b(0x101)]);this['buffer']=_0x2829ac;for(const _0x3c48ca of _0x545f2f){const _0x58a85d=extractUsageFromEvent(_0x3c48ca);_0x58a85d&&(this[_0x52fd0b(0xfe)]?.(_0x3c48ca[_0x52fd0b(0x112)]||_0x52fd0b(0xf8),_0x3c48ca['data']||'',_0x58a85d),this[_0x52fd0b(0xf6)](_0x58a85d));}return _0x43662a;}[a79_0x4b3b0d(0x107)](){const _0x58150e=a79_0x4b3b0d;if(this[_0x58150e(0x101)][_0x58150e(0x100)]()){const {events:_0x3a0cf7}=parseSSEChunk(this[_0x58150e(0x101)]+'\x0a\x0a');for(const _0x5864c9 of _0x3a0cf7){const _0x424f5f=extractUsageFromEvent(_0x5864c9);_0x424f5f&&this[_0x58150e(0xf6)](_0x424f5f);}this['buffer']='';}}[a79_0x4b3b0d(0xfd)](){const _0x23aa34=a79_0x4b3b0d;return{'inputTokens':this['inputTokens'],'outputTokens':this[_0x23aa34(0xee)],'cacheCreationInputTokens':this[_0x23aa34(0xf9)],'cacheReadInputTokens':this[_0x23aa34(0x10d)]};}['reset'](){const _0x41495c=a79_0x4b3b0d;this[_0x41495c(0xf5)]=0x0,this[_0x41495c(0xee)]=0x0,this[_0x41495c(0xf9)]=undefined,this[_0x41495c(0x10d)]=undefined,this['buffer']='';}}