@revealui/ai 0.1.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 (397) hide show
  1. package/LICENSE +22 -0
  2. package/LICENSE.commercial +112 -0
  3. package/README.md +314 -0
  4. package/dist/a2a/card.d.ts +26 -0
  5. package/dist/a2a/card.d.ts.map +1 -0
  6. package/dist/a2a/card.js +173 -0
  7. package/dist/a2a/handler.d.ts +26 -0
  8. package/dist/a2a/handler.d.ts.map +1 -0
  9. package/dist/a2a/handler.js +170 -0
  10. package/dist/a2a/index.d.ts +10 -0
  11. package/dist/a2a/index.d.ts.map +1 -0
  12. package/dist/a2a/index.js +9 -0
  13. package/dist/a2a/task-store.d.ts +42 -0
  14. package/dist/a2a/task-store.d.ts.map +1 -0
  15. package/dist/a2a/task-store.js +99 -0
  16. package/dist/audit/emitter.d.ts +34 -0
  17. package/dist/audit/emitter.d.ts.map +1 -0
  18. package/dist/audit/emitter.js +34 -0
  19. package/dist/audit/index.d.ts +44 -0
  20. package/dist/audit/index.d.ts.map +1 -0
  21. package/dist/audit/index.js +48 -0
  22. package/dist/audit/observer.d.ts +108 -0
  23. package/dist/audit/observer.d.ts.map +1 -0
  24. package/dist/audit/observer.js +271 -0
  25. package/dist/audit/policy.d.ts +70 -0
  26. package/dist/audit/policy.d.ts.map +1 -0
  27. package/dist/audit/policy.js +209 -0
  28. package/dist/audit/store.d.ts +42 -0
  29. package/dist/audit/store.d.ts.map +1 -0
  30. package/dist/audit/store.js +80 -0
  31. package/dist/audit/types.d.ts +169 -0
  32. package/dist/audit/types.d.ts.map +1 -0
  33. package/dist/audit/types.js +80 -0
  34. package/dist/client/hooks/index.d.ts +22 -0
  35. package/dist/client/hooks/index.d.ts.map +1 -0
  36. package/dist/client/hooks/index.js +21 -0
  37. package/dist/client/hooks/useAgentContext.d.ts +30 -0
  38. package/dist/client/hooks/useAgentContext.d.ts.map +1 -0
  39. package/dist/client/hooks/useAgentContext.js +161 -0
  40. package/dist/client/hooks/useAgentEvents.d.ts +126 -0
  41. package/dist/client/hooks/useAgentEvents.d.ts.map +1 -0
  42. package/dist/client/hooks/useAgentEvents.js +232 -0
  43. package/dist/client/hooks/useAgentStream.d.ts +44 -0
  44. package/dist/client/hooks/useAgentStream.d.ts.map +1 -0
  45. package/dist/client/hooks/useAgentStream.js +101 -0
  46. package/dist/client/hooks/useEpisodicMemory.d.ts +25 -0
  47. package/dist/client/hooks/useEpisodicMemory.d.ts.map +1 -0
  48. package/dist/client/hooks/useEpisodicMemory.js +174 -0
  49. package/dist/client/hooks/useWorkingMemory.d.ts +57 -0
  50. package/dist/client/hooks/useWorkingMemory.d.ts.map +1 -0
  51. package/dist/client/hooks/useWorkingMemory.js +276 -0
  52. package/dist/client/index.d.ts +14 -0
  53. package/dist/client/index.d.ts.map +1 -0
  54. package/dist/client/index.js +13 -0
  55. package/dist/embeddings/index.d.ts +51 -0
  56. package/dist/embeddings/index.d.ts.map +1 -0
  57. package/dist/embeddings/index.js +73 -0
  58. package/dist/index.d.ts +83 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +103 -0
  61. package/dist/inference/context-assembly.d.ts +27 -0
  62. package/dist/inference/context-assembly.d.ts.map +1 -0
  63. package/dist/inference/context-assembly.js +81 -0
  64. package/dist/inference/overflow-compressor.d.ts +17 -0
  65. package/dist/inference/overflow-compressor.d.ts.map +1 -0
  66. package/dist/inference/overflow-compressor.js +40 -0
  67. package/dist/inference/runRag.d.ts +35 -0
  68. package/dist/inference/runRag.d.ts.map +1 -0
  69. package/dist/inference/runRag.js +53 -0
  70. package/dist/ingestion/bm25.d.ts +29 -0
  71. package/dist/ingestion/bm25.d.ts.map +1 -0
  72. package/dist/ingestion/bm25.js +161 -0
  73. package/dist/ingestion/cms-indexer.d.ts +39 -0
  74. package/dist/ingestion/cms-indexer.d.ts.map +1 -0
  75. package/dist/ingestion/cms-indexer.js +74 -0
  76. package/dist/ingestion/file-parsers.d.ts +51 -0
  77. package/dist/ingestion/file-parsers.d.ts.map +1 -0
  78. package/dist/ingestion/file-parsers.js +247 -0
  79. package/dist/ingestion/hybrid-search.d.ts +22 -0
  80. package/dist/ingestion/hybrid-search.d.ts.map +1 -0
  81. package/dist/ingestion/hybrid-search.js +63 -0
  82. package/dist/ingestion/index.d.ts +9 -0
  83. package/dist/ingestion/index.d.ts.map +1 -0
  84. package/dist/ingestion/index.js +8 -0
  85. package/dist/ingestion/pipeline.d.ts +35 -0
  86. package/dist/ingestion/pipeline.d.ts.map +1 -0
  87. package/dist/ingestion/pipeline.js +114 -0
  88. package/dist/ingestion/rag-vector-service.d.ts +34 -0
  89. package/dist/ingestion/rag-vector-service.d.ts.map +1 -0
  90. package/dist/ingestion/rag-vector-service.js +98 -0
  91. package/dist/ingestion/reranker.d.ts +10 -0
  92. package/dist/ingestion/reranker.d.ts.map +1 -0
  93. package/dist/ingestion/reranker.js +41 -0
  94. package/dist/ingestion/text-splitter.d.ts +25 -0
  95. package/dist/ingestion/text-splitter.d.ts.map +1 -0
  96. package/dist/ingestion/text-splitter.js +119 -0
  97. package/dist/llm/cache-utils.d.ts +146 -0
  98. package/dist/llm/cache-utils.d.ts.map +1 -0
  99. package/dist/llm/cache-utils.js +204 -0
  100. package/dist/llm/client.d.ts +134 -0
  101. package/dist/llm/client.d.ts.map +1 -0
  102. package/dist/llm/client.js +497 -0
  103. package/dist/llm/key-validator.d.ts +25 -0
  104. package/dist/llm/key-validator.d.ts.map +1 -0
  105. package/dist/llm/key-validator.js +101 -0
  106. package/dist/llm/provider-health.d.ts +40 -0
  107. package/dist/llm/provider-health.d.ts.map +1 -0
  108. package/dist/llm/provider-health.js +97 -0
  109. package/dist/llm/providers/anthropic.d.ts +31 -0
  110. package/dist/llm/providers/anthropic.d.ts.map +1 -0
  111. package/dist/llm/providers/anthropic.js +248 -0
  112. package/dist/llm/providers/base.d.ts +111 -0
  113. package/dist/llm/providers/base.d.ts.map +1 -0
  114. package/dist/llm/providers/base.js +6 -0
  115. package/dist/llm/providers/groq.d.ts +23 -0
  116. package/dist/llm/providers/groq.d.ts.map +1 -0
  117. package/dist/llm/providers/groq.js +27 -0
  118. package/dist/llm/providers/ollama.d.ts +27 -0
  119. package/dist/llm/providers/ollama.d.ts.map +1 -0
  120. package/dist/llm/providers/ollama.js +48 -0
  121. package/dist/llm/providers/openai.d.ts +19 -0
  122. package/dist/llm/providers/openai.d.ts.map +1 -0
  123. package/dist/llm/providers/openai.js +245 -0
  124. package/dist/llm/providers/vultr.d.ts +18 -0
  125. package/dist/llm/providers/vultr.d.ts.map +1 -0
  126. package/dist/llm/providers/vultr.js +168 -0
  127. package/dist/llm/response-cache.d.ts +166 -0
  128. package/dist/llm/response-cache.d.ts.map +1 -0
  129. package/dist/llm/response-cache.js +233 -0
  130. package/dist/llm/semantic-cache.d.ts +179 -0
  131. package/dist/llm/semantic-cache.d.ts.map +1 -0
  132. package/dist/llm/semantic-cache.js +306 -0
  133. package/dist/llm/server.d.ts +14 -0
  134. package/dist/llm/server.d.ts.map +1 -0
  135. package/dist/llm/server.js +15 -0
  136. package/dist/llm/token-counter.d.ts +48 -0
  137. package/dist/llm/token-counter.d.ts.map +1 -0
  138. package/dist/llm/token-counter.js +77 -0
  139. package/dist/llm/workspace-provider-config.d.ts +38 -0
  140. package/dist/llm/workspace-provider-config.d.ts.map +1 -0
  141. package/dist/llm/workspace-provider-config.js +47 -0
  142. package/dist/memory/agent/context-manager.d.ts +148 -0
  143. package/dist/memory/agent/context-manager.d.ts.map +1 -0
  144. package/dist/memory/agent/context-manager.js +284 -0
  145. package/dist/memory/agent/index.d.ts +7 -0
  146. package/dist/memory/agent/index.d.ts.map +1 -0
  147. package/dist/memory/agent/index.js +6 -0
  148. package/dist/memory/crdt/index.d.ts +13 -0
  149. package/dist/memory/crdt/index.d.ts.map +1 -0
  150. package/dist/memory/crdt/index.js +12 -0
  151. package/dist/memory/crdt/lww-register.d.ts +108 -0
  152. package/dist/memory/crdt/lww-register.d.ts.map +1 -0
  153. package/dist/memory/crdt/lww-register.js +169 -0
  154. package/dist/memory/crdt/or-set.d.ts +141 -0
  155. package/dist/memory/crdt/or-set.d.ts.map +1 -0
  156. package/dist/memory/crdt/or-set.js +291 -0
  157. package/dist/memory/crdt/pn-counter.d.ts +116 -0
  158. package/dist/memory/crdt/pn-counter.d.ts.map +1 -0
  159. package/dist/memory/crdt/pn-counter.js +174 -0
  160. package/dist/memory/crdt/vector-clock.d.ts +115 -0
  161. package/dist/memory/crdt/vector-clock.d.ts.map +1 -0
  162. package/dist/memory/crdt/vector-clock.js +179 -0
  163. package/dist/memory/errors/index.d.ts +56 -0
  164. package/dist/memory/errors/index.d.ts.map +1 -0
  165. package/dist/memory/errors/index.js +85 -0
  166. package/dist/memory/index.d.ts +21 -0
  167. package/dist/memory/index.d.ts.map +1 -0
  168. package/dist/memory/index.js +20 -0
  169. package/dist/memory/persistence/crdt-persistence.d.ts +85 -0
  170. package/dist/memory/persistence/crdt-persistence.d.ts.map +1 -0
  171. package/dist/memory/persistence/crdt-persistence.js +204 -0
  172. package/dist/memory/persistence/index.d.ts +7 -0
  173. package/dist/memory/persistence/index.d.ts.map +1 -0
  174. package/dist/memory/persistence/index.js +6 -0
  175. package/dist/memory/preferences/index.d.ts +7 -0
  176. package/dist/memory/preferences/index.d.ts.map +1 -0
  177. package/dist/memory/preferences/index.js +6 -0
  178. package/dist/memory/preferences/user-preferences-manager.d.ts +133 -0
  179. package/dist/memory/preferences/user-preferences-manager.d.ts.map +1 -0
  180. package/dist/memory/preferences/user-preferences-manager.js +342 -0
  181. package/dist/memory/services/index.d.ts +8 -0
  182. package/dist/memory/services/index.d.ts.map +1 -0
  183. package/dist/memory/services/index.js +6 -0
  184. package/dist/memory/services/node-id-service.d.ts +75 -0
  185. package/dist/memory/services/node-id-service.d.ts.map +1 -0
  186. package/dist/memory/services/node-id-service.js +190 -0
  187. package/dist/memory/stores/episodic-memory.d.ts +182 -0
  188. package/dist/memory/stores/episodic-memory.d.ts.map +1 -0
  189. package/dist/memory/stores/episodic-memory.js +378 -0
  190. package/dist/memory/stores/index.d.ts +16 -0
  191. package/dist/memory/stores/index.d.ts.map +1 -0
  192. package/dist/memory/stores/index.js +15 -0
  193. package/dist/memory/stores/procedural-memory.d.ts +89 -0
  194. package/dist/memory/stores/procedural-memory.d.ts.map +1 -0
  195. package/dist/memory/stores/procedural-memory.js +152 -0
  196. package/dist/memory/stores/semantic-memory.d.ts +92 -0
  197. package/dist/memory/stores/semantic-memory.d.ts.map +1 -0
  198. package/dist/memory/stores/semantic-memory.js +155 -0
  199. package/dist/memory/stores/working-memory.d.ts +225 -0
  200. package/dist/memory/stores/working-memory.d.ts.map +1 -0
  201. package/dist/memory/stores/working-memory.js +336 -0
  202. package/dist/memory/utils/deep-clone.d.ts +10 -0
  203. package/dist/memory/utils/deep-clone.d.ts.map +1 -0
  204. package/dist/memory/utils/deep-clone.js +9 -0
  205. package/dist/memory/utils/index.d.ts +8 -0
  206. package/dist/memory/utils/index.d.ts.map +1 -0
  207. package/dist/memory/utils/index.js +7 -0
  208. package/dist/memory/utils/logger.d.ts +21 -0
  209. package/dist/memory/utils/logger.d.ts.map +1 -0
  210. package/dist/memory/utils/logger.js +62 -0
  211. package/dist/memory/utils/sql-helpers.d.ts +97 -0
  212. package/dist/memory/utils/sql-helpers.d.ts.map +1 -0
  213. package/dist/memory/utils/sql-helpers.js +214 -0
  214. package/dist/memory/utils/validation.d.ts +62 -0
  215. package/dist/memory/utils/validation.d.ts.map +1 -0
  216. package/dist/memory/utils/validation.js +244 -0
  217. package/dist/memory/vector/index.d.ts +12 -0
  218. package/dist/memory/vector/index.d.ts.map +1 -0
  219. package/dist/memory/vector/index.js +14 -0
  220. package/dist/memory/vector/vector-memory-service.d.ts +88 -0
  221. package/dist/memory/vector/vector-memory-service.d.ts.map +1 -0
  222. package/dist/memory/vector/vector-memory-service.js +335 -0
  223. package/dist/observability/logger.d.ts +79 -0
  224. package/dist/observability/logger.d.ts.map +1 -0
  225. package/dist/observability/logger.js +165 -0
  226. package/dist/observability/metrics.d.ts +43 -0
  227. package/dist/observability/metrics.d.ts.map +1 -0
  228. package/dist/observability/metrics.js +197 -0
  229. package/dist/observability/query.d.ts +150 -0
  230. package/dist/observability/query.d.ts.map +1 -0
  231. package/dist/observability/query.js +339 -0
  232. package/dist/observability/types.d.ts +140 -0
  233. package/dist/observability/types.d.ts.map +1 -0
  234. package/dist/observability/types.js +6 -0
  235. package/dist/orchestration/agent.d.ts +98 -0
  236. package/dist/orchestration/agent.d.ts.map +1 -0
  237. package/dist/orchestration/agent.js +6 -0
  238. package/dist/orchestration/defaults.d.ts +21 -0
  239. package/dist/orchestration/defaults.d.ts.map +1 -0
  240. package/dist/orchestration/defaults.js +22 -0
  241. package/dist/orchestration/memory-integration.d.ts +58 -0
  242. package/dist/orchestration/memory-integration.d.ts.map +1 -0
  243. package/dist/orchestration/memory-integration.js +130 -0
  244. package/dist/orchestration/orchestrator.d.ts +67 -0
  245. package/dist/orchestration/orchestrator.d.ts.map +1 -0
  246. package/dist/orchestration/orchestrator.js +174 -0
  247. package/dist/orchestration/runtime.d.ts +82 -0
  248. package/dist/orchestration/runtime.d.ts.map +1 -0
  249. package/dist/orchestration/runtime.js +251 -0
  250. package/dist/orchestration/streaming-runtime.d.ts +36 -0
  251. package/dist/orchestration/streaming-runtime.d.ts.map +1 -0
  252. package/dist/orchestration/streaming-runtime.js +175 -0
  253. package/dist/orchestration/ticket-agent.d.ts +70 -0
  254. package/dist/orchestration/ticket-agent.d.ts.map +1 -0
  255. package/dist/orchestration/ticket-agent.js +146 -0
  256. package/dist/skills/activation/index.d.ts +7 -0
  257. package/dist/skills/activation/index.d.ts.map +1 -0
  258. package/dist/skills/activation/index.js +6 -0
  259. package/dist/skills/activation/skill-activator.d.ts +68 -0
  260. package/dist/skills/activation/skill-activator.d.ts.map +1 -0
  261. package/dist/skills/activation/skill-activator.js +224 -0
  262. package/dist/skills/catalog/catalog-search.d.ts +55 -0
  263. package/dist/skills/catalog/catalog-search.d.ts.map +1 -0
  264. package/dist/skills/catalog/catalog-search.js +111 -0
  265. package/dist/skills/catalog/catalog-types.d.ts +81 -0
  266. package/dist/skills/catalog/catalog-types.d.ts.map +1 -0
  267. package/dist/skills/catalog/catalog-types.js +66 -0
  268. package/dist/skills/catalog/index.d.ts +9 -0
  269. package/dist/skills/catalog/index.d.ts.map +1 -0
  270. package/dist/skills/catalog/index.js +7 -0
  271. package/dist/skills/catalog/vercel-catalog.d.ts +42 -0
  272. package/dist/skills/catalog/vercel-catalog.d.ts.map +1 -0
  273. package/dist/skills/catalog/vercel-catalog.js +189 -0
  274. package/dist/skills/compat/index.d.ts +9 -0
  275. package/dist/skills/compat/index.d.ts.map +1 -0
  276. package/dist/skills/compat/index.js +8 -0
  277. package/dist/skills/compat/skill-enhancer.d.ts +37 -0
  278. package/dist/skills/compat/skill-enhancer.d.ts.map +1 -0
  279. package/dist/skills/compat/skill-enhancer.js +76 -0
  280. package/dist/skills/compat/tool-mapper.d.ts +61 -0
  281. package/dist/skills/compat/tool-mapper.d.ts.map +1 -0
  282. package/dist/skills/compat/tool-mapper.js +168 -0
  283. package/dist/skills/compat/vercel-compat.d.ts +33 -0
  284. package/dist/skills/compat/vercel-compat.d.ts.map +1 -0
  285. package/dist/skills/compat/vercel-compat.js +132 -0
  286. package/dist/skills/index.d.ts +40 -0
  287. package/dist/skills/index.d.ts.map +1 -0
  288. package/dist/skills/index.js +47 -0
  289. package/dist/skills/integration/agent-skill-provider.d.ts +94 -0
  290. package/dist/skills/integration/agent-skill-provider.d.ts.map +1 -0
  291. package/dist/skills/integration/agent-skill-provider.js +161 -0
  292. package/dist/skills/integration/index.d.ts +7 -0
  293. package/dist/skills/integration/index.d.ts.map +1 -0
  294. package/dist/skills/integration/index.js +6 -0
  295. package/dist/skills/loader/github-loader.d.ts +61 -0
  296. package/dist/skills/loader/github-loader.d.ts.map +1 -0
  297. package/dist/skills/loader/github-loader.js +176 -0
  298. package/dist/skills/loader/index.d.ts +10 -0
  299. package/dist/skills/loader/index.d.ts.map +1 -0
  300. package/dist/skills/loader/index.js +9 -0
  301. package/dist/skills/loader/local-loader.d.ts +56 -0
  302. package/dist/skills/loader/local-loader.d.ts.map +1 -0
  303. package/dist/skills/loader/local-loader.js +186 -0
  304. package/dist/skills/loader/vercel-loader.d.ts +64 -0
  305. package/dist/skills/loader/vercel-loader.d.ts.map +1 -0
  306. package/dist/skills/loader/vercel-loader.js +313 -0
  307. package/dist/skills/loader/vercel-types.d.ts +64 -0
  308. package/dist/skills/loader/vercel-types.d.ts.map +1 -0
  309. package/dist/skills/loader/vercel-types.js +55 -0
  310. package/dist/skills/parser/index.d.ts +7 -0
  311. package/dist/skills/parser/index.d.ts.map +1 -0
  312. package/dist/skills/parser/index.js +6 -0
  313. package/dist/skills/parser/skill-md-parser.d.ts +64 -0
  314. package/dist/skills/parser/skill-md-parser.d.ts.map +1 -0
  315. package/dist/skills/parser/skill-md-parser.js +242 -0
  316. package/dist/skills/registry/index.d.ts +7 -0
  317. package/dist/skills/registry/index.d.ts.map +1 -0
  318. package/dist/skills/registry/index.js +6 -0
  319. package/dist/skills/registry/skill-registry.d.ts +133 -0
  320. package/dist/skills/registry/skill-registry.d.ts.map +1 -0
  321. package/dist/skills/registry/skill-registry.js +373 -0
  322. package/dist/skills/types.d.ts +216 -0
  323. package/dist/skills/types.d.ts.map +1 -0
  324. package/dist/skills/types.js +176 -0
  325. package/dist/templates/agent-spec.d.ts +138 -0
  326. package/dist/templates/agent-spec.d.ts.map +1 -0
  327. package/dist/templates/agent-spec.js +138 -0
  328. package/dist/templates/index.d.ts +56 -0
  329. package/dist/templates/index.d.ts.map +1 -0
  330. package/dist/templates/index.js +58 -0
  331. package/dist/templates/prompt-spec.d.ts +140 -0
  332. package/dist/templates/prompt-spec.d.ts.map +1 -0
  333. package/dist/templates/prompt-spec.js +210 -0
  334. package/dist/templates/skill-spec.d.ts +106 -0
  335. package/dist/templates/skill-spec.d.ts.map +1 -0
  336. package/dist/templates/skill-spec.js +119 -0
  337. package/dist/tools/base.d.ts +74 -0
  338. package/dist/tools/base.d.ts.map +1 -0
  339. package/dist/tools/base.js +6 -0
  340. package/dist/tools/cms/collection-tools.d.ts +36 -0
  341. package/dist/tools/cms/collection-tools.d.ts.map +1 -0
  342. package/dist/tools/cms/collection-tools.js +178 -0
  343. package/dist/tools/cms/factory.d.ts +89 -0
  344. package/dist/tools/cms/factory.d.ts.map +1 -0
  345. package/dist/tools/cms/factory.js +462 -0
  346. package/dist/tools/cms/global-tools.d.ts +21 -0
  347. package/dist/tools/cms/global-tools.d.ts.map +1 -0
  348. package/dist/tools/cms/global-tools.js +92 -0
  349. package/dist/tools/cms/index.d.ts +11 -0
  350. package/dist/tools/cms/index.d.ts.map +1 -0
  351. package/dist/tools/cms/index.js +11 -0
  352. package/dist/tools/cms/media-tools.d.ts +31 -0
  353. package/dist/tools/cms/media-tools.d.ts.map +1 -0
  354. package/dist/tools/cms/media-tools.js +140 -0
  355. package/dist/tools/cms/user-tools.d.ts +31 -0
  356. package/dist/tools/cms/user-tools.d.ts.map +1 -0
  357. package/dist/tools/cms/user-tools.js +135 -0
  358. package/dist/tools/deduplicator.d.ts +19 -0
  359. package/dist/tools/deduplicator.d.ts.map +1 -0
  360. package/dist/tools/deduplicator.js +53 -0
  361. package/dist/tools/document-summarizer.d.ts +11 -0
  362. package/dist/tools/document-summarizer.d.ts.map +1 -0
  363. package/dist/tools/document-summarizer.js +82 -0
  364. package/dist/tools/mcp-adapter.d.ts +66 -0
  365. package/dist/tools/mcp-adapter.d.ts.map +1 -0
  366. package/dist/tools/mcp-adapter.js +152 -0
  367. package/dist/tools/memory/index.d.ts +3 -0
  368. package/dist/tools/memory/index.d.ts.map +1 -0
  369. package/dist/tools/memory/index.js +1 -0
  370. package/dist/tools/memory/store-memory.d.ts +39 -0
  371. package/dist/tools/memory/store-memory.d.ts.map +1 -0
  372. package/dist/tools/memory/store-memory.js +94 -0
  373. package/dist/tools/registry.d.ts +14 -0
  374. package/dist/tools/registry.d.ts.map +1 -0
  375. package/dist/tools/registry.js +48 -0
  376. package/dist/tools/ticket-tools.d.ts +31 -0
  377. package/dist/tools/ticket-tools.d.ts.map +1 -0
  378. package/dist/tools/ticket-tools.js +74 -0
  379. package/dist/tools/web/duck-duck-go.d.ts +52 -0
  380. package/dist/tools/web/duck-duck-go.d.ts.map +1 -0
  381. package/dist/tools/web/duck-duck-go.js +202 -0
  382. package/dist/tools/web/exa.d.ts +34 -0
  383. package/dist/tools/web/exa.d.ts.map +1 -0
  384. package/dist/tools/web/exa.js +80 -0
  385. package/dist/tools/web/index.d.ts +6 -0
  386. package/dist/tools/web/index.d.ts.map +1 -0
  387. package/dist/tools/web/index.js +4 -0
  388. package/dist/tools/web/scraper.d.ts +9 -0
  389. package/dist/tools/web/scraper.d.ts.map +1 -0
  390. package/dist/tools/web/scraper.js +118 -0
  391. package/dist/tools/web/tavily.d.ts +32 -0
  392. package/dist/tools/web/tavily.d.ts.map +1 -0
  393. package/dist/tools/web/tavily.js +73 -0
  394. package/dist/tools/web/types.d.ts +31 -0
  395. package/dist/tools/web/types.d.ts.map +1 -0
  396. package/dist/tools/web/types.js +9 -0
  397. package/package.json +143 -0
@@ -0,0 +1,176 @@
1
+ /**
2
+ * GitHub Skill Loader
3
+ *
4
+ * Install skills from GitHub repositories.
5
+ */
6
+ import { exec } from 'node:child_process';
7
+ import * as fs from 'node:fs';
8
+ import * as path from 'node:path';
9
+ import { promisify } from 'node:util';
10
+ import { parseSkillMd } from '../parser/index.js';
11
+ const execAsync = promisify(exec);
12
+ /**
13
+ * Parse a GitHub source string into components.
14
+ *
15
+ * @example
16
+ * parseGitHubSource("vercel-labs/agent-skills")
17
+ * // { owner: "vercel-labs", repo: "agent-skills" }
18
+ *
19
+ * parseGitHubSource("vercel-labs/agent-skills/skills/react-best-practices")
20
+ * // { owner: "vercel-labs", repo: "agent-skills", path: "skills/react-best-practices" }
21
+ */
22
+ export function parseGitHubSource(source) {
23
+ // Handle @ref suffix for specific branch/tag
24
+ let ref;
25
+ let sourcePath = source;
26
+ if (source.includes('@')) {
27
+ const atIndex = source.lastIndexOf('@');
28
+ ref = source.slice(atIndex + 1);
29
+ sourcePath = source.slice(0, atIndex);
30
+ }
31
+ const parts = sourcePath.split('/');
32
+ if (parts.length < 2) {
33
+ throw new Error(`Invalid GitHub source: ${source}. Expected format: owner/repo[/path][@ref]`);
34
+ }
35
+ const owner = parts[0];
36
+ const repo = parts[1];
37
+ const pathParts = parts.slice(2);
38
+ if (!(owner && repo)) {
39
+ throw new Error(`Invalid GitHub source: ${source}. Expected format: owner/repo[/path][@ref]`);
40
+ }
41
+ return {
42
+ owner,
43
+ repo,
44
+ path: pathParts.length > 0 ? pathParts.join('/') : undefined,
45
+ ref,
46
+ };
47
+ }
48
+ /**
49
+ * Load a skill from a GitHub repository.
50
+ *
51
+ * Uses git sparse checkout for efficiency when loading from a subdirectory.
52
+ */
53
+ export async function loadFromGitHub(source, options) {
54
+ const parsed = parseGitHubSource(source);
55
+ const repoUrl = `https://github.com/${parsed.owner}/${parsed.repo}.git`;
56
+ // Determine skill name from path or repo name
57
+ const skillName = parsed.path ? path.basename(parsed.path) : parsed.repo;
58
+ const targetPath = path.join(options.targetDir, skillName);
59
+ // Check if already exists
60
+ if (fs.existsSync(targetPath)) {
61
+ if (options.force) {
62
+ fs.rmSync(targetPath, { recursive: true });
63
+ }
64
+ else {
65
+ throw new Error(`Skill "${skillName}" already exists. Use --force to overwrite.`);
66
+ }
67
+ }
68
+ // Ensure target directory exists
69
+ if (!fs.existsSync(options.targetDir)) {
70
+ fs.mkdirSync(options.targetDir, { recursive: true });
71
+ }
72
+ if (parsed.path) {
73
+ // Use sparse checkout for subdirectory
74
+ await sparseClone(repoUrl, targetPath, parsed.path, parsed.ref);
75
+ }
76
+ else {
77
+ // Clone entire repo
78
+ await fullClone(repoUrl, targetPath, parsed.ref);
79
+ }
80
+ // Find and validate SKILL.md
81
+ const skillMdPath = path.join(targetPath, 'SKILL.md');
82
+ if (!fs.existsSync(skillMdPath)) {
83
+ // Clean up failed install
84
+ fs.rmSync(targetPath, { recursive: true });
85
+ throw new Error(`No SKILL.md found in ${source}`);
86
+ }
87
+ // Parse and validate
88
+ const content = fs.readFileSync(skillMdPath, 'utf-8');
89
+ const parsedSkill = parseSkillMd(content);
90
+ // Create skill object
91
+ const skill = {
92
+ metadata: parsedSkill.metadata,
93
+ instructions: parsedSkill.instructions,
94
+ sourcePath: targetPath,
95
+ scope: options.scope,
96
+ source: 'github',
97
+ sourceIdentifier: source,
98
+ installedAt: new Date().toISOString(),
99
+ };
100
+ // Register with registry
101
+ if (options.registry.has(skill.metadata.name)) {
102
+ options.registry.unregister(skill.metadata.name);
103
+ }
104
+ options.registry.register(skill);
105
+ // Load fully (with resources and optionally embedding)
106
+ return (await options.registry.loadSkill(skill.metadata.name, options.generateEmbedding)) ?? skill;
107
+ }
108
+ /**
109
+ * Perform a sparse checkout for a specific path.
110
+ */
111
+ async function sparseClone(repoUrl, targetPath, subPath, ref) {
112
+ // Create a temp directory for the sparse checkout
113
+ const tempDir = `${targetPath}.tmp`;
114
+ try {
115
+ // Initialize sparse checkout
116
+ await execAsync(`git clone --depth 1 --filter=blob:none --sparse ${repoUrl} ${tempDir}`);
117
+ // Configure sparse checkout
118
+ await execAsync(`git -C ${tempDir} sparse-checkout set ${subPath}`);
119
+ // Checkout specific ref if provided
120
+ if (ref) {
121
+ await execAsync(`git -C ${tempDir} fetch --depth 1 origin ${ref}`);
122
+ await execAsync(`git -C ${tempDir} checkout ${ref}`);
123
+ }
124
+ // Move the skill directory to target
125
+ const sourcePath = path.join(tempDir, subPath);
126
+ if (!fs.existsSync(sourcePath)) {
127
+ throw new Error(`Path "${subPath}" not found in repository`);
128
+ }
129
+ fs.renameSync(sourcePath, targetPath);
130
+ }
131
+ finally {
132
+ // Clean up temp directory
133
+ if (fs.existsSync(tempDir)) {
134
+ fs.rmSync(tempDir, { recursive: true });
135
+ }
136
+ }
137
+ }
138
+ /**
139
+ * Perform a full shallow clone.
140
+ */
141
+ async function fullClone(repoUrl, targetPath, ref) {
142
+ const refArg = ref ? `--branch ${ref}` : '';
143
+ await execAsync(`git clone --depth 1 ${refArg} ${repoUrl} ${targetPath}`);
144
+ // Remove .git directory to save space
145
+ const gitDir = path.join(targetPath, '.git');
146
+ if (fs.existsSync(gitDir)) {
147
+ fs.rmSync(gitDir, { recursive: true });
148
+ }
149
+ }
150
+ /**
151
+ * Update an installed skill from GitHub.
152
+ */
153
+ export async function updateFromGitHub(skillName, registry) {
154
+ const skill = registry.get(skillName);
155
+ if (!skill) {
156
+ throw new Error(`Skill "${skillName}" is not installed`);
157
+ }
158
+ // For now, we don't track the original source URL
159
+ // This would require storing metadata about where the skill came from
160
+ throw new Error('Update not yet implemented. Please reinstall with --force.');
161
+ }
162
+ /**
163
+ * Check if a GitHub source is valid and accessible.
164
+ */
165
+ export async function validateGitHubSource(source) {
166
+ try {
167
+ const parsed = parseGitHubSource(source);
168
+ const repoUrl = `https://github.com/${parsed.owner}/${parsed.repo}.git`;
169
+ // Use git ls-remote to check if repo exists
170
+ await execAsync(`git ls-remote --exit-code ${repoUrl} HEAD`);
171
+ return true;
172
+ }
173
+ catch {
174
+ return false;
175
+ }
176
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Skill Loaders
3
+ *
4
+ * Load skills from various sources (GitHub, local directories, Vercel Skills ecosystem).
5
+ */
6
+ export { type GitHubLoadOptions, type GitHubSource, loadFromGitHub, parseGitHubSource, updateFromGitHub, validateGitHubSource, } from './github-loader.js';
7
+ export { createSkill, type LocalLoadOptions, loadAllFromDirectory, loadFromLocal, removeSkill, type SkillTemplate, } from './local-loader.js';
8
+ export { checkVercelSkillUpdates, isVercelCliAvailable, loadFromVercelSkills, updateVercelSkill, type VercelLoadOptions, } from './vercel-loader.js';
9
+ export { parseVercelSource, type UpdateInfo, type VercelSource } from './vercel-types.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/skills/loader/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Skill Loaders
3
+ *
4
+ * Load skills from various sources (GitHub, local directories, Vercel Skills ecosystem).
5
+ */
6
+ export { loadFromGitHub, parseGitHubSource, updateFromGitHub, validateGitHubSource, } from './github-loader.js';
7
+ export { createSkill, loadAllFromDirectory, loadFromLocal, removeSkill, } from './local-loader.js';
8
+ export { checkVercelSkillUpdates, isVercelCliAvailable, loadFromVercelSkills, updateVercelSkill, } from './vercel-loader.js';
9
+ export { parseVercelSource } from './vercel-types.js';
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Local Skill Loader
3
+ *
4
+ * Load skills from local directories.
5
+ */
6
+ import type { SkillRegistry } from '../registry/index.js';
7
+ import type { Skill } from '../types.js';
8
+ /**
9
+ * Options for loading from local directory.
10
+ */
11
+ export interface LocalLoadOptions {
12
+ /** Target directory for installation (if copying) */
13
+ targetDir?: string;
14
+ /** Scope: local (project) or global */
15
+ scope: 'local' | 'global';
16
+ /** Registry to register skill with */
17
+ registry: SkillRegistry;
18
+ /** Generate embedding for semantic search */
19
+ generateEmbedding?: boolean;
20
+ /** Copy files instead of referencing in place */
21
+ copy?: boolean;
22
+ /** Force reinstall if already exists */
23
+ force?: boolean;
24
+ }
25
+ /**
26
+ * Load a skill from a local directory.
27
+ *
28
+ * @param sourcePath - Path to skill directory containing SKILL.md
29
+ * @param options - Load options
30
+ */
31
+ export declare function loadFromLocal(sourcePath: string, options: LocalLoadOptions): Promise<Skill>;
32
+ /**
33
+ * Load all skills from a directory.
34
+ *
35
+ * @param dir - Directory containing skill subdirectories
36
+ * @param options - Load options
37
+ */
38
+ export declare function loadAllFromDirectory(dir: string, options: Omit<LocalLoadOptions, 'copy'>): Promise<Skill[]>;
39
+ /**
40
+ * Create a new skill from a template.
41
+ */
42
+ export declare function createSkill(name: string, targetDir: string, template?: SkillTemplate): Promise<string>;
43
+ /**
44
+ * Template for creating new skills.
45
+ */
46
+ export interface SkillTemplate {
47
+ skillMd?: string;
48
+ createScripts?: boolean;
49
+ createReferences?: boolean;
50
+ createAssets?: boolean;
51
+ }
52
+ /**
53
+ * Remove an installed skill.
54
+ */
55
+ export declare function removeSkill(name: string, registry: SkillRegistry): boolean;
56
+ //# sourceMappingURL=local-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-loader.d.ts","sourceRoot":"","sources":["../../../src/skills/loader/local-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAExC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,uCAAuC;IACvC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAA;IAEzB,sCAAsC;IACtC,QAAQ,EAAE,aAAa,CAAA;IAEvB,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B,iDAAiD;IACjD,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,CA+DjG;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GACtC,OAAO,CAAC,KAAK,EAAE,CAAC,CA8BlB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAkDD;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAe1E"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Local Skill Loader
3
+ *
4
+ * Load skills from local directories.
5
+ */
6
+ import * as fs from 'node:fs';
7
+ import * as path from 'node:path';
8
+ import { parseSkillMd } from '../parser/index.js';
9
+ /**
10
+ * Load a skill from a local directory.
11
+ *
12
+ * @param sourcePath - Path to skill directory containing SKILL.md
13
+ * @param options - Load options
14
+ */
15
+ export async function loadFromLocal(sourcePath, options) {
16
+ const resolvedSource = path.resolve(sourcePath);
17
+ // Validate source exists
18
+ if (!fs.existsSync(resolvedSource)) {
19
+ throw new Error(`Source directory does not exist: ${resolvedSource}`);
20
+ }
21
+ // Check for SKILL.md
22
+ const skillMdPath = path.join(resolvedSource, 'SKILL.md');
23
+ if (!fs.existsSync(skillMdPath)) {
24
+ throw new Error(`No SKILL.md found in ${resolvedSource}`);
25
+ }
26
+ // Parse skill
27
+ const content = fs.readFileSync(skillMdPath, 'utf-8');
28
+ const parsed = parseSkillMd(content);
29
+ const skillName = parsed.metadata.name;
30
+ let finalPath = resolvedSource;
31
+ // Copy files if requested
32
+ if (options.copy && options.targetDir) {
33
+ const targetPath = path.join(options.targetDir, skillName);
34
+ // Check if already exists
35
+ if (fs.existsSync(targetPath)) {
36
+ if (options.force) {
37
+ fs.rmSync(targetPath, { recursive: true });
38
+ }
39
+ else {
40
+ throw new Error(`Skill "${skillName}" already exists. Use --force to overwrite.`);
41
+ }
42
+ }
43
+ // Ensure target directory exists
44
+ if (!fs.existsSync(options.targetDir)) {
45
+ fs.mkdirSync(options.targetDir, { recursive: true });
46
+ }
47
+ // Copy directory
48
+ copyDirectory(resolvedSource, targetPath);
49
+ finalPath = targetPath;
50
+ }
51
+ // Create skill object
52
+ const skill = {
53
+ metadata: parsed.metadata,
54
+ instructions: parsed.instructions,
55
+ sourcePath: finalPath,
56
+ scope: options.scope,
57
+ source: 'local',
58
+ sourceIdentifier: sourcePath,
59
+ installedAt: new Date().toISOString(),
60
+ };
61
+ // Register with registry
62
+ if (options.registry.has(skillName)) {
63
+ options.registry.unregister(skillName);
64
+ }
65
+ options.registry.register(skill);
66
+ // Load fully (with resources and optionally embedding)
67
+ return (await options.registry.loadSkill(skillName, options.generateEmbedding)) ?? skill;
68
+ }
69
+ /**
70
+ * Load all skills from a directory.
71
+ *
72
+ * @param dir - Directory containing skill subdirectories
73
+ * @param options - Load options
74
+ */
75
+ export async function loadAllFromDirectory(dir, options) {
76
+ const resolvedDir = path.resolve(dir);
77
+ if (!fs.existsSync(resolvedDir)) {
78
+ return [];
79
+ }
80
+ const entries = fs.readdirSync(resolvedDir, { withFileTypes: true });
81
+ const skills = [];
82
+ for (const entry of entries) {
83
+ if (!entry.isDirectory())
84
+ continue;
85
+ const skillPath = path.join(resolvedDir, entry.name);
86
+ const skillMdPath = path.join(skillPath, 'SKILL.md');
87
+ if (!fs.existsSync(skillMdPath))
88
+ continue;
89
+ try {
90
+ const skill = await loadFromLocal(skillPath, {
91
+ ...options,
92
+ copy: false, // Don't copy when loading from installed directory
93
+ });
94
+ skills.push(skill);
95
+ }
96
+ catch {
97
+ // Skip malformed or unreadable skill files — partial load is better than a hard crash
98
+ }
99
+ }
100
+ return skills;
101
+ }
102
+ /**
103
+ * Create a new skill from a template.
104
+ */
105
+ export async function createSkill(name, targetDir, template) {
106
+ const skillDir = path.join(targetDir, name);
107
+ if (fs.existsSync(skillDir)) {
108
+ throw new Error(`Directory already exists: ${skillDir}`);
109
+ }
110
+ fs.mkdirSync(skillDir, { recursive: true });
111
+ // Create SKILL.md
112
+ const skillMd = template?.skillMd ?? generateDefaultSkillMd(name);
113
+ fs.writeFileSync(path.join(skillDir, 'SKILL.md'), skillMd);
114
+ // Create optional directories
115
+ if (template?.createScripts) {
116
+ fs.mkdirSync(path.join(skillDir, 'scripts'));
117
+ }
118
+ if (template?.createReferences) {
119
+ fs.mkdirSync(path.join(skillDir, 'references'));
120
+ }
121
+ if (template?.createAssets) {
122
+ fs.mkdirSync(path.join(skillDir, 'assets'));
123
+ }
124
+ return skillDir;
125
+ }
126
+ /**
127
+ * Generate a default SKILL.md file.
128
+ */
129
+ function generateDefaultSkillMd(name) {
130
+ return `---
131
+ name: ${name}
132
+ description: A new skill for agents
133
+ version: "0.1.0"
134
+ compatibility:
135
+ - universal
136
+ ---
137
+
138
+ # ${name}
139
+
140
+ Instructions for the agent go here.
141
+
142
+ ## Overview
143
+
144
+ Describe what this skill does.
145
+
146
+ ## Usage
147
+
148
+ Explain how to use this skill.
149
+ `;
150
+ }
151
+ /**
152
+ * Copy a directory recursively.
153
+ */
154
+ function copyDirectory(src, dest) {
155
+ fs.mkdirSync(dest, { recursive: true });
156
+ const entries = fs.readdirSync(src, { withFileTypes: true });
157
+ for (const entry of entries) {
158
+ const srcPath = path.join(src, entry.name);
159
+ const destPath = path.join(dest, entry.name);
160
+ if (entry.isDirectory()) {
161
+ // Skip .git directory
162
+ if (entry.name === '.git')
163
+ continue;
164
+ copyDirectory(srcPath, destPath);
165
+ }
166
+ else {
167
+ fs.copyFileSync(srcPath, destPath);
168
+ }
169
+ }
170
+ }
171
+ /**
172
+ * Remove an installed skill.
173
+ */
174
+ export function removeSkill(name, registry) {
175
+ const skill = registry.get(name);
176
+ if (!skill) {
177
+ return false;
178
+ }
179
+ // Remove from filesystem
180
+ if (fs.existsSync(skill.sourcePath)) {
181
+ fs.rmSync(skill.sourcePath, { recursive: true });
182
+ }
183
+ // Unregister
184
+ registry.unregister(name);
185
+ return true;
186
+ }
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Vercel Skills Loader
3
+ *
4
+ * Bridge layer to load skills from the Vercel Skills ecosystem (skills.sh)
5
+ * and convert them to RevealUI's format.
6
+ */
7
+ import type { SkillRegistry } from '../registry/index.js';
8
+ import type { Skill } from '../types.js';
9
+ import type { UpdateInfo } from './vercel-types.js';
10
+ /**
11
+ * Options for loading from Vercel Skills ecosystem.
12
+ */
13
+ export interface VercelLoadOptions {
14
+ /** Target directory for installation */
15
+ targetDir: string;
16
+ /** Scope: local (project) or global */
17
+ scope: 'local' | 'global';
18
+ /** Registry to register skill with */
19
+ registry: SkillRegistry;
20
+ /** Generate embedding for semantic search */
21
+ generateEmbedding?: boolean;
22
+ /** Force reinstall if already exists */
23
+ force?: boolean;
24
+ /** Specific ref/version to install */
25
+ ref?: string;
26
+ }
27
+ /**
28
+ * Load a skill from the Vercel Skills ecosystem.
29
+ *
30
+ * This function:
31
+ * 1. Executes `npx skills add <source>` to install the skill
32
+ * 2. Detects the installation location
33
+ * 3. Parses the installed SKILL.md
34
+ * 4. Registers with RevealUI's SkillRegistry
35
+ * 5. Optionally generates embeddings for semantic search
36
+ *
37
+ * @param source - Vercel skill source (e.g., "vercel-labs/agent-skills/react-best-practices")
38
+ * @param options - Load options
39
+ * @returns Fully loaded Skill object
40
+ */
41
+ export declare function loadFromVercelSkills(source: string, options: VercelLoadOptions): Promise<Skill>;
42
+ /**
43
+ * Check for updates to an installed Vercel skill.
44
+ *
45
+ * @param skillName - Name of the installed skill
46
+ * @param registry - Skill registry
47
+ * @returns Update information
48
+ */
49
+ export declare function checkVercelSkillUpdates(skillName: string, registry: SkillRegistry): Promise<UpdateInfo>;
50
+ /**
51
+ * Update an installed Vercel skill to the latest version.
52
+ *
53
+ * @param skillName - Name of the skill to update
54
+ * @param registry - Skill registry
55
+ * @returns Updated skill object
56
+ */
57
+ export declare function updateVercelSkill(skillName: string, registry: SkillRegistry): Promise<Skill>;
58
+ /**
59
+ * Check if npx skills CLI is available.
60
+ *
61
+ * @returns True if available, false otherwise
62
+ */
63
+ export declare function isVercelCliAvailable(): Promise<boolean>;
64
+ //# sourceMappingURL=vercel-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vercel-loader.d.ts","sourceRoot":"","sources":["../../../src/skills/loader/vercel-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EACV,UAAU,EAIX,MAAM,mBAAmB,CAAA;AAK1B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAA;IAEjB,uCAAuC;IACvC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAA;IAEzB,sCAAsC;IACtC,QAAQ,EAAE,aAAa,CAAA;IAEvB,6CAA6C;IAC7C,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,KAAK,CAAC,CA8EhB;AAsKD;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,UAAU,CAAC,CAyCrB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,KAAK,CAAC,CAwBhB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO7D"}