agent-nuvira 1.79.2 → 1.82.0

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 (561) hide show
  1. package/.agents/skills/a11y-audit/SKILL.md +29 -0
  2. package/.agents/skills/api-call/SKILL.md +51 -0
  3. package/.agents/skills/api-call/call.js +187 -0
  4. package/.agents/skills/api-call/call.mjs +187 -0
  5. package/.agents/skills/api-design/SKILL.md +56 -0
  6. package/.agents/skills/api-testing/SKILL.md +29 -0
  7. package/.agents/skills/api-versioning/SKILL.md +29 -0
  8. package/.agents/skills/auth-setup/SKILL.md +29 -0
  9. package/.agents/skills/backup-recovery/SKILL.md +29 -0
  10. package/.agents/skills/backup-strategy/SKILL.md +27 -0
  11. package/.agents/skills/blob-storage/SKILL.md +29 -0
  12. package/.agents/skills/cache-setup/SKILL.md +29 -0
  13. package/.agents/skills/cdn-setup/SKILL.md +27 -0
  14. package/.agents/skills/ci-cd-setup/SKILL.md +47 -0
  15. package/.agents/skills/cloud-deploy/SKILL.md +27 -0
  16. package/.agents/skills/code-refactor/SKILL.md +48 -0
  17. package/.agents/skills/cors-setup/SKILL.md +29 -0
  18. package/.agents/skills/cron-job/SKILL.md +27 -0
  19. package/.agents/skills/cron-setup/SKILL.md +29 -0
  20. package/.agents/skills/data-analysis/SKILL.md +29 -0
  21. package/.agents/skills/data-processing/SKILL.md +27 -0
  22. package/.agents/skills/data-sync/SKILL.md +29 -0
  23. package/.agents/skills/db-migration/SKILL.md +56 -0
  24. package/.agents/skills/dep-update/SKILL.md +52 -0
  25. package/.agents/skills/design-system/SKILL.md +29 -0
  26. package/.agents/skills/dns-setup/SKILL.md +27 -0
  27. package/.agents/skills/doc-gen/SKILL.md +47 -0
  28. package/.agents/skills/docker-config/SKILL.md +49 -0
  29. package/.agents/skills/email-setup/SKILL.md +29 -0
  30. package/.agents/skills/env-setup/SKILL.md +54 -0
  31. package/.agents/skills/error-tracking/SKILL.md +29 -0
  32. package/.agents/skills/feature-flags/SKILL.md +29 -0
  33. package/.agents/skills/form-builder/SKILL.md +29 -0
  34. package/.agents/skills/git-release/SKILL.md +29 -0
  35. package/.agents/skills/github-actions/SKILL.md +27 -0
  36. package/.agents/skills/graphql-api/SKILL.md +29 -0
  37. package/.agents/skills/i18n-setup/SKILL.md +29 -0
  38. package/.agents/skills/image-gen/SKILL.md +47 -0
  39. package/.agents/skills/image-gen/generate.py +83 -0
  40. package/.agents/skills/image-optimize/SKILL.md +29 -0
  41. package/.agents/skills/index.json +1041 -7
  42. package/.agents/skills/kafka-queue/SKILL.md +27 -0
  43. package/.agents/skills/kubernetes/SKILL.md +27 -0
  44. package/.agents/skills/legal-compliance/SKILL.md +29 -0
  45. package/.agents/skills/load-balancer/SKILL.md +27 -0
  46. package/.agents/skills/log-rotation/SKILL.md +27 -0
  47. package/.agents/skills/ml-model/SKILL.md +27 -0
  48. package/.agents/skills/monitoring-setup/SKILL.md +29 -0
  49. package/.agents/skills/multi-tenancy/SKILL.md +29 -0
  50. package/.agents/skills/nginx-config/SKILL.md +27 -0
  51. package/.agents/skills/notification-setup/SKILL.md +29 -0
  52. package/.agents/skills/payment-setup/SKILL.md +29 -0
  53. package/.agents/skills/pdf-generate/SKILL.md +29 -0
  54. package/.agents/skills/perf-profile/SKILL.md +55 -0
  55. package/.agents/skills/perf-test/SKILL.md +29 -0
  56. package/.agents/skills/prometheus/SKILL.md +27 -0
  57. package/.agents/skills/queue-setup/SKILL.md +29 -0
  58. package/.agents/skills/rate-limit/SKILL.md +29 -0
  59. package/.agents/skills/redis-cache/SKILL.md +27 -0
  60. package/.agents/skills/schema-design/SKILL.md +29 -0
  61. package/.agents/skills/search-setup/SKILL.md +29 -0
  62. package/.agents/skills/secrets-manager/SKILL.md +27 -0
  63. package/.agents/skills/security-audit/SKILL.md +57 -0
  64. package/.agents/skills/ssl-cert/SKILL.md +27 -0
  65. package/.agents/skills/state-machine/SKILL.md +29 -0
  66. package/.agents/skills/structured-logging/SKILL.md +27 -0
  67. package/.agents/skills/system-check/SKILL.md +41 -0
  68. package/.agents/skills/system-check/check.sh +134 -0
  69. package/.agents/skills/terraform/SKILL.md +27 -0
  70. package/.agents/skills/web-scraping/SKILL.md +27 -0
  71. package/.agents/skills/webhook-setup/SKILL.md +29 -0
  72. package/.agents/skills/websocket-setup/SKILL.md +29 -0
  73. package/README.md +321 -115
  74. package/dist/a.d.ts +1 -0
  75. package/dist/a.d.ts.map +1 -0
  76. package/dist/a.js +3 -0
  77. package/dist/a.js.map +1 -0
  78. package/dist/agents/orchestrator.d.ts +22 -0
  79. package/dist/agents/orchestrator.d.ts.map +1 -1
  80. package/dist/agents/orchestrator.js +69 -15
  81. package/dist/agents/orchestrator.js.map +1 -1
  82. package/dist/b.d.ts +1 -0
  83. package/dist/b.d.ts.map +1 -0
  84. package/dist/b.js +3 -0
  85. package/dist/b.js.map +1 -0
  86. package/dist/cli/benchmark.d.ts.map +1 -1
  87. package/dist/cli/benchmark.js +9 -1
  88. package/dist/cli/benchmark.js.map +1 -1
  89. package/dist/cli/chat.d.ts.map +1 -1
  90. package/dist/cli/chat.js +4 -1
  91. package/dist/cli/chat.js.map +1 -1
  92. package/dist/cli/eval.d.ts.map +1 -1
  93. package/dist/cli/eval.js +11 -1
  94. package/dist/cli/eval.js.map +1 -1
  95. package/dist/cli/execute.d.ts.map +1 -1
  96. package/dist/cli/execute.js +9 -1
  97. package/dist/cli/execute.js.map +1 -1
  98. package/dist/cli/memory.d.ts +6 -0
  99. package/dist/cli/memory.d.ts.map +1 -1
  100. package/dist/cli/memory.js +207 -0
  101. package/dist/cli/memory.js.map +1 -1
  102. package/dist/example.d.ts +1 -0
  103. package/dist/example.d.ts.map +1 -0
  104. package/dist/example.js +3 -0
  105. package/dist/example.js.map +1 -0
  106. package/dist/file.d.ts +1 -0
  107. package/dist/file.d.ts.map +1 -0
  108. package/dist/file.js +3 -0
  109. package/dist/file.js.map +1 -0
  110. package/dist/forwarded.d.ts +2 -0
  111. package/dist/forwarded.d.ts.map +1 -0
  112. package/dist/forwarded.js +2 -0
  113. package/dist/forwarded.js.map +1 -0
  114. package/dist/fresh.d.ts +2 -0
  115. package/dist/fresh.d.ts.map +1 -0
  116. package/dist/fresh.js +2 -0
  117. package/dist/fresh.js.map +1 -0
  118. package/dist/inference/default-model-resolver.d.ts +28 -0
  119. package/dist/inference/default-model-resolver.d.ts.map +1 -0
  120. package/dist/inference/default-model-resolver.js +135 -0
  121. package/dist/inference/default-model-resolver.js.map +1 -0
  122. package/dist/inference/openai-compat-adapter.d.ts.map +1 -1
  123. package/dist/inference/openai-compat-adapter.js.map +1 -1
  124. package/dist/inference/provider-catalog.d.ts +12 -0
  125. package/dist/inference/provider-catalog.d.ts.map +1 -1
  126. package/dist/inference/provider-catalog.js +31 -0
  127. package/dist/inference/provider-catalog.js.map +1 -1
  128. package/dist/learning/auto-router.d.ts +15 -3
  129. package/dist/learning/auto-router.d.ts.map +1 -1
  130. package/dist/learning/auto-router.js +136 -16
  131. package/dist/learning/auto-router.js.map +1 -1
  132. package/dist/learning/learn-prompt.d.ts.map +1 -1
  133. package/dist/learning/learn-prompt.js +6 -2
  134. package/dist/learning/learn-prompt.js.map +1 -1
  135. package/dist/learning/model-first-router.d.ts +120 -0
  136. package/dist/learning/model-first-router.d.ts.map +1 -0
  137. package/dist/learning/model-first-router.js +460 -0
  138. package/dist/learning/model-first-router.js.map +1 -0
  139. package/dist/learning/model-registry.d.ts +6 -0
  140. package/dist/learning/model-registry.d.ts.map +1 -1
  141. package/dist/learning/model-registry.js +8 -0
  142. package/dist/learning/model-registry.js.map +1 -1
  143. package/dist/learning/model-scoring.d.ts +80 -0
  144. package/dist/learning/model-scoring.d.ts.map +1 -0
  145. package/dist/learning/model-scoring.js +248 -0
  146. package/dist/learning/model-scoring.js.map +1 -0
  147. package/dist/learning/model-warmup.d.ts +61 -0
  148. package/dist/learning/model-warmup.d.ts.map +1 -0
  149. package/dist/learning/model-warmup.js +234 -0
  150. package/dist/learning/model-warmup.js.map +1 -0
  151. package/dist/learning/resilient-call.d.ts +56 -0
  152. package/dist/learning/resilient-call.d.ts.map +1 -0
  153. package/dist/learning/resilient-call.js +453 -0
  154. package/dist/learning/resilient-call.js.map +1 -0
  155. package/dist/learning/skill-store.js +1 -1
  156. package/dist/learning/skill-store.js.map +1 -1
  157. package/dist/mcp/mcp-dashboard-oauth.d.ts +94 -0
  158. package/dist/mcp/mcp-dashboard-oauth.d.ts.map +1 -0
  159. package/dist/mcp/mcp-dashboard-oauth.js +140 -0
  160. package/dist/mcp/mcp-dashboard-oauth.js.map +1 -0
  161. package/dist/mcp/mcp-oauth.d.ts +98 -0
  162. package/dist/mcp/mcp-oauth.d.ts.map +1 -0
  163. package/dist/mcp/mcp-oauth.js +279 -0
  164. package/dist/mcp/mcp-oauth.js.map +1 -0
  165. package/dist/mcp/mcp-schema-cache.d.ts +76 -0
  166. package/dist/mcp/mcp-schema-cache.d.ts.map +1 -0
  167. package/dist/mcp/mcp-schema-cache.js +172 -0
  168. package/dist/mcp/mcp-schema-cache.js.map +1 -0
  169. package/dist/mcp/mcp-watchdog.d.ts +116 -0
  170. package/dist/mcp/mcp-watchdog.d.ts.map +1 -0
  171. package/dist/mcp/mcp-watchdog.js +234 -0
  172. package/dist/mcp/mcp-watchdog.js.map +1 -0
  173. package/dist/memory/background-sync.d.ts +107 -0
  174. package/dist/memory/background-sync.d.ts.map +1 -0
  175. package/dist/memory/background-sync.js +242 -0
  176. package/dist/memory/background-sync.js.map +1 -0
  177. package/dist/memory/cross-session.d.ts +68 -0
  178. package/dist/memory/cross-session.d.ts.map +1 -0
  179. package/dist/memory/cross-session.js +153 -0
  180. package/dist/memory/cross-session.js.map +1 -0
  181. package/dist/memory/drift-detector.d.ts +76 -0
  182. package/dist/memory/drift-detector.d.ts.map +1 -0
  183. package/dist/memory/drift-detector.js +216 -0
  184. package/dist/memory/drift-detector.js.map +1 -0
  185. package/dist/memory/enhanced-manager.d.ts +105 -0
  186. package/dist/memory/enhanced-manager.d.ts.map +1 -0
  187. package/dist/memory/enhanced-manager.js +280 -0
  188. package/dist/memory/enhanced-manager.js.map +1 -0
  189. package/dist/memory/session-extraction.d.ts +93 -0
  190. package/dist/memory/session-extraction.d.ts.map +1 -0
  191. package/dist/memory/session-extraction.js +290 -0
  192. package/dist/memory/session-extraction.js.map +1 -0
  193. package/dist/memory/sqlite-store.d.ts +208 -0
  194. package/dist/memory/sqlite-store.d.ts.map +1 -0
  195. package/dist/memory/sqlite-store.js +555 -0
  196. package/dist/memory/sqlite-store.js.map +1 -0
  197. package/dist/resources/command-manifest.json +102 -0
  198. package/dist/skills/bundled-skills-docker.d.ts +20 -0
  199. package/dist/skills/bundled-skills-docker.d.ts.map +1 -0
  200. package/dist/skills/bundled-skills-docker.js +416 -0
  201. package/dist/skills/bundled-skills-docker.js.map +1 -0
  202. package/dist/skills/bundled-skills-extended.d.ts +37 -0
  203. package/dist/skills/bundled-skills-extended.d.ts.map +1 -0
  204. package/dist/skills/bundled-skills-extended.js +549 -0
  205. package/dist/skills/bundled-skills-extended.js.map +1 -0
  206. package/dist/skills/bundled-skills-phase3.d.ts +152 -0
  207. package/dist/skills/bundled-skills-phase3.d.ts.map +1 -0
  208. package/dist/skills/bundled-skills-phase3.js +2471 -0
  209. package/dist/skills/bundled-skills-phase3.js.map +1 -0
  210. package/dist/skills/bundled-skills.d.ts +198 -0
  211. package/dist/skills/bundled-skills.d.ts.map +1 -1
  212. package/dist/skills/bundled-skills.js +2449 -0
  213. package/dist/skills/bundled-skills.js.map +1 -1
  214. package/dist/skills/daytona-executor.d.ts +78 -0
  215. package/dist/skills/daytona-executor.d.ts.map +1 -0
  216. package/dist/skills/daytona-executor.js +256 -0
  217. package/dist/skills/daytona-executor.js.map +1 -0
  218. package/dist/skills/execution-approval.d.ts +101 -0
  219. package/dist/skills/execution-approval.d.ts.map +1 -0
  220. package/dist/skills/execution-approval.js +201 -0
  221. package/dist/skills/execution-approval.js.map +1 -0
  222. package/dist/skills/execution-audit.d.ts +117 -0
  223. package/dist/skills/execution-audit.d.ts.map +1 -0
  224. package/dist/skills/execution-audit.js +264 -0
  225. package/dist/skills/execution-audit.js.map +1 -0
  226. package/dist/skills/modal-executor.d.ts +81 -0
  227. package/dist/skills/modal-executor.d.ts.map +1 -0
  228. package/dist/skills/modal-executor.js +285 -0
  229. package/dist/skills/modal-executor.js.map +1 -0
  230. package/dist/skills/sandbox-executor.d.ts +77 -0
  231. package/dist/skills/sandbox-executor.d.ts.map +1 -0
  232. package/dist/skills/sandbox-executor.js +294 -0
  233. package/dist/skills/sandbox-executor.js.map +1 -0
  234. package/dist/skills/secret-capture.d.ts +81 -0
  235. package/dist/skills/secret-capture.d.ts.map +1 -0
  236. package/dist/skills/secret-capture.js +330 -0
  237. package/dist/skills/secret-capture.js.map +1 -0
  238. package/dist/skills/skill-executor.d.ts +78 -0
  239. package/dist/skills/skill-executor.d.ts.map +1 -0
  240. package/dist/skills/skill-executor.js +381 -0
  241. package/dist/skills/skill-executor.js.map +1 -0
  242. package/dist/skills/skill-provenance.d.ts +122 -0
  243. package/dist/skills/skill-provenance.d.ts.map +1 -0
  244. package/dist/skills/skill-provenance.js +247 -0
  245. package/dist/skills/skill-provenance.js.map +1 -0
  246. package/dist/sync/validate.d.ts +1 -0
  247. package/dist/sync/validate.d.ts.map +1 -0
  248. package/dist/sync/validate.js +3 -0
  249. package/dist/sync/validate.js.map +1 -0
  250. package/dist/tools/approval-tools.d.ts +99 -0
  251. package/dist/tools/approval-tools.d.ts.map +1 -0
  252. package/dist/tools/approval-tools.js +132 -0
  253. package/dist/tools/approval-tools.js.map +1 -0
  254. package/dist/tools/async-delegation.d.ts +93 -0
  255. package/dist/tools/async-delegation.d.ts.map +1 -0
  256. package/dist/tools/async-delegation.js +188 -0
  257. package/dist/tools/async-delegation.js.map +1 -0
  258. package/dist/tools/browser-camofox.d.ts +197 -0
  259. package/dist/tools/browser-camofox.d.ts.map +1 -0
  260. package/dist/tools/browser-camofox.js +247 -0
  261. package/dist/tools/browser-camofox.js.map +1 -0
  262. package/dist/tools/browser-dialog.d.ts +67 -0
  263. package/dist/tools/browser-dialog.d.ts.map +1 -0
  264. package/dist/tools/browser-dialog.js +128 -0
  265. package/dist/tools/browser-dialog.js.map +1 -0
  266. package/dist/tools/browser-supervisor.d.ts +116 -0
  267. package/dist/tools/browser-supervisor.d.ts.map +1 -0
  268. package/dist/tools/browser-supervisor.js +282 -0
  269. package/dist/tools/browser-supervisor.js.map +1 -0
  270. package/dist/tools/browser-tool.d.ts +206 -0
  271. package/dist/tools/browser-tool.d.ts.map +1 -0
  272. package/dist/tools/browser-tool.js +726 -0
  273. package/dist/tools/browser-tool.js.map +1 -0
  274. package/dist/tools/checkpoint-manager.d.ts +67 -0
  275. package/dist/tools/checkpoint-manager.d.ts.map +1 -0
  276. package/dist/tools/checkpoint-manager.js +153 -0
  277. package/dist/tools/checkpoint-manager.js.map +1 -0
  278. package/dist/tools/child-agent-worker.d.ts +15 -0
  279. package/dist/tools/child-agent-worker.d.ts.map +1 -0
  280. package/dist/tools/child-agent-worker.js +212 -0
  281. package/dist/tools/child-agent-worker.js.map +1 -0
  282. package/dist/tools/code-execution.d.ts +56 -0
  283. package/dist/tools/code-execution.d.ts.map +1 -0
  284. package/dist/tools/code-execution.js +155 -0
  285. package/dist/tools/code-execution.js.map +1 -0
  286. package/dist/tools/computer-use-tool.d.ts +40 -0
  287. package/dist/tools/computer-use-tool.d.ts.map +1 -0
  288. package/dist/tools/computer-use-tool.js +194 -0
  289. package/dist/tools/computer-use-tool.js.map +1 -0
  290. package/dist/tools/credential-env-tools.d.ts +77 -0
  291. package/dist/tools/credential-env-tools.d.ts.map +1 -0
  292. package/dist/tools/credential-env-tools.js +171 -0
  293. package/dist/tools/credential-env-tools.js.map +1 -0
  294. package/dist/tools/credential-files.d.ts +78 -0
  295. package/dist/tools/credential-files.d.ts.map +1 -0
  296. package/dist/tools/credential-files.js +194 -0
  297. package/dist/tools/credential-files.js.map +1 -0
  298. package/dist/tools/cronjob-tools.d.ts +142 -0
  299. package/dist/tools/cronjob-tools.d.ts.map +1 -0
  300. package/dist/tools/cronjob-tools.js +407 -0
  301. package/dist/tools/cronjob-tools.js.map +1 -0
  302. package/dist/tools/daemon-pool.d.ts +70 -0
  303. package/dist/tools/daemon-pool.d.ts.map +1 -0
  304. package/dist/tools/daemon-pool.js +144 -0
  305. package/dist/tools/daemon-pool.js.map +1 -0
  306. package/dist/tools/debug-helpers.d.ts +118 -0
  307. package/dist/tools/debug-helpers.d.ts.map +1 -0
  308. package/dist/tools/debug-helpers.js +315 -0
  309. package/dist/tools/debug-helpers.js.map +1 -0
  310. package/dist/tools/delegate-tool.d.ts +109 -0
  311. package/dist/tools/delegate-tool.d.ts.map +1 -0
  312. package/dist/tools/delegate-tool.js +185 -0
  313. package/dist/tools/delegate-tool.js.map +1 -0
  314. package/dist/tools/delegation-live-log.d.ts +100 -0
  315. package/dist/tools/delegation-live-log.d.ts.map +1 -0
  316. package/dist/tools/delegation-live-log.js +258 -0
  317. package/dist/tools/delegation-live-log.js.map +1 -0
  318. package/dist/tools/delegation-state.d.ts +87 -0
  319. package/dist/tools/delegation-state.d.ts.map +1 -0
  320. package/dist/tools/delegation-state.js +278 -0
  321. package/dist/tools/delegation-state.js.map +1 -0
  322. package/dist/tools/delegation-system.d.ts +211 -0
  323. package/dist/tools/delegation-system.d.ts.map +1 -0
  324. package/dist/tools/delegation-system.js +592 -0
  325. package/dist/tools/delegation-system.js.map +1 -0
  326. package/dist/tools/desktop-ui.d.ts +148 -0
  327. package/dist/tools/desktop-ui.d.ts.map +1 -0
  328. package/dist/tools/desktop-ui.js +486 -0
  329. package/dist/tools/desktop-ui.js.map +1 -0
  330. package/dist/tools/discord-tool.d.ts +169 -0
  331. package/dist/tools/discord-tool.d.ts.map +1 -0
  332. package/dist/tools/discord-tool.js +174 -0
  333. package/dist/tools/discord-tool.js.map +1 -0
  334. package/dist/tools/docker-tool.d.ts +251 -0
  335. package/dist/tools/docker-tool.d.ts.map +1 -0
  336. package/dist/tools/docker-tool.js +476 -0
  337. package/dist/tools/docker-tool.js.map +1 -0
  338. package/dist/tools/feishu-tools.d.ts +109 -0
  339. package/dist/tools/feishu-tools.d.ts.map +1 -0
  340. package/dist/tools/feishu-tools.js +208 -0
  341. package/dist/tools/feishu-tools.js.map +1 -0
  342. package/dist/tools/file-operations.d.ts +136 -0
  343. package/dist/tools/file-operations.d.ts.map +1 -0
  344. package/dist/tools/file-operations.js +301 -0
  345. package/dist/tools/file-operations.js.map +1 -0
  346. package/dist/tools/homeassistant-tool.d.ts +99 -0
  347. package/dist/tools/homeassistant-tool.d.ts.map +1 -0
  348. package/dist/tools/homeassistant-tool.js +145 -0
  349. package/dist/tools/homeassistant-tool.js.map +1 -0
  350. package/dist/tools/image-video-tool.d.ts +88 -0
  351. package/dist/tools/image-video-tool.d.ts.map +1 -0
  352. package/dist/tools/image-video-tool.js +276 -0
  353. package/dist/tools/image-video-tool.js.map +1 -0
  354. package/dist/tools/infra-tools.d.ts +144 -0
  355. package/dist/tools/infra-tools.d.ts.map +1 -0
  356. package/dist/tools/infra-tools.js +253 -0
  357. package/dist/tools/infra-tools.js.map +1 -0
  358. package/dist/tools/interrupt-tool.d.ts +63 -0
  359. package/dist/tools/interrupt-tool.d.ts.map +1 -0
  360. package/dist/tools/interrupt-tool.js +103 -0
  361. package/dist/tools/interrupt-tool.js.map +1 -0
  362. package/dist/tools/kanban-cron-tools.d.ts +92 -0
  363. package/dist/tools/kanban-cron-tools.d.ts.map +1 -0
  364. package/dist/tools/kanban-cron-tools.js +197 -0
  365. package/dist/tools/kanban-cron-tools.js.map +1 -0
  366. package/dist/tools/kanban-tools.d.ts +158 -0
  367. package/dist/tools/kanban-tools.d.ts.map +1 -0
  368. package/dist/tools/kanban-tools.js +359 -0
  369. package/dist/tools/kanban-tools.js.map +1 -0
  370. package/dist/tools/lazy-deps.d.ts +53 -0
  371. package/dist/tools/lazy-deps.d.ts.map +1 -0
  372. package/dist/tools/lazy-deps.js +101 -0
  373. package/dist/tools/lazy-deps.js.map +1 -0
  374. package/dist/tools/managed-gateway.d.ts +122 -0
  375. package/dist/tools/managed-gateway.d.ts.map +1 -0
  376. package/dist/tools/managed-gateway.js +236 -0
  377. package/dist/tools/managed-gateway.js.map +1 -0
  378. package/dist/tools/mcp-client-tool.d.ts +86 -0
  379. package/dist/tools/mcp-client-tool.d.ts.map +1 -0
  380. package/dist/tools/mcp-client-tool.js +196 -0
  381. package/dist/tools/mcp-client-tool.js.map +1 -0
  382. package/dist/tools/memory-tool.d.ts +88 -0
  383. package/dist/tools/memory-tool.d.ts.map +1 -0
  384. package/dist/tools/memory-tool.js +181 -0
  385. package/dist/tools/memory-tool.js.map +1 -0
  386. package/dist/tools/memory-tools.d.ts +95 -0
  387. package/dist/tools/memory-tools.d.ts.map +1 -0
  388. package/dist/tools/memory-tools.js +235 -0
  389. package/dist/tools/memory-tools.js.map +1 -0
  390. package/dist/tools/messaging-tool.d.ts +127 -0
  391. package/dist/tools/messaging-tool.d.ts.map +1 -0
  392. package/dist/tools/messaging-tool.js +314 -0
  393. package/dist/tools/messaging-tool.js.map +1 -0
  394. package/dist/tools/messaging-tools.d.ts +168 -0
  395. package/dist/tools/messaging-tools.d.ts.map +1 -0
  396. package/dist/tools/messaging-tools.js +242 -0
  397. package/dist/tools/messaging-tools.js.map +1 -0
  398. package/dist/tools/microsoft-graph.d.ts +178 -0
  399. package/dist/tools/microsoft-graph.d.ts.map +1 -0
  400. package/dist/tools/microsoft-graph.js +207 -0
  401. package/dist/tools/microsoft-graph.js.map +1 -0
  402. package/dist/tools/modality/generic-caller.d.ts +43 -0
  403. package/dist/tools/modality/generic-caller.d.ts.map +1 -0
  404. package/dist/tools/modality/generic-caller.js +254 -0
  405. package/dist/tools/modality/generic-caller.js.map +1 -0
  406. package/dist/tools/modality/modality-catalog.d.ts +134 -0
  407. package/dist/tools/modality/modality-catalog.d.ts.map +1 -0
  408. package/dist/tools/modality/modality-catalog.js +444 -0
  409. package/dist/tools/modality/modality-catalog.js.map +1 -0
  410. package/dist/tools/modality/tool-router.d.ts +81 -0
  411. package/dist/tools/modality/tool-router.d.ts.map +1 -0
  412. package/dist/tools/modality/tool-router.js +84 -0
  413. package/dist/tools/modality/tool-router.js.map +1 -0
  414. package/dist/tools/neutts-synth.d.ts +59 -0
  415. package/dist/tools/neutts-synth.d.ts.map +1 -0
  416. package/dist/tools/neutts-synth.js +146 -0
  417. package/dist/tools/neutts-synth.js.map +1 -0
  418. package/dist/tools/openrouter-client.d.ts +91 -0
  419. package/dist/tools/openrouter-client.d.ts.map +1 -0
  420. package/dist/tools/openrouter-client.js +159 -0
  421. package/dist/tools/openrouter-client.js.map +1 -0
  422. package/dist/tools/process-registry.d.ts +84 -0
  423. package/dist/tools/process-registry.d.ts.map +1 -0
  424. package/dist/tools/process-registry.js +172 -0
  425. package/dist/tools/process-registry.js.map +1 -0
  426. package/dist/tools/project-tools.d.ts +132 -0
  427. package/dist/tools/project-tools.d.ts.map +1 -0
  428. package/dist/tools/project-tools.js +306 -0
  429. package/dist/tools/project-tools.js.map +1 -0
  430. package/dist/tools/read-extract.d.ts +80 -0
  431. package/dist/tools/read-extract.d.ts.map +1 -0
  432. package/dist/tools/read-extract.js +272 -0
  433. package/dist/tools/read-extract.js.map +1 -0
  434. package/dist/tools/registry.d.ts.map +1 -1
  435. package/dist/tools/registry.js +1797 -0
  436. package/dist/tools/registry.js.map +1 -1
  437. package/dist/tools/schema-binary-tools.d.ts +71 -0
  438. package/dist/tools/schema-binary-tools.d.ts.map +1 -0
  439. package/dist/tools/schema-binary-tools.js +171 -0
  440. package/dist/tools/schema-binary-tools.js.map +1 -0
  441. package/dist/tools/security-deep.d.ts +81 -0
  442. package/dist/tools/security-deep.d.ts.map +1 -0
  443. package/dist/tools/security-deep.js +207 -0
  444. package/dist/tools/security-deep.js.map +1 -0
  445. package/dist/tools/security-tools.d.ts +107 -0
  446. package/dist/tools/security-tools.d.ts.map +1 -0
  447. package/dist/tools/security-tools.js +264 -0
  448. package/dist/tools/security-tools.js.map +1 -0
  449. package/dist/tools/send-message-tool.d.ts +78 -0
  450. package/dist/tools/send-message-tool.d.ts.map +1 -0
  451. package/dist/tools/send-message-tool.js +254 -0
  452. package/dist/tools/send-message-tool.js.map +1 -0
  453. package/dist/tools/session-tools.d.ts +173 -0
  454. package/dist/tools/session-tools.d.ts.map +1 -0
  455. package/dist/tools/session-tools.js +362 -0
  456. package/dist/tools/session-tools.js.map +1 -0
  457. package/dist/tools/skill-metadata.d.ts +101 -0
  458. package/dist/tools/skill-metadata.d.ts.map +1 -0
  459. package/dist/tools/skill-metadata.js +206 -0
  460. package/dist/tools/skill-metadata.js.map +1 -0
  461. package/dist/tools/skill-tool.d.ts +16 -1
  462. package/dist/tools/skill-tool.d.ts.map +1 -1
  463. package/dist/tools/skill-tool.js +182 -4
  464. package/dist/tools/skill-tool.js.map +1 -1
  465. package/dist/tools/skills-hub.d.ts +100 -0
  466. package/dist/tools/skills-hub.d.ts.map +1 -0
  467. package/dist/tools/skills-hub.js +292 -0
  468. package/dist/tools/skills-hub.js.map +1 -0
  469. package/dist/tools/skills-sync-client.d.ts +124 -0
  470. package/dist/tools/skills-sync-client.d.ts.map +1 -0
  471. package/dist/tools/skills-sync-client.js +226 -0
  472. package/dist/tools/skills-sync-client.js.map +1 -0
  473. package/dist/tools/skills-sync.d.ts +67 -0
  474. package/dist/tools/skills-sync.d.ts.map +1 -0
  475. package/dist/tools/skills-sync.js +200 -0
  476. package/dist/tools/skills-sync.js.map +1 -0
  477. package/dist/tools/ssh-tool.d.ts +130 -0
  478. package/dist/tools/ssh-tool.d.ts.map +1 -0
  479. package/dist/tools/ssh-tool.js +328 -0
  480. package/dist/tools/ssh-tool.js.map +1 -0
  481. package/dist/tools/subagent-spawner.d.ts +143 -0
  482. package/dist/tools/subagent-spawner.d.ts.map +1 -0
  483. package/dist/tools/subagent-spawner.js +335 -0
  484. package/dist/tools/subagent-spawner.js.map +1 -0
  485. package/dist/tools/terminal-tool.d.ts +109 -0
  486. package/dist/tools/terminal-tool.d.ts.map +1 -0
  487. package/dist/tools/terminal-tool.js +246 -0
  488. package/dist/tools/terminal-tool.js.map +1 -0
  489. package/dist/tools/todo-tool.d.ts +46 -0
  490. package/dist/tools/todo-tool.d.ts.map +1 -0
  491. package/dist/tools/todo-tool.js +109 -0
  492. package/dist/tools/todo-tool.js.map +1 -0
  493. package/dist/tools/tool-backend-helpers.d.ts +72 -0
  494. package/dist/tools/tool-backend-helpers.d.ts.map +1 -0
  495. package/dist/tools/tool-backend-helpers.js +143 -0
  496. package/dist/tools/tool-backend-helpers.js.map +1 -0
  497. package/dist/tools/tool-output-limits.d.ts +49 -0
  498. package/dist/tools/tool-output-limits.d.ts.map +1 -0
  499. package/dist/tools/tool-output-limits.js +161 -0
  500. package/dist/tools/tool-output-limits.js.map +1 -0
  501. package/dist/tools/tool-result-storage.d.ts +72 -0
  502. package/dist/tools/tool-result-storage.d.ts.map +1 -0
  503. package/dist/tools/tool-result-storage.js +137 -0
  504. package/dist/tools/tool-result-storage.js.map +1 -0
  505. package/dist/tools/toolsets.d.ts.map +1 -1
  506. package/dist/tools/toolsets.js +89 -11
  507. package/dist/tools/toolsets.js.map +1 -1
  508. package/dist/tools/tts-streaming.d.ts +57 -0
  509. package/dist/tools/tts-streaming.d.ts.map +1 -0
  510. package/dist/tools/tts-streaming.js +182 -0
  511. package/dist/tools/tts-streaming.js.map +1 -0
  512. package/dist/tools/tts-text-normalize.d.ts +55 -0
  513. package/dist/tools/tts-text-normalize.d.ts.map +1 -0
  514. package/dist/tools/tts-text-normalize.js +253 -0
  515. package/dist/tools/tts-text-normalize.js.map +1 -0
  516. package/dist/tools/tts-tool.d.ts +91 -0
  517. package/dist/tools/tts-tool.d.ts.map +1 -0
  518. package/dist/tools/tts-tool.js +406 -0
  519. package/dist/tools/tts-tool.js.map +1 -0
  520. package/dist/tools/utility-tools.d.ts +110 -0
  521. package/dist/tools/utility-tools.d.ts.map +1 -0
  522. package/dist/tools/utility-tools.js +192 -0
  523. package/dist/tools/utility-tools.js.map +1 -0
  524. package/dist/tools/video-generation.d.ts +86 -0
  525. package/dist/tools/video-generation.d.ts.map +1 -0
  526. package/dist/tools/video-generation.js +171 -0
  527. package/dist/tools/video-generation.js.map +1 -0
  528. package/dist/tools/vision-tools.d.ts +141 -0
  529. package/dist/tools/vision-tools.d.ts.map +1 -0
  530. package/dist/tools/vision-tools.js +203 -0
  531. package/dist/tools/vision-tools.js.map +1 -0
  532. package/dist/tools/voice-mode.d.ts +88 -0
  533. package/dist/tools/voice-mode.d.ts.map +1 -0
  534. package/dist/tools/voice-mode.js +189 -0
  535. package/dist/tools/voice-mode.js.map +1 -0
  536. package/dist/tools/wake-word.d.ts +69 -0
  537. package/dist/tools/wake-word.d.ts.map +1 -0
  538. package/dist/tools/wake-word.js +123 -0
  539. package/dist/tools/wake-word.js.map +1 -0
  540. package/dist/tools/write-approval.d.ts +88 -0
  541. package/dist/tools/write-approval.d.ts.map +1 -0
  542. package/dist/tools/write-approval.js +194 -0
  543. package/dist/tools/write-approval.js.map +1 -0
  544. package/dist/utils/shell-detection.d.ts +124 -0
  545. package/dist/utils/shell-detection.d.ts.map +1 -0
  546. package/dist/utils/shell-detection.js +305 -0
  547. package/dist/utils/shell-detection.js.map +1 -0
  548. package/dist/utils/windows-paths.d.ts +185 -0
  549. package/dist/utils/windows-paths.d.ts.map +1 -0
  550. package/dist/utils/windows-paths.js +472 -0
  551. package/dist/utils/windows-paths.js.map +1 -0
  552. package/dist/web-dashboard/chat-console.d.ts +23 -0
  553. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  554. package/dist/web-dashboard/chat-console.js +9 -0
  555. package/dist/web-dashboard/chat-console.js.map +1 -1
  556. package/dist/web-dashboard/server.d.ts.map +1 -1
  557. package/dist/web-dashboard/server.js +41 -0
  558. package/dist/web-dashboard/server.js.map +1 -1
  559. package/dist/web-dashboard/src/types.d.ts +4 -0
  560. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  561. package/package.json +3 -2
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: a11y-audit
3
+ description: Audit web applications for accessibility (WCAG 2.1 AA compliance): check color contrast, keyboard navigation, screen-reader compatibility, ARIA attributes, and semantic HTML. Use when the goal asks to audit, fix, or improve accessibility.
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # a11y-audit
8
+
9
+ Audit web applications for accessibility (WCAG 2.1 AA compliance): check color contrast, keyboard navigation, screen-reader compatibility, ARIA attributes, and semantic HTML. Use when the goal asks to audit, fix, or improve accessibility.
10
+
11
+ ## Goal pattern
12
+
13
+ accessibility a11y wcag audit screen reader keyboard nav aria contrast wcag
14
+
15
+ ## Parameters
16
+
17
+ - scope (choice [default: full]): Audit scope
18
+
19
+ ## Steps
20
+
21
+ 1. [analyst] Scan the codebase for accessibility issues: run automated tools (axe-core, pa11y, lighthouse) or inspect JSX for missing alt text, labels, ARIA roles, and semantic landmarks.
22
+
23
+ 2. [analyst] Categorize issues by severity: critical (blocks users), serious (hard to use), moderate (annoying), minor (cosmetic). Map to WCAG success criteria. (after: step-1)
24
+
25
+ 3. [analyst] Fix critical and serious issues: add missing alt text, labels, ARIA attributes, keyboard handlers, focus management, and color contrast adjustments. (after: step-2)
26
+
27
+ 4. [analyst] Test fixes: verify keyboard-only navigation, screen-reader output, and color contrast ratios. Re-run automated scanner. (after: step-3)
28
+
29
+ 5. [analyst] Write an accessibility report: WCAG 2.1 AA conformance status, remaining issues by severity, and an accessibility statement for the project. (after: step-4)
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: api-call
3
+ description: Make API calls with authentication, retry logic, and response parsing
4
+ runtime: node
5
+ required_environment_variables:
6
+ - API_BASE_URL
7
+ tags:
8
+ - api
9
+ - http
10
+ - integration
11
+ parameters:
12
+ - name: endpoint
13
+ description: API endpoint path (e.g., /users, /posts)
14
+ required: true
15
+ type: string
16
+ - name: method
17
+ description: HTTP method (GET, POST, PUT, DELETE)
18
+ required: false
19
+ type: string
20
+ default: GET
21
+ - name: data
22
+ description: JSON data for POST/PUT requests
23
+ required: false
24
+ type: string
25
+ - name: headers
26
+ description: Additional HTTP headers as JSON
27
+ required: false
28
+ type: string
29
+ ---
30
+
31
+ # API Call Skill
32
+
33
+ Make API calls with authentication, retry logic, and response parsing. This skill demonstrates the execution engine's ability to run Node.js scripts.
34
+
35
+ ## How It Works
36
+
37
+ 1. Receives endpoint, method, and optional data/headers
38
+ 2. Makes HTTP request to API_BASE_URL + endpoint
39
+ 3. Handles authentication via API_KEY environment variable
40
+ 4. Implements retry logic with exponential backoff
41
+ 5. Returns structured response
42
+
43
+ ## Usage
44
+
45
+ When the user needs to make an API call, execute this skill with the endpoint and method.
46
+
47
+ ## Security
48
+
49
+ - API keys are injected via environment variables
50
+ - Base URL is configured via API_BASE_URL
51
+ - Retry logic prevents excessive requests
@@ -0,0 +1,187 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * API Call Skill — Demonstrates Node.js skill execution.
4
+ *
5
+ * This script is executed by the skill-executor.ts module when the agent
6
+ * calls: skill tool → execute: { skill: "api-call", args: { endpoint: "/users" } }
7
+ *
8
+ * The executor:
9
+ * 1. Detects runtime: node (from shebang or frontmatter)
10
+ * 2. Parses required_environment_variables: [API_BASE_URL, API_KEY]
11
+ * 3. Injects API_BASE_URL and API_KEY from process.env (if registered)
12
+ * 4. Spawns: node /tmp/skill-exec/abc123/call.js
13
+ * 5. Captures stdout/stderr/exit code
14
+ */
15
+
16
+ const https = require('https');
17
+ const http = require('http');
18
+ const url = require('url');
19
+
20
+ // Parse command-line arguments
21
+ function parseArgs(args) {
22
+ const parsed = {
23
+ endpoint: null,
24
+ method: 'GET',
25
+ data: null,
26
+ headers: {}
27
+ };
28
+
29
+ for (let i = 0; i < args.length; i++) {
30
+ switch (args[i]) {
31
+ case '--endpoint':
32
+ case '-e':
33
+ parsed.endpoint = args[++i];
34
+ break;
35
+ case '--method':
36
+ case '-m':
37
+ parsed.method = args[++i].toUpperCase();
38
+ break;
39
+ case '--data':
40
+ case '-d':
41
+ parsed.data = args[++i];
42
+ break;
43
+ case '--headers':
44
+ case '-H':
45
+ try {
46
+ parsed.headers = JSON.parse(args[++i]);
47
+ } catch (e) {
48
+ console.error(`Error: Invalid JSON for headers: ${args[i]}`, process.stderr);
49
+ process.exit(1);
50
+ }
51
+ break;
52
+ }
53
+ }
54
+
55
+ return parsed;
56
+ }
57
+
58
+ // Make HTTP request with retry logic
59
+ async function makeRequest(options, retries = 3, delay = 1000) {
60
+ for (let attempt = 1; attempt <= retries; attempt++) {
61
+ try {
62
+ const response = await executeRequest(options);
63
+ return response;
64
+ } catch (error) {
65
+ if (attempt === retries) {
66
+ throw error;
67
+ }
68
+
69
+ console.error(`Attempt ${attempt} failed: ${error.message}. Retrying in ${delay}ms...`);
70
+ await new Promise(resolve => setTimeout(resolve, delay));
71
+ delay *= 2; // Exponential backoff
72
+ }
73
+ }
74
+ }
75
+
76
+ function executeRequest(options) {
77
+ return new Promise((resolve, reject) => {
78
+ const parsedUrl = new url.URL(options.url);
79
+ const isHttps = parsedUrl.protocol === 'https:';
80
+ const client = isHttps ? https : http;
81
+
82
+ const reqOptions = {
83
+ hostname: parsedUrl.hostname,
84
+ port: parsedUrl.port || (isHttps ? 443 : 80),
85
+ path: parsedUrl.pathname + parsedUrl.search,
86
+ method: options.method,
87
+ headers: {
88
+ 'Content-Type': 'application/json',
89
+ ...options.headers
90
+ }
91
+ };
92
+
93
+ const req = client.request(reqOptions, (res) => {
94
+ let data = '';
95
+
96
+ res.on('data', (chunk) => {
97
+ data += chunk;
98
+ });
99
+
100
+ res.on('end', () => {
101
+ try {
102
+ const jsonData = JSON.parse(data);
103
+ resolve({
104
+ status: res.statusCode,
105
+ headers: res.headers,
106
+ data: jsonData
107
+ });
108
+ } catch {
109
+ resolve({
110
+ status: res.statusCode,
111
+ headers: res.headers,
112
+ data: data
113
+ });
114
+ }
115
+ });
116
+ });
117
+
118
+ req.on('error', reject);
119
+ req.setTimeout(10000, () => {
120
+ req.destroy();
121
+ reject(new Error('Request timeout'));
122
+ });
123
+
124
+ if (options.body) {
125
+ req.write(options.body);
126
+ }
127
+
128
+ req.end();
129
+ });
130
+ }
131
+
132
+ // Main execution
133
+ async function main() {
134
+ const args = parseArgs(process.argv.slice(2));
135
+
136
+ if (!args.endpoint) {
137
+ console.error('Error: --endpoint is required');
138
+ console.error('Usage: node call.js --endpoint /users --method GET');
139
+ process.exit(1);
140
+ }
141
+
142
+ const baseUrl = process.env.API_BASE_URL;
143
+ if (!baseUrl) {
144
+ console.error('Error: API_BASE_URL environment variable is not set');
145
+ console.error('Set it with: export API_BASE_URL=https://api.example.com');
146
+ process.exit(1);
147
+ }
148
+
149
+ const apiKey = process.env.API_KEY;
150
+ if (apiKey) {
151
+ args.headers['Authorization'] = `Bearer ${apiKey}`;
152
+ }
153
+
154
+ const fullUrl = baseUrl + args.endpoint;
155
+ console.log(`Making ${args.method} request to: ${fullUrl}`);
156
+
157
+ if (args.data) {
158
+ console.log(`Request body: ${args.data}`);
159
+ }
160
+
161
+ try {
162
+ const response = await makeRequest({
163
+ url: fullUrl,
164
+ method: args.method,
165
+ body: args.data,
166
+ headers: args.headers
167
+ });
168
+
169
+ console.log(`\n✅ Request successful!`);
170
+ console.log(`📊 Status: ${response.status}`);
171
+ console.log(`\nResponse:`);
172
+ console.log(JSON.stringify(response.data, null, 2));
173
+
174
+ // Return structured result
175
+ const result = {
176
+ success: true,
177
+ status: response.status,
178
+ data: response.data
179
+ };
180
+ console.log(`\n${JSON.stringify(result, null, 2)}`);
181
+ } catch (error) {
182
+ console.error(`\n❌ Request failed: ${error.message}`);
183
+ process.exit(1);
184
+ }
185
+ }
186
+
187
+ main();
@@ -0,0 +1,187 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * API Call Skill — Demonstrates Node.js skill execution.
4
+ *
5
+ * This script is executed by the skill-executor.ts module when the agent
6
+ * calls: skill tool → execute: { skill: "api-call", args: { endpoint: "/users" } }
7
+ *
8
+ * The executor:
9
+ * 1. Detects runtime: node (from shebang or frontmatter)
10
+ * 2. Parses required_environment_variables: [API_BASE_URL, API_KEY]
11
+ * 3. Injects API_BASE_URL and API_KEY from process.env (if registered)
12
+ * 4. Spawns: node /tmp/skill-exec/abc123/call.mjs
13
+ * 5. Captures stdout/stderr/exit code
14
+ */
15
+
16
+ import https from 'https';
17
+ import http from 'http';
18
+ import { URL } from 'url';
19
+
20
+ // Parse command-line arguments
21
+ function parseArgs(args) {
22
+ const parsed = {
23
+ endpoint: null,
24
+ method: 'GET',
25
+ data: null,
26
+ headers: {}
27
+ };
28
+
29
+ for (let i = 0; i < args.length; i++) {
30
+ switch (args[i]) {
31
+ case '--endpoint':
32
+ case '-e':
33
+ parsed.endpoint = args[++i];
34
+ break;
35
+ case '--method':
36
+ case '-m':
37
+ parsed.method = args[++i].toUpperCase();
38
+ break;
39
+ case '--data':
40
+ case '-d':
41
+ parsed.data = args[++i];
42
+ break;
43
+ case '--headers':
44
+ case '-H':
45
+ try {
46
+ parsed.headers = JSON.parse(args[++i]);
47
+ } catch (e) {
48
+ console.error(`Error: Invalid JSON for headers: ${args[i]}`);
49
+ process.exit(1);
50
+ }
51
+ break;
52
+ }
53
+ }
54
+
55
+ return parsed;
56
+ }
57
+
58
+ // Make HTTP request with retry logic
59
+ async function makeRequest(options, retries = 3, delay = 1000) {
60
+ for (let attempt = 1; attempt <= retries; attempt++) {
61
+ try {
62
+ const response = await executeRequest(options);
63
+ return response;
64
+ } catch (error) {
65
+ if (attempt === retries) {
66
+ throw error;
67
+ }
68
+
69
+ console.error(`Attempt ${attempt} failed: ${error.message}. Retrying in ${delay}ms...`);
70
+ await new Promise(resolve => setTimeout(resolve, delay));
71
+ delay *= 2; // Exponential backoff
72
+ }
73
+ }
74
+ }
75
+
76
+ function executeRequest(options) {
77
+ return new Promise((resolve, reject) => {
78
+ const parsedUrl = new URL(options.url);
79
+ const isHttps = parsedUrl.protocol === 'https:';
80
+ const client = isHttps ? https : http;
81
+
82
+ const reqOptions = {
83
+ hostname: parsedUrl.hostname,
84
+ port: parsedUrl.port || (isHttps ? 443 : 80),
85
+ path: parsedUrl.pathname + parsedUrl.search,
86
+ method: options.method,
87
+ headers: {
88
+ 'Content-Type': 'application/json',
89
+ ...options.headers
90
+ }
91
+ };
92
+
93
+ const req = client.request(reqOptions, (res) => {
94
+ let data = '';
95
+
96
+ res.on('data', (chunk) => {
97
+ data += chunk;
98
+ });
99
+
100
+ res.on('end', () => {
101
+ try {
102
+ const jsonData = JSON.parse(data);
103
+ resolve({
104
+ status: res.statusCode,
105
+ headers: res.headers,
106
+ data: jsonData
107
+ });
108
+ } catch {
109
+ resolve({
110
+ status: res.statusCode,
111
+ headers: res.headers,
112
+ data: data
113
+ });
114
+ }
115
+ });
116
+ });
117
+
118
+ req.on('error', reject);
119
+ req.setTimeout(10000, () => {
120
+ req.destroy();
121
+ reject(new Error('Request timeout'));
122
+ });
123
+
124
+ if (options.body) {
125
+ req.write(options.body);
126
+ }
127
+
128
+ req.end();
129
+ });
130
+ }
131
+
132
+ // Main execution
133
+ async function main() {
134
+ const args = parseArgs(process.argv.slice(2));
135
+
136
+ if (!args.endpoint) {
137
+ console.error('Error: --endpoint is required');
138
+ console.error('Usage: node call.mjs --endpoint /users --method GET');
139
+ process.exit(1);
140
+ }
141
+
142
+ const baseUrl = process.env.API_BASE_URL;
143
+ if (!baseUrl) {
144
+ console.error('Error: API_BASE_URL environment variable is not set');
145
+ console.error('Set it with: export API_BASE_URL=https://api.example.com');
146
+ process.exit(1);
147
+ }
148
+
149
+ const apiKey = process.env.API_KEY;
150
+ if (apiKey) {
151
+ args.headers['Authorization'] = `Bearer ${apiKey}`;
152
+ }
153
+
154
+ const fullUrl = baseUrl + args.endpoint;
155
+ console.log(`Making ${args.method} request to: ${fullUrl}`);
156
+
157
+ if (args.data) {
158
+ console.log(`Request body: ${args.data}`);
159
+ }
160
+
161
+ try {
162
+ const response = await makeRequest({
163
+ url: fullUrl,
164
+ method: args.method,
165
+ body: args.data,
166
+ headers: args.headers
167
+ });
168
+
169
+ console.log(`\n✅ Request successful!`);
170
+ console.log(`📊 Status: ${response.status}`);
171
+ console.log(`\nResponse:`);
172
+ console.log(JSON.stringify(response.data, null, 2));
173
+
174
+ // Return structured result
175
+ const result = {
176
+ success: true,
177
+ status: response.status,
178
+ data: response.data
179
+ };
180
+ console.log(`\n${JSON.stringify(result, null, 2)}`);
181
+ } catch (error) {
182
+ console.error(`\n❌ Request failed: ${error.message}`);
183
+ process.exit(1);
184
+ }
185
+ }
186
+
187
+ main();
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: api-design
3
+ description: Design and implement a REST API: gather requirements, design endpoints with proper HTTP methods/status codes, produce an OpenAPI spec, implement routes, and write integration tests. Use when the goal asks to create an API, design endpoints, build a REST service, or scaffold an HTTP backend.
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # api-design
8
+
9
+ Design and implement a REST API: gather requirements, design endpoints with proper HTTP methods/status codes, produce an OpenAPI spec, implement routes, and write integration tests. Use when the goal asks to create an API, design endpoints, build a REST service, or scaffold an HTTP backend.
10
+
11
+ ## Goal pattern
12
+
13
+ API design REST endpoint route HTTP backend server create implement OpenAPI swagger
14
+
15
+ ## Parameters
16
+
17
+ - framework (choice [default: auto]): HTTP framework (auto-detected from package.json if not specified)
18
+ - authType (choice [default: api-key]): Authentication method (default: API key)
19
+
20
+ ## Steps
21
+
22
+ 1. [context-gatherer] Gather requirements with evidence:
23
+ - Read the project manifest (package.json / pyproject.toml) for the framework (Express, Fastify, Hono, Flask, FastAPI)
24
+ - Read existing route files if any — note the patterns (file structure, middleware, error handling)
25
+ - Identify the resources (nouns that become endpoints) and operations (CRUD + custom actions)
26
+ - Note auth requirements (API keys, JWT, session), rate limiting needs, and pagination strategy
27
+ Produce: a resource list, an operation-per-resource matrix, and the framework conventions to follow.
28
+
29
+ 2. [planner] Design the endpoint contract:
30
+ - For each resource: list endpoints with HTTP method, path, request/response schema, status codes
31
+ - Follow REST conventions: nouns for resources, proper HTTP verbs (GET=read, POST=create, PUT/PATCH=update, DELETE=remove)
32
+ - Define error response shape (consistent across all endpoints)
33
+ - Plan pagination (cursor-based or offset), filtering, and sorting
34
+ - Decide auth middleware placement and error handler strategy
35
+ Produce an endpoint matrix table. (after: step-0)
36
+
37
+ 3. [writer] Write the OpenAPI 3.0 spec (openapi.yaml or openapi.json):
38
+ - paths: every endpoint with method, parameters, request body schema, response schemas (200/201/400/401/404/500)
39
+ - components/schemas: reusable types for request/response bodies
40
+ - security: define the auth scheme (Bearer token, API key, etc.)
41
+ - Validate the spec: Run `npx swagger-cli validate openapi.yaml` (install if needed)
42
+ The spec is the contract — implementation must match it exactly. (after: step-1)
43
+
44
+ 4. [runner] Implement the routes following the framework conventions and the OpenAPI spec:
45
+ - Create route files (e.g. src/routes/users.ts, src/routes/orders.ts)
46
+ - Apply middleware: auth, validation (request body against schema), error handling
47
+ - Use the status codes from the spec (201 for create, 204 for delete, 400 for validation errors)
48
+ - Wire routes into the app entry point
49
+ Each route handler should validate input, call the service layer, and return the spec-defined response shape. (after: step-2)
50
+
51
+ 5. [tester] Write and run integration tests that verify the contract:
52
+ - For each endpoint: test the happy path, error paths (400, 401, 404), and edge cases
53
+ - Verify response shapes match the OpenAPI spec (status code + body structure)
54
+ - Test auth: unauthenticated requests get 401, unauthorized access gets 403
55
+ - Run the tests: Run `npm test` or equivalent
56
+ The tests are the proof that implementation matches the spec. (after: step-3)
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: api-testing
3
+ description: Test REST and GraphQL APIs: write automated tests for endpoints, validate status codes, response schemas, auth flows, and edge cases. Use when the goal asks to test, validate, or verify an API.
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # api-testing
8
+
9
+ Test REST and GraphQL APIs: write automated tests for endpoints, validate status codes, response schemas, auth flows, and edge cases. Use when the goal asks to test, validate, or verify an API.
10
+
11
+ ## Goal pattern
12
+
13
+ test api endpoint rest graphql http request validate response status auth
14
+
15
+ ## Parameters
16
+
17
+ - framework (choice [default: auto]): Test framework
18
+
19
+ ## Steps
20
+
21
+ 1. [analyst] Discover endpoints: parse OpenAPI/Swagger specs, route files, or scan source code for route definitions. List all endpoints with methods, paths, and expected parameters.
22
+
23
+ 2. [analyst] Group tests by endpoint: happy path, error cases (400, 401, 403, 404, 500), boundary values, and auth scenarios (unauthenticated, expired token, insufficient scope). (after: step-1)
24
+
25
+ 3. [analyst] Write test files using the project test framework (vitest, jest, pytest, go test). Include setup for test DB, mocks for external services, and fixtures for request bodies. (after: step-2)
26
+
27
+ 4. [analyst] Run tests and fix failures iteratively. Cover edge cases: empty bodies, invalid JSON, missing required fields, SQL-injection payloads in params. (after: step-3)
28
+
29
+ 5. [analyst] Generate coverage report: total endpoints tested, pass/fail counts, response-time assertions, and schema validation results. (after: step-4)
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: api-versioning
3
+ description: Implement API versioning: URL path, header, or content-type versioning with deprecation notices and migration guides. Use when the goal asks to version an API, handle breaking changes, or add deprecation notices.
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # api-versioning
8
+
9
+ Implement API versioning: URL path, header, or content-type versioning with deprecation notices and migration guides. Use when the goal asks to version an API, handle breaking changes, or add deprecation notices.
10
+
11
+ ## Goal pattern
12
+
13
+ api version versioning deprecation breaking change migration url header
14
+
15
+ ## Parameters
16
+
17
+ - strategy (choice [default: auto]): Versioning strategy
18
+
19
+ ## Steps
20
+
21
+ 1. [analyst] Choose versioning strategy: URL path (/v1/), header (API-Version), or content-type negotiation. Define version lifecycle.
22
+
23
+ 2. [analyst] Restructure routes: move existing endpoints under a version prefix. Set up version-aware middleware. (after: step-0)
24
+
25
+ 3. [analyst] Add deprecation support: implement Sunset header, deprecation warnings in responses, and version negotiation. (after: step-1)
26
+
27
+ 4. [analyst] Write migration guides: document breaking changes between versions, provide code examples for upgrades. (after: step-2)
28
+
29
+ 5. [analyst] Test version coexistence: verify v1 and v2 endpoints work simultaneously, check deprecation headers appear. (after: step-3)
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: auth-setup
3
+ description: Implement authentication and authorization: OAuth2 (Google, GitHub), magic links, JWT sessions, role-based access control. Use when the goal asks to add login, signup, auth, SSO, or RBAC to an app.
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # auth-setup
8
+
9
+ Implement authentication and authorization: OAuth2 (Google, GitHub), magic links, JWT sessions, role-based access control. Use when the goal asks to add login, signup, auth, SSO, or RBAC to an app.
10
+
11
+ ## Goal pattern
12
+
13
+ auth login signup oauth sso jwt session rbac role access control authentication authorization magic link google github
14
+
15
+ ## Parameters
16
+
17
+ - strategy (choice [default: auto]): Auth strategy
18
+
19
+ ## Steps
20
+
21
+ 1. [analyst] Choose auth strategy: OAuth2 providers, magic links, social login, or self-hosted. Install the auth library (NextAuth, Lucia, Passport, etc.).
22
+
23
+ 2. [analyst] Configure providers: register OAuth apps with Google/GitHub/etc., set callback URLs, configure scopes, and store credentials securely. (after: step-1)
24
+
25
+ 3. [analyst] Implement user flows: signup, login, logout, password reset, email verification. Handle session creation and JWT token refresh. (after: step-2)
26
+
27
+ 4. [analyst] Add RBAC: define roles (admin, editor, viewer), protect routes with middleware, and handle permission checks in the UI. (after: step-3)
28
+
29
+ 5. [analyst] Test and harden: verify CSRF protection, rate-limit login attempts, test role escalation scenarios, and audit token expiration. (after: step-4)
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: backup-recovery
3
+ description: Design and implement backup and disaster recovery: automated database backups, point-in-time recovery, S3 snapshots, and runbook documentation. Use when the goal asks to set up backups, recovery, or disaster resilience.
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # backup-recovery
8
+
9
+ Design and implement backup and disaster recovery: automated database backups, point-in-time recovery, S3 snapshots, and runbook documentation. Use when the goal asks to set up backups, recovery, or disaster resilience.
10
+
11
+ ## Goal pattern
12
+
13
+ backup recovery disaster recovery database backup restore snapshots runbook resilience
14
+
15
+ ## Parameters
16
+
17
+ - scope (choice [default: full-stack]): Backup scope
18
+
19
+ ## Steps
20
+
21
+ 1. [analyst] Audit current state: identify all data stores (DB, file storage, cache), their backup capabilities, and current RPO/RTO targets.
22
+
23
+ 2. [analyst] Design backup strategy: define frequency (continuous, hourly, daily), retention policy, storage location (S3, GCS, separate region), and encryption. (after: step-1)
24
+
25
+ 3. [analyst] Implement automated backups: write cron jobs or scheduled tasks for database dumps, file snapshots, and configuration backups. Verify checksums. (after: step-2)
26
+
27
+ 4. [analyst] Test recovery: perform a full restore to an isolated environment, verify data integrity, measure recovery time. (after: step-3)
28
+
29
+ 5. [analyst] Write a disaster recovery runbook: step-by-step recovery procedures, contact list, escalation path, and post-mortem template. (after: step-4)
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: backup-strategy
3
+ description: Design and implement backup strategies. Use when the goal asks to set up backups, disaster recovery, or data protection.
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # backup-strategy
8
+
9
+ Design and implement backup strategies. Use when the goal asks to set up backups, disaster recovery, or data protection.
10
+
11
+ ## Goal pattern
12
+
13
+ backup disaster recovery retention snapshot restore data protection
14
+
15
+ ## Parameters
16
+
17
+ - strategy (choice [default: incremental]): Backup strategy
18
+
19
+ ## Steps
20
+
21
+ 1. [analyst] Define RPO (Recovery Point Objective) and RTO (Recovery Time Objective). Identify critical data.
22
+
23
+ 2. [analyst] Implement backup strategy: full, incremental, differential. Choose storage (S3, GCS, tape). (after: step-0)
24
+
25
+ 3. [analyst] Add encryption, compression, and versioning. Implement retention policies. (after: step-1)
26
+
27
+ 4. [analyst] Test restore procedures regularly. Document runbooks and verify backups. (after: step-2)
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: blob-storage
3
+ description: Set up blob/file storage: S3, Cloudflare R2, or Azure Blob for uploads, assets, and backups. Use when the goal asks to add file uploads, cloud storage, or asset hosting.
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # blob-storage
8
+
9
+ Set up blob/file storage: S3, Cloudflare R2, or Azure Blob for uploads, assets, and backups. Use when the goal asks to add file uploads, cloud storage, or asset hosting.
10
+
11
+ ## Goal pattern
12
+
13
+ blob storage s3 cloudflare r2 azure upload file asset hosting bucket
14
+
15
+ ## Parameters
16
+
17
+ - provider (choice [default: auto]): Storage provider
18
+
19
+ ## Steps
20
+
21
+ 1. [analyst] Choose the storage provider: S3, R2, Azure Blob, or MinIO. Set up the bucket/container with appropriate permissions.
22
+
23
+ 2. [analyst] Implement upload: create presigned URLs for client-side upload, or server-side upload with streaming. (after: step-0)
24
+
25
+ 3. [analyst] Add access control: implement signed URLs for read, bucket policies for public assets, and ACL for private files. (after: step-1)
26
+
27
+ 4. [analyst] Handle processing: add image resizing on upload, virus scanning, and metadata extraction. (after: step-2)
28
+
29
+ 5. [analyst] Test and optimize: verify uploads work, test file serving, add CDN caching, and monitor storage costs. (after: step-3)