@treasuredata/tdx 2026.3.32 → 2026.3.33

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 (245) 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.d.ts.map +1 -1
  5. package/dist/cli.js +1 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/activations.js +1 -1
  8. package/dist/commands/agent-command.js +1 -1
  9. package/dist/commands/agent-test-command.js +1 -1
  10. package/dist/commands/api-command.js +1 -1
  11. package/dist/commands/auth-command.js +1 -1
  12. package/dist/commands/auth-login-command.js +1 -1
  13. package/dist/commands/cas-command.js +1 -1
  14. package/dist/commands/cas-segment-command.js +1 -1
  15. package/dist/commands/chat-command.js +1 -1
  16. package/dist/commands/claude-command.js +1 -1
  17. package/dist/commands/claude-statusline-command.js +1 -1
  18. package/dist/commands/claude-usage-command.js +1 -1
  19. package/dist/commands/command.js +1 -1
  20. package/dist/commands/connection-command.js +1 -1
  21. package/dist/commands/databases.js +1 -1
  22. package/dist/commands/delivery-command.js +1 -1
  23. package/dist/commands/describe.js +1 -1
  24. package/dist/commands/engage-campaign-pull-command.js +1 -1
  25. package/dist/commands/engage-campaign-push-command.js +1 -1
  26. package/dist/commands/engage-campaign-validate-command.js +1 -1
  27. package/dist/commands/engage-command.js +1 -1
  28. package/dist/commands/engage-template-pull-command.js +1 -1
  29. package/dist/commands/engage-template-push-command.js +1 -1
  30. package/dist/commands/engage-template-validate-command.js +1 -1
  31. package/dist/commands/job-command.js +1 -1
  32. package/dist/commands/journey-command.js +1 -1
  33. package/dist/commands/journey-validate-command.js +1 -1
  34. package/dist/commands/llm-command.js +1 -1
  35. package/dist/commands/mcp-command.js +1 -1
  36. package/dist/commands/parent-segment-command.js +1 -1
  37. package/dist/commands/policy-command.js +1 -1
  38. package/dist/commands/profile-command.js +1 -1
  39. package/dist/commands/profiles-command.js +1 -1
  40. package/dist/commands/query-command.js +1 -1
  41. package/dist/commands/schedule-command.js +1 -1
  42. package/dist/commands/segment-command.js +1 -1
  43. package/dist/commands/segment-create-command.js +1 -1
  44. package/dist/commands/segment-fields-command.js +1 -1
  45. package/dist/commands/segment-pull-command.js +1 -1
  46. package/dist/commands/segment-push-command.js +1 -1
  47. package/dist/commands/segment-update-command.js +1 -1
  48. package/dist/commands/segment-use-command.js +1 -1
  49. package/dist/commands/segment-validate-command.js +1 -1
  50. package/dist/commands/segments.js +1 -1
  51. package/dist/commands/show.js +1 -1
  52. package/dist/commands/status-command.js +1 -1
  53. package/dist/commands/tables.js +1 -1
  54. package/dist/commands/unset-command.js +1 -1
  55. package/dist/commands/upgrade-command.js +1 -1
  56. package/dist/commands/use-command.js +1 -1
  57. package/dist/commands/user-command.js +1 -1
  58. package/dist/commands/work-command.d.ts +1 -3
  59. package/dist/commands/work-command.d.ts.map +1 -1
  60. package/dist/commands/work-command.js +1 -1
  61. package/dist/commands/work-command.js.map +1 -1
  62. package/dist/commands/workflow-command.js +1 -1
  63. package/dist/core/auth.js +1 -1
  64. package/dist/core/command-output.js +1 -1
  65. package/dist/core/config.js +1 -1
  66. package/dist/core/connection-cache.js +1 -1
  67. package/dist/core/constants.js +1 -1
  68. package/dist/core/credential-cache.js +1 -1
  69. package/dist/core/global-context.js +1 -1
  70. package/dist/core/keychain.js +1 -1
  71. package/dist/core/oauth-keychain.js +1 -1
  72. package/dist/core/oauth.js +1 -1
  73. package/dist/core/profile.js +1 -1
  74. package/dist/core/project-config.js +1 -1
  75. package/dist/core/session.js +1 -1
  76. package/dist/core/user-cache.js +1 -1
  77. package/dist/core/version.js +1 -1
  78. package/dist/index.js +1 -1
  79. package/dist/mcp/server.js +1 -1
  80. package/dist/mcp/tools/index.js +1 -1
  81. package/dist/mcp/tools/tdx-run.js +1 -1
  82. package/dist/mcp/tools/tdx-search.js +1 -1
  83. package/dist/mcp/utils.js +1 -1
  84. package/dist/proxy/claude-usage-tracker.js +1 -1
  85. package/dist/proxy/passthrough-server.js +1 -1
  86. package/dist/proxy/sse-usage-parser.js +1 -1
  87. package/dist/sdk/agent/agent-config.js +1 -1
  88. package/dist/sdk/agent/agent-ref-parser.js +1 -1
  89. package/dist/sdk/agent/agent-yaml.js +1 -1
  90. package/dist/sdk/agent/test/evaluator.js +1 -1
  91. package/dist/sdk/agent/test/executor.js +1 -1
  92. package/dist/sdk/agent/test/index.js +1 -1
  93. package/dist/sdk/agent/test/output.js +1 -1
  94. package/dist/sdk/agent/test/parser.js +1 -1
  95. package/dist/sdk/agent/tool-target-registry.js +1 -1
  96. package/dist/sdk/api.js +1 -1
  97. package/dist/sdk/cas/cas-api-client.js +1 -1
  98. package/dist/sdk/cas/cas-audience-yaml.js +1 -1
  99. package/dist/sdk/cas/cas-segment-yaml.js +1 -1
  100. package/dist/sdk/cas/index.js +1 -1
  101. package/dist/sdk/cas/pull-workflow.js +1 -1
  102. package/dist/sdk/cas/push-workflow.js +1 -1
  103. package/dist/sdk/client/cdp-api-client.js +1 -1
  104. package/dist/sdk/client/delivery-api-client.js +1 -1
  105. package/dist/sdk/client/endpoints.js +1 -1
  106. package/dist/sdk/client/engage-api-client.js +1 -1
  107. package/dist/sdk/client/http-client.js +1 -1
  108. package/dist/sdk/client/llm-api-client.js +1 -1
  109. package/dist/sdk/client/oauth-refresh.js +1 -1
  110. package/dist/sdk/client/rate-limiter.js +1 -1
  111. package/dist/sdk/client/td-api-client.js +1 -1
  112. package/dist/sdk/client/trino-api-client.js +1 -1
  113. package/dist/sdk/client/workflow-client.js +1 -1
  114. package/dist/sdk/connection-validator.js +1 -1
  115. package/dist/sdk/connection.js +1 -1
  116. package/dist/sdk/delivery.js +1 -1
  117. package/dist/sdk/engage/campaign-pull.js +1 -1
  118. package/dist/sdk/engage/campaign-push.js +1 -1
  119. package/dist/sdk/engage/campaign-validator.js +1 -1
  120. package/dist/sdk/engage/campaign-yaml.js +1 -1
  121. package/dist/sdk/engage/template-pull.js +1 -1
  122. package/dist/sdk/engage/template-push.js +1 -1
  123. package/dist/sdk/engage/template-validator.js +1 -1
  124. package/dist/sdk/engage/template-yaml.js +1 -1
  125. package/dist/sdk/engage/types/campaign-def.js +1 -1
  126. package/dist/sdk/engage/types/campaign-schema.js +1 -1
  127. package/dist/sdk/engage/types/template-schema.js +1 -1
  128. package/dist/sdk/engage.js +1 -1
  129. package/dist/sdk/errors.js +1 -1
  130. package/dist/sdk/index.js +1 -1
  131. package/dist/sdk/io/index.js +1 -1
  132. package/dist/sdk/io/node-filesystem.js +1 -1
  133. package/dist/sdk/job.js +1 -1
  134. package/dist/sdk/journey.js +1 -1
  135. package/dist/sdk/llm/chat-cache.js +1 -1
  136. package/dist/sdk/llm/index.js +1 -1
  137. package/dist/sdk/llm/llm-backup-utils.js +1 -1
  138. package/dist/sdk/llm/model-factors.js +1 -1
  139. package/dist/sdk/personalization.js +1 -1
  140. package/dist/sdk/policy.js +1 -1
  141. package/dist/sdk/query/index.js +1 -1
  142. package/dist/sdk/query/sql-parser.js +1 -1
  143. package/dist/sdk/realtime.js +1 -1
  144. package/dist/sdk/schedule.js +1 -1
  145. package/dist/sdk/segment/child-segment-yaml.js +1 -1
  146. package/dist/sdk/segment/fields-display.js +1 -1
  147. package/dist/sdk/segment/file-discovery.js +1 -1
  148. package/dist/sdk/segment/journey-utils.js +1 -1
  149. package/dist/sdk/segment/journey-validator.js +1 -1
  150. package/dist/sdk/segment/journey-yaml.js +1 -1
  151. package/dist/sdk/segment/parent-segment-preview.js +1 -1
  152. package/dist/sdk/segment/parent-segment-yaml.js +1 -1
  153. package/dist/sdk/segment/pull-workflow.js +1 -1
  154. package/dist/sdk/segment/push-recovery.js +1 -1
  155. package/dist/sdk/segment/push-workflow.js +1 -1
  156. package/dist/sdk/segment/resolution-context.js +1 -1
  157. package/dist/sdk/segment/segment-path-parser.js +1 -1
  158. package/dist/sdk/segment/segment-ref-parser.js +1 -1
  159. package/dist/sdk/segment/segment-validator.js +1 -1
  160. package/dist/sdk/segment/target-resolution.js +1 -1
  161. package/dist/sdk/segment/tdx-config.js +1 -1
  162. package/dist/sdk/segment/types/activation-schema.js +1 -1
  163. package/dist/sdk/segment/types/journey-def.js +1 -1
  164. package/dist/sdk/segment/types/journey-schema.js +1 -1
  165. package/dist/sdk/segment/types/segment-def.js +1 -1
  166. package/dist/sdk/segment/types/segment-schema.js +1 -1
  167. package/dist/sdk/segment/validate-files.js +1 -1
  168. package/dist/sdk/segment/yaml-validator.js +1 -1
  169. package/dist/sdk/segment.js +1 -1
  170. package/dist/sdk/types/index.d.ts +1 -1
  171. package/dist/sdk/types/index.d.ts.map +1 -1
  172. package/dist/sdk/types/index.js +1 -1
  173. package/dist/sdk/types/progress.js +1 -1
  174. package/dist/sdk/types/workspace.d.ts +42 -19
  175. package/dist/sdk/types/workspace.d.ts.map +1 -1
  176. package/dist/sdk/types/workspace.js +1 -1
  177. package/dist/sdk/types/workspace.js.map +1 -1
  178. package/dist/sdk/user.js +1 -1
  179. package/dist/sdk/util/format-detector.js +1 -1
  180. package/dist/sdk/util/formatters.js +1 -1
  181. package/dist/sdk/util/index.js +1 -1
  182. package/dist/sdk/util/paginate.js +1 -1
  183. package/dist/sdk/util/tree-formatter.js +1 -1
  184. package/dist/sdk/workflow/archive-validation.js +1 -1
  185. package/dist/sdk/workflow/clone-workflow.js +1 -1
  186. package/dist/sdk/workflow/index.js +1 -1
  187. package/dist/sdk/workflow/pull-workflow.js +1 -1
  188. package/dist/sdk/workflow/push-workflow.js +1 -1
  189. package/dist/sdk/workflow/tdx-config.js +1 -1
  190. package/dist/sdk/workflow/workflow-utils.js +1 -1
  191. package/dist/sdk/workspace/frontmatter.js +1 -1
  192. package/dist/sdk/workspace/git.d.ts +15 -0
  193. package/dist/sdk/workspace/git.d.ts.map +1 -1
  194. package/dist/sdk/workspace/git.js +1 -1
  195. package/dist/sdk/workspace/git.js.map +1 -1
  196. package/dist/sdk/workspace/index.d.ts +38 -21
  197. package/dist/sdk/workspace/index.d.ts.map +1 -1
  198. package/dist/sdk/workspace/index.js +1 -1
  199. package/dist/sdk/workspace/index.js.map +1 -1
  200. package/dist/sdk/workspace/templates.js +1 -1
  201. package/dist/sdk/workspace/weekly.d.ts +49 -0
  202. package/dist/sdk/workspace/weekly.d.ts.map +1 -0
  203. package/dist/sdk/workspace/weekly.js +1 -0
  204. package/dist/sdk/workspace/weekly.js.map +1 -0
  205. package/dist/sdk/workspace/wikilinks.d.ts +7 -2
  206. package/dist/sdk/workspace/wikilinks.d.ts.map +1 -1
  207. package/dist/sdk/workspace/wikilinks.js +1 -1
  208. package/dist/sdk/workspace/wikilinks.js.map +1 -1
  209. package/dist/test-utils/command-runner.js +1 -1
  210. package/dist/test-utils/factories.js +1 -1
  211. package/dist/test-utils/fixtures.js +1 -1
  212. package/dist/test-utils/http-mock.js +1 -1
  213. package/dist/test-utils/index.js +1 -1
  214. package/dist/utils/async.js +1 -1
  215. package/dist/utils/colors.js +1 -1
  216. package/dist/utils/diff.js +1 -1
  217. package/dist/utils/file-permissions.js +1 -1
  218. package/dist/utils/file-reader.js +1 -1
  219. package/dist/utils/github-releases.js +1 -1
  220. package/dist/utils/global-cache.js +1 -1
  221. package/dist/utils/json-loader.js +1 -1
  222. package/dist/utils/local-cache.js +1 -1
  223. package/dist/utils/logger/formatters/default-formatter.js +1 -1
  224. package/dist/utils/logger/formatters/index.js +1 -1
  225. package/dist/utils/logger/handlers/console-handler.js +1 -1
  226. package/dist/utils/logger/handlers/file-handler.js +1 -1
  227. package/dist/utils/logger/handlers/index.js +1 -1
  228. package/dist/utils/logger/handlers/null-handler.js +1 -1
  229. package/dist/utils/logger/index.js +1 -1
  230. package/dist/utils/logger/logger.js +1 -1
  231. package/dist/utils/logger/types.js +1 -1
  232. package/dist/utils/option-validation.js +1 -1
  233. package/dist/utils/process.js +1 -1
  234. package/dist/utils/prompt.js +1 -1
  235. package/dist/utils/spinner.js +1 -1
  236. package/dist/utils/sse-parser.js +1 -1
  237. package/dist/utils/string-utils.js +1 -1
  238. package/dist/utils/table-ref-parser.js +1 -1
  239. package/dist/utils/tdx-logger.js +1 -1
  240. package/dist/utils/version-check.js +1 -1
  241. package/package.json +1 -1
  242. package/dist/sdk/workspace/skills.d.ts +0 -34
  243. package/dist/sdk/workspace/skills.d.ts.map +0 -1
  244. package/dist/sdk/workspace/skills.js +0 -1
  245. package/dist/sdk/workspace/skills.js.map +0 -1
@@ -1 +1 @@
1
- const a234_0xa894bc=a234_0x41ab;(function(_0x199441,_0x1f09ae){const _0x1b224f=a234_0x41ab,_0xec1110=_0x199441();while(!![]){try{const _0x38fad5=parseInt(_0x1b224f(0x19d))/0x1*(parseInt(_0x1b224f(0x1b4))/0x2)+-parseInt(_0x1b224f(0x197))/0x3+parseInt(_0x1b224f(0x1b8))/0x4+parseInt(_0x1b224f(0x1ae))/0x5+-parseInt(_0x1b224f(0x19c))/0x6*(parseInt(_0x1b224f(0x1a5))/0x7)+-parseInt(_0x1b224f(0x1c0))/0x8+-parseInt(_0x1b224f(0x199))/0x9*(-parseInt(_0x1b224f(0x19b))/0xa);if(_0x38fad5===_0x1f09ae)break;else _0xec1110['push'](_0xec1110['shift']());}catch(_0x4ab8ec){_0xec1110['push'](_0xec1110['shift']());}}}(a234_0x5312,0x8ab03));import{get}from'https';function a234_0x41ab(_0x30c332,_0x4c72df){_0x30c332=_0x30c332-0x196;const _0x53124c=a234_0x5312();let _0x41abec=_0x53124c[_0x30c332];return _0x41abec;}import{gt,valid}from'semver';import a234_0x377239 from'chalk';import{createGlobalCache}from'./global-cache.js';function a234_0x5312(){const _0x36626c=['HTTP\x20','green','stderr','isTTY','tdx\x20upgrade\x20--next','write','\x0aRun:\x20','1553041XnyhPr','end','latest','\x0aUpdate\x20available:\x20','lastCheck','next','Request\x20timeout','unref','destroy','2022100dxLjUq','statusCode','gray','latestVersion','Invalid\x20version\x20format','stable','13676mzEabU','channel','cyan','parse','2866512MJobCZ','currentVersion','updateAvailable','tdx\x20upgrade','Run:','read','getTime','last_version_check_next','8720856gYNggF','socket','dim','version','yellow','utils/version-check-next','2863074TGvZzH','https://registry.npmjs.org/@treasuredata/tdx','18RpIEHL','Update\x20available:','7556270OJJLHS','12FSbJrq','62GrzMUT'];a234_0x5312=function(){return _0x36626c;};return a234_0x5312();}const CACHE_DURATION_MS=0x18*0x3c*0x3c*0x3e8,NPM_REGISTRY_BASE=a234_0xa894bc(0x198),TIMEOUT_MS=0x7d0,stableVersionCache=createGlobalCache('last_version_check','utils/version-check'),nextVersionCache=createGlobalCache(a234_0xa894bc(0x1bf),a234_0xa894bc(0x196));function getCacheForChannel(_0x4b3735){return _0x4b3735==='next'?nextVersionCache:stableVersionCache;}function readCache(_0x7c1e23){const _0x3b4a26=a234_0xa894bc;return getCacheForChannel(_0x7c1e23)[_0x3b4a26(0x1bd)]()??null;}function writeCache(_0x3f1d32,_0x472533){const _0xa8e96c=a234_0xa894bc;try{getCacheForChannel(_0x472533)[_0xa8e96c(0x1a3)]({'lastCheck':new Date()['toISOString'](),'latestVersion':_0x3f1d32});}catch{}}function isCacheValid(_0x5825d5){const _0x49ceec=a234_0xa894bc;if(!_0x5825d5)return![];const _0x719a43=new Date(_0x5825d5[_0x49ceec(0x1a9)])[_0x49ceec(0x1be)](),_0x2924a7=Date['now']();return _0x2924a7-_0x719a43<CACHE_DURATION_MS;}export function fetchLatestVersion(_0x4145e9=a234_0xa894bc(0x1b3)){const _0x1dbb05=a234_0xa894bc,_0x508cbe=_0x4145e9===_0x1dbb05(0x1aa)?'next':_0x1dbb05(0x1a7),_0x19d4dc=NPM_REGISTRY_BASE+'/'+_0x508cbe;return new Promise((_0x507ad0,_0x44a3dc)=>{const _0x304faa=_0x1dbb05,_0x259d5a=get(_0x19d4dc,{'timeout':TIMEOUT_MS},_0x4e18bf=>{const _0x42acc9=a234_0x41ab;if(_0x4e18bf['statusCode']!==0xc8){clearTimeout(_0x2ca3be),_0x44a3dc(new Error(_0x42acc9(0x19e)+_0x4e18bf[_0x42acc9(0x1af)]));return;}let _0x57f0d5='';_0x4e18bf['on']('data',_0x3848c7=>{_0x57f0d5+=_0x3848c7;}),_0x4e18bf['on'](_0x42acc9(0x1a6),()=>{const _0x168793=_0x42acc9;clearTimeout(_0x2ca3be);try{const _0x339aa5=JSON[_0x168793(0x1b7)](_0x57f0d5);if(!valid(_0x339aa5[_0x168793(0x1c3)])){_0x44a3dc(new Error(_0x168793(0x1b2)));return;}_0x507ad0(_0x339aa5[_0x168793(0x1c3)]);}catch(_0x2d4c6c){_0x44a3dc(_0x2d4c6c);}});})['on']('error',_0x415132=>{clearTimeout(_0x2ca3be),_0x44a3dc(_0x415132);});_0x259d5a['on'](_0x304faa(0x1c1),_0x26f56f=>{const _0x3fec6b=_0x304faa;_0x26f56f[_0x3fec6b(0x1ac)]();});const _0x2ca3be=setTimeout(()=>{const _0x589803=_0x304faa;_0x259d5a[_0x589803(0x1ad)](),_0x44a3dc(new Error(_0x589803(0x1ab)));},TIMEOUT_MS);_0x2ca3be[_0x304faa(0x1ac)]();});}export async function checkForUpdate(_0x205c63,_0x5d8bec='stable'){const _0x3b36bd=a234_0xa894bc;try{const _0x3d0282=readCache(_0x5d8bec);if(isCacheValid(_0x3d0282)){const _0x2db06b=gt(_0x3d0282[_0x3b36bd(0x1b1)],_0x205c63);return{'updateAvailable':_0x2db06b,'currentVersion':_0x205c63,'latestVersion':_0x3d0282[_0x3b36bd(0x1b1)],'channel':_0x5d8bec};}const _0x30b5e6=await fetchLatestVersion(_0x5d8bec);writeCache(_0x30b5e6,_0x5d8bec);const _0x59293d=gt(_0x30b5e6,_0x205c63);return{'updateAvailable':_0x59293d,'currentVersion':_0x205c63,'latestVersion':_0x30b5e6,'channel':_0x5d8bec};}catch{return null;}}export function displayUpdateNotification(_0x512099){const _0x3993b0=a234_0xa894bc;if(!_0x512099[_0x3993b0(0x1ba)])return;const _0x1ca9e7=_0x512099[_0x3993b0(0x1b5)]===_0x3993b0(0x1aa)?_0x3993b0(0x1a2):_0x3993b0(0x1bb),_0x22dfb3=process[_0x3993b0(0x1a0)][_0x3993b0(0x1a1)]&&!process.env.NO_COLOR,_0x4a6e40=_0x22dfb3?a234_0x377239[_0x3993b0(0x1b0)]('→'):'→',_0x314983=_0x22dfb3?a234_0x377239['dim'](_0x512099[_0x3993b0(0x1b9)]):_0x512099[_0x3993b0(0x1b9)],_0x25c18e=_0x22dfb3?a234_0x377239[_0x3993b0(0x19f)](_0x512099[_0x3993b0(0x1b1)]):_0x512099['latestVersion'],_0x4329e3=_0x22dfb3?a234_0x377239[_0x3993b0(0x1b6)](_0x1ca9e7):_0x1ca9e7,_0x506ec6=_0x22dfb3?'\x0a'+a234_0x377239[_0x3993b0(0x1c4)](_0x3993b0(0x19a))+'\x20'+_0x314983+'\x20'+_0x4a6e40+'\x20'+_0x25c18e+'\x0a'+a234_0x377239[_0x3993b0(0x1c2)](_0x3993b0(0x1bc))+'\x20'+_0x4329e3+'\x0a':_0x3993b0(0x1a8)+_0x314983+'\x20'+_0x4a6e40+'\x20'+_0x25c18e+_0x3993b0(0x1a4)+_0x4329e3+'\x0a';process[_0x3993b0(0x1a0)][_0x3993b0(0x1a3)](_0x506ec6);}
1
+ const a234_0x1ae60d=a234_0x34d7;(function(_0x491ade,_0x3e5b4b){const _0x2f7ea6=a234_0x34d7,_0x3be25e=_0x491ade();while(!![]){try{const _0xd5b6be=parseInt(_0x2f7ea6(0x1f9))/0x1+parseInt(_0x2f7ea6(0x1f4))/0x2+parseInt(_0x2f7ea6(0x210))/0x3*(-parseInt(_0x2f7ea6(0x203))/0x4)+-parseInt(_0x2f7ea6(0x220))/0x5*(-parseInt(_0x2f7ea6(0x1fb))/0x6)+parseInt(_0x2f7ea6(0x1f1))/0x7+-parseInt(_0x2f7ea6(0x221))/0x8+-parseInt(_0x2f7ea6(0x1fc))/0x9*(parseInt(_0x2f7ea6(0x1f2))/0xa);if(_0xd5b6be===_0x3e5b4b)break;else _0x3be25e['push'](_0x3be25e['shift']());}catch(_0x300597){_0x3be25e['push'](_0x3be25e['shift']());}}}(a234_0x10e7,0x87237));import{get}from'https';function a234_0x34d7(_0x4250bf,_0x44e944){_0x4250bf=_0x4250bf-0x1f1;const _0x10e784=a234_0x10e7();let _0x34d783=_0x10e784[_0x4250bf];return _0x34d783;}function a234_0x10e7(){const _0x5096d1=['tdx\x20upgrade\x20--next','latestVersion','96OwifRE','parse','getTime','last_version_check','socket','data','HTTP\x20','Invalid\x20version\x20format','stable','lastCheck','dim','cyan','updateAvailable','55164LjOzWu','utils/version-check-next','latest','error','destroy','stderr','toISOString','https://registry.npmjs.org/@treasuredata/tdx','next','read','version','green','isTTY','statusCode','unref','write','5qdSTka','4442632BUiLhn','3439611WbwbUz','4210wVqNXa','\x0aRun:\x20','1499642bHKFkP','Update\x20available:','end','last_version_check_next','channel','463452JduPmO','utils/version-check','182046ASrWkf','3951KOxbzj','tdx\x20upgrade','yellow','currentVersion','now'];a234_0x10e7=function(){return _0x5096d1;};return a234_0x10e7();}import{gt,valid}from'semver';import a234_0x246509 from'chalk';import{createGlobalCache}from'./global-cache.js';const CACHE_DURATION_MS=0x18*0x3c*0x3c*0x3e8,NPM_REGISTRY_BASE=a234_0x1ae60d(0x217),TIMEOUT_MS=0x7d0,stableVersionCache=createGlobalCache(a234_0x1ae60d(0x206),a234_0x1ae60d(0x1fa)),nextVersionCache=createGlobalCache(a234_0x1ae60d(0x1f7),a234_0x1ae60d(0x211));function getCacheForChannel(_0x3e7d03){return _0x3e7d03==='next'?nextVersionCache:stableVersionCache;}function readCache(_0x1cdbcd){const _0x186b41=a234_0x1ae60d;return getCacheForChannel(_0x1cdbcd)[_0x186b41(0x219)]()??null;}function writeCache(_0xa91382,_0x38cca8){const _0x3d9bf3=a234_0x1ae60d;try{getCacheForChannel(_0x38cca8)[_0x3d9bf3(0x21f)]({'lastCheck':new Date()[_0x3d9bf3(0x216)](),'latestVersion':_0xa91382});}catch{}}function isCacheValid(_0x4c220b){const _0x1970e0=a234_0x1ae60d;if(!_0x4c220b)return![];const _0x1c2e0c=new Date(_0x4c220b[_0x1970e0(0x20c)])[_0x1970e0(0x205)](),_0x38cf6a=Date[_0x1970e0(0x200)]();return _0x38cf6a-_0x1c2e0c<CACHE_DURATION_MS;}export function fetchLatestVersion(_0x2c8dc0=a234_0x1ae60d(0x20b)){const _0x5c269a=a234_0x1ae60d,_0x2b5d9c=_0x2c8dc0===_0x5c269a(0x218)?_0x5c269a(0x218):_0x5c269a(0x212),_0x7bae77=NPM_REGISTRY_BASE+'/'+_0x2b5d9c;return new Promise((_0x12a112,_0x1d2dfa)=>{const _0x497603=_0x5c269a,_0x417cab=get(_0x7bae77,{'timeout':TIMEOUT_MS},_0x11ba25=>{const _0xbb8171=a234_0x34d7;if(_0x11ba25['statusCode']!==0xc8){clearTimeout(_0x116461),_0x1d2dfa(new Error(_0xbb8171(0x209)+_0x11ba25[_0xbb8171(0x21d)]));return;}let _0x1d5491='';_0x11ba25['on'](_0xbb8171(0x208),_0x96966c=>{_0x1d5491+=_0x96966c;}),_0x11ba25['on'](_0xbb8171(0x1f6),()=>{const _0x180e04=_0xbb8171;clearTimeout(_0x116461);try{const _0xa1971f=JSON[_0x180e04(0x204)](_0x1d5491);if(!valid(_0xa1971f[_0x180e04(0x21a)])){_0x1d2dfa(new Error(_0x180e04(0x20a)));return;}_0x12a112(_0xa1971f['version']);}catch(_0x11986b){_0x1d2dfa(_0x11986b);}});})['on'](_0x497603(0x213),_0x1ed032=>{clearTimeout(_0x116461),_0x1d2dfa(_0x1ed032);});_0x417cab['on'](_0x497603(0x207),_0x186296=>{const _0x1b2785=_0x497603;_0x186296[_0x1b2785(0x21e)]();});const _0x116461=setTimeout(()=>{const _0x1f8b6d=_0x497603;_0x417cab[_0x1f8b6d(0x214)](),_0x1d2dfa(new Error('Request\x20timeout'));},TIMEOUT_MS);_0x116461[_0x497603(0x21e)]();});}export async function checkForUpdate(_0x1d4c78,_0x166fed=a234_0x1ae60d(0x20b)){const _0x5cdb48=a234_0x1ae60d;try{const _0x3b2b3c=readCache(_0x166fed);if(isCacheValid(_0x3b2b3c)){const _0x50d752=gt(_0x3b2b3c['latestVersion'],_0x1d4c78);return{'updateAvailable':_0x50d752,'currentVersion':_0x1d4c78,'latestVersion':_0x3b2b3c[_0x5cdb48(0x202)],'channel':_0x166fed};}const _0x3d3afa=await fetchLatestVersion(_0x166fed);writeCache(_0x3d3afa,_0x166fed);const _0x47b451=gt(_0x3d3afa,_0x1d4c78);return{'updateAvailable':_0x47b451,'currentVersion':_0x1d4c78,'latestVersion':_0x3d3afa,'channel':_0x166fed};}catch{return null;}}export function displayUpdateNotification(_0x1088a5){const _0x3867ee=a234_0x1ae60d;if(!_0x1088a5[_0x3867ee(0x20f)])return;const _0x105e92=_0x1088a5[_0x3867ee(0x1f8)]==='next'?_0x3867ee(0x201):_0x3867ee(0x1fd),_0x1e4be7=process[_0x3867ee(0x215)][_0x3867ee(0x21c)]&&!process.env.NO_COLOR,_0x579e9c=_0x1e4be7?a234_0x246509['gray']('→'):'→',_0x6276e7=_0x1e4be7?a234_0x246509[_0x3867ee(0x20d)](_0x1088a5['currentVersion']):_0x1088a5[_0x3867ee(0x1ff)],_0x47829a=_0x1e4be7?a234_0x246509[_0x3867ee(0x21b)](_0x1088a5[_0x3867ee(0x202)]):_0x1088a5['latestVersion'],_0x52ad4d=_0x1e4be7?a234_0x246509[_0x3867ee(0x20e)](_0x105e92):_0x105e92,_0x2a72ce=_0x1e4be7?'\x0a'+a234_0x246509[_0x3867ee(0x1fe)](_0x3867ee(0x1f5))+'\x20'+_0x6276e7+'\x20'+_0x579e9c+'\x20'+_0x47829a+'\x0a'+a234_0x246509['dim']('Run:')+'\x20'+_0x52ad4d+'\x0a':'\x0aUpdate\x20available:\x20'+_0x6276e7+'\x20'+_0x579e9c+'\x20'+_0x47829a+_0x3867ee(0x1f3)+_0x52ad4d+'\x0a';process['stderr'][_0x3867ee(0x21f)](_0x2a72ce);}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@treasuredata/tdx",
3
- "version": "2026.3.32",
3
+ "version": "2026.3.33",
4
4
  "description": "AI-native CLI for Treasure Data - optimized for both human engineers and AI coding assistants",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,34 +0,0 @@
1
- /**
2
- * Workspace skill discovery and management
3
- *
4
- * Skills are markdown files with YAML frontmatter that define
5
- * AI-invokable slash commands specific to the workspace.
6
- */
7
- import type { SkillFrontmatter, WorkspaceDocument } from '../types/workspace.js';
8
- /**
9
- * List all skills in the workspace
10
- */
11
- export declare function listSkills(workspacePath: string): Array<WorkspaceDocument<SkillFrontmatter>>;
12
- /**
13
- * Read a single skill by name (filename stem or trigger)
14
- */
15
- export declare function readSkill(workspacePath: string, name: string): WorkspaceDocument<SkillFrontmatter> | null;
16
- /**
17
- * Update an existing skill's content (AI self-improvement)
18
- */
19
- export declare function updateSkill(workspacePath: string, name: string, updates: {
20
- body?: string;
21
- frontmatter?: Partial<SkillFrontmatter>;
22
- }): string | null;
23
- /**
24
- * Create a new skill
25
- */
26
- export declare function createSkill(workspacePath: string, opts: {
27
- name: string;
28
- title: string;
29
- description: string;
30
- trigger: string;
31
- body: string;
32
- tags?: string[];
33
- }): string;
34
- //# sourceMappingURL=skills.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/sdk/workspace/skills.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEjF;;GAEG;AACH,wBAAgB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAsB5F;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,GACX,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,IAAI,CA0B5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAAE,GAClE,MAAM,GAAG,IAAI,CAWf;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,GACA,MAAM,CAsBR"}
@@ -1 +0,0 @@
1
- (function(_0x3bffc4,_0x3428b8){const _0x3dc73b=a200_0x64a5,_0x6944aa=_0x3bffc4();while(!![]){try{const _0x1dd8d8=-parseInt(_0x3dc73b(0x141))/0x1*(-parseInt(_0x3dc73b(0x126))/0x2)+parseInt(_0x3dc73b(0x128))/0x3*(parseInt(_0x3dc73b(0x131))/0x4)+parseInt(_0x3dc73b(0x133))/0x5+-parseInt(_0x3dc73b(0x136))/0x6+-parseInt(_0x3dc73b(0x12e))/0x7*(-parseInt(_0x3dc73b(0x13b))/0x8)+-parseInt(_0x3dc73b(0x13f))/0x9+-parseInt(_0x3dc73b(0x124))/0xa*(parseInt(_0x3dc73b(0x135))/0xb);if(_0x1dd8d8===_0x3428b8)break;else _0x6944aa['push'](_0x6944aa['shift']());}catch(_0xcde0eb){_0x6944aa['push'](_0x6944aa['shift']());}}}(a200_0xb730,0x807f3));import*as a200_0x1b6ad1 from'node:fs';import*as a200_0x139dbd from'node:path';import{parseFrontmatter,serializeFrontmatter}from'./frontmatter.js';function a200_0xb730(){const _0x3344c7=['1912115bpBikS','skills','11RWJhTE','4094916JVpBKK','writeFileSync','skill','trigger','join','1720XjgjNg','endsWith','filePath','mkdirSync','7857720rOrNqZ','existsSync','1HTdwya','frontmatter','body','length','tags','5216120kSgypB','replace','685662QUBTbi','push','16662Ynhwku','name','readFileSync','toISOString','utf-8','slice','29869IKsUWs','.md','basename','692tKjeQu','readdirSync'];a200_0xb730=function(){return _0x3344c7;};return a200_0xb730();}export function listSkills(_0x2f5408){const _0x37634e=a200_0x64a5,_0x19cbd3=a200_0x139dbd['join'](_0x2f5408,'skills');if(!a200_0x1b6ad1['existsSync'](_0x19cbd3))return[];const _0x48b843=a200_0x1b6ad1['readdirSync'](_0x19cbd3)['filter'](_0x227850=>_0x227850[_0x37634e(0x13c)](_0x37634e(0x12f))),_0x58387d=[];for(const _0x5131e4 of _0x48b843){const _0x4370fc=a200_0x139dbd[_0x37634e(0x13a)](_0x19cbd3,_0x5131e4),_0x184331=a200_0x1b6ad1[_0x37634e(0x12a)](_0x4370fc,'utf-8'),{frontmatter:_0x458f25,body:_0x453a5a}=parseFrontmatter(_0x184331);_0x58387d[_0x37634e(0x127)]({'kind':_0x37634e(0x138),'filePath':_0x4370fc,'fileName':_0x5131e4,'frontmatter':_0x458f25,'body':_0x453a5a});}return _0x58387d;}export function readSkill(_0x9a36e3,_0x2b4539){const _0xa27354=a200_0x64a5,_0x32370f=a200_0x139dbd[_0xa27354(0x13a)](_0x9a36e3,_0xa27354(0x134));if(!a200_0x1b6ad1[_0xa27354(0x140)](_0x32370f))return null;const _0x3a7ef0=a200_0x1b6ad1[_0xa27354(0x132)](_0x32370f)['filter'](_0x88fd8b=>_0x88fd8b[_0xa27354(0x13c)](_0xa27354(0x12f)));for(const _0x3b3f94 of _0x3a7ef0){const _0x52e46c=a200_0x139dbd[_0xa27354(0x130)](_0x3b3f94,_0xa27354(0x12f)),_0x58d07d=a200_0x139dbd[_0xa27354(0x13a)](_0x32370f,_0x3b3f94),_0xbf9165=a200_0x1b6ad1['readFileSync'](_0x58d07d,_0xa27354(0x12c)),{frontmatter:_0x3ee89b,body:_0x5da093}=parseFrontmatter(_0xbf9165),_0x42645a=_0x3ee89b[_0xa27354(0x139)]?.[_0xa27354(0x125)](/^\//,'');if(_0x52e46c===_0x2b4539||_0x42645a===_0x2b4539||_0x42645a===_0x2b4539[_0xa27354(0x125)](/^\//,''))return{'kind':'skill','filePath':_0x58d07d,'fileName':_0x3b3f94,'frontmatter':_0x3ee89b,'body':_0x5da093};}return null;}function a200_0x64a5(_0x3f3841,_0x30c1ce){_0x3f3841=_0x3f3841-0x120;const _0xb73017=a200_0xb730();let _0x64a58f=_0xb73017[_0x3f3841];return _0x64a58f;}export function updateSkill(_0x463f8d,_0x218b02,_0x5a2aeb){const _0x54b25e=a200_0x64a5,_0x243fb5=readSkill(_0x463f8d,_0x218b02);if(!_0x243fb5)return null;const _0x5d5efb={..._0x243fb5[_0x54b25e(0x120)],..._0x5a2aeb[_0x54b25e(0x120)]},_0x659193=_0x5a2aeb[_0x54b25e(0x121)]??_0x243fb5[_0x54b25e(0x121)],_0x28b492=serializeFrontmatter(_0x5d5efb,_0x659193);return a200_0x1b6ad1['writeFileSync'](_0x243fb5[_0x54b25e(0x13d)],_0x28b492,_0x54b25e(0x12c)),_0x243fb5[_0x54b25e(0x13d)];}export function createSkill(_0x29ec25,_0x28af08){const _0x404f1d=a200_0x64a5,_0x566faf=a200_0x139dbd[_0x404f1d(0x13a)](_0x29ec25,_0x404f1d(0x134));a200_0x1b6ad1[_0x404f1d(0x13e)](_0x566faf,{'recursive':!![]});const _0x12408f=_0x28af08[_0x404f1d(0x129)]+_0x404f1d(0x12f),_0x552d21=a200_0x139dbd[_0x404f1d(0x13a)](_0x566faf,_0x12408f),_0x17b59e=new Date()[_0x404f1d(0x12b)]()[_0x404f1d(0x12d)](0x0,0xa),_0x397dee={'title':_0x28af08['title'],'description':_0x28af08['description'],'trigger':_0x28af08[_0x404f1d(0x139)],'created':_0x17b59e};_0x28af08[_0x404f1d(0x123)]?.[_0x404f1d(0x122)]&&(_0x397dee['tags']=_0x28af08['tags']);const _0x20f13d=serializeFrontmatter(_0x397dee,_0x28af08[_0x404f1d(0x121)]);return a200_0x1b6ad1[_0x404f1d(0x137)](_0x552d21,_0x20f13d,_0x404f1d(0x12c)),_0x552d21;}
@@ -1 +0,0 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/sdk/workspace/skills.ts"],"names":[],"mappings":"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"}