diff --git a/.env.example b/.env.example index 38f6234c..8b7c85d1 100644 --- a/.env.example +++ b/.env.example @@ -3,4 +3,5 @@ AGENT_BASE_URL=http://127.0.0.1:3500 AGENT_BEARER_TOKEN= # KV-store is hitting Agentuity Service API, this can be found in `agent-docs` after running `agentuity dev` -AGENTUITY_API_KEY= \ No newline at end of file +AGENTUITY_SDK_KEY= +AGENTUITY_REGION=use \ No newline at end of file diff --git a/.github/workflows/sync-docs-full.yml b/.github/workflows/sync-docs-full.yml index 30c0f083..a0528d4a 100644 --- a/.github/workflows/sync-docs-full.yml +++ b/.github/workflows/sync-docs-full.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: jobs: - sync: + full-sync: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -24,4 +24,4 @@ jobs: set -euo pipefail cat all-files.txt | \ ./bin/build-payload.sh "${{ github.repository }}" full | \ - ./bin/send-webhook.sh "https://agentuity.ai/webhook/f61d5ce9d6ed85695cc992c55ccdc2a6" "Bearer $AGENTUITY_TOKEN" \ No newline at end of file + ./bin/send-webhook.sh "https://p0f83a312791b60ff.agentuity.run/api/process-docs" "Bearer $AGENTUITY_TOKEN" \ No newline at end of file diff --git a/.github/workflows/sync-docs.yml b/.github/workflows/sync-docs.yml index 87241c38..1a6193b0 100644 --- a/.github/workflows/sync-docs.yml +++ b/.github/workflows/sync-docs.yml @@ -67,4 +67,4 @@ jobs: set -euo pipefail cat changed-files.txt | \ ./bin/build-payload.sh "${{ github.repository }}" incremental | \ - ./bin/send-webhook.sh "https://agentuity.ai/webhook/f61d5ce9d6ed85695cc992c55ccdc2a6" "Bearer $AGENTUITY_TOKEN" \ No newline at end of file + ./bin/send-webhook.sh "https://p0f83a312791b60ff.agentuity.run/api/process-docs" "Bearer $AGENTUITY_TOKEN" \ No newline at end of file diff --git a/agent-docs/.cursor/rules/agent.mdc b/agent-docs/.cursor/rules/agent.mdc deleted file mode 100644 index 353f002a..00000000 --- a/agent-docs/.cursor/rules/agent.mdc +++ /dev/null @@ -1,36 +0,0 @@ ---- -description: Guidelines for writing Agentuity AI Agents in TypeScript -globs: "**/src/agents/**/index.ts" -alwaysApply: true ---- - -# AI Agent File - -- Prefer using the `agentuity agent create` command to create a new Agent -- Prefer loading types from the node modules package `@agentuity/sdk` in the node_modules folder -- The file should export a default function -- Prefer naming the default function Agent or the name of the Agent based on the context of the Agent description -- All code should be in Typescript format -- Use the provided logger from the `AgentContext` interface such as `ctx.logger.info("my message: %s", "hello")` - -## Example Agent File - -```typescript -import type { AgentRequest, AgentResponse, AgentContext } from "@agentuity/sdk"; - -export default async function Agent(req: AgentRequest, resp: AgentResponse, ctx: AgentContext) { - return resp.json({hello: 'world'}); -} -``` - -### AgentRequest - -The AgentRequest interface provides a set of helper methods and public variables which can be used for working with data has been passed to the Agent. - -### AgentResponse - -The AgentResponse interface provides a set of helper methods for responding with different data formats from the Agent. - -### AgentContext - -The AgentContext has information specific to the incoming Agent request and a set of helper methods for accessing AI services like KeyValue storage and Vector storage. diff --git a/agent-docs/.cursor/rules/agentuity.mdc b/agent-docs/.cursor/rules/agentuity.mdc deleted file mode 100644 index bba764b5..00000000 --- a/agent-docs/.cursor/rules/agentuity.mdc +++ /dev/null @@ -1,9 +0,0 @@ ---- -description: Guidelines for the Agentuity AI Configuration file -globs: "agentuity.yaml" -alwaysApply: true ---- - -# Agentuity Configuration File - -This file is used by Agentuity to configure the AI Agent project. You should NOT suggest edits to this file. diff --git a/agent-docs/.cursor/rules/sdk.mdc b/agent-docs/.cursor/rules/sdk.mdc deleted file mode 100644 index ee84aefe..00000000 --- a/agent-docs/.cursor/rules/sdk.mdc +++ /dev/null @@ -1,97 +0,0 @@ ---- -description: Agentuity JavaScript SDK API Reference -globs: "src/agents/**/*.ts" -alwaysApply: false ---- - -# Agentuity JavaScript SDK - -The Agentuity JavaScript SDK provides a powerful framework for building AI agents in JavaScript and TypeScript. This cursor rules file helps you navigate the SDK's core interfaces and methods. - -## Core Interfaces - -### AgentHandler - -The main handler function type for an agent: - -```typescript -type AgentHandler = ( - request: AgentRequest, - response: AgentResponse, - context: AgentContext -) => Promise; -``` - -### AgentRequest - -The `AgentRequest` interface provides methods for accessing request data: - -- `request.trigger`: Gets the trigger type of the request -- `request.metadata(key, defaultValue)`: Gets metadata associated with the request -- `request.get(key, defaultValue)`: Gets the metadata value of the request -- `request.data.contentType`: Gets the content type of the request payload -- `request.data.json(): Promise`: Gets the payload as a JSON object -- `request.data.text(): Promise`: Gets the payload as a string -- `request.data.buffer(): Promise`: Gets the payload as a ArrayBuffer -- `request.data.binary(): Promise`: Gets the payload as a ArrayBuffer -- `request.data.object: Promise`: Gets the payload as a typed object - -### AgentResponse - -The `AgentResponse` interface provides methods for creating responses: - -- `response.json(data, metadata)`: Creates a JSON response -- `response.text(data, metadata)`: Creates a text response -- `response.binary(data, metadata)`: Creates a binary response -- `response.html(data, metadata)`: Creates an HTML response -- `response.empty(metadata)`: Creates an empty response -- `response.handoff(agent, args?)`: Redirects to another agent within the same project - -### AgentContext - -The `AgentContext` interface provides access to various capabilities: - -- `context.logger`: Logging functionality -- `context.kv`: Key-Value storage -- `context.vector`: Vector storage -- `context.getAgent(params)`: Gets a handle to a remote agent -- `context.tracer`: OpenTelemetry tracing - -## Storage APIs - -### Key-Value Storage - -Access through `context.kv`: - -- `context.kv.get(name, key)`: Retrieves a value -- `context.kv.set(name, key, value, params)`: Stores a value with optional params (KeyValueStorageSetParams) -- `context.kv.delete(name, key)`: Deletes a value - -### Vector Storage - -Access through `context.vector`: - -- `context.vector.upsert(name, ...documents)`: Inserts or updates vectors -- `context.vector.search(name, params)`: Searches for vectors -- `context.vector.delete(name, ...ids)`: Deletes vectors - -## Logging - -Access through `context.logger`: - -- `context.logger.debug(message, ...args)`: Logs a debug message -- `context.logger.info(message, ...args)`: Logs an informational message -- `context.logger.warn(message, ...args)`: Logs a warning message -- `context.logger.error(message, ...args)`: Logs an error message -- `context.logger.child(opts)`: Creates a child logger with additional context - -## Best Practices - -- Use TypeScript for better type safety and IDE support -- Import types from `@agentuity/sdk` -- Use structured error handling with try/catch blocks -- Leverage the provided logger for consistent logging -- Use the storage APIs for persisting data -- Consider agent communication for complex workflows - -For complete documentation, visit: https://agentuity.dev/SDKs/javascript/api-reference diff --git a/agent-docs/.editorconfig b/agent-docs/.editorconfig deleted file mode 100644 index 2593d1ad..00000000 --- a/agent-docs/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -# EditorConfig is awesome: https://EditorConfig.org - -# top-most EditorConfig file -root = true - -[*] -indent_style = tab -indent_size = 2 -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = false -insert_final_newline = false \ No newline at end of file diff --git a/agent-docs/README.md b/agent-docs/README.md deleted file mode 100644 index 151dad8f..00000000 --- a/agent-docs/README.md +++ /dev/null @@ -1,113 +0,0 @@ -
- Agentuity
- Build Agents, Not Infrastructure
-
- - - -
-
- -# 🤖 Bun Agent Project - -Welcome to your Agentuity Bun Agent project! This README provides essential information to help you get started with developing, testing, and deploying your AI agents. - -## 📋 Prerequisites - -Before you begin, ensure you have the following installed: - -- **Bun**: Version 1.2.4 or higher - -## 🚀 Getting Started - -### Authentication - -Before using Agentuity, you need to authenticate: - -```bash -agentuity login -``` - -This command will open a browser window where you can log in to your Agentuity account. - -### Creating a New Agent - -To create a new agent in your project: - -```bash -agentuity agent new -``` - -Follow the interactive prompts to configure your agent. - -### Development Mode - -Make sure bun packages are properly installed: -```bash -bun install -``` - -Run your project in development mode with: -```bash -agentuity dev -``` - -This will start your project and open a new browser window connecting your agent to the Agentuity App in DevMode, allowing you to test and debug your agent in real-time. - -## 🌐 Deployment - -When you're ready to deploy your agent to the Agentuity Cloud: - -```bash -agentuity deploy -``` - -This command will bundle your agent and deploy it to the cloud, making it accessible via the Agentuity platform. - -## 📚 Project Structure - -``` -├── agents/ # Agent definitions and implementations -├── node_modules/ # Dependencies -├── package.json # Project dependencies and scripts -└── agentuity.yaml # Agentuity project configuration -``` - -## 🔧 Configuration - -Your project configuration is stored in `agentuity.yaml`. This file defines your agents, development settings, and deployment configuration. - -## 🛠️ Advanced Usage - -### Environment Variables - -You can set environment variables for your project: - -```bash -agentuity env set KEY VALUE -``` - -### Secrets Management - -For sensitive information, use secrets: - -```bash -agentuity env set --secret KEY VALUE -``` - -## 📖 Documentation - -For comprehensive documentation on the Agentuity JavaScript SDK, visit: -[https://agentuity.dev/SDKs/javascript](https://agentuity.dev/SDKs/javascript) - -## 🆘 Troubleshooting - -If you encounter any issues: - -1. Check the [documentation](https://agentuity.dev/SDKs/javascript) -2. Join our [Discord community](https://discord.gg/agentuity) for support -3. Contact the Agentuity support team - -## 📝 License - -This project is licensed under the terms specified in the LICENSE file. diff --git a/agent-docs/agentuity.yaml b/agent-docs/agentuity.yaml deleted file mode 100644 index df0289d7..00000000 --- a/agent-docs/agentuity.yaml +++ /dev/null @@ -1,83 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/agentuity/cli/refs/heads/main/agentuity.schema.json - -# ------------------------------------------------ -# This file is generated by Agentuity -# You should check this file into version control -# ------------------------------------------------ - -# The version semver range required to run this project -version: '>=0.0.148' -# The ID of the project which is automatically generated -project_id: proj_2ee6652311249a41647c03f7c87a1553 -# The name of the project which is editable -name: agent-docs -# The description of the project which is editable -description: "" -# The development configuration for the project -development: - # The port to run the development server on which can be overridden by setting the PORT environment variable - port: 3500 - watch: - # Whether to watch for changes and automatically restart the server - enabled: true - # Rules for files to watch for changes - files: - - src/** - # The command to run the development server - command: bun - # The arguments to pass to the development server - args: - - run - - --silent - - --env-file=.env - - --env-file=.env.development - - .agentuity/index.js -deployment: - command: bun - args: - - run - - --no-install - - --prefer-offline - - --silent - - --no-macros - - --no-global-search-paths - - --report-uncaught-exception - - --disable-sigusr1 - - --disallow-code-generation-from-strings - - --no-addons - - --no-deprecation - - .agentuity/index.js - # You should tune the resources for the deployment - resources: - # The memory requirements - memory: 350Mi - # The CPU requirements - cpu: 500M - # The disk size requirements - disk: 350Mi -# You should not need to change these value -bundler: - enabled: true - identifier: bunjs - language: javascript - runtime: bunjs - agents: - dir: src/agents - ignore: - - node_modules/** - - dist/** - - src/** -# The agents that are part of this project -agents: - - # The ID of the Agent which is automatically generated - id: agent_f61d5ce9d6ed85695cc992c55ccdc2a6 - # The name of the Agent which is editable - name: doc-processing - # The description of the Agent which is editable - description: An applicaiton that process documents - - id: agent_9ccc5545e93644bd9d7954e632a55a61 - name: doc-qa - description: Agent that can answer questions based on dev docs as the knowledge base - - id: agent_ddcb59aa4473f1323be5d9f5fb62b74e - name: agent-pulse - description: Agentuity web app agent that converses with users for generate conversation and structured docs tutorials. diff --git a/agent-docs/biome.json b/agent-docs/biome.json deleted file mode 100644 index d29f387a..00000000 --- a/agent-docs/biome.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "//", - "root": false, - "files": { - "includes": ["**", "!**/.agentuity/**", "!**/.next/**"] - } -} diff --git a/agent-docs/bun.lock b/agent-docs/bun.lock deleted file mode 100644 index 1002c407..00000000 --- a/agent-docs/bun.lock +++ /dev/null @@ -1,1293 +0,0 @@ -{ - "lockfileVersion": 1, - "workspaces": { - "": { - "name": "agent-docs", - "dependencies": { - "@agentuity/sdk": "^0.0.157", - "@ai-sdk/openai": "^1.3.22", - "ai": "^4.3.16", - "gray-matter": "^4.0.3", - "langchain": "^0.3.28", - "source-map-js": "^1.2.1", - "vitest": "^3.2.3", - }, - "devDependencies": { - "@biomejs/biome": "2.1.2", - "@types/bun": "^1.2.16", - }, - "peerDependencies": { - "typescript": "^5", - }, - }, - }, - "packages": { - "@agentuity/sdk": ["@agentuity/sdk@0.0.157", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/api-logs": "^0.57.2", "@opentelemetry/auto-instrumentations-node": "^0.56.1", "@opentelemetry/core": "^1.21.0", "@opentelemetry/exporter-logs-otlp-http": "^0.57.2", "@opentelemetry/exporter-metrics-otlp-http": "^0.57.2", "@opentelemetry/exporter-trace-otlp-http": "^0.57.2", "@opentelemetry/host-metrics": "^0.35.5", "@opentelemetry/resources": "^1.30.1", "@opentelemetry/sdk-logs": "^0.57.2", "@opentelemetry/sdk-metrics": "^1.30.1", "@opentelemetry/sdk-node": "^0.57.2", "@opentelemetry/semantic-conventions": "^1.30.0", "@traceloop/node-server-sdk": "^0.18.1", "js-yaml": "^4.1.0", "mailparser": "^3.7.4", "nodemailer": "^7.0.3" }, "peerDependencies": { "botbuilder": "^4.23.2", "typescript": "^5" } }, "sha512-xG4gFEDobY9+oyr5WP5sNBBGsm4urs7USkAn9a64qPb1td5UkBMsp3NqBGkYzgyHKiFG9uNxMCma21Np3IfEdA=="], - - "@ai-sdk/openai": ["@ai-sdk/openai@1.3.22", "", { "dependencies": { "@ai-sdk/provider": "1.1.3", "@ai-sdk/provider-utils": "2.2.8" }, "peerDependencies": { "zod": "^3.0.0" } }, "sha512-QwA+2EkG0QyjVR+7h6FE7iOu2ivNqAVMm9UJZkVxxTk5OIq5fFJDTEI/zICEMuHImTTXR2JjsL6EirJ28Jc4cw=="], - - "@ai-sdk/provider": ["@ai-sdk/provider@1.1.3", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg=="], - - "@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@2.2.8", "", { "dependencies": { "@ai-sdk/provider": "1.1.3", "nanoid": "^3.3.8", "secure-json-parse": "^2.7.0" }, "peerDependencies": { "zod": "^3.23.8" } }, "sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA=="], - - "@ai-sdk/react": ["@ai-sdk/react@1.2.12", "", { "dependencies": { "@ai-sdk/provider-utils": "2.2.8", "@ai-sdk/ui-utils": "1.2.11", "swr": "^2.2.5", "throttleit": "2.1.0" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "zod": "^3.23.8" }, "optionalPeers": ["zod"] }, "sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g=="], - - "@ai-sdk/ui-utils": ["@ai-sdk/ui-utils@1.2.11", "", { "dependencies": { "@ai-sdk/provider": "1.1.3", "@ai-sdk/provider-utils": "2.2.8", "zod-to-json-schema": "^3.24.1" }, "peerDependencies": { "zod": "^3.23.8" } }, "sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w=="], - - "@azure/abort-controller": ["@azure/abort-controller@2.1.2", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA=="], - - "@azure/core-auth": ["@azure/core-auth@1.10.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-util": "^1.13.0", "tslib": "^2.6.2" } }, "sha512-ykRMW8PjVAn+RS6ww5cmK9U2CyH9p4Q88YJwvUslfuMmN98w/2rdGRLPqJYObapBCdzBVeDgYWdJnFPFb7qzpg=="], - - "@azure/core-client": ["@azure/core-client@1.10.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.10.0", "@azure/core-rest-pipeline": "^1.22.0", "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", "tslib": "^2.6.2" } }, "sha512-Nh5PhEOeY6PrnxNPsEHRr9eimxLwgLlpmguQaHKBinFYA/RU9+kOYVOQqOrTsCL+KSxrLLl1gD8Dk5BFW/7l/w=="], - - "@azure/core-http-compat": ["@azure/core-http-compat@2.3.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-client": "^1.10.0", "@azure/core-rest-pipeline": "^1.22.0" } }, "sha512-az9BkXND3/d5VgdRRQVkiJb2gOmDU8Qcq4GvjtBmDICNiQ9udFmDk4ZpSB5Qq1OmtDJGlQAfBaS4palFsazQ5g=="], - - "@azure/core-rest-pipeline": ["@azure/core-rest-pipeline@1.22.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.10.0", "@azure/core-tracing": "^1.3.0", "@azure/core-util": "^1.13.0", "@azure/logger": "^1.3.0", "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" } }, "sha512-UVZlVLfLyz6g3Hy7GNDpooMQonUygH7ghdiSASOOHy97fKj/mPLqgDX7aidOijn+sCMU+WU8NjlPlNTgnvbcGA=="], - - "@azure/core-tracing": ["@azure/core-tracing@1.3.1", "", { "dependencies": { "tslib": "^2.6.2" } }, "sha512-9MWKevR7Hz8kNzzPLfX4EAtGM2b8mr50HPDBvio96bURP/9C+HjdH3sBlLSNNrvRAr5/k/svoH457gB5IKpmwQ=="], - - "@azure/core-util": ["@azure/core-util@1.13.1", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" } }, "sha512-XPArKLzsvl0Hf0CaGyKHUyVgF7oDnhKoP85Xv6M4StF/1AhfORhZudHtOyf2s+FcbuQ9dPRAjB8J2KvRRMUK2A=="], - - "@azure/identity": ["@azure/identity@4.13.0", "", { "dependencies": { "@azure/abort-controller": "^2.0.0", "@azure/core-auth": "^1.9.0", "@azure/core-client": "^1.9.2", "@azure/core-rest-pipeline": "^1.17.0", "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.11.0", "@azure/logger": "^1.0.0", "@azure/msal-browser": "^4.2.0", "@azure/msal-node": "^3.5.0", "open": "^10.1.0", "tslib": "^2.2.0" } }, "sha512-uWC0fssc+hs1TGGVkkghiaFkkS7NkTxfnCH+Hdg+yTehTpMcehpok4PgUKKdyCH+9ldu6FhiHRv84Ntqj1vVcw=="], - - "@azure/logger": ["@azure/logger@1.3.0", "", { "dependencies": { "@typespec/ts-http-runtime": "^0.3.0", "tslib": "^2.6.2" } }, "sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA=="], - - "@azure/msal-browser": ["@azure/msal-browser@4.25.1", "", { "dependencies": { "@azure/msal-common": "15.13.0" } }, "sha512-kAdOSNjvMbeBmEyd5WnddGmIpKCbAAGj4Gg/1iURtF+nHmIfS0+QUBBO3uaHl7CBB2R1SEAbpOgxycEwrHOkFA=="], - - "@azure/msal-common": ["@azure/msal-common@14.16.1", "", {}, "sha512-nyxsA6NA4SVKh5YyRpbSXiMr7oQbwark7JU9LMeg6tJYTSPyAGkdx61wPT4gyxZfxlSxMMEyAsWaubBlNyIa1w=="], - - "@azure/msal-node": ["@azure/msal-node@2.16.3", "", { "dependencies": { "@azure/msal-common": "14.16.1", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" } }, "sha512-CO+SE4weOsfJf+C5LM8argzvotrXw252/ZU6SM2Tz63fEblhH1uuVaaO4ISYFuN4Q6BhTo7I3qIdi8ydUQCqhw=="], - - "@biomejs/biome": ["@biomejs/biome@2.1.2", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.1.2", "@biomejs/cli-darwin-x64": "2.1.2", "@biomejs/cli-linux-arm64": "2.1.2", "@biomejs/cli-linux-arm64-musl": "2.1.2", "@biomejs/cli-linux-x64": "2.1.2", "@biomejs/cli-linux-x64-musl": "2.1.2", "@biomejs/cli-win32-arm64": "2.1.2", "@biomejs/cli-win32-x64": "2.1.2" }, "bin": { "biome": "bin/biome" } }, "sha512-yq8ZZuKuBVDgAS76LWCfFKHSYIAgqkxVB3mGVVpOe2vSkUTs7xG46zXZeNPRNVjiJuw0SZ3+J2rXiYx0RUpfGg=="], - - "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.1.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-leFAks64PEIjc7MY/cLjE8u5OcfBKkcDB0szxsWUB4aDfemBep1WVKt0qrEyqZBOW8LPHzrFMyDl3FhuuA0E7g=="], - - "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.1.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-Nmmv7wRX5Nj7lGmz0FjnWdflJg4zii8Ivruas6PBKzw5SJX/q+Zh2RfnO+bBnuKLXpj8kiI2x2X12otpH6a32A=="], - - "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.1.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-NWNy2Diocav61HZiv2enTQykbPP/KrA/baS7JsLSojC7Xxh2nl9IczuvE5UID7+ksRy2e7yH7klm/WkA72G1dw=="], - - "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.1.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-qgHvafhjH7Oca114FdOScmIKf1DlXT1LqbOrrbR30kQDLFPEOpBG0uzx6MhmsrmhGiCFCr2obDamu+czk+X0HQ=="], - - "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.1.2", "", { "os": "linux", "cpu": "x64" }, "sha512-Km/UYeVowygTjpX6sGBzlizjakLoMQkxWbruVZSNE6osuSI63i4uCeIL+6q2AJlD3dxoiBJX70dn1enjQnQqwA=="], - - "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.1.2", "", { "os": "linux", "cpu": "x64" }, "sha512-xlB3mU14ZUa3wzLtXfmk2IMOGL+S0aHFhSix/nssWS/2XlD27q+S6f0dlQ8WOCbYoXcuz8BCM7rCn2lxdTrlQA=="], - - "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.1.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-G8KWZli5ASOXA3yUQgx+M4pZRv3ND16h77UsdunUL17uYpcL/UC7RkWTdkfvMQvogVsAuz5JUcBDjgZHXxlKoA=="], - - "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.1.2", "", { "os": "win32", "cpu": "x64" }, "sha512-9zajnk59PMpjBkty3bK2IrjUsUHvqe9HWwyAWQBjGLE7MIBjbX2vwv1XPEhmO2RRuGoTkVx3WCanHrjAytICLA=="], - - "@cfworker/json-schema": ["@cfworker/json-schema@4.1.1", "", {}, "sha512-gAmrUZSGtKc3AiBL71iNWxDsyUC5uMaKKGdvzYsBoTW/xi42JQHl7eKV2OYzCUqvc+D2RCcf7EXY2iCyFIk6og=="], - - "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="], - - "@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="], - - "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="], - - "@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="], - - "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="], - - "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="], - - "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="], - - "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="], - - "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="], - - "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="], - - "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="], - - "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="], - - "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="], - - "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="], - - "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="], - - "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="], - - "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="], - - "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="], - - "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="], - - "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="], - - "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="], - - "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="], - - "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="], - - "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="], - - "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="], - - "@grpc/grpc-js": ["@grpc/grpc-js@1.13.4", "", { "dependencies": { "@grpc/proto-loader": "^0.7.13", "@js-sdsl/ordered-map": "^4.4.2" } }, "sha512-GsFaMXCkMqkKIvwCQjCrwH+GHbPKBjhwo/8ZuUkWHqbI73Kky9I+pQltrlT0+MWpedCoosda53lgjYfyEPgxBg=="], - - "@grpc/proto-loader": ["@grpc/proto-loader@0.7.15", "", { "dependencies": { "lodash.camelcase": "^4.3.0", "long": "^5.0.0", "protobufjs": "^7.2.5", "yargs": "^17.7.2" }, "bin": { "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" } }, "sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ=="], - - "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="], - - "@js-sdsl/ordered-map": ["@js-sdsl/ordered-map@4.4.2", "", {}, "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw=="], - - "@langchain/core": ["@langchain/core@0.3.59", "", { "dependencies": { "@cfworker/json-schema": "^4.0.2", "ansi-styles": "^5.0.0", "camelcase": "6", "decamelize": "1.2.0", "js-tiktoken": "^1.0.12", "langsmith": "^0.3.33", "mustache": "^4.2.0", "p-queue": "^6.6.2", "p-retry": "4", "uuid": "^10.0.0", "zod": "^3.25.32", "zod-to-json-schema": "^3.22.3" } }, "sha512-YAvnx0z3A8z5MvyjZzjC9ZxXZYM20ivFdUeLzANSPCoPCNIQ1/EppWP82RI24PcmWkNtuXsFVaj5juWiIpZvxg=="], - - "@langchain/openai": ["@langchain/openai@0.5.13", "", { "dependencies": { "js-tiktoken": "^1.0.12", "openai": "^4.96.0", "zod": "3.25.32" }, "peerDependencies": { "@langchain/core": ">=0.3.58 <0.4.0" } }, "sha512-t5UsO7XYE+DBQlXQ21QK74Y+LH4It20wnENrmueNvxIWTn0nHDIGVmO6wo4rJxbmOOPRQ4l/oAxGRnYU8B8v6w=="], - - "@langchain/textsplitters": ["@langchain/textsplitters@0.1.0", "", { "dependencies": { "js-tiktoken": "^1.0.12" }, "peerDependencies": { "@langchain/core": ">=0.2.21 <0.4.0" } }, "sha512-djI4uw9rlkAb5iMhtLED+xJebDdAG935AdP4eRTB02R7OB/act55Bj9wsskhZsvuyQRpO4O1wQOp85s6T6GWmw=="], - - "@opentelemetry/api": ["@opentelemetry/api@1.9.0", "", {}, "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="], - - "@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.57.2", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A=="], - - "@opentelemetry/auto-instrumentations-node": ["@opentelemetry/auto-instrumentations-node@0.56.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/instrumentation-amqplib": "^0.46.1", "@opentelemetry/instrumentation-aws-lambda": "^0.50.3", "@opentelemetry/instrumentation-aws-sdk": "^0.49.1", "@opentelemetry/instrumentation-bunyan": "^0.45.1", "@opentelemetry/instrumentation-cassandra-driver": "^0.45.1", "@opentelemetry/instrumentation-connect": "^0.43.1", "@opentelemetry/instrumentation-cucumber": "^0.14.1", "@opentelemetry/instrumentation-dataloader": "^0.16.1", "@opentelemetry/instrumentation-dns": "^0.43.1", "@opentelemetry/instrumentation-express": "^0.47.1", "@opentelemetry/instrumentation-fastify": "^0.44.2", "@opentelemetry/instrumentation-fs": "^0.19.1", "@opentelemetry/instrumentation-generic-pool": "^0.43.1", "@opentelemetry/instrumentation-graphql": "^0.47.1", "@opentelemetry/instrumentation-grpc": "^0.57.1", "@opentelemetry/instrumentation-hapi": "^0.45.2", "@opentelemetry/instrumentation-http": "^0.57.1", "@opentelemetry/instrumentation-ioredis": "^0.47.1", "@opentelemetry/instrumentation-kafkajs": "^0.7.1", "@opentelemetry/instrumentation-knex": "^0.44.1", "@opentelemetry/instrumentation-koa": "^0.47.1", "@opentelemetry/instrumentation-lru-memoizer": "^0.44.1", "@opentelemetry/instrumentation-memcached": "^0.43.1", "@opentelemetry/instrumentation-mongodb": "^0.52.0", "@opentelemetry/instrumentation-mongoose": "^0.46.1", "@opentelemetry/instrumentation-mysql": "^0.45.1", "@opentelemetry/instrumentation-mysql2": "^0.45.2", "@opentelemetry/instrumentation-nestjs-core": "^0.44.1", "@opentelemetry/instrumentation-net": "^0.43.1", "@opentelemetry/instrumentation-pg": "^0.51.1", "@opentelemetry/instrumentation-pino": "^0.46.1", "@opentelemetry/instrumentation-redis": "^0.46.1", "@opentelemetry/instrumentation-redis-4": "^0.46.1", "@opentelemetry/instrumentation-restify": "^0.45.1", "@opentelemetry/instrumentation-router": "^0.44.1", "@opentelemetry/instrumentation-socket.io": "^0.46.1", "@opentelemetry/instrumentation-tedious": "^0.18.1", "@opentelemetry/instrumentation-undici": "^0.10.1", "@opentelemetry/instrumentation-winston": "^0.44.1", "@opentelemetry/resource-detector-alibaba-cloud": "^0.30.1", "@opentelemetry/resource-detector-aws": "^1.12.0", "@opentelemetry/resource-detector-azure": "^0.6.1", "@opentelemetry/resource-detector-container": "^0.6.1", "@opentelemetry/resource-detector-gcp": "^0.33.1", "@opentelemetry/resources": "^1.24.0", "@opentelemetry/sdk-node": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.4.1" } }, "sha512-4cK0+unfkXRRbQQg2r9K3ki8JlE0j9Iw8+4DZEkChShAnmviiE+/JMgHGvK+VVcLrSlgV6BBHv4+ZTLukQwhkA=="], - - "@opentelemetry/context-async-hooks": ["@opentelemetry/context-async-hooks@1.30.1", "", { "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-s5vvxXPVdjqS3kTLKMeBMvop9hbWkwzBpu+mUO2M7sZtlkyDJGwFe33wRKnbaYDo8ExRVBIIdwIGrqpxHuKttA=="], - - "@opentelemetry/core": ["@opentelemetry/core@1.30.1", "", { "dependencies": { "@opentelemetry/semantic-conventions": "1.28.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ=="], - - "@opentelemetry/exporter-logs-otlp-grpc": ["@opentelemetry/exporter-logs-otlp-grpc@0.57.2", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "1.30.1", "@opentelemetry/otlp-exporter-base": "0.57.2", "@opentelemetry/otlp-grpc-exporter-base": "0.57.2", "@opentelemetry/otlp-transformer": "0.57.2", "@opentelemetry/sdk-logs": "0.57.2" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-eovEy10n3umjKJl2Ey6TLzikPE+W4cUQ4gCwgGP1RqzTGtgDra0WjIqdy29ohiUKfvmbiL3MndZww58xfIvyFw=="], - - "@opentelemetry/exporter-logs-otlp-http": ["@opentelemetry/exporter-logs-otlp-http@0.57.2", "", { "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@opentelemetry/core": "1.30.1", "@opentelemetry/otlp-exporter-base": "0.57.2", "@opentelemetry/otlp-transformer": "0.57.2", "@opentelemetry/sdk-logs": "0.57.2" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-0rygmvLcehBRp56NQVLSleJ5ITTduq/QfU7obOkyWgPpFHulwpw2LYTqNIz5TczKZuy5YY+5D3SDnXZL1tXImg=="], - - "@opentelemetry/exporter-logs-otlp-proto": ["@opentelemetry/exporter-logs-otlp-proto@0.57.2", "", { "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@opentelemetry/core": "1.30.1", "@opentelemetry/otlp-exporter-base": "0.57.2", "@opentelemetry/otlp-transformer": "0.57.2", "@opentelemetry/resources": "1.30.1", "@opentelemetry/sdk-logs": "0.57.2", "@opentelemetry/sdk-trace-base": "1.30.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ta0ithCin0F8lu9eOf4lEz9YAScecezCHkMMyDkvd9S7AnZNX5ikUmC5EQOQADU+oCcgo/qkQIaKcZvQ0TYKDw=="], - - "@opentelemetry/exporter-metrics-otlp-grpc": ["@opentelemetry/exporter-metrics-otlp-grpc@0.57.2", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "1.30.1", "@opentelemetry/exporter-metrics-otlp-http": "0.57.2", "@opentelemetry/otlp-exporter-base": "0.57.2", "@opentelemetry/otlp-grpc-exporter-base": "0.57.2", "@opentelemetry/otlp-transformer": "0.57.2", "@opentelemetry/resources": "1.30.1", "@opentelemetry/sdk-metrics": "1.30.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-r70B8yKR41F0EC443b5CGB4rUaOMm99I5N75QQt6sHKxYDzSEc6gm48Diz1CI1biwa5tDPznpylTrywO/pT7qw=="], - - "@opentelemetry/exporter-metrics-otlp-http": ["@opentelemetry/exporter-metrics-otlp-http@0.57.2", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/otlp-exporter-base": "0.57.2", "@opentelemetry/otlp-transformer": "0.57.2", "@opentelemetry/resources": "1.30.1", "@opentelemetry/sdk-metrics": "1.30.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ttb9+4iKw04IMubjm3t0EZsYRNWr3kg44uUuzfo9CaccYlOh8cDooe4QObDUkvx9d5qQUrbEckhrWKfJnKhemA=="], - - "@opentelemetry/exporter-metrics-otlp-proto": ["@opentelemetry/exporter-metrics-otlp-proto@0.57.2", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/exporter-metrics-otlp-http": "0.57.2", "@opentelemetry/otlp-exporter-base": "0.57.2", "@opentelemetry/otlp-transformer": "0.57.2", "@opentelemetry/resources": "1.30.1", "@opentelemetry/sdk-metrics": "1.30.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-HX068Q2eNs38uf7RIkNN9Hl4Ynl+3lP0++KELkXMCpsCbFO03+0XNNZ1SkwxPlP9jrhQahsMPMkzNXpq3fKsnw=="], - - "@opentelemetry/exporter-prometheus": ["@opentelemetry/exporter-prometheus@0.57.2", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1", "@opentelemetry/sdk-metrics": "1.30.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-VqIqXnuxWMWE/1NatAGtB1PvsQipwxDcdG4RwA/umdBcW3/iOHp0uejvFHTRN2O78ZPged87ErJajyUBPUhlDQ=="], - - "@opentelemetry/exporter-trace-otlp-grpc": ["@opentelemetry/exporter-trace-otlp-grpc@0.57.2", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "1.30.1", "@opentelemetry/otlp-exporter-base": "0.57.2", "@opentelemetry/otlp-grpc-exporter-base": "0.57.2", "@opentelemetry/otlp-transformer": "0.57.2", "@opentelemetry/resources": "1.30.1", "@opentelemetry/sdk-trace-base": "1.30.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-gHU1vA3JnHbNxEXg5iysqCWxN9j83d7/epTYBZflqQnTyCC4N7yZXn/dMM+bEmyhQPGjhCkNZLx4vZuChH1PYw=="], - - "@opentelemetry/exporter-trace-otlp-http": ["@opentelemetry/exporter-trace-otlp-http@0.57.2", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/otlp-exporter-base": "0.57.2", "@opentelemetry/otlp-transformer": "0.57.2", "@opentelemetry/resources": "1.30.1", "@opentelemetry/sdk-trace-base": "1.30.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-sB/gkSYFu+0w2dVQ0PWY9fAMl172PKMZ/JrHkkW8dmjCL0CYkmXeE+ssqIL/yBUTPOvpLIpenX5T9RwXRBW/3g=="], - - "@opentelemetry/exporter-trace-otlp-proto": ["@opentelemetry/exporter-trace-otlp-proto@0.57.2", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/otlp-exporter-base": "0.57.2", "@opentelemetry/otlp-transformer": "0.57.2", "@opentelemetry/resources": "1.30.1", "@opentelemetry/sdk-trace-base": "1.30.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-awDdNRMIwDvUtoRYxRhja5QYH6+McBLtoz1q9BeEsskhZcrGmH/V1fWpGx8n+Rc+542e8pJA6y+aullbIzQmlw=="], - - "@opentelemetry/exporter-zipkin": ["@opentelemetry/exporter-zipkin@1.30.1", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1", "@opentelemetry/sdk-trace-base": "1.30.1", "@opentelemetry/semantic-conventions": "1.28.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-6S2QIMJahIquvFaaxmcwpvQQRD/YFaMTNoIxrfPIPOeITN+a8lfEcPDxNxn8JDAaxkg+4EnXhz8upVDYenoQjA=="], - - "@opentelemetry/host-metrics": ["@opentelemetry/host-metrics@0.35.5", "", { "dependencies": { "systeminformation": "5.23.8" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Zf9Cjl7H6JalspnK5KD1+LLKSVecSinouVctNmUxRy+WP+20KwHq+qg4hADllkEmJ99MZByLLmEmzrr7s92V6g=="], - - "@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.57.2", "", { "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@types/shimmer": "^1.2.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2", "shimmer": "^1.2.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-BdBGhQBh8IjZ2oIIX6F2/Q3LKm/FDDKi6ccYKcBTeilh6SNdNKveDOLk73BkSJjQLJk6qe4Yh+hHw1UPhCDdrg=="], - - "@opentelemetry/instrumentation-amqplib": ["@opentelemetry/instrumentation-amqplib@0.46.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-AyXVnlCf/xV3K/rNumzKxZqsULyITJH6OVLiW6730JPRqWA7Zc9bvYoVNpN6iOpTU8CasH34SU/ksVJmObFibQ=="], - - "@opentelemetry/instrumentation-aws-lambda": ["@opentelemetry/instrumentation-aws-lambda@0.50.3", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0", "@types/aws-lambda": "8.10.147" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-kotm/mRvSWUauudxcylc5YCDei+G/r+jnOH6q5S99aPLQ/Ms8D2yonMIxEJUILIPlthEmwLYxkw3ualWzMjm/A=="], - - "@opentelemetry/instrumentation-aws-sdk": ["@opentelemetry/instrumentation-aws-sdk@0.49.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/propagation-utils": "^0.30.16", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Vbj4BYeV/1K4Pbbfk+gQ8gwYL0w+tBeUwG88cOxnF7CLPO1XnskGV8Q3Gzut2Ah/6Dg17dBtlzEqL3UiFP2Z6A=="], - - "@opentelemetry/instrumentation-bunyan": ["@opentelemetry/instrumentation-bunyan@0.45.1", "", { "dependencies": { "@opentelemetry/api-logs": "^0.57.1", "@opentelemetry/instrumentation": "^0.57.1", "@types/bunyan": "1.8.11" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-T9POV9ccS41UjpsjLrJ4i0m8LfplBiN3dMeH9XZ2btiDrjoaWtDrst6tNb1avetBjkeshOuBp1EWKP22EVSr0g=="], - - "@opentelemetry/instrumentation-cassandra-driver": ["@opentelemetry/instrumentation-cassandra-driver@0.45.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-RqnP0rK2hcKK1AKcmYvedLiL6G5TvFGiSUt2vI9wN0cCBdTt9Y9+wxxY19KoGxq7e9T/aHow6P5SUhCVI1sHvQ=="], - - "@opentelemetry/instrumentation-connect": ["@opentelemetry/instrumentation-connect@0.43.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0", "@types/connect": "3.4.38" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ht7YGWQuV5BopMcw5Q2hXn3I8eG8TH0J/kc/GMcW4CuNTgiP6wCu44BOnucJWL3CmFWaRHI//vWyAhaC8BwePw=="], - - "@opentelemetry/instrumentation-cucumber": ["@opentelemetry/instrumentation-cucumber@0.14.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-ybO+tmH85pDO0ywTskmrMtZcccKyQr7Eb7wHy1keR2HFfx46SzZbjHo1AuGAX//Hook3gjM7+w211gJ2bwKe1Q=="], - - "@opentelemetry/instrumentation-dataloader": ["@opentelemetry/instrumentation-dataloader@0.16.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-K/qU4CjnzOpNkkKO4DfCLSQshejRNAJtd4esgigo/50nxCB6XCyi1dhAblUHM9jG5dRm8eu0FB+t87nIo99LYQ=="], - - "@opentelemetry/instrumentation-dns": ["@opentelemetry/instrumentation-dns@0.43.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-e/tMZYU1nc+k+J3259CQtqVZIPsPRSLNoAQbGEmSKrjLEY/KJSbpBZ17lu4dFVBzqoF1cZYIZxn9WPQxy4V9ng=="], - - "@opentelemetry/instrumentation-express": ["@opentelemetry/instrumentation-express@0.47.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-QNXPTWteDclR2B4pDFpz0TNghgB33UMjUt14B+BZPmtH1MwUFAfLHBaP5If0Z5NZC+jaH8oF2glgYjrmhZWmSw=="], - - "@opentelemetry/instrumentation-fastify": ["@opentelemetry/instrumentation-fastify@0.44.2", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-arSp97Y4D2NWogoXRb8CzFK3W2ooVdvqRRtQDljFt9uC3zI6OuShgey6CVFC0JxT1iGjkAr1r4PDz23mWrFULQ=="], - - "@opentelemetry/instrumentation-fs": ["@opentelemetry/instrumentation-fs@0.19.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-6g0FhB3B9UobAR60BGTcXg4IHZ6aaYJzp0Ki5FhnxyAPt8Ns+9SSvgcrnsN2eGmk3RWG5vYycUGOEApycQL24A=="], - - "@opentelemetry/instrumentation-generic-pool": ["@opentelemetry/instrumentation-generic-pool@0.43.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-M6qGYsp1cURtvVLGDrPPZemMFEbuMmCXgQYTReC/IbimV5sGrLBjB+/hANUpRZjX67nGLdKSVLZuQQAiNz+sww=="], - - "@opentelemetry/instrumentation-graphql": ["@opentelemetry/instrumentation-graphql@0.47.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-EGQRWMGqwiuVma8ZLAZnExQ7sBvbOx0N/AE/nlafISPs8S+QtXX+Viy6dcQwVWwYHQPAcuY3bFt3xgoAwb4ZNQ=="], - - "@opentelemetry/instrumentation-grpc": ["@opentelemetry/instrumentation-grpc@0.57.2", "", { "dependencies": { "@opentelemetry/instrumentation": "0.57.2", "@opentelemetry/semantic-conventions": "1.28.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-TR6YQA67cLSZzdxbf2SrbADJy2Y8eBW1+9mF15P0VK2MYcpdoUSmQTF1oMkBwa3B9NwqDFA2fq7wYTTutFQqaQ=="], - - "@opentelemetry/instrumentation-hapi": ["@opentelemetry/instrumentation-hapi@0.45.2", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-7Ehow/7Wp3aoyCrZwQpU7a2CnoMq0XhIcioFuKjBb0PLYfBfmTsFTUyatlHu0fRxhwcRsSQRTvEhmZu8CppBpQ=="], - - "@opentelemetry/instrumentation-http": ["@opentelemetry/instrumentation-http@0.57.2", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/instrumentation": "0.57.2", "@opentelemetry/semantic-conventions": "1.28.0", "forwarded-parse": "2.1.2", "semver": "^7.5.2" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-1Uz5iJ9ZAlFOiPuwYg29Bf7bJJc/GeoeJIFKJYQf67nTVKFe8RHbEtxgkOmK4UGZNHKXcpW4P8cWBYzBn1USpg=="], - - "@opentelemetry/instrumentation-ioredis": ["@opentelemetry/instrumentation-ioredis@0.47.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/redis-common": "^0.36.2", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-OtFGSN+kgk/aoKgdkKQnBsQFDiG8WdCxu+UrHr0bXScdAmtSzLSraLo7wFIb25RVHfRWvzI5kZomqJYEg/l1iA=="], - - "@opentelemetry/instrumentation-kafkajs": ["@opentelemetry/instrumentation-kafkajs@0.7.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-OtjaKs8H7oysfErajdYr1yuWSjMAectT7Dwr+axIoZqT9lmEOkD/H/3rgAs8h/NIuEi2imSXD+vL4MZtOuJfqQ=="], - - "@opentelemetry/instrumentation-knex": ["@opentelemetry/instrumentation-knex@0.44.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-U4dQxkNhvPexffjEmGwCq68FuftFK15JgUF05y/HlK3M6W/G2iEaACIfXdSnwVNe9Qh0sPfw8LbOPxrWzGWGMQ=="], - - "@opentelemetry/instrumentation-koa": ["@opentelemetry/instrumentation-koa@0.47.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-l/c+Z9F86cOiPJUllUCt09v+kICKvT+Vg1vOAJHtHPsJIzurGayucfCMq2acd/A/yxeNWunl9d9eqZ0G+XiI6A=="], - - "@opentelemetry/instrumentation-lru-memoizer": ["@opentelemetry/instrumentation-lru-memoizer@0.44.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-5MPkYCvG2yw7WONEjYj5lr5JFehTobW7wX+ZUFy81oF2lr9IPfZk9qO+FTaM0bGEiymwfLwKe6jE15nHn1nmHg=="], - - "@opentelemetry/instrumentation-memcached": ["@opentelemetry/instrumentation-memcached@0.43.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0", "@types/memcached": "^2.2.6" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-rK5YWC22gmsLp2aEbaPk5F+9r6BFFZuc9GTnW/ErrWpz2XNHUgeFInoPDg4t+Trs8OttIfn8XwkfFkSKqhxanw=="], - - "@opentelemetry/instrumentation-mongodb": ["@opentelemetry/instrumentation-mongodb@0.52.0", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-1xmAqOtRUQGR7QfJFfGV/M2kC7wmI2WgZdpru8hJl3S0r4hW0n3OQpEHlSGXJAaNFyvT+ilnwkT+g5L4ljHR6g=="], - - "@opentelemetry/instrumentation-mongoose": ["@opentelemetry/instrumentation-mongoose@0.46.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-3kINtW1LUTPkiXFRSSBmva1SXzS/72we/jL22N+BnF3DFcoewkdkHPYOIdAAk9gSicJ4d5Ojtt1/HeibEc5OQg=="], - - "@opentelemetry/instrumentation-mysql": ["@opentelemetry/instrumentation-mysql@0.45.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0", "@types/mysql": "2.15.26" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-TKp4hQ8iKQsY7vnp/j0yJJ4ZsP109Ht6l4RHTj0lNEG1TfgTrIH5vJMbgmoYXWzNHAqBH2e7fncN12p3BP8LFg=="], - - "@opentelemetry/instrumentation-mysql2": ["@opentelemetry/instrumentation-mysql2@0.45.2", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0", "@opentelemetry/sql-common": "^0.40.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-h6Ad60FjCYdJZ5DTz1Lk2VmQsShiViKe0G7sYikb0GHI0NVvApp2XQNRHNjEMz87roFttGPLHOYVPlfy+yVIhQ=="], - - "@opentelemetry/instrumentation-nestjs-core": ["@opentelemetry/instrumentation-nestjs-core@0.44.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-4TXaqJK27QXoMqrt4+hcQ6rKFd8B6V4JfrTJKnqBmWR1cbaqd/uwyl9yxhNH1JEkyo8GaBfdpBC4ZE4FuUhPmg=="], - - "@opentelemetry/instrumentation-net": ["@opentelemetry/instrumentation-net@0.43.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-TaMqP6tVx9/SxlY81dHlSyP5bWJIKq+K7vKfk4naB/LX4LBePPY3++1s0edpzH+RfwN+tEGVW9zTb9ci0up/lQ=="], - - "@opentelemetry/instrumentation-pg": ["@opentelemetry/instrumentation-pg@0.51.1", "", { "dependencies": { "@opentelemetry/core": "^1.26.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0", "@opentelemetry/sql-common": "^0.40.1", "@types/pg": "8.6.1", "@types/pg-pool": "2.0.6" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-QxgjSrxyWZc7Vk+qGSfsejPVFL1AgAJdSBMYZdDUbwg730D09ub3PXScB9d04vIqPriZ+0dqzjmQx0yWKiCi2Q=="], - - "@opentelemetry/instrumentation-pino": ["@opentelemetry/instrumentation-pino@0.46.1", "", { "dependencies": { "@opentelemetry/api-logs": "^0.57.1", "@opentelemetry/core": "^1.25.0", "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-HB8gD/9CNAKlTV+mdZehnFC4tLUtQ7e+729oGq88e4WipxzZxmMYuRwZ2vzOA9/APtq+MRkERJ9PcoDqSIjZ+g=="], - - "@opentelemetry/instrumentation-redis": ["@opentelemetry/instrumentation-redis@0.46.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/redis-common": "^0.36.2", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-AN7OvlGlXmlvsgbLHs6dS1bggp6Fcki+GxgYZdSrb/DB692TyfjR7sVILaCe0crnP66aJuXsg9cge3hptHs9UA=="], - - "@opentelemetry/instrumentation-redis-4": ["@opentelemetry/instrumentation-redis-4@0.46.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/redis-common": "^0.36.2", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-UMqleEoabYMsWoTkqyt9WAzXwZ4BlFZHO40wr3d5ZvtjKCHlD4YXLm+6OLCeIi/HkX7EXvQaz8gtAwkwwSEvcQ=="], - - "@opentelemetry/instrumentation-restify": ["@opentelemetry/instrumentation-restify@0.45.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Zd6Go9iEa+0zcoA2vDka9r/plYKaT3BhD3ESIy4JNIzFWXeQBGbH3zZxQIsz0jbNTMEtonlymU7eTLeaGWiApA=="], - - "@opentelemetry/instrumentation-router": ["@opentelemetry/instrumentation-router@0.44.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-l4T/S7ByjpY5TCUPeDe1GPns02/5BpR0jroSMexyH3ZnXJt9PtYqx1IKAlOjaFEGEOQF2tGDsMi4PY5l+fSniQ=="], - - "@opentelemetry/instrumentation-socket.io": ["@opentelemetry/instrumentation-socket.io@0.46.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9AsCVUAHOqvfe2RM/2I0DsDnx2ihw1d5jIN4+Bly1YPFTJIbk4+bXjAkr9+X6PUfhiV5urQHZkiYYPU1Q4yzPA=="], - - "@opentelemetry/instrumentation-tedious": ["@opentelemetry/instrumentation-tedious@0.18.1", "", { "dependencies": { "@opentelemetry/instrumentation": "^0.57.1", "@opentelemetry/semantic-conventions": "^1.27.0", "@types/tedious": "^4.0.14" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-5Cuy/nj0HBaH+ZJ4leuD7RjgvA844aY2WW+B5uLcWtxGjRZl3MNLuxnNg5DYWZNPO+NafSSnra0q49KWAHsKBg=="], - - "@opentelemetry/instrumentation-undici": ["@opentelemetry/instrumentation-undici@0.10.1", "", { "dependencies": { "@opentelemetry/core": "^1.8.0", "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.7.0" } }, "sha512-rkOGikPEyRpMCmNu9AQuV5dtRlDmJp2dK5sw8roVshAGoB6hH/3QjDtRhdwd75SsJwgynWUNRUYe0wAkTo16tQ=="], - - "@opentelemetry/instrumentation-winston": ["@opentelemetry/instrumentation-winston@0.44.1", "", { "dependencies": { "@opentelemetry/api-logs": "^0.57.1", "@opentelemetry/instrumentation": "^0.57.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-iexblTsT3fP0hHUz/M1mWr+Ylg3bsYN2En/jvKXZtboW3Qkvt17HrQJYTF9leVIkXAfN97QxAcTE99YGbQW7vQ=="], - - "@opentelemetry/otlp-exporter-base": ["@opentelemetry/otlp-exporter-base@0.57.2", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/otlp-transformer": "0.57.2" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-XdxEzL23Urhidyebg5E6jZoaiW5ygP/mRjxLHixogbqwDy2Faduzb5N0o/Oi+XTIJu+iyxXdVORjXax+Qgfxag=="], - - "@opentelemetry/otlp-grpc-exporter-base": ["@opentelemetry/otlp-grpc-exporter-base@0.57.2", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "1.30.1", "@opentelemetry/otlp-exporter-base": "0.57.2", "@opentelemetry/otlp-transformer": "0.57.2" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-USn173KTWy0saqqRB5yU9xUZ2xdgb1Rdu5IosJnm9aV4hMTuFFRTUsQxbgc24QxpCHeoKzzCSnS/JzdV0oM2iQ=="], - - "@opentelemetry/otlp-transformer": ["@opentelemetry/otlp-transformer@0.57.2", "", { "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1", "@opentelemetry/sdk-logs": "0.57.2", "@opentelemetry/sdk-metrics": "1.30.1", "@opentelemetry/sdk-trace-base": "1.30.1", "protobufjs": "^7.3.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-48IIRj49gbQVK52jYsw70+Jv+JbahT8BqT2Th7C4H7RCM9d0gZ5sgNPoMpWldmfjvIsSgiGJtjfk9MeZvjhoig=="], - - "@opentelemetry/propagation-utils": ["@opentelemetry/propagation-utils@0.30.16", "", { "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-ZVQ3Z/PQ+2GQlrBfbMMMT0U7MzvYZLCPP800+ooyaBqm4hMvuQHfP028gB9/db0mwkmyEAMad9houukUVxhwcw=="], - - "@opentelemetry/propagator-b3": ["@opentelemetry/propagator-b3@1.30.1", "", { "dependencies": { "@opentelemetry/core": "1.30.1" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-oATwWWDIJzybAZ4pO76ATN5N6FFbOA1otibAVlS8v90B4S1wClnhRUk7K+2CHAwN1JKYuj4jh/lpCEG5BAqFuQ=="], - - "@opentelemetry/propagator-jaeger": ["@opentelemetry/propagator-jaeger@1.30.1", "", { "dependencies": { "@opentelemetry/core": "1.30.1" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-Pj/BfnYEKIOImirH76M4hDaBSx6HyZ2CXUqk+Kj02m6BB80c/yo4BdWkn/1gDFfU+YPY+bPR2U0DKBfdxCKwmg=="], - - "@opentelemetry/redis-common": ["@opentelemetry/redis-common@0.36.2", "", {}, "sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g=="], - - "@opentelemetry/resource-detector-alibaba-cloud": ["@opentelemetry/resource-detector-alibaba-cloud@0.30.1", "", { "dependencies": { "@opentelemetry/core": "^1.26.0", "@opentelemetry/resources": "^1.10.0", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-9l0FVP3F4+Z6ax27vMzkmhZdNtxAbDqEfy7rduzya3xFLaRiJSvOpw6cru6Edl5LwO+WvgNui+VzHa9ViE8wCg=="], - - "@opentelemetry/resource-detector-aws": ["@opentelemetry/resource-detector-aws@1.12.0", "", { "dependencies": { "@opentelemetry/core": "^1.0.0", "@opentelemetry/resources": "^1.10.0", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-Cvi7ckOqiiuWlHBdA1IjS0ufr3sltex2Uws2RK6loVp4gzIJyOijsddAI6IZ5kiO8h/LgCWe8gxPmwkTKImd+Q=="], - - "@opentelemetry/resource-detector-azure": ["@opentelemetry/resource-detector-azure@0.6.1", "", { "dependencies": { "@opentelemetry/core": "^1.25.1", "@opentelemetry/resources": "^1.10.1", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-Djr31QCExVfWViaf9cGJnH+bUInD72p0GEfgDGgjCAztyvyji6WJvKjs6qmkpPN+Ig6KLk0ho2VgzT5Kdl4L2Q=="], - - "@opentelemetry/resource-detector-container": ["@opentelemetry/resource-detector-container@0.6.1", "", { "dependencies": { "@opentelemetry/core": "^1.26.0", "@opentelemetry/resources": "^1.10.0", "@opentelemetry/semantic-conventions": "^1.27.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-o4sLzx149DQXDmVa8pgjBDEEKOj9SuQnkSLbjUVOpQNnn10v0WNR6wLwh30mFsK26xOJ6SpqZBGKZiT7i5MjlA=="], - - "@opentelemetry/resource-detector-gcp": ["@opentelemetry/resource-detector-gcp@0.33.1", "", { "dependencies": { "@opentelemetry/core": "^1.0.0", "@opentelemetry/resources": "^1.10.0", "@opentelemetry/semantic-conventions": "^1.27.0", "gcp-metadata": "^6.0.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-/aZJXI1rU6Eus04ih2vU0hxXAibXXMzH1WlDZ8bXcTJmhwmTY8cP392+6l7cWeMnTQOibBUz8UKV3nhcCBAefw=="], - - "@opentelemetry/resources": ["@opentelemetry/resources@1.30.1", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/semantic-conventions": "1.28.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-5UxZqiAgLYGFjS4s9qm5mBVo433u+dSPUFWVWXmLAD4wB65oMCoXaJP1KJa9DIYYMeHu3z4BZcStG3LC593cWA=="], - - "@opentelemetry/sdk-logs": ["@opentelemetry/sdk-logs@0.57.2", "", { "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1" }, "peerDependencies": { "@opentelemetry/api": ">=1.4.0 <1.10.0" } }, "sha512-TXFHJ5c+BKggWbdEQ/inpgIzEmS2BGQowLE9UhsMd7YYlUfBQJ4uax0VF/B5NYigdM/75OoJGhAV3upEhK+3gg=="], - - "@opentelemetry/sdk-metrics": ["@opentelemetry/sdk-metrics@1.30.1", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-q9zcZ0Okl8jRgmy7eNW3Ku1XSgg3sDLa5evHZpCwjspw7E8Is4K/haRPDJrBcX3YSn/Y7gUvFnByNYEKQNbNog=="], - - "@opentelemetry/sdk-node": ["@opentelemetry/sdk-node@0.57.2", "", { "dependencies": { "@opentelemetry/api-logs": "0.57.2", "@opentelemetry/core": "1.30.1", "@opentelemetry/exporter-logs-otlp-grpc": "0.57.2", "@opentelemetry/exporter-logs-otlp-http": "0.57.2", "@opentelemetry/exporter-logs-otlp-proto": "0.57.2", "@opentelemetry/exporter-metrics-otlp-grpc": "0.57.2", "@opentelemetry/exporter-metrics-otlp-http": "0.57.2", "@opentelemetry/exporter-metrics-otlp-proto": "0.57.2", "@opentelemetry/exporter-prometheus": "0.57.2", "@opentelemetry/exporter-trace-otlp-grpc": "0.57.2", "@opentelemetry/exporter-trace-otlp-http": "0.57.2", "@opentelemetry/exporter-trace-otlp-proto": "0.57.2", "@opentelemetry/exporter-zipkin": "1.30.1", "@opentelemetry/instrumentation": "0.57.2", "@opentelemetry/resources": "1.30.1", "@opentelemetry/sdk-logs": "0.57.2", "@opentelemetry/sdk-metrics": "1.30.1", "@opentelemetry/sdk-trace-base": "1.30.1", "@opentelemetry/sdk-trace-node": "1.30.1", "@opentelemetry/semantic-conventions": "1.28.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-8BaeqZyN5sTuPBtAoY+UtKwXBdqyuRKmekN5bFzAO40CgbGzAxfTpiL3PBerT7rhZ7p2nBdq7FaMv/tBQgHE4A=="], - - "@opentelemetry/sdk-trace-base": ["@opentelemetry/sdk-trace-base@1.30.1", "", { "dependencies": { "@opentelemetry/core": "1.30.1", "@opentelemetry/resources": "1.30.1", "@opentelemetry/semantic-conventions": "1.28.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-jVPgBbH1gCy2Lb7X0AVQ8XAfgg0pJ4nvl8/IiQA6nxOsPvS+0zMJaFSs2ltXe0J6C8dqjcnpyqINDJmU30+uOg=="], - - "@opentelemetry/sdk-trace-node": ["@opentelemetry/sdk-trace-node@1.30.1", "", { "dependencies": { "@opentelemetry/context-async-hooks": "1.30.1", "@opentelemetry/core": "1.30.1", "@opentelemetry/propagator-b3": "1.30.1", "@opentelemetry/propagator-jaeger": "1.30.1", "@opentelemetry/sdk-trace-base": "1.30.1", "semver": "^7.5.2" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-cBjYOINt1JxXdpw1e5MlHmFRc5fgj4GW/86vsKFxJCJ8AL4PdVtYH41gWwl4qd4uQjqEL1oJVrXkSy5cnduAnQ=="], - - "@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.34.0", "", {}, "sha512-aKcOkyrorBGlajjRdVoJWHTxfxO1vCNHLJVlSDaRHDIdjU+pX8IYQPvPDkYiujKLbRnWU+1TBwEt0QRgSm4SGA=="], - - "@opentelemetry/sql-common": ["@opentelemetry/sql-common@0.40.1", "", { "dependencies": { "@opentelemetry/core": "^1.1.0" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0" } }, "sha512-nSDlnHSqzC3pXn/wZEZVLuAuJ1MYMXPBwtv2qAbCa3847SaHItdE7SzUq/Jtb0KZmh1zfAbNi3AAMjztTT4Ugg=="], - - "@posthog/core": ["@posthog/core@1.3.1", "", {}, "sha512-sGKVHituJ8L/bJxVV4KamMFp+IBWAZyCiYunFawJZ4cc59PCtLnKFIMEV6kn7A4eZQcQ6EKV5Via4sF3Z7qMLQ=="], - - "@protobufjs/aspromise": ["@protobufjs/aspromise@1.1.2", "", {}, "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="], - - "@protobufjs/base64": ["@protobufjs/base64@1.1.2", "", {}, "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="], - - "@protobufjs/codegen": ["@protobufjs/codegen@2.0.4", "", {}, "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="], - - "@protobufjs/eventemitter": ["@protobufjs/eventemitter@1.1.0", "", {}, "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="], - - "@protobufjs/fetch": ["@protobufjs/fetch@1.1.0", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" } }, "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ=="], - - "@protobufjs/float": ["@protobufjs/float@1.0.2", "", {}, "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="], - - "@protobufjs/inquire": ["@protobufjs/inquire@1.1.0", "", {}, "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="], - - "@protobufjs/path": ["@protobufjs/path@1.1.2", "", {}, "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="], - - "@protobufjs/pool": ["@protobufjs/pool@1.1.0", "", {}, "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="], - - "@protobufjs/utf8": ["@protobufjs/utf8@1.1.0", "", {}, "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="], - - "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.43.0", "", { "os": "android", "cpu": "arm" }, "sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw=="], - - "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.43.0", "", { "os": "android", "cpu": "arm64" }, "sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA=="], - - "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.43.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A=="], - - "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.43.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg=="], - - "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.43.0", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ=="], - - "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.43.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg=="], - - "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.43.0", "", { "os": "linux", "cpu": "arm" }, "sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw=="], - - "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.43.0", "", { "os": "linux", "cpu": "arm" }, "sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw=="], - - "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.43.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA=="], - - "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.43.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA=="], - - "@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.43.0", "", { "os": "linux", "cpu": "none" }, "sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg=="], - - "@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.43.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw=="], - - "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.43.0", "", { "os": "linux", "cpu": "none" }, "sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g=="], - - "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.43.0", "", { "os": "linux", "cpu": "none" }, "sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q=="], - - "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.43.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw=="], - - "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.43.0", "", { "os": "linux", "cpu": "x64" }, "sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ=="], - - "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.43.0", "", { "os": "linux", "cpu": "x64" }, "sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ=="], - - "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.43.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw=="], - - "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.43.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw=="], - - "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.43.0", "", { "os": "win32", "cpu": "x64" }, "sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw=="], - - "@selderee/plugin-htmlparser2": ["@selderee/plugin-htmlparser2@0.11.0", "", { "dependencies": { "domhandler": "^5.0.3", "selderee": "^0.11.0" } }, "sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ=="], - - "@tootallnate/once": ["@tootallnate/once@2.0.0", "", {}, "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A=="], - - "@traceloop/ai-semantic-conventions": ["@traceloop/ai-semantic-conventions@0.18.0", "", { "dependencies": { "@opentelemetry/api": "^1.9.0" } }, "sha512-2pOKIG1aE+S/1MzLZKY2qM13ccTM6TtmJm/jk7MfEb9CHwfNi9cjqqrK5uNOZqcGBw5vwfy2G2U8GTNHD9CxYQ=="], - - "@traceloop/instrumentation-anthropic": ["@traceloop/instrumentation-anthropic@0.18.0", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^2.0.1", "@opentelemetry/instrumentation": "^0.203.0", "@opentelemetry/semantic-conventions": "^1.36.0", "@traceloop/ai-semantic-conventions": "0.18.0", "tslib": "^2.8.1" } }, "sha512-Qe7U8YwCPoPSurVqwH8wwmvd2ZDPXc2kKPMICAeqZ9vn+K5WNkazZoc0omnx7R3IqO+MTlWudtLtPQmFkHquUw=="], - - "@traceloop/instrumentation-bedrock": ["@traceloop/instrumentation-bedrock@0.18.0", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^2.0.1", "@opentelemetry/instrumentation": "^0.203.0", "@opentelemetry/semantic-conventions": "^1.36.0", "@traceloop/ai-semantic-conventions": "0.18.0", "tslib": "^2.8.1" } }, "sha512-0yc97AfswPLOSite9CXtTopsh9i+z0mQ+e/pqZHSFQ+eYIPViIBKBZBx0Sj9H+LpWAwtdHfkAzqiuIjreqLjxg=="], - - "@traceloop/instrumentation-chromadb": ["@traceloop/instrumentation-chromadb@0.18.0", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^2.0.1", "@opentelemetry/instrumentation": "^0.203.0", "@opentelemetry/semantic-conventions": "^1.36.0", "@traceloop/ai-semantic-conventions": "0.18.0", "tslib": "^2.8.1" } }, "sha512-tTt//Z6g3S5dD1cKCpusXBZk8E6S3X+0vWAPiopxL6cRrocS922R6yFq3wzrn8y7v82CyzdYBN8TDG6QS89PFA=="], - - "@traceloop/instrumentation-cohere": ["@traceloop/instrumentation-cohere@0.18.0", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^2.0.1", "@opentelemetry/instrumentation": "^0.203.0", "@opentelemetry/semantic-conventions": "^1.36.0", "@traceloop/ai-semantic-conventions": "0.18.0", "tslib": "^2.8.1" } }, "sha512-VgaDw/fIEKfRtHWodUzSkI5jR1T83gP2lLsxwE4sEnK0Fni0XWidZMmRAh4sY6WP/eFT6dZGX+HeObTXKNwNDA=="], - - "@traceloop/instrumentation-langchain": ["@traceloop/instrumentation-langchain@0.18.0", "", { "dependencies": { "@langchain/core": "^0.3.70", "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^2.0.1", "@opentelemetry/instrumentation": "^0.203.0", "@opentelemetry/semantic-conventions": "^1.36.0", "@traceloop/ai-semantic-conventions": "0.18.0", "tslib": "^2.8.1" } }, "sha512-dQOm4VpK5BvwK5IQE7AUuarVpmv/RhVL3FuHKHG/1Dq3JVcRh9bKQkgtQuRXXdaZRjvDC6CjzRcLtFJu1lF8AQ=="], - - "@traceloop/instrumentation-llamaindex": ["@traceloop/instrumentation-llamaindex@0.18.0", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^2.0.1", "@opentelemetry/instrumentation": "^0.203.0", "@opentelemetry/semantic-conventions": "^1.36.0", "@traceloop/ai-semantic-conventions": "0.18.0", "lodash": "^4.17.21", "tslib": "^2.8.1" } }, "sha512-cKKMcJHOElIwtThBmOdVvEA3BYAbJCUAY93Y5Wl0clIisW05wnA+wfHBLzIn+p5xtyYLc98MtIvbY1nrPpt35Q=="], - - "@traceloop/instrumentation-openai": ["@traceloop/instrumentation-openai@0.18.0", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^2.0.1", "@opentelemetry/instrumentation": "^0.203.0", "@opentelemetry/semantic-conventions": "^1.36.0", "@traceloop/ai-semantic-conventions": "0.18.0", "js-tiktoken": "^1.0.20", "tslib": "^2.8.1" } }, "sha512-xEtpr85dWKZy2yGnfLBIlnINE6Ia99QLrd+DuSyba4gEl000C1GTniRBZGE3SzqUaYrcTeCROgbcwzh60crCCw=="], - - "@traceloop/instrumentation-pinecone": ["@traceloop/instrumentation-pinecone@0.18.0", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^2.0.1", "@opentelemetry/instrumentation": "^0.203.0", "@opentelemetry/semantic-conventions": "^1.36.0", "@traceloop/ai-semantic-conventions": "0.18.0", "tslib": "^2.8.1" } }, "sha512-vN/dSlewK+0rQ/SVIvEEpvLUB4brk+fyp5vc0VIer0lQHTMBRbaIH6ffrVgSEiUKzgkPSUa81G3iTbK2ngzldg=="], - - "@traceloop/instrumentation-qdrant": ["@traceloop/instrumentation-qdrant@0.18.0", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^2.0.1", "@opentelemetry/instrumentation": "^0.203.0", "@traceloop/ai-semantic-conventions": "0.18.0", "tslib": "^2.8.1" } }, "sha512-t1/6ofRwz1eOVBP9Aoj0jQuHl1emFAX8XRK3QAJy/mDy5BiPkN8Zkk46l0pwLHJFe1woQZqAoAn8vlaRgBoicA=="], - - "@traceloop/instrumentation-together": ["@traceloop/instrumentation-together@0.18.0", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^2.0.1", "@opentelemetry/instrumentation": "^0.203.0", "@opentelemetry/semantic-conventions": "^1.36.0", "@traceloop/ai-semantic-conventions": "0.18.0", "js-tiktoken": "^1.0.20", "tslib": "^2.8.1" } }, "sha512-xsEwQgmWvBNn6Iab+AbA3xWxxZBcQCIB1/yFjCQeKr4n/LyZVHZ4Lrbu2n/h3qVkvK2C0gUsk2VwoJTGRSTHIg=="], - - "@traceloop/instrumentation-vertexai": ["@traceloop/instrumentation-vertexai@0.18.0", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^2.0.1", "@opentelemetry/instrumentation": "^0.203.0", "@opentelemetry/semantic-conventions": "^1.36.0", "@traceloop/ai-semantic-conventions": "0.18.0", "google-gax": "^4.0.0", "tslib": "^2.8.1" } }, "sha512-k0aaIJh60rYTNh9oOIyGNL8BOQ5Qw53eo75nb1fRvHbUqBPPmqxQJGHOoxM2LkfZq5fm4I2rHav8Cu9zCp/V1w=="], - - "@traceloop/node-server-sdk": ["@traceloop/node-server-sdk@0.18.1", "", { "dependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/core": "^2.0.1", "@opentelemetry/exporter-trace-otlp-proto": "^0.203.0", "@opentelemetry/instrumentation": "^0.203.0", "@opentelemetry/resources": "^2.0.1", "@opentelemetry/sdk-node": "^0.203.0", "@opentelemetry/sdk-trace-base": "^2.0.1", "@opentelemetry/sdk-trace-node": "^2.0.1", "@opentelemetry/semantic-conventions": "^1.36.0", "@traceloop/ai-semantic-conventions": "0.18.0", "@traceloop/instrumentation-anthropic": "0.18.0", "@traceloop/instrumentation-bedrock": "0.18.0", "@traceloop/instrumentation-chromadb": "0.18.0", "@traceloop/instrumentation-cohere": "0.18.0", "@traceloop/instrumentation-langchain": "0.18.0", "@traceloop/instrumentation-llamaindex": "0.18.0", "@traceloop/instrumentation-openai": "0.18.0", "@traceloop/instrumentation-pinecone": "0.18.0", "@traceloop/instrumentation-qdrant": "0.18.0", "@traceloop/instrumentation-together": "0.18.0", "@traceloop/instrumentation-vertexai": "0.18.0", "@types/nunjucks": "^3.2.6", "cross-fetch": "^4.1.0", "eventsource": "^3.0.2", "fetch-retry": "^6.0.0", "nunjucks": "^3.2.4", "papaparse": "^5.5.3", "posthog-node": "^5.5.1", "supports-color": "^10.0.0", "tslib": "^2.8.1", "uuid": "^11.1.0" } }, "sha512-s/QuVHBM1E6KsBoPbOhyIHEKbwmYJqcJezVHvMoS/OOj1bQOp+3hiFOhdFovSpv67nxWODUcbucZyK36bL3FdA=="], - - "@types/aws-lambda": ["@types/aws-lambda@8.10.147", "", {}, "sha512-nD0Z9fNIZcxYX5Mai2CTmFD7wX7UldCkW2ezCF8D1T5hdiLsnTWDGRpfRYntU6VjTdLQjOvyszru7I1c1oCQew=="], - - "@types/bun": ["@types/bun@1.2.16", "", { "dependencies": { "bun-types": "1.2.16" } }, "sha512-1aCZJ/6nSiViw339RsaNhkNoEloLaPzZhxMOYEa7OzRzO41IGg5n/7I43/ZIAW/c+Q6cT12Vf7fOZOoVIzb5BQ=="], - - "@types/bunyan": ["@types/bunyan@1.8.11", "", { "dependencies": { "@types/node": "*" } }, "sha512-758fRH7umIMk5qt5ELmRMff4mLDlN+xyYzC+dkPTdKwbSkJFvz6xwyScrytPU0QIBbRRwbiE8/BIg8bpajerNQ=="], - - "@types/caseless": ["@types/caseless@0.12.5", "", {}, "sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg=="], - - "@types/chai": ["@types/chai@5.2.2", "", { "dependencies": { "@types/deep-eql": "*" } }, "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg=="], - - "@types/connect": ["@types/connect@3.4.38", "", { "dependencies": { "@types/node": "*" } }, "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug=="], - - "@types/deep-eql": ["@types/deep-eql@4.0.2", "", {}, "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw=="], - - "@types/diff-match-patch": ["@types/diff-match-patch@1.0.36", "", {}, "sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg=="], - - "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], - - "@types/jsonwebtoken": ["@types/jsonwebtoken@9.0.6", "", { "dependencies": { "@types/node": "*" } }, "sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw=="], - - "@types/long": ["@types/long@4.0.2", "", {}, "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA=="], - - "@types/memcached": ["@types/memcached@2.2.10", "", { "dependencies": { "@types/node": "*" } }, "sha512-AM9smvZN55Gzs2wRrqeMHVP7KE8KWgCJO/XL5yCly2xF6EKa4YlbpK+cLSAH4NG/Ah64HrlegmGqW8kYws7Vxg=="], - - "@types/mysql": ["@types/mysql@2.15.26", "", { "dependencies": { "@types/node": "*" } }, "sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ=="], - - "@types/node": ["@types/node@24.0.1", "", { "dependencies": { "undici-types": "~7.8.0" } }, "sha512-MX4Zioh39chHlDJbKmEgydJDS3tspMP/lnQC67G3SWsTnb9NeYVWOjkxpOSy4oMfPs4StcWHwBrvUb4ybfnuaw=="], - - "@types/node-fetch": ["@types/node-fetch@2.6.12", "", { "dependencies": { "@types/node": "*", "form-data": "^4.0.0" } }, "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA=="], - - "@types/nunjucks": ["@types/nunjucks@3.2.6", "", {}, "sha512-pHiGtf83na1nCzliuAdq8GowYiXvH5l931xZ0YEHaLMNFgynpEqx+IPStlu7UaDkehfvl01e4x/9Tpwhy7Ue3w=="], - - "@types/pg": ["@types/pg@8.6.1", "", { "dependencies": { "@types/node": "*", "pg-protocol": "*", "pg-types": "^2.2.0" } }, "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w=="], - - "@types/pg-pool": ["@types/pg-pool@2.0.6", "", { "dependencies": { "@types/pg": "*" } }, "sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ=="], - - "@types/request": ["@types/request@2.48.13", "", { "dependencies": { "@types/caseless": "*", "@types/node": "*", "@types/tough-cookie": "*", "form-data": "^2.5.5" } }, "sha512-FGJ6udDNUCjd19pp0Q3iTiDkwhYup7J8hpMW9c4k53NrccQFFWKRho6hvtPPEhnXWKvukfwAlB6DbDz4yhH5Gg=="], - - "@types/retry": ["@types/retry@0.12.0", "", {}, "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA=="], - - "@types/shimmer": ["@types/shimmer@1.2.0", "", {}, "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg=="], - - "@types/tedious": ["@types/tedious@4.0.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw=="], - - "@types/tough-cookie": ["@types/tough-cookie@4.0.5", "", {}, "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA=="], - - "@types/uuid": ["@types/uuid@10.0.0", "", {}, "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ=="], - - "@types/ws": ["@types/ws@6.0.4", "", { "dependencies": { "@types/node": "*" } }, "sha512-PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg=="], - - "@typespec/ts-http-runtime": ["@typespec/ts-http-runtime@0.3.1", "", { "dependencies": { "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "tslib": "^2.6.2" } }, "sha512-SnbaqayTVFEA6/tYumdF0UmybY0KHyKwGPBXnyckFlrrKdhWFrL3a2HIPXHjht5ZOElKGcXfD2D63P36btb+ww=="], - - "@vitest/expect": ["@vitest/expect@3.2.3", "", { "dependencies": { "@types/chai": "^5.2.2", "@vitest/spy": "3.2.3", "@vitest/utils": "3.2.3", "chai": "^5.2.0", "tinyrainbow": "^2.0.0" } }, "sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ=="], - - "@vitest/mocker": ["@vitest/mocker@3.2.3", "", { "dependencies": { "@vitest/spy": "3.2.3", "estree-walker": "^3.0.3", "magic-string": "^0.30.17" }, "peerDependencies": { "msw": "^2.4.9", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "optionalPeers": ["msw", "vite"] }, "sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA=="], - - "@vitest/pretty-format": ["@vitest/pretty-format@3.2.3", "", { "dependencies": { "tinyrainbow": "^2.0.0" } }, "sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng=="], - - "@vitest/runner": ["@vitest/runner@3.2.3", "", { "dependencies": { "@vitest/utils": "3.2.3", "pathe": "^2.0.3", "strip-literal": "^3.0.0" } }, "sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w=="], - - "@vitest/snapshot": ["@vitest/snapshot@3.2.3", "", { "dependencies": { "@vitest/pretty-format": "3.2.3", "magic-string": "^0.30.17", "pathe": "^2.0.3" } }, "sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA=="], - - "@vitest/spy": ["@vitest/spy@3.2.3", "", { "dependencies": { "tinyspy": "^4.0.3" } }, "sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw=="], - - "@vitest/utils": ["@vitest/utils@3.2.3", "", { "dependencies": { "@vitest/pretty-format": "3.2.3", "loupe": "^3.1.3", "tinyrainbow": "^2.0.0" } }, "sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q=="], - - "a-sync-waterfall": ["a-sync-waterfall@1.0.1", "", {}, "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA=="], - - "abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="], - - "acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], - - "acorn-import-attributes": ["acorn-import-attributes@1.9.5", "", { "peerDependencies": { "acorn": "^8" } }, "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ=="], - - "adaptivecards": ["adaptivecards@1.2.3", "", {}, "sha512-amQ5OSW3OpIkrxVKLjxVBPk/T49yuOtnqs1z5ZPfZr0+OpTovzmiHbyoAGDIsu5SNYHwOZFp/3LGOnRaALFa/g=="], - - "agent-base": ["agent-base@7.1.3", "", {}, "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw=="], - - "agentkeepalive": ["agentkeepalive@4.6.0", "", { "dependencies": { "humanize-ms": "^1.2.1" } }, "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ=="], - - "ai": ["ai@4.3.16", "", { "dependencies": { "@ai-sdk/provider": "1.1.3", "@ai-sdk/provider-utils": "2.2.8", "@ai-sdk/react": "1.2.12", "@ai-sdk/ui-utils": "1.2.11", "@opentelemetry/api": "1.9.0", "jsondiffpatch": "0.6.0" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "zod": "^3.23.8" }, "optionalPeers": ["react"] }, "sha512-KUDwlThJ5tr2Vw0A1ZkbDKNME3wzWhuVfAOwIvFUzl1TPVDFAXDFTXio3p+jaKneB+dKNCvFFlolYmmgHttG1g=="], - - "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - - "ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], - - "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="], - - "asap": ["asap@2.0.6", "", {}, "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="], - - "assertion-error": ["assertion-error@2.0.1", "", {}, "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA=="], - - "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="], - - "axios": ["axios@1.12.2", "", { "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.4", "proxy-from-env": "^1.1.0" } }, "sha512-vMJzPewAlRyOgxV2dU0Cuz2O8zzzx9VYtbJOaBgXFeLc4IV/Eg50n4LowmehOOR61S8ZMpc2K5Sa7g6A4jfkUw=="], - - "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], - - "base64url": ["base64url@3.0.1", "", {}, "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A=="], - - "bignumber.js": ["bignumber.js@9.3.0", "", {}, "sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA=="], - - "botbuilder": ["botbuilder@4.23.3", "", { "dependencies": { "@azure/core-rest-pipeline": "^1.18.1", "@azure/msal-node": "^2.13.1", "axios": "^1.8.2", "botbuilder-core": "4.23.3", "botbuilder-stdlib": "4.23.3-internal", "botframework-connector": "4.23.3", "botframework-schema": "4.23.3", "botframework-streaming": "4.23.3", "dayjs": "^1.11.13", "filenamify": "^6.0.0", "fs-extra": "^11.2.0", "htmlparser2": "^9.0.1", "uuid": "^10.0.0", "zod": "^3.23.8" } }, "sha512-1gDIQHHYosYBHGXMjvZEJDrcp3NGy3lzHBml5wn9PFqVuIk/cbsCDZs3KJ3g+aH/GGh4CH/ij9iQ2KbQYHAYKA=="], - - "botbuilder-core": ["botbuilder-core@4.23.3", "", { "dependencies": { "botbuilder-dialogs-adaptive-runtime-core": "4.23.3-preview", "botbuilder-stdlib": "4.23.3-internal", "botframework-connector": "4.23.3", "botframework-schema": "4.23.3", "uuid": "^10.0.0", "zod": "^3.23.8" } }, "sha512-48iW739I24piBH683b/Unvlu1fSzjB69ViOwZ0PbTkN2yW5cTvHJWlW7bXntO8GSqJfssgPaVthKfyaCW457ig=="], - - "botbuilder-dialogs-adaptive-runtime-core": ["botbuilder-dialogs-adaptive-runtime-core@4.23.3-preview", "", { "dependencies": { "dependency-graph": "^1.0.0" } }, "sha512-EssyvqK9MobX3gbnUe/jjhLuxpCEeyQeQsyUFMJ236U6vzSQdrAxNH7Jc5DyZw2KKelBdK1xPBdwTYQNM5S0Qw=="], - - "botbuilder-stdlib": ["botbuilder-stdlib@4.23.3-internal", "", { "dependencies": { "@azure/abort-controller": "^2.1.2", "@azure/core-auth": "^1.9.0", "@azure/core-client": "^1.9.2", "@azure/core-http-compat": "^2.1.2", "@azure/core-rest-pipeline": "^1.18.1", "@azure/core-tracing": "^1.2.0" } }, "sha512-fwvIHnKU8sXo1gTww+m/k8wnuM5ktVBAV/3vWJ+ou40zapy1HYjWQuu6sVCRFgMUngpKwhdmoOQsTXsp58SNtA=="], - - "botframework-connector": ["botframework-connector@4.23.3", "", { "dependencies": { "@azure/core-rest-pipeline": "^1.18.1", "@azure/identity": "^4.4.1", "@azure/msal-node": "^2.13.1", "@types/jsonwebtoken": "9.0.6", "axios": "^1.8.2", "base64url": "^3.0.0", "botbuilder-stdlib": "4.23.3-internal", "botframework-schema": "4.23.3", "buffer": "^6.0.3", "cross-fetch": "^4.0.0", "https-proxy-agent": "^7.0.5", "jsonwebtoken": "^9.0.2", "node-fetch": "^2.7.0", "openssl-wrapper": "^0.3.4", "rsa-pem-from-mod-exp": "^0.8.6", "zod": "^3.23.8" } }, "sha512-sChwCFJr3xhcMCYChaOxJoE8/YgdjOPWzGwz5JAxZDwhbQonwYX5O/6Z9EA+wB3TCFNEh642SGeC/rOitaTnGQ=="], - - "botframework-schema": ["botframework-schema@4.23.3", "", { "dependencies": { "adaptivecards": "1.2.3", "uuid": "^10.0.0", "zod": "^3.23.8" } }, "sha512-/W0uWxZ3fuPLAImZRLnPTbs49Z2xMpJSIzIBxSfvwO0aqv9GsM3bTk3zlNdJ1xr40SshQ7WiH2H1hgjBALwYJw=="], - - "botframework-streaming": ["botframework-streaming@4.23.3", "", { "dependencies": { "@types/ws": "^6.0.3", "uuid": "^10.0.0", "ws": "^7.5.10" } }, "sha512-GMtciQGfZXtAW6syUqFpFJQ2vDyVbpxL3T1DqFzq/GmmkAu7KTZ1zvo7PTww6+IT1kMW0lmL/XZJVq3Rhg4PQA=="], - - "buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="], - - "buffer-equal-constant-time": ["buffer-equal-constant-time@1.0.1", "", {}, "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="], - - "bun-types": ["bun-types@1.2.16", "", { "dependencies": { "@types/node": "*" } }, "sha512-ciXLrHV4PXax9vHvUrkvun9VPVGOVwbbbBF/Ev1cXz12lyEZMoJpIJABOfPcN9gDJRaiKF9MVbSygLg4NXu3/A=="], - - "bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="], - - "cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="], - - "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], - - "camelcase": ["camelcase@6.3.0", "", {}, "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="], - - "chai": ["chai@5.2.0", "", { "dependencies": { "assertion-error": "^2.0.1", "check-error": "^2.1.1", "deep-eql": "^5.0.1", "loupe": "^3.1.0", "pathval": "^2.0.0" } }, "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw=="], - - "chalk": ["chalk@5.4.1", "", {}, "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="], - - "check-error": ["check-error@2.1.1", "", {}, "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw=="], - - "cjs-module-lexer": ["cjs-module-lexer@1.4.3", "", {}, "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q=="], - - "cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="], - - "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], - - "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - - "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], - - "commander": ["commander@5.1.0", "", {}, "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg=="], - - "console-table-printer": ["console-table-printer@2.14.3", "", { "dependencies": { "simple-wcswidth": "^1.0.1" } }, "sha512-X5OCFnjYlXzRuC8ac5hPA2QflRjJvNKJocMhlnqK/Ap7q3DHXr0NJ0TGzwmEKOiOdJrjsSwEd0m+a32JAYPrKQ=="], - - "cross-fetch": ["cross-fetch@4.1.0", "", { "dependencies": { "node-fetch": "^2.7.0" } }, "sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw=="], - - "dayjs": ["dayjs@1.11.18", "", {}, "sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA=="], - - "debug": ["debug@4.4.1", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ=="], - - "decamelize": ["decamelize@1.2.0", "", {}, "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="], - - "deep-eql": ["deep-eql@5.0.2", "", {}, "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q=="], - - "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], - - "default-browser": ["default-browser@5.2.1", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg=="], - - "default-browser-id": ["default-browser-id@5.0.0", "", {}, "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA=="], - - "define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="], - - "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], - - "dependency-graph": ["dependency-graph@1.0.0", "", {}, "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg=="], - - "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], - - "diff-match-patch": ["diff-match-patch@1.0.5", "", {}, "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw=="], - - "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="], - - "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="], - - "domhandler": ["domhandler@5.0.3", "", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="], - - "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="], - - "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], - - "duplexify": ["duplexify@4.1.3", "", { "dependencies": { "end-of-stream": "^1.4.1", "inherits": "^2.0.3", "readable-stream": "^3.1.1", "stream-shift": "^1.0.2" } }, "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA=="], - - "ecdsa-sig-formatter": ["ecdsa-sig-formatter@1.0.11", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ=="], - - "emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], - - "encoding-japanese": ["encoding-japanese@2.2.0", "", {}, "sha512-EuJWwlHPZ1LbADuKTClvHtwbaFn4rOD+dRAbWysqEOXRc2Uui0hJInNJrsdH0c+OhJA4nrCBdSkW4DD5YxAo6A=="], - - "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="], - - "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], - - "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], - - "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], - - "es-module-lexer": ["es-module-lexer@1.7.0", "", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="], - - "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], - - "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], - - "esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="], - - "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], - - "esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="], - - "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], - - "event-target-shim": ["event-target-shim@5.0.1", "", {}, "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="], - - "eventemitter3": ["eventemitter3@4.0.7", "", {}, "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="], - - "eventsource": ["eventsource@3.0.7", "", { "dependencies": { "eventsource-parser": "^3.0.1" } }, "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA=="], - - "eventsource-parser": ["eventsource-parser@3.0.6", "", {}, "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg=="], - - "expect-type": ["expect-type@1.2.1", "", {}, "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw=="], - - "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="], - - "extend-shallow": ["extend-shallow@2.0.1", "", { "dependencies": { "is-extendable": "^0.1.0" } }, "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug=="], - - "fdir": ["fdir@6.4.6", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w=="], - - "fetch-retry": ["fetch-retry@6.0.0", "", {}, "sha512-BUFj1aMubgib37I3v4q78fYo63Po7t4HUPTpQ6/QE6yK6cIQrP+W43FYToeTEyg5m2Y7eFUtijUuAv/PDlWuag=="], - - "filename-reserved-regex": ["filename-reserved-regex@3.0.0", "", {}, "sha512-hn4cQfU6GOT/7cFHXBqeBg2TbrMBgdD0kcjLhvSQYYwm3s4B6cjvBfb7nBALJLAXqmU5xajSa7X2NnUud/VCdw=="], - - "filenamify": ["filenamify@6.0.0", "", { "dependencies": { "filename-reserved-regex": "^3.0.0" } }, "sha512-vqIlNogKeyD3yzrm0yhRMQg8hOVwYcYRfjEoODd49iCprMn4HL85gK3HcykQE53EPIpX3HcAbGA5ELQv216dAQ=="], - - "follow-redirects": ["follow-redirects@1.15.11", "", {}, "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ=="], - - "form-data": ["form-data@4.0.4", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow=="], - - "form-data-encoder": ["form-data-encoder@1.7.2", "", {}, "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A=="], - - "formdata-node": ["formdata-node@4.4.1", "", { "dependencies": { "node-domexception": "1.0.0", "web-streams-polyfill": "4.0.0-beta.3" } }, "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ=="], - - "forwarded-parse": ["forwarded-parse@2.1.2", "", {}, "sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw=="], - - "fs-extra": ["fs-extra@11.3.2", "", { "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", "universalify": "^2.0.0" } }, "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A=="], - - "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], - - "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], - - "gaxios": ["gaxios@6.7.1", "", { "dependencies": { "extend": "^3.0.2", "https-proxy-agent": "^7.0.1", "is-stream": "^2.0.0", "node-fetch": "^2.6.9", "uuid": "^9.0.1" } }, "sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ=="], - - "gcp-metadata": ["gcp-metadata@6.1.1", "", { "dependencies": { "gaxios": "^6.1.1", "google-logging-utils": "^0.0.2", "json-bigint": "^1.0.0" } }, "sha512-a4tiq7E0/5fTjxPAaH4jpjkSv/uCaU2p5KC6HVGrvl0cDjA8iBZv4vv1gyzlmK0ZUKqwpOyQMKzZQe3lTit77A=="], - - "get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="], - - "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], - - "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], - - "google-auth-library": ["google-auth-library@9.15.1", "", { "dependencies": { "base64-js": "^1.3.0", "ecdsa-sig-formatter": "^1.0.11", "gaxios": "^6.1.1", "gcp-metadata": "^6.1.0", "gtoken": "^7.0.0", "jws": "^4.0.0" } }, "sha512-Jb6Z0+nvECVz+2lzSMt9u98UsoakXxA2HGHMCxh+so3n90XgYWkq5dur19JAJV7ONiJY22yBTyJB1TSkvPq9Ng=="], - - "google-gax": ["google-gax@4.6.1", "", { "dependencies": { "@grpc/grpc-js": "^1.10.9", "@grpc/proto-loader": "^0.7.13", "@types/long": "^4.0.0", "abort-controller": "^3.0.0", "duplexify": "^4.0.0", "google-auth-library": "^9.3.0", "node-fetch": "^2.7.0", "object-hash": "^3.0.0", "proto3-json-serializer": "^2.0.2", "protobufjs": "^7.3.2", "retry-request": "^7.0.0", "uuid": "^9.0.1" } }, "sha512-V6eky/xz2mcKfAd1Ioxyd6nmA61gao3n01C+YeuIwu3vzM9EDR6wcVzMSIbLMDXWeoi9SHYctXuKYC5uJUT3eQ=="], - - "google-logging-utils": ["google-logging-utils@0.0.2", "", {}, "sha512-NEgUnEcBiP5HrPzufUkBzJOD/Sxsco3rLNo1F1TNf7ieU8ryUzBhqba8r756CjLX7rn3fHl6iLEwPYuqpoKgQQ=="], - - "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], - - "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], - - "gray-matter": ["gray-matter@4.0.3", "", { "dependencies": { "js-yaml": "^3.13.1", "kind-of": "^6.0.2", "section-matter": "^1.0.0", "strip-bom-string": "^1.0.0" } }, "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q=="], - - "gtoken": ["gtoken@7.1.0", "", { "dependencies": { "gaxios": "^6.0.0", "jws": "^4.0.0" } }, "sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw=="], - - "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], - - "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], - - "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], - - "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], - - "he": ["he@1.2.0", "", { "bin": { "he": "bin/he" } }, "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="], - - "html-to-text": ["html-to-text@9.0.5", "", { "dependencies": { "@selderee/plugin-htmlparser2": "^0.11.0", "deepmerge": "^4.3.1", "dom-serializer": "^2.0.0", "htmlparser2": "^8.0.2", "selderee": "^0.11.0" } }, "sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg=="], - - "htmlparser2": ["htmlparser2@9.1.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.1.0", "entities": "^4.5.0" } }, "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ=="], - - "http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="], - - "https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="], - - "humanize-ms": ["humanize-ms@1.2.1", "", { "dependencies": { "ms": "^2.0.0" } }, "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ=="], - - "iconv-lite": ["iconv-lite@0.7.0", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ=="], - - "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], - - "import-in-the-middle": ["import-in-the-middle@1.14.1", "", { "dependencies": { "acorn": "^8.14.0", "acorn-import-attributes": "^1.9.5", "cjs-module-lexer": "^1.2.2", "module-details-from-path": "^1.0.3" } }, "sha512-FygQ6qrqLkLoT0eCKymIKvFH2bAiGDNwg0Cc6I8MevNXxhTAgwLu7it4vVwCpFjyEiJLPrjKodP9fIJAMKpIBw=="], - - "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], - - "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], - - "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], - - "is-extendable": ["is-extendable@0.1.1", "", {}, "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="], - - "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], - - "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], - - "is-stream": ["is-stream@2.0.1", "", {}, "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="], - - "is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="], - - "js-tiktoken": ["js-tiktoken@1.0.20", "", { "dependencies": { "base64-js": "^1.5.1" } }, "sha512-Xlaqhhs8VfCd6Sh7a1cFkZHQbYTLCwVJJWiHVxBYzLPxW0XsoxBy1hitmjkdIjD3Aon5BXLHFwU5O8WUx6HH+A=="], - - "js-tokens": ["js-tokens@9.0.1", "", {}, "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ=="], - - "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], - - "json-bigint": ["json-bigint@1.0.0", "", { "dependencies": { "bignumber.js": "^9.0.0" } }, "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ=="], - - "json-schema": ["json-schema@0.4.0", "", {}, "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="], - - "jsondiffpatch": ["jsondiffpatch@0.6.0", "", { "dependencies": { "@types/diff-match-patch": "^1.0.36", "chalk": "^5.3.0", "diff-match-patch": "^1.0.5" }, "bin": { "jsondiffpatch": "bin/jsondiffpatch.js" } }, "sha512-3QItJOXp2AP1uv7waBkao5nCvhEv+QmJAd38Ybq7wNI74Q+BBmnLn4EDKz6yI9xGAIQoUF87qHt+kc1IVxB4zQ=="], - - "jsonfile": ["jsonfile@6.2.0", "", { "dependencies": { "universalify": "^2.0.0" }, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg=="], - - "jsonpointer": ["jsonpointer@5.0.1", "", {}, "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ=="], - - "jsonwebtoken": ["jsonwebtoken@9.0.2", "", { "dependencies": { "jws": "^3.2.2", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", "lodash.isinteger": "^4.0.4", "lodash.isnumber": "^3.0.3", "lodash.isplainobject": "^4.0.6", "lodash.isstring": "^4.0.1", "lodash.once": "^4.0.0", "ms": "^2.1.1", "semver": "^7.5.4" } }, "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ=="], - - "jwa": ["jwa@1.4.2", "", { "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw=="], - - "jws": ["jws@3.2.2", "", { "dependencies": { "jwa": "^1.4.1", "safe-buffer": "^5.0.1" } }, "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA=="], - - "kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="], - - "langchain": ["langchain@0.3.28", "", { "dependencies": { "@langchain/openai": ">=0.1.0 <0.6.0", "@langchain/textsplitters": ">=0.0.0 <0.2.0", "js-tiktoken": "^1.0.12", "js-yaml": "^4.1.0", "jsonpointer": "^5.0.1", "langsmith": "^0.3.29", "openapi-types": "^12.1.3", "p-retry": "4", "uuid": "^10.0.0", "yaml": "^2.2.1", "zod": "^3.25.32" }, "peerDependencies": { "@langchain/anthropic": "*", "@langchain/aws": "*", "@langchain/cerebras": "*", "@langchain/cohere": "*", "@langchain/core": ">=0.3.58 <0.4.0", "@langchain/deepseek": "*", "@langchain/google-genai": "*", "@langchain/google-vertexai": "*", "@langchain/google-vertexai-web": "*", "@langchain/groq": "*", "@langchain/mistralai": "*", "@langchain/ollama": "*", "@langchain/xai": "*", "axios": "*", "cheerio": "*", "handlebars": "^4.7.8", "peggy": "^3.0.2", "typeorm": "*" }, "optionalPeers": ["@langchain/anthropic", "@langchain/aws", "@langchain/cerebras", "@langchain/cohere", "@langchain/deepseek", "@langchain/google-genai", "@langchain/google-vertexai", "@langchain/google-vertexai-web", "@langchain/groq", "@langchain/mistralai", "@langchain/ollama", "@langchain/xai", "axios", "cheerio", "handlebars", "peggy", "typeorm"] }, "sha512-h4GGlBJNGU/Sj2PipW9kL+ewj7To3c+SnnNKH3HZaVHEqGPMHVB96T1lLjtCLcZCyUfabMr/zFIkLNI4War+Xg=="], - - "langsmith": ["langsmith@0.3.33", "", { "dependencies": { "@types/uuid": "^10.0.0", "chalk": "^4.1.2", "console-table-printer": "^2.12.1", "p-queue": "^6.6.2", "p-retry": "4", "semver": "^7.6.3", "uuid": "^10.0.0" }, "peerDependencies": { "openai": "*" }, "optionalPeers": ["openai"] }, "sha512-imNIaBL6+ElE5eMzNHYwFxo6W/6rHlqcaUjCYoIeGdCYWlARxE3CTGKul5DJnaUgGP2CTLFeNXyvRx5HWC/4KQ=="], - - "leac": ["leac@0.6.0", "", {}, "sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg=="], - - "libbase64": ["libbase64@1.3.0", "", {}, "sha512-GgOXd0Eo6phYgh0DJtjQ2tO8dc0IVINtZJeARPeiIJqge+HdsWSuaDTe8ztQ7j/cONByDZ3zeB325AHiv5O0dg=="], - - "libmime": ["libmime@5.3.7", "", { "dependencies": { "encoding-japanese": "2.2.0", "iconv-lite": "0.6.3", "libbase64": "1.3.0", "libqp": "2.1.1" } }, "sha512-FlDb3Wtha8P01kTL3P9M+ZDNDWPKPmKHWaU/cG/lg5pfuAwdflVpZE+wm9m7pKmC5ww6s+zTxBKS1p6yl3KpSw=="], - - "libqp": ["libqp@2.1.1", "", {}, "sha512-0Wd+GPz1O134cP62YU2GTOPNA7Qgl09XwCqM5zpBv87ERCXdfDtyKXvV7c9U22yWJh44QZqBocFnXN11K96qow=="], - - "linkify-it": ["linkify-it@5.0.0", "", { "dependencies": { "uc.micro": "^2.0.0" } }, "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ=="], - - "lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], - - "lodash.camelcase": ["lodash.camelcase@4.3.0", "", {}, "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="], - - "lodash.includes": ["lodash.includes@4.3.0", "", {}, "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="], - - "lodash.isboolean": ["lodash.isboolean@3.0.3", "", {}, "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg=="], - - "lodash.isinteger": ["lodash.isinteger@4.0.4", "", {}, "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="], - - "lodash.isnumber": ["lodash.isnumber@3.0.3", "", {}, "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw=="], - - "lodash.isplainobject": ["lodash.isplainobject@4.0.6", "", {}, "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="], - - "lodash.isstring": ["lodash.isstring@4.0.1", "", {}, "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="], - - "lodash.once": ["lodash.once@4.1.1", "", {}, "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="], - - "long": ["long@5.3.2", "", {}, "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA=="], - - "loupe": ["loupe@3.1.3", "", {}, "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug=="], - - "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], - - "mailparser": ["mailparser@3.7.5", "", { "dependencies": { "encoding-japanese": "2.2.0", "he": "1.2.0", "html-to-text": "9.0.5", "iconv-lite": "0.7.0", "libmime": "5.3.7", "linkify-it": "5.0.0", "mailsplit": "5.4.6", "nodemailer": "7.0.9", "punycode.js": "2.3.1", "tlds": "1.260.0" } }, "sha512-o59RgZC+4SyCOn4xRH1mtRiZ1PbEmi6si6Ufnd3tbX/V9zmZN1qcqu8xbXY62H6CwIclOT3ppm5u/wV2nujn4g=="], - - "mailsplit": ["mailsplit@5.4.6", "", { "dependencies": { "libbase64": "1.3.0", "libmime": "5.3.7", "libqp": "2.1.1" } }, "sha512-M+cqmzaPG/mEiCDmqQUz8L177JZLZmXAUpq38owtpq2xlXlTSw+kntnxRt2xsxVFFV6+T8Mj/U0l5s7s6e0rNw=="], - - "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], - - "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], - - "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], - - "module-details-from-path": ["module-details-from-path@1.0.4", "", {}, "sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w=="], - - "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], - - "mustache": ["mustache@4.2.0", "", { "bin": { "mustache": "bin/mustache" } }, "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ=="], - - "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], - - "node-domexception": ["node-domexception@1.0.0", "", {}, "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="], - - "node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], - - "nodemailer": ["nodemailer@7.0.3", "", {}, "sha512-Ajq6Sz1x7cIK3pN6KesGTah+1gnwMnx5gKl3piQlQQE/PwyJ4Mbc8is2psWYxK3RJTVeqsDaCv8ZzXLCDHMTZw=="], - - "nunjucks": ["nunjucks@3.2.4", "", { "dependencies": { "a-sync-waterfall": "^1.0.0", "asap": "^2.0.3", "commander": "^5.1.0" }, "peerDependencies": { "chokidar": "^3.3.0" }, "optionalPeers": ["chokidar"], "bin": { "nunjucks-precompile": "bin/precompile" } }, "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ=="], - - "object-hash": ["object-hash@3.0.0", "", {}, "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="], - - "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], - - "open": ["open@10.2.0", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "wsl-utils": "^0.1.0" } }, "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA=="], - - "openai": ["openai@4.104.0", "", { "dependencies": { "@types/node": "^18.11.18", "@types/node-fetch": "^2.6.4", "abort-controller": "^3.0.0", "agentkeepalive": "^4.2.1", "form-data-encoder": "1.7.2", "formdata-node": "^4.3.2", "node-fetch": "^2.6.7" }, "peerDependencies": { "ws": "^8.18.0", "zod": "^3.23.8" }, "optionalPeers": ["ws", "zod"], "bin": { "openai": "bin/cli" } }, "sha512-p99EFNsA/yX6UhVO93f5kJsDRLAg+CTA2RBqdHK4RtK8u5IJw32Hyb2dTGKbnnFmnuoBv5r7Z2CURI9sGZpSuA=="], - - "openapi-types": ["openapi-types@12.1.3", "", {}, "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw=="], - - "openssl-wrapper": ["openssl-wrapper@0.3.4", "", {}, "sha512-iITsrx6Ho8V3/2OVtmZzzX8wQaKAaFXEJQdzoPUZDtyf5jWFlqo+h+OhGT4TATQ47f9ACKHua8nw7Qoy85aeKQ=="], - - "p-finally": ["p-finally@1.0.0", "", {}, "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow=="], - - "p-queue": ["p-queue@6.6.2", "", { "dependencies": { "eventemitter3": "^4.0.4", "p-timeout": "^3.2.0" } }, "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ=="], - - "p-retry": ["p-retry@4.6.2", "", { "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" } }, "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ=="], - - "p-timeout": ["p-timeout@3.2.0", "", { "dependencies": { "p-finally": "^1.0.0" } }, "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg=="], - - "papaparse": ["papaparse@5.5.3", "", {}, "sha512-5QvjGxYVjxO59MGU2lHVYpRWBBtKHnlIAcSe1uNFCkkptUh63NFRj0FJQm7nR67puEruUci/ZkjmEFrjCAyP4A=="], - - "parseley": ["parseley@0.12.1", "", { "dependencies": { "leac": "^0.6.0", "peberminta": "^0.9.0" } }, "sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw=="], - - "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], - - "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], - - "pathval": ["pathval@2.0.0", "", {}, "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA=="], - - "peberminta": ["peberminta@0.9.0", "", {}, "sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ=="], - - "pg-int8": ["pg-int8@1.0.1", "", {}, "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw=="], - - "pg-protocol": ["pg-protocol@1.10.0", "", {}, "sha512-IpdytjudNuLv8nhlHs/UrVBhU0e78J0oIS/0AVdTbWxSOkFUVdsHC/NrorO6nXsQNDTT1kzDSOMJubBQviX18Q=="], - - "pg-types": ["pg-types@2.2.0", "", { "dependencies": { "pg-int8": "1.0.1", "postgres-array": "~2.0.0", "postgres-bytea": "~1.0.0", "postgres-date": "~1.0.4", "postgres-interval": "^1.1.0" } }, "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA=="], - - "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - - "picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="], - - "postcss": ["postcss@8.5.5", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-d/jtm+rdNT8tpXuHY5MMtcbJFBkhXE6593XVR9UoGCH8jSFGci7jGvMGH5RYd5PBJW+00NZQt6gf7CbagJCrhg=="], - - "postgres-array": ["postgres-array@2.0.0", "", {}, "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA=="], - - "postgres-bytea": ["postgres-bytea@1.0.0", "", {}, "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w=="], - - "postgres-date": ["postgres-date@1.0.7", "", {}, "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q=="], - - "postgres-interval": ["postgres-interval@1.2.0", "", { "dependencies": { "xtend": "^4.0.0" } }, "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ=="], - - "posthog-node": ["posthog-node@5.10.3", "", { "dependencies": { "@posthog/core": "1.3.1" } }, "sha512-pe0P/4MfTSBgM4PWRTeg2iKDSSX6nxnlxAyW+v2+acpCSU50KM2YE5UFJ1Vkq/PtwcJgrt2Ydj66IzuRn2uwFQ=="], - - "proto3-json-serializer": ["proto3-json-serializer@2.0.2", "", { "dependencies": { "protobufjs": "^7.2.5" } }, "sha512-SAzp/O4Yh02jGdRc+uIrGoe87dkN/XtwxfZ4ZyafJHymd79ozp5VG5nyZ7ygqPM5+cpLDjjGnYFUkngonyDPOQ=="], - - "protobufjs": ["protobufjs@7.5.3", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", "@protobufjs/codegen": "^2.0.4", "@protobufjs/eventemitter": "^1.1.0", "@protobufjs/fetch": "^1.1.0", "@protobufjs/float": "^1.0.2", "@protobufjs/inquire": "^1.1.0", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/node": ">=13.7.0", "long": "^5.0.0" } }, "sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw=="], - - "proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="], - - "punycode.js": ["punycode.js@2.3.1", "", {}, "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA=="], - - "react": ["react@19.1.0", "", {}, "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg=="], - - "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], - - "require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="], - - "require-in-the-middle": ["require-in-the-middle@7.5.2", "", { "dependencies": { "debug": "^4.3.5", "module-details-from-path": "^1.0.3", "resolve": "^1.22.8" } }, "sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ=="], - - "resolve": ["resolve@1.22.10", "", { "dependencies": { "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w=="], - - "retry": ["retry@0.13.1", "", {}, "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg=="], - - "retry-request": ["retry-request@7.0.2", "", { "dependencies": { "@types/request": "^2.48.8", "extend": "^3.0.2", "teeny-request": "^9.0.0" } }, "sha512-dUOvLMJ0/JJYEn8NrpOaGNE7X3vpI5XlZS/u0ANjqtcZVKnIxP7IgCFwrKTxENw29emmwug53awKtaMm4i9g5w=="], - - "rollup": ["rollup@4.43.0", "", { "dependencies": { "@types/estree": "1.0.7" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.43.0", "@rollup/rollup-android-arm64": "4.43.0", "@rollup/rollup-darwin-arm64": "4.43.0", "@rollup/rollup-darwin-x64": "4.43.0", "@rollup/rollup-freebsd-arm64": "4.43.0", "@rollup/rollup-freebsd-x64": "4.43.0", "@rollup/rollup-linux-arm-gnueabihf": "4.43.0", "@rollup/rollup-linux-arm-musleabihf": "4.43.0", "@rollup/rollup-linux-arm64-gnu": "4.43.0", "@rollup/rollup-linux-arm64-musl": "4.43.0", "@rollup/rollup-linux-loongarch64-gnu": "4.43.0", "@rollup/rollup-linux-powerpc64le-gnu": "4.43.0", "@rollup/rollup-linux-riscv64-gnu": "4.43.0", "@rollup/rollup-linux-riscv64-musl": "4.43.0", "@rollup/rollup-linux-s390x-gnu": "4.43.0", "@rollup/rollup-linux-x64-gnu": "4.43.0", "@rollup/rollup-linux-x64-musl": "4.43.0", "@rollup/rollup-win32-arm64-msvc": "4.43.0", "@rollup/rollup-win32-ia32-msvc": "4.43.0", "@rollup/rollup-win32-x64-msvc": "4.43.0", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg=="], - - "rsa-pem-from-mod-exp": ["rsa-pem-from-mod-exp@0.8.6", "", {}, "sha512-c5ouQkOvGHF1qomUUDJGFcXsomeSO2gbEs6hVhMAtlkE1CuaZase/WzoaKFG/EZQuNmq6pw/EMCeEnDvOgCJYQ=="], - - "run-applescript": ["run-applescript@7.1.0", "", {}, "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q=="], - - "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], - - "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], - - "section-matter": ["section-matter@1.0.0", "", { "dependencies": { "extend-shallow": "^2.0.1", "kind-of": "^6.0.0" } }, "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA=="], - - "secure-json-parse": ["secure-json-parse@2.7.0", "", {}, "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw=="], - - "selderee": ["selderee@0.11.0", "", { "dependencies": { "parseley": "^0.12.0" } }, "sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA=="], - - "semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], - - "shimmer": ["shimmer@1.2.1", "", {}, "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw=="], - - "siginfo": ["siginfo@2.0.0", "", {}, "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g=="], - - "simple-wcswidth": ["simple-wcswidth@1.1.1", "", {}, "sha512-R3q3/eoeNBp24CNTASEUrffXi0j9TwPIEvSStlvSrsFimM17sV5EHcMOc86j3K+UWZyLYvH0hRmYGCpCoaJ4vw=="], - - "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], - - "sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="], - - "stackback": ["stackback@0.0.2", "", {}, "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw=="], - - "std-env": ["std-env@3.9.0", "", {}, "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw=="], - - "stream-events": ["stream-events@1.0.5", "", { "dependencies": { "stubs": "^3.0.0" } }, "sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg=="], - - "stream-shift": ["stream-shift@1.0.3", "", {}, "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ=="], - - "string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - - "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], - - "strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - - "strip-bom-string": ["strip-bom-string@1.0.0", "", {}, "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g=="], - - "strip-literal": ["strip-literal@3.0.0", "", { "dependencies": { "js-tokens": "^9.0.1" } }, "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA=="], - - "stubs": ["stubs@3.0.0", "", {}, "sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw=="], - - "supports-color": ["supports-color@10.2.2", "", {}, "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g=="], - - "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], - - "swr": ["swr@2.3.3", "", { "dependencies": { "dequal": "^2.0.3", "use-sync-external-store": "^1.4.0" }, "peerDependencies": { "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-dshNvs3ExOqtZ6kJBaAsabhPdHyeY4P2cKwRCniDVifBMoG/SVI7tfLWqPXriVspf2Rg4tPzXJTnwaihIeFw2A=="], - - "systeminformation": ["systeminformation@5.23.8", "", { "os": "!aix", "bin": { "systeminformation": "lib/cli.js" } }, "sha512-Osd24mNKe6jr/YoXLLK3k8TMdzaxDffhpCxgkfgBHcapykIkd50HXThM3TCEuHO2pPuCsSx2ms/SunqhU5MmsQ=="], - - "teeny-request": ["teeny-request@9.0.0", "", { "dependencies": { "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0", "node-fetch": "^2.6.9", "stream-events": "^1.0.5", "uuid": "^9.0.0" } }, "sha512-resvxdc6Mgb7YEThw6G6bExlXKkv6+YbuzGg9xuXxSgxJF7Ozs+o8Y9+2R3sArdWdW8nOokoQb1yrpFB0pQK2g=="], - - "throttleit": ["throttleit@2.1.0", "", {}, "sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw=="], - - "tinybench": ["tinybench@2.9.0", "", {}, "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg=="], - - "tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], - - "tinyglobby": ["tinyglobby@0.2.14", "", { "dependencies": { "fdir": "^6.4.4", "picomatch": "^4.0.2" } }, "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ=="], - - "tinypool": ["tinypool@1.1.0", "", {}, "sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ=="], - - "tinyrainbow": ["tinyrainbow@2.0.0", "", {}, "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw=="], - - "tinyspy": ["tinyspy@4.0.3", "", {}, "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A=="], - - "tlds": ["tlds@1.260.0", "", { "bin": { "tlds": "bin.js" } }, "sha512-78+28EWBhCEE7qlyaHA9OR3IPvbCLiDh3Ckla593TksfFc9vfTsgvH7eS+dr3o9qr31gwGbogcI16yN91PoRjQ=="], - - "tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="], - - "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - - "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], - - "uc.micro": ["uc.micro@2.1.0", "", {}, "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A=="], - - "undici-types": ["undici-types@7.8.0", "", {}, "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw=="], - - "universalify": ["universalify@2.0.1", "", {}, "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw=="], - - "use-sync-external-store": ["use-sync-external-store@1.5.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A=="], - - "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], - - "uuid": ["uuid@10.0.0", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ=="], - - "vite": ["vite@6.3.5", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ=="], - - "vite-node": ["vite-node@3.2.3", "", { "dependencies": { "cac": "^6.7.14", "debug": "^4.4.1", "es-module-lexer": "^1.7.0", "pathe": "^2.0.3", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" }, "bin": { "vite-node": "vite-node.mjs" } }, "sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ=="], - - "vitest": ["vitest@3.2.3", "", { "dependencies": { "@types/chai": "^5.2.2", "@vitest/expect": "3.2.3", "@vitest/mocker": "3.2.3", "@vitest/pretty-format": "^3.2.3", "@vitest/runner": "3.2.3", "@vitest/snapshot": "3.2.3", "@vitest/spy": "3.2.3", "@vitest/utils": "3.2.3", "chai": "^5.2.0", "debug": "^4.4.1", "expect-type": "^1.2.1", "magic-string": "^0.30.17", "pathe": "^2.0.3", "picomatch": "^4.0.2", "std-env": "^3.9.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.14", "tinypool": "^1.1.0", "tinyrainbow": "^2.0.0", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", "vite-node": "3.2.3", "why-is-node-running": "^2.3.0" }, "peerDependencies": { "@edge-runtime/vm": "*", "@types/debug": "^4.1.12", "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "@vitest/browser": "3.2.3", "@vitest/ui": "3.2.3", "happy-dom": "*", "jsdom": "*" }, "optionalPeers": ["@edge-runtime/vm", "@types/debug", "@types/node", "@vitest/browser", "@vitest/ui", "happy-dom", "jsdom"], "bin": { "vitest": "vitest.mjs" } }, "sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww=="], - - "web-streams-polyfill": ["web-streams-polyfill@4.0.0-beta.3", "", {}, "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug=="], - - "webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="], - - "whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="], - - "why-is-node-running": ["why-is-node-running@2.3.0", "", { "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" }, "bin": { "why-is-node-running": "cli.js" } }, "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w=="], - - "wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - - "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], - - "ws": ["ws@7.5.10", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": "^5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ=="], - - "wsl-utils": ["wsl-utils@0.1.0", "", { "dependencies": { "is-wsl": "^3.1.0" } }, "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw=="], - - "xtend": ["xtend@4.0.2", "", {}, "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="], - - "y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="], - - "yaml": ["yaml@2.8.0", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ=="], - - "yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="], - - "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], - - "zod": ["zod@3.25.64", "", {}, "sha512-hbP9FpSZf7pkS7hRVUrOjhwKJNyampPgtXKc3AN6DsWtoHsg2Sb4SQaS4Tcay380zSwd2VPo9G9180emBACp5g=="], - - "zod-to-json-schema": ["zod-to-json-schema@3.24.5", "", { "peerDependencies": { "zod": "^3.24.1" } }, "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g=="], - - "@azure/identity/@azure/msal-node": ["@azure/msal-node@3.8.0", "", { "dependencies": { "@azure/msal-common": "15.13.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" } }, "sha512-23BXm82Mp5XnRhrcd4mrHa0xuUNRp96ivu3nRatrfdAqjoeWAGyD0eEAafxAOHAEWWmdlyFK4ELFcdziXyw2sA=="], - - "@azure/msal-browser/@azure/msal-common": ["@azure/msal-common@15.13.0", "", {}, "sha512-8oF6nj02qX7eE/6+wFT5NluXRHc05AgdCC3fJnkjiJooq8u7BcLmxaYYSwc2AfEkWRMRi6Eyvvbeqk4U4412Ag=="], - - "@azure/msal-node/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], - - "@langchain/openai/zod": ["zod@3.25.32", "", {}, "sha512-OSm2xTIRfW8CV5/QKgngwmQW/8aPfGdaQFlrGoErlgg/Epm7cjb6K6VEyExfe65a3VybUOnu381edLb0dfJl0g=="], - - "@opentelemetry/core/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.28.0", "", {}, "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA=="], - - "@opentelemetry/exporter-zipkin/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.28.0", "", {}, "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA=="], - - "@opentelemetry/instrumentation-grpc/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.28.0", "", {}, "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA=="], - - "@opentelemetry/instrumentation-http/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.28.0", "", {}, "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA=="], - - "@opentelemetry/resources/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.28.0", "", {}, "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA=="], - - "@opentelemetry/sdk-node/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.28.0", "", {}, "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA=="], - - "@opentelemetry/sdk-trace-base/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.28.0", "", {}, "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA=="], - - "@traceloop/instrumentation-anthropic/@opentelemetry/core": ["@opentelemetry/core@2.2.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw=="], - - "@traceloop/instrumentation-anthropic/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ=="], - - "@traceloop/instrumentation-anthropic/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.37.0", "", {}, "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA=="], - - "@traceloop/instrumentation-bedrock/@opentelemetry/core": ["@opentelemetry/core@2.2.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw=="], - - "@traceloop/instrumentation-bedrock/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ=="], - - "@traceloop/instrumentation-bedrock/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.37.0", "", {}, "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA=="], - - "@traceloop/instrumentation-chromadb/@opentelemetry/core": ["@opentelemetry/core@2.2.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw=="], - - "@traceloop/instrumentation-chromadb/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ=="], - - "@traceloop/instrumentation-chromadb/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.37.0", "", {}, "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA=="], - - "@traceloop/instrumentation-cohere/@opentelemetry/core": ["@opentelemetry/core@2.2.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw=="], - - "@traceloop/instrumentation-cohere/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ=="], - - "@traceloop/instrumentation-cohere/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.37.0", "", {}, "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA=="], - - "@traceloop/instrumentation-langchain/@langchain/core": ["@langchain/core@0.3.78", "", { "dependencies": { "@cfworker/json-schema": "^4.0.2", "ansi-styles": "^5.0.0", "camelcase": "6", "decamelize": "1.2.0", "js-tiktoken": "^1.0.12", "langsmith": "^0.3.67", "mustache": "^4.2.0", "p-queue": "^6.6.2", "p-retry": "4", "uuid": "^10.0.0", "zod": "^3.25.32", "zod-to-json-schema": "^3.22.3" } }, "sha512-Nn0x9erQlK3zgtRU1Z8NUjLuyW0gzdclMsvLQ6wwLeDqV91pE+YKl6uQb+L2NUDs4F0N7c2Zncgz46HxrvPzuA=="], - - "@traceloop/instrumentation-langchain/@opentelemetry/core": ["@opentelemetry/core@2.2.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw=="], - - "@traceloop/instrumentation-langchain/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ=="], - - "@traceloop/instrumentation-langchain/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.37.0", "", {}, "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA=="], - - "@traceloop/instrumentation-llamaindex/@opentelemetry/core": ["@opentelemetry/core@2.2.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw=="], - - "@traceloop/instrumentation-llamaindex/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ=="], - - "@traceloop/instrumentation-llamaindex/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.37.0", "", {}, "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA=="], - - "@traceloop/instrumentation-openai/@opentelemetry/core": ["@opentelemetry/core@2.2.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw=="], - - "@traceloop/instrumentation-openai/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ=="], - - "@traceloop/instrumentation-openai/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.37.0", "", {}, "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA=="], - - "@traceloop/instrumentation-pinecone/@opentelemetry/core": ["@opentelemetry/core@2.2.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw=="], - - "@traceloop/instrumentation-pinecone/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ=="], - - "@traceloop/instrumentation-pinecone/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.37.0", "", {}, "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA=="], - - "@traceloop/instrumentation-qdrant/@opentelemetry/core": ["@opentelemetry/core@2.2.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw=="], - - "@traceloop/instrumentation-qdrant/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ=="], - - "@traceloop/instrumentation-together/@opentelemetry/core": ["@opentelemetry/core@2.2.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw=="], - - "@traceloop/instrumentation-together/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ=="], - - "@traceloop/instrumentation-together/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.37.0", "", {}, "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA=="], - - "@traceloop/instrumentation-vertexai/@opentelemetry/core": ["@opentelemetry/core@2.2.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw=="], - - "@traceloop/instrumentation-vertexai/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ=="], - - "@traceloop/instrumentation-vertexai/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.37.0", "", {}, "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA=="], - - "@traceloop/node-server-sdk/@opentelemetry/core": ["@opentelemetry/core@2.2.0", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-FuabnnUm8LflnieVxs6eP7Z383hgQU4W1e3KJS6aOG3RxWxcHyBxH8fDMHNgu/gFx/M2jvTOW/4/PHhLz6bjWw=="], - - "@traceloop/node-server-sdk/@opentelemetry/exporter-trace-otlp-proto": ["@opentelemetry/exporter-trace-otlp-proto@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-exporter-base": "0.203.0", "@opentelemetry/otlp-transformer": "0.203.0", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-1xwNTJ86L0aJmWRwENCJlH4LULMG2sOXWIVw+Szta4fkqKVY50Eo4HoVKKq6U9QEytrWCr8+zjw0q/ZOeXpcAQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/instrumentation": ["@opentelemetry/instrumentation@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "import-in-the-middle": "^1.8.1", "require-in-the-middle": "^7.1.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ke1qyM+3AK2zPuBPb6Hk/GCsc5ewbLvPNkEuELx/JmANeEp6ZjnZ+wypPAJSucTw0wvCGrUaibDSdcrGFoWxKQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/resources": ["@opentelemetry/resources@2.2.0", "", { "dependencies": { "@opentelemetry/core": "2.2.0", "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-1pNQf/JazQTMA0BiO5NINUzH0cbLbbl7mntLa4aJNmCCXSj0q03T5ZXXL0zw4G55TjdL9Tz32cznGClf+8zr5A=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node": ["@opentelemetry/sdk-node@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/exporter-logs-otlp-grpc": "0.203.0", "@opentelemetry/exporter-logs-otlp-http": "0.203.0", "@opentelemetry/exporter-logs-otlp-proto": "0.203.0", "@opentelemetry/exporter-metrics-otlp-grpc": "0.203.0", "@opentelemetry/exporter-metrics-otlp-http": "0.203.0", "@opentelemetry/exporter-metrics-otlp-proto": "0.203.0", "@opentelemetry/exporter-prometheus": "0.203.0", "@opentelemetry/exporter-trace-otlp-grpc": "0.203.0", "@opentelemetry/exporter-trace-otlp-http": "0.203.0", "@opentelemetry/exporter-trace-otlp-proto": "0.203.0", "@opentelemetry/exporter-zipkin": "2.0.1", "@opentelemetry/instrumentation": "0.203.0", "@opentelemetry/propagator-b3": "2.0.1", "@opentelemetry/propagator-jaeger": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-logs": "0.203.0", "@opentelemetry/sdk-metrics": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1", "@opentelemetry/sdk-trace-node": "2.0.1", "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-zRMvrZGhGVMvAbbjiNQW3eKzW/073dlrSiAKPVWmkoQzah9wfynpVPeL55f9fVIm0GaBxTLcPeukWGy0/Wj7KQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-trace-base": ["@opentelemetry/sdk-trace-base@2.2.0", "", { "dependencies": { "@opentelemetry/core": "2.2.0", "@opentelemetry/resources": "2.2.0", "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-xWQgL0Bmctsalg6PaXExmzdedSp3gyKV8mQBwK/j9VGdCDu2fmXIb2gAehBKbkXCpJ4HPkgv3QfoJWRT4dHWbw=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-trace-node": ["@opentelemetry/sdk-trace-node@2.2.0", "", { "dependencies": { "@opentelemetry/context-async-hooks": "2.2.0", "@opentelemetry/core": "2.2.0", "@opentelemetry/sdk-trace-base": "2.2.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-+OaRja3f0IqGG2kptVeYsrZQK9nKRSpfFrKtRBq4uh6nIB8bTBgaGvYQrQoRrQWQMA5dK5yLhDMDc0dvYvCOIQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.37.0", "", {}, "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA=="], - - "@traceloop/node-server-sdk/uuid": ["uuid@11.1.0", "", { "bin": { "uuid": "dist/esm/bin/uuid" } }, "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A=="], - - "@types/node-fetch/form-data": ["form-data@4.0.3", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA=="], - - "@types/request/form-data": ["form-data@2.5.5", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.35", "safe-buffer": "^5.2.1" } }, "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A=="], - - "gaxios/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="], - - "google-auth-library/jws": ["jws@4.0.0", "", { "dependencies": { "jwa": "^2.0.0", "safe-buffer": "^5.0.1" } }, "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg=="], - - "google-gax/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="], - - "gray-matter/js-yaml": ["js-yaml@3.14.1", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="], - - "gtoken/jws": ["jws@4.0.0", "", { "dependencies": { "jwa": "^2.0.0", "safe-buffer": "^5.0.1" } }, "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg=="], - - "html-to-text/htmlparser2": ["htmlparser2@8.0.2", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.0.1", "entities": "^4.4.0" } }, "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA=="], - - "langsmith/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "libmime/iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], - - "mailparser/nodemailer": ["nodemailer@7.0.9", "", {}, "sha512-9/Qm0qXIByEP8lEV2qOqcAW7bRpL8CR9jcTwk3NBnHJNmP9fIJ86g2fgmIXqHY+nj55ZEMwWqYAT2QTDpRUYiQ=="], - - "openai/@types/node": ["@types/node@18.19.112", "", { "dependencies": { "undici-types": "~5.26.4" } }, "sha512-i+Vukt9POdS/MBI7YrrkkI5fMfwFtOjphSmt4WXYLfwqsfr6z/HdCx7LqT9M7JktGob8WNgj8nFB4TbGNE4Cog=="], - - "rollup/@types/estree": ["@types/estree@1.0.7", "", {}, "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="], - - "teeny-request/http-proxy-agent": ["http-proxy-agent@5.0.0", "", { "dependencies": { "@tootallnate/once": "2", "agent-base": "6", "debug": "4" } }, "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w=="], - - "teeny-request/https-proxy-agent": ["https-proxy-agent@5.0.1", "", { "dependencies": { "agent-base": "6", "debug": "4" } }, "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA=="], - - "teeny-request/uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="], - - "wrap-ansi/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "@azure/identity/@azure/msal-node/@azure/msal-common": ["@azure/msal-common@15.13.0", "", {}, "sha512-8oF6nj02qX7eE/6+wFT5NluXRHc05AgdCC3fJnkjiJooq8u7BcLmxaYYSwc2AfEkWRMRi6Eyvvbeqk4U4412Ag=="], - - "@azure/identity/@azure/msal-node/uuid": ["uuid@8.3.2", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="], - - "@traceloop/instrumentation-anthropic/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/instrumentation-bedrock/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/instrumentation-chromadb/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/instrumentation-cohere/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/instrumentation-langchain/@langchain/core/langsmith": ["langsmith@0.3.74", "", { "dependencies": { "@types/uuid": "^10.0.0", "chalk": "^4.1.2", "console-table-printer": "^2.12.1", "p-queue": "^6.6.2", "p-retry": "4", "semver": "^7.6.3", "uuid": "^10.0.0" }, "peerDependencies": { "@opentelemetry/api": "*", "@opentelemetry/exporter-trace-otlp-proto": "*", "@opentelemetry/sdk-trace-base": "*", "openai": "*" }, "optionalPeers": ["@opentelemetry/api", "@opentelemetry/exporter-trace-otlp-proto", "@opentelemetry/sdk-trace-base", "openai"] }, "sha512-ZuW3Qawz8w88XcuCRH91yTp6lsdGuwzRqZ5J0Hf5q/AjMz7DwcSv0MkE6V5W+8hFMI850QZN2Wlxwm3R9lHlZg=="], - - "@traceloop/instrumentation-langchain/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/instrumentation-llamaindex/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/instrumentation-openai/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/instrumentation-pinecone/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/instrumentation-qdrant/@opentelemetry/core/@opentelemetry/semantic-conventions": ["@opentelemetry/semantic-conventions@1.37.0", "", {}, "sha512-JD6DerIKdJGmRp4jQyX5FlrQjA4tjOw1cvfsPAZXfOOEErMUHjPcPSICS+6WnM0nB0efSFARh0KAZss+bvExOA=="], - - "@traceloop/instrumentation-qdrant/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/instrumentation-together/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/instrumentation-vertexai/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/exporter-trace-otlp-proto/@opentelemetry/core": ["@opentelemetry/core@2.0.1", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-MaZk9SJIDgo1peKevlbhP6+IwIiNPNmswNL4AF0WaQJLbHXjr9SrZMgS12+iqr9ToV4ZVosCcc0f8Rg67LXjxw=="], - - "@traceloop/node-server-sdk/@opentelemetry/exporter-trace-otlp-proto/@opentelemetry/otlp-exporter-base": ["@opentelemetry/otlp-exporter-base@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-transformer": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Wbxf7k+87KyvxFr5D7uOiSq/vHXWommvdnNE7vECO3tAhsA2GfOlpWINCMWUEPdHZ7tCXxw6Epp3vgx3jU7llQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/exporter-trace-otlp-proto/@opentelemetry/otlp-transformer": ["@opentelemetry/otlp-transformer@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-logs": "0.203.0", "@opentelemetry/sdk-metrics": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1", "protobufjs": "^7.3.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Y8I6GgoCna0qDQ2W6GCRtaF24SnvqvA8OfeTi7fqigD23u8Jpb4R5KFv/pRvrlGagcCLICMIyh9wiejp4TXu/A=="], - - "@traceloop/node-server-sdk/@opentelemetry/exporter-trace-otlp-proto/@opentelemetry/resources": ["@opentelemetry/resources@2.0.1", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-dZOB3R6zvBwDKnHDTB4X1xtMArB/d324VsbiPkX/Yu0Q8T2xceRthoIVFhJdvgVM2QhGVUyX9tzwiNxGtoBJUw=="], - - "@traceloop/node-server-sdk/@opentelemetry/exporter-trace-otlp-proto/@opentelemetry/sdk-trace-base": ["@opentelemetry/sdk-trace-base@2.0.1", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-xYLlvk/xdScGx1aEqvxLwf6sXQLXCjk3/1SQT9X9AoN5rXRhkdvIFShuNNmtTEPRBqcsMbS4p/gJLNI2wXaDuQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/instrumentation/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/core": ["@opentelemetry/core@2.0.1", "", { "dependencies": { "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-MaZk9SJIDgo1peKevlbhP6+IwIiNPNmswNL4AF0WaQJLbHXjr9SrZMgS12+iqr9ToV4ZVosCcc0f8Rg67LXjxw=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-logs-otlp-grpc": ["@opentelemetry/exporter-logs-otlp-grpc@0.203.0", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-exporter-base": "0.203.0", "@opentelemetry/otlp-grpc-exporter-base": "0.203.0", "@opentelemetry/otlp-transformer": "0.203.0", "@opentelemetry/sdk-logs": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-g/2Y2noc/l96zmM+g0LdeuyYKINyBwN6FJySoU15LHPLcMN/1a0wNk2SegwKcxrRdE7Xsm7fkIR5n6XFe3QpPw=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-logs-otlp-http": ["@opentelemetry/exporter-logs-otlp-http@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-exporter-base": "0.203.0", "@opentelemetry/otlp-transformer": "0.203.0", "@opentelemetry/sdk-logs": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-s0hys1ljqlMTbXx2XiplmMJg9wG570Z5lH7wMvrZX6lcODI56sG4HL03jklF63tBeyNwK2RV1/ntXGo3HgG4Qw=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-logs-otlp-proto": ["@opentelemetry/exporter-logs-otlp-proto@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-exporter-base": "0.203.0", "@opentelemetry/otlp-transformer": "0.203.0", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-logs": "0.203.0", "@opentelemetry/sdk-trace-base": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-nl/7S91MXn5R1aIzoWtMKGvqxgJgepB/sH9qW0rZvZtabnsjbf8OQ1uSx3yogtvLr0GzwD596nQKz2fV7q2RBw=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-metrics-otlp-grpc": ["@opentelemetry/exporter-metrics-otlp-grpc@0.203.0", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "2.0.1", "@opentelemetry/exporter-metrics-otlp-http": "0.203.0", "@opentelemetry/otlp-exporter-base": "0.203.0", "@opentelemetry/otlp-grpc-exporter-base": "0.203.0", "@opentelemetry/otlp-transformer": "0.203.0", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-metrics": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-FCCj9nVZpumPQSEI57jRAA89hQQgONuoC35Lt+rayWY/mzCAc6BQT7RFyFaZKJ2B7IQ8kYjOCPsF/HGFWjdQkQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-metrics-otlp-http": ["@opentelemetry/exporter-metrics-otlp-http@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-exporter-base": "0.203.0", "@opentelemetry/otlp-transformer": "0.203.0", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-metrics": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-HFSW10y8lY6BTZecGNpV3GpoSy7eaO0Z6GATwZasnT4bEsILp8UJXNG5OmEsz4SdwCSYvyCbTJdNbZP3/8LGCQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-metrics-otlp-proto": ["@opentelemetry/exporter-metrics-otlp-proto@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/exporter-metrics-otlp-http": "0.203.0", "@opentelemetry/otlp-exporter-base": "0.203.0", "@opentelemetry/otlp-transformer": "0.203.0", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-metrics": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-OZnhyd9npU7QbyuHXFEPVm3LnjZYifuKpT3kTnF84mXeEQ84pJJZgyLBpU4FSkSwUkt/zbMyNAI7y5+jYTWGIg=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-prometheus": ["@opentelemetry/exporter-prometheus@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-metrics": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-2jLuNuw5m4sUj/SncDf/mFPabUxMZmmYetx5RKIMIQyPnl6G6ooFzfeE8aXNRf8YD1ZXNlCnRPcISxjveGJHNg=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-trace-otlp-grpc": ["@opentelemetry/exporter-trace-otlp-grpc@0.203.0", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-exporter-base": "0.203.0", "@opentelemetry/otlp-grpc-exporter-base": "0.203.0", "@opentelemetry/otlp-transformer": "0.203.0", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-322coOTf81bm6cAA8+ML6A+m4r2xTCdmAZzGNTboPXRzhwPt4JEmovsFAs+grpdarObd68msOJ9FfH3jxM6wqA=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-trace-otlp-http": ["@opentelemetry/exporter-trace-otlp-http@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-exporter-base": "0.203.0", "@opentelemetry/otlp-transformer": "0.203.0", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-ZDiaswNYo0yq/cy1bBLJFe691izEJ6IgNmkjm4C6kE9ub/OMQqDXORx2D2j8fzTBTxONyzusbaZlqtfmyqURPw=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-zipkin": ["@opentelemetry/exporter-zipkin@2.0.1", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1", "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": "^1.0.0" } }, "sha512-a9eeyHIipfdxzCfc2XPrE+/TI3wmrZUDFtG2RRXHSbZZULAny7SyybSvaDvS77a7iib5MPiAvluwVvbGTsHxsw=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/propagator-b3": ["@opentelemetry/propagator-b3@2.0.1", "", { "dependencies": { "@opentelemetry/core": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-Hc09CaQ8Tf5AGLmf449H726uRoBNGPBL4bjr7AnnUpzWMvhdn61F78z9qb6IqB737TffBsokGAK1XykFEZ1igw=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/propagator-jaeger": ["@opentelemetry/propagator-jaeger@2.0.1", "", { "dependencies": { "@opentelemetry/core": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-7PMdPBmGVH2eQNb/AtSJizQNgeNTfh6jQFqys6lfhd6P4r+m/nTh3gKPPpaCXVdRQ+z93vfKk+4UGty390283w=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/resources": ["@opentelemetry/resources@2.0.1", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-dZOB3R6zvBwDKnHDTB4X1xtMArB/d324VsbiPkX/Yu0Q8T2xceRthoIVFhJdvgVM2QhGVUyX9tzwiNxGtoBJUw=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/sdk-logs": ["@opentelemetry/sdk-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": ">=1.4.0 <1.10.0" } }, "sha512-vM2+rPq0Vi3nYA5akQD2f3QwossDnTDLvKbea6u/A2NZ3XDkPxMfo/PNrDoXhDUD/0pPo2CdH5ce/thn9K0kLw=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/sdk-metrics": ["@opentelemetry/sdk-metrics@2.0.1", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": ">=1.9.0 <1.10.0" } }, "sha512-wf8OaJoSnujMAHWR3g+/hGvNcsC16rf9s1So4JlMiFaFHiE4HpIA3oUh+uWZQ7CNuK8gVW/pQSkgoa5HkkOl0g=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/sdk-trace-base": ["@opentelemetry/sdk-trace-base@2.0.1", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/semantic-conventions": "^1.29.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, "sha512-xYLlvk/xdScGx1aEqvxLwf6sXQLXCjk3/1SQT9X9AoN5rXRhkdvIFShuNNmtTEPRBqcsMbS4p/gJLNI2wXaDuQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/sdk-trace-node": ["@opentelemetry/sdk-trace-node@2.0.1", "", { "dependencies": { "@opentelemetry/context-async-hooks": "2.0.1", "@opentelemetry/core": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-UhdbPF19pMpBtCWYP5lHbTogLWx9N0EBxtdagvkn5YtsAnCBZzL7SjktG+ZmupRgifsHMjwUaCCaVmqGfSADmA=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-trace-node/@opentelemetry/context-async-hooks": ["@opentelemetry/context-async-hooks@2.2.0", "", { "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-qRkLWiUEZNAmYapZ7KGS5C4OmBLcP/H2foXeOEaowYCR0wi89fHejrfYfbuLVCMLp/dWZXKvQusdbUEZjERfwQ=="], - - "google-auth-library/jws/jwa": ["jwa@2.0.1", "", { "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg=="], - - "gray-matter/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], - - "gtoken/jws/jwa": ["jwa@2.0.1", "", { "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg=="], - - "langsmith/chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "langsmith/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - - "openai/@types/node/undici-types": ["undici-types@5.26.5", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="], - - "teeny-request/http-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="], - - "teeny-request/https-proxy-agent/agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="], - - "@traceloop/instrumentation-langchain/@langchain/core/langsmith/chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], - - "@traceloop/node-server-sdk/@opentelemetry/exporter-trace-otlp-proto/@opentelemetry/otlp-transformer/@opentelemetry/api-logs": ["@opentelemetry/api-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/exporter-trace-otlp-proto/@opentelemetry/otlp-transformer/@opentelemetry/sdk-logs": ["@opentelemetry/sdk-logs@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": ">=1.4.0 <1.10.0" } }, "sha512-vM2+rPq0Vi3nYA5akQD2f3QwossDnTDLvKbea6u/A2NZ3XDkPxMfo/PNrDoXhDUD/0pPo2CdH5ce/thn9K0kLw=="], - - "@traceloop/node-server-sdk/@opentelemetry/exporter-trace-otlp-proto/@opentelemetry/otlp-transformer/@opentelemetry/sdk-metrics": ["@opentelemetry/sdk-metrics@2.0.1", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1" }, "peerDependencies": { "@opentelemetry/api": ">=1.9.0 <1.10.0" } }, "sha512-wf8OaJoSnujMAHWR3g+/hGvNcsC16rf9s1So4JlMiFaFHiE4HpIA3oUh+uWZQ7CNuK8gVW/pQSkgoa5HkkOl0g=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-logs-otlp-grpc/@opentelemetry/otlp-exporter-base": ["@opentelemetry/otlp-exporter-base@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-transformer": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Wbxf7k+87KyvxFr5D7uOiSq/vHXWommvdnNE7vECO3tAhsA2GfOlpWINCMWUEPdHZ7tCXxw6Epp3vgx3jU7llQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-logs-otlp-grpc/@opentelemetry/otlp-grpc-exporter-base": ["@opentelemetry/otlp-grpc-exporter-base@0.203.0", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-exporter-base": "0.203.0", "@opentelemetry/otlp-transformer": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-te0Ze1ueJF+N/UOFl5jElJW4U0pZXQ8QklgSfJ2linHN0JJsuaHG8IabEUi2iqxY8ZBDlSiz1Trfv5JcjWWWwQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-logs-otlp-grpc/@opentelemetry/otlp-transformer": ["@opentelemetry/otlp-transformer@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-logs": "0.203.0", "@opentelemetry/sdk-metrics": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1", "protobufjs": "^7.3.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Y8I6GgoCna0qDQ2W6GCRtaF24SnvqvA8OfeTi7fqigD23u8Jpb4R5KFv/pRvrlGagcCLICMIyh9wiejp4TXu/A=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-logs-otlp-http/@opentelemetry/otlp-exporter-base": ["@opentelemetry/otlp-exporter-base@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-transformer": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Wbxf7k+87KyvxFr5D7uOiSq/vHXWommvdnNE7vECO3tAhsA2GfOlpWINCMWUEPdHZ7tCXxw6Epp3vgx3jU7llQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-logs-otlp-http/@opentelemetry/otlp-transformer": ["@opentelemetry/otlp-transformer@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-logs": "0.203.0", "@opentelemetry/sdk-metrics": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1", "protobufjs": "^7.3.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Y8I6GgoCna0qDQ2W6GCRtaF24SnvqvA8OfeTi7fqigD23u8Jpb4R5KFv/pRvrlGagcCLICMIyh9wiejp4TXu/A=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-logs-otlp-proto/@opentelemetry/otlp-exporter-base": ["@opentelemetry/otlp-exporter-base@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-transformer": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Wbxf7k+87KyvxFr5D7uOiSq/vHXWommvdnNE7vECO3tAhsA2GfOlpWINCMWUEPdHZ7tCXxw6Epp3vgx3jU7llQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-logs-otlp-proto/@opentelemetry/otlp-transformer": ["@opentelemetry/otlp-transformer@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-logs": "0.203.0", "@opentelemetry/sdk-metrics": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1", "protobufjs": "^7.3.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Y8I6GgoCna0qDQ2W6GCRtaF24SnvqvA8OfeTi7fqigD23u8Jpb4R5KFv/pRvrlGagcCLICMIyh9wiejp4TXu/A=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-metrics-otlp-grpc/@opentelemetry/otlp-exporter-base": ["@opentelemetry/otlp-exporter-base@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-transformer": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Wbxf7k+87KyvxFr5D7uOiSq/vHXWommvdnNE7vECO3tAhsA2GfOlpWINCMWUEPdHZ7tCXxw6Epp3vgx3jU7llQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-metrics-otlp-grpc/@opentelemetry/otlp-grpc-exporter-base": ["@opentelemetry/otlp-grpc-exporter-base@0.203.0", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-exporter-base": "0.203.0", "@opentelemetry/otlp-transformer": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-te0Ze1ueJF+N/UOFl5jElJW4U0pZXQ8QklgSfJ2linHN0JJsuaHG8IabEUi2iqxY8ZBDlSiz1Trfv5JcjWWWwQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-metrics-otlp-grpc/@opentelemetry/otlp-transformer": ["@opentelemetry/otlp-transformer@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-logs": "0.203.0", "@opentelemetry/sdk-metrics": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1", "protobufjs": "^7.3.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Y8I6GgoCna0qDQ2W6GCRtaF24SnvqvA8OfeTi7fqigD23u8Jpb4R5KFv/pRvrlGagcCLICMIyh9wiejp4TXu/A=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-metrics-otlp-http/@opentelemetry/otlp-exporter-base": ["@opentelemetry/otlp-exporter-base@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-transformer": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Wbxf7k+87KyvxFr5D7uOiSq/vHXWommvdnNE7vECO3tAhsA2GfOlpWINCMWUEPdHZ7tCXxw6Epp3vgx3jU7llQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-metrics-otlp-http/@opentelemetry/otlp-transformer": ["@opentelemetry/otlp-transformer@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-logs": "0.203.0", "@opentelemetry/sdk-metrics": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1", "protobufjs": "^7.3.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Y8I6GgoCna0qDQ2W6GCRtaF24SnvqvA8OfeTi7fqigD23u8Jpb4R5KFv/pRvrlGagcCLICMIyh9wiejp4TXu/A=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-metrics-otlp-proto/@opentelemetry/otlp-exporter-base": ["@opentelemetry/otlp-exporter-base@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-transformer": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Wbxf7k+87KyvxFr5D7uOiSq/vHXWommvdnNE7vECO3tAhsA2GfOlpWINCMWUEPdHZ7tCXxw6Epp3vgx3jU7llQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-metrics-otlp-proto/@opentelemetry/otlp-transformer": ["@opentelemetry/otlp-transformer@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-logs": "0.203.0", "@opentelemetry/sdk-metrics": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1", "protobufjs": "^7.3.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Y8I6GgoCna0qDQ2W6GCRtaF24SnvqvA8OfeTi7fqigD23u8Jpb4R5KFv/pRvrlGagcCLICMIyh9wiejp4TXu/A=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-trace-otlp-grpc/@opentelemetry/otlp-exporter-base": ["@opentelemetry/otlp-exporter-base@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-transformer": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Wbxf7k+87KyvxFr5D7uOiSq/vHXWommvdnNE7vECO3tAhsA2GfOlpWINCMWUEPdHZ7tCXxw6Epp3vgx3jU7llQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-trace-otlp-grpc/@opentelemetry/otlp-grpc-exporter-base": ["@opentelemetry/otlp-grpc-exporter-base@0.203.0", "", { "dependencies": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-exporter-base": "0.203.0", "@opentelemetry/otlp-transformer": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-te0Ze1ueJF+N/UOFl5jElJW4U0pZXQ8QklgSfJ2linHN0JJsuaHG8IabEUi2iqxY8ZBDlSiz1Trfv5JcjWWWwQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-trace-otlp-grpc/@opentelemetry/otlp-transformer": ["@opentelemetry/otlp-transformer@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-logs": "0.203.0", "@opentelemetry/sdk-metrics": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1", "protobufjs": "^7.3.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Y8I6GgoCna0qDQ2W6GCRtaF24SnvqvA8OfeTi7fqigD23u8Jpb4R5KFv/pRvrlGagcCLICMIyh9wiejp4TXu/A=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-trace-otlp-http/@opentelemetry/otlp-exporter-base": ["@opentelemetry/otlp-exporter-base@0.203.0", "", { "dependencies": { "@opentelemetry/core": "2.0.1", "@opentelemetry/otlp-transformer": "0.203.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Wbxf7k+87KyvxFr5D7uOiSq/vHXWommvdnNE7vECO3tAhsA2GfOlpWINCMWUEPdHZ7tCXxw6Epp3vgx3jU7llQ=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/exporter-trace-otlp-http/@opentelemetry/otlp-transformer": ["@opentelemetry/otlp-transformer@0.203.0", "", { "dependencies": { "@opentelemetry/api-logs": "0.203.0", "@opentelemetry/core": "2.0.1", "@opentelemetry/resources": "2.0.1", "@opentelemetry/sdk-logs": "0.203.0", "@opentelemetry/sdk-metrics": "2.0.1", "@opentelemetry/sdk-trace-base": "2.0.1", "protobufjs": "^7.3.0" }, "peerDependencies": { "@opentelemetry/api": "^1.3.0" } }, "sha512-Y8I6GgoCna0qDQ2W6GCRtaF24SnvqvA8OfeTi7fqigD23u8Jpb4R5KFv/pRvrlGagcCLICMIyh9wiejp4TXu/A=="], - - "@traceloop/node-server-sdk/@opentelemetry/sdk-node/@opentelemetry/sdk-trace-node/@opentelemetry/context-async-hooks": ["@opentelemetry/context-async-hooks@2.0.1", "", { "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, "sha512-XuY23lSI3d4PEqKA+7SLtAgwqIfc6E/E9eAQWLN1vlpC53ybO3o6jW4BsXo1xvz9lYyyWItfQDDLzezER01mCw=="], - - "@traceloop/instrumentation-langchain/@langchain/core/langsmith/chalk/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - - "@traceloop/instrumentation-langchain/@langchain/core/langsmith/chalk/supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], - } -} diff --git a/agent-docs/config.ts b/agent-docs/config.ts deleted file mode 100644 index a84d0b76..00000000 --- a/agent-docs/config.ts +++ /dev/null @@ -1,2 +0,0 @@ -export const VECTOR_STORE_NAME = process.env.VECTOR_STORE_NAME || 'docs'; -export const vectorSearchNumber = 10; diff --git a/agent-docs/index.ts b/agent-docs/index.ts deleted file mode 100644 index 4a38c2b4..00000000 --- a/agent-docs/index.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { runner } from '@agentuity/sdk'; - -declare global { - namespace NodeJS { - interface Process { - isBun: boolean; - } - } -} - -if (!process.env.AGENTUITY_API_KEY && !process.env.AGENTUITY_SDK_KEY) { - console.error( - '\x1b[31m[ERROR] AGENTUITY_API_KEY or AGENTUITY_SDK_KEY is not set. This should have been set automatically by the Agentuity CLI or picked up from the .env file.\x1b[0m' - ); - - const cmd = process.env._ || ''; - - if (cmd.endsWith('node')) { - console.error( - '\x1b[31m[ERROR] Re-run the command with `node --env-file .env index.ts`\x1b[0m' - ); - } - - process.exit(1); -} - -if (!process.env.AGENTUITY_URL) { - console.warn( - '\x1b[31m[WARN] You are running this agent outside of the Agentuity environment. Any automatic Agentuity features will be disabled.\x1b[0m' - ); - - if (process.isBun) { - console.warn( - '\x1b[31m[WARN] Recommend running `agentuity dev` to run your project locally instead of `bun run start`.\x1b[0m' - ); - } else { - console.warn( - '\x1b[31m[WARN] Recommend running `agentuity dev` to run your project locally instead of `npm start`.\x1b[0m' - ); - } -} - -runner(true, import.meta.dirname).catch((err) => { - if (err instanceof Error) { - console.error(err.message); - console.error(err.stack); - } else { - console.error(err); - } - - process.exit(1); -}); diff --git a/agent-docs/package-lock.json b/agent-docs/package-lock.json deleted file mode 100644 index 09648abf..00000000 --- a/agent-docs/package-lock.json +++ /dev/null @@ -1,5046 +0,0 @@ -{ - "name": "agent-docs", - "version": "0.0.1", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "agent-docs", - "version": "0.0.1", - "dependencies": { - "@agentuity/sdk": "^0.0.124", - "@ai-sdk/openai": "^1.3.22", - "ai": "^4.3.16", - "gray-matter": "^4.0.3", - "langchain": "^0.3.28", - "vitest": "^3.2.3" - }, - "devDependencies": { - "@biomejs/biome": "2.1.2", - "@types/bun": "^1.2.16" - }, - "peerDependencies": { - "typescript": "^5" - } - }, - "node_modules/@agentuity/sdk": { - "version": "0.0.124", - "resolved": "https://registry.npmjs.org/@agentuity/sdk/-/sdk-0.0.124.tgz", - "integrity": "sha512-bikpoDWzulygUuifPtMzBBZtyGs2stcyD4KjwWmbt8Oi/HSEuXEOPLVH1OxuPLmNccePqPVpkWWkdrEdU2bxwA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.9.0", - "@opentelemetry/api-logs": "^0.57.2", - "@opentelemetry/auto-instrumentations-node": "^0.56.1", - "@opentelemetry/core": "^1.21.0", - "@opentelemetry/exporter-logs-otlp-http": "^0.57.2", - "@opentelemetry/exporter-metrics-otlp-http": "^0.57.2", - "@opentelemetry/exporter-trace-otlp-http": "^0.57.2", - "@opentelemetry/host-metrics": "^0.35.5", - "@opentelemetry/resources": "^1.30.1", - "@opentelemetry/sdk-logs": "^0.57.2", - "@opentelemetry/sdk-metrics": "^1.30.1", - "@opentelemetry/sdk-node": "^0.57.2", - "@opentelemetry/semantic-conventions": "^1.30.0", - "js-yaml": "^4.1.0", - "mailparser": "^3.7.3", - "nodemailer": "^7.0.3" - }, - "engines": { - "node": ">=22" - }, - "peerDependencies": { - "typescript": "^5" - } - }, - "node_modules/@ai-sdk/openai": { - "version": "1.3.24", - "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-1.3.24.tgz", - "integrity": "sha512-GYXnGJTHRTZc4gJMSmFRgEQudjqd4PUN0ZjQhPwOAYH1yOAvQoG/Ikqs+HyISRbLPCrhbZnPKCNHuRU4OfpW0Q==", - "license": "Apache-2.0", - "dependencies": { - "@ai-sdk/provider": "1.1.3", - "@ai-sdk/provider-utils": "2.2.8" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "zod": "^3.0.0" - } - }, - "node_modules/@ai-sdk/provider": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.1.3.tgz", - "integrity": "sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==", - "license": "Apache-2.0", - "dependencies": { - "json-schema": "^0.4.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@ai-sdk/provider-utils": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz", - "integrity": "sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA==", - "license": "Apache-2.0", - "dependencies": { - "@ai-sdk/provider": "1.1.3", - "nanoid": "^3.3.8", - "secure-json-parse": "^2.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "zod": "^3.23.8" - } - }, - "node_modules/@ai-sdk/react": { - "version": "1.2.12", - "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-1.2.12.tgz", - "integrity": "sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g==", - "license": "Apache-2.0", - "dependencies": { - "@ai-sdk/provider-utils": "2.2.8", - "@ai-sdk/ui-utils": "1.2.11", - "swr": "^2.2.5", - "throttleit": "2.1.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "react": "^18 || ^19 || ^19.0.0-rc", - "zod": "^3.23.8" - }, - "peerDependenciesMeta": { - "zod": { - "optional": true - } - } - }, - "node_modules/@ai-sdk/ui-utils": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz", - "integrity": "sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w==", - "license": "Apache-2.0", - "dependencies": { - "@ai-sdk/provider": "1.1.3", - "@ai-sdk/provider-utils": "2.2.8", - "zod-to-json-schema": "^3.24.1" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "zod": "^3.23.8" - } - }, - "node_modules/@biomejs/biome": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.1.2.tgz", - "integrity": "sha512-yq8ZZuKuBVDgAS76LWCfFKHSYIAgqkxVB3mGVVpOe2vSkUTs7xG46zXZeNPRNVjiJuw0SZ3+J2rXiYx0RUpfGg==", - "dev": true, - "license": "MIT OR Apache-2.0", - "bin": { - "biome": "bin/biome" - }, - "engines": { - "node": ">=14.21.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/biome" - }, - "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "2.1.2", - "@biomejs/cli-darwin-x64": "2.1.2", - "@biomejs/cli-linux-arm64": "2.1.2", - "@biomejs/cli-linux-arm64-musl": "2.1.2", - "@biomejs/cli-linux-x64": "2.1.2", - "@biomejs/cli-linux-x64-musl": "2.1.2", - "@biomejs/cli-win32-arm64": "2.1.2", - "@biomejs/cli-win32-x64": "2.1.2" - } - }, - "node_modules/@biomejs/cli-darwin-arm64": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.1.2.tgz", - "integrity": "sha512-leFAks64PEIjc7MY/cLjE8u5OcfBKkcDB0szxsWUB4aDfemBep1WVKt0qrEyqZBOW8LPHzrFMyDl3FhuuA0E7g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-darwin-x64": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.1.2.tgz", - "integrity": "sha512-Nmmv7wRX5Nj7lGmz0FjnWdflJg4zii8Ivruas6PBKzw5SJX/q+Zh2RfnO+bBnuKLXpj8kiI2x2X12otpH6a32A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-arm64": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.1.2.tgz", - "integrity": "sha512-NWNy2Diocav61HZiv2enTQykbPP/KrA/baS7JsLSojC7Xxh2nl9IczuvE5UID7+ksRy2e7yH7klm/WkA72G1dw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.1.2.tgz", - "integrity": "sha512-qgHvafhjH7Oca114FdOScmIKf1DlXT1LqbOrrbR30kQDLFPEOpBG0uzx6MhmsrmhGiCFCr2obDamu+czk+X0HQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-x64": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.1.2.tgz", - "integrity": "sha512-Km/UYeVowygTjpX6sGBzlizjakLoMQkxWbruVZSNE6osuSI63i4uCeIL+6q2AJlD3dxoiBJX70dn1enjQnQqwA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.1.2.tgz", - "integrity": "sha512-xlB3mU14ZUa3wzLtXfmk2IMOGL+S0aHFhSix/nssWS/2XlD27q+S6f0dlQ8WOCbYoXcuz8BCM7rCn2lxdTrlQA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-win32-arm64": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.1.2.tgz", - "integrity": "sha512-G8KWZli5ASOXA3yUQgx+M4pZRv3ND16h77UsdunUL17uYpcL/UC7RkWTdkfvMQvogVsAuz5JUcBDjgZHXxlKoA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-win32-x64": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.1.2.tgz", - "integrity": "sha512-9zajnk59PMpjBkty3bK2IrjUsUHvqe9HWwyAWQBjGLE7MIBjbX2vwv1XPEhmO2RRuGoTkVx3WCanHrjAytICLA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@cfworker/json-schema": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@cfworker/json-schema/-/json-schema-4.1.1.tgz", - "integrity": "sha512-gAmrUZSGtKc3AiBL71iNWxDsyUC5uMaKKGdvzYsBoTW/xi42JQHl7eKV2OYzCUqvc+D2RCcf7EXY2iCyFIk6og==", - "license": "MIT", - "peer": true - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", - "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", - "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", - "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", - "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", - "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", - "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", - "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", - "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", - "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", - "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", - "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", - "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", - "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", - "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", - "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", - "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", - "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", - "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", - "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", - "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", - "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", - "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", - "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", - "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", - "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", - "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@grpc/grpc-js": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.13.4.tgz", - "integrity": "sha512-GsFaMXCkMqkKIvwCQjCrwH+GHbPKBjhwo/8ZuUkWHqbI73Kky9I+pQltrlT0+MWpedCoosda53lgjYfyEPgxBg==", - "license": "Apache-2.0", - "dependencies": { - "@grpc/proto-loader": "^0.7.13", - "@js-sdsl/ordered-map": "^4.4.2" - }, - "engines": { - "node": ">=12.10.0" - } - }, - "node_modules/@grpc/proto-loader": { - "version": "0.7.15", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.15.tgz", - "integrity": "sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==", - "license": "Apache-2.0", - "dependencies": { - "lodash.camelcase": "^4.3.0", - "long": "^5.0.0", - "protobufjs": "^7.2.5", - "yargs": "^17.7.2" - }, - "bin": { - "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "license": "MIT" - }, - "node_modules/@js-sdsl/ordered-map": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", - "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, - "node_modules/@langchain/core": { - "version": "0.3.72", - "resolved": "https://registry.npmjs.org/@langchain/core/-/core-0.3.72.tgz", - "integrity": "sha512-WsGWVZYnlKffj2eEfDocPNiaTRoxyYiLSQdQ7oxZvxGZBqo/90vpjbC33UGK1uPNBM4kT+pkdaol/MnvKUh8TQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "@cfworker/json-schema": "^4.0.2", - "ansi-styles": "^5.0.0", - "camelcase": "6", - "decamelize": "1.2.0", - "js-tiktoken": "^1.0.12", - "langsmith": "^0.3.46", - "mustache": "^4.2.0", - "p-queue": "^6.6.2", - "p-retry": "4", - "uuid": "^10.0.0", - "zod": "^3.25.32", - "zod-to-json-schema": "^3.22.3" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@langchain/openai": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.6.9.tgz", - "integrity": "sha512-Dl+YVBTFia7WE4/jFemQEVchPbsahy/dD97jo6A9gLnYfTkWa/jh8Q78UjHQ3lobif84j2ebjHPcDHG1L0NUWg==", - "license": "MIT", - "dependencies": { - "js-tiktoken": "^1.0.12", - "openai": "5.12.2", - "zod": "^3.25.32" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@langchain/core": ">=0.3.68 <0.4.0" - } - }, - "node_modules/@langchain/textsplitters": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@langchain/textsplitters/-/textsplitters-0.1.0.tgz", - "integrity": "sha512-djI4uw9rlkAb5iMhtLED+xJebDdAG935AdP4eRTB02R7OB/act55Bj9wsskhZsvuyQRpO4O1wQOp85s6T6GWmw==", - "license": "MIT", - "dependencies": { - "js-tiktoken": "^1.0.12" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@langchain/core": ">=0.2.21 <0.4.0" - } - }, - "node_modules/@opentelemetry/api": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", - "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", - "license": "Apache-2.0", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@opentelemetry/api-logs": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.57.2.tgz", - "integrity": "sha512-uIX52NnTM0iBh84MShlpouI7UKqkZ7MrUszTmaypHBu4r7NofznSnQRfJ+uUeDtQDj6w8eFGg5KBLDAwAPz1+A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api": "^1.3.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/auto-instrumentations-node": { - "version": "0.56.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/auto-instrumentations-node/-/auto-instrumentations-node-0.56.1.tgz", - "integrity": "sha512-4cK0+unfkXRRbQQg2r9K3ki8JlE0j9Iw8+4DZEkChShAnmviiE+/JMgHGvK+VVcLrSlgV6BBHv4+ZTLukQwhkA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/instrumentation-amqplib": "^0.46.1", - "@opentelemetry/instrumentation-aws-lambda": "^0.50.3", - "@opentelemetry/instrumentation-aws-sdk": "^0.49.1", - "@opentelemetry/instrumentation-bunyan": "^0.45.1", - "@opentelemetry/instrumentation-cassandra-driver": "^0.45.1", - "@opentelemetry/instrumentation-connect": "^0.43.1", - "@opentelemetry/instrumentation-cucumber": "^0.14.1", - "@opentelemetry/instrumentation-dataloader": "^0.16.1", - "@opentelemetry/instrumentation-dns": "^0.43.1", - "@opentelemetry/instrumentation-express": "^0.47.1", - "@opentelemetry/instrumentation-fastify": "^0.44.2", - "@opentelemetry/instrumentation-fs": "^0.19.1", - "@opentelemetry/instrumentation-generic-pool": "^0.43.1", - "@opentelemetry/instrumentation-graphql": "^0.47.1", - "@opentelemetry/instrumentation-grpc": "^0.57.1", - "@opentelemetry/instrumentation-hapi": "^0.45.2", - "@opentelemetry/instrumentation-http": "^0.57.1", - "@opentelemetry/instrumentation-ioredis": "^0.47.1", - "@opentelemetry/instrumentation-kafkajs": "^0.7.1", - "@opentelemetry/instrumentation-knex": "^0.44.1", - "@opentelemetry/instrumentation-koa": "^0.47.1", - "@opentelemetry/instrumentation-lru-memoizer": "^0.44.1", - "@opentelemetry/instrumentation-memcached": "^0.43.1", - "@opentelemetry/instrumentation-mongodb": "^0.52.0", - "@opentelemetry/instrumentation-mongoose": "^0.46.1", - "@opentelemetry/instrumentation-mysql": "^0.45.1", - "@opentelemetry/instrumentation-mysql2": "^0.45.2", - "@opentelemetry/instrumentation-nestjs-core": "^0.44.1", - "@opentelemetry/instrumentation-net": "^0.43.1", - "@opentelemetry/instrumentation-pg": "^0.51.1", - "@opentelemetry/instrumentation-pino": "^0.46.1", - "@opentelemetry/instrumentation-redis": "^0.46.1", - "@opentelemetry/instrumentation-redis-4": "^0.46.1", - "@opentelemetry/instrumentation-restify": "^0.45.1", - "@opentelemetry/instrumentation-router": "^0.44.1", - "@opentelemetry/instrumentation-socket.io": "^0.46.1", - "@opentelemetry/instrumentation-tedious": "^0.18.1", - "@opentelemetry/instrumentation-undici": "^0.10.1", - "@opentelemetry/instrumentation-winston": "^0.44.1", - "@opentelemetry/resource-detector-alibaba-cloud": "^0.30.1", - "@opentelemetry/resource-detector-aws": "^1.12.0", - "@opentelemetry/resource-detector-azure": "^0.6.1", - "@opentelemetry/resource-detector-container": "^0.6.1", - "@opentelemetry/resource-detector-gcp": "^0.33.1", - "@opentelemetry/resources": "^1.24.0", - "@opentelemetry/sdk-node": "^0.57.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.4.1" - } - }, - "node_modules/@opentelemetry/context-async-hooks": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-1.30.1.tgz", - "integrity": "sha512-s5vvxXPVdjqS3kTLKMeBMvop9hbWkwzBpu+mUO2M7sZtlkyDJGwFe33wRKnbaYDo8ExRVBIIdwIGrqpxHuKttA==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/core": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.30.1.tgz", - "integrity": "sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/semantic-conventions": "1.28.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/core/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz", - "integrity": "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-grpc": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-grpc/-/exporter-logs-otlp-grpc-0.57.2.tgz", - "integrity": "sha512-eovEy10n3umjKJl2Ey6TLzikPE+W4cUQ4gCwgGP1RqzTGtgDra0WjIqdy29ohiUKfvmbiL3MndZww58xfIvyFw==", - "license": "Apache-2.0", - "dependencies": { - "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.30.1", - "@opentelemetry/otlp-exporter-base": "0.57.2", - "@opentelemetry/otlp-grpc-exporter-base": "0.57.2", - "@opentelemetry/otlp-transformer": "0.57.2", - "@opentelemetry/sdk-logs": "0.57.2" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-http": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.57.2.tgz", - "integrity": "sha512-0rygmvLcehBRp56NQVLSleJ5ITTduq/QfU7obOkyWgPpFHulwpw2LYTqNIz5TczKZuy5YY+5D3SDnXZL1tXImg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.57.2", - "@opentelemetry/core": "1.30.1", - "@opentelemetry/otlp-exporter-base": "0.57.2", - "@opentelemetry/otlp-transformer": "0.57.2", - "@opentelemetry/sdk-logs": "0.57.2" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-logs-otlp-proto": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-proto/-/exporter-logs-otlp-proto-0.57.2.tgz", - "integrity": "sha512-ta0ithCin0F8lu9eOf4lEz9YAScecezCHkMMyDkvd9S7AnZNX5ikUmC5EQOQADU+oCcgo/qkQIaKcZvQ0TYKDw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.57.2", - "@opentelemetry/core": "1.30.1", - "@opentelemetry/otlp-exporter-base": "0.57.2", - "@opentelemetry/otlp-transformer": "0.57.2", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-logs": "0.57.2", - "@opentelemetry/sdk-trace-base": "1.30.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-grpc": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-grpc/-/exporter-metrics-otlp-grpc-0.57.2.tgz", - "integrity": "sha512-r70B8yKR41F0EC443b5CGB4rUaOMm99I5N75QQt6sHKxYDzSEc6gm48Diz1CI1biwa5tDPznpylTrywO/pT7qw==", - "license": "Apache-2.0", - "dependencies": { - "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.30.1", - "@opentelemetry/exporter-metrics-otlp-http": "0.57.2", - "@opentelemetry/otlp-exporter-base": "0.57.2", - "@opentelemetry/otlp-grpc-exporter-base": "0.57.2", - "@opentelemetry/otlp-transformer": "0.57.2", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-metrics": "1.30.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-http": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-http/-/exporter-metrics-otlp-http-0.57.2.tgz", - "integrity": "sha512-ttb9+4iKw04IMubjm3t0EZsYRNWr3kg44uUuzfo9CaccYlOh8cDooe4QObDUkvx9d5qQUrbEckhrWKfJnKhemA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/otlp-exporter-base": "0.57.2", - "@opentelemetry/otlp-transformer": "0.57.2", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-metrics": "1.30.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-metrics-otlp-proto": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-proto/-/exporter-metrics-otlp-proto-0.57.2.tgz", - "integrity": "sha512-HX068Q2eNs38uf7RIkNN9Hl4Ynl+3lP0++KELkXMCpsCbFO03+0XNNZ1SkwxPlP9jrhQahsMPMkzNXpq3fKsnw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/exporter-metrics-otlp-http": "0.57.2", - "@opentelemetry/otlp-exporter-base": "0.57.2", - "@opentelemetry/otlp-transformer": "0.57.2", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-metrics": "1.30.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-prometheus": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-prometheus/-/exporter-prometheus-0.57.2.tgz", - "integrity": "sha512-VqIqXnuxWMWE/1NatAGtB1PvsQipwxDcdG4RwA/umdBcW3/iOHp0uejvFHTRN2O78ZPged87ErJajyUBPUhlDQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-metrics": "1.30.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-trace-otlp-grpc": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.57.2.tgz", - "integrity": "sha512-gHU1vA3JnHbNxEXg5iysqCWxN9j83d7/epTYBZflqQnTyCC4N7yZXn/dMM+bEmyhQPGjhCkNZLx4vZuChH1PYw==", - "license": "Apache-2.0", - "dependencies": { - "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.30.1", - "@opentelemetry/otlp-exporter-base": "0.57.2", - "@opentelemetry/otlp-grpc-exporter-base": "0.57.2", - "@opentelemetry/otlp-transformer": "0.57.2", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-trace-base": "1.30.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-trace-otlp-http": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.57.2.tgz", - "integrity": "sha512-sB/gkSYFu+0w2dVQ0PWY9fAMl172PKMZ/JrHkkW8dmjCL0CYkmXeE+ssqIL/yBUTPOvpLIpenX5T9RwXRBW/3g==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/otlp-exporter-base": "0.57.2", - "@opentelemetry/otlp-transformer": "0.57.2", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-trace-base": "1.30.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-trace-otlp-proto": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.57.2.tgz", - "integrity": "sha512-awDdNRMIwDvUtoRYxRhja5QYH6+McBLtoz1q9BeEsskhZcrGmH/V1fWpGx8n+Rc+542e8pJA6y+aullbIzQmlw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/otlp-exporter-base": "0.57.2", - "@opentelemetry/otlp-transformer": "0.57.2", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-trace-base": "1.30.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/exporter-zipkin": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.30.1.tgz", - "integrity": "sha512-6S2QIMJahIquvFaaxmcwpvQQRD/YFaMTNoIxrfPIPOeITN+a8lfEcPDxNxn8JDAaxkg+4EnXhz8upVDYenoQjA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-trace-base": "1.30.1", - "@opentelemetry/semantic-conventions": "1.28.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0" - } - }, - "node_modules/@opentelemetry/exporter-zipkin/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz", - "integrity": "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/host-metrics": { - "version": "0.35.5", - "resolved": "https://registry.npmjs.org/@opentelemetry/host-metrics/-/host-metrics-0.35.5.tgz", - "integrity": "sha512-Zf9Cjl7H6JalspnK5KD1+LLKSVecSinouVctNmUxRy+WP+20KwHq+qg4hADllkEmJ99MZByLLmEmzrr7s92V6g==", - "license": "Apache-2.0", - "dependencies": { - "systeminformation": "5.23.8" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.57.2.tgz", - "integrity": "sha512-BdBGhQBh8IjZ2oIIX6F2/Q3LKm/FDDKi6ccYKcBTeilh6SNdNKveDOLk73BkSJjQLJk6qe4Yh+hHw1UPhCDdrg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.57.2", - "@types/shimmer": "^1.2.0", - "import-in-the-middle": "^1.8.1", - "require-in-the-middle": "^7.1.1", - "semver": "^7.5.2", - "shimmer": "^1.2.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-amqplib": { - "version": "0.46.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-amqplib/-/instrumentation-amqplib-0.46.1.tgz", - "integrity": "sha512-AyXVnlCf/xV3K/rNumzKxZqsULyITJH6OVLiW6730JPRqWA7Zc9bvYoVNpN6iOpTU8CasH34SU/ksVJmObFibQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-aws-lambda": { - "version": "0.50.3", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-lambda/-/instrumentation-aws-lambda-0.50.3.tgz", - "integrity": "sha512-kotm/mRvSWUauudxcylc5YCDei+G/r+jnOH6q5S99aPLQ/Ms8D2yonMIxEJUILIPlthEmwLYxkw3ualWzMjm/A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0", - "@types/aws-lambda": "8.10.147" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-aws-sdk": { - "version": "0.49.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-sdk/-/instrumentation-aws-sdk-0.49.1.tgz", - "integrity": "sha512-Vbj4BYeV/1K4Pbbfk+gQ8gwYL0w+tBeUwG88cOxnF7CLPO1XnskGV8Q3Gzut2Ah/6Dg17dBtlzEqL3UiFP2Z6A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/propagation-utils": "^0.30.16", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-bunyan": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-bunyan/-/instrumentation-bunyan-0.45.1.tgz", - "integrity": "sha512-T9POV9ccS41UjpsjLrJ4i0m8LfplBiN3dMeH9XZ2btiDrjoaWtDrst6tNb1avetBjkeshOuBp1EWKP22EVSr0g==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "^0.57.1", - "@opentelemetry/instrumentation": "^0.57.1", - "@types/bunyan": "1.8.11" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-cassandra-driver": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cassandra-driver/-/instrumentation-cassandra-driver-0.45.1.tgz", - "integrity": "sha512-RqnP0rK2hcKK1AKcmYvedLiL6G5TvFGiSUt2vI9wN0cCBdTt9Y9+wxxY19KoGxq7e9T/aHow6P5SUhCVI1sHvQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-connect": { - "version": "0.43.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.43.1.tgz", - "integrity": "sha512-ht7YGWQuV5BopMcw5Q2hXn3I8eG8TH0J/kc/GMcW4CuNTgiP6wCu44BOnucJWL3CmFWaRHI//vWyAhaC8BwePw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0", - "@types/connect": "3.4.38" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-cucumber": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cucumber/-/instrumentation-cucumber-0.14.1.tgz", - "integrity": "sha512-ybO+tmH85pDO0ywTskmrMtZcccKyQr7Eb7wHy1keR2HFfx46SzZbjHo1AuGAX//Hook3gjM7+w211gJ2bwKe1Q==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0" - } - }, - "node_modules/@opentelemetry/instrumentation-dataloader": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.16.1.tgz", - "integrity": "sha512-K/qU4CjnzOpNkkKO4DfCLSQshejRNAJtd4esgigo/50nxCB6XCyi1dhAblUHM9jG5dRm8eu0FB+t87nIo99LYQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-dns": { - "version": "0.43.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dns/-/instrumentation-dns-0.43.1.tgz", - "integrity": "sha512-e/tMZYU1nc+k+J3259CQtqVZIPsPRSLNoAQbGEmSKrjLEY/KJSbpBZ17lu4dFVBzqoF1cZYIZxn9WPQxy4V9ng==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-express": { - "version": "0.47.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.47.1.tgz", - "integrity": "sha512-QNXPTWteDclR2B4pDFpz0TNghgB33UMjUt14B+BZPmtH1MwUFAfLHBaP5If0Z5NZC+jaH8oF2glgYjrmhZWmSw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-fastify": { - "version": "0.44.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.44.2.tgz", - "integrity": "sha512-arSp97Y4D2NWogoXRb8CzFK3W2ooVdvqRRtQDljFt9uC3zI6OuShgey6CVFC0JxT1iGjkAr1r4PDz23mWrFULQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-fs": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.19.1.tgz", - "integrity": "sha512-6g0FhB3B9UobAR60BGTcXg4IHZ6aaYJzp0Ki5FhnxyAPt8Ns+9SSvgcrnsN2eGmk3RWG5vYycUGOEApycQL24A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.57.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-generic-pool": { - "version": "0.43.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-generic-pool/-/instrumentation-generic-pool-0.43.1.tgz", - "integrity": "sha512-M6qGYsp1cURtvVLGDrPPZemMFEbuMmCXgQYTReC/IbimV5sGrLBjB+/hANUpRZjX67nGLdKSVLZuQQAiNz+sww==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-graphql": { - "version": "0.47.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.47.1.tgz", - "integrity": "sha512-EGQRWMGqwiuVma8ZLAZnExQ7sBvbOx0N/AE/nlafISPs8S+QtXX+Viy6dcQwVWwYHQPAcuY3bFt3xgoAwb4ZNQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-grpc": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.57.2.tgz", - "integrity": "sha512-TR6YQA67cLSZzdxbf2SrbADJy2Y8eBW1+9mF15P0VK2MYcpdoUSmQTF1oMkBwa3B9NwqDFA2fq7wYTTutFQqaQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "0.57.2", - "@opentelemetry/semantic-conventions": "1.28.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-grpc/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz", - "integrity": "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/instrumentation-hapi": { - "version": "0.45.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.45.2.tgz", - "integrity": "sha512-7Ehow/7Wp3aoyCrZwQpU7a2CnoMq0XhIcioFuKjBb0PLYfBfmTsFTUyatlHu0fRxhwcRsSQRTvEhmZu8CppBpQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-http": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.57.2.tgz", - "integrity": "sha512-1Uz5iJ9ZAlFOiPuwYg29Bf7bJJc/GeoeJIFKJYQf67nTVKFe8RHbEtxgkOmK4UGZNHKXcpW4P8cWBYzBn1USpg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/instrumentation": "0.57.2", - "@opentelemetry/semantic-conventions": "1.28.0", - "forwarded-parse": "2.1.2", - "semver": "^7.5.2" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz", - "integrity": "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/instrumentation-ioredis": { - "version": "0.47.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.47.1.tgz", - "integrity": "sha512-OtFGSN+kgk/aoKgdkKQnBsQFDiG8WdCxu+UrHr0bXScdAmtSzLSraLo7wFIb25RVHfRWvzI5kZomqJYEg/l1iA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/redis-common": "^0.36.2", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-kafkajs": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-kafkajs/-/instrumentation-kafkajs-0.7.1.tgz", - "integrity": "sha512-OtjaKs8H7oysfErajdYr1yuWSjMAectT7Dwr+axIoZqT9lmEOkD/H/3rgAs8h/NIuEi2imSXD+vL4MZtOuJfqQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-knex": { - "version": "0.44.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-knex/-/instrumentation-knex-0.44.1.tgz", - "integrity": "sha512-U4dQxkNhvPexffjEmGwCq68FuftFK15JgUF05y/HlK3M6W/G2iEaACIfXdSnwVNe9Qh0sPfw8LbOPxrWzGWGMQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-koa": { - "version": "0.47.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.47.1.tgz", - "integrity": "sha512-l/c+Z9F86cOiPJUllUCt09v+kICKvT+Vg1vOAJHtHPsJIzurGayucfCMq2acd/A/yxeNWunl9d9eqZ0G+XiI6A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-lru-memoizer": { - "version": "0.44.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-lru-memoizer/-/instrumentation-lru-memoizer-0.44.1.tgz", - "integrity": "sha512-5MPkYCvG2yw7WONEjYj5lr5JFehTobW7wX+ZUFy81oF2lr9IPfZk9qO+FTaM0bGEiymwfLwKe6jE15nHn1nmHg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-memcached": { - "version": "0.43.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-memcached/-/instrumentation-memcached-0.43.1.tgz", - "integrity": "sha512-rK5YWC22gmsLp2aEbaPk5F+9r6BFFZuc9GTnW/ErrWpz2XNHUgeFInoPDg4t+Trs8OttIfn8XwkfFkSKqhxanw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0", - "@types/memcached": "^2.2.6" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-mongodb": { - "version": "0.52.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.52.0.tgz", - "integrity": "sha512-1xmAqOtRUQGR7QfJFfGV/M2kC7wmI2WgZdpru8hJl3S0r4hW0n3OQpEHlSGXJAaNFyvT+ilnwkT+g5L4ljHR6g==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-mongoose": { - "version": "0.46.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.46.1.tgz", - "integrity": "sha512-3kINtW1LUTPkiXFRSSBmva1SXzS/72we/jL22N+BnF3DFcoewkdkHPYOIdAAk9gSicJ4d5Ojtt1/HeibEc5OQg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-mysql": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.45.1.tgz", - "integrity": "sha512-TKp4hQ8iKQsY7vnp/j0yJJ4ZsP109Ht6l4RHTj0lNEG1TfgTrIH5vJMbgmoYXWzNHAqBH2e7fncN12p3BP8LFg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0", - "@types/mysql": "2.15.26" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-mysql2": { - "version": "0.45.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.45.2.tgz", - "integrity": "sha512-h6Ad60FjCYdJZ5DTz1Lk2VmQsShiViKe0G7sYikb0GHI0NVvApp2XQNRHNjEMz87roFttGPLHOYVPlfy+yVIhQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0", - "@opentelemetry/sql-common": "^0.40.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-nestjs-core": { - "version": "0.44.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.44.1.tgz", - "integrity": "sha512-4TXaqJK27QXoMqrt4+hcQ6rKFd8B6V4JfrTJKnqBmWR1cbaqd/uwyl9yxhNH1JEkyo8GaBfdpBC4ZE4FuUhPmg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-net": { - "version": "0.43.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-net/-/instrumentation-net-0.43.1.tgz", - "integrity": "sha512-TaMqP6tVx9/SxlY81dHlSyP5bWJIKq+K7vKfk4naB/LX4LBePPY3++1s0edpzH+RfwN+tEGVW9zTb9ci0up/lQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-pg": { - "version": "0.51.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.51.1.tgz", - "integrity": "sha512-QxgjSrxyWZc7Vk+qGSfsejPVFL1AgAJdSBMYZdDUbwg730D09ub3PXScB9d04vIqPriZ+0dqzjmQx0yWKiCi2Q==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.26.0", - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0", - "@opentelemetry/sql-common": "^0.40.1", - "@types/pg": "8.6.1", - "@types/pg-pool": "2.0.6" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-pino": { - "version": "0.46.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pino/-/instrumentation-pino-0.46.1.tgz", - "integrity": "sha512-HB8gD/9CNAKlTV+mdZehnFC4tLUtQ7e+729oGq88e4WipxzZxmMYuRwZ2vzOA9/APtq+MRkERJ9PcoDqSIjZ+g==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "^0.57.1", - "@opentelemetry/core": "^1.25.0", - "@opentelemetry/instrumentation": "^0.57.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-redis": { - "version": "0.46.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis/-/instrumentation-redis-0.46.1.tgz", - "integrity": "sha512-AN7OvlGlXmlvsgbLHs6dS1bggp6Fcki+GxgYZdSrb/DB692TyfjR7sVILaCe0crnP66aJuXsg9cge3hptHs9UA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/redis-common": "^0.36.2", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-redis-4": { - "version": "0.46.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.46.1.tgz", - "integrity": "sha512-UMqleEoabYMsWoTkqyt9WAzXwZ4BlFZHO40wr3d5ZvtjKCHlD4YXLm+6OLCeIi/HkX7EXvQaz8gtAwkwwSEvcQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/redis-common": "^0.36.2", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-restify": { - "version": "0.45.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-restify/-/instrumentation-restify-0.45.1.tgz", - "integrity": "sha512-Zd6Go9iEa+0zcoA2vDka9r/plYKaT3BhD3ESIy4JNIzFWXeQBGbH3zZxQIsz0jbNTMEtonlymU7eTLeaGWiApA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-router": { - "version": "0.44.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-router/-/instrumentation-router-0.44.1.tgz", - "integrity": "sha512-l4T/S7ByjpY5TCUPeDe1GPns02/5BpR0jroSMexyH3ZnXJt9PtYqx1IKAlOjaFEGEOQF2tGDsMi4PY5l+fSniQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-socket.io": { - "version": "0.46.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-socket.io/-/instrumentation-socket.io-0.46.1.tgz", - "integrity": "sha512-9AsCVUAHOqvfe2RM/2I0DsDnx2ihw1d5jIN4+Bly1YPFTJIbk4+bXjAkr9+X6PUfhiV5urQHZkiYYPU1Q4yzPA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-tedious": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-tedious/-/instrumentation-tedious-0.18.1.tgz", - "integrity": "sha512-5Cuy/nj0HBaH+ZJ4leuD7RjgvA844aY2WW+B5uLcWtxGjRZl3MNLuxnNg5DYWZNPO+NafSSnra0q49KWAHsKBg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.57.1", - "@opentelemetry/semantic-conventions": "^1.27.0", - "@types/tedious": "^4.0.14" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/instrumentation-undici": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-undici/-/instrumentation-undici-0.10.1.tgz", - "integrity": "sha512-rkOGikPEyRpMCmNu9AQuV5dtRlDmJp2dK5sw8roVshAGoB6hH/3QjDtRhdwd75SsJwgynWUNRUYe0wAkTo16tQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.8.0", - "@opentelemetry/instrumentation": "^0.57.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.7.0" - } - }, - "node_modules/@opentelemetry/instrumentation-winston": { - "version": "0.44.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-winston/-/instrumentation-winston-0.44.1.tgz", - "integrity": "sha512-iexblTsT3fP0hHUz/M1mWr+Ylg3bsYN2En/jvKXZtboW3Qkvt17HrQJYTF9leVIkXAfN97QxAcTE99YGbQW7vQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "^0.57.1", - "@opentelemetry/instrumentation": "^0.57.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/otlp-exporter-base": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.57.2.tgz", - "integrity": "sha512-XdxEzL23Urhidyebg5E6jZoaiW5ygP/mRjxLHixogbqwDy2Faduzb5N0o/Oi+XTIJu+iyxXdVORjXax+Qgfxag==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/otlp-transformer": "0.57.2" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/otlp-grpc-exporter-base": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.57.2.tgz", - "integrity": "sha512-USn173KTWy0saqqRB5yU9xUZ2xdgb1Rdu5IosJnm9aV4hMTuFFRTUsQxbgc24QxpCHeoKzzCSnS/JzdV0oM2iQ==", - "license": "Apache-2.0", - "dependencies": { - "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.30.1", - "@opentelemetry/otlp-exporter-base": "0.57.2", - "@opentelemetry/otlp-transformer": "0.57.2" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/otlp-transformer": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.57.2.tgz", - "integrity": "sha512-48IIRj49gbQVK52jYsw70+Jv+JbahT8BqT2Th7C4H7RCM9d0gZ5sgNPoMpWldmfjvIsSgiGJtjfk9MeZvjhoig==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.57.2", - "@opentelemetry/core": "1.30.1", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-logs": "0.57.2", - "@opentelemetry/sdk-metrics": "1.30.1", - "@opentelemetry/sdk-trace-base": "1.30.1", - "protobufjs": "^7.3.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" - } - }, - "node_modules/@opentelemetry/propagation-utils": { - "version": "0.30.16", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagation-utils/-/propagation-utils-0.30.16.tgz", - "integrity": "sha512-ZVQ3Z/PQ+2GQlrBfbMMMT0U7MzvYZLCPP800+ooyaBqm4hMvuQHfP028gB9/db0mwkmyEAMad9houukUVxhwcw==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0" - } - }, - "node_modules/@opentelemetry/propagator-b3": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-b3/-/propagator-b3-1.30.1.tgz", - "integrity": "sha512-oATwWWDIJzybAZ4pO76ATN5N6FFbOA1otibAVlS8v90B4S1wClnhRUk7K+2CHAwN1JKYuj4jh/lpCEG5BAqFuQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/propagator-jaeger": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.30.1.tgz", - "integrity": "sha512-Pj/BfnYEKIOImirH76M4hDaBSx6HyZ2CXUqk+Kj02m6BB80c/yo4BdWkn/1gDFfU+YPY+bPR2U0DKBfdxCKwmg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/redis-common": { - "version": "0.36.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/redis-common/-/redis-common-0.36.2.tgz", - "integrity": "sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/resource-detector-alibaba-cloud": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-alibaba-cloud/-/resource-detector-alibaba-cloud-0.30.1.tgz", - "integrity": "sha512-9l0FVP3F4+Z6ax27vMzkmhZdNtxAbDqEfy7rduzya3xFLaRiJSvOpw6cru6Edl5LwO+WvgNui+VzHa9ViE8wCg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.26.0", - "@opentelemetry/resources": "^1.10.0", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0" - } - }, - "node_modules/@opentelemetry/resource-detector-aws": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-aws/-/resource-detector-aws-1.12.0.tgz", - "integrity": "sha512-Cvi7ckOqiiuWlHBdA1IjS0ufr3sltex2Uws2RK6loVp4gzIJyOijsddAI6IZ5kiO8h/LgCWe8gxPmwkTKImd+Q==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.0.0", - "@opentelemetry/resources": "^1.10.0", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0" - } - }, - "node_modules/@opentelemetry/resource-detector-azure": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-azure/-/resource-detector-azure-0.6.1.tgz", - "integrity": "sha512-Djr31QCExVfWViaf9cGJnH+bUInD72p0GEfgDGgjCAztyvyji6WJvKjs6qmkpPN+Ig6KLk0ho2VgzT5Kdl4L2Q==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.25.1", - "@opentelemetry/resources": "^1.10.1", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0" - } - }, - "node_modules/@opentelemetry/resource-detector-container": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-container/-/resource-detector-container-0.6.1.tgz", - "integrity": "sha512-o4sLzx149DQXDmVa8pgjBDEEKOj9SuQnkSLbjUVOpQNnn10v0WNR6wLwh30mFsK26xOJ6SpqZBGKZiT7i5MjlA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.26.0", - "@opentelemetry/resources": "^1.10.0", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0" - } - }, - "node_modules/@opentelemetry/resource-detector-gcp": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-gcp/-/resource-detector-gcp-0.33.1.tgz", - "integrity": "sha512-/aZJXI1rU6Eus04ih2vU0hxXAibXXMzH1WlDZ8bXcTJmhwmTY8cP392+6l7cWeMnTQOibBUz8UKV3nhcCBAefw==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.0.0", - "@opentelemetry/resources": "^1.10.0", - "@opentelemetry/semantic-conventions": "^1.27.0", - "gcp-metadata": "^6.0.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0" - } - }, - "node_modules/@opentelemetry/resources": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.30.1.tgz", - "integrity": "sha512-5UxZqiAgLYGFjS4s9qm5mBVo433u+dSPUFWVWXmLAD4wB65oMCoXaJP1KJa9DIYYMeHu3z4BZcStG3LC593cWA==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/semantic-conventions": "1.28.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/resources/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz", - "integrity": "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/sdk-logs": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.57.2.tgz", - "integrity": "sha512-TXFHJ5c+BKggWbdEQ/inpgIzEmS2BGQowLE9UhsMd7YYlUfBQJ4uax0VF/B5NYigdM/75OoJGhAV3upEhK+3gg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.57.2", - "@opentelemetry/core": "1.30.1", - "@opentelemetry/resources": "1.30.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.4.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/sdk-metrics": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-1.30.1.tgz", - "integrity": "sha512-q9zcZ0Okl8jRgmy7eNW3Ku1XSgg3sDLa5evHZpCwjspw7E8Is4K/haRPDJrBcX3YSn/Y7gUvFnByNYEKQNbNog==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/resources": "1.30.1" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.3.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/sdk-node": { - "version": "0.57.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-node/-/sdk-node-0.57.2.tgz", - "integrity": "sha512-8BaeqZyN5sTuPBtAoY+UtKwXBdqyuRKmekN5bFzAO40CgbGzAxfTpiL3PBerT7rhZ7p2nBdq7FaMv/tBQgHE4A==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/api-logs": "0.57.2", - "@opentelemetry/core": "1.30.1", - "@opentelemetry/exporter-logs-otlp-grpc": "0.57.2", - "@opentelemetry/exporter-logs-otlp-http": "0.57.2", - "@opentelemetry/exporter-logs-otlp-proto": "0.57.2", - "@opentelemetry/exporter-metrics-otlp-grpc": "0.57.2", - "@opentelemetry/exporter-metrics-otlp-http": "0.57.2", - "@opentelemetry/exporter-metrics-otlp-proto": "0.57.2", - "@opentelemetry/exporter-prometheus": "0.57.2", - "@opentelemetry/exporter-trace-otlp-grpc": "0.57.2", - "@opentelemetry/exporter-trace-otlp-http": "0.57.2", - "@opentelemetry/exporter-trace-otlp-proto": "0.57.2", - "@opentelemetry/exporter-zipkin": "1.30.1", - "@opentelemetry/instrumentation": "0.57.2", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/sdk-logs": "0.57.2", - "@opentelemetry/sdk-metrics": "1.30.1", - "@opentelemetry/sdk-trace-base": "1.30.1", - "@opentelemetry/sdk-trace-node": "1.30.1", - "@opentelemetry/semantic-conventions": "1.28.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.3.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/sdk-node/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz", - "integrity": "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/sdk-trace-base": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.30.1.tgz", - "integrity": "sha512-jVPgBbH1gCy2Lb7X0AVQ8XAfgg0pJ4nvl8/IiQA6nxOsPvS+0zMJaFSs2ltXe0J6C8dqjcnpyqINDJmU30+uOg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "1.30.1", - "@opentelemetry/resources": "1.30.1", - "@opentelemetry/semantic-conventions": "1.28.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/semantic-conventions": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.28.0.tgz", - "integrity": "sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/sdk-trace-node": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.30.1.tgz", - "integrity": "sha512-cBjYOINt1JxXdpw1e5MlHmFRc5fgj4GW/86vsKFxJCJ8AL4PdVtYH41gWwl4qd4uQjqEL1oJVrXkSy5cnduAnQ==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/context-async-hooks": "1.30.1", - "@opentelemetry/core": "1.30.1", - "@opentelemetry/propagator-b3": "1.30.1", - "@opentelemetry/propagator-jaeger": "1.30.1", - "@opentelemetry/sdk-trace-base": "1.30.1", - "semver": "^7.5.2" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" - } - }, - "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.36.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.36.0.tgz", - "integrity": "sha512-TtxJSRD8Ohxp6bKkhrm27JRHAxPczQA7idtcTOMYI+wQRRrfgqxHv1cFbCApcSnNjtXkmzFozn6jQtFrOmbjPQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/@opentelemetry/sql-common": { - "version": "0.40.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sql-common/-/sql-common-0.40.1.tgz", - "integrity": "sha512-nSDlnHSqzC3pXn/wZEZVLuAuJ1MYMXPBwtv2qAbCa3847SaHItdE7SzUq/Jtb0KZmh1zfAbNi3AAMjztTT4Ugg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/core": "^1.1.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0" - } - }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==", - "license": "BSD-3-Clause" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==", - "license": "BSD-3-Clause" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.48.1.tgz", - "integrity": "sha512-rGmb8qoG/zdmKoYELCBwu7vt+9HxZ7Koos3pD0+sH5fR3u3Wb/jGcpnqxcnWsPEKDUyzeLSqksN8LJtgXjqBYw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.48.1.tgz", - "integrity": "sha512-4e9WtTxrk3gu1DFE+imNJr4WsL13nWbD/Y6wQcyku5qadlKHY3OQ3LJ/INrrjngv2BJIHnIzbqMk1GTAC2P8yQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.48.1.tgz", - "integrity": "sha512-+XjmyChHfc4TSs6WUQGmVf7Hkg8ferMAE2aNYYWjiLzAS/T62uOsdfnqv+GHRjq7rKRnYh4mwWb4Hz7h/alp8A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.48.1.tgz", - "integrity": "sha512-upGEY7Ftw8M6BAJyGwnwMw91rSqXTcOKZnnveKrVWsMTF8/k5mleKSuh7D4v4IV1pLxKAk3Tbs0Lo9qYmii5mQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.48.1.tgz", - "integrity": "sha512-P9ViWakdoynYFUOZhqq97vBrhuvRLAbN/p2tAVJvhLb8SvN7rbBnJQcBu8e/rQts42pXGLVhfsAP0k9KXWa3nQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.48.1.tgz", - "integrity": "sha512-VLKIwIpnBya5/saccM8JshpbxfyJt0Dsli0PjXozHwbSVaHTvWXJH1bbCwPXxnMzU4zVEfgD1HpW3VQHomi2AQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.48.1.tgz", - "integrity": "sha512-3zEuZsXfKaw8n/yF7t8N6NNdhyFw3s8xJTqjbTDXlipwrEHo4GtIKcMJr5Ed29leLpB9AugtAQpAHW0jvtKKaQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.48.1.tgz", - "integrity": "sha512-leo9tOIlKrcBmmEypzunV/2w946JeLbTdDlwEZ7OnnsUyelZ72NMnT4B2vsikSgwQifjnJUbdXzuW4ToN1wV+Q==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.48.1.tgz", - "integrity": "sha512-Vy/WS4z4jEyvnJm+CnPfExIv5sSKqZrUr98h03hpAMbE2aI0aD2wvK6GiSe8Gx2wGp3eD81cYDpLLBqNb2ydwQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.48.1.tgz", - "integrity": "sha512-x5Kzn7XTwIssU9UYqWDB9VpLpfHYuXw5c6bJr4Mzv9kIv242vmJHbI5PJJEnmBYitUIfoMCODDhR7KoZLot2VQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.48.1.tgz", - "integrity": "sha512-yzCaBbwkkWt/EcgJOKDUdUpMHjhiZT/eDktOPWvSRpqrVE04p0Nd6EGV4/g7MARXXeOqstflqsKuXVM3H9wOIQ==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.48.1.tgz", - "integrity": "sha512-UK0WzWUjMAJccHIeOpPhPcKBqax7QFg47hwZTp6kiMhQHeOYJeaMwzeRZe1q5IiTKsaLnHu9s6toSYVUlZ2QtQ==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.48.1.tgz", - "integrity": "sha512-3NADEIlt+aCdCbWVZ7D3tBjBX1lHpXxcvrLt/kdXTiBrOds8APTdtk2yRL2GgmnSVeX4YS1JIf0imFujg78vpw==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.48.1.tgz", - "integrity": "sha512-euuwm/QTXAMOcyiFCcrx0/S2jGvFlKJ2Iro8rsmYL53dlblp3LkUQVFzEidHhvIPPvcIsxDhl2wkBE+I6YVGzA==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.48.1.tgz", - "integrity": "sha512-w8mULUjmPdWLJgmTYJx/W6Qhln1a+yqvgwmGXcQl2vFBkWsKGUBRbtLRuKJUln8Uaimf07zgJNxOhHOvjSQmBQ==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.48.1.tgz", - "integrity": "sha512-90taWXCWxTbClWuMZD0DKYohY1EovA+W5iytpE89oUPmT5O1HFdf8cuuVIylE6vCbrGdIGv85lVRzTcpTRZ+kA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.48.1.tgz", - "integrity": "sha512-2Gu29SkFh1FfTRuN1GR1afMuND2GKzlORQUP3mNMJbqdndOg7gNsa81JnORctazHRokiDzQ5+MLE5XYmZW5VWg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.48.1.tgz", - "integrity": "sha512-6kQFR1WuAO50bxkIlAVeIYsz3RUx+xymwhTo9j94dJ+kmHe9ly7muH23sdfWduD0BA8pD9/yhonUvAjxGh34jQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.48.1.tgz", - "integrity": "sha512-RUyZZ/mga88lMI3RlXFs4WQ7n3VyU07sPXmMG7/C1NOi8qisUg57Y7LRarqoGoAiopmGmChUhSwfpvQ3H5iGSQ==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.48.1.tgz", - "integrity": "sha512-8a/caCUN4vkTChxkaIJcMtwIVcBhi4X2PQRoT+yCK3qRYaZ7cURrmJFL5Ux9H9RaMIXj9RuihckdmkBX3zZsgg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@selderee/plugin-htmlparser2": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.11.0.tgz", - "integrity": "sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==", - "license": "MIT", - "dependencies": { - "domhandler": "^5.0.3", - "selderee": "^0.11.0" - }, - "funding": { - "url": "https://ko-fi.com/killymxi" - } - }, - "node_modules/@types/aws-lambda": { - "version": "8.10.147", - "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.147.tgz", - "integrity": "sha512-nD0Z9fNIZcxYX5Mai2CTmFD7wX7UldCkW2ezCF8D1T5hdiLsnTWDGRpfRYntU6VjTdLQjOvyszru7I1c1oCQew==", - "license": "MIT" - }, - "node_modules/@types/bun": { - "version": "1.2.20", - "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.2.20.tgz", - "integrity": "sha512-dX3RGzQ8+KgmMw7CsW4xT5ITBSCrSbfHc36SNT31EOUg/LA9JWq0VDdEXDRSe1InVWpd2yLUM1FUF/kEOyTzYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bun-types": "1.2.20" - } - }, - "node_modules/@types/bunyan": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.11.tgz", - "integrity": "sha512-758fRH7umIMk5qt5ELmRMff4mLDlN+xyYzC+dkPTdKwbSkJFvz6xwyScrytPU0QIBbRRwbiE8/BIg8bpajerNQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/chai": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", - "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", - "license": "MIT", - "dependencies": { - "@types/deep-eql": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", - "license": "MIT" - }, - "node_modules/@types/diff-match-patch": { - "version": "1.0.36", - "resolved": "https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.36.tgz", - "integrity": "sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==", - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "license": "MIT" - }, - "node_modules/@types/memcached": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@types/memcached/-/memcached-2.2.10.tgz", - "integrity": "sha512-AM9smvZN55Gzs2wRrqeMHVP7KE8KWgCJO/XL5yCly2xF6EKa4YlbpK+cLSAH4NG/Ah64HrlegmGqW8kYws7Vxg==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/mysql": { - "version": "2.15.26", - "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.26.tgz", - "integrity": "sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/node": { - "version": "24.3.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.0.tgz", - "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==", - "license": "MIT", - "dependencies": { - "undici-types": "~7.10.0" - } - }, - "node_modules/@types/pg": { - "version": "8.6.1", - "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.1.tgz", - "integrity": "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "pg-protocol": "*", - "pg-types": "^2.2.0" - } - }, - "node_modules/@types/pg-pool": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.6.tgz", - "integrity": "sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==", - "license": "MIT", - "dependencies": { - "@types/pg": "*" - } - }, - "node_modules/@types/react": { - "version": "19.1.11", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.11.tgz", - "integrity": "sha512-lr3jdBw/BGj49Eps7EvqlUaoeA0xpj3pc0RoJkHpYaCHkVK7i28dKyImLQb3JVlqs3aYSXf7qYuWOW/fgZnTXQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "csstype": "^3.0.2" - } - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "license": "MIT" - }, - "node_modules/@types/shimmer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.2.0.tgz", - "integrity": "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==", - "license": "MIT" - }, - "node_modules/@types/tedious": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/@types/tedious/-/tedious-4.0.14.tgz", - "integrity": "sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/uuid": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-10.0.0.tgz", - "integrity": "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==", - "license": "MIT" - }, - "node_modules/@vitest/expect": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", - "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", - "license": "MIT", - "dependencies": { - "@types/chai": "^5.2.2", - "@vitest/spy": "3.2.4", - "@vitest/utils": "3.2.4", - "chai": "^5.2.0", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/mocker": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", - "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", - "license": "MIT", - "dependencies": { - "@vitest/spy": "3.2.4", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.17" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } - } - }, - "node_modules/@vitest/pretty-format": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", - "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", - "license": "MIT", - "dependencies": { - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", - "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", - "license": "MIT", - "dependencies": { - "@vitest/utils": "3.2.4", - "pathe": "^2.0.3", - "strip-literal": "^3.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/snapshot": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", - "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "3.2.4", - "magic-string": "^0.30.17", - "pathe": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", - "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", - "license": "MIT", - "dependencies": { - "tinyspy": "^4.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", - "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", - "license": "MIT", - "dependencies": { - "@vitest/pretty-format": "3.2.4", - "loupe": "^3.1.4", - "tinyrainbow": "^2.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "license": "MIT", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/agent-base": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "license": "MIT", - "engines": { - "node": ">= 14" - } - }, - "node_modules/ai": { - "version": "4.3.19", - "resolved": "https://registry.npmjs.org/ai/-/ai-4.3.19.tgz", - "integrity": "sha512-dIE2bfNpqHN3r6IINp9znguYdhIOheKW2LDigAMrgt/upT3B8eBGPSCblENvaZGoq+hxaN9fSMzjWpbqloP+7Q==", - "license": "Apache-2.0", - "dependencies": { - "@ai-sdk/provider": "1.1.3", - "@ai-sdk/provider-utils": "2.2.8", - "@ai-sdk/react": "1.2.12", - "@ai-sdk/ui-utils": "1.2.11", - "@opentelemetry/api": "1.9.0", - "jsondiffpatch": "0.6.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "react": "^18 || ^19 || ^19.0.0-rc", - "zod": "^3.23.8" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - } - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/bignumber.js": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", - "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/bun-types": { - "version": "1.2.20", - "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.2.20.tgz", - "integrity": "sha512-pxTnQYOrKvdOwyiyd/7sMt9yFOenN004Y6O4lCcCUoKVej48FS5cvTw9geRaEcB9TsDZaJKAxPTVvi8tFsVuXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - }, - "peerDependencies": { - "@types/react": "^19" - } - }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/chai": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", - "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", - "license": "MIT", - "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/chalk": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz", - "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", - "license": "MIT", - "engines": { - "node": ">= 16" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", - "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", - "license": "MIT" - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/console-table-printer": { - "version": "2.14.6", - "resolved": "https://registry.npmjs.org/console-table-printer/-/console-table-printer-2.14.6.tgz", - "integrity": "sha512-MCBl5HNVaFuuHW6FGbL/4fB7N/ormCy+tQ+sxTrF6QtSbSNETvPuOVbkJBhzDgYhvjWGrTma4eYJa37ZuoQsPw==", - "license": "MIT", - "dependencies": { - "simple-wcswidth": "^1.0.1" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/diff-match-patch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz", - "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==", - "license": "Apache-2.0" - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", - "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/encoding-japanese": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/encoding-japanese/-/encoding-japanese-2.2.0.tgz", - "integrity": "sha512-EuJWwlHPZ1LbADuKTClvHtwbaFn4rOD+dRAbWysqEOXRc2Uui0hJInNJrsdH0c+OhJA4nrCBdSkW4DD5YxAo6A==", - "license": "MIT", - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "license": "MIT" - }, - "node_modules/esbuild": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", - "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.9", - "@esbuild/android-arm": "0.25.9", - "@esbuild/android-arm64": "0.25.9", - "@esbuild/android-x64": "0.25.9", - "@esbuild/darwin-arm64": "0.25.9", - "@esbuild/darwin-x64": "0.25.9", - "@esbuild/freebsd-arm64": "0.25.9", - "@esbuild/freebsd-x64": "0.25.9", - "@esbuild/linux-arm": "0.25.9", - "@esbuild/linux-arm64": "0.25.9", - "@esbuild/linux-ia32": "0.25.9", - "@esbuild/linux-loong64": "0.25.9", - "@esbuild/linux-mips64el": "0.25.9", - "@esbuild/linux-ppc64": "0.25.9", - "@esbuild/linux-riscv64": "0.25.9", - "@esbuild/linux-s390x": "0.25.9", - "@esbuild/linux-x64": "0.25.9", - "@esbuild/netbsd-arm64": "0.25.9", - "@esbuild/netbsd-x64": "0.25.9", - "@esbuild/openbsd-arm64": "0.25.9", - "@esbuild/openbsd-x64": "0.25.9", - "@esbuild/openharmony-arm64": "0.25.9", - "@esbuild/sunos-x64": "0.25.9", - "@esbuild/win32-arm64": "0.25.9", - "@esbuild/win32-ia32": "0.25.9", - "@esbuild/win32-x64": "0.25.9" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "license": "MIT" - }, - "node_modules/expect-type": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", - "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", - "license": "Apache-2.0", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/forwarded-parse": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/forwarded-parse/-/forwarded-parse-2.1.2.tgz", - "integrity": "sha512-alTFZZQDKMporBH77856pXgzhEzaUVmLCDk+egLgIgHst3Tpndzz8MnKe+GzRJRfvVdn69HhpW7cmXzvtLvJAw==", - "license": "MIT" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gaxios": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.7.1.tgz", - "integrity": "sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ==", - "license": "Apache-2.0", - "dependencies": { - "extend": "^3.0.2", - "https-proxy-agent": "^7.0.1", - "is-stream": "^2.0.0", - "node-fetch": "^2.6.9", - "uuid": "^9.0.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/gaxios/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/gcp-metadata": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-6.1.1.tgz", - "integrity": "sha512-a4tiq7E0/5fTjxPAaH4jpjkSv/uCaU2p5KC6HVGrvl0cDjA8iBZv4vv1gyzlmK0ZUKqwpOyQMKzZQe3lTit77A==", - "license": "Apache-2.0", - "dependencies": { - "gaxios": "^6.1.1", - "google-logging-utils": "^0.0.2", - "json-bigint": "^1.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/google-logging-utils": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-0.0.2.tgz", - "integrity": "sha512-NEgUnEcBiP5HrPzufUkBzJOD/Sxsco3rLNo1F1TNf7ieU8ryUzBhqba8r756CjLX7rn3fHl6iLEwPYuqpoKgQQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=14" - } - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "license": "MIT", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/html-to-text": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-9.0.5.tgz", - "integrity": "sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==", - "license": "MIT", - "dependencies": { - "@selderee/plugin-htmlparser2": "^0.11.0", - "deepmerge": "^4.3.1", - "dom-serializer": "^2.0.0", - "htmlparser2": "^8.0.2", - "selderee": "^0.11.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "license": "MIT", - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/import-in-the-middle": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/import-in-the-middle/-/import-in-the-middle-1.14.2.tgz", - "integrity": "sha512-5tCuY9BV8ujfOpwtAGgsTx9CGUapcFMEEyByLv1B+v2+6DhAcw+Zr0nhQT7uwaZ7DiourxFEscghOR8e1aPLQw==", - "license": "Apache-2.0", - "dependencies": { - "acorn": "^8.14.0", - "acorn-import-attributes": "^1.9.5", - "cjs-module-lexer": "^1.2.2", - "module-details-from-path": "^1.0.3" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/js-tiktoken": { - "version": "1.0.21", - "resolved": "https://registry.npmjs.org/js-tiktoken/-/js-tiktoken-1.0.21.tgz", - "integrity": "sha512-biOj/6M5qdgx5TKjDnFT1ymSpM5tbd3ylwDtrQvFQSu0Z7bBYko2dF+W/aUkXUPuk6IVpRxk/3Q2sHOzGlS36g==", - "license": "MIT", - "dependencies": { - "base64-js": "^1.5.1" - } - }, - "node_modules/js-tokens": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-bigint": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", - "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", - "license": "MIT", - "dependencies": { - "bignumber.js": "^9.0.0" - } - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "license": "(AFL-2.1 OR BSD-3-Clause)" - }, - "node_modules/jsondiffpatch": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.6.0.tgz", - "integrity": "sha512-3QItJOXp2AP1uv7waBkao5nCvhEv+QmJAd38Ybq7wNI74Q+BBmnLn4EDKz6yI9xGAIQoUF87qHt+kc1IVxB4zQ==", - "license": "MIT", - "dependencies": { - "@types/diff-match-patch": "^1.0.36", - "chalk": "^5.3.0", - "diff-match-patch": "^1.0.5" - }, - "bin": { - "jsondiffpatch": "bin/jsondiffpatch.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - } - }, - "node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/langchain": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/langchain/-/langchain-0.3.31.tgz", - "integrity": "sha512-C7n7WGa44RytsuxEtGcArVcXidRqzjl6UWQxaG3NdIw4gIqErWoOlNC1qADAa04H5JAOARxuE6S99+WNXB/rzA==", - "license": "MIT", - "dependencies": { - "@langchain/openai": ">=0.1.0 <0.7.0", - "@langchain/textsplitters": ">=0.0.0 <0.2.0", - "js-tiktoken": "^1.0.12", - "js-yaml": "^4.1.0", - "jsonpointer": "^5.0.1", - "langsmith": "^0.3.46", - "openapi-types": "^12.1.3", - "p-retry": "4", - "uuid": "^10.0.0", - "yaml": "^2.2.1", - "zod": "^3.25.32" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@langchain/anthropic": "*", - "@langchain/aws": "*", - "@langchain/cerebras": "*", - "@langchain/cohere": "*", - "@langchain/core": ">=0.3.58 <0.4.0", - "@langchain/deepseek": "*", - "@langchain/google-genai": "*", - "@langchain/google-vertexai": "*", - "@langchain/google-vertexai-web": "*", - "@langchain/groq": "*", - "@langchain/mistralai": "*", - "@langchain/ollama": "*", - "@langchain/xai": "*", - "axios": "*", - "cheerio": "*", - "handlebars": "^4.7.8", - "peggy": "^3.0.2", - "typeorm": "*" - }, - "peerDependenciesMeta": { - "@langchain/anthropic": { - "optional": true - }, - "@langchain/aws": { - "optional": true - }, - "@langchain/cerebras": { - "optional": true - }, - "@langchain/cohere": { - "optional": true - }, - "@langchain/deepseek": { - "optional": true - }, - "@langchain/google-genai": { - "optional": true - }, - "@langchain/google-vertexai": { - "optional": true - }, - "@langchain/google-vertexai-web": { - "optional": true - }, - "@langchain/groq": { - "optional": true - }, - "@langchain/mistralai": { - "optional": true - }, - "@langchain/ollama": { - "optional": true - }, - "@langchain/xai": { - "optional": true - }, - "axios": { - "optional": true - }, - "cheerio": { - "optional": true - }, - "handlebars": { - "optional": true - }, - "peggy": { - "optional": true - }, - "typeorm": { - "optional": true - } - } - }, - "node_modules/langsmith": { - "version": "0.3.63", - "resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.3.63.tgz", - "integrity": "sha512-GrioB7LOUksKIYsdYbBUwyD3ezy+OAQ5eu5vebytMsX3wT0xfW4rbM+vHqCY7RgZwUYLR/RlpuC18pdO+NqugA==", - "license": "MIT", - "dependencies": { - "@types/uuid": "^10.0.0", - "chalk": "^4.1.2", - "console-table-printer": "^2.12.1", - "p-queue": "^6.6.2", - "p-retry": "4", - "semver": "^7.6.3", - "uuid": "^10.0.0" - }, - "peerDependencies": { - "@opentelemetry/api": "*", - "@opentelemetry/exporter-trace-otlp-proto": "*", - "@opentelemetry/sdk-trace-base": "*", - "openai": "*" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@opentelemetry/exporter-trace-otlp-proto": { - "optional": true - }, - "@opentelemetry/sdk-trace-base": { - "optional": true - }, - "openai": { - "optional": true - } - } - }, - "node_modules/langsmith/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/langsmith/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/leac": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/leac/-/leac-0.6.0.tgz", - "integrity": "sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==", - "license": "MIT", - "funding": { - "url": "https://ko-fi.com/killymxi" - } - }, - "node_modules/libbase64": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-1.3.0.tgz", - "integrity": "sha512-GgOXd0Eo6phYgh0DJtjQ2tO8dc0IVINtZJeARPeiIJqge+HdsWSuaDTe8ztQ7j/cONByDZ3zeB325AHiv5O0dg==", - "license": "MIT" - }, - "node_modules/libmime": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/libmime/-/libmime-5.3.7.tgz", - "integrity": "sha512-FlDb3Wtha8P01kTL3P9M+ZDNDWPKPmKHWaU/cG/lg5pfuAwdflVpZE+wm9m7pKmC5ww6s+zTxBKS1p6yl3KpSw==", - "license": "MIT", - "dependencies": { - "encoding-japanese": "2.2.0", - "iconv-lite": "0.6.3", - "libbase64": "1.3.0", - "libqp": "2.1.1" - } - }, - "node_modules/libqp": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/libqp/-/libqp-2.1.1.tgz", - "integrity": "sha512-0Wd+GPz1O134cP62YU2GTOPNA7Qgl09XwCqM5zpBv87ERCXdfDtyKXvV7c9U22yWJh44QZqBocFnXN11K96qow==", - "license": "MIT" - }, - "node_modules/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", - "license": "MIT", - "dependencies": { - "uc.micro": "^2.0.0" - } - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", - "license": "MIT" - }, - "node_modules/long": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", - "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==", - "license": "Apache-2.0" - }, - "node_modules/loupe": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", - "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", - "license": "MIT" - }, - "node_modules/magic-string": { - "version": "0.30.18", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.18.tgz", - "integrity": "sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/mailparser": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/mailparser/-/mailparser-3.7.4.tgz", - "integrity": "sha512-Beh4yyR4jLq3CZZ32asajByrXnW8dLyKCAQD3WvtTiBnMtFWhxO+wa93F6sJNjDmfjxXs4NRNjw3XAGLqZR3Vg==", - "license": "MIT", - "dependencies": { - "encoding-japanese": "2.2.0", - "he": "1.2.0", - "html-to-text": "9.0.5", - "iconv-lite": "0.6.3", - "libmime": "5.3.7", - "linkify-it": "5.0.0", - "mailsplit": "5.4.5", - "nodemailer": "7.0.4", - "punycode.js": "2.3.1", - "tlds": "1.259.0" - } - }, - "node_modules/mailparser/node_modules/nodemailer": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-7.0.4.tgz", - "integrity": "sha512-9O00Vh89/Ld2EcVCqJ/etd7u20UhME0f/NToPfArwPEe1Don1zy4mAIz6ariRr7mJ2RDxtaDzN0WJVdVXPtZaw==", - "license": "MIT-0", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/mailsplit": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/mailsplit/-/mailsplit-5.4.5.tgz", - "integrity": "sha512-oMfhmvclR689IIaQmIcR5nODnZRRVwAKtqFT407TIvmhX2OLUBnshUTcxzQBt3+96sZVDud9NfSe1NxAkUNXEQ==", - "license": "(MIT OR EUPL-1.1+)", - "dependencies": { - "libbase64": "1.3.0", - "libmime": "5.3.7", - "libqp": "2.1.1" - } - }, - "node_modules/module-details-from-path": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/module-details-from-path/-/module-details-from-path-1.0.4.tgz", - "integrity": "sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==", - "license": "MIT" - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/mustache": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", - "license": "MIT", - "peer": true, - "bin": { - "mustache": "bin/mustache" - } - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/nodemailer": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-7.0.5.tgz", - "integrity": "sha512-nsrh2lO3j4GkLLXoeEksAMgAOqxOv6QumNRVQTJwKH4nuiww6iC2y7GyANs9kRAxCexg3+lTWM3PZ91iLlVjfg==", - "license": "MIT-0", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/openai": { - "version": "5.12.2", - "resolved": "https://registry.npmjs.org/openai/-/openai-5.12.2.tgz", - "integrity": "sha512-xqzHHQch5Tws5PcKR2xsZGX9xtch+JQFz5zb14dGqlshmmDAFBFEWmeIpf7wVqWV+w7Emj7jRgkNJakyKE0tYQ==", - "license": "Apache-2.0", - "bin": { - "openai": "bin/cli" - }, - "peerDependencies": { - "ws": "^8.18.0", - "zod": "^3.23.8" - }, - "peerDependenciesMeta": { - "ws": { - "optional": true - }, - "zod": { - "optional": true - } - } - }, - "node_modules/openapi-types": { - "version": "12.1.3", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz", - "integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==", - "license": "MIT" - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-queue": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-6.6.2.tgz", - "integrity": "sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==", - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "license": "MIT", - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "license": "MIT", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/parseley": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/parseley/-/parseley-0.12.1.tgz", - "integrity": "sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==", - "license": "MIT", - "dependencies": { - "leac": "^0.6.0", - "peberminta": "^0.9.0" - }, - "funding": { - "url": "https://ko-fi.com/killymxi" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" - }, - "node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, - "node_modules/pathval": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", - "license": "MIT", - "engines": { - "node": ">= 14.16" - } - }, - "node_modules/peberminta": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/peberminta/-/peberminta-0.9.0.tgz", - "integrity": "sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==", - "license": "MIT", - "funding": { - "url": "https://ko-fi.com/killymxi" - } - }, - "node_modules/pg-int8": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", - "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", - "license": "ISC", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/pg-protocol": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.10.3.tgz", - "integrity": "sha512-6DIBgBQaTKDJyxnXaLiLR8wBpQQcGWuAESkRBX/t6OwA8YsqP+iVSiond2EDy6Y/dsGk8rh/jtax3js5NeV7JQ==", - "license": "MIT" - }, - "node_modules/pg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", - "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", - "license": "MIT", - "dependencies": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postgres-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/postgres-bytea": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", - "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "license": "MIT", - "dependencies": { - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/protobufjs": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", - "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", - "hasInstallScript": true, - "license": "BSD-3-Clause", - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/punycode.js": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", - "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/react": { - "version": "19.1.1", - "resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz", - "integrity": "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-in-the-middle": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/require-in-the-middle/-/require-in-the-middle-7.5.2.tgz", - "integrity": "sha512-gAZ+kLqBdHarXB64XpAe2VCjB7rIRv+mU8tfRWziHRJ5umKsIHN2tLLv6EtMw7WCdP19S0ERVMldNvxYCHnhSQ==", - "license": "MIT", - "dependencies": { - "debug": "^4.3.5", - "module-details-from-path": "^1.0.3", - "resolve": "^1.22.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/rollup": { - "version": "4.48.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.48.1.tgz", - "integrity": "sha512-jVG20NvbhTYDkGAty2/Yh7HK6/q3DGSRH4o8ALKGArmMuaauM9kLfoMZ+WliPwA5+JHr2lTn3g557FxBV87ifg==", - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.48.1", - "@rollup/rollup-android-arm64": "4.48.1", - "@rollup/rollup-darwin-arm64": "4.48.1", - "@rollup/rollup-darwin-x64": "4.48.1", - "@rollup/rollup-freebsd-arm64": "4.48.1", - "@rollup/rollup-freebsd-x64": "4.48.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.48.1", - "@rollup/rollup-linux-arm-musleabihf": "4.48.1", - "@rollup/rollup-linux-arm64-gnu": "4.48.1", - "@rollup/rollup-linux-arm64-musl": "4.48.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.48.1", - "@rollup/rollup-linux-ppc64-gnu": "4.48.1", - "@rollup/rollup-linux-riscv64-gnu": "4.48.1", - "@rollup/rollup-linux-riscv64-musl": "4.48.1", - "@rollup/rollup-linux-s390x-gnu": "4.48.1", - "@rollup/rollup-linux-x64-gnu": "4.48.1", - "@rollup/rollup-linux-x64-musl": "4.48.1", - "@rollup/rollup-win32-arm64-msvc": "4.48.1", - "@rollup/rollup-win32-ia32-msvc": "4.48.1", - "@rollup/rollup-win32-x64-msvc": "4.48.1", - "fsevents": "~2.3.2" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/secure-json-parse": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", - "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==", - "license": "BSD-3-Clause" - }, - "node_modules/selderee": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/selderee/-/selderee-0.11.0.tgz", - "integrity": "sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==", - "license": "MIT", - "dependencies": { - "parseley": "^0.12.0" - }, - "funding": { - "url": "https://ko-fi.com/killymxi" - } - }, - "node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shimmer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", - "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==", - "license": "BSD-2-Clause" - }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "license": "ISC" - }, - "node_modules/simple-wcswidth": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/simple-wcswidth/-/simple-wcswidth-1.1.2.tgz", - "integrity": "sha512-j7piyCjAeTDSjzTSQ7DokZtMNwNlEAyxqSZeCS+CXH7fJ4jx3FuJ/mTW3mE+6JLs4VJBbcll0Kjn+KXI5t21Iw==", - "license": "MIT" - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" - }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "license": "MIT" - }, - "node_modules/std-env": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", - "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", - "license": "MIT" - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-literal": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", - "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", - "license": "MIT", - "dependencies": { - "js-tokens": "^9.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/swr": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.6.tgz", - "integrity": "sha512-wfHRmHWk/isGNMwlLGlZX5Gzz/uTgo0o2IRuTMcf4CPuPFJZlq0rDaKUx+ozB5nBOReNV1kiOyzMfj+MBMikLw==", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.3", - "use-sync-external-store": "^1.4.0" - }, - "peerDependencies": { - "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/systeminformation": { - "version": "5.23.8", - "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.23.8.tgz", - "integrity": "sha512-Osd24mNKe6jr/YoXLLK3k8TMdzaxDffhpCxgkfgBHcapykIkd50HXThM3TCEuHO2pPuCsSx2ms/SunqhU5MmsQ==", - "license": "MIT", - "os": [ - "darwin", - "linux", - "win32", - "freebsd", - "openbsd", - "netbsd", - "sunos", - "android" - ], - "bin": { - "systeminformation": "lib/cli.js" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "Buy me a coffee", - "url": "https://www.buymeacoffee.com/systeminfo" - } - }, - "node_modules/throttleit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-2.1.0.tgz", - "integrity": "sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", - "license": "MIT" - }, - "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", - "license": "MIT" - }, - "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", - "license": "MIT", - "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinypool": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", - "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - } - }, - "node_modules/tinyrainbow": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", - "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz", - "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==", - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tlds": { - "version": "1.259.0", - "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.259.0.tgz", - "integrity": "sha512-AldGGlDP0PNgwppe2quAvuBl18UcjuNtOnDuUkqhd6ipPqrYYBt3aTxK1QTsBVknk97lS2JcafWMghjGWFtunw==", - "license": "MIT", - "bin": { - "tlds": "bin.js" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/typescript": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", - "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/uc.micro": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", - "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", - "license": "MIT" - }, - "node_modules/undici-types": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", - "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", - "license": "MIT" - }, - "node_modules/use-sync-external-store": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.5.0.tgz", - "integrity": "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/uuid": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", - "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/vite": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.3.tgz", - "integrity": "sha512-OOUi5zjkDxYrKhTV3V7iKsoS37VUM7v40+HuwEmcrsf11Cdx9y3DIr2Px6liIcZFwt3XSRpQvFpL3WVy7ApkGw==", - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.14" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "lightningcss": "^1.21.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vite-node": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", - "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", - "license": "MIT", - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.4.1", - "es-module-lexer": "^1.7.0", - "pathe": "^2.0.3", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/vitest": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", - "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", - "license": "MIT", - "dependencies": { - "@types/chai": "^5.2.2", - "@vitest/expect": "3.2.4", - "@vitest/mocker": "3.2.4", - "@vitest/pretty-format": "^3.2.4", - "@vitest/runner": "3.2.4", - "@vitest/snapshot": "3.2.4", - "@vitest/spy": "3.2.4", - "@vitest/utils": "3.2.4", - "chai": "^5.2.0", - "debug": "^4.4.1", - "expect-type": "^1.2.1", - "magic-string": "^0.30.17", - "pathe": "^2.0.3", - "picomatch": "^4.0.2", - "std-env": "^3.9.0", - "tinybench": "^2.9.0", - "tinyexec": "^0.3.2", - "tinyglobby": "^0.2.14", - "tinypool": "^1.1.1", - "tinyrainbow": "^2.0.0", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", - "vite-node": "3.2.4", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/debug": "^4.1.12", - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.2.4", - "@vitest/ui": "3.2.4", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/debug": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", - "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yaml": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", - "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14.6" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-to-json-schema": { - "version": "3.24.6", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", - "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", - "license": "ISC", - "peerDependencies": { - "zod": "^3.24.1" - } - } - } -} diff --git a/agent-docs/package.json b/agent-docs/package.json deleted file mode 100644 index 2e320bcd..00000000 --- a/agent-docs/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "agent-docs", - "version": "0.0.1", - "main": "index.js", - "type": "module", - "scripts": { - "build": "agentuity build", - "dev": "agentuity dev", - "format": "biome format --write .", - "lint": "biome lint .", - "prestart": "agentuity bundle", - "start": "bun run .agentuity/index.js" - }, - "keywords": [ - "agentuity", - "agent", - "ai", - "ai agent", - "bun" - ], - "private": true, - "devDependencies": { - "@biomejs/biome": "2.1.2", - "@types/bun": "^1.2.16" - }, - "peerDependencies": { - "typescript": "^5" - }, - "dependencies": { - "@agentuity/sdk": "^0.0.157", - "@ai-sdk/openai": "^1.3.22", - "ai": "^4.3.16", - "gray-matter": "^4.0.3", - "langchain": "^0.3.28", - "source-map-js": "^1.2.1", - "vitest": "^3.2.3" - }, - "overrides": { - "gray-matter": { - "js-yaml": "^3.14.1" - } - }, - "module": "index.ts" -} diff --git a/agent-docs/src/agents/agent-pulse/README.md b/agent-docs/src/agents/agent-pulse/README.md deleted file mode 100644 index 8ff25f7c..00000000 --- a/agent-docs/src/agents/agent-pulse/README.md +++ /dev/null @@ -1,102 +0,0 @@ -# Pulse Agent - -A conversational AI agent for tutorial management built with OpenAI and structured responses. - -## Overview - -Pulse is a friendly AI assistant that helps users discover, start, and navigate through tutorials. It uses OpenAI's GPT-4o-mini with structured response generation to provide both conversational responses and actionable instructions. - -## Architecture - -### Core Components - -- **`index.ts`**: Main agent logic using `generateObject` for structured responses -- **`chat-helpers.ts`**: Conversation history management -- **`tutorial-helpers.ts`**: Tutorial content fetching and formatting -- **`tutorial.ts`**: Tutorial API integration - -### Response Structure - -The agent uses `generateObject` to return structured responses with two parts: - -```typescript -{ - message: string, // Conversational response for the user - actionable?: { // Optional action for the program to execute - type: 'start_tutorial' | 'next_step' | 'previous_step' | 'get_tutorials' | 'none', - tutorialId?: string, - step?: number - } -} -``` - -### How It Works - -1. **User Input**: Agent receives user message and conversation history -2. **LLM Processing**: OpenAI generates structured response with message and optional actionable object -3. **Action Execution**: Program intercepts actionable objects and executes them: - - `get_tutorials`: Fetches available tutorial list - - `start_tutorial`: Fetches real tutorial content from API - - `next_step`/`previous_step`: Navigate through tutorial steps (TODO) -4. **Response**: Returns conversational message plus any additional data (tutorial content, tutorial list, etc.) - -## Key Features - -- **Structured Responses**: Clean separation between conversation and actions -- **Real Tutorial Content**: No hallucinated content - all tutorial data comes from actual APIs -- **Context Awareness**: Maintains conversation history for natural references -- **Extensible Actions**: Easy to add new action types (next step, hints, etc.) -- **Debug Logging**: Comprehensive logging for troubleshooting - -## Example Interactions - -### Starting a Tutorial -**User**: "I want to learn the JavaScript SDK" - -**LLM Response**: -```json -{ - "message": "I'd be happy to help you start the JavaScript SDK tutorial!", - "actionable": { - "type": "start_tutorial", - "tutorialId": "javascript-sdk" - } -} -``` - -**Final Response**: -```json -{ - "response": "I'd be happy to help you start the JavaScript SDK tutorial!", - "tutorialData": { - "type": "tutorial_step", - "tutorialId": "javascript-sdk", - "tutorialTitle": "JavaScript SDK Tutorial", - "currentStep": 1, - "stepContent": "Welcome to the JavaScript SDK tutorial...", - "codeBlock": {...} - }, - "conversationHistory": [...] -} -``` - -### General Conversation -**User**: "What's the difference between TypeScript and JavaScript?" - -**LLM Response**: -```json -{ - "message": "TypeScript is a superset of JavaScript that adds static type checking...", - "actionable": { - "type": "none" - } -} -``` - -## Benefits - -- **Reliable**: No parsing or tool interception needed -- **Extensible**: Easy to add new action types -- **Clean**: Clear separation between conversation and actions -- **Debuggable**: Can see exactly what the LLM wants to do -- **No Hallucination**: Tutorial content comes from real APIs, not LLM generation diff --git a/agent-docs/src/agents/agent-pulse/context/builder.ts b/agent-docs/src/agents/agent-pulse/context/builder.ts deleted file mode 100644 index ca48a4f1..00000000 --- a/agent-docs/src/agents/agent-pulse/context/builder.ts +++ /dev/null @@ -1,54 +0,0 @@ -import type { AgentContext } from "@agentuity/sdk"; - -export async function buildSystemPrompt(tutorialContext: string, ctx: AgentContext): Promise { - try { - const systemPrompt = `=== ROLE === -You are Pulse, an AI assistant designed to help developers learn and navigate the Agentuity platform through interactive tutorials and clear guidance. Your primary goal is to assist users with understanding and using the Agentuity SDK effectively. When a user's query is vague, unclear, or lacks specific intent, subtly suggest relevant interactive tutorial to guide them toward learning the platform. For clear, specific questions related to the Agentuity SDK or other topics, provide direct, accurate, and concise answers without mentioning tutorials unless relevant. Always maintain a friendly and approachable tone to encourage engagement. - -Your role is to ensure user have a smooth tutorial experience! - -When user is asking to move to the next tutorial, simply increment the step for them. - -=== PERSONALITY === -- Friendly and encouraging with light humour -- Patient with learners at all levels -- Clear and concise in explanations -- Enthusiastic about teaching and problem-solving - -=== Available Tools or Functions === -You have access to various tools you can use -- use when appropriate! -1. Tutorial management - - startTutorialAtStep: Starting the user off at a specific step of a tutorial. -2. General assistance - - askDocsAgentTool: retrieve Agentuity documentation snippets - -=== TOOL-USAGE RULES (must follow) === -- startTutorialById must only be used when user select a tutorial. If the user starts a new tutorial, the step number should be set to one. Valid step is between 1 and totalSteps of the specific tutorial. -- Treat askDocsAgentTool as a search helper; ignore results you judge irrelevant. - -=== RESPONSE STYLE (format guidelines) === -- Begin with a short answer, then elaborate if necessary. -- Add brief comments to complex code; skip obvious lines. -- End with a question when further clarification could help the user. - -=== SAFETY & BOUNDARIES === -- If asked for private data or secrets, refuse. -- If the user requests actions outside your capabilities, apologise and explain. -- Keep every response < 400 words - -Generate a response to the user query accordingly and try to be helpful - -=== CONTEXT === -${tutorialContext} - -=== END OF PROMPT === - -Stream your reasoning steps clearly.`; - - ctx.logger.debug("Built system prompt with tutorial context"); - return systemPrompt; - } catch (error) { - ctx.logger.error("Failed to build system prompt: %s", error instanceof Error ? error.message : String(error)); - throw error; // Re-throw for centralized handling - } -} \ No newline at end of file diff --git a/agent-docs/src/agents/agent-pulse/index.ts b/agent-docs/src/agents/agent-pulse/index.ts deleted file mode 100644 index f687a4d2..00000000 --- a/agent-docs/src/agents/agent-pulse/index.ts +++ /dev/null @@ -1,143 +0,0 @@ -import type { AgentRequest, AgentResponse, AgentContext } from "@agentuity/sdk"; -import { streamText } from "ai"; -import { openai } from "@ai-sdk/openai"; -import { createTools } from "./tools"; -import { createAgentState } from "./state"; -import { getTutorialList, type Tutorial } from "./tutorial"; -import { parseAgentRequest } from "./request/parser"; -import { buildSystemPrompt } from "./context/builder"; -import { createStreamingProcessor } from "./streaming/processor"; -import type { ConversationMessage, TutorialState } from "./request/types"; - -/** - * Builds a context string containing available tutorials for the system prompt - */ -async function buildContext( - ctx: AgentContext, - tutorialState?: TutorialState -): Promise { - try { - const tutorials = await getTutorialList(ctx); - - // Handle API failure early - if (!tutorials.success || !tutorials.data) { - ctx.logger.warn("Failed to load tutorial list"); - return defaultFallbackContext(); - } - - const tutorialContent = JSON.stringify(tutorials.data, null, 2); - const currentTutorialInfo = buildCurrentTutorialInfo( - tutorials.data, - tutorialState - ); - - return `===AVAILABLE TUTORIALS==== - - ${tutorialContent} - - ${currentTutorialInfo} - - Note: You should not expose the details of the tutorial IDs to the user. -`; - } catch (error) { - ctx.logger.error("Error building tutorial context: %s", error); - return defaultFallbackContext(); - } -} - -/** - * Builds current tutorial information string if user is in a tutorial - */ -function buildCurrentTutorialInfo( - tutorials: Tutorial[], - tutorialState?: TutorialState -): string { - if (!tutorialState?.tutorialId) { - return ""; - } - - const currentTutorial = tutorials.find( - (t) => t.id === tutorialState.tutorialId - ); - if (!currentTutorial) { - return "\nWarning: User appears to be in an unknown tutorial."; - } - if (tutorialState.currentStep > currentTutorial.totalSteps) { - return `\nUser has completed the tutorial: ${currentTutorial.title} (${currentTutorial.totalSteps} steps)`; - } - return `\nUser is currently on this tutorial: ${currentTutorial.title} (Step ${tutorialState.currentStep} of ${currentTutorial.totalSteps})`; -} - -/** - * Returns fallback context when tutorial list can't be loaded - */ -function defaultFallbackContext(): string { - return `===AVAILABLE TUTORIALS==== -Unable to load tutorial list currently`; -} - -export default async function Agent( - req: AgentRequest, - resp: AgentResponse, - ctx: AgentContext -) { - try { - const parsedRequest = parseAgentRequest(await req.data.json(), ctx); - - // Create state manager - const state = createAgentState(); - - // Build messages for the conversation - const messages: ConversationMessage[] = [ - ...parsedRequest.conversationHistory, - { author: "USER", content: parsedRequest.message }, - ]; - - let tools: any; - let systemPrompt = ""; - // Direct LLM access won't require any tools or system prompt - if (!parsedRequest.useDirectLLM) { - // Create tools with state context - tools = await createTools({ - state, - agentContext: ctx, - }); - - // Build tutorial context and system prompt - const tutorialContext = await buildContext( - ctx, - parsedRequest.tutorialData - ); - systemPrompt = await buildSystemPrompt(tutorialContext, ctx); - } - - // Generate streaming response - const result = await streamText({ - model: openai("gpt-4o"), - messages: messages.map((msg) => ({ - role: msg.author === "USER" ? "user" : "assistant", - content: msg.content, - })), - tools, - maxSteps: 3, - system: systemPrompt, - }); - - // Create and return streaming response - const stream = createStreamingProcessor(result, state, ctx); - return resp.stream(stream, "text/event-stream"); - } catch (error) { - ctx.logger.error( - "Agent request failed: %s", - error instanceof Error ? error.message : String(error) - ); - return resp.json( - { - error: - "Sorry, I encountered an error while processing your request. Please try again.", - details: error instanceof Error ? error.message : String(error), - }, - { status: 500 } - ); - } -} diff --git a/agent-docs/src/agents/agent-pulse/request/parser.ts b/agent-docs/src/agents/agent-pulse/request/parser.ts deleted file mode 100644 index d54e2c0f..00000000 --- a/agent-docs/src/agents/agent-pulse/request/parser.ts +++ /dev/null @@ -1,46 +0,0 @@ -import type { AgentContext } from "@agentuity/sdk"; -import type { ParsedAgentRequest } from "./types"; - -export function parseAgentRequest( - jsonData: any, - ctx: AgentContext -): ParsedAgentRequest { - try { - let message = ""; - let conversationHistory: any[] = []; - let tutorialData: any ; - let useDirectLLM = false; - - if (jsonData && typeof jsonData === "object" && !Array.isArray(jsonData)) { - const body = jsonData as any; - message = body.message || ""; - useDirectLLM = body.use_direct_llm || false; - if (Array.isArray(body.conversationHistory)) { - conversationHistory = body.conversationHistory.map((msg: any) => { - return { - role: msg.role || (msg.author ? msg.author.toUpperCase() : "USER"), - content: msg.content || "", - }; - }); - } - - tutorialData = body.tutorialData || undefined; - } else { - message = String(jsonData || ""); - } - - return { - message, - conversationHistory, - tutorialData, - useDirectLLM, - }; - } catch (error) { - ctx.logger.error( - "Failed to parse agent request: %s", - error instanceof Error ? error.message : String(error) - ); - ctx.logger.debug("Raw request data: %s", JSON.stringify(jsonData)); - throw error; // Re-throw for centralized handling - } -} diff --git a/agent-docs/src/agents/agent-pulse/request/types.ts b/agent-docs/src/agents/agent-pulse/request/types.ts deleted file mode 100644 index 3f14e830..00000000 --- a/agent-docs/src/agents/agent-pulse/request/types.ts +++ /dev/null @@ -1,16 +0,0 @@ -export interface ConversationMessage { - author: "USER" | "ASSISTANT"; - content: string; -} - -export interface TutorialState { - tutorialId: string; - currentStep: number; -} - -export interface ParsedAgentRequest { - message: string; - conversationHistory: ConversationMessage[]; - tutorialData?: TutorialState; - useDirectLLM?: boolean; -} \ No newline at end of file diff --git a/agent-docs/src/agents/agent-pulse/state.ts b/agent-docs/src/agents/agent-pulse/state.ts deleted file mode 100644 index 2cc4bc83..00000000 --- a/agent-docs/src/agents/agent-pulse/state.ts +++ /dev/null @@ -1,46 +0,0 @@ -enum ActionType { - START_TUTORIAL_STEP = "start_tutorial_step" -} - -interface Action { - type: ActionType; - tutorialId: string; - currentStep: number; - totalSteps: number; -} - -interface AgentState { - action: Action | null; - - setAction(action: Action): void; - getAction(): Action | null; - clearAction(): void; - hasAction(): boolean; -} - -class SimpleAgentState implements AgentState { - public action: Action | null = null; - - setAction(action: Action): void { - this.action = action; - } - - getAction(): Action | null { - return this.action; - } - - clearAction(): void { - this.action = null; - } - - hasAction(): boolean { - return this.action !== null; - } -} - -export function createAgentState(): AgentState { - return new SimpleAgentState(); -} - -export type { Action, AgentState }; -export { ActionType }; \ No newline at end of file diff --git a/agent-docs/src/agents/agent-pulse/state/manager.ts b/agent-docs/src/agents/agent-pulse/state/manager.ts deleted file mode 100644 index 38dcca74..00000000 --- a/agent-docs/src/agents/agent-pulse/state/manager.ts +++ /dev/null @@ -1,59 +0,0 @@ -import type { AgentContext } from "@agentuity/sdk"; -import { ActionType, type AgentState } from "../state"; -import { getTutorialStep } from "../tutorial"; -import type { TutorialData } from "../streaming/types"; - -export async function handleTutorialState( - state: AgentState, - ctx: AgentContext -): Promise { - try { - if (!state.hasAction()) { - return null; - } - - const action = state.getAction(); - if (!action) { - ctx.logger.warn("No action found in state"); - return null; - } - - ctx.logger.info("Processing action: %s", JSON.stringify(action, null, 2)); - - switch (action.type) { - case ActionType.START_TUTORIAL_STEP: - if (action.tutorialId) { - const tutorialStep = await getTutorialStep(action.tutorialId, action.currentStep, ctx); - if (tutorialStep.success && tutorialStep.data) { - const tutorialData: TutorialData = { - tutorialId: action.tutorialId, - totalSteps: action.totalSteps, - currentStep: action.currentStep, - tutorialStep: { - title: tutorialStep.data.tutorialStep.title, - mdx: tutorialStep.data.tutorialStep.mdx, - snippets: tutorialStep.data.tutorialStep.snippets, - totalSteps: tutorialStep.data.tutorialStep.totalSteps - } - }; - state.clearAction(); - ctx.logger.info("Tutorial state processed successfully"); - return tutorialData; - } - // Handle API errors gracefully - ctx.logger.error("Failed to fetch tutorial step: %s", tutorialStep.error || 'Unknown error'); - if (tutorialStep.details) { - ctx.logger.error("Error details: %s", JSON.stringify(tutorialStep.details)); - } - } - break; - default: - ctx.logger.warn("Unknown action type: %s", action.type); - } - - return null; - } catch (error) { - ctx.logger.error("Failed to handle tutorial state: %s", error instanceof Error ? error.message : String(error)); - throw error; // Re-throw for centralized handling - } -} \ No newline at end of file diff --git a/agent-docs/src/agents/agent-pulse/streaming/processor.ts b/agent-docs/src/agents/agent-pulse/streaming/processor.ts deleted file mode 100644 index 2934f339..00000000 --- a/agent-docs/src/agents/agent-pulse/streaming/processor.ts +++ /dev/null @@ -1,115 +0,0 @@ -import type { AgentContext } from "@agentuity/sdk"; -import type { AgentState } from "../state"; -import type { StreamingChunk } from "./types"; -import { handleTutorialState } from "../state/manager"; - -export function createStreamingProcessor( - result: any, - state: AgentState, - ctx: AgentContext -): ReadableStream { - return new ReadableStream({ - async start(controller) { - const encoder = new TextEncoder(); - const accumulatedContent = ""; - - try { - // Stream only safe, user-facing content - for await (const chunk of result.fullStream) { - await processChunk( - chunk, - controller, - encoder, - ctx, - accumulatedContent - ); - } - - // Process tutorial state after streaming text - const finalTutorialData = await handleTutorialState(state, ctx); - - // Send tutorial data if available - if (finalTutorialData) { - sendChunk(controller, encoder, { - type: "tutorial-data", - tutorialData: finalTutorialData, - }); - } - - // Send finish signal - sendChunk(controller, encoder, { type: "finish" }); - - controller.close(); - } catch (error) { - ctx.logger.error( - "Error in streaming response: %s", - error instanceof Error ? error.message : String(error) - ); - sendChunk(controller, encoder, { - type: "error", - error: "Sorry, I encountered an error while processing your request.", - details: error instanceof Error ? error.message : String(error), - }); - controller.close(); - } - }, - }); -} - -async function processChunk( - chunk: any, - controller: ReadableStreamDefaultController, - encoder: TextEncoder, - ctx: AgentContext, - accumulatedContent: string -): Promise { - try { - if (chunk.type === "text-delta") { - accumulatedContent += chunk.textDelta; - sendChunk(controller, encoder, { - type: "text-delta", - textDelta: chunk.textDelta, - }); - } else if (chunk.type === "tool-call") { - const toolName = chunk.toolName || "tool"; - const userFriendlyMessage = getToolStatusMessage(toolName); - sendChunk(controller, encoder, { - type: "status", - message: userFriendlyMessage, - category: "tool", - }); - ctx.logger.debug("Tool called: %s", toolName); - } else if (chunk.type === "reasoning") { - ctx.logger.debug("REASONING: %s", chunk); - } else { - ctx.logger.debug("Skipping chunk type: %s", chunk.type); - ctx.logger.debug(chunk); - } - } catch (error) { - ctx.logger.error( - "Failed to process chunk: %s", - error instanceof Error ? error.message : String(error) - ); - ctx.logger.debug("Chunk data: %s", JSON.stringify(chunk)); - throw error; // Re-throw for centralized handling - } -} - -function sendChunk( - controller: ReadableStreamDefaultController, - encoder: TextEncoder, - chunk: StreamingChunk -): void { - controller.enqueue(encoder.encode(`data: ${JSON.stringify(chunk)}\n\n`)); -} - -function getToolStatusMessage(toolName: string): string { - switch (toolName) { - case "startTutorialById": - return "Starting tutorial..."; - case "queryOtherAgent": - return "Searching documentation..."; - default: - return "Processing your request..."; - } -} diff --git a/agent-docs/src/agents/agent-pulse/streaming/types.ts b/agent-docs/src/agents/agent-pulse/streaming/types.ts deleted file mode 100644 index 5fcaad52..00000000 --- a/agent-docs/src/agents/agent-pulse/streaming/types.ts +++ /dev/null @@ -1,48 +0,0 @@ -export interface TextDeltaChunk { - type: 'text-delta'; - textDelta: string; -} - -export interface StatusChunk { - type: 'status'; - message: string; - category?: 'tool' | 'search' | 'processing'; -} - -export interface TutorialSnippet { - path: string; - lang?: string; - from?: number; - to?: number; - title?: string; - content: string; -} - -export interface TutorialData { - tutorialId: string; - totalSteps: number; - currentStep: number; - tutorialStep: { - title: string; - mdx: string; - snippets: TutorialSnippet[]; - totalSteps: number; - }; -} - -export interface TutorialDataChunk { - type: 'tutorial-data'; - tutorialData: TutorialData; -} - -export interface ErrorChunk { - type: 'error'; - error: string; - details?: string; -} - -export interface FinishChunk { - type: 'finish'; -} - -export type StreamingChunk = TextDeltaChunk | StatusChunk | TutorialDataChunk | ErrorChunk | FinishChunk; \ No newline at end of file diff --git a/agent-docs/src/agents/agent-pulse/tools.ts b/agent-docs/src/agents/agent-pulse/tools.ts deleted file mode 100644 index c086d987..00000000 --- a/agent-docs/src/agents/agent-pulse/tools.ts +++ /dev/null @@ -1,87 +0,0 @@ -import { tool } from "ai"; -import { z } from "zod"; -import { ActionType } from "./state"; -import type { AgentState } from "./state"; -import type { AgentContext } from "@agentuity/sdk"; -import { getTutorialMeta } from "./tutorial"; - -/** - * Context passed to tools for state management and logging - */ -interface ToolContext { - state: AgentState; - agentContext: AgentContext; -} - -/** - * Factory function that creates tools with state management context - */ -export async function createTools(context: ToolContext) { - const { state, agentContext } = context; - const DOC_QA_AGENT_NAME = "doc-qa"; - const docQaAgent = await agentContext.getAgent({ name: DOC_QA_AGENT_NAME }); - /** - * Tool for starting a tutorial - adds action to state queue - */ - const startTutorialAtStep = tool({ - description: "Start a specific tutorial for the user. You must call this function in order for the user to see the tutorial step content. The tutorial content will be injected to the final response automatically -- you do not have to narrate the tutorial content. The step number should be between 1 and the total number of steps in the tutorial.", - parameters: z.object({ - tutorialId: z.string().describe("The exact ID of the tutorial to start"), - stepNumber: z.number().describe("The step number of the tutorial to start (1 to total available steps in the tutorial)") - }), - execute: async ({ tutorialId, stepNumber }) => { - // Validate tutorial exists before starting - const tutorialResponse = await getTutorialMeta(tutorialId, agentContext); - if (!tutorialResponse.success || !tutorialResponse.data) { - return 'Error fetching tutorial information'; - } - - const data = tutorialResponse.data - const totalSteps = tutorialResponse.data.totalSteps; - if (stepNumber > totalSteps) { - return `This tutorial only has ${totalSteps} steps. You either reached the end of the tutorial or selected an incorrect step number.`; - } - state.setAction({ - type: ActionType.START_TUTORIAL_STEP, - tutorialId: tutorialId, - currentStep: stepNumber, - totalSteps: tutorialResponse.data.totalSteps - }); - agentContext.logger.info("Added start_tutorial action to state for: %s at step %d", tutorialId, stepNumber); - return `Starting "${data.title}". Total steps: ${data.totalSteps} \n\n Description: ${data.description}`; - }, - }); - - /** - * Tool that talks to docs agent. - * This tool doesn't use state - it returns data directly - */ - const askDocsAgentTool = tool({ - description: "Query the Agentuity Development Documentation agent using RAG (Retrieval Augmented Generation) to get relevant documentation and answers about the Agentuity platform, APIs, and development concepts", - parameters: z.object({ - query: z.string().describe("The question or query to send to the query function"), - }), - execute: async ({ query }) => { - agentContext.logger.info("Querying agent %s with: %s", DOC_QA_AGENT_NAME, query); - const agentPayload = { - message: query, - - } - const response = await docQaAgent.run({ - data: agentPayload, - contentType: 'application/json' - }) - // TODO: handle the docs referencing and inject it to the frontend response - const responseData = await response.data.json(); - return responseData; - }, - }); - - // Return tools object - return { - startTutorialById: startTutorialAtStep, - queryOtherAgent: askDocsAgentTool, - }; -} - -export type { ToolContext }; \ No newline at end of file diff --git a/agent-docs/src/agents/agent-pulse/tutorial.ts b/agent-docs/src/agents/agent-pulse/tutorial.ts deleted file mode 100644 index 7f41472f..00000000 --- a/agent-docs/src/agents/agent-pulse/tutorial.ts +++ /dev/null @@ -1,164 +0,0 @@ -import type { AgentContext } from '@agentuity/sdk'; - -const TUTORIAL_API_BASE_URL = process.env.TUTORIAL_API_URL; - -export interface Tutorial { - id: string; - title: string; - description: string; - totalSteps: number; - difficulty?: string; - estimatedTime?: string; -} - -interface ApiResponse { - success: boolean; - data?: T; - error?: string; - details?: any; - status?: number; -} - -export interface TutorialSnippet { - path: string; - lang?: string; - from?: number; - to?: number; - title?: string; - content: string; -} - -interface TutorialStepResponseData { - tutorialId: string; - totalSteps: number; - currentStep: number; - tutorialStep: { - title: string; - mdx: string; - snippets: TutorialSnippet[]; - totalSteps: number; - estimatedTime?: string; - }; -} - -export async function getTutorialList(ctx: AgentContext): Promise> { - try { - const response = await fetch(`${TUTORIAL_API_BASE_URL}/api/tutorials`); - - if (!response.ok) { - const errorData = await response.json().catch(() => ({ error: response.statusText })) as { error?: string; details?: any }; - ctx.logger.error('Tutorial API error: %s', JSON.stringify(errorData)); - return { - success: false, - status: response.status, - error: errorData.error || response.statusText, - details: errorData.details - }; - } - - const tutorials = await response.json() as Tutorial[]; - ctx.logger.info('Fetched %d tutorials', tutorials.length); - - return { - success: true, - data: tutorials - }; - } catch (error) { - ctx.logger.error('Error fetching tutorial list: %s', error); - return { - success: false, - error: `Network error: ${error instanceof Error ? error.message : String(error)}` - }; - } -} - -export async function getTutorialMeta(tutorialId: string, ctx: AgentContext): Promise> { - try { - const response = await fetch(`${TUTORIAL_API_BASE_URL}/api/tutorials/${tutorialId}`); - - if (!response.ok) { - const errorData = await response.json().catch(() => ({ error: response.statusText })) as { error?: string; details?: any }; - ctx.logger.error('Failed to fetch tutorial %s: %s', tutorialId, JSON.stringify(errorData)); - return { - success: false, - status: response.status, - error: errorData.error || response.statusText, - details: errorData.details - }; - } - - const responseData = await response.json() as ApiResponse<{ - id: string; - metadata: { - title: string; - description: string; - totalSteps: number; - difficulty?: string; - estimatedTime?: string; - }; - fullContent: string; - steps: Array<{ stepNumber: number; title: string; estimatedTime?: string; }>; - }>; - - if (!responseData.success || !responseData.data) { - return { - success: false, - error: responseData.error || 'Invalid response format' - }; - } - - // Convert to Tutorial format for backward compatibility - const tutorial: Tutorial = { - id: responseData.data.id, - title: responseData.data.metadata.title, - description: responseData.data.metadata.description, - totalSteps: responseData.data.metadata.totalSteps, - difficulty: responseData.data.metadata.difficulty, - estimatedTime: responseData.data.metadata.estimatedTime - }; - - ctx.logger.info('Fetched tutorial metadata for %s', tutorialId); - return { success: true, data: tutorial }; - } catch (error) { - ctx.logger.error('Error fetching tutorial metadata for %s: %s', tutorialId, error); - return { - success: false, - error: `Network error: ${error instanceof Error ? error.message : String(error)}` - }; - } -} - -export async function getTutorialStep(tutorialId: string, stepNumber: number, ctx: AgentContext): Promise> { - try { - const response = await fetch(`${TUTORIAL_API_BASE_URL}/api/tutorials/${tutorialId}/steps/${stepNumber}`); - - if (!response.ok) { - const errorData = await response.json().catch(() => ({ error: response.statusText })) as { error?: string; details?: any }; - ctx.logger.error('Failed to fetch tutorial step %d for tutorial %s: %s', stepNumber, tutorialId, JSON.stringify(errorData)); - return { - success: false, - status: response.status, - error: errorData.error || response.statusText, - details: errorData.details - }; - } - - const responseData = await response.json() as ApiResponse; - - if (!responseData.success || !responseData.data) { - return { - success: false, - error: responseData.error || 'Invalid response format' - }; - } - - ctx.logger.info('Fetched step %d for tutorial %s', stepNumber, tutorialId); - return responseData; - } catch (error) { - ctx.logger.error('Error fetching tutorial step %d for tutorial %s: %s', stepNumber, tutorialId, error); - return { - success: false, - error: `Network error: ${error instanceof Error ? error.message : String(error)}` - }; - } -} \ No newline at end of file diff --git a/agent-docs/src/agents/doc-processing/index.ts b/agent-docs/src/agents/doc-processing/index.ts deleted file mode 100644 index a2435a1a..00000000 --- a/agent-docs/src/agents/doc-processing/index.ts +++ /dev/null @@ -1,116 +0,0 @@ -import type { AgentContext, AgentRequest, AgentResponse } from '@agentuity/sdk'; -import { syncDocsFromPayload } from './docs-orchestrator'; -import type { SyncPayload } from './types'; - -export const welcome = () => { - return { - welcome: - 'Documentation Sync Agent - Processes embedded MDX content from GitHub workflows', - prompts: [ - { - data: 'Sync documentation changes from GitHub', - contentType: 'text/plain', - }, - ], - }; -}; - -export default async function Agent( - req: AgentRequest, - resp: AgentResponse, - ctx: AgentContext -) { - try { - const payload = (await req.data.json()) as unknown as SyncPayload; - - // Validate that at least one operation is requested - if ( - (!payload.changed || payload.changed.length === 0) && - (!payload.removed || payload.removed.length === 0) - ) { - return resp.json( - { - error: - 'Invalid payload format. Must provide at least one of: changed files or removed files', - }, - 400 - ); - } - - // Validate changed files if present - if (payload.changed) { - if (!Array.isArray(payload.changed)) { - return resp.json( - { - error: 'Invalid payload format. Changed files must be an array', - }, - 400 - ); - } - - for (const file of payload.changed) { - if ( - !file.path || - !file.content || - typeof file.path !== 'string' || - typeof file.content !== 'string' - ) { - return resp.json( - { - error: - 'Invalid file format. Each changed file must have {path: string, content: string}', - }, - 400 - ); - } - } - } - - // Validate removed files if present - if (payload.removed) { - if (!Array.isArray(payload.removed)) { - return resp.json( - { - error: 'Invalid payload format. Removed files must be an array', - }, - 400 - ); - } - - for (const file of payload.removed) { - if (typeof file !== 'string') { - return resp.json( - { - error: - 'Invalid removed file format. Each removed file must be a string path', - }, - 400 - ); - } - } - } - - ctx.logger.info( - 'Processing payload: %d changed files, %d removed files', - payload.changed?.length || 0, - payload.removed?.length || 0 - ); - - const stats = await syncDocsFromPayload(ctx, { - commit: payload.commit, - repo: payload.repo, - changed: payload.changed || [], - removed: payload.removed || [], - }); - return resp.json({ status: 'ok', stats }); - } catch (error) { - ctx.logger.error('Error running sync agent:', error); - let message = 'Unknown error'; - if (error instanceof Error) { - message = error.message; - } else if (typeof error === 'string') { - message = error; - } - return resp.json({ error: message }, 500); - } -} diff --git a/agent-docs/src/agents/doc-processing/keyword-extraction.ts b/agent-docs/src/agents/doc-processing/keyword-extraction.ts deleted file mode 100644 index d0ab7e22..00000000 --- a/agent-docs/src/agents/doc-processing/keyword-extraction.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { openai } from '@ai-sdk/openai'; -import { generateText } from 'ai'; - -export interface KeywordExtractionResult { - keywords: string[]; - source: string; - chunkPreview?: string; -} - -export interface KeywordExtractionOptions { - model?: string; // e.g., 'gpt-4o', 'gpt-3.5-turbo' - maxKeywords?: number; - logger?: { - info: (msg: string, ...args: any[]) => void; - error: (msg: string, ...args: any[]) => void; - }; -} - -/** - * Extracts keywords from a documentation chunk using an LLM (Vercel AI SDK). - * Prompts the LLM to return a JSON array of keywords, with fallback for comma-separated output. - * @param chunkContent The text content of the documentation chunk. - * @param options Optional settings for model, maxKeywords, and logger. - * @returns Promise Structured result with keywords and metadata. - * @throws Error if the LLM fails to generate a valid JSON response. - */ -export async function extractKeywordsWithLLM( - chunkContent: string, - options: KeywordExtractionOptions = {} -): Promise { - const { - model = 'gpt-4o', - maxKeywords = 10, - logger = { info: () => {}, error: () => {} }, - } = options; - - const prompt = `You are an expert technical documentation assistant. - -Given the following documentation chunk, extract 5 to 10 important keywords or key phrases that would help a developer search for or understand this content. Focus on technical terms, API names, function names, CLI commands, configuration options, and unique concepts. Avoid generic words. - -Return the keywords as a JSON array in the following format: -{ - "keywords": ["keyword1", "keyword2", ...] -} - -Documentation chunk: -""" -${chunkContent} -""" -`; - - logger.info( - 'Extracting keywords for chunk (length: %d)...', - chunkContent.length - ); - const result = await generateText({ - model: openai(model), - prompt, - maxTokens: 150, - temperature: 0.2, - }); - const raw = result.text || ''; - let keywords: string[] = []; - const parsed = JSON.parse(raw); - if (Array.isArray(parsed.keywords)) { - keywords = parsed.keywords - .map((k: string) => k.trim()) - .filter((k: string) => Boolean(k)) - .filter((k: string, i: number, arr: string[]) => arr.indexOf(k) === i) - .slice(0, maxKeywords); - } - logger.info('Extracted keywords: %o', keywords); - return { - keywords, - source: 'llm', - chunkPreview: chunkContent.slice(0, 100), - }; -} diff --git a/agent-docs/src/agents/doc-qa/index.ts b/agent-docs/src/agents/doc-qa/index.ts deleted file mode 100644 index 0d26e092..00000000 --- a/agent-docs/src/agents/doc-qa/index.ts +++ /dev/null @@ -1,33 +0,0 @@ -import type { AgentContext, AgentRequest, AgentResponse } from '@agentuity/sdk'; -import answerQuestion from './rag'; - -export default async function Agent( - req: AgentRequest, - resp: AgentResponse, - ctx: AgentContext -) { - let jsonRequest: any = null; - let prompt: string; - - try { - jsonRequest = await req.data.json(); - if ( - typeof jsonRequest === 'object' && - jsonRequest !== null && - 'message' in jsonRequest - ) { - prompt = String(jsonRequest.message || ''); - } else { - prompt = JSON.stringify(jsonRequest); - } - } catch { - prompt = await req.data.text(); - } - - if (!prompt.trim()) { - return resp.text('How can I help you?'); - } - - const answer = await answerQuestion(ctx, prompt); - return resp.json(answer); -} diff --git a/agent-docs/src/agents/doc-qa/types.ts b/agent-docs/src/agents/doc-qa/types.ts deleted file mode 100644 index 8e37facf..00000000 --- a/agent-docs/src/agents/doc-qa/types.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { z } from 'zod'; - -export const RelevantDocSchema = z.object({ - path: z.string(), - content: z.string(), - relevanceScore: z.number().optional(), - chunkRange: z.string().optional(), - chunkIndex: z.number().optional(), -}); - -export const AnswerSchema = z.object({ - answer: z.string(), - documents: z.array(z.string()), -}); - -export const PromptTypeSchema = z.enum(['Normal', 'Thinking']); - -export const PromptClassificationSchema = z.object({ - type: PromptTypeSchema, - confidence: z.number().min(0).max(1), - reasoning: z.string(), -}); - -// Generated TypeScript types -export type RelevantDoc = z.infer; -export type Answer = z.infer; -export type PromptType = z.infer; -export type PromptClassification = z.infer; diff --git a/app/api/rag-search/route.ts b/app/api/rag-search/route.ts index 1e8c40ed..32cb7eed 100644 --- a/app/api/rag-search/route.ts +++ b/app/api/rag-search/route.ts @@ -1,5 +1,5 @@ import type { NextRequest } from 'next/server'; -import { getAgentQaConfig } from '@/lib/env'; +import { queryAgentQa } from '@/lib/api/services'; import { source } from '@/lib/source'; function documentPathToUrl(docPath: string): string { @@ -93,31 +93,7 @@ export async function GET(request: NextRequest) { } try { - const agentConfig = getAgentQaConfig(); - - // Prepare headers - const headers: Record = { - 'Content-Type': 'application/json', - }; - - // Add bearer token if provided - if (agentConfig.bearerToken) { - headers['Authorization'] = `Bearer ${agentConfig.bearerToken}`; - } - - const response = await fetch(agentConfig.url, { - method: 'POST', - headers, - body: JSON.stringify({ message: query }), - }); - - if (!response.ok) { - throw new Error( - `Agent API error: ${response.status} ${response.statusText}` - ); - } - - const data = await response.json(); + const data = await queryAgentQa(query); const results = []; if (data?.answer?.trim()) { diff --git a/app/api/sessions/[sessionId]/messages/route.ts b/app/api/sessions/[sessionId]/messages/route.ts deleted file mode 100644 index 3975585a..00000000 --- a/app/api/sessions/[sessionId]/messages/route.ts +++ /dev/null @@ -1,374 +0,0 @@ -import { type NextRequest, NextResponse } from "next/server"; -import { getKVValue, setKVValue } from "@/lib/kv-store"; -import type { - Session, - Message, - StreamingChunk, - TutorialData, -} from "@/app/chat/types"; -import { toISOString, getCurrentTimestamp } from "@/app/chat/utils/dateUtils"; -import { getAgentPulseConfig } from "@/lib/env"; -import { config } from "@/lib/config"; -import { parseAndValidateJSON, SessionMessageRequestSchema } from "@/lib/validation/middleware"; - -// Constants -const DEFAULT_CONVERSATION_HISTORY_LIMIT = 10; -const AGENT_REQUEST_TIMEOUT = 30000; // 30 seconds - - -function sanitizeTitle(input: string): string { - if (!input) return ''; - let s = input.trim(); - // Strip wrapping quotes/backticks - if ((s.startsWith('"') && s.endsWith('"')) || (s.startsWith('\'') && s.endsWith('\'')) || (s.startsWith('`') && s.endsWith('`'))) { - s = s.slice(1, -1).trim(); - } - // Remove markdown emphasis - s = s.replace(/\*\*([^*]+)\*\*|\*([^*]+)\*|__([^_]+)__|_([^_]+)_/g, (_m, a, b, c, d) => a || b || c || d || ''); - // Remove emojis (basic unicode emoji ranges) - s = s.replace(/[\u{1F300}-\u{1FAFF}\u{1F900}-\u{1F9FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/gu, ''); - // Collapse whitespace - s = s.replace(/\s+/g, ' ').trim(); - // Sentence case - s = sentenceCase(s); - // Trim trailing punctuation noise - s = s.replace(/[\s\-–—:;,.]+$/g, '').trim(); - // Enforce 60 chars - if (s.length > 60) s = s.slice(0, 60).trim(); - return s; -} - -function sentenceCase(str: string): string { - if (!str) return ''; - const lower = str.toLowerCase(); - return lower.charAt(0).toUpperCase() + lower.slice(1); -} - -/** - * POST /api/sessions/[sessionId]/messages - Add a message to a session and process with streaming - * - * This endpoint now handles: - * 1. Adding a user message to a session - * 2. Processing the message with the agent - * 3. Streaming the response back to the client - * 4. Saving the assistant's response when complete - */ -export async function POST( - request: NextRequest, - { params }: { params: Promise<{ sessionId: string }> } -) { - try { - const userId = request.cookies.get("chat_user_id")?.value; - if (!userId) { - return NextResponse.json({ error: "User ID not found" }, { status: 401 }); - } - - const paramsData = await params; - const sessionId = paramsData.sessionId; - - const validation = await parseAndValidateJSON(request, SessionMessageRequestSchema); - - if (!validation.success) { - return validation.response; - } - - const { message, processWithAgent } = validation.data; - - // Ensure timestamp is in ISO string format - if (message.timestamp) { - message.timestamp = toISOString(message.timestamp); - } - const sessionKey = `${userId}_${sessionId}`; - const sessionResponse = await getKVValue(sessionKey, { - storeName: config.defaultStoreName, - }); - - // Helper: background title generation and persistence - async function generateAndPersistTitle(sessionId: string, sessionKey: string, finalSession: Session) { - try { - if ((finalSession as any).title) { - return; // Title already set - } - // Build compact conversation history (last 10 messages, truncate content) - const HISTORY_LIMIT = 10; - const MAX_CONTENT_LEN = 400; - const history = finalSession.messages - .slice(-HISTORY_LIMIT) - .map(m => ({ - author: m.author, - content: (m.content || '').slice(0, MAX_CONTENT_LEN), - })); - - const prompt = 'Generate a very short session title summarizing the conversation topic.\n\nRequirements:\n- sentence case\n- no emojis\n- <= 60 characters\n- no quotes or markdown\n- output the title only, no extra text'; - - const agentConfig = getAgentPulseConfig(); - const headers: Record = { 'Content-Type': 'application/json' }; - if (agentConfig.bearerToken) headers['Authorization'] = `Bearer ${agentConfig.bearerToken}`; - - const controller = new AbortController(); - const timeoutId = setTimeout(() => controller.abort(), 3000); - let agentResponse: Response | null = null; - try { - agentResponse = await fetch(agentConfig.url, { - method: 'POST', - headers, - body: JSON.stringify({ - message: prompt, - conversationHistory: history, - use_direct_llm: true, - }), - signal: controller.signal, - }); - } finally { - clearTimeout(timeoutId); - } - - if (!agentResponse || !agentResponse.ok) { - console.error(`[title-gen] failed: bad response ${agentResponse ? agentResponse.status : 'no-response'}`); - return; - } - - const reader = agentResponse.body?.getReader(); - if (!reader) { - console.error('[title-gen] failed: no response body'); - return; - } - - let accumulated = ''; - const textDecoder = new TextDecoder(); - while (true) { - const { done, value } = await reader.read(); - if (done) break; - if (value) { - const text = textDecoder.decode(value); - for (const line of text.split('\n')) { - if (line.startsWith('data: ')) { - try { - const ev = JSON.parse(line.slice(6)); - if (ev.type === 'text-delta' && ev.textDelta) accumulated += ev.textDelta; - if (ev.type === 'finish') { - try { await reader.cancel(); } catch { } - break; - } - } catch { } - } - } - } - } - - const candidate = sanitizeTitle(accumulated); - const title = candidate || 'New chat'; - - // Re-fetch and set title only if still empty - const latest = await getKVValue(sessionKey, { storeName: config.defaultStoreName }); - if (!latest.success || !latest.data) return; - const current = latest.data as any; - if (current.title) return; - current.title = title; - await setKVValue(sessionKey, current, { storeName: config.defaultStoreName }); - - } catch (err) { - const msg = err instanceof Error ? err.message : String(err); - if (msg.includes('The operation was aborted') || msg.includes('aborted')) { - console.error('[title-gen] timeout after 3000ms'); - } else { - console.error(`[title-gen] failed: ${msg}`); - } - } - } - if (!sessionResponse.success || !sessionResponse.data) { - return NextResponse.json({ error: "Session not found" }, { status: 404 }); - } - - const session = sessionResponse.data; - - const updatedSession: Session = { - ...session, - messages: [...session.messages, message], - }; - - try { - await setKVValue(sessionKey, updatedSession, { - storeName: config.defaultStoreName, - }); - } catch (error) { - console.error( - `Failed to save session after adding message. SessionId: ${sessionId}, Error details:`, - error instanceof Error ? error.message : String(error), - error instanceof Error && error.stack ? `Stack: ${error.stack}` : '' - ); - return NextResponse.json( - { - error: "Failed to save message to session", - details: "Unable to persist the message. Please try again." - }, - { status: 500 } - ); - } - - if (!processWithAgent || message.author !== "USER") { - return NextResponse.json( - { success: true, session: updatedSession }, - { status: 200 } - ); - } - - // Create assistant message placeholder for tracking - const assistantMessageId = crypto.randomUUID(); - - // Process with agent and stream response - const agentConfig = getAgentPulseConfig(); - const agentUrl = agentConfig.url; - - // Get current tutorial state for the user - const { TutorialStateManager } = await import('@/lib/tutorial/state-manager'); - const currentTutorialState = await TutorialStateManager.getCurrentTutorialState(userId); - - const agentPayload = { - message: message.content, - conversationHistory: updatedSession.messages.slice( - -DEFAULT_CONVERSATION_HISTORY_LIMIT - ), - tutorialData: currentTutorialState, - }; - - // Prepare headers with optional bearer token - const headers: Record = { - "Content-Type": "application/json", - }; - if (agentConfig.bearerToken) { - headers["Authorization"] = `Bearer ${agentConfig.bearerToken}`; - } - - // Real agent call (SSE response expected) - const agentResponse = await fetch(agentUrl, { - method: 'POST', - headers, - body: JSON.stringify(agentPayload), - signal: AbortSignal.timeout(AGENT_REQUEST_TIMEOUT), - }); - - if (!agentResponse.ok) { - throw new Error(`Agent responded with status: ${agentResponse.status}`); - } - - // Process streaming response - let accumulatedContent = ""; - let finalTutorialData: TutorialData | undefined ; - - const transformStream = new TransformStream({ - async transform(chunk, controller) { - // Forward the chunk to the client - controller.enqueue(chunk); - - // Process the chunk to accumulate the full response - const text = new TextDecoder().decode(chunk); - const lines = text.split("\n"); - - for (const line of lines) { - if (line.startsWith("data: ")) { - try { - const data = JSON.parse(line.slice(6)) as StreamingChunk; - - if (data.type === "text-delta" && data.textDelta) { - accumulatedContent += data.textDelta; - } else if (data.type === "tutorial-data" && data.tutorialData) { - finalTutorialData = data.tutorialData; - - // Update user's tutorial progress - await TutorialStateManager.updateTutorialProgress( - userId, - finalTutorialData.tutorialId, - finalTutorialData.currentStep, - finalTutorialData.totalSteps - ); - } else if (data.type === "finish") { - // When the stream is finished, save the assistant message - const assistantMessage: Message = { - id: assistantMessageId, - author: "ASSISTANT", - content: accumulatedContent, - timestamp: getCurrentTimestamp(), - tutorialData: finalTutorialData, - }; - - const finalSession = { - ...updatedSession, - messages: [...updatedSession.messages, assistantMessage], - }; - - await setKVValue(sessionKey, finalSession, { - storeName: config.defaultStoreName, - }); - - // Trigger background title generation if missing - // Do not await to avoid delaying the client stream completion - void generateAndPersistTitle(sessionId, sessionKey, finalSession); - - // Send the final session in the finish event - controller.enqueue( - new TextEncoder().encode( - `data: ${JSON.stringify({ - type: "finish", - session: finalSession, - })}\n\n` - ) - ); - } - } catch (error) { - console.error("Error processing stream chunk:", error); - } - } - } - }, - }); - - // Pipe the agent response through our transform stream - const reader = agentResponse.body?.getReader(); - if (!reader) { - throw new Error("No response body from agent"); - } - const writer = transformStream.writable.getWriter(); - (async () => { - try { - while (true) { - const { done, value } = await reader.read(); - if (done) { - break; - } - try { - await writer.write(value); - } catch (writeError) { - console.error('Error writing to transform stream:', writeError); - throw writeError; - } - } - await writer.close(); - } catch (error) { - console.error('Error in stream processing:', error); - writer.abort(error); - } - })(); - - return new NextResponse(transformStream.readable, { - headers: { - "Content-Type": "text/event-stream", - "Cache-Control": "no-cache", - Connection: "keep-alive", - }, - }); - } catch (error) { - console.error("Error in messages API:", error); - // Log the full error stack trace for debugging - if (error instanceof Error) { - console.error("Error stack:", error.stack); - } - return new Response( - JSON.stringify({ - error: "Internal server error", - details: error instanceof Error ? error.message : String(error), - }), - { status: 500, headers: { "Content-Type": "application/json" } } - ); - } -} diff --git a/app/api/sessions/[sessionId]/route.ts b/app/api/sessions/[sessionId]/route.ts deleted file mode 100644 index e78f9501..00000000 --- a/app/api/sessions/[sessionId]/route.ts +++ /dev/null @@ -1,266 +0,0 @@ -import { type NextRequest, NextResponse } from 'next/server'; -import { getKVValue, setKVValue, deleteKVValue } from '@/lib/kv-store'; -import { type Session, type Message, SessionSchema } from '@/app/chat/types'; -import { toISOString } from '@/app/chat/utils/dateUtils'; -import { config } from '@/lib/config'; -import { parseAndValidateJSON, SessionMessageOnlyRequestSchema } from '@/lib/validation/middleware'; - -/** - * GET /api/sessions/[sessionId] - Get a specific session - */ -export async function GET( - request: NextRequest, - { params }: { params: Promise<{ sessionId: string }> } -) { - try { - const userId = request.cookies.get('chat_user_id')?.value; - if (!userId) { - return NextResponse.json({ error: 'User ID not found' }, { status: 401 }); - } - - const paramsData = await params; - const sessionId = paramsData.sessionId; - const sessionKey = `${userId}_${sessionId}`; - const response = await getKVValue(sessionKey, { storeName: config.defaultStoreName }); - - if (!response.success) { - return NextResponse.json( - { error: response.error || 'Session not found' }, - { status: response.statusCode || 404 } - ); - } - - return NextResponse.json({ session: response.data }); - } catch (error) { - return NextResponse.json( - { error: error instanceof Error ? error.message : 'Unknown error occurred' }, - { status: 500 } - ); - } -} - -/** - * PUT /api/sessions/[sessionId] - Update a session - */ -export async function PUT( - request: NextRequest, - { params }: { params: Promise<{ sessionId: string }> } -) { - try { - const userId = request.cookies.get('chat_user_id')?.value; - if (!userId) { - return NextResponse.json({ error: 'User ID not found' }, { status: 401 }); - } - - const paramsData = await params; - const sessionId = paramsData.sessionId; - const sessionKey = `${userId}_${sessionId}`; - - const validation = await parseAndValidateJSON(request, SessionSchema); - if (!validation.success) { - return validation.response; - } - - const session = validation.data; - - if (session.sessionId !== sessionId) { - return NextResponse.json( - { error: 'Session ID mismatch' }, - { status: 400 } - ); - } - - // Process any messages to ensure timestamps are in ISO string format - if (session.messages && session.messages.length > 0) { - session.messages = session.messages.map((message: Message) => { - if (message.timestamp) { - return { - ...message, - timestamp: toISOString(message.timestamp) - }; - } - return message; - }); - } - - // Update the individual session - const response = await setKVValue( - sessionKey, - session, - { storeName: config.defaultStoreName } - ); - - if (!response.success) { - return NextResponse.json( - { error: response.error || 'Failed to update session' }, - { status: response.statusCode || 500 } - ); - } - - // Update the master list if needed (ensure the session ID is in the list) - const allSessionsResponse = await getKVValue(userId, { storeName: config.defaultStoreName }); - const sessionIds = allSessionsResponse.success ? allSessionsResponse.data || [] : []; - - // If the session ID isn't in the list, add it to the beginning - if (!sessionIds.includes(sessionKey)) { - const updatedSessionIds = [sessionKey, ...sessionIds]; - - const sessionsListResponse = await setKVValue( - userId, - updatedSessionIds, - { storeName: config.defaultStoreName } - ); - - if (!sessionsListResponse.success) { - // Log the error but don't fail the request - console.error('Failed to update sessions list:', sessionsListResponse.error); - } - } - - return NextResponse.json({ success: true, session }); - } catch (error) { - return NextResponse.json( - { error: error instanceof Error ? error.message : 'Unknown error occurred' }, - { status: 500 } - ); - } -} - -/** - * DELETE /api/sessions/[sessionId] - Delete a session - */ -export async function DELETE( - request: NextRequest, - { params }: { params: Promise<{ sessionId: string }> } -) { - try { - const userId = request.cookies.get('chat_user_id')?.value; - if (!userId) { - return NextResponse.json({ error: 'User ID not found' }, { status: 401 }); - } - - const paramsData = await params; - const sessionId = paramsData.sessionId; - const sessionKey = `${userId}_${sessionId}`; - // Delete the session data - const sessionResponse = await deleteKVValue( - sessionKey, - { storeName: config.defaultStoreName } - ); - - if (!sessionResponse.success) { - return NextResponse.json( - { error: sessionResponse.error || 'Failed to delete session' }, - { status: sessionResponse.statusCode || 500 } - ); - } - - // Remove from sessions list - const allSessionsResponse = await getKVValue(userId, { storeName: config.defaultStoreName }); - const sessionIds = allSessionsResponse.success ? allSessionsResponse.data || [] : []; - - const updatedSessionIds = sessionIds.filter(id => id !== sessionKey); - - const sessionsListResponse = await setKVValue( - userId, - updatedSessionIds, - { storeName: config.defaultStoreName } - ); - - if (!sessionsListResponse.success) { - return NextResponse.json( - { error: sessionsListResponse.error || 'Failed to update sessions list' }, - { status: sessionsListResponse.statusCode || 500 } - ); - } - - return NextResponse.json({ success: true }); - } catch (error) { - return NextResponse.json( - { error: error instanceof Error ? error.message : 'Unknown error occurred' }, - { status: 500 } - ); - } -} - -/** - * POST /api/sessions/[sessionId]/messages - Add a message to a session - */ -export async function POST( - request: NextRequest, - { params }: { params: Promise<{ sessionId: string }> } -) { - try { - const userId = request.cookies.get('chat_user_id')?.value; - if (!userId) { - return NextResponse.json({ error: 'User ID not found' }, { status: 401 }); - } - - const paramsData = await params; - const sessionId = paramsData.sessionId; - const sessionKey = `${userId}_${sessionId}`; - - const validation = await parseAndValidateJSON(request, SessionMessageOnlyRequestSchema); - - if (!validation.success) { - return validation.response; - } - - const { message } = validation.data; - - // Get current session - const sessionResponse = await getKVValue(sessionKey, { storeName: config.defaultStoreName }); - if (!sessionResponse.success || !sessionResponse.data) { - return NextResponse.json( - { error: 'Session not found' }, - { status: 404 } - ); - } - - const session = sessionResponse.data; - const updatedSession: Session = { - ...session, - messages: [...session.messages, message] - }; - - // Update the individual session - const updateResponse = await setKVValue( - sessionKey, - updatedSession, - { storeName: config.defaultStoreName } - ); - - if (!updateResponse.success) { - return NextResponse.json( - { error: updateResponse.error || 'Failed to update session' }, - { status: updateResponse.statusCode || 500 } - ); - } - - // Move this session ID to the top of the master list (most recently used) - const allSessionsResponse = await getKVValue(userId, { storeName: config.defaultStoreName }); - const sessionIds = allSessionsResponse.success ? allSessionsResponse.data || [] : []; - - // Remove the current session ID if it exists and add it to the beginning - const filteredSessionIds = sessionIds.filter(id => id !== sessionKey); - const updatedSessionIds = [sessionKey, ...filteredSessionIds]; - - const sessionsListResponse = await setKVValue( - userId, - updatedSessionIds, - { storeName: config.defaultStoreName } - ); - - if (!sessionsListResponse.success) { - // Log the error but don't fail the request since we already updated the individual session - console.error('Failed to update sessions list:', sessionsListResponse.error); - } - - return NextResponse.json({ success: true, session: updatedSession }); - } catch (error) { - return NextResponse.json( - { error: error instanceof Error ? error.message : 'Unknown error occurred' }, - { status: 500 } - ); - } -} diff --git a/app/api/sessions/route.ts b/app/api/sessions/route.ts deleted file mode 100644 index 0cdb1138..00000000 --- a/app/api/sessions/route.ts +++ /dev/null @@ -1,149 +0,0 @@ -import { type NextRequest, NextResponse } from 'next/server'; -import { getKVValue, setKVValue } from '@/lib/kv-store'; -import { type Session, type Message, SessionSchema } from '@/app/chat/types'; -import { toISOString } from '@/app/chat/utils/dateUtils'; -import { config } from '@/lib/config'; -import { parseAndValidateJSON } from '@/lib/validation/middleware'; - -// Constants -const DEFAULT_SESSIONS_LIMIT = 10; -const MAX_SESSIONS_LIMIT = 50; - -/** - * GET /api/sessions - Get all sessions (paginated) - */ -export async function GET(request: NextRequest) { - try { - const userId = request.cookies.get('chat_user_id')?.value; - if (!userId) { - return NextResponse.json({ error: 'User ID not found' }, { status: 401 }); - } - - const searchParams = request.nextUrl.searchParams; - const parsedLimit = Number.parseInt(searchParams.get('limit') ?? String(DEFAULT_SESSIONS_LIMIT)); - const parsedCursor = Number.parseInt(searchParams.get('cursor') ?? '0'); - - const limit = Number.isFinite(parsedLimit) ? Math.min(Math.max(parsedLimit, 1), MAX_SESSIONS_LIMIT) : DEFAULT_SESSIONS_LIMIT; - const cursor = Number.isFinite(parsedCursor) ? Math.max(parsedCursor, 0) : 0; - - const response = await getKVValue(userId, { storeName: config.defaultStoreName }); - if (!response.success) { - if (response.statusCode === 404) { - return NextResponse.json({ sessions: [], pagination: { cursor, nextCursor: null, hasMore: false, total: 0, limit } }); - } - return NextResponse.json( - { error: response.error || 'Failed to retrieve sessions' }, - { status: response.statusCode || 500 } - ); - } - - if (!response.data?.length) { - return NextResponse.json({ sessions: [], pagination: { cursor, nextCursor: null, hasMore: false, total: 0, limit } }); - } - - const sessionIds = response.data; - const total = sessionIds.length; - - const start = Math.min(cursor, total); - const end = Math.min(start + limit, total); - const pageIds = sessionIds.slice(start, end); - - const sessionPromises = pageIds.map(sessionId => getKVValue(sessionId, { storeName: config.defaultStoreName })); - const sessionResults = await Promise.all(sessionPromises); - const sessions = sessionResults - .filter(result => result.success && result.data) - .map(result => result.data as Session); - - const hasMore = end < total; - const nextCursor = hasMore ? end : null; - - return NextResponse.json({ - sessions, - pagination: { cursor: start, nextCursor, hasMore, total, limit } - }); - } catch (error) { - return NextResponse.json( - { error: error instanceof Error ? error.message : 'Unknown error occurred' }, - { status: 500 } - ); - } -} - -/** - * POST /api/sessions - Create a new session - */ -export async function POST(request: NextRequest) { - try { - const userId = request.cookies.get('chat_user_id')?.value; - if (!userId) { - return NextResponse.json({ error: 'User ID not found' }, { status: 401 }); - } - - const validation = await parseAndValidateJSON(request, SessionSchema); - if (!validation.success) { - return validation.response; - } - - const session = validation.data; - - // Process any messages to ensure timestamps are in ISO string format - if (session.messages && session.messages.length > 0) { - session.messages = session.messages.map((message: Message) => { - if (message.timestamp) { - return { - ...message, - timestamp: toISOString(message.timestamp) - }; - } - return message; - }); - } - - const sessionKey = `${userId}_${session.sessionId}`; - - // Save the session data - const sessionResponse = await setKVValue( - sessionKey, - session, - { storeName: config.defaultStoreName } - ); - - if (!sessionResponse.success) { - return NextResponse.json( - { error: sessionResponse.error || 'Failed to create session' }, - { status: sessionResponse.statusCode || 500 } - ); - } - - // Update the sessions list with just the session ID - const allSessionsResponse = await getKVValue(userId, { storeName: config.defaultStoreName }); - const sessionIds = allSessionsResponse.success ? allSessionsResponse.data || [] : []; - - // Add the new session ID to the beginning of the array - const updatedSessionIds = [sessionKey, ...sessionIds.filter(id => id !== sessionKey)]; - - const sessionsListResponse = await setKVValue( - userId, - updatedSessionIds, - { storeName: config.defaultStoreName } - ); - - if (!sessionsListResponse.success) { - return NextResponse.json( - { error: sessionsListResponse.error || 'Failed to update sessions list' }, - { status: sessionsListResponse.statusCode || 500 } - ); - } - - return NextResponse.json({ - success: true, - session, - ...(session.title ? {} : { titleGeneration: 'pending' }) - }); - } catch (error) { - return NextResponse.json( - { error: error instanceof Error ? error.message : 'Unknown error occurred' }, - { status: 500 } - ); - } -} diff --git a/app/api/users/tutorial-state/route.ts b/app/api/users/tutorial-state/route.ts index 9aabfbe2..329e8db1 100644 --- a/app/api/users/tutorial-state/route.ts +++ b/app/api/users/tutorial-state/route.ts @@ -94,14 +94,14 @@ export async function DELETE(request: NextRequest) { delete state.tutorials[tutorialId]; // Save the updated state - const kvResponse = await setKVValue(`tutorial_state_${userId}`, state, { - storeName: config.defaultStoreName + const success = await setKVValue(`tutorial_state_${userId}`, state, { + storeName: config.kvStoreName }); - if (!kvResponse.success) { + if (!success) { return NextResponse.json( - { error: kvResponse.error || 'Failed to reset tutorial state' }, - { status: kvResponse.statusCode || 500 } + { error: 'Failed to reset tutorial state' }, + { status: 500 } ); } diff --git a/app/chat/layout.tsx b/app/chat/layout.tsx index 6b35ddae..f51194da 100644 --- a/app/chat/layout.tsx +++ b/app/chat/layout.tsx @@ -1,10 +1,11 @@ - 'use client'; +'use client'; import { usePathname, useRouter } from "next/navigation"; -import type { Session } from "./types"; +import { AgentuityProvider } from '@agentuity/react'; +import { Session } from "./types"; import { sessionService } from "./services/sessionService"; import { SessionSidebar } from "./components/SessionSidebar"; - import { SessionSidebarSkeleton } from './components/SessionSidebarSkeleton'; +import { SessionSidebarSkeleton } from './components/SessionSidebarSkeleton'; import { SessionContext } from './SessionContext'; import useSWRInfinite from 'swr/infinite'; @@ -65,49 +66,51 @@ import useSWRInfinite from 'swr/infinite'; const loadMore = () => setSize(size + 1); return ( -
- {/* Sidebar: show skeleton while loading, real sidebar when ready */} - {isLoading ? ( - - ) : ( - - )} - {/* Main Content */} - { - const newData = typeof updater === 'function' ? (updater as any)(sessions) : updater; - mutate(newData, options); - }, - currentSessionId: sessionId, - revalidateSessions: () => swrMutate(undefined, { revalidate: true }) - }}> -
- {/* Non-blocking error banner */} - {error && ( -
-
- Failed to load sessions - + +
+ {/* Sidebar: show skeleton while loading, real sidebar when ready */} + {isLoading ? ( + + ) : ( + + )} + {/* Main Content */} + { + const newData = typeof updater === 'function' ? (updater as any)(sessions) : updater; + mutate(newData, options); + }, + currentSessionId: sessionId, + revalidateSessions: () => swrMutate(undefined, { revalidate: true }) + }}> +
+ {/* Non-blocking error banner */} + {error && ( +
+
+ Failed to load sessions + +
-
- )} - {children} -
- -
+ )} + {children} +
+ +
+ ); } diff --git a/app/chat/services/sessionService.ts b/app/chat/services/sessionService.ts index c458ffa4..2fc0534e 100644 --- a/app/chat/services/sessionService.ts +++ b/app/chat/services/sessionService.ts @@ -17,6 +17,10 @@ export interface SessionsPage { }; } +export interface ConversationMessage { + author: 'USER' | 'ASSISTANT'; + content: string; +} export class SessionService { /** @@ -25,7 +29,9 @@ export class SessionService { async getSessionsPage(params: { cursor?: number; limit?: number } = {}): Promise> { const { cursor = 0, limit = 10 } = params; try { - const response = await fetch(`/api/sessions?cursor=${cursor}&limit=${limit}`); + const response = await fetch(`/api/sessions?cursor=${cursor}&limit=${limit}`, { + credentials: 'include' + }); const data = await response.json(); if (!response.ok) { @@ -55,7 +61,9 @@ export class SessionService { */ async getAllSessions(): Promise> { try { - const response = await fetch('/api/sessions'); + const response = await fetch('/api/sessions', { + credentials: 'include' + }); const data = await response.json(); if (!response.ok) { @@ -81,7 +89,9 @@ export class SessionService { */ async getSession(sessionId: string): Promise> { try { - const response = await fetch(`/api/sessions/${sessionId}`); + const response = await fetch(`/api/sessions/${sessionId}`, { + credentials: 'include' + }); const data = await response.json(); if (!response.ok) { @@ -110,6 +120,7 @@ export class SessionService { try { const response = await fetch('/api/sessions', { method: 'POST', + credentials: 'include', headers: { 'Content-Type': 'application/json' }, @@ -144,6 +155,7 @@ export class SessionService { try { const response = await fetch(`/api/sessions/${session.sessionId}`, { method: 'PUT', + credentials: 'include', headers: { 'Content-Type': 'application/json' }, @@ -177,7 +189,8 @@ export class SessionService { async deleteSession(sessionId: string): Promise> { try { const response = await fetch(`/api/sessions/${sessionId}`, { - method: 'DELETE' + method: 'DELETE', + credentials: 'include' }); const data = await response.json(); @@ -201,11 +214,60 @@ export class SessionService { } /** - * Add a message to a session with streaming response support + * Add a message to a session (JSON response, no streaming) + * This just saves the user message to the session */ - async addMessageToSessionStreaming( + async addMessage( sessionId: string, - message: Message, + message: Message + ): Promise> { + try { + const response = await fetch(`/api/sessions/${sessionId}/messages`, { + method: 'POST', + credentials: 'include', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ message }) + }); + + if (!response.ok) { + // Try to parse JSON error, fallback to status text + try { + const data = await response.json(); + return { + success: false, + error: data.error || `Failed to add message: ${response.status}` + }; + } catch { + return { + success: false, + error: `Failed to add message: ${response.status} ${response.statusText}` + }; + } + } + + const data = await response.json(); + return { + success: true, + data: data.session + }; + } catch (error) { + return { + success: false, + error: error instanceof Error ? error.message : 'Unknown error occurred' + }; + } + } + + /** + * Stream agent response from the agent_pulse endpoint + * This handles the AI streaming and session persistence + */ + async streamAgentResponse( + sessionId: string, + message: string, + conversationHistory: ConversationMessage[], callbacks: { onTextDelta?: (text: string) => void, onTutorialData?: (tutorialData: TutorialData) => void, @@ -214,12 +276,17 @@ export class SessionService { } ): Promise { try { - const response = await fetch(`/api/sessions/${sessionId}/messages`, { + const response = await fetch('/api/agent_pulse', { method: 'POST', + credentials: 'include', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ message }) + body: JSON.stringify({ + message, + sessionId, + conversationHistory + }) }); if (!response.ok) { @@ -256,8 +323,14 @@ export class SessionService { callbacks.onTextDelta?.(data.textDelta); } else if (data.type === 'tutorial-data' && data.tutorialData) { callbacks.onTutorialData?.(data.tutorialData); - } else if (data.type === 'finish' && data.session) { - callbacks.onFinish?.(data.session); + } else if (data.type === 'finish') { + // AI done streaming - session comes in session-saved event + } else if (data.type === 'session-saved') { + if (data.session) { + callbacks.onFinish?.(data.session); + } + } else if (data.type === 'error') { + callbacks.onError?.(data.error || 'Unknown error'); } } catch (error) { console.error('Error parsing SSE data:', error); @@ -277,8 +350,14 @@ export class SessionService { callbacks.onTextDelta?.(data.textDelta); } else if (data.type === 'tutorial-data' && data.tutorialData) { callbacks.onTutorialData?.(data.tutorialData); - } else if (data.type === 'finish' && data.session) { - callbacks.onFinish?.(data.session); + } else if (data.type === 'finish') { + // AI done streaming - session comes in session-saved event + } else if (data.type === 'session-saved') { + if (data.session) { + callbacks.onFinish?.(data.session); + } + } else if (data.type === 'error') { + callbacks.onError?.(data.error || 'Unknown error'); } } catch (error) { console.error('Error parsing SSE data:', error); @@ -290,7 +369,45 @@ export class SessionService { callbacks.onError?.(error instanceof Error ? error.message : 'Unknown error occurred'); } } + + /** + * @deprecated Use addMessage() + streamAgentResponse() instead + * Legacy method for backwards compatibility during migration + */ + async addMessageToSessionStreaming( + sessionId: string, + message: Message, + callbacks: { + onTextDelta?: (text: string) => void, + onTutorialData?: (tutorialData: TutorialData) => void, + onFinish?: (session: Session) => void, + onError?: (error: string) => void + } + ): Promise { + // First save the message + const saveResult = await this.addMessage(sessionId, message); + if (!saveResult.success) { + callbacks.onError?.(saveResult.error || 'Failed to save message'); + return; + } + + // Then stream the agent response + // Get conversation history from the saved session + const conversationHistory: ConversationMessage[] = (saveResult.data?.messages || []) + .slice(-10) + .map(m => ({ + author: m.author, + content: m.content + })); + + await this.streamAgentResponse( + sessionId, + message.content, + conversationHistory, + callbacks + ); + } } // Export singleton instance -export const sessionService = new SessionService(); \ No newline at end of file +export const sessionService = new SessionService(); diff --git a/app/chat/utils/useStreaming.ts b/app/chat/utils/useStreaming.ts deleted file mode 100644 index 739282f9..00000000 --- a/app/chat/utils/useStreaming.ts +++ /dev/null @@ -1,209 +0,0 @@ -import { useState, useCallback } from 'react'; -import type { Message, TutorialData, StreamingChunk } from '../types'; -import { getCurrentTimestamp } from './dateUtils'; - -// Generate unique IDs -const generateId = () => { - return typeof crypto !== 'undefined' && crypto.randomUUID - ? crypto.randomUUID() - : Date.now().toString(36) + Math.random().toString(36).substr(2); -}; - -interface UseStreamingProps { - messages: Message[]; - setMessages: React.Dispatch>; - setTutorialData: React.Dispatch>; - setEditorOpen: React.Dispatch>; - setEditorContent: React.Dispatch>; - setLoading: React.Dispatch>; -} - -export function useStreaming({ - messages, - setMessages, - setTutorialData, - setEditorOpen, - setEditorContent, - setLoading -}: UseStreamingProps) { - const [status, setStatus] = useState(null); - - const sendMessage = useCallback(async (content: string, sessionId: string, tutorialData?: TutorialData) => { - if (!content.trim() || !sessionId) return; - const userMessage: Message = { - id: generateId(), - author: 'USER', - content, - timestamp: getCurrentTimestamp(), - tutorialData - }; - - setMessages(prev => [...prev, userMessage]); - setLoading(true); - - // Create assistant message placeholder - const assistantMessage: Message = { - id: generateId(), - author: 'ASSISTANT', - content: '', - timestamp: getCurrentTimestamp(), - }; - - setMessages(prev => [...prev, assistantMessage]); - - try { - // Send to the enhanced messages endpoint - const response = await fetch(`/api/sessions/${sessionId}/messages`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - message: userMessage, - processWithAgent: true - }), - }); - - if (!response.ok) { - throw new Error('Failed to send message'); - } - - // Handle streaming response - const reader = response.body?.getReader(); - const decoder = new TextDecoder(); - let accumulatedContent = ''; - let finalTutorialData: TutorialData | undefined ; - - if (!reader) { - throw new Error('No response body'); - } - - while (true) { - const { done, value } = await reader.read(); - if (done) break; - - const chunk = decoder.decode(value, { stream: true }); - const lines = chunk.split('\n'); - - for (const line of lines) { - if (line.startsWith('data: ')) { - try { - const data: StreamingChunk = JSON.parse(line.slice(6)); - - switch (data.type) { - case 'text-delta': - if (data.textDelta) { - accumulatedContent += data.textDelta; - // Update the assistant message content in real-time - setMessages(prev => { - const updated = prev.map(msg => - msg.id === assistantMessage.id - ? { ...msg, content: accumulatedContent } - : msg - ); - return updated; - }); - } - break; - - case 'status': - if (data.message) { - setStatus(data.message); - - // Update the assistant message to show the status - setMessages(prev => - prev.map(msg => - msg.id === assistantMessage.id - ? { - ...msg, - content: accumulatedContent + (accumulatedContent ? '\n\n' : '') + `🔄 ${data.message}` - } - : msg - ) - ); - } - break; - - case 'tutorial-data': - if (data.tutorialData) { - finalTutorialData = data.tutorialData; - } - break; - - case 'error': - throw new Error(data.error || 'Unknown error occurred'); - - case 'finish': - // Stream completed successfully - setStatus(null); // Clear status when stream finishes - // Remove any status message from the final content - setMessages(prev => - prev.map(msg => - msg.id === assistantMessage.id - ? { ...msg, content: accumulatedContent } - : msg - ) - ); - break; - } - } catch (error) { - console.error('Failed to parse line:', line, error); - // Fallback: treat unparseable content as text - if (line.startsWith('data: ')) { - const rawContent = line.slice(6); - accumulatedContent += rawContent; - setMessages(prev => - prev.map(msg => - msg.id === assistantMessage.id - ? { ...msg, content: accumulatedContent } - : msg - ) - ); - } - } - } - } - } - - // Update tutorial data if present - if (finalTutorialData) { - setTutorialData(finalTutorialData); - - // Add tutorial data to the assistant message - setMessages(prev => - prev.map(msg => - msg.id === assistantMessage.id - ? { - ...msg, - tutorialData: finalTutorialData - } - : msg - ) - ); - - // Auto-open editor for tutorial steps with code - setEditorOpen(true); - setEditorContent(finalTutorialData.tutorialStep?.codeContent || ''); - } - - } catch (error) { - console.error('Error sending message:', error); - // Update the assistant message with error - setMessages(prev => - prev.map(msg => - msg.id === assistantMessage.id - ? { ...msg, content: 'Sorry, I encountered an error. Please try again.' } - : msg - ) - ); - } finally { - setLoading(false); - } - }, [messages, setMessages, setTutorialData, setEditorOpen, setEditorContent, setLoading]); - - return { - sendMessage, - status, - clearStatus: () => setStatus(null) - }; -} \ No newline at end of file diff --git a/app/layout.tsx b/app/layout.tsx index 6c55a977..ac6b118c 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -2,19 +2,8 @@ import { RootProvider } from 'fumadocs-ui/provider'; import { GeistSans } from 'geist/font/sans'; import type { Metadata } from 'next'; import type { ReactNode } from 'react'; -import { validateEnv } from '@/lib/env'; import './global.css'; -// Validate environment variables at startup (server-side only) -if (typeof window === 'undefined') { - const isValid = validateEnv(); - if (!isValid) { - console.warn( - 'Environment validation failed during build – this is expected at build time' - ); - } -} - export const metadata: Metadata = { metadataBase: new URL('https://www.agentuity.dev'), title: 'Agentuity Docs', diff --git a/doc-agents/.agents/agentuity/sdk/agent/AGENTS.md b/doc-agents/.agents/agentuity/sdk/agent/AGENTS.md new file mode 100644 index 00000000..3c5330d3 --- /dev/null +++ b/doc-agents/.agents/agentuity/sdk/agent/AGENTS.md @@ -0,0 +1,308 @@ +# Agents Folder Guide + +This folder contains AI agents for your Agentuity application. Each agent is organized in its own subdirectory. + +## Generated Types + +The `src/generated/` folder contains auto-generated TypeScript files: + +- `registry.ts` - Agent registry with strongly-typed agent definitions and schema types +- `routes.ts` - Route registry for API, WebSocket, and SSE endpoints +- `app.ts` - Application entry point (regenerated on every build) + +**Important:** Never edit files in `src/generated/` - they are overwritten on every build. + +Import generated types in your agents: + +```typescript +import type { HelloInput, HelloOutput } from '../generated/registry'; +``` + +## Directory Structure + +Each agent folder must contain: + +- **agent.ts** (required) - Agent definition with schema and handler + +Example structure: + +``` +src/agent/ +├── hello/ +│ └── agent.ts +├── process-data/ +│ └── agent.ts +└── (generated files in src/generated/) +``` + +**Note:** HTTP routes are defined separately in `src/api/` - see the API folder guide for details. + +## Creating an Agent + +### Basic Agent (agent.ts) + +```typescript +import { createAgent } from '@agentuity/runtime'; +import { s } from '@agentuity/schema'; + +const agent = createAgent('my-agent', { + description: 'What this agent does', + schema: { + input: s.object({ + name: s.string(), + age: s.number(), + }), + output: s.string(), + }, + handler: async (ctx, input) => { + // Access context: ctx.app, ctx.config, ctx.logger, ctx.kv, ctx.vector, ctx.stream + return `Hello, ${input.name}! You are ${input.age} years old.`; + }, +}); + +export default agent; +``` + +### Agent with Lifecycle (setup/shutdown) + +```typescript +import { createAgent } from '@agentuity/runtime'; +import { s } from '@agentuity/schema'; + +const agent = createAgent('lifecycle-agent', { + description: 'Agent with setup and shutdown', + schema: { + input: s.object({ message: s.string() }), + output: s.object({ result: s.string() }), + }, + setup: async (app) => { + // Initialize resources (runs once on startup) + // app contains: appName, version, startedAt, config + return { + agentId: `agent-${Math.random().toString(36).substr(2, 9)}`, + connectionPool: ['conn-1', 'conn-2'], + }; + }, + handler: async (ctx, input) => { + // Access setup config via ctx.config (fully typed) + ctx.logger.info('Agent ID:', ctx.config.agentId); + ctx.logger.info('Connections:', ctx.config.connectionPool); + return { result: `Processed: ${input.message}` }; + }, + shutdown: async (app, config) => { + // Cleanup resources (runs on shutdown) + console.log('Shutting down agent:', config.agentId); + }, +}); + +export default agent; +``` + +### Agent with Event Listeners + +```typescript +import { createAgent } from '@agentuity/runtime'; +import { s } from '@agentuity/schema'; + +const agent = createAgent('event-agent', { + schema: { + input: s.object({ data: s.string() }), + output: s.string(), + }, + handler: async (ctx, input) => { + return `Processed: ${input.data}`; + }, +}); + +agent.addEventListener('started', (eventName, agent, ctx) => { + ctx.logger.info('Agent started'); +}); + +agent.addEventListener('completed', (eventName, agent, ctx) => { + ctx.logger.info('Agent completed'); +}); + +agent.addEventListener('errored', (eventName, agent, ctx, error) => { + ctx.logger.error('Agent errored:', error); +}); + +export default agent; +``` + +## Agent Context (ctx) + +The handler receives a context object with: + +- **ctx.app** - Application state (appName, version, startedAt, config from createApp) +- **ctx.config** - Agent-specific config (from setup return value, fully typed) +- **ctx.logger** - Structured logger (info, warn, error, debug, trace) +- **ctx.tracer** - OpenTelemetry tracer for custom spans +- **ctx.sessionId** - Unique session identifier +- **ctx.kv** - Key-value storage +- **ctx.vector** - Vector storage for embeddings +- **ctx.stream** - Stream storage for real-time data +- **ctx.state** - In-memory request-scoped state (Map) +- **ctx.thread** - Thread information for multi-turn conversations +- **ctx.session** - Session information +- **ctx.waitUntil** - Schedule background tasks + +## Examples + +### Using Key-Value Storage + +```typescript +handler: async (ctx, input) => { + await ctx.kv.set('user:123', { name: 'Alice', age: 30 }); + const user = await ctx.kv.get('user:123'); + await ctx.kv.delete('user:123'); + const keys = await ctx.kv.list('user:*'); + return user; +}; +``` + +### Using Vector Storage + +```typescript +handler: async (ctx, input) => { + await ctx.vector.upsert('docs', [ + { id: '1', values: [0.1, 0.2, 0.3], metadata: { text: 'Hello' } }, + ]); + const results = await ctx.vector.query('docs', [0.1, 0.2, 0.3], { topK: 5 }); + return results; +}; +``` + +### Using Streams + +```typescript +handler: async (ctx, input) => { + const stream = await ctx.stream.create('agent-logs'); + await ctx.stream.write(stream.id, 'Processing step 1'); + await ctx.stream.write(stream.id, 'Processing step 2'); + return { streamId: stream.id }; +}; +``` + +### Background Tasks with waitUntil + +```typescript +handler: async (ctx, input) => { + // Schedule background work that continues after response + ctx.waitUntil(async () => { + await ctx.kv.set('processed', Date.now()); + ctx.logger.info('Background task complete'); + }); + + return { status: 'processing' }; +}; +``` + +### Calling Another Agent + +```typescript +// Import the agent directly +import otherAgent from '../other-agent/agent'; + +handler: async (ctx, input) => { + const result = await otherAgent.run({ data: input.value }); + return `Other agent returned: ${result}`; +}; +``` + +## Subagents (Nested Agents) + +Agents can have subagents organized one level deep. This is useful for grouping related functionality. + +### Directory Structure for Subagents + +``` +src/agent/ +└── team/ # Parent agent + ├── agent.ts # Parent agent + ├── members/ # Subagent + │ └── agent.ts + └── tasks/ # Subagent + └── agent.ts +``` + +### Parent Agent + +```typescript +import { createAgent } from '@agentuity/runtime'; +import { s } from '@agentuity/schema'; + +const agent = createAgent('team', { + description: 'Team Manager', + schema: { + input: s.object({ action: s.union([s.literal('info'), s.literal('count')]) }), + output: s.object({ + message: s.string(), + timestamp: s.string(), + }), + }, + handler: async (ctx, { action }) => { + return { + message: 'Team parent agent - manages members and tasks', + timestamp: new Date().toISOString(), + }; + }, +}); + +export default agent; +``` + +### Subagent (Accessing Parent) + +```typescript +import { createAgent } from '@agentuity/runtime'; +import { s } from '@agentuity/schema'; +import parentAgent from '../agent'; + +const agent = createAgent('team.members', { + description: 'Members Subagent', + schema: { + input: s.object({ + action: s.union([s.literal('list'), s.literal('add'), s.literal('remove')]), + name: s.optional(s.string()), + }), + output: s.object({ + members: s.array(s.string()), + parentInfo: s.optional(s.string()), + }), + }, + handler: async (ctx, { action, name }) => { + // Call parent agent directly + const parentResult = await parentAgent.run({ action: 'info' }); + const parentInfo = `Parent says: ${parentResult.message}`; + + let members = ['Alice', 'Bob']; + if (action === 'add' && name) { + members.push(name); + } + + return { members, parentInfo }; + }, +}); + +export default agent; +``` + +### Key Points About Subagents + +- **One level deep**: Only one level of nesting is supported (no nested subagents) +- **Access parent**: Import and call parent agents directly +- **Agent names**: Subagents have dotted names like `"team.members"` +- **Shared context**: Subagents share the same app context (kv, logger, etc.) + +## Rules + +- Each agent folder name becomes the agent's route name (e.g., `hello/` → `/agent/hello`) +- **agent.ts** must export default the agent instance +- The first argument to `createAgent()` is the agent name (must match folder structure) +- Input/output schemas are enforced with @agentuity/schema validation +- Setup return value type automatically flows to ctx.config (fully typed) +- Use ctx.logger for logging, not console.log +- Import agents directly to call them (recommended approach) +- Subagents are one level deep only (team/members/, not team/members/subagent/) + + diff --git a/doc-agents/.agents/agentuity/sdk/api/AGENTS.md b/doc-agents/.agents/agentuity/sdk/api/AGENTS.md new file mode 100644 index 00000000..e6c32b3f --- /dev/null +++ b/doc-agents/.agents/agentuity/sdk/api/AGENTS.md @@ -0,0 +1,367 @@ +# APIs Folder Guide + +This folder contains REST API routes for your Agentuity application. Each API is organized in its own subdirectory. + +## Generated Types + +The `src/generated/` folder contains auto-generated TypeScript files: + +- `routes.ts` - Route registry with strongly-typed route definitions and schema types +- `registry.ts` - Agent registry (for calling agents from routes) +- `app.ts` - Application entry point (regenerated on every build) + +**Important:** Never edit files in `src/generated/` - they are overwritten on every build. + +Import generated types in your routes: + +```typescript +import type { POST_Api_UsersInput, POST_Api_UsersOutput } from '../generated/routes'; +``` + +## Directory Structure + +Each API folder must contain: + +- **route.ts** (required) - HTTP route definitions using Hono router + +Example structure: + +``` +src/api/ +├── index.ts (optional, mounted at /api) +├── status/ +│ └── route.ts (mounted at /api/status) +├── users/ +│ └── route.ts (mounted at /api/users) +├── agent-call/ + └── route.ts (mounted at /api/agent-call) +``` + +## Creating an API + +### Basic API (route.ts) + +```typescript +import { createRouter } from '@agentuity/runtime'; + +const router = createRouter(); + +// GET /api/status +router.get('/', (c) => { + return c.json({ + status: 'ok', + timestamp: new Date().toISOString(), + version: '1.0.0', + }); +}); + +// POST /api/status +router.post('/', async (c) => { + const body = await c.req.json(); + return c.json({ received: body }); +}); + +export default router; +``` + +### API with Request Validation + +```typescript +import { createRouter } from '@agentuity/runtime'; +import { s } from '@agentuity/schema'; +import { validator } from 'hono/validator'; + +const router = createRouter(); + +const createUserSchema = s.object({ + name: s.string(), + email: s.string(), + age: s.number(), +}); + +router.post( + '/', + validator('json', (value, c) => { + const result = createUserSchema['~standard'].validate(value); + if (result.issues) { + return c.json({ error: 'Validation failed', issues: result.issues }, 400); + } + return result.value; + }), + async (c) => { + const data = c.req.valid('json'); + // data is fully typed: { name: string, email: string, age: number } + return c.json({ + success: true, + user: data, + }); + } +); + +export default router; +``` + +### API Calling Agents + +APIs can call agents directly by importing them: + +```typescript +import { createRouter } from '@agentuity/runtime'; +import helloAgent from '@agent/hello'; + +const router = createRouter(); + +router.get('/', async (c) => { + // Call an agent directly + const result = await helloAgent.run({ name: 'API Caller', age: 42 }); + + return c.json({ + success: true, + agentResult: result, + }); +}); + +router.post('/with-input', async (c) => { + const body = await c.req.json(); + const { name, age } = body; + + // Call agent with dynamic input + const result = await helloAgent.run({ name, age }); + + return c.json({ + success: true, + agentResult: result, + }); +}); + +export default router; +``` + +### API with Agent Validation + +Use `agent.validator()` for automatic input validation from agent schemas: + +```typescript +import { createRouter } from '@agentuity/runtime'; +import myAgent from '@agent/my-agent'; + +const router = createRouter(); + +// POST with automatic validation using agent's input schema +router.post('/', myAgent.validator(), async (c) => { + const data = c.req.valid('json'); // Fully typed from agent schema! + const result = await myAgent.run(data); + return c.json({ success: true, result }); +}); + +export default router; +``` + +### API with Logging + +```typescript +import { createRouter } from '@agentuity/runtime'; + +const router = createRouter(); + +router.get('/log-test', (c) => { + c.var.logger.info('Info message'); + c.var.logger.error('Error message'); + c.var.logger.warn('Warning message'); + c.var.logger.debug('Debug message'); + c.var.logger.trace('Trace message'); + + return c.text('Check logs'); +}); + +export default router; +``` + +## Route Context (c) + +The route handler receives a Hono context object with: + +- **c.req** - Request object (c.req.json(), c.req.param(), c.req.query(), etc.) +- **c.json()** - Return JSON response +- **c.text()** - Return text response +- **c.html()** - Return HTML response +- **c.redirect()** - Redirect to URL +- **c.var.logger** - Structured logger (info, warn, error, debug, trace) +- **c.var.kv** - Key-value storage +- **c.var.vector** - Vector storage +- **c.var.stream** - Stream management +- **Import agents directly** - Import and call agents directly (recommended) + +## HTTP Methods + +```typescript +const router = createRouter(); + +router.get('/path', (c) => { + /* ... */ +}); +router.post('/path', (c) => { + /* ... */ +}); +router.put('/path', (c) => { + /* ... */ +}); +router.patch('/path', (c) => { + /* ... */ +}); +router.delete('/path', (c) => { + /* ... */ +}); +router.options('/path', (c) => { + /* ... */ +}); +``` + +## Path Parameters + +```typescript +// GET /api/users/:id +router.get('/:id', (c) => { + const id = c.req.param('id'); + return c.json({ userId: id }); +}); + +// GET /api/posts/:postId/comments/:commentId +router.get('/:postId/comments/:commentId', (c) => { + const postId = c.req.param('postId'); + const commentId = c.req.param('commentId'); + return c.json({ postId, commentId }); +}); +``` + +## Query Parameters + +```typescript +// GET /api/search?q=hello&limit=10 +router.get('/search', (c) => { + const query = c.req.query('q'); + const limit = c.req.query('limit') || '20'; + return c.json({ query, limit: parseInt(limit) }); +}); +``` + +## Request Body + +```typescript +// JSON body +router.post('/', async (c) => { + const body = await c.req.json(); + return c.json({ received: body }); +}); + +// Form data +router.post('/upload', async (c) => { + const formData = await c.req.formData(); + const file = formData.get('file'); + return c.json({ fileName: file?.name }); +}); +``` + +## Error Handling + +```typescript +import myAgent from '@agent/my-agent'; + +router.get('/', async (c) => { + try { + const result = await myAgent.run({ data: 'test' }); + return c.json({ success: true, result }); + } catch (error) { + c.var.logger.error('Agent call failed:', error); + return c.json( + { + success: false, + error: error instanceof Error ? error.message : String(error), + }, + 500 + ); + } +}); +``` + +## Response Types + +```typescript +// JSON response +return c.json({ data: 'value' }); + +// Text response +return c.text('Hello World'); + +// HTML response +return c.html('

Hello

'); + +// Custom status code +return c.json({ error: 'Not found' }, 404); + +// Redirect +return c.redirect('/new-path'); + +// Headers +return c.json({ data: 'value' }, 200, { + 'X-Custom-Header': 'value', +}); +``` + +## Streaming Routes + +```typescript +import { createRouter, stream, sse, websocket } from '@agentuity/runtime'; + +const router = createRouter(); + +// Stream response (use with POST) +router.post( + '/events', + stream((c) => { + return new ReadableStream({ + start(controller) { + controller.enqueue('event 1\n'); + controller.enqueue('event 2\n'); + controller.close(); + }, + }); + }) +); + +// Server-Sent Events (use with GET) +router.get( + '/notifications', + sse((c, stream) => { + stream.writeSSE({ data: 'Hello', event: 'message' }); + stream.writeSSE({ data: 'World', event: 'message' }); + }) +); + +// WebSocket (use with GET) +router.get( + '/ws', + websocket((c, ws) => { + ws.onOpen(() => { + ws.send('Connected!'); + }); + ws.onMessage((event) => { + ws.send(`Echo: ${event.data}`); + }); + }) +); + +export default router; +``` + +## Rules + +- Each API folder name becomes the route name (e.g., `status/` → `/api/status`) +- **route.ts** must export default the router instance +- Use c.var.logger for logging, not console.log +- Import agents directly to call them (e.g., `import agent from '@agent/name'`) +- Validation should use @agentuity/schema or agent.validator() for type safety +- Return appropriate HTTP status codes +- APIs run at `/api/{folderName}` by default + + diff --git a/doc-agents/.agents/agentuity/sdk/web/AGENTS.md b/doc-agents/.agents/agentuity/sdk/web/AGENTS.md new file mode 100644 index 00000000..2a6eb0da --- /dev/null +++ b/doc-agents/.agents/agentuity/sdk/web/AGENTS.md @@ -0,0 +1,511 @@ +# Web Folder Guide + +This folder contains your React-based web application that communicates with your Agentuity agents. + +## Generated Types + +The `src/generated/` folder contains auto-generated TypeScript files: + +- `routes.ts` - Route registry with type-safe API, WebSocket, and SSE route definitions +- `registry.ts` - Agent registry with input/output types + +**Important:** Never edit files in `src/generated/` - they are overwritten on every build. + +Import generated types in your components: + +```typescript +// Routes are typed automatically via module augmentation +import { useAPI } from '@agentuity/react'; + +// The route 'GET /api/users' is fully typed +const { data } = useAPI('GET /api/users'); +``` + +## Directory Structure + +Required files: + +- **App.tsx** (required) - Main React application component +- **frontend.tsx** (required) - Frontend entry point with client-side rendering +- **index.html** (required) - HTML template +- **public/** (optional) - Static assets (images, CSS, JS files) + +Example structure: + +``` +src/web/ +├── App.tsx +├── frontend.tsx +├── index.html +└── public/ + ├── styles.css + ├── logo.svg + └── script.js +``` + +## Creating the Web App + +### App.tsx - Main Component + +```typescript +import { AgentuityProvider, useAPI } from '@agentuity/react'; +import { useState } from 'react'; + +function HelloForm() { + const [name, setName] = useState('World'); + const { invoke, isLoading, data: greeting } = useAPI('POST /api/hello'); + + return ( +
+ setName(e.target.value)} + disabled={isLoading} + /> + + + +
{greeting ?? 'Waiting for response'}
+
+ ); +} + +export function App() { + return ( + +
+

Welcome to Agentuity

+ +
+
+ ); +} +``` + +### frontend.tsx - Entry Point + +```typescript +import { createRoot } from 'react-dom/client'; +import { App } from './App'; + +const root = document.getElementById('root'); +if (!root) throw new Error('Root element not found'); + +createRoot(root).render(); +``` + +### index.html - HTML Template + +```html + + + + + + My Agentuity App + + +
+ + + +``` + +## React Hooks + +All hooks from `@agentuity/react` must be used within an `AgentuityProvider`. **Always use these hooks instead of raw `fetch()` calls** - they provide type safety, automatic error handling, and integration with the Agentuity platform. + +### useAPI - Type-Safe API Calls + +The primary hook for making HTTP requests. **Use this instead of `fetch()`.** + +```typescript +import { useAPI } from '@agentuity/react'; + +function MyComponent() { + // GET requests auto-execute and return refetch + const { data, isLoading, error, refetch } = useAPI('GET /api/users'); + + // POST/PUT/DELETE return invoke for manual execution + const { invoke, data: result, isLoading: saving } = useAPI('POST /api/users'); + + const handleCreate = async () => { + // Input is fully typed from route schema! + await invoke({ name: 'Alice', email: 'alice@example.com' }); + }; + + return ( +
+ + {result &&

Created: {result.name}

} +
+ ); +} +``` + +**useAPI Return Values:** + +| Property | Type | Description | +| ------------ | ------------------------ | ----------------------------------------- | +| `data` | `T \| undefined` | Response data (typed from route schema) | +| `error` | `Error \| null` | Error if request failed | +| `isLoading` | `boolean` | True during initial load | +| `isFetching` | `boolean` | True during any fetch (including refetch) | +| `isSuccess` | `boolean` | True if last request succeeded | +| `isError` | `boolean` | True if last request failed | +| `invoke` | `(input?) => Promise` | Manual trigger (POST/PUT/DELETE) | +| `refetch` | `() => Promise` | Refetch data (GET) | +| `reset` | `() => void` | Reset state to initial | + +### useAPI Options + +```typescript +// GET with query parameters and caching +const { data } = useAPI({ + route: 'GET /api/search', + query: { q: 'react', limit: '10' }, + staleTime: 5000, // Cache for 5 seconds + refetchInterval: 10000, // Auto-refetch every 10 seconds + enabled: true, // Set to false to disable auto-fetch +}); + +// POST with callbacks +const { invoke } = useAPI({ + route: 'POST /api/users', + onSuccess: (data) => console.log('Created:', data), + onError: (error) => console.error('Failed:', error), +}); + +// Streaming responses with onChunk +const { invoke } = useAPI({ + route: 'POST /api/stream', + onChunk: (chunk) => console.log('Received chunk:', chunk), + delimiter: '\n', // Split stream by newlines (default) +}); + +// Custom headers +const { data } = useAPI({ + route: 'GET /api/protected', + headers: { 'X-Custom-Header': 'value' }, +}); +``` + +### useWebsocket - WebSocket Connection + +For bidirectional real-time communication. Automatically handles reconnection. + +```typescript +import { useWebsocket } from '@agentuity/react'; + +function ChatComponent() { + const { isConnected, data, send, messages, clearMessages, error, reset } = useWebsocket('/api/chat'); + + return ( +
+

Status: {isConnected ? 'Connected' : 'Disconnected'}

+ +
+ {messages.map((msg, i) => ( +

{JSON.stringify(msg)}

+ ))} +
+ +
+ ); +} +``` + +**useWebsocket Return Values:** + +| Property | Type | Description | +| --------------- | ---------------- | ---------------------------------------- | +| `isConnected` | `boolean` | True when WebSocket is connected | +| `data` | `T \| undefined` | Most recent message received | +| `messages` | `T[]` | Array of all received messages | +| `send` | `(data) => void` | Send a message (typed from route schema) | +| `clearMessages` | `() => void` | Clear the messages array | +| `close` | `() => void` | Close the connection | +| `error` | `Error \| null` | Error if connection failed | +| `isError` | `boolean` | True if there's an error | +| `reset` | `() => void` | Reset state and reconnect | +| `readyState` | `number` | WebSocket ready state | + +### useEventStream - Server-Sent Events + +For server-to-client streaming (one-way). Use when server pushes updates to client. + +```typescript +import { useEventStream } from '@agentuity/react'; + +function NotificationsComponent() { + const { isConnected, data, error, close, reset } = useEventStream('/api/notifications'); + + return ( +
+

Connected: {isConnected ? 'Yes' : 'No'}

+ {error &&

Error: {error.message}

} +

Latest: {JSON.stringify(data)}

+ +
+ ); +} +``` + +**useEventStream Return Values:** + +| Property | Type | Description | +| ------------- | ---------------- | ---------------------------------- | +| `isConnected` | `boolean` | True when EventSource is connected | +| `data` | `T \| undefined` | Most recent event data | +| `error` | `Error \| null` | Error if connection failed | +| `isError` | `boolean` | True if there's an error | +| `close` | `() => void` | Close the connection | +| `reset` | `() => void` | Reset state and reconnect | +| `readyState` | `number` | EventSource ready state | + +### useAgentuity - Access Context + +Access the Agentuity context for base URL and configuration. + +```typescript +import { useAgentuity } from '@agentuity/react'; + +function MyComponent() { + const { baseUrl } = useAgentuity(); + + return

API Base: {baseUrl}

; +} +``` + +### useAuth - Authentication State + +Access and manage authentication state. + +```typescript +import { useAuth } from '@agentuity/react'; + +function AuthStatus() { + const { isAuthenticated, authHeader, setAuthHeader, authLoading } = useAuth(); + + const handleLogin = async (token: string) => { + setAuthHeader?.(`Bearer ${token}`); + }; + + const handleLogout = () => { + setAuthHeader?.(null); + }; + + if (authLoading) return

Loading...

; + + return ( +
+ {isAuthenticated ? ( + + ) : ( + + )} +
+ ); +} +``` + +**useAuth Return Values:** + +| Property | Type | Description | +| ----------------- | ------------------- | ------------------------------------------- | +| `isAuthenticated` | `boolean` | True if user has auth token and not loading | +| `authHeader` | `string \| null` | Current auth header (e.g., "Bearer ...") | +| `setAuthHeader` | `(token) => void` | Set auth header (null to clear) | +| `authLoading` | `boolean` | True during auth state changes | +| `setAuthLoading` | `(loading) => void` | Set auth loading state | + +## Complete Example + +```typescript +import { AgentuityProvider, useAPI, useWebsocket } from '@agentuity/react'; +import { useEffect, useState } from 'react'; + +function Dashboard() { + const [count, setCount] = useState(0); + const { invoke, data: agentResult } = useAPI('POST /api/process'); + const { isConnected, send, data: wsMessage } = useWebsocket('/api/live'); + + useEffect(() => { + if (isConnected) { + const interval = setInterval(() => { + send({ ping: Date.now() }); + }, 1000); + return () => clearInterval(interval); + } + }, [isConnected, send]); + + return ( +
+

My Agentuity App

+ +
+

Count: {count}

+ +
+ +
+ +

{JSON.stringify(agentResult)}

+
+ +
+ WebSocket: + {isConnected ? JSON.stringify(wsMessage) : 'Not connected'} +
+
+ ); +} + +export function App() { + return ( + + + + ); +} +``` + +## Static Assets + +Place static files in the **public/** folder: + +``` +src/web/public/ +├── logo.svg +├── styles.css +└── script.js +``` + +Reference them in your HTML or components: + +```html + + + +``` + +```typescript +// In React components +Logo +``` + +## Styling + +### Inline Styles + +```typescript +
+ Styled content +
+``` + +### CSS Files + +Create `public/styles.css`: + +```css +body { + background-color: #09090b; + color: #fff; + font-family: sans-serif; +} +``` + +Import in `index.html`: + +```html + +``` + +### Style Tag in Component + +```typescript +
+ + +
+``` + +## RPC-Style API Client + +For non-React contexts (like utility functions or event handlers), use `createClient`: + +```typescript +import { createClient } from '@agentuity/react'; + +// Create a typed client (uses global baseUrl and auth from AgentuityProvider) +const api = createClient(); + +// Type-safe RPC-style calls - routes become nested objects +// Route 'GET /api/users' becomes api.users.get() +// Route 'POST /api/users' becomes api.users.post() +// Route 'GET /api/users/:id' becomes api.users.id.get({ id: '123' }) + +async function fetchData() { + const users = await api.users.get(); + const newUser = await api.users.post({ name: 'Alice', email: 'alice@example.com' }); + const user = await api.users.id.get({ id: '123' }); + return { users, newUser, user }; +} +``` + +**When to use `createClient` vs `useAPI`:** + +| Use Case | Recommendation | +| ------------------------- | -------------- | +| React component rendering | `useAPI` hook | +| Event handlers | Either works | +| Utility functions | `createClient` | +| Non-React code | `createClient` | +| Need loading/error state | `useAPI` hook | +| Need caching/refetch | `useAPI` hook | + +## Best Practices + +- Wrap your app with **AgentuityProvider** for hooks to work +- **Always use `useAPI` instead of `fetch()`** for type safety and error handling +- Use **useAPI** for type-safe HTTP requests (GET, POST, PUT, DELETE) +- Use **useWebsocket** for bidirectional real-time communication +- Use **useEventStream** for server-to-client streaming +- Use **useAuth** for authentication state management +- Handle loading and error states in UI +- Place reusable components in separate files +- Keep static assets in the **public/** folder + +## Rules + +- **App.tsx** must export a function named `App` +- **frontend.tsx** must render the `App` component to `#root` +- **index.html** must have a `
` +- Routes are typed via module augmentation from `src/generated/routes.ts` +- The web app is served at `/` by default +- Static files in `public/` are served at `/public/*` +- Module script tag: `` +- **Never use raw `fetch()` calls** - always use `useAPI` or `createClient` + + diff --git a/doc-agents/.agents/skills/README.md b/doc-agents/.agents/skills/README.md new file mode 100644 index 00000000..343e58ec --- /dev/null +++ b/doc-agents/.agents/skills/README.md @@ -0,0 +1,209 @@ +# Agentuity CLI Skills + +This directory contains auto-generated [Agent Skills](https://agentskills.io) for the Agentuity CLI. + +## What are Agent Skills? + +Agent Skills are modular capabilities that extend AI coding agents. Each skill is a directory +containing a `SKILL.md` file with instructions that agents read when performing relevant tasks. + +Learn more at the [Agent Skills Specification](https://agentskills.io/specification). + +## Generated From + +- **CLI Version**: 0.1.20 +- **Generated**: 2026-01-18 +- **Total Skills**: 139 + +## Available Skills + +### auth + +| Skill | Command | Description | +|-------|---------|-------------| +| [agentuity-cli-auth-apikey](./agentuity-cli-auth-apikey) | `agentuity auth apikey` | Display the API key for the currently authenticated user | +| [agentuity-cli-auth-login](./agentuity-cli-auth-login) | `agentuity auth login` | Login to the Agentuity Platform using a browser-based authen... | +| [agentuity-cli-auth-logout](./agentuity-cli-auth-logout) | `agentuity auth logout` | Logout of the Agentuity Cloud Platform | +| [agentuity-cli-auth-org-current](./agentuity-cli-auth-org-current) | `agentuity auth org current` | Show the current default organization | +| [agentuity-cli-auth-org-select](./agentuity-cli-auth-org-select) | `agentuity auth org select` | Set the default organization for all commands | +| [agentuity-cli-auth-org-unselect](./agentuity-cli-auth-org-unselect) | `agentuity auth org unselect` | Clear the default organization preference | +| [agentuity-cli-auth-ssh-add](./agentuity-cli-auth-ssh-add) | `agentuity auth ssh add` | Add an SSH public key to your account (reads from file or st... | +| [agentuity-cli-auth-ssh-delete](./agentuity-cli-auth-ssh-delete) | `agentuity auth ssh delete` | Delete an SSH key from your account | +| [agentuity-cli-auth-ssh-list](./agentuity-cli-auth-ssh-list) | `agentuity auth ssh list` | List all SSH keys on your account | +| [agentuity-cli-auth-whoami](./agentuity-cli-auth-whoami) | `agentuity auth whoami` | Display information about the currently authenticated user | + +### build + +| Skill | Command | Description | +|-------|---------|-------------| +| [agentuity-cli-build](./agentuity-cli-build) | `agentuity build` | Build Agentuity application for deployment | + +### cloud + +| Skill | Command | Description | +|-------|---------|-------------| +| [agentuity-cli-cloud-agent-get](./agentuity-cli-cloud-agent-get) | `agentuity cloud agent get` | Get details about a specific agent | +| [agentuity-cli-cloud-agent-list](./agentuity-cli-cloud-agent-list) | `agentuity cloud agent list` | List agents for a project | +| [agentuity-cli-cloud-apikey-create](./agentuity-cli-cloud-apikey-create) | `agentuity cloud apikey create` | Create a new API key | +| [agentuity-cli-cloud-apikey-delete](./agentuity-cli-cloud-apikey-delete) | `agentuity cloud apikey delete` | Delete an API key (soft delete) | +| [agentuity-cli-cloud-apikey-get](./agentuity-cli-cloud-apikey-get) | `agentuity cloud apikey get` | Get a specific API key by id | +| [agentuity-cli-cloud-apikey-list](./agentuity-cli-cloud-apikey-list) | `agentuity cloud apikey list` | List all API keys | +| [agentuity-cli-cloud-db-create](./agentuity-cli-cloud-db-create) | `agentuity cloud db create` | Create a new database resource | +| [agentuity-cli-cloud-db-delete](./agentuity-cli-cloud-db-delete) | `agentuity cloud db delete` | Delete a database resource | +| [agentuity-cli-cloud-db-get](./agentuity-cli-cloud-db-get) | `agentuity cloud db get` | Show details about a specific database | +| [agentuity-cli-cloud-db-list](./agentuity-cli-cloud-db-list) | `agentuity cloud db list` | List database resources | +| [agentuity-cli-cloud-db-logs](./agentuity-cli-cloud-db-logs) | `agentuity cloud db logs` | Get query logs for a specific database | +| [agentuity-cli-cloud-db-sql](./agentuity-cli-cloud-db-sql) | `agentuity cloud db sql` | Execute SQL query on a database | +| [agentuity-cli-cloud-deploy](./agentuity-cli-cloud-deploy) | `agentuity cloud deploy` | Deploy project to the Agentuity Cloud | +| [agentuity-cli-cloud-deployment-list](./agentuity-cli-cloud-deployment-list) | `agentuity cloud deployment list` | List deployments | +| [agentuity-cli-cloud-deployment-logs](./agentuity-cli-cloud-deployment-logs) | `agentuity cloud deployment logs` | View logs for a specific deployment | +| [agentuity-cli-cloud-deployment-remove](./agentuity-cli-cloud-deployment-remove) | `agentuity cloud deployment remove` | Remove a specific deployment | +| [agentuity-cli-cloud-deployment-rollback](./agentuity-cli-cloud-deployment-rollback) | `agentuity cloud deployment rollback` | Rollback the latest to the previous deployment | +| [agentuity-cli-cloud-deployment-show](./agentuity-cli-cloud-deployment-show) | `agentuity cloud deployment show` | Show details about a specific deployment | +| [agentuity-cli-cloud-deployment-undeploy](./agentuity-cli-cloud-deployment-undeploy) | `agentuity cloud deployment undeploy` | Undeploy the latest deployment | +| [agentuity-cli-cloud-env-delete](./agentuity-cli-cloud-env-delete) | `agentuity cloud env delete` | Delete an environment variable or secret | +| [agentuity-cli-cloud-env-get](./agentuity-cli-cloud-env-get) | `agentuity cloud env get` | Get an environment variable or secret value | +| [agentuity-cli-cloud-env-import](./agentuity-cli-cloud-env-import) | `agentuity cloud env import` | Import environment variables and secrets from a file to clou... | +| [agentuity-cli-cloud-env-list](./agentuity-cli-cloud-env-list) | `agentuity cloud env list` | List all environment variables and secrets | +| [agentuity-cli-cloud-env-pull](./agentuity-cli-cloud-env-pull) | `agentuity cloud env pull` | Pull environment variables from cloud to local .env file | +| [agentuity-cli-cloud-env-push](./agentuity-cli-cloud-env-push) | `agentuity cloud env push` | Push environment variables and secrets from local .env file ... | +| [agentuity-cli-cloud-env-set](./agentuity-cli-cloud-env-set) | `agentuity cloud env set` | Set an environment variable or secret | +| [agentuity-cli-cloud-keyvalue-create-namespace](./agentuity-cli-cloud-keyvalue-create-namespace) | `agentuity cloud keyvalue create-namespace` | Create a new keyvalue namespace | +| [agentuity-cli-cloud-keyvalue-delete](./agentuity-cli-cloud-keyvalue-delete) | `agentuity cloud keyvalue delete` | Delete a key from the keyvalue storage | +| [agentuity-cli-cloud-keyvalue-delete-namespace](./agentuity-cli-cloud-keyvalue-delete-namespace) | `agentuity cloud keyvalue delete-namespace` | Delete a keyvalue namespace and all its keys | +| [agentuity-cli-cloud-keyvalue-get](./agentuity-cli-cloud-keyvalue-get) | `agentuity cloud keyvalue get` | Get a value from the keyvalue storage | +| [agentuity-cli-cloud-keyvalue-keys](./agentuity-cli-cloud-keyvalue-keys) | `agentuity cloud keyvalue keys` | List all keys in a keyvalue namespace | +| [agentuity-cli-cloud-keyvalue-list-namespaces](./agentuity-cli-cloud-keyvalue-list-namespaces) | `agentuity cloud keyvalue list-namespaces` | List all keyvalue namespaces | +| [agentuity-cli-cloud-keyvalue-repl](./agentuity-cli-cloud-keyvalue-repl) | `agentuity cloud keyvalue repl` | Start an interactive repl for working with keyvalue database | +| [agentuity-cli-cloud-keyvalue-search](./agentuity-cli-cloud-keyvalue-search) | `agentuity cloud keyvalue search` | Search for keys matching a keyword in a keyvalue namespace | +| [agentuity-cli-cloud-keyvalue-set](./agentuity-cli-cloud-keyvalue-set) | `agentuity cloud keyvalue set` | Set a key and value in the keyvalue storage | +| [agentuity-cli-cloud-keyvalue-stats](./agentuity-cli-cloud-keyvalue-stats) | `agentuity cloud keyvalue stats` | Get statistics for keyvalue storage | +| [agentuity-cli-cloud-queue-ack](./agentuity-cli-cloud-queue-ack) | `agentuity cloud queue ack` | Acknowledge a message (mark as processed) | +| [agentuity-cli-cloud-queue-create](./agentuity-cli-cloud-queue-create) | `agentuity cloud queue create` | Create a new queue | +| [agentuity-cli-cloud-queue-delete](./agentuity-cli-cloud-queue-delete) | `agentuity cloud queue delete` | Delete a queue by name | +| [agentuity-cli-cloud-queue-destinations-create](./agentuity-cli-cloud-queue-destinations-create) | `agentuity cloud queue destinations create` | Create a webhook destination for a queue | +| [agentuity-cli-cloud-queue-destinations-delete](./agentuity-cli-cloud-queue-destinations-delete) | `agentuity cloud queue destinations delete` | Delete a destination from a queue | +| [agentuity-cli-cloud-queue-destinations-list](./agentuity-cli-cloud-queue-destinations-list) | `agentuity cloud queue destinations list` | List destinations for a queue | +| [agentuity-cli-cloud-queue-destinations-update](./agentuity-cli-cloud-queue-destinations-update) | `agentuity cloud queue destinations update` | Update a destination | +| [agentuity-cli-cloud-queue-dlq-list](./agentuity-cli-cloud-queue-dlq-list) | `agentuity cloud queue dlq list` | List messages in the dead letter queue | +| [agentuity-cli-cloud-queue-dlq-purge](./agentuity-cli-cloud-queue-dlq-purge) | `agentuity cloud queue dlq purge` | Purge all messages from the dead letter queue | +| [agentuity-cli-cloud-queue-dlq-replay](./agentuity-cli-cloud-queue-dlq-replay) | `agentuity cloud queue dlq replay` | Replay a message from the dead letter queue | +| [agentuity-cli-cloud-queue-get](./agentuity-cli-cloud-queue-get) | `agentuity cloud queue get` | Get queue or message details | +| [agentuity-cli-cloud-queue-list](./agentuity-cli-cloud-queue-list) | `agentuity cloud queue list` | List all queues | +| [agentuity-cli-cloud-queue-messages](./agentuity-cli-cloud-queue-messages) | `agentuity cloud queue messages` | List messages in a queue or get a specific message | +| [agentuity-cli-cloud-queue-nack](./agentuity-cli-cloud-queue-nack) | `agentuity cloud queue nack` | Negative acknowledge a message (return to queue for retry) | +| [agentuity-cli-cloud-queue-pause](./agentuity-cli-cloud-queue-pause) | `agentuity cloud queue pause` | Pause message delivery for a queue | +| [agentuity-cli-cloud-queue-publish](./agentuity-cli-cloud-queue-publish) | `agentuity cloud queue publish` | Publish a message to a queue | +| [agentuity-cli-cloud-queue-receive](./agentuity-cli-cloud-queue-receive) | `agentuity cloud queue receive` | Receive (claim) a message from a worker queue | +| [agentuity-cli-cloud-queue-resume](./agentuity-cli-cloud-queue-resume) | `agentuity cloud queue resume` | Resume message delivery for a paused queue | +| [agentuity-cli-cloud-queue-sources-create](./agentuity-cli-cloud-queue-sources-create) | `agentuity cloud queue sources create` | Create a source for a queue | +| [agentuity-cli-cloud-queue-sources-delete](./agentuity-cli-cloud-queue-sources-delete) | `agentuity cloud queue sources delete` | Delete a source from a queue | +| [agentuity-cli-cloud-queue-sources-get](./agentuity-cli-cloud-queue-sources-get) | `agentuity cloud queue sources get` | Get a source by ID | +| [agentuity-cli-cloud-queue-sources-list](./agentuity-cli-cloud-queue-sources-list) | `agentuity cloud queue sources list` | List sources for a queue | +| [agentuity-cli-cloud-queue-sources-update](./agentuity-cli-cloud-queue-sources-update) | `agentuity cloud queue sources update` | Update a source | +| [agentuity-cli-cloud-queue-stats](./agentuity-cli-cloud-queue-stats) | `agentuity cloud queue stats` | View queue analytics and statistics | +| [agentuity-cli-cloud-redis-show](./agentuity-cli-cloud-redis-show) | `agentuity cloud redis show` | Show Redis connection URL | +| [agentuity-cli-cloud-region-current](./agentuity-cli-cloud-region-current) | `agentuity cloud region current` | Show the current default region | +| [agentuity-cli-cloud-region-select](./agentuity-cli-cloud-region-select) | `agentuity cloud region select` | Set the default cloud region for all commands | +| [agentuity-cli-cloud-region-unselect](./agentuity-cli-cloud-region-unselect) | `agentuity cloud region unselect` | Clear the default region preference | +| [agentuity-cli-cloud-sandbox-cp](./agentuity-cli-cloud-sandbox-cp) | `agentuity cloud sandbox cp` | Copy files or directories to or from a sandbox | +| [agentuity-cli-cloud-sandbox-create](./agentuity-cli-cloud-sandbox-create) | `agentuity cloud sandbox create` | Create an interactive sandbox for multiple executions | +| [agentuity-cli-cloud-sandbox-delete](./agentuity-cli-cloud-sandbox-delete) | `agentuity cloud sandbox delete` | Delete a sandbox | +| [agentuity-cli-cloud-sandbox-download](./agentuity-cli-cloud-sandbox-download) | `agentuity cloud sandbox download` | Download files from a sandbox as a compressed archive | +| [agentuity-cli-cloud-sandbox-env](./agentuity-cli-cloud-sandbox-env) | `agentuity cloud sandbox env` | Set or delete environment variables on a sandbox | +| [agentuity-cli-cloud-sandbox-exec](./agentuity-cli-cloud-sandbox-exec) | `agentuity cloud sandbox exec` | Execute a command in a running sandbox | +| [agentuity-cli-cloud-sandbox-execution-get](./agentuity-cli-cloud-sandbox-execution-get) | `agentuity cloud sandbox execution get` | Get information about a specific execution | +| [agentuity-cli-cloud-sandbox-execution-list](./agentuity-cli-cloud-sandbox-execution-list) | `agentuity cloud sandbox execution list` | List executions for a sandbox | +| [agentuity-cli-cloud-sandbox-files](./agentuity-cli-cloud-sandbox-files) | `agentuity cloud sandbox files` | List files in a sandbox directory | +| [agentuity-cli-cloud-sandbox-get](./agentuity-cli-cloud-sandbox-get) | `agentuity cloud sandbox get` | Get information about a sandbox | +| [agentuity-cli-cloud-sandbox-list](./agentuity-cli-cloud-sandbox-list) | `agentuity cloud sandbox list` | List sandboxes with optional filtering | +| [agentuity-cli-cloud-sandbox-mkdir](./agentuity-cli-cloud-sandbox-mkdir) | `agentuity cloud sandbox mkdir` | Create a directory in a sandbox | +| [agentuity-cli-cloud-sandbox-rm](./agentuity-cli-cloud-sandbox-rm) | `agentuity cloud sandbox rm` | Remove a file from a sandbox | +| [agentuity-cli-cloud-sandbox-rmdir](./agentuity-cli-cloud-sandbox-rmdir) | `agentuity cloud sandbox rmdir` | Remove a directory from a sandbox | +| [agentuity-cli-cloud-sandbox-run](./agentuity-cli-cloud-sandbox-run) | `agentuity cloud sandbox run` | Run a one-shot command in a sandbox (creates, executes, dest... | +| [agentuity-cli-cloud-sandbox-runtime-list](./agentuity-cli-cloud-sandbox-runtime-list) | `agentuity cloud sandbox runtime list` | List available sandbox runtimes | +| [agentuity-cli-cloud-sandbox-snapshot-build](./agentuity-cli-cloud-sandbox-snapshot-build) | `agentuity cloud sandbox snapshot build` | Build a snapshot from a declarative file | +| [agentuity-cli-cloud-sandbox-snapshot-create](./agentuity-cli-cloud-sandbox-snapshot-create) | `agentuity cloud sandbox snapshot create` | Create a snapshot from a sandbox | +| [agentuity-cli-cloud-sandbox-snapshot-delete](./agentuity-cli-cloud-sandbox-snapshot-delete) | `agentuity cloud sandbox snapshot delete` | Delete a snapshot | +| [agentuity-cli-cloud-sandbox-snapshot-get](./agentuity-cli-cloud-sandbox-snapshot-get) | `agentuity cloud sandbox snapshot get` | Get snapshot details | +| [agentuity-cli-cloud-sandbox-snapshot-list](./agentuity-cli-cloud-sandbox-snapshot-list) | `agentuity cloud sandbox snapshot list` | List snapshots | +| [agentuity-cli-cloud-sandbox-snapshot-tag](./agentuity-cli-cloud-sandbox-snapshot-tag) | `agentuity cloud sandbox snapshot tag` | Add or update a tag on a snapshot | +| [agentuity-cli-cloud-sandbox-upload](./agentuity-cli-cloud-sandbox-upload) | `agentuity cloud sandbox upload` | Upload a compressed archive to a sandbox and extract it | +| [agentuity-cli-cloud-scp-download](./agentuity-cli-cloud-scp-download) | `agentuity cloud scp download` | Download a file using security copy | +| [agentuity-cli-cloud-scp-upload](./agentuity-cli-cloud-scp-upload) | `agentuity cloud scp upload` | Upload a file using security copy | +| [agentuity-cli-cloud-session-get](./agentuity-cli-cloud-session-get) | `agentuity cloud session get` | Get details about a specific session | +| [agentuity-cli-cloud-session-list](./agentuity-cli-cloud-session-list) | `agentuity cloud session list` | List recent sessions | +| [agentuity-cli-cloud-session-logs](./agentuity-cli-cloud-session-logs) | `agentuity cloud session logs` | Get logs for a specific session | +| [agentuity-cli-cloud-ssh](./agentuity-cli-cloud-ssh) | `agentuity cloud ssh` | SSH into a cloud project or sandbox | +| [agentuity-cli-cloud-storage-create](./agentuity-cli-cloud-storage-create) | `agentuity cloud storage create` | Create a new storage resource | +| [agentuity-cli-cloud-storage-delete](./agentuity-cli-cloud-storage-delete) | `agentuity cloud storage delete` | Delete a storage resource or file | +| [agentuity-cli-cloud-storage-download](./agentuity-cli-cloud-storage-download) | `agentuity cloud storage download` | Download a file from storage bucket | +| [agentuity-cli-cloud-storage-get](./agentuity-cli-cloud-storage-get) | `agentuity cloud storage get` | Show details about a specific storage bucket | +| [agentuity-cli-cloud-storage-list](./agentuity-cli-cloud-storage-list) | `agentuity cloud storage list` | List storage resources or files in a bucket | +| [agentuity-cli-cloud-storage-upload](./agentuity-cli-cloud-storage-upload) | `agentuity cloud storage upload` | Upload a file to storage bucket | +| [agentuity-cli-cloud-stream-delete](./agentuity-cli-cloud-stream-delete) | `agentuity cloud stream delete` | Delete a stream by ID (soft delete) | +| [agentuity-cli-cloud-stream-get](./agentuity-cli-cloud-stream-get) | `agentuity cloud stream get` | Get detailed information about a specific stream | +| [agentuity-cli-cloud-stream-list](./agentuity-cli-cloud-stream-list) | `agentuity cloud stream list` | List recent streams with optional filtering | +| [agentuity-cli-cloud-thread-delete](./agentuity-cli-cloud-thread-delete) | `agentuity cloud thread delete` | Delete a thread | +| [agentuity-cli-cloud-thread-get](./agentuity-cli-cloud-thread-get) | `agentuity cloud thread get` | Get details about a specific thread | +| [agentuity-cli-cloud-thread-list](./agentuity-cli-cloud-thread-list) | `agentuity cloud thread list` | List recent threads | +| [agentuity-cli-cloud-vector-delete](./agentuity-cli-cloud-vector-delete) | `agentuity cloud vector delete` | Delete one or more vectors by key | +| [agentuity-cli-cloud-vector-delete-namespace](./agentuity-cli-cloud-vector-delete-namespace) | `agentuity cloud vector delete-namespace` | Delete a vector namespace and all its vectors | +| [agentuity-cli-cloud-vector-get](./agentuity-cli-cloud-vector-get) | `agentuity cloud vector get` | Get a specific vector entry by key | +| [agentuity-cli-cloud-vector-list-namespaces](./agentuity-cli-cloud-vector-list-namespaces) | `agentuity cloud vector list-namespaces` | List all vector namespaces | +| [agentuity-cli-cloud-vector-search](./agentuity-cli-cloud-vector-search) | `agentuity cloud vector search` | Search for vectors using semantic similarity | +| [agentuity-cli-cloud-vector-stats](./agentuity-cli-cloud-vector-stats) | `agentuity cloud vector stats` | Get statistics for vector storage | +| [agentuity-cli-cloud-vector-upsert](./agentuity-cli-cloud-vector-upsert) | `agentuity cloud vector upsert` | Add or update vectors in the vector storage | + +### dev + +| Skill | Command | Description | +|-------|---------|-------------| +| [agentuity-cli-dev](./agentuity-cli-dev) | `agentuity dev` | Build and run the development server | + +### git + +| Skill | Command | Description | +|-------|---------|-------------| +| [agentuity-cli-git-account-add](./agentuity-cli-git-account-add) | `agentuity git account add` | Add a GitHub account to your organization | +| [agentuity-cli-git-account-list](./agentuity-cli-git-account-list) | `agentuity git account list` | List GitHub accounts connected to your organizations | +| [agentuity-cli-git-account-remove](./agentuity-cli-git-account-remove) | `agentuity git account remove` | Remove a GitHub account from your organization | +| [agentuity-cli-git-link](./agentuity-cli-git-link) | `agentuity git link` | Link a project to a GitHub repository | +| [agentuity-cli-git-list](./agentuity-cli-git-list) | `agentuity git list` | List GitHub repositories accessible to your organization | +| [agentuity-cli-git-status](./agentuity-cli-git-status) | `agentuity git status` | Show GitHub connection status for current project | +| [agentuity-cli-git-unlink](./agentuity-cli-git-unlink) | `agentuity git unlink` | Unlink a project from its GitHub repository | + +### project + +| Skill | Command | Description | +|-------|---------|-------------| +| [agentuity-cli-project-auth-generate](./agentuity-cli-project-auth-generate) | `agentuity project auth generate` | Generate SQL schema for Agentuity Auth tables | +| [agentuity-cli-project-auth-init](./agentuity-cli-project-auth-init) | `agentuity project auth init` | Set up Agentuity Auth for your project | +| [agentuity-cli-project-create](./agentuity-cli-project-create) | `agentuity project create` | Create a new project | +| [agentuity-cli-project-delete](./agentuity-cli-project-delete) | `agentuity project delete` | Delete a project | +| [agentuity-cli-project-import](./agentuity-cli-project-import) | `agentuity project import` | Import or register a local project with Agentuity Cloud | +| [agentuity-cli-project-list](./agentuity-cli-project-list) | `agentuity project list` | List all projects | +| [agentuity-cli-project-show](./agentuity-cli-project-show) | `agentuity project show` | Show project detail | + +### repl + +| Skill | Command | Description | +|-------|---------|-------------| +| [agentuity-cli-repl](./agentuity-cli-repl) | `agentuity repl` | interactive REPL for testing | + +## Usage + +These skills are designed for AI coding agents that support the Agent Skills format. +Place this directory in your project or install globally for your agent to discover. + +## Regenerating + +To regenerate these skills with the latest CLI schema: + +```bash +agentuity ai skills generate --output ./skills +``` + +--- + +*This file was auto-generated by the Agentuity CLI. Do not edit manually.* diff --git a/doc-agents/.agents/skills/agentuity-cli-auth-apikey/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-auth-apikey/SKILL.md new file mode 100644 index 00000000..a2766c7e --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-auth-apikey/SKILL.md @@ -0,0 +1,52 @@ +--- +name: agentuity-cli-auth-apikey +description: Display the API key for the currently authenticated user. Requires authentication. Use for managing authentication credentials +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity auth apikey" + tags: "read-only fast requires-auth" +--- + +# Auth Apikey + +Display the API key for the currently authenticated user + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity auth apikey +``` + +## Examples + +Print the API key: + +```bash +agentuity auth apikey +``` + +Output API key in JSON format: + +```bash +agentuity --json auth apikey +``` + +## Output + +Returns JSON object: + +```json +{ + "apiKey": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `apiKey` | string | The API key for the authenticated user | diff --git a/doc-agents/.agents/skills/agentuity-cli-auth-login/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-auth-login/SKILL.md new file mode 100644 index 00000000..98de75a5 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-auth-login/SKILL.md @@ -0,0 +1,54 @@ +--- +name: agentuity-cli-auth-login +description: "Login to the Agentuity Platform using a browser-based authentication flow. Use for managing authentication credentials" +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity auth login" + tags: "mutating creates-resource slow api-intensive" +--- + +# Auth Login + +Login to the Agentuity Platform using a browser-based authentication flow + +## Usage + +```bash +agentuity auth login [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--setupToken` | string | Yes | - | Use a one-time use setup token | + +## Examples + +Login to account: + +```bash +agentuity auth login +``` + +Login to account: + +```bash +agentuity login +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-auth-logout/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-auth-logout/SKILL.md new file mode 100644 index 00000000..3e2f00bf --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-auth-logout/SKILL.md @@ -0,0 +1,34 @@ +--- +name: agentuity-cli-auth-logout +description: Logout of the Agentuity Cloud Platform. Use for managing authentication credentials +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity auth logout" + tags: "mutating deletes-resource fast requires-auth" +--- + +# Auth Logout + +Logout of the Agentuity Cloud Platform + +## Usage + +```bash +agentuity auth logout +``` + +## Examples + +Logout from account: + +```bash +agentuity auth logout +``` + +Logout from account: + +```bash +agentuity logout +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-auth-org-current/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-auth-org-current/SKILL.md new file mode 100644 index 00000000..8e887479 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-auth-org-current/SKILL.md @@ -0,0 +1,34 @@ +--- +name: agentuity-cli-auth-org-current +description: Show the current default organization. Use for managing authentication credentials +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity auth org current" + tags: "read-only fast" +--- + +# Auth Org Current + +Show the current default organization + +## Usage + +```bash +agentuity auth org current +``` + +## Examples + +Show default organization: + +```bash +agentuity auth org current +``` + +Show output in JSON format: + +```bash +agentuity auth org current --json +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-auth-org-select/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-auth-org-select/SKILL.md new file mode 100644 index 00000000..e4eb1fbb --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-auth-org-select/SKILL.md @@ -0,0 +1,61 @@ +--- +name: agentuity-cli-auth-org-select +description: Set the default organization for all commands. Requires authentication. Use for managing authentication credentials +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[org_id]" +metadata: + command: "agentuity auth org select" + tags: "fast requires-auth" +--- + +# Auth Org Select + +Set the default organization for all commands + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity auth org select [org_id] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | No | - | + +## Examples + +Select default organization: + +```bash +agentuity auth org select +``` + +Set specific organization as default: + +```bash +agentuity auth org select org_abc123 +``` + +## Output + +Returns JSON object: + +```json +{ + "orgId": "string", + "name": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `orgId` | string | The selected organization ID | +| `name` | string | The organization name | diff --git a/doc-agents/.agents/skills/agentuity-cli-auth-org-unselect/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-auth-org-unselect/SKILL.md new file mode 100644 index 00000000..ed9f52d8 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-auth-org-unselect/SKILL.md @@ -0,0 +1,42 @@ +--- +name: agentuity-cli-auth-org-unselect +description: Clear the default organization preference. Use for managing authentication credentials +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity auth org unselect" + tags: "fast" +--- + +# Auth Org Unselect + +Clear the default organization preference + +## Usage + +```bash +agentuity auth org unselect +``` + +## Examples + +Clear default organization: + +```bash +agentuity auth org unselect +``` + +## Output + +Returns JSON object: + +```json +{ + "cleared": "boolean" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `cleared` | boolean | Whether the preference was cleared | diff --git a/doc-agents/.agents/skills/agentuity-cli-auth-ssh-add/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-auth-ssh-add/SKILL.md new file mode 100644 index 00000000..c8258bca --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-auth-ssh-add/SKILL.md @@ -0,0 +1,76 @@ +--- +name: agentuity-cli-auth-ssh-add +description: Add an SSH public key to your account (reads from file or stdin). Requires authentication. Use for managing authentication credentials +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity auth ssh add" + tags: "mutating creates-resource slow requires-auth" +--- + +# Auth Ssh Add + +Add an SSH public key to your account (reads from file or stdin) + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity auth ssh add [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--file` | string | Yes | - | File containing the public key | + +## Examples + +Add SSH key interactively: + +```bash +agentuity auth ssh add +``` + +Add SSH key from file: + +```bash +agentuity auth ssh add --file ~/.ssh/id_ed25519.pub +``` + +Add deploy key from file: + +```bash +agentuity auth ssh add --file ./deploy_key.pub +``` + +Add SSH key from stdin: + +```bash +cat ~/.ssh/id_rsa.pub | agentuity auth ssh add +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "fingerprint": "string", + "keyType": "string", + "added": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `fingerprint` | string | SSH key fingerprint | +| `keyType` | string | SSH key type (e.g., ssh-rsa, ssh-ed25519) | +| `added` | number | Number of keys added | diff --git a/doc-agents/.agents/skills/agentuity-cli-auth-ssh-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-auth-ssh-delete/SKILL.md new file mode 100644 index 00000000..73314b50 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-auth-ssh-delete/SKILL.md @@ -0,0 +1,81 @@ +--- +name: agentuity-cli-auth-ssh-delete +description: Delete an SSH key from your account. Requires authentication. Use for managing authentication credentials +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[fingerprints...]" +metadata: + command: "agentuity auth ssh delete" + tags: "destructive deletes-resource slow requires-auth" +--- + +# Auth Ssh Delete + +Delete an SSH key from your account + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity auth ssh delete [fingerprints...] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | array | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--confirm` | boolean | No | `true` | prompt for confirmation before deletion | + +## Examples + +Delete item: + +```bash +agentuity auth ssh delete +``` + +Delete item: + +```bash +agentuity auth ssh delete +``` + +Delete item: + +```bash +agentuity --explain auth ssh delete abc123 +``` + +Delete item: + +```bash +agentuity --dry-run auth ssh delete abc123 +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "removed": "number", + "fingerprints": "array" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `removed` | number | Number of keys removed | +| `fingerprints` | array | Fingerprints of removed keys | diff --git a/doc-agents/.agents/skills/agentuity-cli-auth-ssh-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-auth-ssh-list/SKILL.md new file mode 100644 index 00000000..e01eb604 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-auth-ssh-list/SKILL.md @@ -0,0 +1,48 @@ +--- +name: agentuity-cli-auth-ssh-list +description: List all SSH keys on your account. Requires authentication. Use for managing authentication credentials +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity auth ssh list" + tags: "read-only fast requires-auth" +--- + +# Auth Ssh List + +List all SSH keys on your account + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity auth ssh list +``` + +## Examples + +List items: + +```bash +agentuity auth ssh list +``` + +List items: + +```bash +agentuity auth ssh ls +``` + +Show output in JSON format: + +```bash +agentuity --json auth ssh list +``` + +## Output + +Returns: `array` diff --git a/doc-agents/.agents/skills/agentuity-cli-auth-whoami/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-auth-whoami/SKILL.md new file mode 100644 index 00000000..c36dfaff --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-auth-whoami/SKILL.md @@ -0,0 +1,58 @@ +--- +name: agentuity-cli-auth-whoami +description: Display information about the currently authenticated user. Requires authentication. Use for managing authentication credentials +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity auth whoami" + tags: "read-only fast requires-auth" +--- + +# Auth Whoami + +Display information about the currently authenticated user + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity auth whoami +``` + +## Examples + +Show current user: + +```bash +agentuity auth whoami +``` + +Show output in JSON format: + +```bash +agentuity --json auth whoami +``` + +## Output + +Returns JSON object: + +```json +{ + "userId": "string", + "firstName": "string", + "lastName": "string", + "organizations": "array" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `userId` | string | Unique user identifier | +| `firstName` | string | User first name | +| `lastName` | string | User last name | +| `organizations` | array | Organizations the user belongs to | diff --git a/doc-agents/.agents/skills/agentuity-cli-build/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-build/SKILL.md new file mode 100644 index 00000000..5aa4eb5b --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-build/SKILL.md @@ -0,0 +1,40 @@ +--- +name: agentuity-cli-build +description: Build Agentuity application for deployment +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity build" + tags: "read-only slow requires-project" +--- + +# Build + +Build Agentuity application for deployment + +## Usage + +```bash +agentuity build +``` + +## Examples + +Build the project: + +```bash +agentuity build +``` + +Run in development mode: + +```bash +agentuity build --dev +``` + +Bundle the project: + +```bash +agentuity bundle +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-agent-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-agent-get/SKILL.md new file mode 100644 index 00000000..1800c52e --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-agent-get/SKILL.md @@ -0,0 +1,77 @@ +--- +name: agentuity-cli-cloud-agent-get +description: Get details about a specific agent. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud agent get" +--- + +# Cloud Agent Get + +Get details about a specific agent + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud agent get +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Get item details: + +```bash +agentuity cloud agent get agent_abc123 +``` + +Show output in JSON format: + +```bash +agentuity --json cloud agent get agent_abc123 +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "name": "string", + "description": "unknown", + "identifier": "string", + "deploymentId": "unknown", + "devmode": "boolean", + "metadata": "unknown", + "createdAt": "string", + "updatedAt": "string", + "evals": "array" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | - | +| `name` | string | - | +| `description` | unknown | - | +| `identifier` | string | - | +| `deploymentId` | unknown | - | +| `devmode` | boolean | - | +| `metadata` | unknown | - | +| `createdAt` | string | - | +| `updatedAt` | string | - | +| `evals` | array | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-agent-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-agent-list/SKILL.md new file mode 100644 index 00000000..81e5bfb2 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-agent-list/SKILL.md @@ -0,0 +1,55 @@ +--- +name: agentuity-cli-cloud-agent-list +description: List agents for a project. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud agent list" +--- + +# Cloud Agent List + +List agents for a project + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud agent list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--deploymentId` | string | Yes | - | Filter by deployment ID | +| `--verbose` | boolean | No | `false` | Show full descriptions | + +## Examples + +List items: + +```bash +agentuity cloud agent list +``` + +Use verbose option: + +```bash +agentuity cloud agent list --verbose +``` + +Show output in JSON format: + +```bash +agentuity --json cloud agent list +``` + +## Output + +Returns: `array` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-apikey-create/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-apikey-create/SKILL.md new file mode 100644 index 00000000..b33cd4ee --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-apikey-create/SKILL.md @@ -0,0 +1,69 @@ +--- +name: agentuity-cli-cloud-apikey-create +description: Create a new API key. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud apikey create" + tags: "destructive creates-resource slow requires-auth" +--- + +# Cloud Apikey Create + +Create a new API key + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud apikey create [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--name` | string | Yes | - | the name for the API key | +| `--expires-at` | string | Yes | - | expiration date as ISO 8601 (2025-12-31T23:59:59Z) or duration (1h, 2d, 30d, 1y) | +| `--confirm` | boolean | Yes | - | Skip confirmation prompts (required for non-TTY) | + +## Examples + +Create API key with 1 year expiration: + +```bash +agentuity cloud apikey create --name "My API Key" --expires-at 1y +``` + +Create API key with 30 day expiration: + +```bash +agentuity cloud apikey create --name "Short-lived Key" --expires-at 30d +``` + +Create API key with specific date and skip confirmation: + +```bash +agentuity cloud apikey create --name "Production Key" --expires-at 2026-01-01T00:00:00Z --confirm +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "value": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | the API key id | +| `value` | string | the API key value | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-apikey-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-apikey-delete/SKILL.md new file mode 100644 index 00000000..30a75a02 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-apikey-delete/SKILL.md @@ -0,0 +1,67 @@ +--- +name: agentuity-cli-cloud-apikey-delete +description: Delete an API key (soft delete). Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud apikey delete" + tags: "destructive deletes-resource slow requires-auth" +--- + +# Cloud Apikey Delete + +Delete an API key (soft delete) + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud apikey delete +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Delete item: + +```bash +agentuity cloud apikey delete +``` + +Run command: + +```bash +agentuity cloud apikey del +``` + +Delete item: + +```bash +agentuity cloud apikey rm +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "id": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `id` | string | API key id that was deleted | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-apikey-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-apikey-get/SKILL.md new file mode 100644 index 00000000..187fb0b6 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-apikey-get/SKILL.md @@ -0,0 +1,39 @@ +--- +name: agentuity-cli-cloud-apikey-get +description: Get a specific API key by id. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud apikey get" + tags: "read-only fast requires-auth" +--- + +# Cloud Apikey Get + +Get a specific API key by id + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud apikey get +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Get item details: + +```bash +agentuity cloud apikey get +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-apikey-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-apikey-list/SKILL.md new file mode 100644 index 00000000..de96818f --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-apikey-list/SKILL.md @@ -0,0 +1,45 @@ +--- +name: agentuity-cli-cloud-apikey-list +description: List all API keys. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud apikey list" + tags: "read-only fast requires-auth" +--- + +# Cloud Apikey List + +List all API keys + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud apikey list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--orgId` | string | Yes | - | filter by organization id | +| `--projectId` | string | Yes | - | filter by project id | + +## Examples + +List items: + +```bash +agentuity cloud apikey list +``` + +List items: + +```bash +agentuity cloud apikey ls +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-db-create/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-db-create/SKILL.md new file mode 100644 index 00000000..6a93e147 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-db-create/SKILL.md @@ -0,0 +1,74 @@ +--- +name: agentuity-cli-cloud-db-create +description: Create a new database resource. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud db create" + tags: "mutating creates-resource slow requires-auth requires-deployment" +--- + +# Cloud Db Create + +Create a new database resource + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud db create [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--name` | string | Yes | - | Custom database name | +| `--description` | string | Yes | - | Optional database description | + +## Examples + +Create new item: + +```bash +agentuity cloud db create +``` + +Run new command: + +```bash +agentuity cloud db new +``` + +Create new item: + +```bash +agentuity cloud db create --name my-db +``` + +Create new item: + +```bash +agentuity --dry-run cloud db create +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "name": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether creation succeeded | +| `name` | string | Created database name | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-db-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-db-delete/SKILL.md new file mode 100644 index 00000000..2bacea27 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-db-delete/SKILL.md @@ -0,0 +1,79 @@ +--- +name: agentuity-cli-cloud-db-delete +description: Delete a database resource. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[name]" +metadata: + command: "agentuity cloud db delete" + tags: "destructive deletes-resource slow requires-auth requires-deployment" +--- + +# Cloud Db Delete + +Delete a database resource + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud db delete [name] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--confirm` | boolean | Yes | - | Skip confirmation prompts | + +## Examples + +Delete item: + +```bash +agentuity cloud db delete my-database +``` + +Delete item: + +```bash +agentuity cloud db rm my-database +``` + +Delete item: + +```bash +agentuity cloud db delete +``` + +Delete item: + +```bash +agentuity --dry-run cloud db delete my-database +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "name": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether deletion succeeded | +| `name` | string | Deleted database name | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-db-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-db-get/SKILL.md new file mode 100644 index 00000000..dbe62698 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-db-get/SKILL.md @@ -0,0 +1,77 @@ +--- +name: agentuity-cli-cloud-db-get +description: Show details about a specific database. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud db get" + tags: "read-only fast requires-auth" +--- + +# Cloud Db Get + +Show details about a specific database + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud db get [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--showCredentials` | boolean | Yes | - | Show credentials in plain text (default: masked in terminal, unmasked in JSON) | +| `--showTables` | boolean | Yes | - | Fetch table schemas from the database | +| `--sql` | boolean | Yes | - | Output table schemas as SQL CREATE statements | + +## Examples + +Get database details: + +```bash +agentuity cloud db get my-database +``` + +Show database information: + +```bash +agentuity cloud db show my-database +``` + +Get database with credentials: + +```bash +agentuity cloud db get my-database --show-credentials +``` + +Get table schemas from the database: + +```bash +agentuity cloud db get my-database --show-tables +``` + +Get table schemas as SQL CREATE statements: + +```bash +agentuity cloud db get my-database --show-tables --sql +``` + +Get table schemas as JSON: + +```bash +agentuity cloud db get my-database --show-tables --json +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-db-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-db-list/SKILL.md new file mode 100644 index 00000000..9c61703b --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-db-list/SKILL.md @@ -0,0 +1,71 @@ +--- +name: agentuity-cli-cloud-db-list +description: List database resources. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud db list" + tags: "read-only fast requires-auth" +--- + +# Cloud Db List + +List database resources + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud db list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--showCredentials` | boolean | Yes | - | Show credentials in plain text (default: masked in terminal, unmasked in JSON) | +| `--nameOnly` | boolean | Yes | - | Print the name only | + +## Examples + +List items: + +```bash +agentuity cloud db list +``` + +Show output in JSON format: + +```bash +agentuity --json cloud db list +``` + +List items: + +```bash +agentuity cloud db ls +``` + +Use show credentials option: + +```bash +agentuity cloud db list --show-credentials +``` + +## Output + +Returns JSON object: + +```json +{ + "databases": "array" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `databases` | array | List of database resources | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-db-logs/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-db-logs/SKILL.md new file mode 100644 index 00000000..1d619906 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-db-logs/SKILL.md @@ -0,0 +1,107 @@ +--- +name: agentuity-cli-cloud-db-logs +description: Get query logs for a specific database. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud db logs" + tags: "read-only slow requires-auth" +--- + +# Cloud Db Logs + +Get query logs for a specific database + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud db logs [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--startDate` | string | Yes | - | Start date for filtering logs | +| `--endDate` | string | Yes | - | End date for filtering logs | +| `--username` | string | Yes | - | Filter by username | +| `--command` | string | Yes | - | Filter by SQL command type | +| `--hasError` | boolean | Yes | - | Show only queries with errors | +| `--sessionId` | string | Yes | - | Filter by session ID (trace ID) | +| `--showSessionId` | boolean | No | `false` | Show session ID column in output | +| `--showUsername` | boolean | No | `false` | Show username column in output | +| `--pretty` | boolean | No | `false` | Show full formatted SQL on separate line | +| `--limit` | number | No | `100` | Maximum number of logs to return | +| `--timestamps` | boolean | No | `true` | Show timestamps in output | + +## Examples + +View query logs for database: + +```bash +agentuity cloud db logs my-database +``` + +Limit to 50 log entries: + +```bash +agentuity cloud db logs my-database --limit=50 +``` + +Show only queries with errors: + +```bash +agentuity cloud db logs my-database --has-error +``` + +Filter by username: + +```bash +agentuity cloud db logs my-database --username=user123 +``` + +Filter by SQL command type: + +```bash +agentuity cloud db logs my-database --command=SELECT +``` + +Filter by session ID: + +```bash +agentuity cloud db logs my-database --session-id=sess_abc123 +``` + +Show session ID column: + +```bash +agentuity cloud db logs my-database --show-session-id +``` + +Show username column: + +```bash +agentuity cloud db logs my-database --show-username +``` + +Show full formatted SQL on separate lines: + +```bash +agentuity cloud db logs my-database --pretty +``` + +## Output + +Returns: `array` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-db-sql/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-db-sql/SKILL.md new file mode 100644 index 00000000..84046038 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-db-sql/SKILL.md @@ -0,0 +1,71 @@ +--- +name: agentuity-cli-cloud-db-sql +description: Execute SQL query on a database. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud db sql" + tags: "slow requires-auth" +--- + +# Cloud Db Sql + +Execute SQL query on a database + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud db sql +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Execute SQL query: + +```bash +agentuity cloud db sql my-database "SELECT * FROM users LIMIT 10" +``` + +Execute query with JSON output: + +```bash +agentuity cloud db exec my-database "SELECT COUNT(*) FROM orders" --json +``` + +Query with filter: + +```bash +agentuity cloud db query my-database "SELECT * FROM products WHERE price > 100" +``` + +## Output + +Returns JSON object: + +```json +{ + "rows": "array", + "rowCount": "number", + "truncated": "boolean" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `rows` | array | Query results | +| `rowCount` | number | Number of rows returned | +| `truncated` | boolean | Whether results were truncated | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-deploy/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-deploy/SKILL.md new file mode 100644 index 00000000..0339aff9 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-deploy/SKILL.md @@ -0,0 +1,80 @@ +--- +name: agentuity-cli-cloud-deploy +description: Deploy project to the Agentuity Cloud. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud deploy" + tags: "mutating creates-resource slow api-intensive requires-auth requires-project" +--- + +# Cloud Deploy + +Deploy project to the Agentuity Cloud + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) +- auth login + +## Usage + +```bash +agentuity cloud deploy [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--logsUrl` | string | Yes | - | The url to the CI build logs | +| `--trigger` | string | No | `"cli"` | The trigger that caused the build | +| `--event` | string | No | `"manual"` | The event that triggered the deployment | +| `--pullRequestNumber` | number | Yes | - | the pull request number | +| `--pullRequestUrl` | string | Yes | - | the pull request url | +| `--message` | string | Yes | - | The message to associate with this build | +| `--commit` | string | Yes | - | The git commit SHA | +| `--branch` | string | Yes | - | The git branch | +| `--repo` | string | Yes | - | The git repo URL | +| `--provider` | string | Yes | - | The git provider (github, gitlab, bitbucket) | +| `--commitUrl` | string | Yes | - | The URL to the commit | +| `--reportFile` | string | Yes | - | file path to save build report JSON with errors, warnings, and diagnostics | +| `--childMode` | boolean | No | `false` | Internal: run as forked child process | + +## Examples + +Deploy current project: + +```bash +agentuity cloud deploy +``` + +Deploy with verbose output: + +```bash +agentuity cloud deploy --log-level=debug +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "deploymentId": "string", + "projectId": "string", + "logs": "array", + "urls": "object" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether deployment succeeded | +| `deploymentId` | string | Deployment ID | +| `projectId` | string | Project ID | +| `logs` | array | The deployment startup logs | +| `urls` | object | Deployment URLs | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-list/SKILL.md new file mode 100644 index 00000000..6ee239f5 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-list/SKILL.md @@ -0,0 +1,55 @@ +--- +name: agentuity-cli-cloud-deployment-list +description: List deployments. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud deployment list" + tags: "read-only slow requires-auth" +--- + +# Cloud Deployment List + +List deployments + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud deployment list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--project-id` | string | Yes | - | Project ID | +| `--count` | number | No | `10` | Number of deployments to list (1–100) | + +## Examples + +List 10 most recent deployments: + +```bash +agentuity cloud deployment list +``` + +List 25 most recent deployments: + +```bash +agentuity cloud deployment list --count=25 +``` + +List deployments for specific project: + +```bash +agentuity cloud deployment list --project-id=proj_abc123xyz +``` + +## Output + +Returns: `array` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-logs/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-logs/SKILL.md new file mode 100644 index 00000000..e8bbd655 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-logs/SKILL.md @@ -0,0 +1,70 @@ +--- +name: agentuity-cli-cloud-deployment-logs +description: View logs for a specific deployment. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud deployment logs" + tags: "read-only fast requires-auth requires-deployment" +--- + +# Cloud Deployment Logs + +View logs for a specific deployment + +## Prerequisites + +- Authenticated with `agentuity auth login` +- cloud deploy + +## Usage + +```bash +agentuity cloud deployment logs [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--projectId` | string | Yes | - | Project ID | +| `--limit` | number | No | `100` | Maximum number of logs to return | +| `--timestamps` | boolean | No | `true` | Show timestamps in output | + +## Examples + +View logs for deployment: + +```bash +agentuity cloud deployment logs deploy_abc123xyz +``` + +Limit to 50 log entries: + +```bash +agentuity cloud deployment logs deploy_abc123xyz --limit=50 +``` + +Hide timestamps: + +```bash +agentuity cloud deployment logs deploy_abc123xyz --no-timestamps +``` + +View logs with specific project: + +```bash +agentuity cloud deployment logs deploy_abc123xyz --project-id=proj_abc123xyz +``` + +## Output + +Returns: `array` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-remove/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-remove/SKILL.md new file mode 100644 index 00000000..bd71f31a --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-remove/SKILL.md @@ -0,0 +1,77 @@ +--- +name: agentuity-cli-cloud-deployment-remove +description: Remove a specific deployment. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud deployment remove" + tags: "destructive deletes-resource slow requires-auth requires-deployment" +--- + +# Cloud Deployment Remove + +Remove a specific deployment + +## Prerequisites + +- Authenticated with `agentuity auth login` +- cloud deploy + +## Usage + +```bash +agentuity cloud deployment remove [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--project-id` | string | Yes | - | Project ID | +| `--force` | boolean | No | `false` | Force removal without confirmation | + +## Examples + +Remove with confirmation: + +```bash +agentuity cloud deployment remove dep_abc123xyz +``` + +Remove without confirmation: + +```bash +agentuity cloud deployment remove dep_abc123xyz --force +``` + +Remove deployment from specific project: + +```bash +agentuity cloud deployment remove deployment-2024-11-20 --project-id=proj_abc123xyz +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "projectId": "string", + "deploymentId": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the removal succeeded | +| `projectId` | string | Project ID | +| `deploymentId` | string | Deployment ID that was removed | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-rollback/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-rollback/SKILL.md new file mode 100644 index 00000000..2070e91b --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-rollback/SKILL.md @@ -0,0 +1,63 @@ +--- +name: agentuity-cli-cloud-deployment-rollback +description: Rollback the latest to the previous deployment. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud deployment rollback" + tags: "destructive deletes-resource updates-resource slow api-intensive requires-auth requires-deployment" +--- + +# Cloud Deployment Rollback + +Rollback the latest to the previous deployment + +## Prerequisites + +- Authenticated with `agentuity auth login` +- cloud deploy + +## Usage + +```bash +agentuity cloud deployment rollback [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--project-id` | string | Yes | - | Project ID | + +## Examples + +Rollback to previous deployment: + +```bash +agentuity cloud deployment rollback +``` + +Rollback specific project: + +```bash +agentuity cloud deployment rollback --project-id=proj_abc123xyz +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "projectId": "string", + "targetDeploymentId": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the rollback succeeded | +| `projectId` | string | Project ID | +| `targetDeploymentId` | string | Deployment ID that was rolled back to | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-show/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-show/SKILL.md new file mode 100644 index 00000000..abd850e9 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-show/SKILL.md @@ -0,0 +1,94 @@ +--- +name: agentuity-cli-cloud-deployment-show +description: Show details about a specific deployment. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud deployment show" + tags: "read-only fast requires-auth requires-deployment" +--- + +# Cloud Deployment Show + +Show details about a specific deployment + +## Prerequisites + +- Authenticated with `agentuity auth login` +- cloud deploy + +## Usage + +```bash +agentuity cloud deployment show [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--project-id` | string | Yes | - | Project ID | + +## Examples + +Show deployment details by ID: + +```bash +agentuity cloud deployment show dep_abc123xyz +``` + +Show deployment for specific project: + +```bash +agentuity cloud deployment show deployment-2024-11-20 --project-id=proj_abc123xyz +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "state": "string", + "active": "boolean", + "createdAt": "string", + "updatedAt": "string", + "message": "string", + "tags": "array", + "customDomains": "array", + "cloudRegion": "string", + "resourceDb": "unknown", + "resourceStorage": "unknown", + "deploymentLogsURL": "unknown", + "buildLogsURL": "unknown", + "dnsRecords": "array", + "metadata": "object" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | Deployment ID | +| `state` | string | Deployment state | +| `active` | boolean | Whether deployment is active | +| `createdAt` | string | Creation timestamp | +| `updatedAt` | string | Last update timestamp | +| `message` | string | Deployment message | +| `tags` | array | Deployment tags | +| `customDomains` | array | Custom domains | +| `cloudRegion` | string | Cloud region | +| `resourceDb` | unknown | the database name | +| `resourceStorage` | unknown | the storage name | +| `deploymentLogsURL` | unknown | the url to the deployment logs | +| `buildLogsURL` | unknown | the url to the build logs | +| `dnsRecords` | array | DNS records for custom domains | +| `metadata` | object | Deployment metadata | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-undeploy/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-undeploy/SKILL.md new file mode 100644 index 00000000..ec5c1c3f --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-deployment-undeploy/SKILL.md @@ -0,0 +1,52 @@ +--- +name: agentuity-cli-cloud-deployment-undeploy +description: Undeploy the latest deployment. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud deployment undeploy" + tags: "destructive deletes-resource slow requires-auth requires-deployment" +--- + +# Cloud Deployment Undeploy + +Undeploy the latest deployment + +## Prerequisites + +- Authenticated with `agentuity auth login` +- cloud deploy + +## Usage + +```bash +agentuity cloud deployment undeploy [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--project-id` | string | Yes | - | Project ID | +| `--force` | boolean | No | `false` | Force undeploy without confirmation | + +## Examples + +Undeploy with confirmation: + +```bash +agentuity cloud deployment undeploy +``` + +Undeploy without confirmation: + +```bash +agentuity cloud deployment undeploy --force +``` + +Undeploy specific project: + +```bash +agentuity cloud deployment undeploy --project-id=proj_abc123xyz +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-env-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-env-delete/SKILL.md new file mode 100644 index 00000000..97835b30 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-env-delete/SKILL.md @@ -0,0 +1,79 @@ +--- +name: agentuity-cli-cloud-env-delete +description: Delete an environment variable or secret. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud env delete" + tags: "destructive deletes-resource slow requires-auth" +--- + +# Cloud Env Delete + +Delete an environment variable or secret + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud env delete [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--org` | optionalString | Yes | - | delete from organization level (use --org for default org, or --org for specific org) | + +## Examples + +Delete variable: + +```bash +agentuity env delete OLD_FEATURE_FLAG +``` + +Delete a secret: + +```bash +agentuity env rm API_KEY +``` + +Delete org-level secret: + +```bash +agentuity env rm OPENAI_API_KEY --org +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "key": "string", + "path": "string", + "secret": "boolean", + "scope": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `key` | string | Variable key that was deleted | +| `path` | string | Local file path where variable was removed (project scope only) | +| `secret` | boolean | Whether a secret was deleted | +| `scope` | string | The scope from which the variable was deleted | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-env-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-env-get/SKILL.md new file mode 100644 index 00000000..9ca0219a --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-env-get/SKILL.md @@ -0,0 +1,84 @@ +--- +name: agentuity-cli-cloud-env-get +description: Get an environment variable or secret value. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud env get" + tags: "read-only fast requires-auth" +--- + +# Cloud Env Get + +Get an environment variable or secret value + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud env get [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--maskSecret` | boolean | Yes | - | mask the secret value in output | +| `--org` | optionalString | Yes | - | get from organization level (use --org for default org, or --org for specific org) | + +## Examples + +Get environment variable: + +```bash +agentuity env get NODE_ENV +``` + +Get a secret value: + +```bash +agentuity env get API_KEY +``` + +Show unmasked value: + +```bash +agentuity env get API_KEY --no-mask +``` + +Get org-level variable: + +```bash +agentuity env get OPENAI_API_KEY --org +``` + +## Output + +Returns JSON object: + +```json +{ + "key": "string", + "value": "string", + "secret": "boolean", + "scope": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `key` | string | Environment variable key name | +| `value` | string | Environment variable value | +| `secret` | boolean | Whether the value is stored as a secret | +| `scope` | string | The scope where the variable was found | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-env-import/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-env-import/SKILL.md new file mode 100644 index 00000000..70736534 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-env-import/SKILL.md @@ -0,0 +1,85 @@ +--- +name: agentuity-cli-cloud-env-import +description: Import environment variables and secrets from a file to cloud and local .env. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud env import" + tags: "mutating creates-resource slow api-intensive requires-auth" +--- + +# Cloud Env Import + +Import environment variables and secrets from a file to cloud and local .env + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud env import [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--org` | optionalString | Yes | - | import to organization level (use --org for default org) | + +## Examples + +Import variables from backup file: + +```bash +agentuity cloud env import .env.backup +``` + +Import from .env.local file: + +```bash +agentuity cloud env import .env.local +``` + +Import to organization level: + +```bash +agentuity cloud env import .env.shared --org +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "imported": "number", + "envCount": "number", + "secretCount": "number", + "skipped": "number", + "path": "string", + "file": "string", + "scope": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether import succeeded | +| `imported` | number | Number of items imported | +| `envCount` | number | Number of env vars imported | +| `secretCount` | number | Number of secrets imported | +| `skipped` | number | Number of items skipped | +| `path` | string | Local file path where variables were saved (project scope only) | +| `file` | string | Source file path | +| `scope` | string | The scope where variables were imported | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-env-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-env-list/SKILL.md new file mode 100644 index 00000000..6af5d2fb --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-env-list/SKILL.md @@ -0,0 +1,69 @@ +--- +name: agentuity-cli-cloud-env-list +description: List all environment variables and secrets. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud env list" + tags: "read-only fast requires-auth" +--- + +# Cloud Env List + +List all environment variables and secrets + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud env list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--mask` | boolean | No | `true` | mask secret values in output (use --no-mask to show values) | +| `--secrets` | boolean | No | `false` | list only secrets | +| `--env-only` | boolean | No | `false` | list only environment variables | +| `--org` | optionalString | Yes | - | list organization-level variables only (use --org for default org) | + +## Examples + +List all variables (project + org merged): + +```bash +agentuity env list +``` + +Show unmasked values: + +```bash +agentuity env list --no-mask +``` + +List only secrets: + +```bash +agentuity env list --secrets +``` + +List only env vars: + +```bash +agentuity env list --env-only +``` + +List only organization-level variables: + +```bash +agentuity env list --org +``` + +## Output + +Returns: `object` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-env-pull/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-env-pull/SKILL.md new file mode 100644 index 00000000..5e044b67 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-env-pull/SKILL.md @@ -0,0 +1,74 @@ +--- +name: agentuity-cli-cloud-env-pull +description: Pull environment variables from cloud to local .env file. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud env pull" + tags: "slow requires-auth" +--- + +# Cloud Env Pull + +Pull environment variables from cloud to local .env file + +## Prerequisites + +- Authenticated with `agentuity auth login` +- cloud deploy + +## Usage + +```bash +agentuity cloud env pull [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--force` | boolean | No | `false` | overwrite local values with cloud values | +| `--org` | optionalString | Yes | - | pull from organization level (use --org for default org) | + +## Examples + +Pull from project: + +```bash +agentuity env pull +``` + +Overwrite local with cloud values: + +```bash +agentuity env pull --force +``` + +Pull from organization: + +```bash +agentuity env pull --org +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "pulled": "number", + "path": "string", + "force": "boolean", + "scope": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether pull succeeded | +| `pulled` | number | Number of items pulled | +| `path` | string | Local file path where variables were saved | +| `force` | boolean | Whether force mode was used | +| `scope` | string | The scope from which variables were pulled | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-env-push/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-env-push/SKILL.md new file mode 100644 index 00000000..8b44cd00 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-env-push/SKILL.md @@ -0,0 +1,69 @@ +--- +name: agentuity-cli-cloud-env-push +description: Push environment variables and secrets from local .env file to cloud. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud env push" + tags: "mutating updates-resource slow api-intensive requires-auth" +--- + +# Cloud Env Push + +Push environment variables and secrets from local .env file to cloud + +## Prerequisites + +- Authenticated with `agentuity auth login` +- env set + +## Usage + +```bash +agentuity cloud env push [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--org` | optionalString | Yes | - | push to organization level (use --org for default org) | + +## Examples + +Push all variables to cloud (project): + +```bash +agentuity env push +``` + +Push all variables to organization: + +```bash +agentuity env push --org +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "pushed": "number", + "envCount": "number", + "secretCount": "number", + "source": "string", + "scope": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether push succeeded | +| `pushed` | number | Number of items pushed | +| `envCount` | number | Number of env vars pushed | +| `secretCount` | number | Number of secrets pushed | +| `source` | string | Source file path | +| `scope` | string | The scope where variables were pushed | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-env-set/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-env-set/SKILL.md new file mode 100644 index 00000000..e28725ce --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-env-set/SKILL.md @@ -0,0 +1,87 @@ +--- +name: agentuity-cli-cloud-env-set +description: Set an environment variable or secret. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud env set" + tags: "mutating updates-resource slow requires-auth" +--- + +# Cloud Env Set + +Set an environment variable or secret + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud env set [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--secret` | boolean | No | `false` | store as a secret (encrypted and masked in UI) | +| `--org` | optionalString | Yes | - | set at organization level (use --org for default org, or --org for specific org) | + +## Examples + +Set environment variable: + +```bash +agentuity env set NODE_ENV production +``` + +Set port number: + +```bash +agentuity env set PORT 3000 +``` + +Set a secret value: + +```bash +agentuity env set API_KEY "sk_..." --secret +``` + +Set an organization-wide secret: + +```bash +agentuity env set OPENAI_API_KEY "sk_..." --secret --org +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "key": "string", + "path": "string", + "secret": "boolean", + "scope": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `key` | string | Environment variable key | +| `path` | string | Local file path where env var was saved (project scope only) | +| `secret` | boolean | Whether the value was stored as a secret | +| `scope` | string | The scope where the variable was set | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-create-namespace/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-create-namespace/SKILL.md new file mode 100644 index 00000000..cff2ce1f --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-create-namespace/SKILL.md @@ -0,0 +1,69 @@ +--- +name: agentuity-cli-cloud-keyvalue-create-namespace +description: Create a new keyvalue namespace. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud keyvalue create-namespace" + tags: "mutating creates-resource slow requires-auth" +--- + +# Cloud Keyvalue Create-namespace + +Create a new keyvalue namespace + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud keyvalue create-namespace +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Create production namespace: + +```bash +agentuity kv create-namespace production +``` + +Create staging namespace (using alias): + +```bash +agentuity kv create staging +``` + +Create cache namespace: + +```bash +agentuity kv create cache +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "namespace": "string", + "message": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `namespace` | string | Namespace name | +| `message` | string | Success message | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-delete-namespace/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-delete-namespace/SKILL.md new file mode 100644 index 00000000..771b041e --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-delete-namespace/SKILL.md @@ -0,0 +1,70 @@ +--- +name: agentuity-cli-cloud-keyvalue-delete-namespace +description: Delete a keyvalue namespace and all its keys. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud keyvalue delete-namespace" + tags: "destructive deletes-resource slow requires-auth" +--- + +# Cloud Keyvalue Delete-namespace + +Delete a keyvalue namespace and all its keys + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud keyvalue delete-namespace +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Delete staging namespace (interactive): + +```bash +agentuity kv delete-namespace staging +``` + +Delete cache without confirmation: + +```bash +agentuity kv rm-namespace cache --confirm +``` + +Force delete production: + +```bash +agentuity kv delete-namespace production --confirm +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "namespace": "string", + "message": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the deletion succeeded | +| `namespace` | string | Deleted namespace name | +| `message` | string | Confirmation message | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-delete/SKILL.md new file mode 100644 index 00000000..3998f7c3 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-delete/SKILL.md @@ -0,0 +1,72 @@ +--- +name: agentuity-cli-cloud-keyvalue-delete +description: Delete a key from the keyvalue storage. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud keyvalue delete" + tags: "destructive deletes-resource slow requires-auth" +--- + +# Cloud Keyvalue Delete + +Delete a key from the keyvalue storage + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud keyvalue delete +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Delete user data: + +```bash +agentuity kv delete production user:123 +``` + +Delete cached session: + +```bash +agentuity kv delete cache session:abc +``` + +Delete homepage cache (using alias): + +```bash +agentuity kv rm staging cache:homepage +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "namespace": "string", + "key": "string", + "durationMs": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `namespace` | string | Namespace name | +| `key` | string | Key name | +| `durationMs` | number | Operation duration in milliseconds | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-get/SKILL.md new file mode 100644 index 00000000..a943db19 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-get/SKILL.md @@ -0,0 +1,70 @@ +--- +name: agentuity-cli-cloud-keyvalue-get +description: Get a value from the keyvalue storage. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud keyvalue get" + tags: "read-only fast requires-auth" +--- + +# Cloud Keyvalue Get + +Get a value from the keyvalue storage + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud keyvalue get +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Get user data: + +```bash +agentuity kv get production user:123 +``` + +Get cached session: + +```bash +agentuity kv get cache session:abc +``` + +Get homepage cache: + +```bash +agentuity kv get staging cache:homepage +``` + +## Output + +Returns JSON object: + +```json +{ + "exists": "boolean", + "data": "unknown", + "contentType": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `exists` | boolean | Whether the key exists | +| `data` | unknown | Value data (string or binary) | +| `contentType` | string | Content type | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-keys/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-keys/SKILL.md new file mode 100644 index 00000000..64a9147a --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-keys/SKILL.md @@ -0,0 +1,67 @@ +--- +name: agentuity-cli-cloud-keyvalue-keys +description: List all keys in a keyvalue namespace. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud keyvalue keys" + tags: "read-only slow requires-auth" +--- + +# Cloud Keyvalue Keys + +List all keys in a keyvalue namespace + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud keyvalue keys +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +List all keys in production: + +```bash +agentuity kv keys production +``` + +List all cached keys (using alias): + +```bash +agentuity kv ls cache +``` + +List all staging keys: + +```bash +agentuity kv list staging +``` + +## Output + +Returns JSON object: + +```json +{ + "namespace": "string", + "keys": "array" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `namespace` | string | Namespace name | +| `keys` | array | List of keys in the namespace | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-list-namespaces/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-list-namespaces/SKILL.md new file mode 100644 index 00000000..7ca83c35 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-list-namespaces/SKILL.md @@ -0,0 +1,48 @@ +--- +name: agentuity-cli-cloud-keyvalue-list-namespaces +description: List all keyvalue namespaces. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud keyvalue list-namespaces" + tags: "read-only fast requires-auth" +--- + +# Cloud Keyvalue List-namespaces + +List all keyvalue namespaces + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud keyvalue list-namespaces +``` + +## Examples + +List all namespaces: + +```bash +agentuity kv list-namespaces +``` + +List namespaces (using alias): + +```bash +agentuity kv namespaces +``` + +List namespaces (short alias): + +```bash +agentuity kv ns +``` + +## Output + +Returns: `array` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-repl/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-repl/SKILL.md new file mode 100644 index 00000000..54d5b756 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-repl/SKILL.md @@ -0,0 +1,32 @@ +--- +name: agentuity-cli-cloud-keyvalue-repl +description: Start an interactive repl for working with keyvalue database. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud keyvalue repl" + tags: "slow requires-auth" +--- + +# Cloud Keyvalue Repl + +Start an interactive repl for working with keyvalue database + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud keyvalue repl +``` + +## Examples + +Start interactive KV session: + +```bash +agentuity kv repl +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-search/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-search/SKILL.md new file mode 100644 index 00000000..20f2d5f0 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-search/SKILL.md @@ -0,0 +1,70 @@ +--- +name: agentuity-cli-cloud-keyvalue-search +description: Search for keys matching a keyword in a keyvalue namespace. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud keyvalue search" + tags: "read-only slow requires-auth" +--- + +# Cloud Keyvalue Search + +Search for keys matching a keyword in a keyvalue namespace + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud keyvalue search +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Find all user-related keys: + +```bash +agentuity kv search production user +``` + +Find all session keys in cache: + +```bash +agentuity kv search cache session +``` + +Find all config keys: + +```bash +agentuity kv search staging config +``` + +## Output + +Returns JSON object: + +```json +{ + "namespace": "string", + "keyword": "string", + "results": "array" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `namespace` | string | Namespace name | +| `keyword` | string | Search keyword used | +| `results` | array | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-set/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-set/SKILL.md new file mode 100644 index 00000000..3420d1d2 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-set/SKILL.md @@ -0,0 +1,78 @@ +--- +name: agentuity-cli-cloud-keyvalue-set +description: Set a key and value in the keyvalue storage. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " [ttl]" +metadata: + command: "agentuity cloud keyvalue set" + tags: "mutating updates-resource slow requires-auth" +--- + +# Cloud Keyvalue Set + +Set a key and value in the keyvalue storage + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud keyvalue set [ttl] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | +| `` | string | Yes | - | +| `` | string | No | - | + +## Examples + +Store user data: + +```bash +agentuity kv set production user:123 '{"name":"Alice","email":"alice@example.com"}' +``` + +Store session with 1h TTL: + +```bash +agentuity kv set cache session:abc "session-data-here" --ttl 3600 +``` + +Cache homepage for 10m: + +```bash +agentuity kv set staging cache:homepage "..." --ttl 600 +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "namespace": "string", + "key": "string", + "contentType": "string", + "durationMs": "number", + "ttl": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `namespace` | string | Namespace name | +| `key` | string | Key name | +| `contentType` | string | Content type (application/json or text/plain) | +| `durationMs` | number | Operation duration in milliseconds | +| `ttl` | number | TTL in seconds if set | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-stats/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-stats/SKILL.md new file mode 100644 index 00000000..65ac1c1b --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-keyvalue-stats/SKILL.md @@ -0,0 +1,51 @@ +--- +name: agentuity-cli-cloud-keyvalue-stats +description: Get statistics for keyvalue storage. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[name]" +metadata: + command: "agentuity cloud keyvalue stats" + tags: "read-only fast requires-auth" +--- + +# Cloud Keyvalue Stats + +Get statistics for keyvalue storage + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud keyvalue stats [name] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | No | - | + +## Examples + +Show stats for all namespaces: + +```bash +agentuity kv stats +``` + +Show stats for production namespace: + +```bash +agentuity kv stats production +``` + +Show stats for cache namespace: + +```bash +agentuity kv stats cache +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-ack/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-ack/SKILL.md new file mode 100644 index 00000000..b4ab491b --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-ack/SKILL.md @@ -0,0 +1,58 @@ +--- +name: agentuity-cli-cloud-queue-ack +description: Acknowledge a message (mark as processed). Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud queue ack" + tags: "mutating updates-resource requires-auth" +--- + +# Cloud Queue Ack + +Acknowledge a message (mark as processed) + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue ack +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Acknowledge a message: + +```bash +agentuity cloud queue ack my-queue msg-123 +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "queue_name": "string", + "message_id": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | +| `queue_name` | string | - | +| `message_id` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-create/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-create/SKILL.md new file mode 100644 index 00000000..364590e0 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-create/SKILL.md @@ -0,0 +1,76 @@ +--- +name: agentuity-cli-cloud-queue-create +description: Create a new queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud queue create" + tags: "mutating creates-resource requires-auth" +--- + +# Cloud Queue Create + +Create a new queue + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud queue create [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--name` | string | Yes | - | Queue name (auto-generated if not provided) | +| `--description` | string | Yes | - | Queue description | +| `--ttl` | number | Yes | - | Default message TTL in seconds | +| `--visibilityTimeout` | number | Yes | - | Default visibility timeout in seconds (worker queues) | +| `--maxRetries` | number | Yes | - | Maximum retry attempts for failed messages | + +## Examples + +Create a worker queue named my-tasks: + +```bash +agentuity cloud queue create worker --name my-tasks +``` + +Create a pubsub queue with 24h TTL: + +```bash +agentuity cloud queue create pubsub --name events --ttl 86400 +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "name": "string", + "queue_type": "string", + "created_at": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | - | +| `name` | string | - | +| `queue_type` | string | - | +| `created_at` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-delete/SKILL.md new file mode 100644 index 00000000..bd2cd146 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-delete/SKILL.md @@ -0,0 +1,61 @@ +--- +name: agentuity-cli-cloud-queue-delete +description: Delete a queue by name. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud queue delete" + tags: "mutating deletes-resource requires-auth" +--- + +# Cloud Queue Delete + +Delete a queue by name + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue delete [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--confirm` | boolean | No | `false` | Skip confirmation prompt | + +## Examples + +Delete a queue (requires confirmation): + +```bash +agentuity cloud queue delete my-queue --confirm +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "name": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | +| `name` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-destinations-create/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-destinations-create/SKILL.md new file mode 100644 index 00000000..7cfdcaa0 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-destinations-create/SKILL.md @@ -0,0 +1,75 @@ +--- +name: agentuity-cli-cloud-queue-destinations-create +description: Create a webhook destination for a queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud queue destinations create" + tags: "mutating creates-resource requires-auth" +--- + +# Cloud Queue Destinations Create + +Create a webhook destination for a queue + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue destinations create [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--url` | string | Yes | - | Webhook URL | +| `--method` | string | No | `"POST"` | HTTP method (default: POST) | +| `--timeout` | number | Yes | - | Request timeout in milliseconds | + +## Examples + +Create a webhook destination: + +```bash +agentuity cloud queue destinations create my-queue --url https://example.com/webhook +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "queue_id": "string", + "destination_type": "string", + "config": "object", + "enabled": "boolean", + "stats": "object", + "created_at": "string", + "updated_at": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | - | +| `queue_id` | string | - | +| `destination_type` | string | - | +| `config` | object | - | +| `enabled` | boolean | - | +| `stats` | object | - | +| `created_at` | string | - | +| `updated_at` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-destinations-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-destinations-delete/SKILL.md new file mode 100644 index 00000000..2ccd6472 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-destinations-delete/SKILL.md @@ -0,0 +1,58 @@ +--- +name: agentuity-cli-cloud-queue-destinations-delete +description: Delete a destination from a queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud queue destinations delete" + tags: "mutating deletes-resource requires-auth" +--- + +# Cloud Queue Destinations Delete + +Delete a destination from a queue + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue destinations delete +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Delete a destination: + +```bash +agentuity cloud queue destinations delete my-queue dest-123 +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "queue_name": "string", + "destination_id": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | +| `queue_name` | string | - | +| `destination_id` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-destinations-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-destinations-list/SKILL.md new file mode 100644 index 00000000..b3445bc7 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-destinations-list/SKILL.md @@ -0,0 +1,53 @@ +--- +name: agentuity-cli-cloud-queue-destinations-list +description: List destinations for a queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud queue destinations list" + tags: "read-only fast requires-auth" +--- + +# Cloud Queue Destinations List + +List destinations for a queue + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue destinations list +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +List queue destinations: + +```bash +agentuity cloud queue destinations list my-queue +``` + +## Output + +Returns JSON object: + +```json +{ + "destinations": "array" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `destinations` | array | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-destinations-update/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-destinations-update/SKILL.md new file mode 100644 index 00000000..f4d6d2f0 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-destinations-update/SKILL.md @@ -0,0 +1,78 @@ +--- +name: agentuity-cli-cloud-queue-destinations-update +description: Update a destination. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud queue destinations update" + tags: "mutating requires-auth" +--- + +# Cloud Queue Destinations Update + +Update a destination + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue destinations update [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--url` | string | Yes | - | Webhook URL | +| `--method` | string | Yes | - | HTTP method | +| `--timeout` | number | Yes | - | Request timeout in milliseconds | +| `--enabled` | boolean | Yes | - | Enable the destination | +| `--disabled` | boolean | Yes | - | Disable the destination | + +## Examples + +Disable a destination: + +```bash +agentuity cloud queue destinations update my-queue dest_abc123 --disabled +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "queue_id": "string", + "destination_type": "string", + "config": "object", + "enabled": "boolean", + "stats": "object", + "created_at": "string", + "updated_at": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | - | +| `queue_id` | string | - | +| `destination_type` | string | - | +| `config` | object | - | +| `enabled` | boolean | - | +| `stats` | object | - | +| `created_at` | string | - | +| `updated_at` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-dlq-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-dlq-list/SKILL.md new file mode 100644 index 00000000..fa672c02 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-dlq-list/SKILL.md @@ -0,0 +1,62 @@ +--- +name: agentuity-cli-cloud-queue-dlq-list +description: List messages in the dead letter queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud queue dlq list" + tags: "read-only fast requires-auth" +--- + +# Cloud Queue Dlq List + +List messages in the dead letter queue + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue dlq list [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--limit` | number | Yes | - | Maximum number of messages to return | +| `--offset` | number | Yes | - | Offset for pagination | + +## Examples + +List DLQ messages: + +```bash +agentuity cloud queue dlq list my-queue +``` + +## Output + +Returns JSON object: + +```json +{ + "messages": "array", + "total": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `messages` | array | - | +| `total` | number | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-dlq-purge/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-dlq-purge/SKILL.md new file mode 100644 index 00000000..c8b35fbf --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-dlq-purge/SKILL.md @@ -0,0 +1,61 @@ +--- +name: agentuity-cli-cloud-queue-dlq-purge +description: Purge all messages from the dead letter queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud queue dlq purge" + tags: "mutating deletes-resource requires-auth" +--- + +# Cloud Queue Dlq Purge + +Purge all messages from the dead letter queue + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue dlq purge [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--confirm` | boolean | No | `false` | Skip confirmation prompt | + +## Examples + +Purge all DLQ messages: + +```bash +agentuity cloud queue dlq purge my-queue --confirm +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "queue_name": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | +| `queue_name` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-dlq-replay/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-dlq-replay/SKILL.md new file mode 100644 index 00000000..9a8ebba9 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-dlq-replay/SKILL.md @@ -0,0 +1,56 @@ +--- +name: agentuity-cli-cloud-queue-dlq-replay +description: Replay a message from the dead letter queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud queue dlq replay" + tags: "mutating updates-resource requires-auth" +--- + +# Cloud Queue Dlq Replay + +Replay a message from the dead letter queue + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue dlq replay +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Replay a DLQ message: + +```bash +agentuity cloud queue dlq replay my-queue msg-123 +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "message": "object" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | +| `message` | object | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-get/SKILL.md new file mode 100644 index 00000000..c1e2373d --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-get/SKILL.md @@ -0,0 +1,46 @@ +--- +name: agentuity-cli-cloud-queue-get +description: Get queue or message details. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " [message_id]" +metadata: + command: "agentuity cloud queue get" + tags: "read-only fast requires-auth" +--- + +# Cloud Queue Get + +Get queue or message details + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue get [message_id] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | No | - | + +## Examples + +Get queue details: + +```bash +agentuity cloud queue get my-queue +``` + +Get message details: + +```bash +agentuity cloud queue get my-queue msg_abc123 +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-list/SKILL.md new file mode 100644 index 00000000..d60a23ea --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-list/SKILL.md @@ -0,0 +1,61 @@ +--- +name: agentuity-cli-cloud-queue-list +description: List all queues. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud queue list" + tags: "read-only fast requires-auth" +--- + +# Cloud Queue List + +List all queues + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--limit` | number | Yes | - | Maximum number of queues to return | +| `--offset` | number | Yes | - | Offset for pagination | + +## Examples + +List all queues: + +```bash +agentuity cloud queue list +``` + +List all queues (alias): + +```bash +agentuity cloud queue ls +``` + +## Output + +Returns JSON object: + +```json +{ + "queues": "array", + "total": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `queues` | array | - | +| `total` | number | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-messages/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-messages/SKILL.md new file mode 100644 index 00000000..d12e8724 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-messages/SKILL.md @@ -0,0 +1,59 @@ +--- +name: agentuity-cli-cloud-queue-messages +description: List messages in a queue or get a specific message. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " [message_id]" +metadata: + command: "agentuity cloud queue messages" + tags: "read-only fast requires-auth" +--- + +# Cloud Queue Messages + +List messages in a queue or get a specific message + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue messages [message_id] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--limit` | number | Yes | - | Maximum number of messages to return | +| `--offset` | number | Yes | - | Offset for pagination | + +## Examples + +List messages in a queue: + +```bash +agentuity cloud queue messages my-queue +``` + +List first 10 messages: + +```bash +agentuity cloud queue messages my-queue --limit 10 +``` + +Get a specific message by ID: + +```bash +agentuity cloud queue messages my-queue msg_abc123 +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-nack/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-nack/SKILL.md new file mode 100644 index 00000000..0da2048b --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-nack/SKILL.md @@ -0,0 +1,58 @@ +--- +name: agentuity-cli-cloud-queue-nack +description: Negative acknowledge a message (return to queue for retry). Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud queue nack" + tags: "mutating updates-resource requires-auth" +--- + +# Cloud Queue Nack + +Negative acknowledge a message (return to queue for retry) + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue nack +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Return message to queue for retry: + +```bash +agentuity cloud queue nack my-queue msg-123 +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "queue_name": "string", + "message_id": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | +| `queue_name` | string | - | +| `message_id` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-pause/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-pause/SKILL.md new file mode 100644 index 00000000..218cb5d9 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-pause/SKILL.md @@ -0,0 +1,87 @@ +--- +name: agentuity-cli-cloud-queue-pause +description: Pause message delivery for a queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud queue pause" + tags: "mutating updates-resource requires-auth" +--- + +# Cloud Queue Pause + +Pause message delivery for a queue + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue pause +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Pause a queue: + +```bash +agentuity cloud queue pause my-queue +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "name": "string", + "description": "unknown", + "queue_type": "string", + "default_ttl_seconds": "unknown", + "default_visibility_timeout_seconds": "number", + "default_max_retries": "number", + "default_retry_backoff_ms": "number", + "default_retry_max_backoff_ms": "number", + "default_retry_multiplier": "number", + "max_in_flight_per_client": "number", + "next_offset": "number", + "message_count": "number", + "dlq_count": "number", + "created_at": "string", + "updated_at": "string", + "paused_at": "unknown", + "retention_seconds": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | - | +| `name` | string | - | +| `description` | unknown | - | +| `queue_type` | string | - | +| `default_ttl_seconds` | unknown | - | +| `default_visibility_timeout_seconds` | number | - | +| `default_max_retries` | number | - | +| `default_retry_backoff_ms` | number | - | +| `default_retry_max_backoff_ms` | number | - | +| `default_retry_multiplier` | number | - | +| `max_in_flight_per_client` | number | - | +| `next_offset` | number | - | +| `message_count` | number | - | +| `dlq_count` | number | - | +| `created_at` | string | - | +| `updated_at` | string | - | +| `paused_at` | unknown | - | +| `retention_seconds` | number | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-publish/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-publish/SKILL.md new file mode 100644 index 00000000..cb4ee2ba --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-publish/SKILL.md @@ -0,0 +1,109 @@ +--- +name: agentuity-cli-cloud-queue-publish +description: Publish a message to a queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud queue publish" + tags: "mutating creates-resource requires-auth" +--- + +# Cloud Queue Publish + +Publish a message to a queue + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue publish [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--metadata` | string | Yes | - | Message metadata as JSON | +| `--partitionKey` | string | Yes | - | Partition key for ordering | +| `--idempotencyKey` | string | Yes | - | Idempotency key to prevent duplicates | +| `--ttl` | number | Yes | - | Message TTL in seconds | + +## Examples + +Publish a JSON message: + +```bash +agentuity cloud queue publish my-queue '{"task":"process"}' +``` + +Publish with metadata: + +```bash +agentuity cloud queue publish my-queue '{"task":"process"}' --metadata '{"priority":"high"}' +``` + +Publish with 1h TTL: + +```bash +agentuity cloud queue publish my-queue "hello" --ttl 3600 +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "queue_id": "string", + "offset": "number", + "payload": "unknown", + "size": "number", + "metadata": "unknown", + "state": "string", + "idempotency_key": "unknown", + "partition_key": "unknown", + "ttl_seconds": "unknown", + "delivery_attempts": "number", + "max_retries": "number", + "published_at": "string", + "expires_at": "unknown", + "delivered_at": "unknown", + "acknowledged_at": "unknown", + "created_at": "string", + "updated_at": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | - | +| `queue_id` | string | - | +| `offset` | number | - | +| `payload` | unknown | - | +| `size` | number | - | +| `metadata` | unknown | - | +| `state` | string | - | +| `idempotency_key` | unknown | - | +| `partition_key` | unknown | - | +| `ttl_seconds` | unknown | - | +| `delivery_attempts` | number | - | +| `max_retries` | number | - | +| `published_at` | string | - | +| `expires_at` | unknown | - | +| `delivered_at` | unknown | - | +| `acknowledged_at` | unknown | - | +| `created_at` | string | - | +| `updated_at` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-receive/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-receive/SKILL.md new file mode 100644 index 00000000..53a491b9 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-receive/SKILL.md @@ -0,0 +1,65 @@ +--- +name: agentuity-cli-cloud-queue-receive +description: Receive (claim) a message from a worker queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud queue receive" + tags: "read-only fast requires-auth" +--- + +# Cloud Queue Receive + +Receive (claim) a message from a worker queue + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue receive [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--timeout` | number | No | `30` | Visibility timeout in seconds (default: 30) | + +## Examples + +Receive next message: + +```bash +agentuity cloud queue receive my-queue +``` + +Receive with 60s visibility timeout: + +```bash +agentuity cloud queue receive my-queue --timeout 60 +``` + +## Output + +Returns JSON object: + +```json +{ + "message": "unknown" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `message` | unknown | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-resume/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-resume/SKILL.md new file mode 100644 index 00000000..06620eb4 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-resume/SKILL.md @@ -0,0 +1,87 @@ +--- +name: agentuity-cli-cloud-queue-resume +description: Resume message delivery for a paused queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud queue resume" + tags: "mutating updates-resource requires-auth" +--- + +# Cloud Queue Resume + +Resume message delivery for a paused queue + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue resume +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Resume a paused queue: + +```bash +agentuity cloud queue resume my-queue +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "name": "string", + "description": "unknown", + "queue_type": "string", + "default_ttl_seconds": "unknown", + "default_visibility_timeout_seconds": "number", + "default_max_retries": "number", + "default_retry_backoff_ms": "number", + "default_retry_max_backoff_ms": "number", + "default_retry_multiplier": "number", + "max_in_flight_per_client": "number", + "next_offset": "number", + "message_count": "number", + "dlq_count": "number", + "created_at": "string", + "updated_at": "string", + "paused_at": "unknown", + "retention_seconds": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | - | +| `name` | string | - | +| `description` | unknown | - | +| `queue_type` | string | - | +| `default_ttl_seconds` | unknown | - | +| `default_visibility_timeout_seconds` | number | - | +| `default_max_retries` | number | - | +| `default_retry_backoff_ms` | number | - | +| `default_retry_max_backoff_ms` | number | - | +| `default_retry_multiplier` | number | - | +| `max_in_flight_per_client` | number | - | +| `next_offset` | number | - | +| `message_count` | number | - | +| `dlq_count` | number | - | +| `created_at` | string | - | +| `updated_at` | string | - | +| `paused_at` | unknown | - | +| `retention_seconds` | number | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-create/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-create/SKILL.md new file mode 100644 index 00000000..d76fdcf5 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-create/SKILL.md @@ -0,0 +1,92 @@ +--- +name: agentuity-cli-cloud-queue-sources-create +description: Create a source for a queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud queue sources create" + tags: "mutating creates-resource requires-auth" +--- + +# Cloud Queue Sources Create + +Create a source for a queue + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue sources create [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--name` | string | Yes | - | Source name | +| `--description` | string | Yes | - | Source description | +| `--auth-type` | string | No | `"none"` | Authentication type | +| `--auth-value` | string | Yes | - | Authentication value | + +## Examples + +Create a source with header authentication: + +```bash +agentuity cloud queue sources create my-queue --name webhook-1 --auth-type header --auth-value "X-API-Key:secret123" +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "queue_id": "string", + "name": "string", + "description": "unknown", + "auth_type": "string", + "enabled": "boolean", + "url": "string", + "request_count": "number", + "success_count": "number", + "failure_count": "number", + "last_request_at": "unknown", + "last_success_at": "unknown", + "last_failure_at": "unknown", + "last_failure_error": "unknown", + "created_at": "string", + "updated_at": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | - | +| `queue_id` | string | - | +| `name` | string | - | +| `description` | unknown | - | +| `auth_type` | string | - | +| `enabled` | boolean | - | +| `url` | string | - | +| `request_count` | number | - | +| `success_count` | number | - | +| `failure_count` | number | - | +| `last_request_at` | unknown | - | +| `last_success_at` | unknown | - | +| `last_failure_at` | unknown | - | +| `last_failure_error` | unknown | - | +| `created_at` | string | - | +| `updated_at` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-delete/SKILL.md new file mode 100644 index 00000000..dbe87247 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-delete/SKILL.md @@ -0,0 +1,58 @@ +--- +name: agentuity-cli-cloud-queue-sources-delete +description: Delete a source from a queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud queue sources delete" + tags: "mutating deletes-resource requires-auth" +--- + +# Cloud Queue Sources Delete + +Delete a source from a queue + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue sources delete +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Delete a source: + +```bash +agentuity cloud queue sources delete my-queue qsrc_abc123 +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "queue_name": "string", + "source_id": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | +| `queue_name` | string | - | +| `source_id` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-get/SKILL.md new file mode 100644 index 00000000..501ca2ee --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-get/SKILL.md @@ -0,0 +1,84 @@ +--- +name: agentuity-cli-cloud-queue-sources-get +description: Get a source by ID. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud queue sources get" + tags: "read-only fast requires-auth" +--- + +# Cloud Queue Sources Get + +Get a source by ID + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue sources get +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Get source details: + +```bash +agentuity cloud queue sources get my-queue qsrc_abc123 +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "queue_id": "string", + "name": "string", + "description": "unknown", + "auth_type": "string", + "enabled": "boolean", + "url": "string", + "request_count": "number", + "success_count": "number", + "failure_count": "number", + "last_request_at": "unknown", + "last_success_at": "unknown", + "last_failure_at": "unknown", + "last_failure_error": "unknown", + "created_at": "string", + "updated_at": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | - | +| `queue_id` | string | - | +| `name` | string | - | +| `description` | unknown | - | +| `auth_type` | string | - | +| `enabled` | boolean | - | +| `url` | string | - | +| `request_count` | number | - | +| `success_count` | number | - | +| `failure_count` | number | - | +| `last_request_at` | unknown | - | +| `last_success_at` | unknown | - | +| `last_failure_at` | unknown | - | +| `last_failure_error` | unknown | - | +| `created_at` | string | - | +| `updated_at` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-list/SKILL.md new file mode 100644 index 00000000..77087701 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-list/SKILL.md @@ -0,0 +1,53 @@ +--- +name: agentuity-cli-cloud-queue-sources-list +description: List sources for a queue. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud queue sources list" + tags: "read-only fast requires-auth" +--- + +# Cloud Queue Sources List + +List sources for a queue + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue sources list +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +List queue sources: + +```bash +agentuity cloud queue sources list my-queue +``` + +## Output + +Returns JSON object: + +```json +{ + "sources": "array" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `sources` | array | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-update/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-update/SKILL.md new file mode 100644 index 00000000..bd98e06e --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-sources-update/SKILL.md @@ -0,0 +1,95 @@ +--- +name: agentuity-cli-cloud-queue-sources-update +description: Update a source. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud queue sources update" + tags: "mutating requires-auth" +--- + +# Cloud Queue Sources Update + +Update a source + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud queue sources update [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--name` | string | Yes | - | New source name | +| `--description` | string | Yes | - | New description | +| `--auth-type` | string | Yes | - | Authentication type | +| `--auth-value` | string | Yes | - | Authentication value | +| `--enabled` | boolean | Yes | - | Enable the source | +| `--disabled` | boolean | Yes | - | Disable the source | + +## Examples + +Disable a source: + +```bash +agentuity cloud queue sources update my-queue qsrc_abc123 --disabled +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "queue_id": "string", + "name": "string", + "description": "unknown", + "auth_type": "string", + "enabled": "boolean", + "url": "string", + "request_count": "number", + "success_count": "number", + "failure_count": "number", + "last_request_at": "unknown", + "last_success_at": "unknown", + "last_failure_at": "unknown", + "last_failure_error": "unknown", + "created_at": "string", + "updated_at": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | - | +| `queue_id` | string | - | +| `name` | string | - | +| `description` | unknown | - | +| `auth_type` | string | - | +| `enabled` | boolean | - | +| `url` | string | - | +| `request_count` | number | - | +| `success_count` | number | - | +| `failure_count` | number | - | +| `last_request_at` | unknown | - | +| `last_success_at` | unknown | - | +| `last_failure_at` | unknown | - | +| `last_failure_error` | unknown | - | +| `created_at` | string | - | +| `updated_at` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-queue-stats/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-stats/SKILL.md new file mode 100644 index 00000000..b7c88c26 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-queue-stats/SKILL.md @@ -0,0 +1,68 @@ +--- +name: agentuity-cli-cloud-queue-stats +description: View queue analytics and statistics. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[name]" +metadata: + command: "agentuity cloud queue stats" + tags: "read-only requires-auth" +--- + +# Cloud Queue Stats + +View queue analytics and statistics + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud queue stats [name] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--live` | boolean | No | `false` | Stream real-time stats | +| `--interval` | number | No | `5` | Refresh interval in seconds (for --live) | +| `--start` | string | Yes | - | Start time (ISO 8601) | +| `--end` | string | Yes | - | End time (ISO 8601) | +| `--granularity` | string | Yes | - | Time granularity | + +## Examples + +View org-level analytics for all queues: + +```bash +agentuity cloud queue stats +``` + +View detailed analytics for a specific queue: + +```bash +agentuity cloud queue stats --name my-queue +``` + +Stream real-time stats (Ctrl+C to exit): + +```bash +agentuity cloud queue stats --live +``` + +Stream queue stats every 10 seconds: + +```bash +agentuity cloud queue stats --name my-queue --live --interval 10 +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-redis-show/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-redis-show/SKILL.md new file mode 100644 index 00000000..d3dd604b --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-redis-show/SKILL.md @@ -0,0 +1,65 @@ +--- +name: agentuity-cli-cloud-redis-show +description: Show Redis connection URL. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud redis show" + tags: "read-only fast requires-auth" +--- + +# Cloud Redis Show + +Show Redis connection URL + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud redis show [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--showCredentials` | boolean | Yes | - | Show credentials in plain text (default: masked in terminal, unmasked in JSON) | + +## Examples + +Show Redis connection URL: + +```bash +agentuity cloud redis show +``` + +Show Redis URL with credentials visible: + +```bash +agentuity cloud redis show --show-credentials +``` + +Show Redis URL as JSON: + +```bash +agentuity --json cloud redis show +``` + +## Output + +Returns JSON object: + +```json +{ + "url": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `url` | string | Redis connection URL | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-region-current/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-region-current/SKILL.md new file mode 100644 index 00000000..c4631e57 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-region-current/SKILL.md @@ -0,0 +1,34 @@ +--- +name: agentuity-cli-cloud-region-current +description: Show the current default region. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud region current" + tags: "read-only fast" +--- + +# Cloud Region Current + +Show the current default region + +## Usage + +```bash +agentuity cloud region current +``` + +## Examples + +Show default region: + +```bash +agentuity cloud region current +``` + +Show output in JSON format: + +```bash +agentuity cloud region current --json +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-region-select/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-region-select/SKILL.md new file mode 100644 index 00000000..2c90d886 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-region-select/SKILL.md @@ -0,0 +1,61 @@ +--- +name: agentuity-cli-cloud-region-select +description: Set the default cloud region for all commands. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[region]" +metadata: + command: "agentuity cloud region select" + tags: "fast requires-auth" +--- + +# Cloud Region Select + +Set the default cloud region for all commands + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud region select [region] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | No | - | + +## Examples + +Select default region: + +```bash +agentuity cloud region select +``` + +Set specific region as default: + +```bash +agentuity cloud region select usc +``` + +## Output + +Returns JSON object: + +```json +{ + "region": "string", + "description": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `region` | string | The selected region code | +| `description` | string | The region description | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-region-unselect/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-region-unselect/SKILL.md new file mode 100644 index 00000000..fab26585 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-region-unselect/SKILL.md @@ -0,0 +1,42 @@ +--- +name: agentuity-cli-cloud-region-unselect +description: Clear the default region preference. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud region unselect" + tags: "fast" +--- + +# Cloud Region Unselect + +Clear the default region preference + +## Usage + +```bash +agentuity cloud region unselect +``` + +## Examples + +Clear default region: + +```bash +agentuity cloud region unselect +``` + +## Output + +Returns JSON object: + +```json +{ + "cleared": "boolean" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `cleared` | boolean | Whether the preference was cleared | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-cp/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-cp/SKILL.md new file mode 100644 index 00000000..c2db1eac --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-cp/SKILL.md @@ -0,0 +1,86 @@ +--- +name: agentuity-cli-cloud-sandbox-cp +description: Copy files or directories to or from a sandbox. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud sandbox cp" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Cp + +Copy files or directories to or from a sandbox + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox cp [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--timeout` | string | Yes | - | Operation timeout (e.g., "5m", "1h") | +| `--recursive` | boolean | No | `false` | Copy directories recursively | + +## Examples + +Copy a local file to a sandbox: + +```bash +agentuity cloud sandbox cp ./local-file.txt snbx_abc123:/path/to/file.txt +``` + +Copy a file from a sandbox to local: + +```bash +agentuity cloud sandbox cp snbx_abc123:/path/to/file.txt ./local-file.txt +``` + +Copy a local directory to a sandbox recursively: + +```bash +agentuity cloud sandbox cp --recursive ./local-dir snbx_abc123:/path/to/dir +``` + +Copy a directory from a sandbox to local recursively: + +```bash +agentuity cloud sandbox cp -r snbx_abc123:/path/to/dir ./local-dir +``` + +## Output + +Returns JSON object: + +```json +{ + "source": "string", + "destination": "string", + "bytesTransferred": "number", + "filesTransferred": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `source` | string | Source path | +| `destination` | string | Destination path | +| `bytesTransferred` | number | Number of bytes transferred | +| `filesTransferred` | number | Number of files transferred | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-create/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-create/SKILL.md new file mode 100644 index 00000000..ba70c753 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-create/SKILL.md @@ -0,0 +1,104 @@ +--- +name: agentuity-cli-cloud-sandbox-create +description: Create an interactive sandbox for multiple executions. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud sandbox create" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Create + +Create an interactive sandbox for multiple executions + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox create [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--runtime` | string | Yes | - | Runtime name (e.g., "bun:1", "python:3.14") | +| `--runtimeId` | string | Yes | - | Runtime ID (e.g., "srt_xxx") | +| `--name` | string | Yes | - | Sandbox name | +| `--description` | string | Yes | - | Sandbox description | +| `--memory` | string | Yes | - | Memory limit (e.g., "500Mi", "1Gi") | +| `--cpu` | string | Yes | - | CPU limit in millicores (e.g., "500m", "1000m") | +| `--disk` | string | Yes | - | Disk limit (e.g., "500Mi", "1Gi") | +| `--network` | boolean | Yes | - | Enable outbound network access | +| `--idleTimeout` | string | Yes | - | Idle timeout before sandbox is reaped (e.g., "10m", "1h") | +| `--env` | array | Yes | - | Environment variables (KEY=VALUE) | +| `--file` | array | Yes | - | Files to create in sandbox (sandbox-path:local-path) | +| `--snapshot` | string | Yes | - | Snapshot ID or tag to restore from | +| `--dependency` | array | Yes | - | Apt packages to install (can be specified multiple times) | +| `--metadata` | string | Yes | - | JSON object of user-defined metadata | +| `--port` | number | Yes | - | Port to expose from the sandbox to the outside Internet (1024-65535) | +| `--projectId` | string | Yes | - | Project ID to associate this sandbox with | + +## Examples + +Create a sandbox with default settings: + +```bash +agentuity cloud sandbox create +``` + +Create a sandbox with Python runtime: + +```bash +agentuity cloud sandbox create --runtime python:3.14 +``` + +Create a sandbox with resource limits: + +```bash +agentuity cloud sandbox create --memory 1Gi --cpu 1000m +``` + +Create a sandbox with network and custom timeout: + +```bash +agentuity cloud sandbox create --network --idle-timeout 30m +``` + +Create a sandbox with a specific environment variable: + +```bash +agentuity cloud sandbox create --env KEY=VAL +``` + +Create a sandbox associated with a specific project: + +```bash +agentuity cloud sandbox create --project-id proj_123 +``` + +## Output + +Returns JSON object: + +```json +{ + "sandboxId": "string", + "status": "string", + "stdoutStreamUrl": "string", + "stderrStreamUrl": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `sandboxId` | string | Unique sandbox identifier | +| `status` | string | Current sandbox status | +| `stdoutStreamUrl` | string | URL to the stdout output stream | +| `stderrStreamUrl` | string | URL to the stderr output stream | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-delete/SKILL.md new file mode 100644 index 00000000..ae296810 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-delete/SKILL.md @@ -0,0 +1,72 @@ +--- +name: agentuity-cli-cloud-sandbox-delete +description: Delete a sandbox. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud sandbox delete" + tags: "destructive deletes-resource slow requires-auth" +--- + +# Cloud Sandbox Delete + +Delete a sandbox + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox delete [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--confirm` | boolean | No | `false` | Skip confirmation prompt | + +## Examples + +Delete a sandbox: + +```bash +agentuity cloud sandbox delete abc123 +``` + +Delete without confirmation prompt: + +```bash +agentuity cloud sandbox delete abc123 --confirm +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "sandboxId": "string", + "durationMs": "number", + "message": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `sandboxId` | string | Sandbox ID | +| `durationMs` | number | Operation duration in milliseconds | +| `message` | string | Status message | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-download/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-download/SKILL.md new file mode 100644 index 00000000..945dadf1 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-download/SKILL.md @@ -0,0 +1,78 @@ +--- +name: agentuity-cli-cloud-sandbox-download +description: Download files from a sandbox as a compressed archive. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud sandbox download" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Download + +Download files from a sandbox as a compressed archive + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox download [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--path` | string | Yes | - | Path in sandbox to download (defaults to root) | +| `--format` | string | No | `"tar.gz"` | Archive format (zip or tar.gz) | + +## Examples + +Download sandbox files as tar.gz archive: + +```bash +agentuity cloud sandbox download sbx_abc123 ./backup.tar.gz +``` + +Download sandbox files as zip archive: + +```bash +agentuity cloud sandbox download sbx_abc123 ./backup.zip --format zip +``` + +Download only a specific directory: + +```bash +agentuity cloud sandbox download sbx_abc123 ./backup.tar.gz --path /subdir +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "output": "string", + "bytes": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | +| `output` | string | - | +| `bytes` | number | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-env/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-env/SKILL.md new file mode 100644 index 00000000..97a3903a --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-env/SKILL.md @@ -0,0 +1,75 @@ +--- +name: agentuity-cli-cloud-sandbox-env +description: Set or delete environment variables on a sandbox. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " [vars...]" +metadata: + command: "agentuity cloud sandbox env" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Env + +Set or delete environment variables on a sandbox + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox env [vars...] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | array | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--delete` | array | Yes | - | Environment variable names to delete | + +## Examples + +Set an environment variable: + +```bash +agentuity cloud sandbox env sbx_abc123 MY_VAR=value +``` + +Set multiple environment variables: + +```bash +agentuity cloud sandbox env sbx_abc123 VAR1=value1 VAR2=value2 +``` + +Delete an environment variable: + +```bash +agentuity cloud sandbox env sbx_abc123 --delete MY_VAR +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "env": "object" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | +| `env` | object | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-exec/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-exec/SKILL.md new file mode 100644 index 00000000..5ef4680d --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-exec/SKILL.md @@ -0,0 +1,76 @@ +--- +name: agentuity-cli-cloud-sandbox-exec +description: Execute a command in a running sandbox. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud sandbox exec" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Exec + +Execute a command in a running sandbox + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox exec [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | array | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--timeout` | string | Yes | - | Execution timeout (e.g., "5m", "1h") | +| `--timestamps` | boolean | No | `false` | Include timestamps in output (default: false) | + +## Examples + +Execute a command in a sandbox: + +```bash +agentuity cloud sandbox exec abc123 -- echo "hello" +``` + +Execute with timeout: + +```bash +agentuity cloud sandbox exec abc123 --timeout 5m -- bun run build +``` + +## Output + +Returns JSON object: + +```json +{ + "executionId": "string", + "status": "string", + "exitCode": "number", + "durationMs": "number", + "output": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `executionId` | string | Unique execution identifier | +| `status` | string | Execution status | +| `exitCode` | number | Exit code (if completed) | +| `durationMs` | number | Duration in milliseconds (if completed) | +| `output` | string | Combined stdout/stderr output | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-execution-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-execution-get/SKILL.md new file mode 100644 index 00000000..16713009 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-execution-get/SKILL.md @@ -0,0 +1,74 @@ +--- +name: agentuity-cli-cloud-sandbox-execution-get +description: Get information about a specific execution. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud sandbox execution get" + tags: "read-only fast requires-auth" +--- + +# Cloud Sandbox Execution Get + +Get information about a specific execution + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox execution get +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Get execution information: + +```bash +agentuity cloud sandbox execution get exec_abc123 +``` + +## Output + +Returns JSON object: + +```json +{ + "executionId": "string", + "sandboxId": "string", + "status": "string", + "command": "array", + "exitCode": "number", + "durationMs": "number", + "startedAt": "string", + "completedAt": "string", + "error": "string", + "stdoutStreamUrl": "string", + "stderrStreamUrl": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `executionId` | string | Execution ID | +| `sandboxId` | string | Sandbox ID | +| `status` | string | Current status | +| `command` | array | Command that was executed | +| `exitCode` | number | Exit code | +| `durationMs` | number | Duration in milliseconds | +| `startedAt` | string | Start timestamp | +| `completedAt` | string | Completion timestamp | +| `error` | string | Error message if failed | +| `stdoutStreamUrl` | string | URL to stream stdout | +| `stderrStreamUrl` | string | URL to stream stderr | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-execution-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-execution-list/SKILL.md new file mode 100644 index 00000000..2a125353 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-execution-list/SKILL.md @@ -0,0 +1,66 @@ +--- +name: agentuity-cli-cloud-sandbox-execution-list +description: List executions for a sandbox. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud sandbox execution list" + tags: "read-only fast requires-auth" +--- + +# Cloud Sandbox Execution List + +List executions for a sandbox + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox execution list [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--limit` | number | Yes | - | Maximum number of results (default: 50, max: 100) | + +## Examples + +List executions for a sandbox: + +```bash +agentuity cloud sandbox execution list snbx_abc123 +``` + +List with a limit: + +```bash +agentuity cloud sandbox execution list snbx_abc123 --limit 10 +``` + +## Output + +Returns JSON object: + +```json +{ + "executions": "array" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `executions` | array | List of executions | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-files/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-files/SKILL.md new file mode 100644 index 00000000..ffcc2c08 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-files/SKILL.md @@ -0,0 +1,81 @@ +--- +name: agentuity-cli-cloud-sandbox-files +description: List files in a sandbox directory. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " [path]" +metadata: + command: "agentuity cloud sandbox files" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Files + +List files in a sandbox directory + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox files [path] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--long` | boolean | No | `false` | Use long listing format with permissions and timestamps | + +## Examples + +List files in the sandbox root directory: + +```bash +agentuity cloud sandbox files sbx_abc123 +``` + +List files in a specific directory: + +```bash +agentuity cloud sandbox files sbx_abc123 /path/to/dir +``` + +List files with permissions and modification time: + +```bash +agentuity cloud sandbox files sbx_abc123 -l +``` + +List files with JSON output: + +```bash +agentuity cloud sandbox files sbx_abc123 --json +``` + +## Output + +Returns JSON object: + +```json +{ + "files": "array", + "total": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `files` | array | - | +| `total` | number | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-get/SKILL.md new file mode 100644 index 00000000..c2f7dae0 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-get/SKILL.md @@ -0,0 +1,82 @@ +--- +name: agentuity-cli-cloud-sandbox-get +description: Get information about a sandbox. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud sandbox get" + tags: "read-only fast requires-auth" +--- + +# Cloud Sandbox Get + +Get information about a sandbox + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox get +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Get sandbox information: + +```bash +agentuity cloud sandbox get abc123 +``` + +## Output + +Returns JSON object: + +```json +{ + "sandboxId": "string", + "name": "string", + "description": "string", + "status": "string", + "createdAt": "string", + "region": "string", + "runtime": "object", + "snapshot": "object", + "executions": "number", + "stdoutStreamUrl": "string", + "stderrStreamUrl": "string", + "dependencies": "array", + "metadata": "object", + "resources": "object", + "url": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `sandboxId` | string | Sandbox ID | +| `name` | string | Sandbox name | +| `description` | string | Sandbox description | +| `status` | string | Current status | +| `createdAt` | string | Creation timestamp | +| `region` | string | Region where sandbox is running | +| `runtime` | object | Runtime information | +| `snapshot` | object | Snapshot information | +| `executions` | number | Number of executions | +| `stdoutStreamUrl` | string | URL to stdout output stream | +| `stderrStreamUrl` | string | URL to stderr output stream | +| `dependencies` | array | Apt packages installed | +| `metadata` | object | User-defined metadata | +| `resources` | object | Resource limits | +| `url` | string | Public URL for the sandbox (if network port configured) | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-list/SKILL.md new file mode 100644 index 00000000..162accec --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-list/SKILL.md @@ -0,0 +1,83 @@ +--- +name: agentuity-cli-cloud-sandbox-list +description: List sandboxes with optional filtering. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud sandbox list" + tags: "read-only slow requires-auth" +--- + +# Cloud Sandbox List + +List sandboxes with optional filtering + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--status` | string | Yes | - | Filter by status | +| `--projectId` | string | Yes | - | Filter by project ID | +| `--all` | boolean | Yes | - | List all sandboxes regardless of project context | +| `--limit` | number | Yes | - | Maximum number of results (default: 50, max: 100) | +| `--offset` | number | Yes | - | Pagination offset | + +## Examples + +List all sandboxes: + +```bash +agentuity cloud sandbox list +``` + +List running sandboxes: + +```bash +agentuity cloud sandbox list --status running +``` + +List sandboxes for a specific project: + +```bash +agentuity cloud sandbox list --project-id proj_123 +``` + +List with pagination: + +```bash +agentuity cloud sandbox list --limit 10 --offset 20 +``` + +List all sandboxes regardless of project context: + +```bash +agentuity cloud sandbox list --all +``` + +## Output + +Returns JSON object: + +```json +{ + "sandboxes": "array", + "total": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `sandboxes` | array | List of sandboxes | +| `total` | number | Total count | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-mkdir/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-mkdir/SKILL.md new file mode 100644 index 00000000..4e712f96 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-mkdir/SKILL.md @@ -0,0 +1,69 @@ +--- +name: agentuity-cli-cloud-sandbox-mkdir +description: Create a directory in a sandbox. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud sandbox mkdir" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Mkdir + +Create a directory in a sandbox + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox mkdir [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--parents` | boolean | No | `false` | Create parent directories as needed | + +## Examples + +Create a directory in the sandbox: + +```bash +agentuity cloud sandbox mkdir sbx_abc123 /path/to/dir +``` + +Create nested directories recursively: + +```bash +agentuity cloud sandbox mkdir sbx_abc123 /path/to/nested/dir -p +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "path": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | +| `path` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-rm/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-rm/SKILL.md new file mode 100644 index 00000000..cf1e52de --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-rm/SKILL.md @@ -0,0 +1,57 @@ +--- +name: agentuity-cli-cloud-sandbox-rm +description: Remove a file from a sandbox. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud sandbox rm" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Rm + +Remove a file from a sandbox + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox rm +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Remove a file from the sandbox: + +```bash +agentuity cloud sandbox rm sbx_abc123 /path/to/file.txt +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "path": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | +| `path` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-rmdir/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-rmdir/SKILL.md new file mode 100644 index 00000000..939f4124 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-rmdir/SKILL.md @@ -0,0 +1,69 @@ +--- +name: agentuity-cli-cloud-sandbox-rmdir +description: Remove a directory from a sandbox. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud sandbox rmdir" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Rmdir + +Remove a directory from a sandbox + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox rmdir [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--recursive` | boolean | No | `false` | Remove directory and all contents | + +## Examples + +Remove an empty directory from the sandbox: + +```bash +agentuity cloud sandbox rmdir sbx_abc123 /path/to/dir +``` + +Remove a directory and all its contents recursively: + +```bash +agentuity cloud sandbox rmdir sbx_abc123 /path/to/dir -r +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "path": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | +| `path` | string | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-run/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-run/SKILL.md new file mode 100644 index 00000000..b5d41e0c --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-run/SKILL.md @@ -0,0 +1,92 @@ +--- +name: agentuity-cli-cloud-sandbox-run +description: "Run a one-shot command in a sandbox (creates, executes, destroys). Requires authentication. Use for Agentuity cloud platform operations" +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud sandbox run" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Run + +Run a one-shot command in a sandbox (creates, executes, destroys) + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox run [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | array | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--runtime` | string | Yes | - | Runtime name (e.g., "bun:1", "python:3.14") | +| `--runtimeId` | string | Yes | - | Runtime ID (e.g., "srt_xxx") | +| `--name` | string | Yes | - | Sandbox name | +| `--description` | string | Yes | - | Sandbox description | +| `--memory` | string | Yes | - | Memory limit (e.g., "500Mi", "1Gi") | +| `--cpu` | string | Yes | - | CPU limit in millicores (e.g., "500m", "1000m") | +| `--disk` | string | Yes | - | Disk limit (e.g., "500Mi", "1Gi") | +| `--network` | boolean | No | `false` | Enable outbound network access | +| `--timeout` | string | Yes | - | Execution timeout (e.g., "5m", "1h") | +| `--env` | array | Yes | - | Environment variables (KEY=VALUE) | +| `--file` | array | Yes | - | Files to create in sandbox (sandbox-path:local-path) | +| `--timestamps` | boolean | No | `false` | Include timestamps in output (default: true) | +| `--snapshot` | string | Yes | - | Snapshot ID or tag to restore from | +| `--dependency` | array | Yes | - | Apt packages to install (can be specified multiple times) | +| `--projectId` | string | Yes | - | Project ID to associate this sandbox with | + +## Examples + +Run a simple command: + +```bash +agentuity cloud sandbox run -- echo "hello world" +``` + +Run with resource limits: + +```bash +agentuity cloud sandbox run --memory 1Gi --cpu 1000m -- bun run index.ts +``` + +Run with network access enabled: + +```bash +agentuity cloud sandbox run --network -- curl https://api.example.com +``` + +## Output + +Returns JSON object: + +```json +{ + "sandboxId": "string", + "exitCode": "number", + "durationMs": "number", + "output": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `sandboxId` | string | Sandbox ID | +| `exitCode` | number | Exit code from the process | +| `durationMs` | number | Duration in milliseconds | +| `output` | string | Combined stdout/stderr output | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-runtime-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-runtime-list/SKILL.md new file mode 100644 index 00000000..526f06d6 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-runtime-list/SKILL.md @@ -0,0 +1,56 @@ +--- +name: agentuity-cli-cloud-sandbox-runtime-list +description: List available sandbox runtimes. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud sandbox runtime list" + tags: "read-only slow requires-auth" +--- + +# Cloud Sandbox Runtime List + +List available sandbox runtimes + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox runtime list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--limit` | number | Yes | - | Maximum number of results | +| `--offset` | number | Yes | - | Offset for pagination | + +## Examples + +List all available runtimes: + +```bash +agentuity cloud sandbox runtime list +``` + +## Output + +Returns JSON object: + +```json +{ + "runtimes": "array", + "total": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `runtimes` | array | List of runtimes | +| `total` | number | Total number of runtimes | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-build/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-build/SKILL.md new file mode 100644 index 00000000..a3aefccc --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-build/SKILL.md @@ -0,0 +1,120 @@ +--- +name: agentuity-cli-cloud-sandbox-snapshot-build +description: Build a snapshot from a declarative file. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud sandbox snapshot build" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Snapshot Build + +Build a snapshot from a declarative file + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox snapshot build [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--file` | string | Yes | - | Path to build file (defaults to agentuity-snapshot.[json|yaml|yml]) | +| `--env` | array | Yes | - | Environment variable substitution (KEY=VALUE) | +| `--name` | string | Yes | - | Snapshot name (overrides build file) | +| `--tag` | string | Yes | - | Snapshot tag (defaults to "latest") | +| `--description` | string | Yes | - | Snapshot description (overrides build file) | +| `--message` | string | Yes | - | Build message for this snapshot | +| `--commit` | string | Yes | - | Git commit SHA (auto-detected if not provided) | +| `--branch` | string | Yes | - | Git branch (auto-detected if not provided) | +| `--repo` | string | Yes | - | Git repo URL (auto-detected if not provided) | +| `--provider` | string | Yes | - | Git provider (github, gitlab, bitbucket - auto-detected) | +| `--commitUrl` | string | Yes | - | URL to the commit | +| `--metadata` | array | Yes | - | Metadata key-value pairs (KEY=VALUE) | +| `--force` | boolean | Yes | - | Force rebuild even if content is unchanged | +| `--public` | boolean | Yes | - | Make snapshot public (enables virus scanning, no encryption) | +| `--confirm` | boolean | Yes | - | Confirm public snapshot publishing (required for --public) | + +## Examples + +Build a snapshot from the current directory using agentuity-snapshot.yaml: + +```bash +agentuity cloud sandbox snapshot build . +``` + +Build using a custom build file: + +```bash +agentuity cloud sandbox snapshot build ./project --file custom-build.yaml +``` + +Build with environment variable substitution and custom tag: + +```bash +agentuity cloud sandbox snapshot build . --env API_KEY=secret --tag production +``` + +Validate the build file without uploading: + +```bash +agentuity cloud sandbox snapshot build . --dry-run +``` + +Force rebuild even if content is unchanged: + +```bash +agentuity cloud sandbox snapshot build . --force +``` + +## Output + +Returns JSON object: + +```json +{ + "snapshotId": "string", + "name": "string", + "tag": "unknown", + "runtime": "string", + "sizeBytes": "number", + "fileCount": "number", + "createdAt": "string", + "unchanged": "boolean", + "userMetadata": "object", + "error": "string", + "malwareDetected": "boolean", + "virusName": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `snapshotId` | string | Snapshot ID | +| `name` | string | Snapshot name | +| `tag` | unknown | Snapshot tag | +| `runtime` | string | Runtime identifier | +| `sizeBytes` | number | Snapshot size in bytes | +| `fileCount` | number | Number of files in snapshot | +| `createdAt` | string | Snapshot creation timestamp | +| `unchanged` | boolean | True if snapshot was unchanged | +| `userMetadata` | object | User-defined metadata key-value pairs | +| `error` | string | Error message if build failed | +| `malwareDetected` | boolean | True if malware was detected | +| `virusName` | string | Name of detected virus | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-create/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-create/SKILL.md new file mode 100644 index 00000000..56acf265 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-create/SKILL.md @@ -0,0 +1,93 @@ +--- +name: agentuity-cli-cloud-sandbox-snapshot-create +description: Create a snapshot from a sandbox. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud sandbox snapshot create" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Snapshot Create + +Create a snapshot from a sandbox + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox snapshot create [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--name` | string | Yes | - | Display name for the snapshot (letters, numbers, underscores, dashes only) | +| `--description` | string | Yes | - | Description of the snapshot | +| `--tag` | string | Yes | - | Tag for the snapshot (defaults to "latest") | +| `--public` | boolean | No | `false` | Make the snapshot publicly accessible | + +## Examples + +Create a snapshot from a sandbox: + +```bash +agentuity cloud sandbox snapshot create sbx_abc123 +``` + +Create a tagged snapshot: + +```bash +agentuity cloud sandbox snapshot create sbx_abc123 --tag latest +``` + +Create a named snapshot with description: + +```bash +agentuity cloud sandbox snapshot create sbx_abc123 --name "My Snapshot" --description "Initial setup" +``` + +Create a public snapshot: + +```bash +agentuity cloud sandbox snapshot create sbx_abc123 --public +``` + +## Output + +Returns JSON object: + +```json +{ + "snapshotId": "string", + "name": "string", + "description": "unknown", + "tag": "unknown", + "sizeBytes": "number", + "fileCount": "number", + "createdAt": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `snapshotId` | string | Snapshot ID | +| `name` | string | Snapshot display name | +| `description` | unknown | Snapshot description | +| `tag` | unknown | Snapshot tag (defaults to "latest") | +| `sizeBytes` | number | Snapshot size in bytes | +| `fileCount` | number | Number of files in snapshot | +| `createdAt` | string | Snapshot creation timestamp | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-delete/SKILL.md new file mode 100644 index 00000000..2c499a60 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-delete/SKILL.md @@ -0,0 +1,70 @@ +--- +name: agentuity-cli-cloud-sandbox-snapshot-delete +description: Delete a snapshot. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud sandbox snapshot delete" + tags: "destructive deletes-resource slow requires-auth" +--- + +# Cloud Sandbox Snapshot Delete + +Delete a snapshot + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox snapshot delete [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--confirm` | boolean | No | `false` | Skip confirmation prompt | + +## Examples + +Delete a snapshot: + +```bash +agentuity cloud sandbox snapshot delete snp_abc123 +``` + +Delete without confirmation prompt: + +```bash +agentuity cloud sandbox snapshot rm snp_abc123 --confirm +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "snapshotId": "string", + "message": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `snapshotId` | string | Deleted snapshot ID | +| `message` | string | Status message | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-get/SKILL.md new file mode 100644 index 00000000..0ddf50d0 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-get/SKILL.md @@ -0,0 +1,84 @@ +--- +name: agentuity-cli-cloud-sandbox-snapshot-get +description: Get snapshot details. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud sandbox snapshot get" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Snapshot Get + +Get snapshot details + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox snapshot get +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Get details for a snapshot: + +```bash +agentuity cloud sandbox snapshot get snp_abc123 +``` + +## Output + +Returns JSON object: + +```json +{ + "snapshotId": "string", + "name": "string", + "fullName": "string", + "tag": "unknown", + "message": "unknown", + "sizeBytes": "number", + "fileCount": "number", + "parentSnapshotId": "unknown", + "public": "boolean", + "orgName": "string", + "orgSlug": "string", + "createdAt": "string", + "downloadUrl": "string", + "files": "unknown", + "userMetadata": "unknown", + "sandboxes": "array" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `snapshotId` | string | Snapshot ID | +| `name` | string | Snapshot name | +| `fullName` | string | Full name with org slug (@slug/name:tag) | +| `tag` | unknown | Snapshot tag | +| `message` | unknown | Build message | +| `sizeBytes` | number | Snapshot size in bytes | +| `fileCount` | number | Number of files | +| `parentSnapshotId` | unknown | Parent snapshot ID | +| `public` | boolean | Whether snapshot is publicly accessible | +| `orgName` | string | Organization name (for public snapshots) | +| `orgSlug` | string | Organization slug (for public snapshots) | +| `createdAt` | string | Creation timestamp | +| `downloadUrl` | string | Presigned download URL | +| `files` | unknown | Files in snapshot | +| `userMetadata` | unknown | User-defined metadata | +| `sandboxes` | array | Attached sandboxes (idle or running) | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-list/SKILL.md new file mode 100644 index 00000000..582d471e --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-list/SKILL.md @@ -0,0 +1,63 @@ +--- +name: agentuity-cli-cloud-sandbox-snapshot-list +description: List snapshots. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud sandbox snapshot list" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Snapshot List + +List snapshots + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox snapshot list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--sandbox` | string | Yes | - | Filter by sandbox ID | +| `--limit` | number | Yes | - | Maximum number of results | +| `--offset` | number | Yes | - | Offset for pagination | + +## Examples + +List all snapshots: + +```bash +agentuity cloud sandbox snapshot list +``` + +List snapshots for a specific sandbox: + +```bash +agentuity cloud sandbox snapshot list --sandbox sbx_abc123 +``` + +## Output + +Returns JSON object: + +```json +{ + "snapshots": "array", + "total": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `snapshots` | array | List of snapshots | +| `total` | number | Total number of snapshots | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-tag/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-tag/SKILL.md new file mode 100644 index 00000000..f77f6a19 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-snapshot-tag/SKILL.md @@ -0,0 +1,69 @@ +--- +name: agentuity-cli-cloud-sandbox-snapshot-tag +description: Add or update a tag on a snapshot. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " [tag]" +metadata: + command: "agentuity cloud sandbox snapshot tag" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Snapshot Tag + +Add or update a tag on a snapshot + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox snapshot tag [tag] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--clear` | boolean | Yes | - | Remove the tag from the snapshot | + +## Examples + +Tag a snapshot as "latest": + +```bash +agentuity cloud sandbox snapshot tag snp_abc123 latest +``` + +Remove a tag from a snapshot: + +```bash +agentuity cloud sandbox snapshot tag snp_abc123 --clear +``` + +## Output + +Returns JSON object: + +```json +{ + "snapshotId": "string", + "tag": "unknown" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `snapshotId` | string | Snapshot ID | +| `tag` | unknown | New tag | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-upload/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-upload/SKILL.md new file mode 100644 index 00000000..ef5596a2 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-sandbox-upload/SKILL.md @@ -0,0 +1,76 @@ +--- +name: agentuity-cli-cloud-sandbox-upload +description: Upload a compressed archive to a sandbox and extract it. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud sandbox upload" + tags: "slow requires-auth" +--- + +# Cloud Sandbox Upload + +Upload a compressed archive to a sandbox and extract it + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud sandbox upload [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--path` | string | Yes | - | Destination path in sandbox (defaults to root) | +| `--format` | string | Yes | - | Archive format (auto-detected if not specified) | + +## Examples + +Upload and extract a tar.gz archive to sandbox root: + +```bash +agentuity cloud sandbox upload sbx_abc123 ./archive.tar.gz +``` + +Upload and extract a zip archive to a specific directory: + +```bash +agentuity cloud sandbox upload sbx_abc123 ./archive.zip --path /subdir +``` + +Upload with explicit format specification: + +```bash +agentuity cloud sandbox upload sbx_abc123 ./archive.bin --format tar.gz +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "bytes": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | - | +| `bytes` | number | - | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-scp-download/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-scp-download/SKILL.md new file mode 100644 index 00000000..fb0239e0 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-scp-download/SKILL.md @@ -0,0 +1,85 @@ +--- +name: agentuity-cli-cloud-scp-download +description: Download a file using security copy. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " [destination]" +metadata: + command: "agentuity cloud scp download" + tags: "read-only slow requires-auth requires-deployment" +--- + +# Cloud Scp Download + +Download a file using security copy + +## Prerequisites + +- Authenticated with `agentuity auth login` +- cloud deploy + +## Usage + +```bash +agentuity cloud scp download [destination] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--identifier` | string | Yes | - | The project or deployment id to use | + +## Examples + +Download to current directory: + +```bash +agentuity cloud scp download /var/log/app.log +``` + +Download to specific path: + +```bash +agentuity cloud scp download /var/log/app.log ./logs/ +``` + +Download from specific project: + +```bash +agentuity cloud scp download /app/config.json --identifier=proj_abc123xyz +``` + +Download multiple files: + +```bash +agentuity cloud scp download ~/logs/*.log ./logs/ +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "source": "string", + "destination": "string", + "identifier": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether download succeeded | +| `source` | string | Remote source path | +| `destination` | string | Local destination path | +| `identifier` | string | Project or deployment identifier | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-scp-upload/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-scp-upload/SKILL.md new file mode 100644 index 00000000..ddc21097 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-scp-upload/SKILL.md @@ -0,0 +1,85 @@ +--- +name: agentuity-cli-cloud-scp-upload +description: Upload a file using security copy. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " [destination]" +metadata: + command: "agentuity cloud scp upload" + tags: "mutating updates-resource slow requires-auth requires-deployment" +--- + +# Cloud Scp Upload + +Upload a file using security copy + +## Prerequisites + +- Authenticated with `agentuity auth login` +- cloud deploy + +## Usage + +```bash +agentuity cloud scp upload [destination] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--identifier` | string | Yes | - | The project or deployment id to use | + +## Examples + +Upload to remote home directory: + +```bash +agentuity cloud scp upload ./config.json +``` + +Upload to specific path: + +```bash +agentuity cloud scp upload ./config.json /app/config.json +``` + +Upload to specific project: + +```bash +agentuity cloud scp upload ./config.json --identifier=proj_abc123xyz +``` + +Upload multiple files: + +```bash +agentuity cloud scp upload ./logs/*.log ~/logs/ +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "source": "string", + "destination": "string", + "identifier": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether upload succeeded | +| `source` | string | Local source path | +| `destination` | string | Remote destination path | +| `identifier` | string | Project or deployment identifier | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-secret-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-delete/SKILL.md new file mode 100644 index 00000000..68ce9284 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-delete/SKILL.md @@ -0,0 +1,64 @@ +--- +name: agentuity-cli-cloud-secret-delete +description: Delete a secret. Requires authentication. Use for Agentuity cloud platform operations +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud secret delete" + tags: "destructive deletes-resource slow requires-auth requires-project" +--- + +# Cloud Secret Delete + +Delete a secret + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud secret delete +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Delete item: + +```bash +bunx @agentuity/cli secret delete OLD_API_KEY +``` + +Delete item: + +```bash +bunx @agentuity/cli secret rm DATABASE_URL +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "key": "string", + "path": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `key` | string | Secret key name that was deleted | +| `path` | string | Local file path where secret was removed | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-secret-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-get/SKILL.md new file mode 100644 index 00000000..1ba03cae --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-get/SKILL.md @@ -0,0 +1,68 @@ +--- +name: agentuity-cli-cloud-secret-get +description: Get a secret value. Requires authentication. Use for Agentuity cloud platform operations +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud secret get" + tags: "read-only fast requires-auth requires-project" +--- + +# Cloud Secret Get + +Get a secret value + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud secret get [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--mask` | boolean | No | `true` | mask the value in output (default: true in TTY, false otherwise) | + +## Examples + +Get item details: + +```bash +bunx @agentuity/cli secret get DATABASE_URL +``` + +Use no mask option: + +```bash +bunx @agentuity/cli secret get STRIPE_SECRET_KEY --no-mask +``` + +## Output + +Returns JSON object: + +```json +{ + "key": "string", + "value": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `key` | string | Secret key name | +| `value` | string | Secret value | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-secret-import/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-import/SKILL.md new file mode 100644 index 00000000..168a7027 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-import/SKILL.md @@ -0,0 +1,68 @@ +--- +name: agentuity-cli-cloud-secret-import +description: Import secrets from a file to cloud and local .env.production. Requires authentication. Use for Agentuity cloud platform operations +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud secret import" + tags: "mutating creates-resource slow api-intensive requires-auth requires-project" +--- + +# Cloud Secret Import + +Import secrets from a file to cloud and local .env.production + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud secret import +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Run .env.local command: + +```bash +bunx @agentuity/cli secret import .env.local +``` + +Run .env.production.backup command: + +```bash +bunx @agentuity/cli secret import .env.production.backup +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "imported": "number", + "skipped": "number", + "path": "string", + "file": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether import succeeded | +| `imported` | number | Number of items imported | +| `skipped` | number | Number of items skipped | +| `path` | string | Local file path where secrets were saved | +| `file` | string | Source file path | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-secret-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-list/SKILL.md new file mode 100644 index 00000000..49d9bf55 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-list/SKILL.md @@ -0,0 +1,49 @@ +--- +name: agentuity-cli-cloud-secret-list +description: List all secrets. Requires authentication. Use for Agentuity cloud platform operations +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud secret list" + tags: "read-only fast requires-auth requires-project" +--- + +# Cloud Secret List + +List all secrets + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud secret list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--mask` | boolean | No | `true` | mask the values in output (default: true in TTY for secrets) | + +## Examples + +List items: + +```bash +bunx @agentuity/cli secret list +``` + +Use no mask option: + +```bash +bunx @agentuity/cli secret list --no-mask +``` + +## Output + +Returns: `object` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-secret-pull/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-pull/SKILL.md new file mode 100644 index 00000000..9beba945 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-pull/SKILL.md @@ -0,0 +1,66 @@ +--- +name: agentuity-cli-cloud-secret-pull +description: Pull secrets from cloud to local .env.production file. Requires authentication. Use for Agentuity cloud platform operations +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud secret pull" + tags: "slow requires-auth requires-project" +--- + +# Cloud Secret Pull + +Pull secrets from cloud to local .env.production file + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) +- cloud deploy + +## Usage + +```bash +agentuity cloud secret pull [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--force` | boolean | No | `false` | overwrite local values with cloud values | + +## Examples + +Run pull command: + +```bash +bunx @agentuity/cli secret pull +``` + +Use force option: + +```bash +bunx @agentuity/cli secret pull --force +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "pulled": "number", + "path": "string", + "force": "boolean" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether pull succeeded | +| `pulled` | number | Number of items pulled | +| `path` | string | Local file path where secrets were saved | +| `force` | boolean | Whether force mode was used | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-secret-push/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-push/SKILL.md new file mode 100644 index 00000000..0400222d --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-push/SKILL.md @@ -0,0 +1,52 @@ +--- +name: agentuity-cli-cloud-secret-push +description: Push secrets from local .env.production file to cloud. Requires authentication. Use for Agentuity cloud platform operations +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud secret push" + tags: "mutating updates-resource slow api-intensive requires-auth requires-project" +--- + +# Cloud Secret Push + +Push secrets from local .env.production file to cloud + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) +- secret set + +## Usage + +```bash +agentuity cloud secret push +``` + +## Examples + +Run push command: + +```bash +bunx @agentuity/cli secret push +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "pushed": "number", + "source": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether push succeeded | +| `pushed` | number | Number of items pushed | +| `source` | string | Source file path | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-secret-set/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-set/SKILL.md new file mode 100644 index 00000000..0f1cbbc4 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-secret-set/SKILL.md @@ -0,0 +1,65 @@ +--- +name: agentuity-cli-cloud-secret-set +description: Set a secret. Requires authentication. Use for Agentuity cloud platform operations +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud secret set" + tags: "mutating updates-resource slow requires-auth requires-project" +--- + +# Cloud Secret Set + +Set a secret + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud secret set +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Set the DATABASE_URL environment secret: + +```bash +bunx @agentuity/cli secret set DATABASE_URL "postgres://user:pass@host:5432/db" +``` + +Set the STRIPE_SECRET_KEY environment secret: + +```bash +bunx @agentuity/cli secret set STRIPE_SECRET_KEY "sk_live_..." +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "key": "string", + "path": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `key` | string | Secret key name | +| `path` | string | Local file path where secret was saved | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-session-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-session-get/SKILL.md new file mode 100644 index 00000000..0895ca85 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-session-get/SKILL.md @@ -0,0 +1,97 @@ +--- +name: agentuity-cli-cloud-session-get +description: Get details about a specific session. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud session get" + tags: "read-only fast requires-auth" +--- + +# Cloud Session Get + +Get details about a specific session + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud session get +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Get a session by ID: + +```bash +agentuity cloud session get sess_abc123xyz +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "created_at": "string", + "start_time": "string", + "end_time": "unknown", + "duration": "unknown", + "org_id": "string", + "project_id": "string", + "deployment_id": "string", + "agent_ids": "array", + "trigger": "string", + "env": "string", + "devmode": "boolean", + "pending": "boolean", + "success": "boolean", + "error": "unknown", + "method": "string", + "url": "string", + "route_id": "string", + "thread_id": "string", + "agents": "array", + "eval_runs": "array", + "timeline": "unknown", + "route": "unknown" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | Session ID | +| `created_at` | string | Creation timestamp | +| `start_time` | string | Start time | +| `end_time` | unknown | End time | +| `duration` | unknown | Duration in nanoseconds | +| `org_id` | string | Organization ID | +| `project_id` | string | Project ID | +| `deployment_id` | string | Deployment ID | +| `agent_ids` | array | Agent IDs | +| `trigger` | string | Trigger type | +| `env` | string | Environment | +| `devmode` | boolean | Dev mode | +| `pending` | boolean | Pending | +| `success` | boolean | Success | +| `error` | unknown | Error message | +| `method` | string | HTTP method | +| `url` | string | Request URL | +| `route_id` | string | Route ID | +| `thread_id` | string | Thread ID | +| `agents` | array | Agents | +| `eval_runs` | array | Eval runs | +| `timeline` | unknown | Session timeline | +| `route` | unknown | Route information | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-session-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-session-list/SKILL.md new file mode 100644 index 00000000..56f1bade --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-session-list/SKILL.md @@ -0,0 +1,101 @@ +--- +name: agentuity-cli-cloud-session-list +description: List recent sessions. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud session list" + tags: "read-only fast requires-auth" +--- + +# Cloud Session List + +List recent sessions + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud session list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--count` | number | No | `10` | Number of sessions to list (1–100) | +| `--projectId` | string | Yes | - | Filter by project ID | +| `--all` | boolean | Yes | - | List all sessions regardless of project context | +| `--deploymentId` | string | Yes | - | Filter by deployment ID | +| `--trigger` | string | Yes | - | Filter by trigger type (api, cron, webhook) | +| `--env` | string | Yes | - | Filter by environment | +| `--threadId` | string | Yes | - | Filter by thread ID | +| `--agentIdentifier` | string | Yes | - | Filter by agent identifier | +| `--devmode` | boolean | Yes | - | Filter by dev mode (true/false) | +| `--success` | boolean | Yes | - | Filter by success status (true/false) | +| `--startAfter` | string | Yes | - | Filter by start time after (ISO 8601) | +| `--startBefore` | string | Yes | - | Filter by start time before (ISO 8601) | + +## Examples + +List 10 most recent sessions: + +```bash +agentuity cloud session list +``` + +List 25 most recent sessions: + +```bash +agentuity cloud session list --count=25 +``` + +Filter by project: + +```bash +agentuity cloud session list --project-id=proj_* +``` + +Filter by deployment: + +```bash +agentuity cloud session list --deployment-id=* +``` + +Only successful sessions: + +```bash +agentuity cloud session list --success=true +``` + +Only production sessions: + +```bash +agentuity cloud session list --devmode=false +``` + +Only API triggered sessions: + +```bash +agentuity cloud session list --trigger=api +``` + +Only production environment: + +```bash +agentuity cloud session list --env=production +``` + +List all sessions regardless of project context: + +```bash +agentuity cloud session list --all +``` + +## Output + +Returns: `array` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-session-logs/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-session-logs/SKILL.md new file mode 100644 index 00000000..0f39c013 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-session-logs/SKILL.md @@ -0,0 +1,57 @@ +--- +name: agentuity-cli-cloud-session-logs +description: Get logs for a specific session. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud session logs" + tags: "read-only slow requires-auth" +--- + +# Cloud Session Logs + +Get logs for a specific session + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud session logs [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--projectId` | string | Yes | - | Project ID (for display purposes) | +| `--deploymentId` | string | Yes | - | Deployment ID (for display purposes) | +| `--timestamps` | boolean | No | `true` | Show timestamps in output | + +## Examples + +View logs for session: + +```bash +agentuity cloud session logs sess_abc123xyz +``` + +Hide timestamps: + +```bash +agentuity cloud session logs sess_abc123xyz --no-timestamps +``` + +## Output + +Returns: `array` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-ssh/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-ssh/SKILL.md new file mode 100644 index 00000000..d740eb34 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-ssh/SKILL.md @@ -0,0 +1,83 @@ +--- +name: agentuity-cli-cloud-ssh +description: SSH into a cloud project or sandbox. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[identifier] [command]" +metadata: + command: "agentuity cloud ssh" + tags: "read-only slow requires-auth requires-deployment" +--- + +# Cloud Ssh + +SSH into a cloud project or sandbox + +## Prerequisites + +- Authenticated with `agentuity auth login` +- cloud deploy + +## Usage + +```bash +agentuity cloud ssh [identifier] [command] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | No | - | +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--show` | boolean | Yes | - | Show the command and exit | + +## Examples + +SSH into current project: + +```bash +agentuity cloud ssh +``` + +SSH into specific project: + +```bash +agentuity cloud ssh proj_abc123xyz +``` + +SSH into specific deployment: + +```bash +agentuity cloud ssh deploy_abc123xyz +``` + +SSH into a sandbox: + +```bash +agentuity cloud ssh sbx_abc123xyz +``` + +Run command and exit: + +```bash +agentuity cloud ssh 'ps aux' +``` + +Run command on specific project: + +```bash +agentuity cloud ssh proj_abc123xyz 'tail -f /var/log/app.log' +``` + +Show SSH command without executing: + +```bash +agentuity cloud ssh --show +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-storage-create/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-storage-create/SKILL.md new file mode 100644 index 00000000..9b41c532 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-storage-create/SKILL.md @@ -0,0 +1,61 @@ +--- +name: agentuity-cli-cloud-storage-create +description: Create a new storage resource. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud storage create" + tags: "mutating creates-resource slow requires-auth requires-deployment" +--- + +# Cloud Storage Create + +Create a new storage resource + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud storage create +``` + +## Examples + +Create a new cloud storage bucket: + +```bash +agentuity cloud storage create +``` + +Alias for "cloud storage create" (shorthand "new"): + +```bash +agentuity cloud storage new +``` + +Dry-run: display what would be created without making changes: + +```bash +agentuity --dry-run cloud storage create +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "name": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether creation succeeded | +| `name` | string | Created storage bucket name | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-storage-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-storage-delete/SKILL.md new file mode 100644 index 00000000..30e8ff7b --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-storage-delete/SKILL.md @@ -0,0 +1,80 @@ +--- +name: agentuity-cli-cloud-storage-delete +description: Delete a storage resource or file. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[name] [filename]" +metadata: + command: "agentuity cloud storage delete" + tags: "destructive deletes-resource slow requires-auth requires-deployment" +--- + +# Cloud Storage Delete + +Delete a storage resource or file + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud storage delete [name] [filename] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | No | - | +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--confirm` | boolean | Yes | - | Skip confirmation prompts | + +## Examples + +Delete a storage bucket: + +```bash +agentuity cloud storage delete my-bucket +``` + +Delete a file from a bucket: + +```bash +agentuity cloud storage rm my-bucket file.txt +``` + +Interactive selection to delete a bucket: + +```bash +agentuity cloud storage delete +``` + +Dry-run: show what would be deleted without making changes: + +```bash +agentuity --dry-run cloud storage delete my-bucket +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "name": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether deletion succeeded | +| `name` | string | Deleted bucket or file name | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-storage-download/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-storage-download/SKILL.md new file mode 100644 index 00000000..1bca06f0 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-storage-download/SKILL.md @@ -0,0 +1,89 @@ +--- +name: agentuity-cli-cloud-storage-download +description: Download a file from storage bucket. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " [output]" +metadata: + command: "agentuity cloud storage download" + tags: "read-only requires-auth" +--- + +# Cloud Storage Download + +Download a file from storage bucket + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud storage download [output] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--metadata` | boolean | Yes | - | Download metadata only (not file contents) | + +## Examples + +Download file from bucket: + +```bash +agentuity cloud storage download my-bucket file.txt +``` + +Download file to specific path: + +```bash +agentuity cloud storage download my-bucket file.txt output.txt +``` + +Download file to stdout: + +```bash +agentuity cloud storage download my-bucket file.txt - > output.txt +``` + +Download metadata only: + +```bash +agentuity cloud storage download my-bucket file.txt --metadata +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "bucket": "string", + "filename": "string", + "size": "number", + "contentType": "string", + "lastModified": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether download succeeded | +| `bucket` | string | Bucket name | +| `filename` | string | Downloaded filename | +| `size` | number | File size in bytes | +| `contentType` | string | Content type | +| `lastModified` | string | Last modified timestamp | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-storage-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-storage-get/SKILL.md new file mode 100644 index 00000000..5edecd3a --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-storage-get/SKILL.md @@ -0,0 +1,83 @@ +--- +name: agentuity-cli-cloud-storage-get +description: Show details about a specific storage bucket. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud storage get" + tags: "read-only fast requires-auth" +--- + +# Cloud Storage Get + +Show details about a specific storage bucket + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud storage get [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--showCredentials` | boolean | Yes | - | Show credentials in plain text (default: masked in terminal, unmasked in JSON) | + +## Examples + +Get bucket details: + +```bash +agentuity cloud storage get my-bucket +``` + +Show bucket information: + +```bash +agentuity cloud storage show my-bucket +``` + +Get bucket with credentials: + +```bash +agentuity cloud storage get my-bucket --show-credentials +``` + +## Output + +Returns JSON object: + +```json +{ + "bucket_name": "string", + "access_key": "string", + "secret_key": "string", + "region": "string", + "endpoint": "string", + "org_id": "string", + "org_name": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `bucket_name` | string | Storage bucket name | +| `access_key` | string | S3 access key | +| `secret_key` | string | S3 secret key | +| `region` | string | S3 region | +| `endpoint` | string | S3 endpoint URL | +| `org_id` | string | Organization ID that owns this bucket | +| `org_name` | string | Organization name that owns this bucket | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-storage-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-storage-list/SKILL.md new file mode 100644 index 00000000..d23d8f60 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-storage-list/SKILL.md @@ -0,0 +1,94 @@ +--- +name: agentuity-cli-cloud-storage-list +description: List storage resources or files in a bucket. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[name] [prefix]" +metadata: + command: "agentuity cloud storage list" + tags: "read-only fast requires-auth" +--- + +# Cloud Storage List + +List storage resources or files in a bucket + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity cloud storage list [name] [prefix] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | No | - | +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--showCredentials` | boolean | Yes | - | Show credentials in plain text (default: masked in terminal, unmasked in JSON) | +| `--nameOnly` | boolean | Yes | - | Print the name only | + +## Examples + +List items: + +```bash +agentuity cloud storage list +``` + +List items: + +```bash +agentuity cloud storage list my-bucket +``` + +List items: + +```bash +agentuity cloud storage list my-bucket path/prefix +``` + +Show output in JSON format: + +```bash +agentuity --json cloud storage list +``` + +List items: + +```bash +agentuity cloud storage ls +``` + +Use show credentials option: + +```bash +agentuity cloud storage list --show-credentials +``` + +## Output + +Returns JSON object: + +```json +{ + "buckets": "array", + "files": "array" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `buckets` | array | List of storage resources | +| `files` | array | List of files in bucket | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-storage-upload/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-storage-upload/SKILL.md new file mode 100644 index 00000000..3258e772 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-storage-upload/SKILL.md @@ -0,0 +1,91 @@ +--- +name: agentuity-cli-cloud-storage-upload +description: Upload a file to storage bucket. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud storage upload" + tags: "write requires-auth" +--- + +# Cloud Storage Upload + +Upload a file to storage bucket + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud storage upload [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--key` | string | Yes | - | Remote object key (defaults to basename or "stdin" for piped uploads) | +| `--contentType` | string | Yes | - | Content type (auto-detected if not provided) | + +## Examples + +Upload file to bucket: + +```bash +agentuity cloud storage upload my-bucket file.txt +``` + +Upload file with content type: + +```bash +agentuity cloud storage put my-bucket file.txt --content-type text/plain +``` + +Upload file with custom object key: + +```bash +agentuity cloud storage upload my-bucket file.txt --key custom-name.txt +``` + +Upload from stdin: + +```bash +cat file.txt | agentuity cloud storage upload my-bucket - +``` + +Upload from stdin with custom key: + +```bash +cat data.json | agentuity cloud storage upload my-bucket - --key data.json +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "bucket": "string", + "filename": "string", + "size": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether upload succeeded | +| `bucket` | string | Bucket name | +| `filename` | string | Uploaded filename | +| `size` | number | File size in bytes | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-stream-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-stream-delete/SKILL.md new file mode 100644 index 00000000..c96a26da --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-stream-delete/SKILL.md @@ -0,0 +1,66 @@ +--- +name: agentuity-cli-cloud-stream-delete +description: Delete a stream by ID (soft delete). Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud stream delete" + tags: "destructive deletes-resource slow requires-auth" +--- + +# Cloud Stream Delete + +Delete a stream by ID (soft delete) + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud stream delete +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Delete a stream: + +```bash +agentuity stream delete stream-id-123 +``` + +Delete stream (using alias): + +```bash +agentuity stream rm stream-id-456 +``` + +Delete stream (using alias): + +```bash +agentuity stream del stream-id-789 +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | Stream ID | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-stream-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-stream-get/SKILL.md new file mode 100644 index 00000000..eefe5fe5 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-stream-get/SKILL.md @@ -0,0 +1,86 @@ +--- +name: agentuity-cli-cloud-stream-get +description: Get detailed information about a specific stream. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud stream get" + tags: "read-only slow requires-auth" +--- + +# Cloud Stream Get + +Get detailed information about a specific stream + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud stream get [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--output` | string | Yes | - | download stream content to file | + +## Examples + +Get stream details: + +```bash +agentuity stream get stream-id-123 +``` + +Get stream as JSON: + +```bash +agentuity stream get stream-id-123 --json +``` + +Download stream to file: + +```bash +agentuity stream get stream-id-123 --output stream.dat +``` + +Download stream (short flag): + +```bash +agentuity stream get stream-id-123 -o stream.dat +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "name": "string", + "metadata": "object", + "url": "string", + "sizeBytes": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | Stream ID | +| `name` | string | Stream name | +| `metadata` | object | Stream metadata | +| `url` | string | Public URL | +| `sizeBytes` | number | Size in bytes | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-stream-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-stream-list/SKILL.md new file mode 100644 index 00000000..10a32174 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-stream-list/SKILL.md @@ -0,0 +1,82 @@ +--- +name: agentuity-cli-cloud-stream-list +description: List recent streams with optional filtering. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud stream list" + tags: "read-only slow requires-auth" +--- + +# Cloud Stream List + +List recent streams with optional filtering + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud stream list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--size` | number | Yes | - | maximum number of streams to return (default: 100) | +| `--offset` | number | Yes | - | number of streams to skip for pagination | +| `--name` | string | Yes | - | filter by stream name | +| `--metadata` | string | Yes | - | filter by metadata (format: key=value or key1=value1,key2=value2) | + +## Examples + +List all streams: + +```bash +agentuity cloud stream list +``` + +List 50 most recent streams: + +```bash +agentuity cloud stream ls --size 50 +``` + +Filter by name: + +```bash +agentuity cloud stream list --name agent-logs +``` + +Filter by metadata: + +```bash +agentuity cloud stream list --metadata type=export +``` + +Output as JSON: + +```bash +agentuity cloud stream ls --json +``` + +## Output + +Returns JSON object: + +```json +{ + "streams": "array", + "total": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `streams` | array | List of streams | +| `total` | number | Total count of matching streams | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-thread-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-thread-delete/SKILL.md new file mode 100644 index 00000000..e63a88b1 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-thread-delete/SKILL.md @@ -0,0 +1,39 @@ +--- +name: agentuity-cli-cloud-thread-delete +description: Delete a thread. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud thread delete" + tags: "destructive requires-auth" +--- + +# Cloud Thread Delete + +Delete a thread + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud thread delete +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Delete a thread by ID: + +```bash +agentuity cloud thread delete thrd_abc123xyz +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-thread-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-thread-get/SKILL.md new file mode 100644 index 00000000..4243168c --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-thread-get/SKILL.md @@ -0,0 +1,69 @@ +--- +name: agentuity-cli-cloud-thread-get +description: Get details about a specific thread. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud thread get" + tags: "read-only fast requires-auth" +--- + +# Cloud Thread Get + +Get details about a specific thread + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud thread get +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Get a thread by ID: + +```bash +agentuity cloud thread get thrd_abc123xyz +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "created_at": "string", + "updated_at": "string", + "deleted": "boolean", + "deleted_at": "unknown", + "deleted_by": "unknown", + "org_id": "string", + "project_id": "string", + "user_data": "unknown" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | Thread ID | +| `created_at` | string | Creation timestamp | +| `updated_at` | string | Update timestamp | +| `deleted` | boolean | Deleted status | +| `deleted_at` | unknown | Deletion timestamp | +| `deleted_by` | unknown | Deleted by | +| `org_id` | string | Organization ID | +| `project_id` | string | Project ID | +| `user_data` | unknown | User data as JSON | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-thread-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-thread-list/SKILL.md new file mode 100644 index 00000000..f47542db --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-thread-list/SKILL.md @@ -0,0 +1,69 @@ +--- +name: agentuity-cli-cloud-thread-list +description: List recent threads. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud thread list" + tags: "read-only fast requires-auth" +--- + +# Cloud Thread List + +List recent threads + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity cloud thread list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--count` | number | No | `10` | Number of threads to list (1–100) | +| `--orgId` | string | Yes | - | Filter by organization ID | +| `--projectId` | string | Yes | - | Filter by project ID | +| `--all` | boolean | Yes | - | List all threads regardless of project context | + +## Examples + +List 10 most recent threads: + +```bash +agentuity cloud thread list +``` + +List 25 most recent threads: + +```bash +agentuity cloud thread list --count=25 +``` + +Filter by project: + +```bash +agentuity cloud thread list --project-id=proj_* +``` + +Filter by organization: + +```bash +agentuity cloud thread list --org-id=org_* +``` + +List all threads regardless of project context: + +```bash +agentuity cloud thread list --all +``` + +## Output + +Returns: `array` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-vector-delete-namespace/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-delete-namespace/SKILL.md new file mode 100644 index 00000000..06d2489a --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-delete-namespace/SKILL.md @@ -0,0 +1,76 @@ +--- +name: agentuity-cli-cloud-vector-delete-namespace +description: Delete a vector namespace and all its vectors. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity cloud vector delete-namespace" + tags: "destructive deletes-resource slow requires-auth" +--- + +# Cloud Vector Delete-namespace + +Delete a vector namespace and all its vectors + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud vector delete-namespace [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--confirm` | boolean | No | `false` | if true will not prompt for confirmation | + +## Examples + +Delete staging namespace (interactive): + +```bash +agentuity vector delete-namespace staging +``` + +Delete cache without confirmation: + +```bash +agentuity vector rm-namespace cache --confirm +``` + +Force delete old-data namespace: + +```bash +agentuity vector delete-namespace old-data --confirm +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "namespace": "string", + "message": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the deletion succeeded | +| `namespace` | string | Deleted namespace name | +| `message` | string | Confirmation message | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-vector-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-delete/SKILL.md new file mode 100644 index 00000000..811005ac --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-delete/SKILL.md @@ -0,0 +1,83 @@ +--- +name: agentuity-cli-cloud-vector-delete +description: Delete one or more vectors by key. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud vector delete" + tags: "destructive deletes-resource slow requires-auth" +--- + +# Cloud Vector Delete + +Delete one or more vectors by key + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud vector delete [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | array | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--confirm` | boolean | No | `false` | if true will not prompt for confirmation | + +## Examples + +Delete a single vector (interactive): + +```bash +agentuity vector delete products chair-001 +``` + +Delete multiple vectors without confirmation: + +```bash +agentuity vector rm knowledge-base doc-123 doc-456 --confirm +``` + +Bulk delete without confirmation: + +```bash +agentuity vector del embeddings old-profile-1 old-profile-2 --confirm +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "namespace": "string", + "keys": "array", + "deleted": "number", + "durationMs": "number", + "message": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `namespace` | string | Namespace name | +| `keys` | array | Keys that were deleted | +| `deleted` | number | Number of vectors deleted | +| `durationMs` | number | Operation duration in milliseconds | +| `message` | string | Confirmation message | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-vector-get/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-get/SKILL.md new file mode 100644 index 00000000..b34b6844 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-get/SKILL.md @@ -0,0 +1,77 @@ +--- +name: agentuity-cli-cloud-vector-get +description: Get a specific vector entry by key. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud vector get" + tags: "read-only fast requires-auth" +--- + +# Cloud Vector Get + +Get a specific vector entry by key + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud vector get +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Examples + +Get a specific product vector: + +```bash +agentuity vector get products chair-001 +``` + +Get a document from knowledge base: + +```bash +agentuity vector get knowledge-base doc-123 +``` + +Get user profile embedding: + +```bash +agentuity vector get embeddings user-profile-456 +``` + +## Output + +Returns JSON object: + +```json +{ + "exists": "boolean", + "key": "string", + "id": "string", + "metadata": "object", + "document": "string", + "similarity": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `exists` | boolean | Whether the vector exists | +| `key` | string | Vector key | +| `id` | string | Vector ID | +| `metadata` | object | Vector metadata | +| `document` | string | Original document text | +| `similarity` | number | Similarity score | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-vector-list-namespaces/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-list-namespaces/SKILL.md new file mode 100644 index 00000000..9563ac0a --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-list-namespaces/SKILL.md @@ -0,0 +1,49 @@ +--- +name: agentuity-cli-cloud-vector-list-namespaces +description: List all vector namespaces. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity cloud vector list-namespaces" + tags: "read-only fast requires-auth" +--- + +# Cloud Vector List-namespaces + +List all vector namespaces + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud vector list-namespaces +``` + +## Examples + +List all namespaces: + +```bash +agentuity vector list-namespaces +``` + +List namespaces (using alias): + +```bash +agentuity vector namespaces +``` + +List namespaces (short alias): + +```bash +agentuity vector ns +``` + +## Output + +Returns: `array` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-vector-search/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-search/SKILL.md new file mode 100644 index 00000000..400747bf --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-search/SKILL.md @@ -0,0 +1,93 @@ +--- +name: agentuity-cli-cloud-vector-search +description: Search for vectors using semantic similarity. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " " +metadata: + command: "agentuity cloud vector search" + tags: "read-only slow requires-auth" +--- + +# Cloud Vector Search + +Search for vectors using semantic similarity + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud vector search [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--limit` | number | Yes | - | maximum number of results to return (default: 10) | +| `--similarity` | number | Yes | - | minimum similarity threshold (0.0-1.0) | +| `--metadata` | string | Yes | - | filter by metadata (format: key=value or key1=value1,key2=value2) | + +## Examples + +Search for similar products: + +```bash +agentuity vector search products "comfortable office chair" +``` + +Search knowledge base: + +```bash +agentuity vector list knowledge-base "machine learning" +``` + +Limit results: + +```bash +agentuity vector search docs "API documentation" --limit 5 +``` + +Set minimum similarity: + +```bash +agentuity vector search products "ergonomic" --similarity 0.8 +``` + +Filter by metadata: + +```bash +agentuity vector ls embeddings "neural networks" --metadata category=ai +``` + +## Output + +Returns JSON object: + +```json +{ + "namespace": "string", + "query": "string", + "results": "array", + "count": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `namespace` | string | Namespace name | +| `query` | string | Search query used | +| `results` | array | Search results | +| `count` | number | Number of results found | diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-vector-stats/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-stats/SKILL.md new file mode 100644 index 00000000..fe1939d6 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-stats/SKILL.md @@ -0,0 +1,52 @@ +--- +name: agentuity-cli-cloud-vector-stats +description: Get statistics for vector storage. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[name]" +metadata: + command: "agentuity cloud vector stats" + tags: "read-only fast requires-auth" +--- + +# Cloud Vector Stats + +Get statistics for vector storage + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud vector stats [name] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | No | - | + +## Examples + +Show stats for all namespaces: + +```bash +agentuity vector stats +``` + +Show detailed stats for products namespace: + +```bash +agentuity vector stats products +``` + +Show stats for embeddings: + +```bash +agentuity vector stats embeddings +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-cloud-vector-upsert/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-upsert/SKILL.md new file mode 100644 index 00000000..a27bb811 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-cloud-vector-upsert/SKILL.md @@ -0,0 +1,96 @@ +--- +name: agentuity-cli-cloud-vector-upsert +description: Add or update vectors in the vector storage. Requires authentication. Use for Agentuity cloud platform operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: " [key]" +metadata: + command: "agentuity cloud vector upsert" + tags: "mutating updates-resource slow requires-auth" +--- + +# Cloud Vector Upsert + +Add or update vectors in the vector storage + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity cloud vector upsert [key] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--document` | string | Yes | - | document text to embed | +| `--embeddings` | string | Yes | - | pre-computed embeddings as JSON array | +| `--metadata` | string | Yes | - | metadata as JSON object | +| `--file` | string | Yes | - | path to JSON file containing vectors, or "-" for stdin | + +## Examples + +Upsert a single vector with document text: + +```bash +agentuity vector upsert products doc1 --document "Comfortable office chair" +``` + +Upsert with metadata: + +```bash +agentuity vector upsert products doc1 --document "Chair" --metadata '{"category":"furniture"}' +``` + +Upsert with pre-computed embeddings: + +```bash +agentuity vector upsert embeddings vec1 --embeddings "[0.1, 0.2, 0.3]" +``` + +Bulk upsert from JSON file: + +```bash +agentuity vector upsert products --file vectors.json +``` + +Bulk upsert from stdin: + +```bash +cat vectors.json | agentuity vector upsert products - +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "namespace": "string", + "count": "number", + "results": "array", + "durationMs": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `namespace` | string | Namespace name | +| `count` | number | Number of vectors upserted | +| `results` | array | Upsert results with key-to-id mappings | +| `durationMs` | number | Operation duration in milliseconds | diff --git a/doc-agents/.agents/skills/agentuity-cli-dev/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-dev/SKILL.md new file mode 100644 index 00000000..efdedf37 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-dev/SKILL.md @@ -0,0 +1,46 @@ +--- +name: agentuity-cli-dev +description: Build and run the development server +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity dev" + tags: "mutating slow requires-project" +--- + +# Dev + +Build and run the development server + +## Usage + +```bash +agentuity dev +``` + +## Examples + +Start development server: + +```bash +agentuity dev +``` + +Specify custom port: + +```bash +agentuity dev --port 8080 +``` + +Run in local mode: + +```bash +agentuity dev --local +``` + +Disable public URL: + +```bash +agentuity dev --no-public +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-git-account-add/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-git-account-add/SKILL.md new file mode 100644 index 00000000..dd2e7002 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-git-account-add/SKILL.md @@ -0,0 +1,60 @@ +--- +name: agentuity-cli-git-account-add +description: Add a GitHub account to your organization. Requires authentication +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity git account add" + tags: "mutating creates-resource slow api-intensive" +--- + +# Git Account Add + +Add a GitHub account to your organization + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity git account add [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--org` | string | Yes | - | Organization ID to add the account to | + +## Examples + +Add a GitHub account to your organization: + +```bash +agentuity git account add +``` + +Add to a specific organization: + +```bash +agentuity git account add --org org_abc123 +``` + +## Output + +Returns JSON object: + +```json +{ + "connected": "boolean", + "orgId": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `connected` | boolean | Whether the account was connected | +| `orgId` | string | Organization ID | diff --git a/doc-agents/.agents/skills/agentuity-cli-git-account-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-git-account-list/SKILL.md new file mode 100644 index 00000000..0711febb --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-git-account-list/SKILL.md @@ -0,0 +1,42 @@ +--- +name: agentuity-cli-git-account-list +description: List GitHub accounts connected to your organizations. Requires authentication +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity git account list" + tags: "read-only" +--- + +# Git Account List + +List GitHub accounts connected to your organizations + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity git account list +``` + +## Examples + +List all connected GitHub accounts: + +```bash +agentuity git account list +``` + +List accounts in JSON format: + +```bash +agentuity --json git account list +``` + +## Output + +Returns: `array` diff --git a/doc-agents/.agents/skills/agentuity-cli-git-account-remove/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-git-account-remove/SKILL.md new file mode 100644 index 00000000..f87292a9 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-git-account-remove/SKILL.md @@ -0,0 +1,70 @@ +--- +name: agentuity-cli-git-account-remove +description: Remove a GitHub account from your organization. Requires authentication +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity git account remove" + tags: "mutating destructive slow" +--- + +# Git Account Remove + +Remove a GitHub account from your organization + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity git account remove [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--org` | string | Yes | - | Organization ID | +| `--account` | string | Yes | - | GitHub integration ID to remove | +| `--confirm` | boolean | Yes | - | Skip confirmation prompt | + +## Examples + +Remove a GitHub account from your organization: + +```bash +agentuity git account remove +``` + +Remove a specific account without prompts: + +```bash +agentuity git account remove --org org_abc --account int_xyz --confirm +``` + +Remove and return JSON result: + +```bash +agentuity --json git account remove --org org_abc --account int_xyz --confirm +``` + +## Output + +Returns JSON object: + +```json +{ + "removed": "boolean", + "orgId": "string", + "integrationId": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `removed` | boolean | Whether the account was removed | +| `orgId` | string | Organization ID | +| `integrationId` | string | Integration ID that was removed | diff --git a/doc-agents/.agents/skills/agentuity-cli-git-link/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-git-link/SKILL.md new file mode 100644 index 00000000..77125711 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-git-link/SKILL.md @@ -0,0 +1,104 @@ +--- +name: agentuity-cli-git-link +description: Link a project to a GitHub repository. Requires authentication +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity git link" + tags: "mutating creates-resource" +--- + +# Git Link + +Link a project to a GitHub repository + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity git link [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--repo` | string | Yes | - | Repository full name (owner/repo) to link | +| `--deploy` | boolean | Yes | - | Enable automatic deployments on push (default: true) | +| `--preview` | boolean | Yes | - | Enable preview deployments on pull requests (default: true) | +| `--branch` | string | Yes | - | Branch to deploy from (default: repo default branch) | +| `--root` | string | Yes | - | Root directory containing agentuity.json (default: .) | +| `--confirm` | boolean | Yes | - | Skip confirmation prompts | + +## Examples + +Link current project to a GitHub repository: + +```bash +agentuity git link +``` + +Link to a specific repo non-interactively: + +```bash +agentuity git link --repo owner/repo --branch main --confirm +``` + +Link from the current directory: + +```bash +agentuity git link --root . +``` + +Link to a specific branch: + +```bash +agentuity git link --branch main +``` + +Enable preview deployments on PRs: + +```bash +agentuity git link --preview true +``` + +Disable automatic deployments on push: + +```bash +agentuity git link --deploy false +``` + +Link a subdirectory in a monorepo: + +```bash +agentuity git link --root packages/my-agent +``` + +Link and return JSON result: + +```bash +agentuity --json git link --repo owner/repo --branch main --confirm +``` + +## Output + +Returns JSON object: + +```json +{ + "linked": "boolean", + "repoFullName": "string", + "branch": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `linked` | boolean | Whether the project was linked | +| `repoFullName` | string | Repository that was linked | +| `branch` | string | Branch configured | diff --git a/doc-agents/.agents/skills/agentuity-cli-git-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-git-list/SKILL.md new file mode 100644 index 00000000..dbfd895c --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-git-list/SKILL.md @@ -0,0 +1,51 @@ +--- +name: agentuity-cli-git-list +description: List GitHub repositories accessible to your organization. Requires authentication +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity git list" + tags: "read-only" +--- + +# Git List + +List GitHub repositories accessible to your organization + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity git list [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--org` | string | Yes | - | Organization ID to list repos for | +| `--account` | string | Yes | - | GitHub account/integration ID to filter by | + +## Examples + +List all accessible GitHub repositories: + +```bash +agentuity git list +``` + +List repos for a specific organization: + +```bash +agentuity git list --org org_abc123 +``` + +List repos in JSON format: + +```bash +agentuity --json git list +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-git-status/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-git-status/SKILL.md new file mode 100644 index 00000000..be4bddec --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-git-status/SKILL.md @@ -0,0 +1,71 @@ +--- +name: agentuity-cli-git-status +description: Show GitHub connection status for current project. Requires authentication +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity git status" + tags: "read-only" +--- + +# Git Status + +Show GitHub connection status for current project + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity git status +``` + +## Examples + +Show GitHub status for current project: + +```bash +agentuity git status +``` + +Get status in JSON format: + +```bash +agentuity --json git status +``` + +## Output + +Returns JSON object: + +```json +{ + "orgId": "string", + "connected": "boolean", + "integrations": "array", + "projectId": "string", + "linked": "boolean", + "repoFullName": "string", + "branch": "string", + "directory": "string", + "autoDeploy": "boolean", + "previewDeploy": "boolean" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `orgId` | string | Organization ID | +| `connected` | boolean | Whether GitHub is connected to the org | +| `integrations` | array | Connected GitHub accounts | +| `projectId` | string | Project ID | +| `linked` | boolean | Whether the project is linked to a repo | +| `repoFullName` | string | Full repository name | +| `branch` | string | Branch | +| `directory` | string | Directory | +| `autoDeploy` | boolean | Auto-deploy enabled | +| `previewDeploy` | boolean | Preview deploys enabled | diff --git a/doc-agents/.agents/skills/agentuity-cli-git-unlink/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-git-unlink/SKILL.md new file mode 100644 index 00000000..54f0a6b6 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-git-unlink/SKILL.md @@ -0,0 +1,67 @@ +--- +name: agentuity-cli-git-unlink +description: Unlink a project from its GitHub repository. Requires authentication +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity git unlink" + tags: "mutating destructive" +--- + +# Git Unlink + +Unlink a project from its GitHub repository + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity git unlink [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--confirm` | boolean | Yes | - | Skip confirmation prompt | + +## Examples + +Unlink current project from GitHub: + +```bash +agentuity git unlink +``` + +Unlink without confirmation prompt: + +```bash +agentuity git unlink --confirm +``` + +Unlink and return JSON result: + +```bash +agentuity --json git unlink --confirm +``` + +## Output + +Returns JSON object: + +```json +{ + "unlinked": "boolean", + "repoFullName": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `unlinked` | boolean | Whether the project was unlinked | +| `repoFullName` | string | Repository that was unlinked | diff --git a/doc-agents/.agents/skills/agentuity-cli-profile-create/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-profile-create/SKILL.md new file mode 100644 index 00000000..55acefb2 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-profile-create/SKILL.md @@ -0,0 +1,71 @@ +--- +name: agentuity-cli-profile-create +description: Create a new configuration profile +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity profile create" + tags: "mutating creates-resource fast" +--- + +# Profile Create + +Create a new configuration profile + +## Usage + +```bash +agentuity profile create [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--switch` | boolean | Yes | - | switch to this profile (if more than one) | + +## Examples + +Create new item: + +```bash +bunx @agentuity/cli profile create production +``` + +Use switch option: + +```bash +bunx @agentuity/cli profile create staging --switch +``` + +Create new item: + +```bash +bunx @agentuity/cli profile create development +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "name": "string", + "path": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether creation succeeded | +| `name` | string | Profile name | +| `path` | string | Profile file path | diff --git a/doc-agents/.agents/skills/agentuity-cli-profile-current/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-profile-current/SKILL.md new file mode 100644 index 00000000..f1769211 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-profile-current/SKILL.md @@ -0,0 +1,38 @@ +--- +name: agentuity-cli-profile-current +description: Show the name of the currently active profile +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity profile current" + tags: "read-only fast" +--- + +# Profile Current + +Show the name of the currently active profile + +## Usage + +```bash +agentuity profile current +``` + +## Examples + +Show current profile: + +```bash +bunx @agentuity/cli profile current +``` + +Show output in JSON format: + +```bash +bunx @agentuity/cli profile current --json +``` + +## Output + +Returns: `string` diff --git a/doc-agents/.agents/skills/agentuity-cli-profile-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-profile-delete/SKILL.md new file mode 100644 index 00000000..4f05ee43 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-profile-delete/SKILL.md @@ -0,0 +1,69 @@ +--- +name: agentuity-cli-profile-delete +description: Delete a configuration profile +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[name]" +metadata: + command: "agentuity profile delete" + tags: "destructive deletes-resource fast" +--- + +# Profile Delete + +Delete a configuration profile + +## Usage + +```bash +agentuity profile delete [name] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--confirm` | boolean | Yes | - | Skip confirmation prompt | + +## Examples + +Delete item: + +```bash +bunx @agentuity/cli profile delete staging +``` + +Use confirm option: + +```bash +bunx @agentuity/cli profile delete old-dev --confirm +``` + +Delete item: + +```bash +bunx @agentuity/cli profile delete +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "name": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether deletion succeeded | +| `name` | string | Deleted profile name | diff --git a/doc-agents/.agents/skills/agentuity-cli-profile-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-profile-list/SKILL.md new file mode 100644 index 00000000..f710ada5 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-profile-list/SKILL.md @@ -0,0 +1,38 @@ +--- +name: agentuity-cli-profile-list +description: List all available profiles +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity profile list" + tags: "read-only fast" +--- + +# Profile List + +List all available profiles + +## Usage + +```bash +agentuity profile list +``` + +## Examples + +List items: + +```bash +bunx @agentuity/cli profile list +``` + +List items: + +```bash +bunx @agentuity/cli profile ls +``` + +## Output + +Returns: `array` diff --git a/doc-agents/.agents/skills/agentuity-cli-profile-show/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-profile-show/SKILL.md new file mode 100644 index 00000000..316ba38e --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-profile-show/SKILL.md @@ -0,0 +1,71 @@ +--- +name: agentuity-cli-profile-show +description: Show the configuration of a profile +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[name]" +metadata: + command: "agentuity profile show" + tags: "read-only fast" +--- + +# Profile Show + +Show the configuration of a profile + +## Usage + +```bash +agentuity profile show [name] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | No | - | + +## Examples + +Show details: + +```bash +bunx @agentuity/cli profile show +``` + +Show details: + +```bash +bunx @agentuity/cli profile show production +``` + +Show output in JSON format: + +```bash +bunx @agentuity/cli profile show staging --json +``` + +## Output + +Returns JSON object: + +```json +{ + "name": "string", + "auth": "object", + "devmode": "object", + "overrides": "unknown", + "preferences": "object", + "gravity": "object" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `name` | string | Profile name | +| `auth` | object | Authentication credentials (managed by login/logout commands) | +| `devmode` | object | Development mode configuration | +| `overrides` | unknown | URL and behavior overrides | +| `preferences` | object | User preferences | +| `gravity` | object | the gravity client information | diff --git a/doc-agents/.agents/skills/agentuity-cli-profile-use/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-profile-use/SKILL.md new file mode 100644 index 00000000..e03fc304 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-profile-use/SKILL.md @@ -0,0 +1,47 @@ +--- +name: agentuity-cli-profile-use +description: Switch to a different configuration profile +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[name]" +metadata: + command: "agentuity profile use" + tags: "mutating updates-resource fast" +--- + +# Profile Use + +Switch to a different configuration profile + +## Usage + +```bash +agentuity profile use [name] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | No | - | + +## Examples + +Switch to the "production" profile: + +```bash +bunx @agentuity/cli profile use production +``` + +Switch to the "staging" profile: + +```bash +bunx @agentuity/cli profile switch staging +``` + +Show interactive profile selection menu: + +```bash +bunx @agentuity/cli profile use +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-project-auth-generate/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-project-auth-generate/SKILL.md new file mode 100644 index 00000000..95475aab --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-project-auth-generate/SKILL.md @@ -0,0 +1,66 @@ +--- +name: agentuity-cli-project-auth-generate +description: Generate SQL schema for Agentuity Auth tables. Use for managing authentication credentials +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity project auth generate" + tags: "slow" +--- + +# Project Auth Generate + +Generate SQL schema for Agentuity Auth tables + +## Prerequisites + +- Project context required (run from project directory or use `--project-id`) + +## Usage + +```bash +agentuity project auth generate [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--output` | string | Yes | - | Output path for generated SQL (default: ./agentuity-auth-schema.sql). Use "-" for stdout. | + +## Examples + +Generate SQL schema and save to agentuity-auth-schema.sql: + +```bash +agentuity project auth generate +``` + +Generate schema to a custom path: + +```bash +agentuity project auth generate --output ./migrations/auth.sql +``` + +Output SQL to stdout: + +```bash +agentuity project auth generate --output - +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "outputPath": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether generation succeeded | +| `outputPath` | string | Path where SQL was written | diff --git a/doc-agents/.agents/skills/agentuity-cli-project-auth-init/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-project-auth-init/SKILL.md new file mode 100644 index 00000000..05070b2a --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-project-auth-init/SKILL.md @@ -0,0 +1,59 @@ +--- +name: agentuity-cli-project-auth-init +description: Set up Agentuity Auth for your project. Requires authentication. Use for managing authentication credentials +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity project auth init" + tags: "mutating slow requires-auth" +--- + +# Project Auth Init + +Set up Agentuity Auth for your project + +## Prerequisites + +- Authenticated with `agentuity auth login` +- Organization context required (`--org-id` or default org) + +## Usage + +```bash +agentuity project auth init [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--skipMigrations` | boolean | Yes | - | Skip running database migrations (run `agentuity project auth generate` later) | + +## Examples + +Set up Agentuity Auth with database selection: + +```bash +agentuity project auth init +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "database": "string", + "authFileCreated": "boolean", + "migrationsRun": "boolean" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether setup succeeded | +| `database` | string | Database name used | +| `authFileCreated` | boolean | Whether auth.ts was created | +| `migrationsRun` | boolean | Whether migrations were run | diff --git a/doc-agents/.agents/skills/agentuity-cli-project-create/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-project-create/SKILL.md new file mode 100644 index 00000000..8514fc07 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-project-create/SKILL.md @@ -0,0 +1,102 @@ +--- +name: agentuity-cli-project-create +description: Create a new project. Use for project management operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity project create" + tags: "mutating creates-resource slow" +--- + +# Project Create + +Create a new project + +## Usage + +```bash +agentuity project create [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--name` | string | Yes | - | Project name | +| `--dir` | string | Yes | - | Directory to create the project in | +| `--domains` | array | Yes | - | Array of custom domains | +| `--template` | string | Yes | - | Template to use | +| `--templateDir` | string | Yes | - | Local template directory for testing (e.g., ./packages/templates) | +| `--templateBranch` | string | Yes | - | GitHub branch to use for templates (default: main) | +| `--install` | boolean | No | `true` | Run bun install after creating the project (use --no-install to skip) | +| `--build` | boolean | No | `true` | Run bun run build after installing (use --no-build to skip) | +| `--confirm` | boolean | Yes | - | Skip confirmation prompts | +| `--register` | boolean | No | `true` | Register the project, if authenticated (use --no-register to skip) | +| `--database` | string | Yes | - | Database action: "skip", "new", or existing database name | +| `--storage` | string | Yes | - | Storage action: "skip", "new", or existing bucket name | +| `--enableAuth` | boolean | Yes | - | Enable Agentuity Auth | + +## Examples + +Create new item: + +```bash +agentuity project create +``` + +Create new item: + +```bash +agentuity project create --name my-ai-agent +``` + +Create new item: + +```bash +agentuity project create --name customer-service-bot --dir ~/projects/agent +``` + +Use no install option: + +```bash +agentuity project create --template basic --no-install +``` + +Use no register option: + +```bash +agentuity project new --no-register +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "error": "string", + "name": "string", + "path": "string", + "projectId": "string", + "orgId": "string", + "template": "string", + "installed": "boolean", + "built": "boolean", + "domains": "array" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the operation succeeded | +| `error` | string | Error message if setup failed | +| `name` | string | Project name | +| `path` | string | Project directory path | +| `projectId` | string | Project ID if registered | +| `orgId` | string | Organization ID if registered | +| `template` | string | Template used | +| `installed` | boolean | Whether dependencies were installed | +| `built` | boolean | Whether the project was built | +| `domains` | array | Array of custom domains | diff --git a/doc-agents/.agents/skills/agentuity-cli-project-delete/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-project-delete/SKILL.md new file mode 100644 index 00000000..81dc4a9e --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-project-delete/SKILL.md @@ -0,0 +1,93 @@ +--- +name: agentuity-cli-project-delete +description: Delete a project. Requires authentication. Use for project management operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "[id]" +metadata: + command: "agentuity project delete" + tags: "destructive deletes-resource slow requires-auth" +--- + +# Project Delete + +Delete a project + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity project delete [id] [options] +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | No | - | + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--confirm` | boolean | Yes | - | Skip confirmation prompts | + +## Examples + +Delete item: + +```bash +agentuity project delete +``` + +Delete item: + +```bash +agentuity project delete proj_abc123def456 +``` + +Use confirm option: + +```bash +agentuity project delete proj_abc123def456 --confirm +``` + +Delete item: + +```bash +agentuity project rm proj_abc123def456 +``` + +Delete item: + +```bash +agentuity --explain project delete proj_abc123def456 +``` + +Delete item: + +```bash +agentuity --dry-run project delete proj_abc123def456 +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "projectIds": "array", + "count": "number" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the deletion succeeded | +| `projectIds` | array | Deleted project IDs | +| `count` | number | Number of projects deleted | diff --git a/doc-agents/.agents/skills/agentuity-cli-project-import/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-project-import/SKILL.md new file mode 100644 index 00000000..f024c570 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-project-import/SKILL.md @@ -0,0 +1,69 @@ +--- +name: agentuity-cli-project-import +description: Import or register a local project with Agentuity Cloud. Requires authentication. Use for project management operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity project import" + tags: "mutating creates-resource requires-auth" +--- + +# Project Import + +Import or register a local project with Agentuity Cloud + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity project import [options] +``` + +## Options + +| Option | Type | Required | Default | Description | +|--------|------|----------|---------|-------------| +| `--dir` | string | Yes | - | Directory containing the project (default: current directory) | +| `--validateOnly` | boolean | Yes | - | Only validate the project structure without prompting | + +## Examples + +Import project in current directory: + +```bash +agentuity project import +``` + +Import project from specified directory: + +```bash +agentuity project import --dir ./my-agent +``` + +## Output + +Returns JSON object: + +```json +{ + "success": "boolean", + "projectId": "string", + "orgId": "string", + "region": "string", + "status": "string", + "message": "string" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `success` | boolean | Whether the import succeeded | +| `projectId` | string | Project ID if imported | +| `orgId` | string | Organization ID | +| `region` | string | Region | +| `status` | string | The result status of the import | +| `message` | string | Status message | diff --git a/doc-agents/.agents/skills/agentuity-cli-project-list/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-project-list/SKILL.md new file mode 100644 index 00000000..c40d7029 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-project-list/SKILL.md @@ -0,0 +1,48 @@ +--- +name: agentuity-cli-project-list +description: List all projects. Requires authentication. Use for project management operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity project list" + tags: "read-only slow requires-auth" +--- + +# Project List + +List all projects + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity project list +``` + +## Examples + +List projects (human-readable): + +```bash +agentuity project list +``` + +List projects in JSON format: + +```bash +agentuity --json project list +``` + +Alias for "project list" — list projects (human-readable): + +```bash +agentuity project ls +``` + +## Output + +Returns: `array` diff --git a/doc-agents/.agents/skills/agentuity-cli-project-show/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-project-show/SKILL.md new file mode 100644 index 00000000..549eb1dd --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-project-show/SKILL.md @@ -0,0 +1,77 @@ +--- +name: agentuity-cli-project-show +description: Show project detail. Requires authentication. Use for project management operations +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +argument-hint: "" +metadata: + command: "agentuity project show" + tags: "read-only fast requires-auth requires-project" +--- + +# Project Show + +Show project detail + +## Prerequisites + +- Authenticated with `agentuity auth login` + +## Usage + +```bash +agentuity project show +``` + +## Arguments + +| Argument | Type | Required | Description | +|----------|------|----------|-------------| +| `` | string | Yes | - | + +## Examples + +Show details: + +```bash +agentuity project show proj_abc123def456 +``` + +Show output in JSON format: + +```bash +agentuity --json project show proj_abc123def456 +``` + +Get item details: + +```bash +agentuity project get proj_abc123def456 +``` + +## Output + +Returns JSON object: + +```json +{ + "id": "string", + "name": "string", + "description": "unknown", + "tags": "unknown", + "orgId": "string", + "secrets": "object", + "env": "object" +} +``` + +| Field | Type | Description | +|-------|------|-------------| +| `id` | string | Project ID | +| `name` | string | Project name | +| `description` | unknown | Project description | +| `tags` | unknown | Project tags | +| `orgId` | string | Organization ID | +| `secrets` | object | Project secrets (masked) | +| `env` | object | Environment variables | diff --git a/doc-agents/.agents/skills/agentuity-cli-repl/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-repl/SKILL.md new file mode 100644 index 00000000..a3315468 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-repl/SKILL.md @@ -0,0 +1,28 @@ +--- +name: agentuity-cli-repl +description: interactive REPL for testing +version: "0.1.20" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity repl" + tags: "slow" +--- + +# Repl + +interactive REPL for testing + +## Usage + +```bash +agentuity repl +``` + +## Examples + +Run repl command: + +```bash +agentuity repl +``` diff --git a/doc-agents/.agents/skills/agentuity-cli-upgrade/SKILL.md b/doc-agents/.agents/skills/agentuity-cli-upgrade/SKILL.md new file mode 100644 index 00000000..8e27ee66 --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-cli-upgrade/SKILL.md @@ -0,0 +1,34 @@ +--- +name: agentuity-cli-upgrade +description: Upgrade the CLI to the latest version +version: "0.0.105" +license: Apache-2.0 +allowed-tools: "Bash(agentuity:*)" +metadata: + command: "agentuity upgrade" + tags: "update" +--- + +# Upgrade + +Upgrade the CLI to the latest version + +## Usage + +```bash +agentuity upgrade +``` + +## Examples + +Check for updates and prompt to upgrade: + +```bash +agentuity upgrade +``` + +Force upgrade even if already on latest version: + +```bash +agentuity upgrade --force +``` diff --git a/doc-agents/.agents/skills/agentuity-version.txt b/doc-agents/.agents/skills/agentuity-version.txt new file mode 100644 index 00000000..964f548b --- /dev/null +++ b/doc-agents/.agents/skills/agentuity-version.txt @@ -0,0 +1 @@ +0.1.20 \ No newline at end of file diff --git a/doc-agents/.env.example b/doc-agents/.env.example new file mode 100644 index 00000000..aa6300ee --- /dev/null +++ b/doc-agents/.env.example @@ -0,0 +1,3 @@ +TUTORIAL_API_URL=https://agentuity.dev +VECTOR_STORE_NAME=agentuity-docs +AGENTUITY_SDK_KEY= \ No newline at end of file diff --git a/agent-docs/.gitignore b/doc-agents/.gitignore similarity index 60% rename from agent-docs/.gitignore rename to doc-agents/.gitignore index 80b0671b..6767817a 100644 --- a/agent-docs/.gitignore +++ b/doc-agents/.gitignore @@ -1,39 +1,43 @@ # dependencies (bun install) + node_modules # output + out dist *.tgz # code coverage + coverage *.lcov # logs -logs + +/logs _.log -report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json +report.[0-9]_.[0-9]_.[0-9]_.[0-9]\*.json # dotenv environment variable files + .env -.env.development.local -.env.test.local -.env.production.local -.env.local +.env.\* # caches + .eslintcache .cache *.tsbuildinfo # IntelliJ based IDEs + .idea # Finder (MacOS) folder config + .DS_Store -# Agentuity + +# Agentuity build files + .agentuity -.agentuity-crash-*.json -.env.development -.env.production diff --git a/doc-agents/.vscode/settings.json b/doc-agents/.vscode/settings.json new file mode 100644 index 00000000..8b2c0232 --- /dev/null +++ b/doc-agents/.vscode/settings.json @@ -0,0 +1,16 @@ +{ + "search.exclude": { + "**/.git/**": true, + "**/node_modules/**": true, + "**/bun.lock": true, + "**/.agentuity/**": true + }, + "json.schemas": [ + { + "fileMatch": [ + "agentuity.json" + ], + "url": "https://agentuity.dev/schema/cli/v1/agentuity.json" + } + ] +} \ No newline at end of file diff --git a/doc-agents/AGENTS.md b/doc-agents/AGENTS.md new file mode 100644 index 00000000..55f22493 --- /dev/null +++ b/doc-agents/AGENTS.md @@ -0,0 +1,64 @@ +# Agent Guidelines for doc_agents + +## Commands + +- **Build**: `bun run build` (compiles your application) +- **Dev**: `bun run dev` (starts development server) +- **Typecheck**: `bun run typecheck` (runs TypeScript type checking) +- **Deploy**: `bun run deploy` (deploys your app to the Agentuity cloud) + +## Agent-Friendly CLI + +The Agentuity CLI is designed to be agent-friendly with programmatic interfaces, structured output, and comprehensive introspection. + +Read the [AGENTS.md](./node_modules/@agentuity/cli/AGENTS.md) file in the Agentuity CLI for more information on how to work with this project. + +## Instructions + +- This project uses Bun instead of NodeJS and TypeScript for all source code +- This is an Agentuity Agent project + +## Web Frontend (src/web/) + +The `src/web/` folder contains your React frontend, which is automatically bundled by the Agentuity build system. + +**File Structure:** + +- `index.html` - Main HTML file with ``; + // Session script sets cookies and window.__AGENTUITY_SESSION__ (dynamic, not cached) + const sessionScript = ''; + + // In production, the beacon is already in HTML as a CDN asset (data-agentuity-beacon marker) + // Inject config/session BEFORE the beacon marker so config exists when beacon runs + const beaconMarker = ' + + +``` + +## React Hooks + +All hooks from `@agentuity/react` must be used within an `AgentuityProvider`. **Always use these hooks instead of raw `fetch()` calls** - they provide type safety, automatic error handling, and integration with the Agentuity platform. + +### useAPI - Type-Safe API Calls + +The primary hook for making HTTP requests. **Use this instead of `fetch()`.** + +```typescript +import { useAPI } from '@agentuity/react'; + +function MyComponent() { + // GET requests auto-execute and return refetch + const { data, isLoading, error, refetch } = useAPI('GET /api/users'); + + // POST/PUT/DELETE return invoke for manual execution + const { invoke, data: result, isLoading: saving } = useAPI('POST /api/users'); + + const handleCreate = async () => { + // Input is fully typed from route schema! + await invoke({ name: 'Alice', email: 'alice@example.com' }); + }; + + return ( +
+ + {result &&

Created: {result.name}

} +
+ ); +} +``` + +**useAPI Return Values:** + +| Property | Type | Description | +| ------------ | ------------------------ | ----------------------------------------- | +| `data` | `T \| undefined` | Response data (typed from route schema) | +| `error` | `Error \| null` | Error if request failed | +| `isLoading` | `boolean` | True during initial load | +| `isFetching` | `boolean` | True during any fetch (including refetch) | +| `isSuccess` | `boolean` | True if last request succeeded | +| `isError` | `boolean` | True if last request failed | +| `invoke` | `(input?) => Promise` | Manual trigger (POST/PUT/DELETE) | +| `refetch` | `() => Promise` | Refetch data (GET) | +| `reset` | `() => void` | Reset state to initial | + +### useAPI Options + +```typescript +// GET with query parameters and caching +const { data } = useAPI({ + route: 'GET /api/search', + query: { q: 'react', limit: '10' }, + staleTime: 5000, // Cache for 5 seconds + refetchInterval: 10000, // Auto-refetch every 10 seconds + enabled: true, // Set to false to disable auto-fetch +}); + +// POST with callbacks +const { invoke } = useAPI({ + route: 'POST /api/users', + onSuccess: (data) => console.log('Created:', data), + onError: (error) => console.error('Failed:', error), +}); + +// Streaming responses with onChunk +const { invoke } = useAPI({ + route: 'POST /api/stream', + onChunk: (chunk) => console.log('Received chunk:', chunk), + delimiter: '\n', // Split stream by newlines (default) +}); + +// Custom headers +const { data } = useAPI({ + route: 'GET /api/protected', + headers: { 'X-Custom-Header': 'value' }, +}); +``` + +### useWebsocket - WebSocket Connection + +For bidirectional real-time communication. Automatically handles reconnection. + +```typescript +import { useWebsocket } from '@agentuity/react'; + +function ChatComponent() { + const { isConnected, data, send, messages, clearMessages, error, reset } = useWebsocket('/api/chat'); + + return ( +
+

Status: {isConnected ? 'Connected' : 'Disconnected'}

+ +
+ {messages.map((msg, i) => ( +

{JSON.stringify(msg)}

+ ))} +
+ +
+ ); +} +``` + +**useWebsocket Return Values:** + +| Property | Type | Description | +| --------------- | ---------------- | ---------------------------------------- | +| `isConnected` | `boolean` | True when WebSocket is connected | +| `data` | `T \| undefined` | Most recent message received | +| `messages` | `T[]` | Array of all received messages | +| `send` | `(data) => void` | Send a message (typed from route schema) | +| `clearMessages` | `() => void` | Clear the messages array | +| `close` | `() => void` | Close the connection | +| `error` | `Error \| null` | Error if connection failed | +| `isError` | `boolean` | True if there's an error | +| `reset` | `() => void` | Reset state and reconnect | +| `readyState` | `number` | WebSocket ready state | + +### useEventStream - Server-Sent Events + +For server-to-client streaming (one-way). Use when server pushes updates to client. + +```typescript +import { useEventStream } from '@agentuity/react'; + +function NotificationsComponent() { + const { isConnected, data, error, close, reset } = useEventStream('/api/notifications'); + + return ( +
+

Connected: {isConnected ? 'Yes' : 'No'}

+ {error &&

Error: {error.message}

} +

Latest: {JSON.stringify(data)}

+ +
+ ); +} +``` + +**useEventStream Return Values:** + +| Property | Type | Description | +| ------------- | ---------------- | ---------------------------------- | +| `isConnected` | `boolean` | True when EventSource is connected | +| `data` | `T \| undefined` | Most recent event data | +| `error` | `Error \| null` | Error if connection failed | +| `isError` | `boolean` | True if there's an error | +| `close` | `() => void` | Close the connection | +| `reset` | `() => void` | Reset state and reconnect | +| `readyState` | `number` | EventSource ready state | + +### useAgentuity - Access Context + +Access the Agentuity context for base URL and configuration. + +```typescript +import { useAgentuity } from '@agentuity/react'; + +function MyComponent() { + const { baseUrl } = useAgentuity(); + + return

API Base: {baseUrl}

; +} +``` + +### useAuth - Authentication State + +Access and manage authentication state. + +```typescript +import { useAuth } from '@agentuity/react'; + +function AuthStatus() { + const { isAuthenticated, authHeader, setAuthHeader, authLoading } = useAuth(); + + const handleLogin = async (token: string) => { + setAuthHeader?.(`Bearer ${token}`); + }; + + const handleLogout = () => { + setAuthHeader?.(null); + }; + + if (authLoading) return

Loading...

; + + return ( +
+ {isAuthenticated ? ( + + ) : ( + + )} +
+ ); +} +``` + +**useAuth Return Values:** + +| Property | Type | Description | +| ----------------- | ------------------- | ------------------------------------------- | +| `isAuthenticated` | `boolean` | True if user has auth token and not loading | +| `authHeader` | `string \| null` | Current auth header (e.g., "Bearer ...") | +| `setAuthHeader` | `(token) => void` | Set auth header (null to clear) | +| `authLoading` | `boolean` | True during auth state changes | +| `setAuthLoading` | `(loading) => void` | Set auth loading state | + +## Complete Example + +```typescript +import { AgentuityProvider, useAPI, useWebsocket } from '@agentuity/react'; +import { useEffect, useState } from 'react'; + +function Dashboard() { + const [count, setCount] = useState(0); + const { invoke, data: agentResult } = useAPI('POST /api/process'); + const { isConnected, send, data: wsMessage } = useWebsocket('/api/live'); + + useEffect(() => { + if (isConnected) { + const interval = setInterval(() => { + send({ ping: Date.now() }); + }, 1000); + return () => clearInterval(interval); + } + }, [isConnected, send]); + + return ( +
+

My Agentuity App

+ +
+

Count: {count}

+ +
+ +
+ +

{JSON.stringify(agentResult)}

+
+ +
+ WebSocket: + {isConnected ? JSON.stringify(wsMessage) : 'Not connected'} +
+
+ ); +} + +export function App() { + return ( + + + + ); +} +``` + +## Static Assets + +Place static files in the **public/** folder: + +``` +src/web/public/ +├── logo.svg +├── styles.css +└── script.js +``` + +Reference them in your HTML or components: + +```html + + + +``` + +```typescript +// In React components +Logo +``` + +## Styling + +### Inline Styles + +```typescript +
+ Styled content +
+``` + +### CSS Files + +Create `public/styles.css`: + +```css +body { + background-color: #09090b; + color: #fff; + font-family: sans-serif; +} +``` + +Import in `index.html`: + +```html + +``` + +### Style Tag in Component + +```typescript +
+ + +
+``` + +## RPC-Style API Client + +For non-React contexts (like utility functions or event handlers), use `createClient`: + +```typescript +import { createClient } from '@agentuity/react'; + +// Create a typed client (uses global baseUrl and auth from AgentuityProvider) +const api = createClient(); + +// Type-safe RPC-style calls - routes become nested objects +// Route 'GET /api/users' becomes api.users.get() +// Route 'POST /api/users' becomes api.users.post() +// Route 'GET /api/users/:id' becomes api.users.id.get({ id: '123' }) + +async function fetchData() { + const users = await api.users.get(); + const newUser = await api.users.post({ name: 'Alice', email: 'alice@example.com' }); + const user = await api.users.id.get({ id: '123' }); + return { users, newUser, user }; +} +``` + +**When to use `createClient` vs `useAPI`:** + +| Use Case | Recommendation | +| ------------------------- | -------------- | +| React component rendering | `useAPI` hook | +| Event handlers | Either works | +| Utility functions | `createClient` | +| Non-React code | `createClient` | +| Need loading/error state | `useAPI` hook | +| Need caching/refetch | `useAPI` hook | + +## Best Practices + +- Wrap your app with **AgentuityProvider** for hooks to work +- **Always use `useAPI` instead of `fetch()`** for type safety and error handling +- Use **useAPI** for type-safe HTTP requests (GET, POST, PUT, DELETE) +- Use **useWebsocket** for bidirectional real-time communication +- Use **useEventStream** for server-to-client streaming +- Use **useAuth** for authentication state management +- Handle loading and error states in UI +- Place reusable components in separate files +- Keep static assets in the **public/** folder + +## Rules + +- **App.tsx** must export a function named `App` +- **frontend.tsx** must render the `App` component to `#root` +- **index.html** must have a `
` +- Routes are typed via module augmentation from `src/generated/routes.ts` +- The web app is served at `/` by default +- Static files in `public/` are served at `/public/*` +- Module script tag: `` +- **Never use raw `fetch()` calls** - always use `useAPI` or `createClient` + + diff --git a/doc-agents/src/web/App.tsx b/doc-agents/src/web/App.tsx new file mode 100644 index 00000000..18684156 --- /dev/null +++ b/doc-agents/src/web/App.tsx @@ -0,0 +1,451 @@ +import { useAPI } from '@agentuity/react'; +import { type ChangeEvent, useState } from 'react'; + +const WORKBENCH_PATH = process.env.AGENTUITY_PUBLIC_WORKBENCH_PATH; + +export function App() { + const [prompt, setPrompt] = useState('What is Agentuity?'); + const { data: result, invoke, isLoading: running } = useAPI('POST /api/doc-qa'); + + return ( +
+
+
+ + +

Welcome to Agentuity

+ +

+ The Full-Stack Platform for AI Agents +

+
+ +
+

+ Ask about Agentuity Documentation +

+ +
+ ) => + setPrompt(e.currentTarget.value) + } + placeholder="Ask a question about Agentuity..." + type="text" + value={prompt} + /> + +
+
+
+ +
+
+ +
+ {result ? ( +
+
{result.answer}
+ {result.documents && result.documents.length > 0 && ( +
+ Sources: +
    + {result.documents.map((doc, idx) => ( +
  • {doc}
  • + ))} +
+
+ )} +
+ ) : ( + 'Waiting for question' + )} +
+
+ +
+

Next Steps

+ +
+ {[ + { + key: 'customize-agent', + title: 'Customize the Q&A Agent', + text: ( + <> + Edit src/agent/doc_qa/agent.ts or src/agent/doc_qa/rag.ts to modify the + documentation Q&A behavior. + + ), + }, + { + key: 'add-vector-store', + title: 'Configure Vector Storage', + text: ( + <> + Update the vector store configuration in src/config.ts to point to your documentation embeddings. + + ), + }, + { + key: 'update-frontend', + title: 'Enhance the UI', + text: ( + <> + Modify src/web/App.tsx to add more features like chat history or document filters. + + ), + }, + WORKBENCH_PATH + ? { + key: 'try-workbench', + title: ( + <> + Try{' '} + + Workbench + + + ), + text: <>A chat interface to test your agents in isolation., + } + : null, + ] + .filter(Boolean) + .map((step) => ( +
+
+ +
+ +
+

{step!.title}

+

{step!.text}

+
+
+ ))} +
+
+
+ + +
+ ); +} diff --git a/doc-agents/src/web/frontend.tsx b/doc-agents/src/web/frontend.tsx new file mode 100644 index 00000000..96996781 --- /dev/null +++ b/doc-agents/src/web/frontend.tsx @@ -0,0 +1,29 @@ +/** + * This file is the entry point for the React app, it sets up the root + * element and renders the App component to the DOM. + * + * It is included in `src/index.html`. + */ + +import React, { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; +import { AgentuityProvider } from '@agentuity/react'; +import { App } from './App'; + +const elem = document.getElementById('root')!; +const app = ( + + + + + +); + +if (import.meta.hot) { + // With hot module reloading, `import.meta.hot.data` is persisted. + const root = (import.meta.hot.data.root ??= createRoot(elem)); + root.render(app); +} else { + // The hot module reloading API is not available in production. + createRoot(elem).render(app); +} diff --git a/doc-agents/src/web/index.html b/doc-agents/src/web/index.html new file mode 100644 index 00000000..053d07b7 --- /dev/null +++ b/doc-agents/src/web/index.html @@ -0,0 +1,13 @@ + + + + + + + Agentuity + Bun + React + + + +
+ + diff --git a/doc-agents/src/web/public/.gitkeep b/doc-agents/src/web/public/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/doc-agents/src/web/public/favicon.ico b/doc-agents/src/web/public/favicon.ico new file mode 100644 index 00000000..21f46e6f Binary files /dev/null and b/doc-agents/src/web/public/favicon.ico differ diff --git a/agent-docs/tsconfig.json b/doc-agents/tsconfig.json similarity index 59% rename from agent-docs/tsconfig.json rename to doc-agents/tsconfig.json index 42442234..7f774deb 100644 --- a/agent-docs/tsconfig.json +++ b/doc-agents/tsconfig.json @@ -1,24 +1,28 @@ { "compilerOptions": { - "allowImportingTsExtensions": true, - "allowJs": true, - "esModuleInterop": true, - "jsx": "react-jsx", - "lib": ["ESNext"], - "module": "ESNext", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "target": "ESNext", + "module": "Preserve", "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, "noEmit": true, + "strict": true, + "skipLibCheck": true, "noFallthroughCasesInSwitch": true, - "noPropertyAccessFromIndexSignature": false, "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, "noUnusedLocals": false, "noUnusedParameters": false, - "skipLibCheck": true, - "strict": true, - "target": "ESNext", - "types": ["@types/bun", "@agentuity/sdk"], - "verbatimModuleSyntax": true + "noPropertyAccessFromIndexSignature": false, + "paths": { + "@agent/*": ["./src/agent/*"], + "@api/*": ["./src/api/*"], + "@middleware/*": ["./src/middleware/*"] + } }, - "exclude": ["node_modules", ".agentuity"] + "include": ["src/**/*", "app.ts"] } diff --git a/lib/api/client.ts b/lib/api/client.ts new file mode 100644 index 00000000..23f5f98d --- /dev/null +++ b/lib/api/client.ts @@ -0,0 +1,121 @@ +/** + * Base HTTP client for API communication + * Handles common concerns: auth, errors, timeouts + */ + +import { ApiError, ApiRequestOptions } from './types'; +import { config } from '@/lib/config'; + +const DEFAULT_TIMEOUT = 30000; // 30 seconds + +function buildUrl(baseUrl: string, endpoint: string): string { + const cleanEndpoint = endpoint.startsWith('/') ? endpoint : `/${endpoint}`; + return `${baseUrl}${cleanEndpoint}`; +} + +function buildHeaders( + customHeaders?: Record, + bearerToken?: string +): Record { + const headers: Record = { + 'Content-Type': 'application/json', + ...customHeaders, + }; + + if (bearerToken) { + headers['Authorization'] = `Bearer ${bearerToken}`; + } + + return headers; +} + +/** + * Make a fetch request with common handling + */ +export async function apiRequest( + endpoint: string, + options: ApiRequestOptions = {}, + baseUrl: string = config.agentBaseUrl, + bearerToken?: string +): Promise { + const url = buildUrl(baseUrl, endpoint); + const headers = buildHeaders(options.headers, bearerToken); + const timeout = options.timeout ?? DEFAULT_TIMEOUT; + + // Create abort controller for timeout + const controller = options.signal ? undefined : new AbortController(); + const signal = options.signal || controller?.signal; + + let timeoutId: NodeJS.Timeout | undefined; + + try { + // Set timeout if using our own abort controller + if (controller && timeout > 0) { + timeoutId = setTimeout(() => controller.abort(), timeout); + } + + const fetchOptions: RequestInit = { + method: options.method || 'GET', + headers, + signal, + }; + + if (options.body) { + fetchOptions.body = JSON.stringify(options.body); + } + + const response = await fetch(url, fetchOptions); + + if (!response.ok) { + let errorDetails: unknown; + try { + errorDetails = await response.json(); + } catch { + errorDetails = response.statusText; + } + + throw new ApiError( + `API request failed: ${response.statusText}`, + response.status, + errorDetails + ); + } + + const data = await response.json(); + return data as T; + } catch (error) { + if (error instanceof ApiError) { + throw error; + } + + if (error instanceof Error) { + if (error.name === 'AbortError') { + throw new ApiError(`Request timeout after ${timeout}ms`, 408); + } + throw new ApiError(error.message, 500, error); + } + + throw new ApiError('Unknown error occurred', 500, error); + } finally { + if (timeoutId) { + clearTimeout(timeoutId); + } + } +} + +/** + * Helper methods for common HTTP methods + */ +export const apiClient = { + get: (endpoint: string, options?: ApiRequestOptions) => + apiRequest(endpoint, { ...options, method: 'GET' }), + + post: (endpoint: string, body?: unknown, options?: ApiRequestOptions) => + apiRequest(endpoint, { ...options, method: 'POST', body }), + + put: (endpoint: string, body?: unknown, options?: ApiRequestOptions) => + apiRequest(endpoint, { ...options, method: 'PUT', body }), + + delete: (endpoint: string, options?: ApiRequestOptions) => + apiRequest(endpoint, { ...options, method: 'DELETE' }), +}; diff --git a/lib/api/services/agentPulse.ts b/lib/api/services/agentPulse.ts new file mode 100644 index 00000000..147fc319 --- /dev/null +++ b/lib/api/services/agentPulse.ts @@ -0,0 +1,150 @@ +/** + * Agent Pulse Service + * Handles communication with the agent-pulse streaming endpoint + */ + +import { config } from '@/lib/config'; + +interface ConversationMessage { + author: 'USER' | 'ASSISTANT'; + content: string; +} + +interface TutorialState { + tutorialId: string; + currentStep: number; +} + +export interface AgentPulseRequest { + message: string; + conversationHistory?: ConversationMessage[]; + tutorialData?: TutorialState; +} + +export interface StreamingChunk { + type: 'text-delta' | 'status' | 'tutorial-data' | 'finish' | 'error'; + textDelta?: string; + message?: string; + category?: string; + tutorialData?: any; + error?: string; + details?: string; +} + +export interface AgentPulseCallbacks { + onTextDelta?: (text: string) => void; + onStatus?: (message: string, category?: string) => void; + onTutorialData?: (data: any) => void; + onFinish?: () => void; + onError?: (error: string) => void; +} + +const AGENT_PULSE_TIMEOUT = 30000; // 30 seconds + +/** + * Call agent-pulse endpoint with streaming response + * Processes SSE events and calls appropriate callbacks + */ +export async function callAgentPulseStreaming( + payload: AgentPulseRequest, + callbacks: AgentPulseCallbacks +): Promise { + try { + const headers: Record = { + 'Content-Type': 'application/json', + }; + + if (process.env.AGENT_BEARER_TOKEN) { + headers['Authorization'] = `Bearer ${process.env.AGENT_BEARER_TOKEN}`; + } + + const url = `${config.agentBaseUrl}/api/agent_pulse`; + + const controller = new AbortController(); + const timeoutId = setTimeout(() => controller.abort(), AGENT_PULSE_TIMEOUT); + + try { + const response = await fetch(url, { + method: 'POST', + headers, + body: JSON.stringify(payload), + signal: controller.signal, + }); + + if (!response.ok) { + const errorText = await response.text(); + console.error('[agentPulse] Error response:', errorText); + throw new Error(`Agent responded with status: ${response.status}`); + } + + const reader = response.body?.getReader(); + if (!reader) { + throw new Error('No response body from agent'); + } + + const decoder = new TextDecoder(); + let buffer = ''; + + while (true) { + const { done, value } = await reader.read(); + + if (done) break; + + const decoded = decoder.decode(value, { stream: true }); + buffer += decoded; + + // Process complete lines + const lines = buffer.split('\n'); + buffer = lines.pop() || ''; // Keep the last incomplete line + + for (const line of lines) { + if (line.startsWith('data: ')) { + try { + const jsonStr = line.slice(6); + const chunk = JSON.parse(jsonStr) as StreamingChunk; + + if (chunk.type === 'text-delta' && chunk.textDelta) { + callbacks.onTextDelta?.(chunk.textDelta); + } else if (chunk.type === 'status') { + callbacks.onStatus?.(chunk.message || '', chunk.category); + } else if (chunk.type === 'tutorial-data' && chunk.tutorialData) { + callbacks.onTutorialData?.(chunk.tutorialData); + } else if (chunk.type === 'finish') { + callbacks.onFinish?.(); + } else if (chunk.type === 'error') { + callbacks.onError?.(chunk.error || 'Unknown error'); + } + } catch (error) { + console.error('[agentPulse] Error parsing SSE chunk:', error); + } + } + } + } + + // Process any remaining data + if (buffer.length > 0 && buffer.startsWith('data: ')) { + try { + const chunk = JSON.parse(buffer.slice(6)) as StreamingChunk; + if (chunk.type === 'text-delta' && chunk.textDelta) { + callbacks.onTextDelta?.(chunk.textDelta); + } else if (chunk.type === 'finish') { + callbacks.onFinish?.(); + } + } catch (error) { + console.error('Error parsing final SSE chunk:', error); + } + } + } finally { + clearTimeout(timeoutId); + } + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + console.error('[agentPulse] call failed:', message); + callbacks.onError?.(message); + } +} + +// Alias for backwards compatibility +export const agentPulseService = { + callStreaming: callAgentPulseStreaming, +}; diff --git a/lib/api/services/agentQa.ts b/lib/api/services/agentQa.ts new file mode 100644 index 00000000..cfe52f05 --- /dev/null +++ b/lib/api/services/agentQa.ts @@ -0,0 +1,45 @@ +/** + * Agent QA Service + * Handles communication with the doc-qa agent + */ + +import { apiRequest } from '../client'; + +interface AgentQaRequest { + message: string; +} + +interface AgentQaResponse { + answer: string; + documents?: string[]; +} + +const AGENT_QA_TIMEOUT = 30000; // 30 seconds + +/** + * Query the doc-qa agent for answers and related documents + */ +export async function queryAgentQa(message: string): Promise { + try { + const response = await apiRequest( + '/api/doc-qa', + { + method: 'POST', + body: { message }, + timeout: AGENT_QA_TIMEOUT, + }, + undefined, // use default baseUrl from config + process.env.AGENT_BEARER_TOKEN + ); + + return response; + } catch (error) { + console.error('[agentQa] call failed:', error); + throw error; + } +} + +// Alias for backwards compatibility if needed +export const agentQaService = { + query: queryAgentQa, +}; diff --git a/lib/api/services/index.ts b/lib/api/services/index.ts new file mode 100644 index 00000000..50dffe9d --- /dev/null +++ b/lib/api/services/index.ts @@ -0,0 +1,11 @@ +/** + * API Services + * Centralized exports for all API service modules + */ + +export { generateTitle, titleGeneratorService } from './titleGenerator'; + +export { callAgentPulseStreaming, agentPulseService } from './agentPulse'; +export type { AgentPulseRequest, StreamingChunk, AgentPulseCallbacks } from './agentPulse'; + +export { queryAgentQa, agentQaService } from './agentQa'; \ No newline at end of file diff --git a/lib/api/services/titleGenerator.ts b/lib/api/services/titleGenerator.ts new file mode 100644 index 00000000..246aa1d9 --- /dev/null +++ b/lib/api/services/titleGenerator.ts @@ -0,0 +1,44 @@ +/** + * Title Generator Service + * Handles session title generation via the title-generator API + */ + +import { apiRequest } from '../client'; + +interface ConversationMessage { + author: 'USER' | 'ASSISTANT'; + content: string; +} + +interface TitleGeneratorResponse { + title: string; +} + +const TITLE_GEN_TIMEOUT = 3000; // 3 seconds for title generation + +/** + * Generate a title from conversation history + */ +export async function generateTitle(conversationHistory: ConversationMessage[]): Promise { + try { + const response = await apiRequest( + '/api/title-generator', + { + method: 'POST', + body: { conversationHistory }, + timeout: TITLE_GEN_TIMEOUT, + } + ); + + return response.title || 'New chat'; + } catch (error) { + console.error('[title-gen] failed:', error); + // Return default on error - don't break the flow + return 'New chat'; + } +} + +// Alias for backwards compatibility if needed +export const titleGeneratorService = { + generate: generateTitle, +}; diff --git a/lib/api/types.ts b/lib/api/types.ts new file mode 100644 index 00000000..c3bc5833 --- /dev/null +++ b/lib/api/types.ts @@ -0,0 +1,22 @@ +/** + * Shared API types and interfaces + */ + +export interface ApiRequestOptions { + method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; + headers?: Record; + body?: unknown; + timeout?: number; + signal?: AbortSignal; +} + +export class ApiError extends Error { + constructor( + message: string, + public status: number = 500, + public details?: unknown + ) { + super(message); + this.name = 'ApiError'; + } +} diff --git a/lib/config.ts b/lib/config.ts index b329b851..2380c88a 100644 --- a/lib/config.ts +++ b/lib/config.ts @@ -4,9 +4,7 @@ */ export const config = { - baseUrl: 'https://api.agentuity.com', - defaultStoreName: 'chat-sessions', - agentBaseUrl: process.env.AGENT_BASE_URL || 'https://agentuity.ai/api', - agentQaId: '9ccc5545e93644bd9d7954e632a55a61', - agentPulseId: 'ddcb59aa4473f1323be5d9f5fb62b74e' + kvStoreName: 'docs-sandbox-chat-sessions', + // V1 Agent endpoints - use base URL + specific endpoint paths + agentBaseUrl: process.env.AGENT_BASE_URL || 'http://127.0.0.1:3500', } as const; diff --git a/lib/env.ts b/lib/env.ts deleted file mode 100644 index bd3b8069..00000000 --- a/lib/env.ts +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Environment variable validation and configuration utility - */ -export interface AgentConfig { - url: string; - bearerToken?: string; -} -/** - * Builds agent configuration using non-secret IDs from config - */ -import { config } from '@/lib/config'; - -const buildAgentConfig = (agentId: string): AgentConfig => { - const baseUrl = config.agentBaseUrl; - const bearerToken = process.env.AGENT_BEARER_TOKEN; - - if (!baseUrl) { - throw new Error( - 'Missing required configuration. Set AGENT_BASE_URL or ensure config.agentBaseUrl is defined.' - ); - } - if (!agentId) { - throw new Error('Missing required agent ID in config'); - } - - // For localhost/127.0.0.1, ensure agent ID has 'agent_' prefix - let finalAgentId = agentId; - if (baseUrl.includes('127.0.0.1') || baseUrl.includes('localhost')) { - if (!agentId.startsWith('agent_')) { - finalAgentId = `agent_${agentId}`; - } - } - - return { - url: `${baseUrl}/${finalAgentId}`, - bearerToken: bearerToken || undefined, - }; -}; - -export const getAgentQaConfig = (): AgentConfig => { - return buildAgentConfig(config.agentQaId); -}; - -export const getAgentPulseConfig = (): AgentConfig => { - return buildAgentConfig(config.agentPulseId); -}; - -/** - * Validates environment variables at startup - */ -export const validateEnv = (): boolean => { - try { - getAgentQaConfig(); - console.log('✓ Environment variables validated'); - return true; - } catch (error) { - console.error('❌ Environment validation failed:', error); - console.error('💡 Make sure to set base URL via:'); - console.error(' - AGENT_BASE_URL env var, or'); - console.error(' - Use default from config.baseUrl'); - console.error('💡 Optionally set AGENT_BEARER_TOKEN for authentication'); - return false; - } -}; - -/** - * Environment variable types - * Use .env.local for development and .env.production for production - */ -declare global { - interface ProcessEnv { - AGENT_BASE_URL?: string; - AGENT_BEARER_TOKEN?: string; - } -} diff --git a/lib/kv-store.ts b/lib/kv-store.ts index ca6cbdaf..13ad8d51 100644 --- a/lib/kv-store.ts +++ b/lib/kv-store.ts @@ -1,8 +1,13 @@ /** - * KV Store utility functions for Agentuity - * Handles communication with the Agentuity KV store API + * KV Store utility functions for Agentuity V1 SDK + * Uses the native KeyValueStorageService from @agentuity/core + * + * IMPORTANT: Only use in server-side code (API routes, server actions) + * Never expose AGENTUITY_SDK_KEY to the browser */ +import { KeyValueStorageService } from '@agentuity/core'; +import { createServerFetchAdapter, getServiceUrls, createLogger } from '@agentuity/server'; import { config } from './config'; // Types @@ -10,103 +15,62 @@ export interface KVStoreOptions { storeName?: string; } -export interface KVStoreResponse { - success: boolean; +export interface KVGetResult { + exists: boolean; data?: T; - error?: string; - statusCode?: number; } -/** - * Shared validation function for KV store operations - */ -function validateKVRequest(key: string): KVStoreResponse | null { - if (!key) { - return { - success: false, - error: 'Key parameter is required' - }; - } +export interface KVSetOptions extends KVStoreOptions { + ttl?: number; // TTL in seconds, minimum 60 +} - if (!process.env.AGENTUITY_API_KEY) { - return { - success: false, - error: 'AGENTUITY_API_KEY environment variable is required' - }; +export interface KVDeleteResult { + exists: boolean; +} + +// Create logger for SDK +const logger = createLogger('info'); + +// Initialize the KV service +function initializeKVService() { + if (!process.env.AGENTUITY_SDK_KEY || !process.env.AGENTUITY_REGION) { + throw new Error('AGENTUITY_SDK_KEY and AGENTUITY_REGION environment variables are required'); } - return null; + const adapter = createServerFetchAdapter({ + headers: { + Authorization: `Bearer ${process.env.AGENTUITY_SDK_KEY}` + }, + }, logger); + + const serviceUrls = getServiceUrls(process.env.AGENTUITY_REGION); + return new KeyValueStorageService(serviceUrls.keyvalue, adapter); } /** * Retrieve a value from the KV store * @param key - The key to retrieve - * @param options - Optional configuration - * @returns Promise> + * @param options - Optional configuration with storeName + * @returns Promise> */ export async function getKVValue( key: string, options: KVStoreOptions = {} -): Promise> { - const { storeName } = options; - const finalStoreName = storeName || config.defaultStoreName; - - // Validate required parameters - const validationError = validateKVRequest(key); - if (validationError) { - return validationError; - } +): Promise> { + const storeName = options.storeName || config.kvStoreName; try { - const url = `${config.baseUrl}/sdk/kv/${encodeURIComponent(finalStoreName)}/${encodeURIComponent(key)}`; - const response = await fetch(url, { - method: 'GET', - headers: { - 'Authorization': `Bearer ${process.env.AGENTUITY_API_KEY}`, - 'Content-Type': 'application/json', - 'User-Agent': 'Next.js KV Client' - } - }); - - if (response.status === 404) { - return { - success: false, - error: `Key '${key}' not found in store '${finalStoreName}'`, - statusCode: 404 - }; - } - - if (!response.ok) { - const errorText = await response.text(); - return { - success: false, - error: `HTTP ${response.status}: ${errorText}`, - statusCode: response.status - }; - } - - const data = await response.text(); - - try { - const jsonData = JSON.parse(data) as T; - return { - success: true, - data: jsonData, - statusCode: response.status - }; - } catch (parseError) { - // Return raw data if JSON parsing fails - return { - success: true, - data: data as T, - statusCode: response.status - }; - } + const kv = initializeKVService(); + const result = await kv.get(storeName, key); + return { + exists: result.exists, + data: result.data as T + }; } catch (error) { + console.error(`Failed to get KV value for key '${key}':`, error); return { - success: false, - error: error instanceof Error ? error.message : 'Unknown error occurred' + exists: false }; } } @@ -115,174 +79,51 @@ export async function getKVValue( * Set a value in the KV store * @param key - The key to set * @param value - The value to store - * @param options - Optional configuration including TTL - * @returns Promise + * @param options - Optional configuration with storeName and TTL (in seconds, min 60) + * @returns Promise */ export async function setKVValue( key: string, value: any, - options: KVStoreOptions & { ttl?: number } = {} -): Promise { - const { storeName, ttl } = options; - const finalStoreName = storeName || config.defaultStoreName; - - // Validate required parameters - const validationError = validateKVRequest(key); - if (validationError) { - return validationError; + options: KVSetOptions = {} +): Promise { + const storeName = options.storeName || config.kvStoreName; + const ttl = options.ttl; + + // Validate TTL if provided + if (ttl !== undefined && ttl < 60) { + throw new Error('TTL must be at least 60 seconds'); } try { - const ttlStr = ttl ? `/${ttl}` : ''; - const url = `${config.baseUrl}/sdk/kv/${encodeURIComponent(finalStoreName)}/${encodeURIComponent(key)}${ttlStr}`; - - const response = await fetch(url, { - method: 'PUT', - headers: { - 'Authorization': `Bearer ${process.env.AGENTUITY_API_KEY}`, - 'Content-Type': 'application/json', - 'User-Agent': 'Next.js KV Client' - }, - body: JSON.stringify(value) - }); - - if (!response.ok) { - const errorText = await response.text(); - return { - success: false, - error: `HTTP ${response.status}: ${errorText}`, - statusCode: response.status - }; - } - - return { - success: true, - statusCode: response.status - }; - + const kv = initializeKVService(); + const setOptions = ttl ? { ttl } : undefined; + await kv.set(storeName, key, value, setOptions); + return true; } catch (error) { - return { - success: false, - error: error instanceof Error ? error.message : 'Unknown error occurred' - }; + console.error(`Failed to set KV value for key '${key}':`, error); + return false; } } /** * Delete a value from the KV store * @param key - The key to delete - * @param options - Optional configuration - * @returns Promise + * @param options - Optional configuration with storeName + * @returns Promise */ export async function deleteKVValue( key: string, options: KVStoreOptions = {} -): Promise { - const { storeName } = options; - const finalStoreName = storeName || config.defaultStoreName; - - // Validate required parameters - const validationError = validateKVRequest(key); - if (validationError) { - return validationError; - } +): Promise { + const storeName = options.storeName || config.kvStoreName; try { - const url = `${config.baseUrl}/sdk/kv/${encodeURIComponent(finalStoreName)}/${encodeURIComponent(key)}`; - - const response = await fetch(url, { - method: 'DELETE', - headers: { - 'Authorization': `Bearer ${process.env.AGENTUITY_API_KEY}`, - 'User-Agent': 'Next.js KV Client' - } - }); - - if (!response.ok) { - const errorText = await response.text(); - return { - success: false, - error: `HTTP ${response.status}: ${errorText}`, - statusCode: response.status - }; - } - - return { - success: true, - statusCode: response.status - }; - + const kv = initializeKVService(); + await kv.delete(storeName, key); + return true; } catch (error) { - return { - success: false, - error: error instanceof Error ? error.message : 'Unknown error occurred' - }; - } -} - -/** - * Search for keys in the KV store by keyword pattern - * @param keyword - The keyword pattern to search for - * @param options - Optional configuration - * @returns Promise>> - */ -export async function searchKVByKeyword( - keyword: string, - options: KVStoreOptions = {} -): Promise>> { - const { storeName } = options; - const finalStoreName = storeName || config.defaultStoreName; - - // Validate API key - if (!process.env.AGENTUITY_API_KEY) { - return { - success: false, - error: 'AGENTUITY_API_KEY environment variable is required' - }; - } - - try { - const url = `${config.baseUrl}/sdk/kv/search/${encodeURIComponent(finalStoreName)}/${encodeURIComponent(keyword)}`; - - const response = await fetch(url, { - method: 'GET', - headers: { - 'Authorization': `Bearer ${process.env.AGENTUITY_API_KEY}`, - 'Content-Type': 'application/json', - 'User-Agent': 'Next.js KV Client' - } - }); - - if (!response.ok) { - const errorText = await response.text(); - return { - success: false, - error: `HTTP ${response.status}: ${errorText}`, - statusCode: response.status - }; - } - - const data = await response.text(); - - try { - const jsonData = JSON.parse(data); - return { - success: true, - data: jsonData, - statusCode: response.status - }; - } catch (parseError) { - return { - success: false, - error: 'Failed to parse search results as JSON', - statusCode: response.status - }; - } - - } catch (error) { - return { - success: false, - error: error instanceof Error ? error.message : 'Unknown error occurred' - }; + console.error(`Failed to delete KV value for key '${key}':`, error); + return false; } } \ No newline at end of file diff --git a/lib/tutorial/state-manager.ts b/lib/tutorial/state-manager.ts index 55242f97..3badd518 100644 --- a/lib/tutorial/state-manager.ts +++ b/lib/tutorial/state-manager.ts @@ -1,121 +1,138 @@ import { getKVValue, setKVValue } from "@/lib/kv-store"; -import { config } from '../config'; +import { config } from "../config"; import type { UserTutorialState, TutorialProgress, TutorialState } from './types'; -export class TutorialStateManager { - private static getTutorialKey(userId: string): string { - return `tutorial_state_${userId}`; - } +function getTutorialKey(userId: string): string { + return `tutorial_state_${userId}`; +} - /** - * Get the complete tutorial state for a user - */ - static async getUserTutorialState(userId: string): Promise { - const key = TutorialStateManager.getTutorialKey(userId); - const response = await getKVValue(key, { - storeName: config.defaultStoreName - }); - - return response.success && response.data ? response.data : { - userId, - tutorials: {} - }; - } +/** + * Get the complete tutorial state for a user + */ +async function getUserTutorialState(userId: string): Promise { + const key = getTutorialKey(userId); + const response = await getKVValue(key, { + storeName: config.kvStoreName + }); + + return response.exists && response.data ? response.data : { + userId, + tutorials: {} + }; +} - /** - * Update tutorial progress for a user - */ - static async updateTutorialProgress( - userId: string, - tutorialId: string, - currentStep: number, - totalSteps: number - ): Promise { - const state = await TutorialStateManager.getUserTutorialState(userId); - - const existing = state.tutorials[tutorialId]; - const now = new Date().toISOString(); - - state.tutorials[tutorialId] = { - tutorialId, - currentStep, - totalSteps, - startedAt: existing?.startedAt || now, - lastAccessedAt: now, - ...(currentStep >= totalSteps ? { completedAt: now } : {}) - }; - - const key = TutorialStateManager.getTutorialKey(userId); - try { - await setKVValue(key, state, { storeName: config.defaultStoreName }); - } catch (error) { - console.error( - `Failed to update tutorial state. UserId: ${userId}, Error details:`, - error instanceof Error ? error.message : String(error) - ); - } +/** + * Update tutorial progress for a user + */ +async function updateTutorialProgress( + userId: string, + tutorialId: string, + currentStep: number, + totalSteps: number +): Promise { + const state = await getUserTutorialState(userId); + + const existing = state.tutorials[tutorialId]; + const now = new Date().toISOString(); + + state.tutorials[tutorialId] = { + tutorialId, + currentStep, + totalSteps, + startedAt: existing?.startedAt || now, + lastAccessedAt: now, + ...(currentStep >= totalSteps ? { completedAt: now } : {}) + }; + + const key = getTutorialKey(userId); + const success = await setKVValue(key, state, { storeName: config.kvStoreName }); + + if (!success) { + console.error(`Failed to update tutorial state. UserId: ${userId}`); } +} - /** - * Get the current active tutorial state for agent communication - * Returns the most recently accessed tutorial - */ - static async getCurrentTutorialState(userId: string): Promise { - const state = await TutorialStateManager.getUserTutorialState(userId); +/** + * Get the current active tutorial state for agent communication + * Returns the most recently accessed tutorial + */ +async function getCurrentTutorialState(userId: string): Promise { + const state = await getUserTutorialState(userId); - const tutorials = Object.values(state.tutorials); - if (tutorials.length === 0) return null; + const tutorials = Object.values(state.tutorials); + if (tutorials.length === 0) return null; - // Find the most recently accessed tutorial that's not completed - const activeTutorials = tutorials.filter(t => !t.completedAt); - if (activeTutorials.length === 0) return null; + // Find the most recently accessed tutorial that's not completed + const activeTutorials = tutorials.filter(t => !t.completedAt); + if (activeTutorials.length === 0) return null; - const mostRecent = activeTutorials.reduce((latest, current) => - new Date(current.lastAccessedAt) > new Date(latest.lastAccessedAt) ? current : latest - ); + const mostRecent = activeTutorials.reduce((latest, current) => + new Date(current.lastAccessedAt) > new Date(latest.lastAccessedAt) ? current : latest + ); - return { - tutorialId: mostRecent.tutorialId, - currentStep: mostRecent.currentStep - }; - } + return { + tutorialId: mostRecent.tutorialId, + currentStep: mostRecent.currentStep + }; +} - /** - * Get tutorial progress for a specific tutorial - */ - static async getTutorialProgress(userId: string, tutorialId: string): Promise { - const state = await TutorialStateManager.getUserTutorialState(userId); - return state.tutorials[tutorialId] || null; - } +/** + * Get tutorial progress for a specific tutorial + */ +async function getTutorialProgress(userId: string, tutorialId: string): Promise { + const state = await getUserTutorialState(userId); + return state.tutorials[tutorialId] || null; +} - /** - * Mark a tutorial as completed - */ - static async completeTutorial(userId: string, tutorialId: string): Promise { - const state = await TutorialStateManager.getUserTutorialState(userId); +/** + * Mark a tutorial as completed + */ +async function completeTutorial(userId: string, tutorialId: string): Promise { + const state = await getUserTutorialState(userId); - if (state.tutorials[tutorialId]) { - state.tutorials[tutorialId].completedAt = new Date().toISOString(); - state.tutorials[tutorialId].lastAccessedAt = new Date().toISOString(); + if (state.tutorials[tutorialId]) { + state.tutorials[tutorialId].completedAt = new Date().toISOString(); + state.tutorials[tutorialId].lastAccessedAt = new Date().toISOString(); - const key = TutorialStateManager.getTutorialKey(userId); - await setKVValue(key, state, { storeName: config.defaultStoreName }); - } + const key = getTutorialKey(userId); + await setKVValue(key, state, { storeName: config.kvStoreName }); } +} - /** - * Get all completed tutorials for a user - */ - static async getCompletedTutorials(userId: string): Promise { - const state = await TutorialStateManager.getUserTutorialState(userId); - return Object.values(state.tutorials).filter(t => t.completedAt); - } +/** + * Get all completed tutorials for a user + */ +async function getCompletedTutorials(userId: string): Promise { + const state = await getUserTutorialState(userId); + return Object.values(state.tutorials).filter(t => t.completedAt); +} - /** - * Get all active (in-progress) tutorials for a user - */ - static async getActiveTutorials(userId: string): Promise { - const state = await TutorialStateManager.getUserTutorialState(userId); - return Object.values(state.tutorials).filter(t => !t.completedAt); - } +/** + * Get all active (in-progress) tutorials for a user + */ +async function getActiveTutorials(userId: string): Promise { + const state = await getUserTutorialState(userId); + return Object.values(state.tutorials).filter(t => !t.completedAt); } + +// Backward compatibility alias (following pattern in other services) +export const TutorialStateManager = { + getUserTutorialState, + updateTutorialProgress, + getCurrentTutorialState, + getTutorialProgress, + completeTutorial, + getCompletedTutorials, + getActiveTutorials, +}; + +// Export functions for direct import if needed +export { + getUserTutorialState, + updateTutorialProgress, + getCurrentTutorialState, + getTutorialProgress, + completeTutorial, + getCompletedTutorials, + getActiveTutorials, +}; diff --git a/middleware.ts b/middleware.ts index 05760ff3..0b085f99 100644 --- a/middleware.ts +++ b/middleware.ts @@ -15,19 +15,67 @@ const TYPE_MAP: Record = { const COOKIE_NAME = 'chat_user_id'; const COOKIE_MAX_AGE = 24 * 60 * 60 * 14; // 14 days +// Agentuity backend config (no fallbacks - must be set explicitly) +const AGENT_BASE_URL = process.env.AGENT_BASE_URL; +const AGENT_BEARER_TOKEN = process.env.AGENT_BEARER_TOKEN; + export function middleware(request: NextRequest) { const { pathname } = request.nextUrl; let userId = request.cookies.get(COOKIE_NAME)?.value; - const response = NextResponse.next(); - if (!userId) { + + // Ensure user has a chat_user_id cookie + const needsCookie = !userId; + if (needsCookie) { userId = uuidv4(); - response.cookies.set(COOKIE_NAME, userId, { + } + + // Proxy API requests to Agentuity backend with bearer token + if (pathname.startsWith('/api/sessions') || pathname === '/api/agent_pulse') { + if (!AGENT_BASE_URL || !AGENT_BEARER_TOKEN) { + return NextResponse.json( + { error: 'Server misconfigured: missing AGENT_BASE_URL or AGENT_BEARER_TOKEN' }, + { status: 503 } + ); + } + + const destinationUrl = new URL(pathname + request.nextUrl.search, AGENT_BASE_URL); + + // Create headers with bearer token + const headers = new Headers(request.headers); + if (AGENT_BEARER_TOKEN) { + headers.set('Authorization', `Bearer ${AGENT_BEARER_TOKEN}`); + } + + const response = NextResponse.rewrite(destinationUrl, { + request: { headers }, + }); + + // Set cookie if needed + if (needsCookie) { + response.cookies.set(COOKIE_NAME, userId!, { + maxAge: COOKIE_MAX_AGE, + httpOnly: true, + secure: process.env.NODE_ENV === 'production', + sameSite: 'lax', + }); + } + + return response; + } + + // Default response + const response = NextResponse.next(); + + // Set cookie if needed + if (needsCookie) { + response.cookies.set(COOKIE_NAME, userId!, { maxAge: COOKIE_MAX_AGE, httpOnly: true, secure: process.env.NODE_ENV === 'production', sameSite: 'lax', }); } + // Match error code URLs const errorMatch = pathname.match( /^\/errors\/((?:CLI|AUTH|PROJ|AGENT|DATA|INT|SYS)-\d+)$/ diff --git a/next.config.mjs b/next.config.mjs index 9442d81a..740d17cf 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -46,6 +46,7 @@ const config = { permanent: true, }, ], + // API rewrites are handled by middleware.ts (to inject bearer token) }; export default withMDX(config); diff --git a/package.json b/package.json index c9b8a389..22f29a14 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,10 @@ "validate-env": "node -e \"require('./lib/env').validateEnv()\"" }, "dependencies": { + "@agentuity/auth": "0.1.20", + "@agentuity/core": "0.1.20", + "@agentuity/react": "0.1.20", + "@agentuity/server": "0.1.20", "@radix-ui/react-dialog": "^1.1.14", "@radix-ui/react-visually-hidden": "^1.2.3", "allotment": "^1.20.4",