zilmate 1.8.0 → 1.8.5

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 (315) hide show
  1. package/.agents/skills/copywriting/SKILL.md +252 -0
  2. package/.agents/skills/copywriting/evals/evals.json +111 -0
  3. package/.agents/skills/copywriting/references/copy-frameworks.md +344 -0
  4. package/.agents/skills/copywriting/references/natural-transitions.md +272 -0
  5. package/.agents/skills/firecrawl-deep-research/SKILL.md +108 -0
  6. package/.agents/skills/shadcn/SKILL.md +267 -0
  7. package/.agents/skills/shadcn/agents/openai.yml +5 -0
  8. package/.agents/skills/shadcn/assets/shadcn-small.png +0 -0
  9. package/.agents/skills/shadcn/assets/shadcn.png +0 -0
  10. package/.agents/skills/shadcn/cli.md +290 -0
  11. package/.agents/skills/shadcn/customization.md +209 -0
  12. package/.agents/skills/shadcn/evals/evals.json +47 -0
  13. package/.agents/skills/shadcn/mcp.md +105 -0
  14. package/.agents/skills/shadcn/registry.md +277 -0
  15. package/.agents/skills/shadcn/rules/base-vs-radix.md +306 -0
  16. package/.agents/skills/shadcn/rules/composition.md +195 -0
  17. package/.agents/skills/shadcn/rules/forms.md +192 -0
  18. package/.agents/skills/shadcn/rules/icons.md +101 -0
  19. package/.agents/skills/shadcn/rules/styling.md +162 -0
  20. package/.agents/skills/tavily-research/SKILL.md +100 -0
  21. package/.agents/skills/upstash/SKILL.md +48 -0
  22. package/.agents/skills/upstash/upstash-box-js/overview.md +243 -0
  23. package/.agents/skills/upstash/upstash-box-py/overview.md +275 -0
  24. package/.agents/skills/upstash/upstash-cli/overview.md +138 -0
  25. package/.agents/skills/upstash/upstash-qstash-js/advanced/callbacks.md +147 -0
  26. package/.agents/skills/upstash/upstash-qstash-js/advanced/deduplication.md +86 -0
  27. package/.agents/skills/upstash/upstash-qstash-js/advanced/dlq.md +164 -0
  28. package/.agents/skills/upstash/upstash-qstash-js/advanced/multi-region/summary.md +388 -0
  29. package/.agents/skills/upstash/upstash-qstash-js/advanced/multi-region/verify-multi-region-setup.ts +388 -0
  30. package/.agents/skills/upstash/upstash-qstash-js/fundamentals/local-development.md +106 -0
  31. package/.agents/skills/upstash/upstash-qstash-js/fundamentals/publishing-messages.md +144 -0
  32. package/.agents/skills/upstash/upstash-qstash-js/fundamentals/queues-and-flow-control.md +148 -0
  33. package/.agents/skills/upstash/upstash-qstash-js/fundamentals/schedules.md +177 -0
  34. package/.agents/skills/upstash/upstash-qstash-js/fundamentals/url-groups.md +127 -0
  35. package/.agents/skills/upstash/upstash-qstash-js/overview.md +81 -0
  36. package/.agents/skills/upstash/upstash-qstash-js/verification/platform-specific/nextjs.md +171 -0
  37. package/.agents/skills/upstash/upstash-qstash-js/verification/receiver.md +213 -0
  38. package/.agents/skills/upstash/upstash-ratelimit-js/algorithms.md +84 -0
  39. package/.agents/skills/upstash/upstash-ratelimit-js/features.md +117 -0
  40. package/.agents/skills/upstash/upstash-ratelimit-js/methods-getting-started.md +77 -0
  41. package/.agents/skills/upstash/upstash-ratelimit-js/overview.md +26 -0
  42. package/.agents/skills/upstash/upstash-ratelimit-js/pricing-cost.md +146 -0
  43. package/.agents/skills/upstash/upstash-ratelimit-js/traffic-protection.md +77 -0
  44. package/.agents/skills/upstash/upstash-redis-js/advanced-features/auto-pipeline.md +49 -0
  45. package/.agents/skills/upstash/upstash-redis-js/advanced-features/pipeline-and-transactions.md +42 -0
  46. package/.agents/skills/upstash/upstash-redis-js/advanced-features/scripting.md +124 -0
  47. package/.agents/skills/upstash/upstash-redis-js/data-structures/hashes.md +71 -0
  48. package/.agents/skills/upstash/upstash-redis-js/data-structures/json.md +133 -0
  49. package/.agents/skills/upstash/upstash-redis-js/data-structures/lists.md +72 -0
  50. package/.agents/skills/upstash/upstash-redis-js/data-structures/sets.md +90 -0
  51. package/.agents/skills/upstash/upstash-redis-js/data-structures/sorted-sets.md +126 -0
  52. package/.agents/skills/upstash/upstash-redis-js/data-structures/streams.md +196 -0
  53. package/.agents/skills/upstash/upstash-redis-js/data-structures/strings.md +73 -0
  54. package/.agents/skills/upstash/upstash-redis-js/migrations/from-ioredis.md +163 -0
  55. package/.agents/skills/upstash/upstash-redis-js/migrations/from-redis-node.md +205 -0
  56. package/.agents/skills/upstash/upstash-redis-js/overview.md +183 -0
  57. package/.agents/skills/upstash/upstash-redis-js/patterns/caching.md +58 -0
  58. package/.agents/skills/upstash/upstash-redis-js/patterns/distributed-locks.md +130 -0
  59. package/.agents/skills/upstash/upstash-redis-js/patterns/leaderboard.md +134 -0
  60. package/.agents/skills/upstash/upstash-redis-js/patterns/rate-limiting.md +187 -0
  61. package/.agents/skills/upstash/upstash-redis-js/patterns/session-management.md +217 -0
  62. package/.agents/skills/upstash/upstash-redis-js/performance/batching-operations.md +76 -0
  63. package/.agents/skills/upstash/upstash-redis-js/performance/data-serialization.md +134 -0
  64. package/.agents/skills/upstash/upstash-redis-js/performance/error-handling.md +118 -0
  65. package/.agents/skills/upstash/upstash-redis-js/performance/pipeline-optimization.md +105 -0
  66. package/.agents/skills/upstash/upstash-redis-js/performance/redis-replicas.md +14 -0
  67. package/.agents/skills/upstash/upstash-redis-js/performance/ttl-expiration.md +32 -0
  68. package/.agents/skills/upstash/upstash-redis-js/search/adapters.md +99 -0
  69. package/.agents/skills/upstash/upstash-redis-js/search/commands/aggregating.md +234 -0
  70. package/.agents/skills/upstash/upstash-redis-js/search/commands/aliases.md +76 -0
  71. package/.agents/skills/upstash/upstash-redis-js/search/commands/index-management.md +124 -0
  72. package/.agents/skills/upstash/upstash-redis-js/search/commands/querying.md +315 -0
  73. package/.agents/skills/upstash/upstash-redis-js/search/overview.md +155 -0
  74. package/.agents/skills/upstash/upstash-redis-start/overview.md +71 -0
  75. package/.agents/skills/upstash/upstash-search-js/overview.md +48 -0
  76. package/.agents/skills/upstash/upstash-search-js/quick-start.md +158 -0
  77. package/.agents/skills/upstash/upstash-search-js/sdk-overview.md +158 -0
  78. package/.agents/skills/upstash/upstash-vector-js/features/filtering-and-metadata.md +82 -0
  79. package/.agents/skills/upstash/upstash-vector-js/features/index-structure.md +193 -0
  80. package/.agents/skills/upstash/upstash-vector-js/features/namespaces.md +32 -0
  81. package/.agents/skills/upstash/upstash-vector-js/overview.md +44 -0
  82. package/.agents/skills/upstash/upstash-vector-js/sdk-methods.md +210 -0
  83. package/.agents/skills/upstash/upstash-workflow-js/agents.md +248 -0
  84. package/.agents/skills/upstash/upstash-workflow-js/basics/client.md +180 -0
  85. package/.agents/skills/upstash/upstash-workflow-js/basics/context.md +230 -0
  86. package/.agents/skills/upstash/upstash-workflow-js/basics/serve.md +70 -0
  87. package/.agents/skills/upstash/upstash-workflow-js/features/flow-control.md +145 -0
  88. package/.agents/skills/upstash/upstash-workflow-js/features/invoke.md +97 -0
  89. package/.agents/skills/upstash/upstash-workflow-js/features/retries-failures-reliability.md +239 -0
  90. package/.agents/skills/upstash/upstash-workflow-js/features/wait-for-event.md +97 -0
  91. package/.agents/skills/upstash/upstash-workflow-js/features/webhooks.md +79 -0
  92. package/.agents/skills/upstash/upstash-workflow-js/how-to/local-dev.md +177 -0
  93. package/.agents/skills/upstash/upstash-workflow-js/how-to/middleware.md +166 -0
  94. package/.agents/skills/upstash/upstash-workflow-js/how-to/migrations.md +201 -0
  95. package/.agents/skills/upstash/upstash-workflow-js/how-to/realtime.md +186 -0
  96. package/.agents/skills/upstash/upstash-workflow-js/overview.md +55 -0
  97. package/.agents/skills/upstash/upstash-workflow-js/rest-api.md +156 -0
  98. package/.agents/skills/upstash/upstash-workflow-js/troubleshooting.md +201 -0
  99. package/.agents/skills/upstash-box-js/SKILL.md +248 -0
  100. package/.agents/skills/upstash-box-py/SKILL.md +280 -0
  101. package/.agents/skills/upstash-cli/SKILL.md +143 -0
  102. package/.agents/skills/upstash-qstash-js/SKILL.md +86 -0
  103. package/.agents/skills/upstash-qstash-js/advanced/callbacks.md +147 -0
  104. package/.agents/skills/upstash-qstash-js/advanced/deduplication.md +86 -0
  105. package/.agents/skills/upstash-qstash-js/advanced/dlq.md +164 -0
  106. package/.agents/skills/upstash-qstash-js/advanced/multi-region/summary.md +388 -0
  107. package/.agents/skills/upstash-qstash-js/advanced/multi-region/verify-multi-region-setup.ts +388 -0
  108. package/.agents/skills/upstash-qstash-js/fundamentals/local-development.md +106 -0
  109. package/.agents/skills/upstash-qstash-js/fundamentals/publishing-messages.md +144 -0
  110. package/.agents/skills/upstash-qstash-js/fundamentals/queues-and-flow-control.md +148 -0
  111. package/.agents/skills/upstash-qstash-js/fundamentals/schedules.md +177 -0
  112. package/.agents/skills/upstash-qstash-js/fundamentals/url-groups.md +127 -0
  113. package/.agents/skills/upstash-qstash-js/verification/platform-specific/nextjs.md +171 -0
  114. package/.agents/skills/upstash-qstash-js/verification/receiver.md +213 -0
  115. package/.agents/skills/upstash-ratelimit-js/SKILL.md +31 -0
  116. package/.agents/skills/upstash-ratelimit-js/algorithms.md +84 -0
  117. package/.agents/skills/upstash-ratelimit-js/features.md +117 -0
  118. package/.agents/skills/upstash-ratelimit-js/methods-getting-started.md +77 -0
  119. package/.agents/skills/upstash-ratelimit-js/pricing-cost.md +146 -0
  120. package/.agents/skills/upstash-ratelimit-js/traffic-protection.md +77 -0
  121. package/.agents/skills/upstash-redis-js/SKILL.md +188 -0
  122. package/.agents/skills/upstash-redis-js/advanced-features/auto-pipeline.md +49 -0
  123. package/.agents/skills/upstash-redis-js/advanced-features/pipeline-and-transactions.md +42 -0
  124. package/.agents/skills/upstash-redis-js/advanced-features/scripting.md +124 -0
  125. package/.agents/skills/upstash-redis-js/data-structures/hashes.md +71 -0
  126. package/.agents/skills/upstash-redis-js/data-structures/json.md +133 -0
  127. package/.agents/skills/upstash-redis-js/data-structures/lists.md +72 -0
  128. package/.agents/skills/upstash-redis-js/data-structures/sets.md +90 -0
  129. package/.agents/skills/upstash-redis-js/data-structures/sorted-sets.md +126 -0
  130. package/.agents/skills/upstash-redis-js/data-structures/streams.md +196 -0
  131. package/.agents/skills/upstash-redis-js/data-structures/strings.md +73 -0
  132. package/.agents/skills/upstash-redis-js/migrations/from-ioredis.md +163 -0
  133. package/.agents/skills/upstash-redis-js/migrations/from-redis-node.md +205 -0
  134. package/.agents/skills/upstash-redis-js/patterns/caching.md +58 -0
  135. package/.agents/skills/upstash-redis-js/patterns/distributed-locks.md +130 -0
  136. package/.agents/skills/upstash-redis-js/patterns/leaderboard.md +134 -0
  137. package/.agents/skills/upstash-redis-js/patterns/rate-limiting.md +187 -0
  138. package/.agents/skills/upstash-redis-js/patterns/session-management.md +217 -0
  139. package/.agents/skills/upstash-redis-js/performance/batching-operations.md +76 -0
  140. package/.agents/skills/upstash-redis-js/performance/data-serialization.md +134 -0
  141. package/.agents/skills/upstash-redis-js/performance/error-handling.md +118 -0
  142. package/.agents/skills/upstash-redis-js/performance/pipeline-optimization.md +105 -0
  143. package/.agents/skills/upstash-redis-js/performance/redis-replicas.md +14 -0
  144. package/.agents/skills/upstash-redis-js/performance/ttl-expiration.md +32 -0
  145. package/.agents/skills/upstash-redis-js/search/adapters.md +99 -0
  146. package/.agents/skills/upstash-redis-js/search/commands/aggregating.md +234 -0
  147. package/.agents/skills/upstash-redis-js/search/commands/aliases.md +76 -0
  148. package/.agents/skills/upstash-redis-js/search/commands/index-management.md +124 -0
  149. package/.agents/skills/upstash-redis-js/search/commands/querying.md +315 -0
  150. package/.agents/skills/upstash-redis-js/search/overview.md +155 -0
  151. package/.agents/skills/upstash-redis-start/SKILL.md +76 -0
  152. package/.agents/skills/upstash-search-js/SKILL.md +53 -0
  153. package/.agents/skills/upstash-search-js/quick-start.md +158 -0
  154. package/.agents/skills/upstash-search-js/sdk-overview.md +158 -0
  155. package/.agents/skills/upstash-vector-js/SKILL.md +49 -0
  156. package/.agents/skills/upstash-vector-js/features/filtering-and-metadata.md +82 -0
  157. package/.agents/skills/upstash-vector-js/features/index-structure.md +193 -0
  158. package/.agents/skills/upstash-vector-js/features/namespaces.md +32 -0
  159. package/.agents/skills/upstash-vector-js/sdk-methods.md +210 -0
  160. package/.agents/skills/upstash-workflow-js/SKILL.md +60 -0
  161. package/.agents/skills/upstash-workflow-js/agents.md +248 -0
  162. package/.agents/skills/upstash-workflow-js/basics/client.md +180 -0
  163. package/.agents/skills/upstash-workflow-js/basics/context.md +230 -0
  164. package/.agents/skills/upstash-workflow-js/basics/serve.md +70 -0
  165. package/.agents/skills/upstash-workflow-js/features/flow-control.md +145 -0
  166. package/.agents/skills/upstash-workflow-js/features/invoke.md +97 -0
  167. package/.agents/skills/upstash-workflow-js/features/retries-failures-reliability.md +239 -0
  168. package/.agents/skills/upstash-workflow-js/features/wait-for-event.md +97 -0
  169. package/.agents/skills/upstash-workflow-js/features/webhooks.md +79 -0
  170. package/.agents/skills/upstash-workflow-js/how-to/local-dev.md +177 -0
  171. package/.agents/skills/upstash-workflow-js/how-to/middleware.md +166 -0
  172. package/.agents/skills/upstash-workflow-js/how-to/migrations.md +201 -0
  173. package/.agents/skills/upstash-workflow-js/how-to/realtime.md +186 -0
  174. package/.agents/skills/upstash-workflow-js/rest-api.md +156 -0
  175. package/.agents/skills/upstash-workflow-js/troubleshooting.md +201 -0
  176. package/dist/agents/coding.agent.d.ts +185 -42
  177. package/dist/agents/coding.agent.d.ts.map +1 -1
  178. package/dist/agents/coding.agent.js +42 -5
  179. package/dist/agents/coding.agent.js.map +1 -1
  180. package/dist/agents/manager.d.ts +216 -41
  181. package/dist/agents/manager.d.ts.map +1 -1
  182. package/dist/agents/manager.js +103 -140
  183. package/dist/agents/manager.js.map +1 -1
  184. package/dist/agents/security.agent.d.ts +3 -3
  185. package/dist/agents/swarm/development/lead.d.ts +3 -0
  186. package/dist/agents/swarm/development/lead.d.ts.map +1 -0
  187. package/dist/agents/swarm/development/lead.js +24 -0
  188. package/dist/agents/swarm/development/lead.js.map +1 -0
  189. package/dist/agents/swarm/main.d.ts +69 -0
  190. package/dist/agents/swarm/main.d.ts.map +1 -1
  191. package/dist/agents/swarm/main.js +65 -11
  192. package/dist/agents/swarm/main.js.map +1 -1
  193. package/dist/agents/swarm/registry.d.ts +2 -1
  194. package/dist/agents/swarm/registry.d.ts.map +1 -1
  195. package/dist/agents/swarm/registry.js +225 -95
  196. package/dist/agents/swarm/registry.js.map +1 -1
  197. package/dist/cli/composer.d.ts.map +1 -1
  198. package/dist/cli/composer.js +85 -30
  199. package/dist/cli/composer.js.map +1 -1
  200. package/dist/cli/confirm.d.ts +2 -2
  201. package/dist/cli/confirm.d.ts.map +1 -1
  202. package/dist/cli/confirm.js +373 -4
  203. package/dist/cli/confirm.js.map +1 -1
  204. package/dist/cli/doctor.d.ts +1 -0
  205. package/dist/cli/doctor.d.ts.map +1 -1
  206. package/dist/cli/doctor.js +47 -2
  207. package/dist/cli/doctor.js.map +1 -1
  208. package/dist/cli/format.d.ts +4 -0
  209. package/dist/cli/format.d.ts.map +1 -1
  210. package/dist/cli/format.js +352 -65
  211. package/dist/cli/format.js.map +1 -1
  212. package/dist/cli/interactive.d.ts.map +1 -1
  213. package/dist/cli/interactive.js +80 -2
  214. package/dist/cli/interactive.js.map +1 -1
  215. package/dist/cli/menu.d.ts.map +1 -1
  216. package/dist/cli/menu.js +93 -83
  217. package/dist/cli/menu.js.map +1 -1
  218. package/dist/cli/render.d.ts.map +1 -1
  219. package/dist/cli/render.js +2 -1
  220. package/dist/cli/render.js.map +1 -1
  221. package/dist/cli/setup.d.ts.map +1 -1
  222. package/dist/cli/setup.js +262 -27
  223. package/dist/cli/setup.js.map +1 -1
  224. package/dist/cli/swarm.d.ts.map +1 -1
  225. package/dist/cli/swarm.js +13 -10
  226. package/dist/cli/swarm.js.map +1 -1
  227. package/dist/cli/theme.d.ts +7 -1
  228. package/dist/cli/theme.d.ts.map +1 -1
  229. package/dist/cli/theme.js +4 -16
  230. package/dist/cli/theme.js.map +1 -1
  231. package/dist/cli/update.d.ts.map +1 -1
  232. package/dist/cli/update.js +27 -4
  233. package/dist/cli/update.js.map +1 -1
  234. package/dist/config/env.d.ts +3 -1
  235. package/dist/config/env.d.ts.map +1 -1
  236. package/dist/config/env.js +22 -2
  237. package/dist/config/env.js.map +1 -1
  238. package/dist/config/models.d.ts +1 -0
  239. package/dist/config/models.d.ts.map +1 -1
  240. package/dist/config/models.js +17 -1
  241. package/dist/config/models.js.map +1 -1
  242. package/dist/documents/pdf.d.ts.map +1 -1
  243. package/dist/documents/pdf.js +282 -22
  244. package/dist/documents/pdf.js.map +1 -1
  245. package/dist/documents/slides.d.ts.map +1 -1
  246. package/dist/documents/slides.js +160 -30
  247. package/dist/documents/slides.js.map +1 -1
  248. package/dist/index.js +73 -18
  249. package/dist/index.js.map +1 -1
  250. package/dist/memory/history.js +1 -1
  251. package/dist/observability/doctor.d.ts.map +1 -1
  252. package/dist/observability/doctor.js +3 -0
  253. package/dist/observability/doctor.js.map +1 -1
  254. package/dist/runtime/progress.d.ts +5 -1
  255. package/dist/runtime/progress.d.ts.map +1 -1
  256. package/dist/runtime/progress.js.map +1 -1
  257. package/dist/runtime/swarm.d.ts +1 -1
  258. package/dist/runtime/swarm.d.ts.map +1 -1
  259. package/dist/runtime/swarm.js +19 -3
  260. package/dist/runtime/swarm.js.map +1 -1
  261. package/dist/runtime/tool-utils.d.ts +2 -0
  262. package/dist/runtime/tool-utils.d.ts.map +1 -1
  263. package/dist/runtime/tool-utils.js +91 -0
  264. package/dist/runtime/tool-utils.js.map +1 -1
  265. package/dist/server.js +1 -1
  266. package/dist/server.js.map +1 -1
  267. package/dist/skills/loader.d.ts.map +1 -1
  268. package/dist/skills/loader.js +16 -0
  269. package/dist/skills/loader.js.map +1 -1
  270. package/dist/test-call.d.ts +2 -0
  271. package/dist/test-call.d.ts.map +1 -0
  272. package/dist/test-call.js +29 -0
  273. package/dist/test-call.js.map +1 -0
  274. package/dist/test-manager-call.d.ts +2 -0
  275. package/dist/test-manager-call.d.ts.map +1 -0
  276. package/dist/test-manager-call.js +138 -0
  277. package/dist/test-manager-call.js.map +1 -0
  278. package/dist/test-manager-filtered.d.ts +2 -0
  279. package/dist/test-manager-filtered.d.ts.map +1 -0
  280. package/dist/test-manager-filtered.js +130 -0
  281. package/dist/test-manager-filtered.js.map +1 -0
  282. package/dist/test-mcp-call.d.ts +2 -0
  283. package/dist/test-mcp-call.d.ts.map +1 -0
  284. package/dist/test-mcp-call.js +103 -0
  285. package/dist/test-mcp-call.js.map +1 -0
  286. package/dist/tools/composio.tool.d.ts +1 -1
  287. package/dist/tools/composio.tool.d.ts.map +1 -1
  288. package/dist/tools/composio.tool.js +7 -16
  289. package/dist/tools/composio.tool.js.map +1 -1
  290. package/dist/tools/daytona-browser.tool.js +1 -1
  291. package/dist/tools/daytona-browser.tool.js.map +1 -1
  292. package/dist/tools/executive.tool.d.ts +40 -0
  293. package/dist/tools/executive.tool.d.ts.map +1 -0
  294. package/dist/tools/executive.tool.js +74 -0
  295. package/dist/tools/executive.tool.js.map +1 -0
  296. package/dist/tools/filesystem.tool.d.ts +183 -40
  297. package/dist/tools/filesystem.tool.d.ts.map +1 -1
  298. package/dist/tools/filesystem.tool.js +564 -111
  299. package/dist/tools/filesystem.tool.js.map +1 -1
  300. package/dist/tools/mcp.tool.d.ts +56 -0
  301. package/dist/tools/mcp.tool.d.ts.map +1 -0
  302. package/dist/tools/mcp.tool.js +285 -0
  303. package/dist/tools/mcp.tool.js.map +1 -0
  304. package/dist/tools/osint.tool.d.ts +4 -4
  305. package/dist/tools/pentest.tool.d.ts +2 -2
  306. package/dist/tools/setup-assistant.tool.d.ts +1 -1
  307. package/dist/tools/setup-assistant.tool.js +1 -1
  308. package/dist/tools/setup-assistant.tool.js.map +1 -1
  309. package/dist/workspace/paths.d.ts +1 -0
  310. package/dist/workspace/paths.d.ts.map +1 -1
  311. package/dist/workspace/paths.js +3 -4
  312. package/dist/workspace/paths.js.map +1 -1
  313. package/package.json +8 -4
  314. package/scripts/postinstall.mjs +19 -4
  315. package/scripts/release-github.mjs +11 -11
@@ -0,0 +1,32 @@
1
+ # Vector Feature: Namespaces
2
+
3
+ Namespaces partition a single Upstash Vector index into fully isolated subsets. Each request executes only within its specified namespace.
4
+
5
+ ## Key Concepts
6
+
7
+ - Every index has a default namespace named "" (empty string).
8
+ - Additional namespaces are created automatically on first upsert.
9
+ - If no namespace is provided, all operations use the default.
10
+
11
+ ## Using Namespaces
12
+
13
+ Upsert and query operations scoped to a namespace automatically create it if missing.
14
+
15
+ ```ts
16
+ import { Index } from "@upstash/vector";
17
+ const index = new Index({ url: "URL", token: "TOKEN" });
18
+ const ns = index.namespace("ns");
19
+ await ns.upsert({ id: "id-0", vector: [0.1, 0.2] });
20
+ await ns.query({ vector: [0.1, 0.2], topK: 5 });
21
+ ```
22
+
23
+ ## Operatoins
24
+
25
+ ```ts
26
+ await index.deleteNamespace("ns");
27
+ await index.listNamespaces();
28
+ ```
29
+
30
+ ## Common Pitfalls
31
+
32
+ - Forgetting to specify `namespace` causes writes to go into the default namespace.
@@ -0,0 +1,210 @@
1
+ # Vector TS SDK
2
+
3
+ ## Upsert
4
+
5
+ Add or update vectors. Also accepts raw text (`data`) to embed automatically.
6
+
7
+ **Pitfalls**
8
+
9
+ - Vector dimension must match index dimension.
10
+ - Passing both `vector` and `data` is invalid.
11
+ - Metadata is optional but recommended for filtering.
12
+
13
+ **Example (single + batch, mix of vector/data)**
14
+
15
+ ```ts
16
+ // Single vector
17
+ await index.upsert({ id: "1", vector: [0.1, 0.2], metadata: { type: "doc" } });
18
+
19
+ // Multiple vectors
20
+ await index.upsert(
21
+ [
22
+ { id: "2", vector: [0.2, 0.3] },
23
+ { id: "3", vector: [0.3, 0.4], metadata: { tag: "a" } },
24
+ ],
25
+ { namespace: "ns" }
26
+ );
27
+
28
+ // Using data (auto‑embedding. Only works if the vector index has an embedding model)
29
+ await index.upsert({ id: "4", data: "A fantasy movie" });
30
+ ```
31
+
32
+ ---
33
+
34
+ ## Fetch
35
+
36
+ Retrieve vectors by exact ID or prefix.
37
+
38
+ **Example**
39
+
40
+ ```ts
41
+ // Exact
42
+ const out = await index.fetch(["1", "2"], { includeMetadata: true });
43
+ // → [{ id: "1", metadata: {...} }, null]
44
+
45
+ // Prefix
46
+ await index.fetch({ prefix: "user-" });
47
+ ```
48
+
49
+ ---
50
+
51
+ ## Delete
52
+
53
+ Remove vectors by IDs, prefix, or metadata filter.
54
+
55
+ **Pitfalls**
56
+
57
+ - Only one of `ids`, `prefix`, or `filter` can be used.
58
+ - Using `filter` triggers an O(N) scan.
59
+
60
+ **Example**
61
+
62
+ ```ts
63
+ await index.delete(["1", "2"]);
64
+ await index.delete({ prefix: "user-" });
65
+ await index.delete({ filter: "status = 'expired'" });
66
+ ```
67
+
68
+ ---
69
+
70
+ ## Query
71
+
72
+ Find the top‑K most similar vectors. Supports dense, sparse, hybrid, and embedded-on-demand queries.
73
+
74
+ **Pitfalls**
75
+
76
+ - Query vector dimension must match index.
77
+ - Scores are normalized 0–1 no matter the similarity metric.
78
+
79
+ **Example**
80
+
81
+ ```ts
82
+ // Dense vector
83
+ const results = await index.query({
84
+ vector: [0.1, 0.2],
85
+ topK: 3,
86
+ includeMetadata: true,
87
+ filter: "genre = 'fantasy'",
88
+ });
89
+
90
+ // Data (auto‑embedding)
91
+ await index.query({ data: "epic fantasy adventure", topK: 2 });
92
+ ```
93
+
94
+ ---
95
+
96
+ ## Resumable Query
97
+
98
+ Long-running, chunked queries with server-side state.
99
+
100
+ **Pitfalls**
101
+
102
+ - Remember to call `stop()` to free resources.
103
+ - `fetchNext(k)` retrieves N more results.
104
+
105
+ **Example**
106
+
107
+ ```ts
108
+ const { result, fetchNext, stop } = await index.resumableQuery({
109
+ vector: [0.1, 0.2],
110
+ topK: 50,
111
+ maxIdle: 3600,
112
+ });
113
+
114
+ const next = await fetchNext(10);
115
+ await stop();
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Range
121
+
122
+ Paginated, stateless scanning of vectors; recommended for large prefix fetches.
123
+
124
+ **Pitfalls**
125
+
126
+ - Always pass `cursor`; set to `0` initially.
127
+
128
+ **Example**
129
+
130
+ ```ts
131
+ let cursor = 0;
132
+ while (cursor !== null) {
133
+ const page = await index.range({ cursor, limit: 100, includeMetadata: true });
134
+ console.log(page.vectors);
135
+ cursor = page.nextCursor;
136
+ }
137
+ ```
138
+
139
+ ---
140
+
141
+ ## Info
142
+
143
+ Retrieve index statistics.
144
+
145
+ **Example**
146
+
147
+ ```ts
148
+ const info = await index.info();
149
+ /* Returns:
150
+ {
151
+ vectorCount: number;
152
+ pendingVectorCount: number;
153
+ indexSize: number;
154
+ dimension: number;
155
+ similarityFunction: "COSINE" | "EUCLIDEAN" | "DOT_PRODUCT";
156
+ denseIndex?: {
157
+ dimension: number;
158
+ similarityFunction: "COSINE" | "EUCLIDEAN" | "DOT_PRODUCT";
159
+ embeddingModel?: string;
160
+ };
161
+ sparseIndex?: {
162
+ embeddingModel?: string;
163
+ };
164
+ namespaces: Record<string, {
165
+ vectorCount: number;
166
+ pendingVectorCount: number;
167
+ }>;
168
+ }
169
+ */
170
+ ```
171
+
172
+ ---
173
+
174
+ ## Reset
175
+
176
+ Clear a namespace or the entire index.
177
+
178
+ **Pitfalls**
179
+
180
+ - `{ all: true }` must be explicit.
181
+
182
+ **Example**
183
+
184
+ ```ts
185
+ await index.reset(); // default namespace
186
+ await index.reset({ namespace: "my-namespace" });
187
+ await index.reset({ all: true });
188
+ ```
189
+
190
+ ---
191
+
192
+ ## Advanced
193
+
194
+ ### Request Timeout
195
+
196
+ ```ts
197
+ const index = new Index({
198
+ url,
199
+ token,
200
+ signal: () => AbortSignal.timeout(1000),
201
+ });
202
+ ```
203
+
204
+ ### Telemetry
205
+
206
+ Disable with env variable:
207
+
208
+ ```sh
209
+ UPSTASH_DISABLE_TELEMETRY=1
210
+ ```
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: upstash-workflow-js
3
+ description: Skills for the Upstash Workflow TypeScript/JavaScript SDK to define, trigger, and manage workflows. Use this Skill whenever a user wants to create workflow endpoints, run steps, or interact with the Upstash Workflow client.
4
+ ---
5
+
6
+ # Upstash Workflow SDK
7
+
8
+ ## Quick Start
9
+
10
+ The Upstash Workflow SDK lets you expose serverless workflow endpoints and run them reliably using QStash under the hood.
11
+
12
+ Install:
13
+
14
+ ```bash
15
+ npm install @upstash/workflow
16
+ ```
17
+
18
+ Define a simple workflow endpoint:
19
+
20
+ ```ts
21
+ import { serve } from "@upstash/workflow";
22
+
23
+ export const { POST } = serve(async (context) => {
24
+ await context.run("step-1", () => console.log("step 1"));
25
+ await context.run("step-2", () => console.log("step 2"));
26
+ });
27
+ ```
28
+
29
+ Trigger it from your backend:
30
+
31
+ ```ts
32
+ import { Client } from "@upstash/workflow";
33
+
34
+ const client = new Client({ token: process.env.QSTASH_TOKEN! });
35
+ await client.trigger({ url: "https://your-app.com/api/workflow" });
36
+ ```
37
+
38
+ ## Other Skill Files
39
+
40
+ These files contain the full documentation. Use them for details, patterns, and advanced behavior.
41
+
42
+ - basics:
43
+ - **basics/serve** – How to expose workflow endpoints.
44
+ - **basics/context** – Full API for workflow `context` (steps, waits, webhooks, events, invoke, etc.).
45
+ - **basics/client** – Using the Workflow client to trigger, cancel, inspect, and notify runs.
46
+ - features:
47
+ - **features/invoke** – Cross‑workflow invocation.
48
+ - **features/reliability** – Retries, failure callbacks, and DLQ.
49
+ - **features/flow-control** – Rate limits, concurrency, and parallelism.
50
+ - **features/wait-for-event** – Notify and wait-for-event patterns.
51
+ - **features/webhooks** – Webhook creation and consumption.
52
+ - how to:
53
+ - **how-to/local-dev** – Local QStash dev server (auto via `QSTASH_DEV=true`) and tunneling.
54
+ - **how-to/realtime** – Realtime and human‑in‑the‑loop workflows.
55
+ - **how-to/migrations** – Migrating workflows safely.
56
+ - **how-to/middleware** – Adding middleware to workflows.
57
+ - other files:
58
+ - **rest-api** – Low-level REST endpoints for interacting with QStash/Workflow.
59
+ - **troubleshooting** – Common debugging and environment issues.
60
+ - **agents** – Using Workflow with agents, orchestrators, and automation patterns.
@@ -0,0 +1,248 @@
1
+ ---
2
+ name: workflow-agents
3
+ description: Skill for building, configuring, and orchestrating Upstash Workflow Agents. Use when the user mentions agent workflows, multi-agent collaboration, tools, tasks, Upstash Workflow, or patterns like evaluator-optimizer, prompt chaining, parallelization, or orchestrator-workers.
4
+ ---
5
+
6
+ # Workflow Agents
7
+
8
+ This Skill provides guidance for defining and orchestrating agents, tools, models, and tasks inside **Upstash Workflow** using **TypeScript**. It explains core concepts, common patterns, workflow configuration, and pitfalls.
9
+
10
+ ## Quick Overview
11
+
12
+ Use this Skill when:
13
+
14
+ - Building agents with tools and backgrounds
15
+ - Creating multi-step or multi-agent tasks
16
+ - Implementing patterns like evaluator-optimizer or prompt chaining
17
+ - Integrating LangChain or AI SDK tools
18
+ - Running workflows reliably inside Upstash Workflow
19
+
20
+ The Workflow Agents API centers around four elements:
21
+
22
+ - **Models** — LLM providers (OpenAI, Anthropic, or any AI SDK provider)
23
+ - **Tools** — Functions agents can call
24
+ - **Agents** — LLM instances with background, maxSteps, and tools
25
+ - **Tasks** — Executable prompts assigned to one or more agents
26
+
27
+ ---
28
+
29
+ # Defining Models
30
+
31
+ A model defines which provider the agent uses and includes optional configuration for retries, timeouts, or rate‑limits.
32
+
33
+ ```ts
34
+ const agents = agentWorkflow(context);
35
+
36
+ // Basic OpenAI model
37
+ const model = agents.openai("gpt-3.5-turbo");
38
+
39
+ // OpenAI-compatible provider
40
+ const deepseek = agents.openai("deepseek-chat", {
41
+ baseURL: "https://api.deepseek.com",
42
+ apiKey: process.env.DEEPSEEK_API_KEY,
43
+ });
44
+
45
+ // AI SDK provider (ex: Anthropic)
46
+ const anthropic = agents.AISDKModel({
47
+ context,
48
+ provider: createAnthropic, // imported from @ai-sdk/anthropic
49
+ providerParams: { apiKey: process.env.ANTHROPIC_KEY },
50
+ agentCallParams: {
51
+ timeout: 1000,
52
+ retries: 0,
53
+ },
54
+ });
55
+ ```
56
+
57
+ **Key parameters:**
58
+
59
+ - **callSettings / agentCallParams** — timeout, retries, flow control
60
+ - **provider / providerParams** — when using AI SDK providers
61
+
62
+ **Pitfall:** If you use an OpenAI-compatible provider, you **must** set `baseURL`.
63
+
64
+ ---
65
+
66
+ # Defining Tools
67
+
68
+ Tools extend what agents can do. Workflow supports:
69
+
70
+ - WorkflowTool (native)
71
+ - AI SDK tools
72
+ - LangChain tools
73
+ - Agentic toolkits
74
+
75
+ ```ts
76
+ import { z } from "zod";
77
+ import { tool } from "ai";
78
+ import { WorkflowTool } from "@upstash/workflow-agents";
79
+ import { WikipediaQueryRun } from "@langchain/community/tools/wikipedia_query_run";
80
+
81
+ const mathTool = tool({
82
+ description: "Evaluate a math expression",
83
+ parameters: z.object({ expression: z.string() }),
84
+ execute: async ({ expression }) => mathjs.evaluate(expression),
85
+ });
86
+
87
+ const workflowMath = new WorkflowTool({
88
+ description: "Evaluate math (workflow step aware)",
89
+ schema: z.object({ expression: z.string() }),
90
+ invoke: async ({ expression }) => mathjs.evaluate(expression),
91
+ executeAsStep: false, // allows context.call, etc.
92
+ });
93
+
94
+ const wikiTool = new WikipediaQueryRun({
95
+ topKResults: 1,
96
+ maxDocContentLength: 500,
97
+ });
98
+ ```
99
+
100
+ **Common mistakes:**
101
+
102
+ - Workflow wraps execute/invoke in `context.run` by default, so you **cannot use context.call** unless `executeAsStep: false` is set.
103
+ - LangChain tools must return **strings**, not objects.
104
+
105
+ ---
106
+
107
+ # Defining Agents
108
+
109
+ Agents wrap a model and add behavior via:
110
+
111
+ - `maxSteps` — how many LLM calls the agent is allowed to make
112
+ - `background` — system prompt
113
+ - `tools` — available actions
114
+
115
+ ```ts
116
+ const generator = agents.agent({
117
+ model,
118
+ name: "generator",
119
+ maxSteps: 1,
120
+ background: "Generate text from prompts.",
121
+ tools: {},
122
+ });
123
+
124
+ const evaluator = agents.agent({
125
+ model,
126
+ name: "evaluator",
127
+ maxSteps: 1,
128
+ background: "Evaluate responses and give corrections.",
129
+ tools: {},
130
+ });
131
+ ```
132
+
133
+ **Tips:**
134
+
135
+ - Pick maxSteps carefully; too low prevents tool use; too high increases cost.
136
+ - Names appear in Upstash Console logs; keep them descriptive.
137
+
138
+ ---
139
+
140
+ # Tasks (Single & Multi Agent)
141
+
142
+ A **task** is a single execution of an agent or a group of agents.
143
+
144
+ ```ts
145
+ // Single agent task
146
+ const single = agents.task({
147
+ agent: generator,
148
+ prompt: "Explain quantum mechanics.",
149
+ });
150
+ const { text } = await single.run();
151
+
152
+ // Multi-agent with manager agent
153
+ const multi = agents.task({
154
+ model, // manager LLM
155
+ agents: [generator, evaluator],
156
+ maxSteps: 3,
157
+ prompt: "Generate text and refine it until quality improves.",
158
+ });
159
+ const result = await multi.run();
160
+ ```
161
+
162
+ **Tip:** In multi-agent mode, the model becomes a "manager" system that decides which agent to call.
163
+
164
+ ---
165
+
166
+ # Common Agent Patterns
167
+
168
+ Below are the patterns supported by the source files in this skill.
169
+
170
+ ## Prompt Chaining
171
+
172
+ Sequential agent calls where each output becomes the next input.
173
+ Useful for: stepwise research, multi‑stage content generation, breaking down complex tasks.
174
+
175
+ Pitfall: watch `maxSteps` for agents that need both tool calls and summarization.
176
+
177
+ ## Evaluator‑Optimizer
178
+
179
+ Loop until evaluator returns a PASS. Simple feedback‑refinement pattern.
180
+
181
+ Pitfall: Always check evaluator output with `.includes("PASS")`, not strict equality.
182
+
183
+ ## Parallelization
184
+
185
+ Use multiple agents with `Promise.all` and then aggregate.
186
+
187
+ Pitfall: Avoid extremely large aggregated prompts; summarizing before combining is recommended.
188
+
189
+ ## Orchestrator‑Workers
190
+
191
+ Manager delegates sub‑tasks to specialized workers.
192
+ Useful for structured Q&A, multi‑topic analysis, or complex synthesis.
193
+
194
+ Pitfall: The manager must have enough `maxSteps` to orchestrate multiple workers.
195
+
196
+ ---
197
+
198
+ # Best Practices
199
+
200
+ - Give each agent a _clear_ background; ambiguous roles cause incorrect tool use.
201
+ - Define tools with strict schemas so LLMs call them reliably.
202
+ - Use multi-agent tasks when the problem requires specialization.
203
+ - Inspect console logs to debug tool calls and agent decisions.
204
+ - Use local QStash dev server during development to avoid rate limits.
205
+
206
+ ---
207
+
208
+ # Example: Combined Setup (models + tools + agents + tasks)
209
+
210
+ This shows all core fields together in one concise example.
211
+
212
+ ```ts
213
+ export const { POST } = serve(async (context) => {
214
+ const agents = agentWorkflow(context);
215
+ const model = agents.openai("gpt-4o");
216
+
217
+ const mathTool = tool({
218
+ description: "Compute math",
219
+ parameters: z.object({ expression: z.string() }),
220
+ execute: async ({ expression }) => mathjs.evaluate(expression),
221
+ });
222
+
223
+ const researcher = agents.agent({
224
+ model,
225
+ name: "researcher",
226
+ maxSteps: 2,
227
+ background: "Research topics using wiki.",
228
+ tools: { wikiTool },
229
+ });
230
+
231
+ const mathematician = agents.agent({
232
+ model,
233
+ name: "math",
234
+ maxSteps: 2,
235
+ background: "Solve numeric problems.",
236
+ tools: { mathTool },
237
+ });
238
+
239
+ const task = agents.task({
240
+ model, // manager
241
+ agents: [researcher, mathematician],
242
+ maxSteps: 3,
243
+ prompt: "Tell me about 3 stars and compute the sum of their masses.",
244
+ });
245
+
246
+ return (await task.run()).text;
247
+ });
248
+ ```