@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.
- package/LICENSE +22 -0
- package/LICENSE.commercial +112 -0
- package/README.md +314 -0
- package/dist/a2a/card.d.ts +26 -0
- package/dist/a2a/card.d.ts.map +1 -0
- package/dist/a2a/card.js +173 -0
- package/dist/a2a/handler.d.ts +26 -0
- package/dist/a2a/handler.d.ts.map +1 -0
- package/dist/a2a/handler.js +170 -0
- package/dist/a2a/index.d.ts +10 -0
- package/dist/a2a/index.d.ts.map +1 -0
- package/dist/a2a/index.js +9 -0
- package/dist/a2a/task-store.d.ts +42 -0
- package/dist/a2a/task-store.d.ts.map +1 -0
- package/dist/a2a/task-store.js +99 -0
- package/dist/audit/emitter.d.ts +34 -0
- package/dist/audit/emitter.d.ts.map +1 -0
- package/dist/audit/emitter.js +34 -0
- package/dist/audit/index.d.ts +44 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/index.js +48 -0
- package/dist/audit/observer.d.ts +108 -0
- package/dist/audit/observer.d.ts.map +1 -0
- package/dist/audit/observer.js +271 -0
- package/dist/audit/policy.d.ts +70 -0
- package/dist/audit/policy.d.ts.map +1 -0
- package/dist/audit/policy.js +209 -0
- package/dist/audit/store.d.ts +42 -0
- package/dist/audit/store.d.ts.map +1 -0
- package/dist/audit/store.js +80 -0
- package/dist/audit/types.d.ts +169 -0
- package/dist/audit/types.d.ts.map +1 -0
- package/dist/audit/types.js +80 -0
- package/dist/client/hooks/index.d.ts +22 -0
- package/dist/client/hooks/index.d.ts.map +1 -0
- package/dist/client/hooks/index.js +21 -0
- package/dist/client/hooks/useAgentContext.d.ts +30 -0
- package/dist/client/hooks/useAgentContext.d.ts.map +1 -0
- package/dist/client/hooks/useAgentContext.js +161 -0
- package/dist/client/hooks/useAgentEvents.d.ts +126 -0
- package/dist/client/hooks/useAgentEvents.d.ts.map +1 -0
- package/dist/client/hooks/useAgentEvents.js +232 -0
- package/dist/client/hooks/useAgentStream.d.ts +44 -0
- package/dist/client/hooks/useAgentStream.d.ts.map +1 -0
- package/dist/client/hooks/useAgentStream.js +101 -0
- package/dist/client/hooks/useEpisodicMemory.d.ts +25 -0
- package/dist/client/hooks/useEpisodicMemory.d.ts.map +1 -0
- package/dist/client/hooks/useEpisodicMemory.js +174 -0
- package/dist/client/hooks/useWorkingMemory.d.ts +57 -0
- package/dist/client/hooks/useWorkingMemory.d.ts.map +1 -0
- package/dist/client/hooks/useWorkingMemory.js +276 -0
- package/dist/client/index.d.ts +14 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +13 -0
- package/dist/embeddings/index.d.ts +51 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/index.js +73 -0
- package/dist/index.d.ts +83 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +103 -0
- package/dist/inference/context-assembly.d.ts +27 -0
- package/dist/inference/context-assembly.d.ts.map +1 -0
- package/dist/inference/context-assembly.js +81 -0
- package/dist/inference/overflow-compressor.d.ts +17 -0
- package/dist/inference/overflow-compressor.d.ts.map +1 -0
- package/dist/inference/overflow-compressor.js +40 -0
- package/dist/inference/runRag.d.ts +35 -0
- package/dist/inference/runRag.d.ts.map +1 -0
- package/dist/inference/runRag.js +53 -0
- package/dist/ingestion/bm25.d.ts +29 -0
- package/dist/ingestion/bm25.d.ts.map +1 -0
- package/dist/ingestion/bm25.js +161 -0
- package/dist/ingestion/cms-indexer.d.ts +39 -0
- package/dist/ingestion/cms-indexer.d.ts.map +1 -0
- package/dist/ingestion/cms-indexer.js +74 -0
- package/dist/ingestion/file-parsers.d.ts +51 -0
- package/dist/ingestion/file-parsers.d.ts.map +1 -0
- package/dist/ingestion/file-parsers.js +247 -0
- package/dist/ingestion/hybrid-search.d.ts +22 -0
- package/dist/ingestion/hybrid-search.d.ts.map +1 -0
- package/dist/ingestion/hybrid-search.js +63 -0
- package/dist/ingestion/index.d.ts +9 -0
- package/dist/ingestion/index.d.ts.map +1 -0
- package/dist/ingestion/index.js +8 -0
- package/dist/ingestion/pipeline.d.ts +35 -0
- package/dist/ingestion/pipeline.d.ts.map +1 -0
- package/dist/ingestion/pipeline.js +114 -0
- package/dist/ingestion/rag-vector-service.d.ts +34 -0
- package/dist/ingestion/rag-vector-service.d.ts.map +1 -0
- package/dist/ingestion/rag-vector-service.js +98 -0
- package/dist/ingestion/reranker.d.ts +10 -0
- package/dist/ingestion/reranker.d.ts.map +1 -0
- package/dist/ingestion/reranker.js +41 -0
- package/dist/ingestion/text-splitter.d.ts +25 -0
- package/dist/ingestion/text-splitter.d.ts.map +1 -0
- package/dist/ingestion/text-splitter.js +119 -0
- package/dist/llm/cache-utils.d.ts +146 -0
- package/dist/llm/cache-utils.d.ts.map +1 -0
- package/dist/llm/cache-utils.js +204 -0
- package/dist/llm/client.d.ts +134 -0
- package/dist/llm/client.d.ts.map +1 -0
- package/dist/llm/client.js +497 -0
- package/dist/llm/key-validator.d.ts +25 -0
- package/dist/llm/key-validator.d.ts.map +1 -0
- package/dist/llm/key-validator.js +101 -0
- package/dist/llm/provider-health.d.ts +40 -0
- package/dist/llm/provider-health.d.ts.map +1 -0
- package/dist/llm/provider-health.js +97 -0
- package/dist/llm/providers/anthropic.d.ts +31 -0
- package/dist/llm/providers/anthropic.d.ts.map +1 -0
- package/dist/llm/providers/anthropic.js +248 -0
- package/dist/llm/providers/base.d.ts +111 -0
- package/dist/llm/providers/base.d.ts.map +1 -0
- package/dist/llm/providers/base.js +6 -0
- package/dist/llm/providers/groq.d.ts +23 -0
- package/dist/llm/providers/groq.d.ts.map +1 -0
- package/dist/llm/providers/groq.js +27 -0
- package/dist/llm/providers/ollama.d.ts +27 -0
- package/dist/llm/providers/ollama.d.ts.map +1 -0
- package/dist/llm/providers/ollama.js +48 -0
- package/dist/llm/providers/openai.d.ts +19 -0
- package/dist/llm/providers/openai.d.ts.map +1 -0
- package/dist/llm/providers/openai.js +245 -0
- package/dist/llm/providers/vultr.d.ts +18 -0
- package/dist/llm/providers/vultr.d.ts.map +1 -0
- package/dist/llm/providers/vultr.js +168 -0
- package/dist/llm/response-cache.d.ts +166 -0
- package/dist/llm/response-cache.d.ts.map +1 -0
- package/dist/llm/response-cache.js +233 -0
- package/dist/llm/semantic-cache.d.ts +179 -0
- package/dist/llm/semantic-cache.d.ts.map +1 -0
- package/dist/llm/semantic-cache.js +306 -0
- package/dist/llm/server.d.ts +14 -0
- package/dist/llm/server.d.ts.map +1 -0
- package/dist/llm/server.js +15 -0
- package/dist/llm/token-counter.d.ts +48 -0
- package/dist/llm/token-counter.d.ts.map +1 -0
- package/dist/llm/token-counter.js +77 -0
- package/dist/llm/workspace-provider-config.d.ts +38 -0
- package/dist/llm/workspace-provider-config.d.ts.map +1 -0
- package/dist/llm/workspace-provider-config.js +47 -0
- package/dist/memory/agent/context-manager.d.ts +148 -0
- package/dist/memory/agent/context-manager.d.ts.map +1 -0
- package/dist/memory/agent/context-manager.js +284 -0
- package/dist/memory/agent/index.d.ts +7 -0
- package/dist/memory/agent/index.d.ts.map +1 -0
- package/dist/memory/agent/index.js +6 -0
- package/dist/memory/crdt/index.d.ts +13 -0
- package/dist/memory/crdt/index.d.ts.map +1 -0
- package/dist/memory/crdt/index.js +12 -0
- package/dist/memory/crdt/lww-register.d.ts +108 -0
- package/dist/memory/crdt/lww-register.d.ts.map +1 -0
- package/dist/memory/crdt/lww-register.js +169 -0
- package/dist/memory/crdt/or-set.d.ts +141 -0
- package/dist/memory/crdt/or-set.d.ts.map +1 -0
- package/dist/memory/crdt/or-set.js +291 -0
- package/dist/memory/crdt/pn-counter.d.ts +116 -0
- package/dist/memory/crdt/pn-counter.d.ts.map +1 -0
- package/dist/memory/crdt/pn-counter.js +174 -0
- package/dist/memory/crdt/vector-clock.d.ts +115 -0
- package/dist/memory/crdt/vector-clock.d.ts.map +1 -0
- package/dist/memory/crdt/vector-clock.js +179 -0
- package/dist/memory/errors/index.d.ts +56 -0
- package/dist/memory/errors/index.d.ts.map +1 -0
- package/dist/memory/errors/index.js +85 -0
- package/dist/memory/index.d.ts +21 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +20 -0
- package/dist/memory/persistence/crdt-persistence.d.ts +85 -0
- package/dist/memory/persistence/crdt-persistence.d.ts.map +1 -0
- package/dist/memory/persistence/crdt-persistence.js +204 -0
- package/dist/memory/persistence/index.d.ts +7 -0
- package/dist/memory/persistence/index.d.ts.map +1 -0
- package/dist/memory/persistence/index.js +6 -0
- package/dist/memory/preferences/index.d.ts +7 -0
- package/dist/memory/preferences/index.d.ts.map +1 -0
- package/dist/memory/preferences/index.js +6 -0
- package/dist/memory/preferences/user-preferences-manager.d.ts +133 -0
- package/dist/memory/preferences/user-preferences-manager.d.ts.map +1 -0
- package/dist/memory/preferences/user-preferences-manager.js +342 -0
- package/dist/memory/services/index.d.ts +8 -0
- package/dist/memory/services/index.d.ts.map +1 -0
- package/dist/memory/services/index.js +6 -0
- package/dist/memory/services/node-id-service.d.ts +75 -0
- package/dist/memory/services/node-id-service.d.ts.map +1 -0
- package/dist/memory/services/node-id-service.js +190 -0
- package/dist/memory/stores/episodic-memory.d.ts +182 -0
- package/dist/memory/stores/episodic-memory.d.ts.map +1 -0
- package/dist/memory/stores/episodic-memory.js +378 -0
- package/dist/memory/stores/index.d.ts +16 -0
- package/dist/memory/stores/index.d.ts.map +1 -0
- package/dist/memory/stores/index.js +15 -0
- package/dist/memory/stores/procedural-memory.d.ts +89 -0
- package/dist/memory/stores/procedural-memory.d.ts.map +1 -0
- package/dist/memory/stores/procedural-memory.js +152 -0
- package/dist/memory/stores/semantic-memory.d.ts +92 -0
- package/dist/memory/stores/semantic-memory.d.ts.map +1 -0
- package/dist/memory/stores/semantic-memory.js +155 -0
- package/dist/memory/stores/working-memory.d.ts +225 -0
- package/dist/memory/stores/working-memory.d.ts.map +1 -0
- package/dist/memory/stores/working-memory.js +336 -0
- package/dist/memory/utils/deep-clone.d.ts +10 -0
- package/dist/memory/utils/deep-clone.d.ts.map +1 -0
- package/dist/memory/utils/deep-clone.js +9 -0
- package/dist/memory/utils/index.d.ts +8 -0
- package/dist/memory/utils/index.d.ts.map +1 -0
- package/dist/memory/utils/index.js +7 -0
- package/dist/memory/utils/logger.d.ts +21 -0
- package/dist/memory/utils/logger.d.ts.map +1 -0
- package/dist/memory/utils/logger.js +62 -0
- package/dist/memory/utils/sql-helpers.d.ts +97 -0
- package/dist/memory/utils/sql-helpers.d.ts.map +1 -0
- package/dist/memory/utils/sql-helpers.js +214 -0
- package/dist/memory/utils/validation.d.ts +62 -0
- package/dist/memory/utils/validation.d.ts.map +1 -0
- package/dist/memory/utils/validation.js +244 -0
- package/dist/memory/vector/index.d.ts +12 -0
- package/dist/memory/vector/index.d.ts.map +1 -0
- package/dist/memory/vector/index.js +14 -0
- package/dist/memory/vector/vector-memory-service.d.ts +88 -0
- package/dist/memory/vector/vector-memory-service.d.ts.map +1 -0
- package/dist/memory/vector/vector-memory-service.js +335 -0
- package/dist/observability/logger.d.ts +79 -0
- package/dist/observability/logger.d.ts.map +1 -0
- package/dist/observability/logger.js +165 -0
- package/dist/observability/metrics.d.ts +43 -0
- package/dist/observability/metrics.d.ts.map +1 -0
- package/dist/observability/metrics.js +197 -0
- package/dist/observability/query.d.ts +150 -0
- package/dist/observability/query.d.ts.map +1 -0
- package/dist/observability/query.js +339 -0
- package/dist/observability/types.d.ts +140 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/observability/types.js +6 -0
- package/dist/orchestration/agent.d.ts +98 -0
- package/dist/orchestration/agent.d.ts.map +1 -0
- package/dist/orchestration/agent.js +6 -0
- package/dist/orchestration/defaults.d.ts +21 -0
- package/dist/orchestration/defaults.d.ts.map +1 -0
- package/dist/orchestration/defaults.js +22 -0
- package/dist/orchestration/memory-integration.d.ts +58 -0
- package/dist/orchestration/memory-integration.d.ts.map +1 -0
- package/dist/orchestration/memory-integration.js +130 -0
- package/dist/orchestration/orchestrator.d.ts +67 -0
- package/dist/orchestration/orchestrator.d.ts.map +1 -0
- package/dist/orchestration/orchestrator.js +174 -0
- package/dist/orchestration/runtime.d.ts +82 -0
- package/dist/orchestration/runtime.d.ts.map +1 -0
- package/dist/orchestration/runtime.js +251 -0
- package/dist/orchestration/streaming-runtime.d.ts +36 -0
- package/dist/orchestration/streaming-runtime.d.ts.map +1 -0
- package/dist/orchestration/streaming-runtime.js +175 -0
- package/dist/orchestration/ticket-agent.d.ts +70 -0
- package/dist/orchestration/ticket-agent.d.ts.map +1 -0
- package/dist/orchestration/ticket-agent.js +146 -0
- package/dist/skills/activation/index.d.ts +7 -0
- package/dist/skills/activation/index.d.ts.map +1 -0
- package/dist/skills/activation/index.js +6 -0
- package/dist/skills/activation/skill-activator.d.ts +68 -0
- package/dist/skills/activation/skill-activator.d.ts.map +1 -0
- package/dist/skills/activation/skill-activator.js +224 -0
- package/dist/skills/catalog/catalog-search.d.ts +55 -0
- package/dist/skills/catalog/catalog-search.d.ts.map +1 -0
- package/dist/skills/catalog/catalog-search.js +111 -0
- package/dist/skills/catalog/catalog-types.d.ts +81 -0
- package/dist/skills/catalog/catalog-types.d.ts.map +1 -0
- package/dist/skills/catalog/catalog-types.js +66 -0
- package/dist/skills/catalog/index.d.ts +9 -0
- package/dist/skills/catalog/index.d.ts.map +1 -0
- package/dist/skills/catalog/index.js +7 -0
- package/dist/skills/catalog/vercel-catalog.d.ts +42 -0
- package/dist/skills/catalog/vercel-catalog.d.ts.map +1 -0
- package/dist/skills/catalog/vercel-catalog.js +189 -0
- package/dist/skills/compat/index.d.ts +9 -0
- package/dist/skills/compat/index.d.ts.map +1 -0
- package/dist/skills/compat/index.js +8 -0
- package/dist/skills/compat/skill-enhancer.d.ts +37 -0
- package/dist/skills/compat/skill-enhancer.d.ts.map +1 -0
- package/dist/skills/compat/skill-enhancer.js +76 -0
- package/dist/skills/compat/tool-mapper.d.ts +61 -0
- package/dist/skills/compat/tool-mapper.d.ts.map +1 -0
- package/dist/skills/compat/tool-mapper.js +168 -0
- package/dist/skills/compat/vercel-compat.d.ts +33 -0
- package/dist/skills/compat/vercel-compat.d.ts.map +1 -0
- package/dist/skills/compat/vercel-compat.js +132 -0
- package/dist/skills/index.d.ts +40 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +47 -0
- package/dist/skills/integration/agent-skill-provider.d.ts +94 -0
- package/dist/skills/integration/agent-skill-provider.d.ts.map +1 -0
- package/dist/skills/integration/agent-skill-provider.js +161 -0
- package/dist/skills/integration/index.d.ts +7 -0
- package/dist/skills/integration/index.d.ts.map +1 -0
- package/dist/skills/integration/index.js +6 -0
- package/dist/skills/loader/github-loader.d.ts +61 -0
- package/dist/skills/loader/github-loader.d.ts.map +1 -0
- package/dist/skills/loader/github-loader.js +176 -0
- package/dist/skills/loader/index.d.ts +10 -0
- package/dist/skills/loader/index.d.ts.map +1 -0
- package/dist/skills/loader/index.js +9 -0
- package/dist/skills/loader/local-loader.d.ts +56 -0
- package/dist/skills/loader/local-loader.d.ts.map +1 -0
- package/dist/skills/loader/local-loader.js +186 -0
- package/dist/skills/loader/vercel-loader.d.ts +64 -0
- package/dist/skills/loader/vercel-loader.d.ts.map +1 -0
- package/dist/skills/loader/vercel-loader.js +313 -0
- package/dist/skills/loader/vercel-types.d.ts +64 -0
- package/dist/skills/loader/vercel-types.d.ts.map +1 -0
- package/dist/skills/loader/vercel-types.js +55 -0
- package/dist/skills/parser/index.d.ts +7 -0
- package/dist/skills/parser/index.d.ts.map +1 -0
- package/dist/skills/parser/index.js +6 -0
- package/dist/skills/parser/skill-md-parser.d.ts +64 -0
- package/dist/skills/parser/skill-md-parser.d.ts.map +1 -0
- package/dist/skills/parser/skill-md-parser.js +242 -0
- package/dist/skills/registry/index.d.ts +7 -0
- package/dist/skills/registry/index.d.ts.map +1 -0
- package/dist/skills/registry/index.js +6 -0
- package/dist/skills/registry/skill-registry.d.ts +133 -0
- package/dist/skills/registry/skill-registry.d.ts.map +1 -0
- package/dist/skills/registry/skill-registry.js +373 -0
- package/dist/skills/types.d.ts +216 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +176 -0
- package/dist/templates/agent-spec.d.ts +138 -0
- package/dist/templates/agent-spec.d.ts.map +1 -0
- package/dist/templates/agent-spec.js +138 -0
- package/dist/templates/index.d.ts +56 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +58 -0
- package/dist/templates/prompt-spec.d.ts +140 -0
- package/dist/templates/prompt-spec.d.ts.map +1 -0
- package/dist/templates/prompt-spec.js +210 -0
- package/dist/templates/skill-spec.d.ts +106 -0
- package/dist/templates/skill-spec.d.ts.map +1 -0
- package/dist/templates/skill-spec.js +119 -0
- package/dist/tools/base.d.ts +74 -0
- package/dist/tools/base.d.ts.map +1 -0
- package/dist/tools/base.js +6 -0
- package/dist/tools/cms/collection-tools.d.ts +36 -0
- package/dist/tools/cms/collection-tools.d.ts.map +1 -0
- package/dist/tools/cms/collection-tools.js +178 -0
- package/dist/tools/cms/factory.d.ts +89 -0
- package/dist/tools/cms/factory.d.ts.map +1 -0
- package/dist/tools/cms/factory.js +462 -0
- package/dist/tools/cms/global-tools.d.ts +21 -0
- package/dist/tools/cms/global-tools.d.ts.map +1 -0
- package/dist/tools/cms/global-tools.js +92 -0
- package/dist/tools/cms/index.d.ts +11 -0
- package/dist/tools/cms/index.d.ts.map +1 -0
- package/dist/tools/cms/index.js +11 -0
- package/dist/tools/cms/media-tools.d.ts +31 -0
- package/dist/tools/cms/media-tools.d.ts.map +1 -0
- package/dist/tools/cms/media-tools.js +140 -0
- package/dist/tools/cms/user-tools.d.ts +31 -0
- package/dist/tools/cms/user-tools.d.ts.map +1 -0
- package/dist/tools/cms/user-tools.js +135 -0
- package/dist/tools/deduplicator.d.ts +19 -0
- package/dist/tools/deduplicator.d.ts.map +1 -0
- package/dist/tools/deduplicator.js +53 -0
- package/dist/tools/document-summarizer.d.ts +11 -0
- package/dist/tools/document-summarizer.d.ts.map +1 -0
- package/dist/tools/document-summarizer.js +82 -0
- package/dist/tools/mcp-adapter.d.ts +66 -0
- package/dist/tools/mcp-adapter.d.ts.map +1 -0
- package/dist/tools/mcp-adapter.js +152 -0
- package/dist/tools/memory/index.d.ts +3 -0
- package/dist/tools/memory/index.d.ts.map +1 -0
- package/dist/tools/memory/index.js +1 -0
- package/dist/tools/memory/store-memory.d.ts +39 -0
- package/dist/tools/memory/store-memory.d.ts.map +1 -0
- package/dist/tools/memory/store-memory.js +94 -0
- package/dist/tools/registry.d.ts +14 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +48 -0
- package/dist/tools/ticket-tools.d.ts +31 -0
- package/dist/tools/ticket-tools.d.ts.map +1 -0
- package/dist/tools/ticket-tools.js +74 -0
- package/dist/tools/web/duck-duck-go.d.ts +52 -0
- package/dist/tools/web/duck-duck-go.d.ts.map +1 -0
- package/dist/tools/web/duck-duck-go.js +202 -0
- package/dist/tools/web/exa.d.ts +34 -0
- package/dist/tools/web/exa.d.ts.map +1 -0
- package/dist/tools/web/exa.js +80 -0
- package/dist/tools/web/index.d.ts +6 -0
- package/dist/tools/web/index.d.ts.map +1 -0
- package/dist/tools/web/index.js +4 -0
- package/dist/tools/web/scraper.d.ts +9 -0
- package/dist/tools/web/scraper.d.ts.map +1 -0
- package/dist/tools/web/scraper.js +118 -0
- package/dist/tools/web/tavily.d.ts +32 -0
- package/dist/tools/web/tavily.d.ts.map +1 -0
- package/dist/tools/web/tavily.js +73 -0
- package/dist/tools/web/types.d.ts +31 -0
- package/dist/tools/web/types.d.ts.map +1 -0
- package/dist/tools/web/types.js +9 -0
- package/package.json +143 -0
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CMS Tools Factory
|
|
3
|
+
* Creates CMS tools with API client injected for actual execution
|
|
4
|
+
*/
|
|
5
|
+
import { createDocumentTool, deleteDocumentTool, findDocumentsTool, getDocumentTool, listCollectionsTool, updateDocumentTool, } from './collection-tools.js';
|
|
6
|
+
import { getGlobalTool, listGlobalsTool, updateGlobalTool } from './global-tools.js';
|
|
7
|
+
import { deleteMediaTool, getMediaTool, listMediaTool, updateMediaTool, uploadMediaTool, } from './media-tools.js';
|
|
8
|
+
import { createUserTool, deleteUserTool, getCurrentUserTool, listUsersTool, updateUserTool, } from './user-tools.js';
|
|
9
|
+
/**
|
|
10
|
+
* Create CMS tools with API client injected
|
|
11
|
+
* This factory function creates functional tools by injecting the actual API implementation
|
|
12
|
+
*/
|
|
13
|
+
export function createCMSTools(config) {
|
|
14
|
+
const { apiClient, collections, globals, user } = config;
|
|
15
|
+
// Clone tools and inject API client implementation
|
|
16
|
+
const tools = [];
|
|
17
|
+
// Collection Tools
|
|
18
|
+
tools.push({
|
|
19
|
+
...listCollectionsTool,
|
|
20
|
+
async execute() {
|
|
21
|
+
if (collections && collections.length > 0) {
|
|
22
|
+
return {
|
|
23
|
+
success: true,
|
|
24
|
+
data: { collections, count: collections.length },
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return listCollectionsTool.execute({});
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
tools.push({
|
|
31
|
+
...findDocumentsTool,
|
|
32
|
+
async execute(params) {
|
|
33
|
+
const { collection, page, limit, where, sort } = params;
|
|
34
|
+
try {
|
|
35
|
+
const response = await apiClient.find({
|
|
36
|
+
collection,
|
|
37
|
+
page,
|
|
38
|
+
limit,
|
|
39
|
+
where,
|
|
40
|
+
sort,
|
|
41
|
+
});
|
|
42
|
+
return {
|
|
43
|
+
success: true,
|
|
44
|
+
data: {
|
|
45
|
+
documents: response.docs || [],
|
|
46
|
+
totalDocs: response.totalDocs || 0,
|
|
47
|
+
page: response.page || 1,
|
|
48
|
+
totalPages: response.totalPages || 1,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
return {
|
|
54
|
+
success: false,
|
|
55
|
+
error: `Failed to find documents: ${error instanceof Error ? error.message : String(error)}`,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
tools.push({
|
|
61
|
+
...getDocumentTool,
|
|
62
|
+
async execute(params) {
|
|
63
|
+
const { collection, id } = params;
|
|
64
|
+
try {
|
|
65
|
+
const document = await apiClient.findById(collection, id);
|
|
66
|
+
return {
|
|
67
|
+
success: true,
|
|
68
|
+
data: document,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
return {
|
|
73
|
+
success: false,
|
|
74
|
+
error: `Failed to get document: ${error instanceof Error ? error.message : String(error)}`,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
tools.push({
|
|
80
|
+
...createDocumentTool,
|
|
81
|
+
async execute(params) {
|
|
82
|
+
const { collection, data } = params;
|
|
83
|
+
try {
|
|
84
|
+
const document = await apiClient.create({ collection, data });
|
|
85
|
+
return {
|
|
86
|
+
success: true,
|
|
87
|
+
data: document,
|
|
88
|
+
metadata: {
|
|
89
|
+
message: `Created ${collection} document successfully`,
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
return {
|
|
95
|
+
success: false,
|
|
96
|
+
error: `Failed to create document: ${error instanceof Error ? error.message : String(error)}`,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
tools.push({
|
|
102
|
+
...updateDocumentTool,
|
|
103
|
+
async execute(params) {
|
|
104
|
+
const { collection, id, data } = params;
|
|
105
|
+
try {
|
|
106
|
+
const document = await apiClient.update({ collection, id, data });
|
|
107
|
+
return {
|
|
108
|
+
success: true,
|
|
109
|
+
data: document,
|
|
110
|
+
metadata: {
|
|
111
|
+
message: `Updated ${collection} document successfully`,
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
return {
|
|
117
|
+
success: false,
|
|
118
|
+
error: `Failed to update document: ${error instanceof Error ? error.message : String(error)}`,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
tools.push({
|
|
124
|
+
...deleteDocumentTool,
|
|
125
|
+
async execute(params) {
|
|
126
|
+
const { collection, id } = params;
|
|
127
|
+
try {
|
|
128
|
+
await apiClient.delete({ collection, id });
|
|
129
|
+
return {
|
|
130
|
+
success: true,
|
|
131
|
+
metadata: {
|
|
132
|
+
message: `Deleted ${collection} document successfully`,
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
return {
|
|
138
|
+
success: false,
|
|
139
|
+
error: `Failed to delete document: ${error instanceof Error ? error.message : String(error)}`,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
// Global Tools
|
|
145
|
+
tools.push({
|
|
146
|
+
...listGlobalsTool,
|
|
147
|
+
async execute() {
|
|
148
|
+
if (globals && globals.length > 0) {
|
|
149
|
+
return {
|
|
150
|
+
success: true,
|
|
151
|
+
data: { globals, count: globals.length },
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
return listGlobalsTool.execute({});
|
|
155
|
+
},
|
|
156
|
+
});
|
|
157
|
+
tools.push({
|
|
158
|
+
...getGlobalTool,
|
|
159
|
+
async execute(params) {
|
|
160
|
+
const { slug, depth } = params;
|
|
161
|
+
try {
|
|
162
|
+
const global = await apiClient.findGlobal({ slug, depth });
|
|
163
|
+
return {
|
|
164
|
+
success: true,
|
|
165
|
+
data: global,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
return {
|
|
170
|
+
success: false,
|
|
171
|
+
error: `Failed to get global: ${error instanceof Error ? error.message : String(error)}`,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
});
|
|
176
|
+
tools.push({
|
|
177
|
+
...updateGlobalTool,
|
|
178
|
+
async execute(params) {
|
|
179
|
+
const { slug, data } = params;
|
|
180
|
+
try {
|
|
181
|
+
const global = await apiClient.updateGlobal({ slug, data });
|
|
182
|
+
return {
|
|
183
|
+
success: true,
|
|
184
|
+
data: global,
|
|
185
|
+
metadata: {
|
|
186
|
+
message: `Updated ${slug} global successfully`,
|
|
187
|
+
},
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
return {
|
|
192
|
+
success: false,
|
|
193
|
+
error: `Failed to update global: ${error instanceof Error ? error.message : String(error)}`,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
// Media Tools (use collection 'media' for now)
|
|
199
|
+
tools.push({
|
|
200
|
+
...listMediaTool,
|
|
201
|
+
async execute(params) {
|
|
202
|
+
const { page, limit, mimeType } = params;
|
|
203
|
+
try {
|
|
204
|
+
const where = mimeType ? { mimeType } : undefined;
|
|
205
|
+
const response = await apiClient.find({
|
|
206
|
+
collection: 'media',
|
|
207
|
+
page,
|
|
208
|
+
limit,
|
|
209
|
+
where,
|
|
210
|
+
});
|
|
211
|
+
return {
|
|
212
|
+
success: true,
|
|
213
|
+
data: {
|
|
214
|
+
media: response.docs || [],
|
|
215
|
+
totalDocs: response.totalDocs || 0,
|
|
216
|
+
page: response.page || 1,
|
|
217
|
+
totalPages: response.totalPages || 1,
|
|
218
|
+
},
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
return {
|
|
223
|
+
success: false,
|
|
224
|
+
error: `Failed to list media: ${error instanceof Error ? error.message : String(error)}`,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
});
|
|
229
|
+
tools.push({
|
|
230
|
+
...getMediaTool,
|
|
231
|
+
async execute(params) {
|
|
232
|
+
const { id } = params;
|
|
233
|
+
try {
|
|
234
|
+
const media = await apiClient.findById('media', id);
|
|
235
|
+
return {
|
|
236
|
+
success: true,
|
|
237
|
+
data: media,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
catch (error) {
|
|
241
|
+
return {
|
|
242
|
+
success: false,
|
|
243
|
+
error: `Failed to get media: ${error instanceof Error ? error.message : String(error)}`,
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
});
|
|
248
|
+
tools.push({
|
|
249
|
+
...uploadMediaTool,
|
|
250
|
+
async execute(params) {
|
|
251
|
+
const { filename, mimeType, data: _data, alt, } = params;
|
|
252
|
+
try {
|
|
253
|
+
// For now, create media document
|
|
254
|
+
// In full implementation, would upload to storage first
|
|
255
|
+
const media = await apiClient.create({
|
|
256
|
+
collection: 'media',
|
|
257
|
+
data: {
|
|
258
|
+
filename,
|
|
259
|
+
mimeType,
|
|
260
|
+
alt,
|
|
261
|
+
// Note: Actual file upload would happen here
|
|
262
|
+
},
|
|
263
|
+
});
|
|
264
|
+
return {
|
|
265
|
+
success: true,
|
|
266
|
+
data: media,
|
|
267
|
+
metadata: {
|
|
268
|
+
message: `Uploaded ${filename} successfully`,
|
|
269
|
+
},
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
catch (error) {
|
|
273
|
+
return {
|
|
274
|
+
success: false,
|
|
275
|
+
error: `Failed to upload media: ${error instanceof Error ? error.message : String(error)}`,
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
});
|
|
280
|
+
tools.push({
|
|
281
|
+
...updateMediaTool,
|
|
282
|
+
async execute(params) {
|
|
283
|
+
const { id, alt, title, description } = params;
|
|
284
|
+
try {
|
|
285
|
+
const data = {};
|
|
286
|
+
if (alt !== undefined)
|
|
287
|
+
data.alt = alt;
|
|
288
|
+
if (title !== undefined)
|
|
289
|
+
data.title = title;
|
|
290
|
+
if (description !== undefined)
|
|
291
|
+
data.description = description;
|
|
292
|
+
const media = await apiClient.update({
|
|
293
|
+
collection: 'media',
|
|
294
|
+
id,
|
|
295
|
+
data,
|
|
296
|
+
});
|
|
297
|
+
return {
|
|
298
|
+
success: true,
|
|
299
|
+
data: media,
|
|
300
|
+
metadata: {
|
|
301
|
+
message: 'Updated media metadata successfully',
|
|
302
|
+
},
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
catch (error) {
|
|
306
|
+
return {
|
|
307
|
+
success: false,
|
|
308
|
+
error: `Failed to update media: ${error instanceof Error ? error.message : String(error)}`,
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
});
|
|
313
|
+
tools.push({
|
|
314
|
+
...deleteMediaTool,
|
|
315
|
+
async execute(params) {
|
|
316
|
+
const { id } = params;
|
|
317
|
+
try {
|
|
318
|
+
await apiClient.delete({ collection: 'media', id });
|
|
319
|
+
return {
|
|
320
|
+
success: true,
|
|
321
|
+
metadata: {
|
|
322
|
+
message: 'Deleted media successfully',
|
|
323
|
+
},
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
catch (error) {
|
|
327
|
+
return {
|
|
328
|
+
success: false,
|
|
329
|
+
error: `Failed to delete media: ${error instanceof Error ? error.message : String(error)}`,
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
});
|
|
334
|
+
// User Tools (use collection 'users' for now)
|
|
335
|
+
tools.push({
|
|
336
|
+
...getCurrentUserTool,
|
|
337
|
+
async execute() {
|
|
338
|
+
if (user) {
|
|
339
|
+
return {
|
|
340
|
+
success: true,
|
|
341
|
+
data: user,
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
return {
|
|
345
|
+
success: false,
|
|
346
|
+
error: 'No user context available',
|
|
347
|
+
};
|
|
348
|
+
},
|
|
349
|
+
});
|
|
350
|
+
tools.push({
|
|
351
|
+
...listUsersTool,
|
|
352
|
+
async execute(params) {
|
|
353
|
+
const { page, limit, role } = params;
|
|
354
|
+
try {
|
|
355
|
+
const where = role ? { role } : undefined;
|
|
356
|
+
const response = await apiClient.find({
|
|
357
|
+
collection: 'users',
|
|
358
|
+
page,
|
|
359
|
+
limit,
|
|
360
|
+
where,
|
|
361
|
+
});
|
|
362
|
+
return {
|
|
363
|
+
success: true,
|
|
364
|
+
data: {
|
|
365
|
+
users: response.docs || [],
|
|
366
|
+
totalDocs: response.totalDocs || 0,
|
|
367
|
+
page: response.page || 1,
|
|
368
|
+
totalPages: response.totalPages || 1,
|
|
369
|
+
},
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
catch (error) {
|
|
373
|
+
return {
|
|
374
|
+
success: false,
|
|
375
|
+
error: `Failed to list users: ${error instanceof Error ? error.message : String(error)}`,
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
},
|
|
379
|
+
});
|
|
380
|
+
tools.push({
|
|
381
|
+
...createUserTool,
|
|
382
|
+
async execute(params) {
|
|
383
|
+
const { email, password, name, role } = params;
|
|
384
|
+
try {
|
|
385
|
+
const user = await apiClient.create({
|
|
386
|
+
collection: 'users',
|
|
387
|
+
data: { email, password, name, role },
|
|
388
|
+
});
|
|
389
|
+
return {
|
|
390
|
+
success: true,
|
|
391
|
+
data: user,
|
|
392
|
+
metadata: {
|
|
393
|
+
message: `Created user ${email} successfully`,
|
|
394
|
+
},
|
|
395
|
+
};
|
|
396
|
+
}
|
|
397
|
+
catch (error) {
|
|
398
|
+
return {
|
|
399
|
+
success: false,
|
|
400
|
+
error: `Failed to create user: ${error instanceof Error ? error.message : String(error)}`,
|
|
401
|
+
};
|
|
402
|
+
}
|
|
403
|
+
},
|
|
404
|
+
});
|
|
405
|
+
tools.push({
|
|
406
|
+
...updateUserTool,
|
|
407
|
+
async execute(params) {
|
|
408
|
+
const { id, email, name, role, password } = params;
|
|
409
|
+
try {
|
|
410
|
+
const data = {};
|
|
411
|
+
if (email !== undefined)
|
|
412
|
+
data.email = email;
|
|
413
|
+
if (name !== undefined)
|
|
414
|
+
data.name = name;
|
|
415
|
+
if (role !== undefined)
|
|
416
|
+
data.role = role;
|
|
417
|
+
if (password !== undefined)
|
|
418
|
+
data.password = password;
|
|
419
|
+
const user = await apiClient.update({
|
|
420
|
+
collection: 'users',
|
|
421
|
+
id,
|
|
422
|
+
data,
|
|
423
|
+
});
|
|
424
|
+
return {
|
|
425
|
+
success: true,
|
|
426
|
+
data: user,
|
|
427
|
+
metadata: {
|
|
428
|
+
message: 'Updated user successfully',
|
|
429
|
+
},
|
|
430
|
+
};
|
|
431
|
+
}
|
|
432
|
+
catch (error) {
|
|
433
|
+
return {
|
|
434
|
+
success: false,
|
|
435
|
+
error: `Failed to update user: ${error instanceof Error ? error.message : String(error)}`,
|
|
436
|
+
};
|
|
437
|
+
}
|
|
438
|
+
},
|
|
439
|
+
});
|
|
440
|
+
tools.push({
|
|
441
|
+
...deleteUserTool,
|
|
442
|
+
async execute(params) {
|
|
443
|
+
const { id } = params;
|
|
444
|
+
try {
|
|
445
|
+
await apiClient.delete({ collection: 'users', id });
|
|
446
|
+
return {
|
|
447
|
+
success: true,
|
|
448
|
+
metadata: {
|
|
449
|
+
message: 'Deleted user successfully',
|
|
450
|
+
},
|
|
451
|
+
};
|
|
452
|
+
}
|
|
453
|
+
catch (error) {
|
|
454
|
+
return {
|
|
455
|
+
success: false,
|
|
456
|
+
error: `Failed to delete user: ${error instanceof Error ? error.message : String(error)}`,
|
|
457
|
+
};
|
|
458
|
+
}
|
|
459
|
+
},
|
|
460
|
+
});
|
|
461
|
+
return tools;
|
|
462
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CMS Global Tools
|
|
3
|
+
* Tools for managing global content (Header, Footer, Settings)
|
|
4
|
+
*/
|
|
5
|
+
import type { Tool } from '../base.js';
|
|
6
|
+
/**
|
|
7
|
+
* Tool: List all globals
|
|
8
|
+
* Returns available global configurations
|
|
9
|
+
*/
|
|
10
|
+
export declare const listGlobalsTool: Tool;
|
|
11
|
+
/**
|
|
12
|
+
* Tool: Get a global by slug
|
|
13
|
+
* Retrieve global configuration data
|
|
14
|
+
*/
|
|
15
|
+
export declare const getGlobalTool: Tool;
|
|
16
|
+
/**
|
|
17
|
+
* Tool: Update a global
|
|
18
|
+
* Modify global configuration
|
|
19
|
+
*/
|
|
20
|
+
export declare const updateGlobalTool: Tool;
|
|
21
|
+
//# sourceMappingURL=global-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/cms/global-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,YAAY,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,IA6B7B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,IAwB3B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,IA+B9B,CAAA"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CMS Global Tools
|
|
3
|
+
* Tools for managing global content (Header, Footer, Settings)
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod/v4';
|
|
6
|
+
/**
|
|
7
|
+
* Tool: List all globals
|
|
8
|
+
* Returns available global configurations
|
|
9
|
+
*/
|
|
10
|
+
export const listGlobalsTool = {
|
|
11
|
+
name: 'list_globals',
|
|
12
|
+
description: 'Get a list of all available CMS globals. Globals are site-wide settings like Header, Footer, and Settings.',
|
|
13
|
+
parameters: z.object({}),
|
|
14
|
+
async execute() {
|
|
15
|
+
try {
|
|
16
|
+
// This will be injected with RevealUI config at runtime
|
|
17
|
+
const globals = [
|
|
18
|
+
{ slug: 'header', label: 'Header', description: 'Site header and navigation' },
|
|
19
|
+
{ slug: 'footer', label: 'Footer', description: 'Site footer content' },
|
|
20
|
+
{ slug: 'settings', label: 'Settings', description: 'Global site settings' },
|
|
21
|
+
];
|
|
22
|
+
return {
|
|
23
|
+
success: true,
|
|
24
|
+
data: {
|
|
25
|
+
globals,
|
|
26
|
+
count: globals.length,
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
return {
|
|
32
|
+
success: false,
|
|
33
|
+
error: `Failed to list globals: ${error instanceof Error ? error.message : String(error)}`,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Tool: Get a global by slug
|
|
40
|
+
* Retrieve global configuration data
|
|
41
|
+
*/
|
|
42
|
+
export const getGlobalTool = {
|
|
43
|
+
name: 'get_global',
|
|
44
|
+
description: 'Get the current configuration of a CMS global. Use this to see the current state before updating (e.g., current header navigation items).',
|
|
45
|
+
parameters: z.object({
|
|
46
|
+
slug: z.string().describe('The global slug (e.g., "header", "footer", "settings")'),
|
|
47
|
+
depth: z.number().optional().describe('Depth of populated relationships (default: 0, max: 10)'),
|
|
48
|
+
}),
|
|
49
|
+
async execute(params) {
|
|
50
|
+
const { slug: _slug, depth: _depth = 0 } = params;
|
|
51
|
+
try {
|
|
52
|
+
// API client will be injected at runtime
|
|
53
|
+
throw new Error('API client not configured. This tool must be registered with an API client instance.');
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
return {
|
|
57
|
+
success: false,
|
|
58
|
+
error: `Failed to get global: ${error instanceof Error ? error.message : String(error)}`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Tool: Update a global
|
|
65
|
+
* Modify global configuration
|
|
66
|
+
*/
|
|
67
|
+
export const updateGlobalTool = {
|
|
68
|
+
name: 'update_global',
|
|
69
|
+
description: 'Update a CMS global configuration. Use this to modify site-wide settings like header navigation, footer links, or global settings. Common uses:\n- Add/remove navigation links in header\n- Update footer content\n- Change site-wide settings\n\nExample for header navigation:\n{\n "slug": "header",\n "data": {\n "navItems": [\n {"link": {"type": "custom", "label": "Home", "url": "/"}},\n {"link": {"type": "custom", "label": "About", "url": "/about"}}\n ]\n }\n}',
|
|
70
|
+
parameters: z.object({
|
|
71
|
+
slug: z.string().describe('The global slug (e.g., "header", "footer", "settings")'),
|
|
72
|
+
data: z
|
|
73
|
+
.record(z.string(), z.unknown())
|
|
74
|
+
.describe('The global data to update as key-value pairs. For header/footer, this typically includes:\n' +
|
|
75
|
+
'- navItems: Array of navigation items\n' +
|
|
76
|
+
'- Each navItem has a "link" object with type, label, url, and optional newTab\n' +
|
|
77
|
+
'Example: {navItems: [{link: {type: "custom", label: "Home", url: "/"}}]}'),
|
|
78
|
+
}),
|
|
79
|
+
async execute(params) {
|
|
80
|
+
const { slug: _slug, data: _data } = params;
|
|
81
|
+
try {
|
|
82
|
+
// API client will be injected at runtime
|
|
83
|
+
throw new Error('API client not configured. This tool must be registered with an API client instance.');
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
return {
|
|
87
|
+
success: false,
|
|
88
|
+
error: `Failed to update global: ${error instanceof Error ? error.message : String(error)}`,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CMS Tools Package
|
|
3
|
+
* Complete set of tools for AI-powered CMS management
|
|
4
|
+
*/
|
|
5
|
+
export { createDocumentTool, deleteDocumentTool, findDocumentsTool, getDocumentTool, listCollectionsTool, updateDocumentTool, } from './collection-tools.js';
|
|
6
|
+
export type { CMSAPIClient, CMSToolsConfig, CollectionMetadata, GlobalMetadata, UserContext, } from './factory.js';
|
|
7
|
+
export { createCMSTools } from './factory.js';
|
|
8
|
+
export { getGlobalTool, listGlobalsTool, updateGlobalTool } from './global-tools.js';
|
|
9
|
+
export { deleteMediaTool, getMediaTool, listMediaTool, updateMediaTool, uploadMediaTool, } from './media-tools.js';
|
|
10
|
+
export { createUserTool, deleteUserTool, getCurrentUserTool, listUsersTool, updateUserTool, } from './user-tools.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/cms/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,WAAW,GACZ,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpF,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,GAChB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EACL,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,GACf,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CMS Tools Package
|
|
3
|
+
* Complete set of tools for AI-powered CMS management
|
|
4
|
+
*/
|
|
5
|
+
// Export individual tool definitions (for documentation/reference)
|
|
6
|
+
export { createDocumentTool, deleteDocumentTool, findDocumentsTool, getDocumentTool, listCollectionsTool, updateDocumentTool, } from './collection-tools.js';
|
|
7
|
+
// Export factory for creating functional tools
|
|
8
|
+
export { createCMSTools } from './factory.js';
|
|
9
|
+
export { getGlobalTool, listGlobalsTool, updateGlobalTool } from './global-tools.js';
|
|
10
|
+
export { deleteMediaTool, getMediaTool, listMediaTool, updateMediaTool, uploadMediaTool, } from './media-tools.js';
|
|
11
|
+
export { createUserTool, deleteUserTool, getCurrentUserTool, listUsersTool, updateUserTool, } from './user-tools.js';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CMS Media Tools
|
|
3
|
+
* Tools for managing media files (images, videos, documents)
|
|
4
|
+
*/
|
|
5
|
+
import type { Tool } from '../base.js';
|
|
6
|
+
/**
|
|
7
|
+
* Tool: List media files
|
|
8
|
+
* Browse the media library
|
|
9
|
+
*/
|
|
10
|
+
export declare const listMediaTool: Tool;
|
|
11
|
+
/**
|
|
12
|
+
* Tool: Get media by ID
|
|
13
|
+
* Retrieve a specific media file
|
|
14
|
+
*/
|
|
15
|
+
export declare const getMediaTool: Tool;
|
|
16
|
+
/**
|
|
17
|
+
* Tool: Upload media
|
|
18
|
+
* Upload a new media file
|
|
19
|
+
*/
|
|
20
|
+
export declare const uploadMediaTool: Tool;
|
|
21
|
+
/**
|
|
22
|
+
* Tool: Delete media
|
|
23
|
+
* Remove a media file from the library
|
|
24
|
+
*/
|
|
25
|
+
export declare const deleteMediaTool: Tool;
|
|
26
|
+
/**
|
|
27
|
+
* Tool: Update media metadata
|
|
28
|
+
* Update media file metadata (alt text, title, etc.)
|
|
29
|
+
*/
|
|
30
|
+
export declare const updateMediaTool: Tool;
|
|
31
|
+
//# sourceMappingURL=media-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/cms/media-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,YAAY,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,IAqC3B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,IAsB1B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,IAyC7B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,IAuB7B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,IAoC7B,CAAA"}
|