Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,536Letters: 14Defects: 1,322counted 3 min ago
teppi

Server definition

Hash
sha256:8697546b54d53911aece0652da3dbcce1ab0971b978195b46c105cd66383aacb
What it is
What a remote MCP server returned when asked what it offers: 140 tools

The blob, as servednamed by its sha256

{ "instructions": null, "tools": [ { "description": "Materialize a simulated repository decision in one of three modes. patch_only just returns the validated patch diff with applied=false and writes nothing. local_branch commits the patch to a new branch (default algenta/<plan-suffix>) in the engine-side checkout and returns commit_sha and local_checkout_path. remote_pr additionally pushes the branch and opens a pull request, returning pull_request_url. Both write modes are hard-gated: the simulation must satisfy policy thresholds (otherwise repository_apply_gate_failed) and write_permission=true must be passed explicitly (otherwise repository_write_permission_required). Use patch_only to review the diff before writing anything, and run_repository_fix to chain the whole flow. Requires decision_plan_id and simulation_id from simulate_repository.", "inputSchema": { "additionalProperties": false, "properties": { "base_branch": { "description": "Branch the patch applies onto and the PR targets; defaults to the connector's default branch.", "type": "string" }, "branch_name": { "description": "Branch to create; defaults to algenta/<plan-suffix>.", "type": "string" }, "commit_message": { "description": "Commit message; a default naming the plan id is used otherwise.", "type": "string" }, "decision_plan_id": { "description": "Plan id from create_repository_decision_plan.", "minLength": 1, "type": "string" }, "mode": { "description": "patch_only returns the diff; local_branch commits it; remote_pr pushes and opens a PR.", "enum": [ "patch_only", "local_branch", "remote_pr" ], "type": "string" }, "pull_request_body": { "description": "PR body for remote_pr mode.", "type": "string" }, "pull_request_title": { "description": "PR title for remote_pr mode.", "type": "string" }, "repository_id": { "description": "Saved repository connector id from list_connectors.", "minLength": 1, "type": "string" }, "simulation_id": { "description": "Simulation id from simulate_repository.", "minLength": 1, "type": "string" }, "snapshot_id": { "description": "Snapshot id; resolved from the decision plan when omitted.", "minLength": 1, "type": "string" }, "write_permission": { "description": "Must be true for local_branch and remote_pr; ignored for patch_only.", "type": "boolean" } }, "required": [ "repository_id", "decision_plan_id", "simulation_id", "mode" ], "type": "object" }, "name": "apply_repository", "outputSchema": null }, { "description": "Approve an agent run that is waiting on manual approval (status requires_approval) and execute it synchronously to completion. Runs in any other state fail with agent_run_invalid_state; an unknown run_id fails with agent_run_not_found. The approval is the human-in-the-loop gate for manual-mode runs and is audit-logged and checkpointed. Returns the updated run resource. Use resume_agent_run for paused runs instead.", "inputSchema": { "additionalProperties": false, "properties": { "run_id": { "description": "Waiting run id from create_agent_run or list_agent_runs.", "type": "string" } }, "required": [ "run_id" ], "type": "object" }, "name": "approve_agent_run", "outputSchema": null }, { "description": "Run multiple simulation requests in one call and return per-item success or failure details. Synchronous deterministic compute; nothing is persisted and no separate rate limit applies. Use simulate for a single request and submit_job for very large async runs. Returns total, succeeded, failed, and a per-item results array with index, success, the envelope's recommended_action and expected_value, or the item error.", "inputSchema": { "additionalProperties": false, "properties": { "items": { "description": "Simulation requests forwarded to POST /v1/batch.", "items": { "type": "object" }, "minItems": 1, "type": "array" } }, "required": [ "items" ], "type": "object" }, "name": "batch", "outputSchema": null }, { "description": "Discover what one saved connector exposes — files, tables, endpoints, or items — with discovery labels and metadata for choosing what to onboard. The connector must be live: an untested or errored connector fails with not_connected, so run test_connector first. Use preview_browse_connector for an unsaved inline definition. Read-only against the source. Returns connector_type, items, total, message, labels, and discovery.", "inputSchema": { "additionalProperties": false, "properties": { "connector_id": { "description": "Saved connector id from list_connectors.", "minLength": 1, "type": "string" } }, "required": [ "connector_id" ], "type": "object" }, "name": "browse_connector", "outputSchema": null }, { "description": "Cancel an agent run by run_id, ending its lifecycle at cancelled. Only a paused or requires_approval run can be cancelled — anything else fails with agent_run_invalid_state. Cancelling is idempotent: repeating the call on an already-cancelled or never-existing run_id returns success with already_absent: true instead of agent_run_not_found. Use resume_agent_run or approve_agent_run to continue a waiting run instead. The first cancellation is audit-logged and checkpointed; the run record is kept, not deleted, and repeats record nothing further. Returns the updated run resource.", "inputSchema": { "additionalProperties": false, "properties": { "run_id": { "description": "Run id from create_agent_run or list_agent_runs.", "type": "string" } }, "required": [ "run_id" ], "type": "object" }, "name": "cancel_agent_run", "outputSchema": null }, { "description": "Cancel a queued or running async simulation job by id. Use this for queued or running jobs; list_jobs shows their states. Cancelling is idempotent: repeating the call on an already-cancelled or never-existing id returns success with already_absent: true instead of an error; a completed or failed job is still refused with job_already_terminal. Returns the updated job record with its terminal status.", "inputSchema": { "properties": { "job_id": { "description": "UUID of the async job", "type": "string" } }, "required": [ "job_id" ], "type": "object" }, "name": "cancel_job", "outputSchema": null }, { "description": "Run one ordered chat transcript through an Algenta model and return the assistant message plus token usage. The default text.tokenizer model is a deterministic tokenizer-backed utility route whose assistant message is a JSON tokenization summary of the user messages — not a generative LLM; provider-backed chat models advertised by list_models are routed through the configured provider service. Use responses for independent single-string utility calls. This tool does not stream and does not expose function/tool calling, and nothing is persisted. An unsupported model id fails with model_not_supported.", "inputSchema": { "additionalProperties": false, "properties": { "messages": { "description": "Ordered conversation transcript; the last user message is the prompt.", "items": { "additionalProperties": false, "properties": { "content": { "description": "Text content of this transcript turn.", "type": "string" }, "role": { "description": "Speaker role for this transcript turn.", "enum": [ "system", "user", "assistant", "developer" ], "type": "string" } }, "required": [ "role", "content" ], "type": "object" }, "minItems": 1, "type": "array" }, "model": { "default": "text.tokenizer", "description": "Chat-capable model id from list_models.", "type": "string" } }, "required": [ "messages" ], "type": "object" }, "name": "chat_completions", "outputSchema": null }, { "description": "Run 2-10 named scenarios side by side and return the winner plus each scenario's deltas versus the best one. The winner is the scenario with the highest expected value; every entry reports its recommended_action, expected_value, probability_of_loss, and delta_vs_best. Each scenario's request uses the simulate payload shape; runs and seed are forwarded for reproducibility. Use recommend for a ranked recommendation over actions instead. Synchronous deterministic compute; nothing is persisted.", "inputSchema": { "additionalProperties": false, "properties": { "runs": { "description": "Scenario count per simulation; forwarded to each run.", "type": "integer" }, "scenarios": { "description": "Named scenarios, each {name, request} with request in the simulate payload shape; 2-10 items.", "items": { "additionalProperties": false, "properties": { "name": { "type": "string" }, "request": { "type": "object" } }, "required": [ "name", "request" ], "type": "object" }, "minItems": 2, "type": "array" }, "seed": { "description": "Simulation seed for reproducible results.", "type": "integer" } }, "required": [ "scenarios" ], "type": "object" }, "name": "compare", "outputSchema": null }, { "description": "High-level data onboarding flow. Use this instead of advanced connector/source tools for normal users. Connect data once, pick the table/file/endpoint, and get a reusable dataset_id. If the result status is needs_selection, call connect_data again with connection_id and the chosen selection. Creating a connection persists it and the dataset under the active API key's organization, and live sources are dialed during this call; no separate per-route rate limit applies. Returns status with dataset_id and connection_id on success, or status needs_selection with the choices array to pick from.", "inputSchema": { "properties": { "connection_config": { "description": "Legacy compatibility field for connector credentials/config. Prefer connector.location and connector.auth.credentials.", "type": "object" }, "connection_id": { "description": "Existing saved connection_id when resuming after selection.", "type": "string" }, "connection_name": { "description": "Optional label for the saved connection.", "type": "string" }, "connection_type": { "description": "Legacy compatibility field. Prefer connector.type with the canonical connector envelope.", "enum": [ "database", "api", "object_storage", "file_upload" ], "type": "string" }, "connector": { "description": "Canonical connector envelope with type/location/auth/options. Preferred when the same request shape should work across Python Runtime, TypeScript Runtime, and MCP.", "type": "object" }, "csv": { "description": "Raw CSV text for direct file_upload datasets.", "type": "string" }, "dataset_name": { "description": "Name to save and reuse later.", "type": "string" }, "description": { "type": "string" }, "excel_b64": { "description": "Base64-encoded Excel payload.", "type": "string" }, "json_str": { "description": "Raw JSON text for direct file_upload datasets.", "type": "string" }, "parquet_b64": { "description": "Base64-encoded Parquet payload.", "type": "string" }, "provider": { "description": "Legacy compatibility field for provider selection. Prefer connector.type plus connector.location/auth/options.", "type": "string" }, "records": { "description": "Inline JSON records for direct file_upload datasets.", "items": { "type": "object" }, "type": "array" }, "selection": { "description": "Legacy compatibility field for chosen table/query/path. Use the selection object returned in choices when resuming a legacy connection flow.", "type": "object" }, "url": { "description": "URL for direct file_upload or API datasets.", "type": "string" }, "visibility": { "description": "Shared requires admin/owner permissions.", "enum": [ "private", "shared" ], "type": "string" } }, "required": [ "dataset_name" ], "type": "object" }, "name": "connect_data", "outputSchema": null }, { "description": "Count how many tokens a supported deterministic Algenta tokenizer model produces for UTF-8 text (default text.tokenizer; call list_models for every supported model id). Use this for prompt-size checks and token budgeting; call tokenize when you also need the token strings. Read-only and deterministic: the same input and model always return the same count, and nothing is stored. Returns the resolved model id, its tokenizer_kind, and token_count. An unsupported model id fails with model_not_supported.", "inputSchema": { "additionalProperties": false, "properties": { "input": { "description": "UTF-8 text whose tokens are counted.", "type": "string" }, "model": { "default": "text.tokenizer", "description": "Tokenizer model id from list_models.", "type": "string" } }, "required": [ "input" ], "type": "object" }, "name": "count_tokens", "outputSchema": null }, { "description": "Create a persisted agent run lifecycle resource for a natural-language task. With approval_mode=auto (default) the run picks a tool from the task wording, executes synchronously, and returns completed; approval_mode=manual parks it at requires_approval until approve_agent_run, and start_paused=true parks it at paused until resume_agent_run. The run, its step log, append-only events, and a replayable checkpoint are persisted under the caller's organization and the creation is audit-logged. Use product_agent_run for the simpler synchronous helper, list_agent_runs to browse, and get_agent_run_events to follow the trail. Returns the full run resource with run_id and status.", "inputSchema": { "additionalProperties": false, "properties": { "approval_mode": { "default": "auto", "description": "auto executes immediately (default); manual waits for approve_agent_run before executing.", "enum": [ "auto", "manual" ], "type": "string" }, "context": { "description": "Optional structured context or data for the task.", "type": "object" }, "max_steps": { "default": 10, "description": "Maximum execution steps, 1-50; defaults to 10.", "maximum": 50, "minimum": 1, "type": "integer" }, "output_format": { "default": "text", "description": "Result format: text (default), json, or markdown.", "type": "string" }, "start_paused": { "default": false, "description": "Persist the run in paused state until resume_agent_run.", "type": "boolean" }, "task": { "description": "What the agent should do, in plain words (min 5 characters).", "minLength": 5, "type": "string" }, "tools": { "description": "Restrict the tools the agent may pick from; defaults to search, simulate, optimize, calculate, summarize.", "items": { "type": "string" }, "type": "array" } }, "required": [ "task" ], "type": "object" }, "name": "create_agent_run", "outputSchema": null }, { "description": "Create a new API key for the current organization and return its raw_key value exactly once — it is never shown again, so store it immediately. expires_at optionally sets an ISO-8601 expiry and device_limit caps how many devices the key may register (validated against the plan ceiling, invalid_device_limit on excess). Key creation is rate-limited per organization (api_key_create_rate_limited). Use list_api_keys to see existing keys and revoke_api_key to retire one.", "inputSchema": { "additionalProperties": false, "properties": { "device_limit": { "description": "Optional per-key device cap; must not exceed the plan ceiling.", "minimum": 0, "type": "integer" }, "expires_at": { "description": "Optional ISO-8601 expiry timestamp for the key.", "format": "date-time", "type": "string" }, "label": { "description": "Human-readable label identifying the key's purpose.", "minLength": 1, "type": "string" } }, "required": [ "label" ], "type": "object" }, "name": "create_api_key", "outputSchema": null }, { "description": "Create a Stripe Checkout session for the active organization and return its hosted checkout URL. The user completes the purchase in the browser; nothing is charged by this call itself. Requires an owner API key. plan defaults to developer; an unsupported plan fails with invalid_plan. Use get_billing_info to check the current plan and create_billing_portal to manage an existing subscription.", "inputSchema": { "additionalProperties": false, "properties": { "plan": { "description": "Plan to purchase; defaults to developer.", "enum": [ "developer", "pro" ], "type": "string" } }, "type": "object" }, "name": "create_billing_checkout", "outputSchema": null }, { "description": "Create a Stripe Billing Portal session for the active organization and return its URL, where the user manages payment methods, invoices, and the subscription. Requires an owner API key and an existing billing account — an org that has never checked out fails with no_billing_account (call create_billing_checkout first). This call itself changes nothing.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "create_billing_portal", "outputSchema": null }, { "description": "Save one capability binding for a provider/profile pair and return it with its binding_id. scope (default workspace) decides who can use it, execution_owner decides where executions run (algenta_managed on the engine, client_managed in the customer app or adapter path), and config carries the profile's credentials and options. Find valid provider_id/profile_id pairs with list_capability_providers, then call discover_capability_binding to publish the binding's capabilities and test_capability_binding to verify. Persists the binding.", "inputSchema": { "additionalProperties": false, "properties": { "binding_name": { "description": "Human-readable binding name.", "minLength": 1, "type": "string" }, "config": { "description": "Profile credentials and options.", "type": "object" }, "customer_metadata": { "description": "Optional caller metadata stored with the binding.", "type": "object" }, "execution_owner": { "description": "Where executions run; defaults to the profile's default_execution_owner.", "enum": [ "algenta_managed", "client_managed" ], "type": "string" }, "profile_id": { "description": "Profile id within the provider.", "minLength": 1, "type": "string" }, "provider_id": { "description": "Provider id from list_capability_providers.", "minLength": 1, "type": "string" }, "scope": { "description": "Visibility scope; defaults to workspace.", "enum": [ "user", "workspace", "organization" ], "type": "string" }, "scope_ref": { "description": "Optional concrete user/workspace id the scope binds to.", "type": "string" } }, "required": [ "provider_id", "profile_id", "binding_name" ], "type": "object" }, "name": "create_capability_binding", "outputSchema": null }, { "description": "Save one connector configuration (host, credentials, options) for later data onboarding, health checks, and schema browsing. config is encrypted at rest and the new connector starts untested — call test_connector to verify it reaches the source, then browse_connector to discover what it exposes. Returns the saved connector with its connector_id, persisted under the active API key's organization. To try a definition without saving anything, call preview_test_connector instead.", "inputSchema": { "additionalProperties": false, "properties": { "config": { "description": "Type-specific connection settings and credentials; encrypted at rest and never returned.", "type": "object" }, "connector_type": { "description": "Connector type id, e.g. a database, API, file, or repository type.", "minLength": 1, "type": "string" }, "description": { "description": "Optional note on what this connector is for.", "type": "string" }, "name": { "description": "Human-readable connector name.", "minLength": 1, "type": "string" }, "visibility": { "description": "Who can see the connector; defaults to private.", "enum": [ "private", "organization", "public" ], "type": "string" } }, "required": [ "name", "connector_type" ], "type": "object" }, "name": "create_connector", "outputSchema": null }, { "description": "Request a new isolated engine deployment for the active organization on the chosen provider and region. Returns immediately with status requested — provisioning is asynchronous, so poll get_deployment until status is active; API calls then route to the isolated deployment automatically. Requires an owner API key. Only one active or in-progress deployment is allowed per org (deployment_exists otherwise — call delete_deployment first), and unknown provider/region pairs fail validation; list_deployment_regions shows the valid combinations.", "inputSchema": { "additionalProperties": false, "properties": { "billing_markup_pct": { "description": "Billing markup percentage applied to this deployment, 0-200.", "maximum": 200, "minimum": 0, "type": "number" }, "config": { "description": "Optional provider-specific configuration.", "type": "object" }, "provider": { "description": "Cloud provider: algenta_shared (default), aws, azure, or gcp.", "minLength": 1, "type": "string" }, "region": { "description": "Region id from list_deployment_regions; defaults to algenta-shared.", "minLength": 1, "type": "string" } }, "type": "object" }, "name": "create_deployment", "outputSchema": null }, { "description": "Create one stored, immutable repository DecisionPlan revision from a triage workspace evidence bundle and return its decision_plan_id plus the validated patch diff inline. snapshot_id is resolved from the bundle when omitted. This is the only LLM-touching stage of the repository chain; model optionally picks the planner model. The decision_plan_id feeds simulate_repository and apply_repository. Persists the plan revision. Use run_repository_pipeline to chain snapshot, triage, plan, and simulate in one call instead.", "inputSchema": { "additionalProperties": false, "properties": { "model": { "description": "Optional planner model override.", "type": "string" }, "repository_id": { "description": "Saved repository connector id from list_connectors.", "minLength": 1, "type": "string" }, "snapshot_id": { "description": "Snapshot id; resolved from the evidence bundle when omitted.", "minLength": 1, "type": "string" }, "workspace_evidence_bundle_ref": { "description": "Bundle ref returned by triage_repository.", "minLength": 1, "type": "string" } }, "required": [ "repository_id", "workspace_evidence_bundle_ref" ], "type": "object" }, "name": "create_repository_decision_plan", "outputSchema": null }, { "description": "Create or reuse an immutable, content-hashed snapshot of a saved repository connector (a connector of a repository type — find its id with list_connectors). Re-running with identical inputs returns the existing snapshot (status='existing') instead of duplicating it. The snapshot is the input to triage_repository and query_repository_graph; every later stage references it by snapshot_id. Reads the repository and persists snapshot, symbol, and dependency graph artifacts; it never writes to the repository. Returns snapshot_id, resolved_revision, content_hash, file_count, language_counts, and artifact refs.", "inputSchema": { "additionalProperties": false, "properties": { "exclude_patterns": { "description": "Glob patterns excluding files from the snapshot.", "items": { "type": "string" }, "type": "array" }, "include_patterns": { "description": "Glob patterns limiting which files are snapshotted.", "items": { "type": "string" }, "type": "array" }, "max_file_size_bytes": { "description": "Per-file size cap in bytes, 1024-10000000; defaults to 1000000.", "minimum": 1024, "type": "integer" }, "max_files": { "description": "File-count cap, up to 200000; defaults to 20000.", "minimum": 1, "type": "integer" }, "ref": { "description": "Git ref to snapshot; defaults to the connector's default ref.", "type": "string" }, "repository_id": { "description": "Saved repository connector id from list_connectors.", "minLength": 1, "type": "string" } }, "required": [ "repository_id" ], "type": "object" }, "name": "create_repository_snapshot", "outputSchema": null }, { "description": "Delete one saved connector by id. Use update_connector to change config without losing the saved definition. Deleting is idempotent: repeating the call on an already-deleted or never-existing id returns success with already_absent: true instead of an error. Returns connector_id with deleted: true.", "inputSchema": { "additionalProperties": false, "properties": { "connector_id": { "minLength": 1, "type": "string" } }, "required": [ "connector_id" ], "type": "object" }, "name": "delete_connector", "outputSchema": null }, { "description": "Delete one decision-memory record by id. Deletion is permanent; review with list_decisions first. Deleting is idempotent: repeating the call on an already-deleted or never-existing id returns success with already_absent: true instead of an error. Returns the deletion confirmation for the decision_id.", "inputSchema": { "additionalProperties": false, "properties": { "decision_id": { "description": "Decision ID to delete.", "type": "string" } }, "required": [ "decision_id" ], "type": "object" }, "name": "delete_decision", "outputSchema": null }, { "description": "Request deprovisioning for one deployment by id. Deprovision with this before create_deployment when a deployment already exists. Deleting is idempotent: repeating the call on an already-deprovisioned or never-existing id returns success with already_absent: true instead of an error. Returns status 'deprovisioning' with the deployment_id; deprovisioning is asynchronous.", "inputSchema": { "additionalProperties": false, "properties": { "deployment_id": { "minLength": 1, "type": "string" } }, "required": [ "deployment_id" ], "type": "object" }, "name": "delete_deployment", "outputSchema": null }, { "description": "Delete one trigger by trigger_id (find ids with list_triggers). The trigger is removed immediately and will no longer fire automatically; its registration cannot be recovered from this tool. To stop a trigger temporarily instead, use pause_trigger. Deleting is idempotent: repeating the call on an already-deleted or never-existing id returns success with already_absent: true instead of an error. Returns trigger_id with deleted: true.", "inputSchema": { "properties": { "trigger_id": { "description": "Trigger ID to delete.", "type": "string" } }, "required": [ "trigger_id" ], "type": "object" }, "name": "delete_trigger", "outputSchema": null }, { "description": "Disable one skill by deleting its capability binding (find binding ids with list_skills or list_capability_bindings). The skill immediately stops appearing in the capability catalog and can no longer be routed or executed; the deletion is permanent. Disabling is idempotent: repeating the call on an already-disabled or never-existing binding returns success with already_absent: true instead of an error. Returns binding_id with disabled: true. Use this only for permanent removal — re-enabling later requires a fresh enable_skill call.", "inputSchema": { "additionalProperties": false, "properties": { "binding_id": { "description": "Skill binding id from list_skills.", "minLength": 1, "type": "string" } }, "required": [ "binding_id" ], "type": "object" }, "name": "disable_skill", "outputSchema": null }, { "description": "Delete a saved dataset and disconnect it from future use. When no other dataset in the workspace still uses the backing saved connection, that connection is deleted too and connection_deleted is true in the response. Requires manage permission on the dataset (access_scope_denied otherwise). Use list_data to confirm the dataset first — deletion is immediate. Deleting is idempotent: repeating the call on an already-deleted or never-existing dataset_id returns success with already_absent: true instead of not_found. Returns dataset_id, status 'deleted', and connection_deleted.", "inputSchema": { "properties": { "dataset_id": { "description": "Dataset ID from connect_data or list_data.", "type": "string" } }, "required": [ "dataset_id" ], "type": "object" }, "name": "disconnect_data", "outputSchema": null }, { "description": "Discover the capabilities one binding exposes and return them as catalog entries. Pass binding_id to discover a saved binding (this publishes or refreshes its capabilities in the catalog), or a full inline definition to preview-discover one that was never saved. Call this after create_capability_binding, then browse the result with list_capabilities.", "inputSchema": { "additionalProperties": false, "properties": { "binding_id": { "description": "Saved binding id to discover; omit to preview inline.", "minLength": 1, "type": "string" }, "config": { "description": "Credentials/options for the inline preview form.", "type": "object" }, "customer_metadata": { "description": "Metadata for the inline preview form.", "type": "object" }, "execution_owner": { "description": "Execution owner for the inline preview form.", "enum": [ "algenta_managed", "client_managed" ], "type": "string" }, "profile_id": { "description": "Profile id for the inline preview form.", "minLength": 1, "type": "string" }, "provider_id": { "description": "Provider id for the inline preview form.", "minLength": 1, "type": "string" }, "scope": { "description": "Scope for the inline preview form.", "enum": [ "user", "workspace", "organization" ], "type": "string" }, "scope_ref": { "description": "Scope reference for the inline preview form.", "type": "string" } }, "type": "object" }, "name": "discover_capability_binding", "outputSchema": null }, { "description": "Score the similarity between two caller-supplied embedding vectors with a supported deterministic metric (default embeddings.cosine_similarity). This tool does not generate embeddings from text — call embeddings first to produce the vectors. left and right must have equal length or the call fails with invalid_embedding_dimensions. Read-only and deterministic. Returns the resolved model id, similarity_metric, the score, and the shared vector dimension.", "inputSchema": { "additionalProperties": false, "properties": { "left": { "description": "First embedding vector; length must equal right's.", "items": { "type": "number" }, "minItems": 1, "type": "array" }, "model": { "default": "embeddings.cosine_similarity", "description": "Similarity model id from list_models; selects the metric.", "type": "string" }, "right": { "description": "Second embedding vector; length must equal left's.", "items": { "type": "number" }, "minItems": 1, "type": "array" } }, "required": [ "left", "right" ], "type": "object" }, "name": "embedding_similarity", "outputSchema": null }, { "description": "Generate one embedding vector per input string (a single string or a list of strings). The default text.hash_embedding_v1 model produces deterministic lexical hash embeddings — identical input always yields the identical vector; provider-backed embedding models advertised by list_models are routed through the configured provider service. Use embedding_similarity to score two vectors or rerank to order documents against a query vector. Read-only; nothing is stored. Returns one {index, embedding, token_count} item per input plus total token usage. An unsupported model id fails with model_not_supported.", "inputSchema": { "additionalProperties": false, "properties": { "dimensions": { "default": 64, "description": "Length of each returned embedding vector.", "maximum": 4096, "minimum": 1, "type": "integer" }, "input": { "description": "Text to embed: one string, or a list embedded item by item.", "oneOf": [ { "type": "string" }, { "items": { "type": "string" }, "type": "array" } ] }, "model": { "default": "text.hash_embedding_v1", "description": "Embedding model id from list_models.", "type": "string" } }, "required": [ "input" ], "type": "object" }, "name": "embeddings", "outputSchema": null }, { "description": "Enable one prompt skill as a first-class capability binding and return its discovered catalog entry. The skill's instruction text becomes an instruction_only capability under the caller's user scope, selectable by route_capabilities. Persists a new binding; remove it with disable_skill. Use list_skills to see what is already enabled.", "inputSchema": { "additionalProperties": false, "properties": { "artifact_affinities": { "description": "Optional artifact affinities for routing.", "items": { "type": "string" }, "type": "array" }, "description": { "description": "Optional human-readable summary of the skill.", "type": "string" }, "execution_owner": { "description": "Where executions run; defaults to client_managed.", "enum": [ "algenta_managed", "client_managed" ], "type": "string" }, "instruction": { "description": "Instruction text the skill injects when selected.", "minLength": 1, "type": "string" }, "skill_name": { "description": "Skill name; also names the new binding.", "minLength": 1, "type": "string" }, "tags": { "description": "Optional routing tags.", "items": { "type": "string" }, "type": "array" } }, "required": [ "skill_name", "instruction" ], "type": "object" }, "name": "enable_skill", "outputSchema": null }, { "description": "Execute one routed or known algenta_managed capability by capability id and return the execution receipt. client_managed routes must execute in the customer app or adapter path — this tool will not run them. If the capability requires approval (approval_required), this returns a pending plan (status='approval_required', plus plan_id/plan_hash/nonce) instead of executing — approval and the final plan_id execution are separate, credentialed HTTP operations and are NOT available as tools. Route first with route_capabilities when the right capability is not known.", "inputSchema": { "additionalProperties": false, "properties": { "binding_id": { "description": "Optional binding id to disambiguate the execution target.", "type": "string" }, "capability_id": { "description": "Capability id from route_capabilities or list_capabilities.", "minLength": 1, "type": "string" }, "input": { "description": "Capability-specific execution input.", "type": "object" }, "request_id": { "description": "Optional caller request id for correlation.", "type": "string" } }, "required": [ "capability_id" ], "type": "object" }, "name": "execute_capability", "outputSchema": null }, { "description": "Dispatch a logged decision to an external webhook and persist the execution receipt. Use record_outcome instead when reporting a result rather than dispatching an action. Returns the delivery receipt: decision_id, webhook_url, execution_status, response_code, executed_at, and the policy and schema snapshot ids.", "inputSchema": { "additionalProperties": false, "properties": { "decision_id": { "description": "Decision ID from log_decision or list_decisions.", "type": "string" }, "force": { "description": "Override the idempotency gate for one re-execution.", "type": "boolean" }, "metadata": { "description": "Optional key-value pairs merged into the webhook payload.", "type": "object" }, "override_safety": { "description": "Bypass confidence and risk-floor policy gates for this execution.", "type": "boolean" }, "timeout_seconds": { "description": "Webhook timeout in seconds.", "type": "number" }, "webhook_url": { "description": "HTTPS webhook that should receive the decision payload.", "type": "string" } }, "required": [ "decision_id", "webhook_url" ], "type": "object" }, "name": "execute_decision", "outputSchema": null }, { "description": "Execute one local-runtime Mojo library function by module and function name. Pass args as either a JSON object, array, scalar, or null. This surface is local/runtime-backed only and does not route through hosted data/query APIs.", "inputSchema": { "properties": { "args": { "description": "JSON-serializable args payload. May be an object, array, scalar, or null." }, "function": { "description": "Function name exposed by the runtime module.", "type": "string" }, "module": { "description": "Canonical runtime module name, including dotted names.", "type": "string" }, "request_id": { "description": "Optional stable request identifier for traceability.", "type": "string" } }, "required": [ "module", "function" ], "type": "object" }, "name": "execute_runtime_library", "outputSchema": null }, { "description": "Manually fire a trigger — evaluates its condition and runs the simulation template regardless of whether the threshold is currently met. Useful for testing triggers or forcing an immediate evaluation. Use pause_trigger to stop automatic firing without deleting the trigger. Returns trigger_id, condition_met, fired, simulation_run_id, recommended_action, expected_value, confidence, and fired_at.", "inputSchema": { "properties": { "force": { "description": "When true, run simulation even if the condition is not currently met (default: false).", "type": "boolean" }, "trigger_id": { "description": "Trigger ID from register_trigger or list_triggers.", "type": "string" } }, "required": [ "trigger_id" ], "type": "object" }, "name": "fire_trigger", "outputSchema": null }, { "description": "Fetch one persisted agent run by run_id: status, task, selected_tool, steps, result, tools_used, and the policy/schema snapshot ids it ran under. Use list_agent_runs to find run ids, get_agent_run_events for its event trail, and get_agent_run_checkpoints for replay checkpoints. Read-only; an unknown run_id fails with agent_run_not_found.", "inputSchema": { "additionalProperties": false, "properties": { "run_id": { "description": "Run id returned by create_agent_run or list_agent_runs.", "type": "string" } }, "required": [ "run_id" ], "type": "object" }, "name": "get_agent_run", "outputSchema": null }, { "description": "List the persisted checkpoints of one agent run — the deterministic snapshots written at creation and every lifecycle transition that make the run replayable. Use query_agent_run_checkpoints to search checkpoints across runs. Read-only; an unknown run_id fails with agent_run_not_found. Returns the run's checkpoint records.", "inputSchema": { "additionalProperties": false, "properties": { "run_id": { "description": "Run id returned by create_agent_run or list_agent_runs.", "type": "string" } }, "required": [ "run_id" ], "type": "object" }, "name": "get_agent_run_checkpoints", "outputSchema": null }, { "description": "Fetch the append-only event stream of one agent run — run_created, tool_selected, tool_executed, run_completed, and the pause/approve/cancel transitions — in order. Use get_agent_run_mission_events for the canonical mission-event projection of the same trail. Read-only; an unknown run_id fails with agent_run_not_found. Returns data plus total_events.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 1000, "description": "Maximum events returned, up to 1000; defaults to 1000.", "minimum": 1, "type": "integer" }, "run_id": { "description": "Run id returned by create_agent_run or list_agent_runs.", "type": "string" } }, "required": [ "run_id" ], "type": "object" }, "name": "get_agent_run_events", "outputSchema": null }, { "description": "Fetch the canonical mission-event records of one agent run — the typed, indexed projection of its lifecycle used for audit and replay. Use get_agent_run_events for the raw append-only stream and query_agent_run_mission_events to search mission events across runs. Read-only; an unknown run_id fails with agent_run_not_found. Returns the run's canonical mission-event records.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 1000, "description": "Maximum events returned, up to 1000; defaults to 1000.", "minimum": 1, "type": "integer" }, "run_id": { "description": "Run id returned by create_agent_run or list_agent_runs.", "type": "string" } }, "required": [ "run_id" ], "type": "object" }, "name": "get_agent_run_mission_events", "outputSchema": null }, { "description": "Fetch the runtime telemetry batches recorded for one agent run — the module-level timing and execution detail captured while it ran. Use query_agent_run_telemetry to search telemetry across runs by kind or module. Read-only; an unknown run_id fails with agent_run_not_found. Returns the run's telemetry batches.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 1000, "description": "Maximum batches returned, up to 1000; defaults to 1000.", "minimum": 1, "type": "integer" }, "run_id": { "description": "Run id returned by create_agent_run or list_agent_runs.", "type": "string" } }, "required": [ "run_id" ], "type": "object" }, "name": "get_agent_run_telemetry", "outputSchema": null }, { "description": "Get aggregate usage analytics over the organization's simulation runs inside a lookback window: total_simulations, avg_confidence, action_breakdown (how recommended actions distribute), and latency_p95_ms. days sets the window (default 30, range 1-365). Use list_runs for individual runs instead of aggregates. Read-only.", "inputSchema": { "properties": { "days": { "default": 30, "description": "Lookback window in days", "type": "integer" } }, "type": "object" }, "name": "get_analytics", "outputSchema": null }, { "description": "Query the organization's immutable Parquet audit-log artifacts with pagination (defaults page 1, limit 25) and exact-match filters, including content_hash for pinpointing one artifact. Artifacts are the tamper-evident copy of the audit trail; use get_audit_logs for the live audit-event table. Requires an admin API key; a workspace-scoped key sees only its own workspace's artifacts. Read-only. Returns entries plus total, page, limit, and pages.", "inputSchema": { "additionalProperties": false, "properties": { "action": { "description": "Keep only artifacts with this action.", "minLength": 1, "type": "string" }, "actor_email": { "description": "Keep only artifacts by this actor email.", "minLength": 1, "type": "string" }, "content_hash": { "description": "Keep only the artifact with this content hash.", "minLength": 1, "type": "string" }, "limit": { "description": "Entries per page, up to 100; defaults to 25.", "maximum": 100, "minimum": 1, "type": "integer" }, "manifest_version": { "description": "Keep only artifacts tied to this runtime manifest version.", "minLength": 1, "type": "string" }, "page": { "description": "1-based page number; defaults to 1.", "minimum": 1, "type": "integer" }, "policy_snapshot_id": { "description": "Keep only artifacts tied to this execution-policy snapshot.", "minLength": 1, "type": "string" }, "request_hash": { "description": "Keep only artifacts tied to this request hash.", "minLength": 1, "type": "string" }, "resource_type": { "description": "Keep only artifacts against this resource type.", "minLength": 1, "type": "string" }, "result": { "description": "Keep only artifacts with this result value.", "minLength": 1, "type": "string" }, "schema_snapshot_id": { "description": "Keep only artifacts tied to this schema snapshot.", "minLength": 1, "type": "string" } }, "type": "object" }, "name": "get_audit_log_artifacts", "outputSchema": null }, { "description": "Query the organization's audit-event log, newest first, with pagination (defaults page 1, limit 25) and exact-match filters. Every entry records who did what to which resource with which result; an org with no events returns an honest empty page. Requires an admin API key. Use get_audit_log_artifacts for the immutable Parquet artifact copy, and filter by policy_snapshot_id, schema_snapshot_id, manifest_version, or request_hash to trace one execution. Read-only. Returns entries plus total, page, limit, and pages.", "inputSchema": { "additionalProperties": false, "properties": { "action": { "description": "Keep only events with this action, e.g. execution_policy.update.", "minLength": 1, "type": "string" }, "actor_email": { "description": "Keep only events by this actor email.", "minLength": 1, "type": "string" }, "limit": { "description": "Entries per page, up to 100; defaults to 25.", "maximum": 100, "minimum": 1, "type": "integer" }, "manifest_version": { "description": "Keep only events tied to this runtime manifest version.", "minLength": 1, "type": "string" }, "page": { "description": "1-based page number; defaults to 1.", "minimum": 1, "type": "integer" }, "policy_snapshot_id": { "description": "Keep only events tied to this execution-policy snapshot.", "minLength": 1, "type": "string" }, "request_hash": { "description": "Keep only events tied to this request hash.", "minLength": 1, "type": "string" }, "resource_type": { "description": "Keep only events against this resource type.", "minLength": 1, "type": "string" }, "result": { "description": "Keep only events with this result value.", "minLength": 1, "type": "string" }, "schema_snapshot_id": { "description": "Keep only events tied to this schema snapshot.", "minLength": 1, "type": "string" } }, "type": "object" }, "name": "get_audit_logs", "outputSchema": null }, { "description": "Get current billing plan and subscription info for the active organization. Read-only and non-destructive; not separately rate-limited. Use create_billing_checkout or create_billing_portal to change anything. Returns plan, stripe_customer_id, subscription_status, and current_period_end.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_billing_info", "outputSchema": null }, { "description": "Fetch one unified capability catalog entry by capability_id: kind, provider, binding, execution owner, approval requirement, and tags. include_instruction=true also returns the skill instruction text. Find capability ids with list_capabilities or route_capabilities. Read-only; an unknown id fails with not_found.", "inputSchema": { "additionalProperties": false, "properties": { "capability_id": { "description": "Capability id from list_capabilities or route_capabilities.", "minLength": 1, "type": "string" }, "include_instruction": { "description": "Also return the instruction text for skill capabilities.", "type": "boolean" } }, "required": [ "capability_id" ], "type": "object" }, "name": "get_capability", "outputSchema": null }, { "description": "Fetch one saved connector by connector_id: name, connector_type, status, visibility, timestamps, and the config fingerprint — never the stored credentials. Use list_connectors to find ids. Read-only; an unknown or invisible id fails with not_found.", "inputSchema": { "additionalProperties": false, "properties": { "connector_id": { "description": "Saved connector id from list_connectors.", "minLength": 1, "type": "string" } }, "required": [ "connector_id" ], "type": "object" }, "name": "get_connector", "outputSchema": null }, { "description": "Get the machine-readable Algenta public contract. Use this when an agent needs the canonical discovery, summary, query, batch, SQL report, governed filter rules, CLI, or MCP entrypoints before planning tool use. Read-only and non-destructive; not separately rate-limited.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_contract", "outputSchema": null }, { "description": "Get a saved dataset plus its schema and relationship metadata by dataset_id. Read-only and non-destructive; reads only the active API key's organization and is not separately rate-limited. Use get_data_summary first for a low-token look. Returns the dataset record and its schema: row_count, columns, roles_summary, formulas, and query_hints.", "inputSchema": { "properties": { "dataset_id": { "description": "Dataset ID from connect_data or list_data.", "type": "string" } }, "required": [ "dataset_id" ], "type": "object" }, "name": "get_data_schema", "outputSchema": null }, { "description": "Get the low-token dataset selection summary for a saved dataset_id. Use this after list_data(search=..., compact=true) before paying for the full schema payload. Read-only and non-destructive; reads only the active API key's organization and is not separately rate-limited. Returns dataset_id, name, status, source_names, row_count, column_count, registered_at, and query_hints.", "inputSchema": { "properties": { "dataset_id": { "description": "Dataset ID from connect_data or list_data.", "type": "string" } }, "required": [ "dataset_id" ], "type": "object" }, "name": "get_data_summary", "outputSchema": null }, { "description": "Get the live training status and model tier of one dataset: whether semantic training is still running or the dataset is ready, and which model serves queries — model_tier 'none' = deterministic fallback only, 'base' = generic model, 'schema' = fully trained schema-specific model (best quality). Poll this after onboard_dataset until training completes, and use retrain_dataset after schema or alias changes. Read-only; an unknown dataset_id fails with not_found. Also returns name, column_count, source_names, and updated_at.", "inputSchema": { "properties": { "dataset_id": { "description": "Dataset ID from onboard_dataset or list_datasets.", "type": "string" } }, "required": [ "dataset_id" ], "type": "object" }, "name": "get_dataset_status", "outputSchema": null }, { "description": "Fetch one decision-memory record by id. Read-only and non-destructive; not separately rate-limited. Use list_decisions to find decision ids. Returns the full decision record including context, options_considered, risk fields, integrity hashes, and outcome fields when recorded.", "inputSchema": { "additionalProperties": false, "properties": { "decision_id": { "description": "Decision ID from log_decision or list_decisions.", "type": "string" } }, "required": [ "decision_id" ], "type": "object" }, "name": "get_decision", "outputSchema": null }, { "description": "Fetch the current deployment for the active organization, if one exists. Read-only and non-destructive; not separately rate-limited. Poll this after create_deployment until status is active. Returns the deployment record (deployment_id, provider, region, status, config, created_at) or null when the organization is on the shared pool.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_deployment", "outputSchema": null }, { "description": "Get the current-month cost details of one deployment by id: provider, region, cost_usd_month, billable_cost_usd_month after markup, the applied billing_markup_pct, and last_updated. Requires an admin API key; an unknown deployment_id fails with not_found. Use get_deployment to find the active deployment first. Read-only.", "inputSchema": { "additionalProperties": false, "properties": { "deployment_id": { "description": "Deployment id from get_deployment.", "minLength": 1, "type": "string" } }, "required": [ "deployment_id" ], "type": "object" }, "name": "get_deployment_cost", "outputSchema": null }, { "description": "Get the current autonomous execution policy for the active organization. Read-only and non-destructive; not separately rate-limited. Read this before update_execution_policy. Returns min_confidence, risk_floor, require_calibration, allow_reexecution, and the current snapshot metadata.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_execution_policy", "outputSchema": null }, { "description": "Fetch the completed result payload for an async simulation job by id. Read-only and non-destructive; not separately rate-limited. Use get_job_status to check progress before the job completes. Returns the completed job's result payload.", "inputSchema": { "properties": { "job_id": { "description": "UUID of the async job", "type": "string" } }, "required": [ "job_id" ], "type": "object" }, "name": "get_job_result", "outputSchema": null }, { "description": "Fetch the latest async simulation job status by id. Read-only and non-destructive; not separately rate-limited. Use poll_job to block until a terminal state. Returns the job record with status, progress, timestamps, and poll_url.", "inputSchema": { "properties": { "job_id": { "description": "UUID of the async job", "type": "string" } }, "required": [ "job_id" ], "type": "object" }, "name": "get_job_status", "outputSchema": null }, { "description": "Get current plan quotas and limits for the active API key. Read-only and non-destructive; not separately rate-limited. Use get_usage for current consumption against these limits. Returns the plan's quota ceilings, including rate, concurrency, storage, and LLM spend cap.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_limits", "outputSchema": null }, { "description": "Get current user and organization identity for the active API key. Read-only and non-destructive; not separately rate-limited. Use update_me to change the returned names. Returns user_id, name, email, role, and the organization id, name, and plan.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_me", "outputSchema": null }, { "description": "List globally supported Repository Intelligence languages and ranked support progress. Read-only and non-destructive. Check language support here before create_repository_snapshot. Returns supported_languages and support_progress (ranked target counts, progress fraction, and label).", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_repository_intelligence_capabilities", "outputSchema": null }, { "description": "Fetch one persisted immutable repository snapshot by repository_id and snapshot_id, including its resolved_revision, content_hash, file_count, language_counts, and graph artifact refs. Use this to re-read a snapshot created earlier with create_repository_snapshot (or through run_repository_pipeline). Read-only; an unknown snapshot or repository id fails with not_found.", "inputSchema": { "additionalProperties": false, "properties": { "repository_id": { "description": "Saved repository connector id from list_connectors.", "minLength": 1, "type": "string" }, "snapshot_id": { "description": "Snapshot id returned by create_repository_snapshot.", "minLength": 1, "type": "string" } }, "required": [ "repository_id", "snapshot_id" ], "type": "object" }, "name": "get_repository_snapshot", "outputSchema": null }, { "description": "Fetch one simulation run by run_id with its full detail — the decision metrics and the request context it ran under. Use list_runs to find run ids. Read-only; an unknown run_id fails with not_found. Returns the run record: run_id, recommended_action, confidence, expected_value, mode, and created_at.", "inputSchema": { "properties": { "run_id": { "description": "UUID of the simulation run", "type": "string" } }, "required": [ "run_id" ], "type": "object" }, "name": "get_run", "outputSchema": null }, { "description": "Get the authenticated Algenta runtime benchmark catalog. Use this when an agent needs benchmark classes, benchmark evidence paths, evaluation quality gates, SLO budgets, compiled artifacts, or module benchmark linkage before reasoning about runtime performance claims. Read-only and non-destructive; not separately rate-limited.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_runtime_benchmarks", "outputSchema": null }, { "description": "Get the signed Algenta runtime manifest. Use this when an agent needs the canonical runtime-core inventory, maturity states, proof matrix, typed failure contract, or release theorem before using runtime-backed execution paths. Read-only and non-destructive; not separately rate-limited.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_runtime_manifest", "outputSchema": null }, { "description": "Get the authenticated Algenta runtime module proof catalog. Use this when an agent needs the shipping module inventory, proof-matrix entries, maturity counts, or compiled module evidence before using runtime-backed paths. Read-only and non-destructive; not separately rate-limited.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_runtime_modules", "outputSchema": null }, { "description": "Get the authenticated Algenta runtime release validation result. Use this when an agent needs the current manifest-listed release verdict, formal theorem conditions, or fail-closed proof status before using runtime-backed paths. Read-only and non-destructive; not separately rate-limited.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "get_runtime_release_validation", "outputSchema": null }, { "description": "Advanced tool. Get the full schema for a specific registered source: column types, cardinality, fill rates, formula relationships, and detected join keys to other sources. Read-only and non-destructive; not separately rate-limited. Use list_sources to find source ids. Returns source_id and the full schema: column types, cardinality, fill rates, formula relationships, and detected join keys.", "inputSchema": { "properties": { "source_id": { "description": "Source ID from list_sources.", "type": "string" } }, "required": [ "source_id" ], "type": "object" }, "name": "get_source_schema", "outputSchema": null }, { "description": "Get current billing period usage vs quota for this API key. Read-only and non-destructive; not separately rate-limited. Use get_limits for the plan's ceiling values. Returns simulations_used, simulations_limit, billing_period, and plan.", "inputSchema": { "properties": {}, "type": "object" }, "name": "get_usage", "outputSchema": null }, { "description": "Auto-map tabular data to a simulation payload. Detects variable distributions, polarity (revenue=positive, cost=negative), units, and builds the objective function automatically. Set run_simulation=true to execute the simulation immediately and get results. Multiple tables: auto-detects join keys and merges before analysis. Returns fields_detected, records_analyzed, join_applied, engine, objective_function, variables, and simulation_payload, plus simulation_result when run_simulation is true.", "inputSchema": { "properties": { "domain": { "description": "Optional domain hint (finance, supply_chain, hr) for better field mapping.", "type": "string" }, "run_simulation": { "default": false, "description": "Execute the simulation immediately and return results.", "type": "boolean" }, "runs": { "default": 10000, "description": "Scenarios to evaluate (1,000–1,000,000).", "type": "integer" }, "tables": { "description": "One or more data tables. First table is primary.", "items": { "properties": { "csv": { "description": "Raw CSV text.", "type": "string" }, "name": { "type": "string" }, "records": { "description": "JSON records.", "items": { "type": "object" }, "type": "array" } }, "required": [ "name" ], "type": "object" }, "minItems": 1, "type": "array" } }, "required": [ "tables" ], "type": "object" }, "name": "ingest_data", "outputSchema": null }, { "description": "Ingest one batch of execution-analytics events from a managed runtime that explicitly enabled control-plane sync. This endpoint is analytics-only: received events are counted for dashboards and structured-logged, never used for billing or quota enforcement, and self-hosted Algenta profiles never call it automatically. Every event field is optional; events without a timestamp count toward the current billing month. An empty events list fails with empty_events. Returns accepted (event count) and the primary billing_period.", "inputSchema": { "additionalProperties": false, "properties": { "device_id": { "description": "Managed-runtime device id that produced the events.", "minLength": 1, "type": "string" }, "events": { "description": "Analytics events; every field below is optional.", "items": { "additionalProperties": false, "properties": { "engine_used": { "description": "Compute engine that executed the call.", "type": "string" }, "event_type": { "description": "Event kind label, e.g. execution.", "type": "string" }, "function": { "description": "Function within the module that ran.", "type": "string" }, "latency_ms": { "description": "Observed execution latency in milliseconds.", "type": "number" }, "module": { "description": "Runtime module that ran.", "type": "string" }, "request_id": { "description": "Caller-side request id for correlation.", "type": "string" }, "success": { "description": "Whether the execution succeeded.", "type": "boolean" }, "timestamp": { "description": "Unix timestamp of the event; determines its billing period.", "type": "number" } }, "type": "object" }, "minItems": 1, "type": "array" } }, "required": [ "device_id", "events" ], "type": "object" }, "name": "ingest_metering_events", "outputSchema": null }, { "description": "Invite someone to the caller's organization by email and return the pending invite. This creates a pending invitation, emails an accept link, and reserves a seat until the invite is accepted. The caller's API key must have an admin role and the plan must have seats available — single-seat plans fail with seats_not_available. Use list_team_members to see who is already in the org. Role defaults to member.", "inputSchema": { "additionalProperties": false, "properties": { "email": { "description": "Email address the invite link is sent to.", "minLength": 3, "type": "string" }, "role": { "description": "Org role granted on accept; defaults to member.", "enum": [ "owner", "admin", "member", "viewer" ], "type": "string" } }, "required": [ "email" ], "type": "object" }, "name": "invite_team_member", "outputSchema": null }, { "description": "List the organization's persisted agent runs, paginated (defaults page 1, limit 25), with lineage-aware filters: status, request_hash (find reruns of the same request), policy_snapshot_id, and schema_snapshot_id (find runs under one policy or schema revision). Use get_agent_run for one run's full detail and query_agent_run_checkpoints to search checkpoints across runs. Read-only. Returns data, total, page, limit, and pages.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 25, "description": "Runs per page, up to 200; defaults to 25.", "maximum": 200, "minimum": 1, "type": "integer" }, "page": { "default": 1, "description": "1-based page number; defaults to 1.", "minimum": 1, "type": "integer" }, "policy_snapshot_id": { "description": "Keep only runs under this execution-policy snapshot.", "type": "string" }, "request_hash": { "description": "Keep only runs created from this request hash.", "type": "string" }, "schema_snapshot_id": { "description": "Keep only runs under this schema snapshot.", "type": "string" }, "status": { "description": "Keep only runs in this lifecycle status.", "enum": [ "running", "paused", "requires_approval", "completed", "cancelled" ], "type": "string" } }, "required": [], "type": "object" }, "name": "list_agent_runs", "outputSchema": null }, { "description": "List active API keys for the current organization. Never returns raw secret material. Read-only and non-destructive; not separately rate-limited. Use create_api_key to mint one and revoke_api_key to retire one. Returns the key records with id, label, key_prefix, device_limit, status, created_at, last_used_at, and expires_at.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_api_keys", "outputSchema": null }, { "description": "List the unified capability catalog visible to the caller — datasets, MCP tools, resources and prompts, skills, native tools, and runtime libraries — with each entry's kind, provider, binding, and execution owner. Filter by kinds, provider_ids, or binding_ids to narrow the catalog. Use get_capability for one entry's detail, route_capabilities to pick the best entry for an objective, and list_skills for the skill subset. Read-only. Returns the catalog entries with capability_id, kind, provider_id, binding_id, execution_owner, and tags.", "inputSchema": { "additionalProperties": false, "properties": { "binding_ids": { "description": "Keep only capabilities from these bindings.", "items": { "type": "string" }, "type": "array" }, "kinds": { "description": "Keep only these capability kinds.", "items": { "enum": [ "dataset", "mcp_tool", "mcp_resource", "mcp_prompt", "skill", "native_tool", "runtime_library" ], "type": "string" }, "type": "array" }, "provider_ids": { "description": "Keep only capabilities from these providers.", "items": { "type": "string" }, "type": "array" } }, "type": "object" }, "name": "list_capabilities", "outputSchema": null }, { "description": "List the capability bindings saved under the caller's organization, optionally narrowed by provider_id or scope (user, workspace, organization). A binding pairs a provider profile with credentials/config and is what makes capabilities executable. Use create_capability_binding to add one, test_capability_binding to verify one, and list_capabilities to browse what they expose. Read-only. Returns the binding records with binding_id, provider_id, profile_id, scope, execution_owner, and status.", "inputSchema": { "additionalProperties": false, "properties": { "provider_id": { "description": "Keep only bindings of this provider.", "minLength": 1, "type": "string" }, "scope": { "description": "Keep only bindings at this scope.", "enum": [ "user", "workspace", "organization" ], "type": "string" } }, "type": "object" }, "name": "list_capability_bindings", "outputSchema": null }, { "description": "List the unified capability providers available to the organization — data sources, MCP servers, skill packs, native tools, and runtime libraries — with their profiles, auth kinds, supported execution owners, and binding scopes. Start here to find provider_id and profile_id for create_capability_binding, then discover_capability_binding to see what a binding exposes. Read-only. Returns the provider records with provider_id, provider_type, auth metadata, supported execution owners, and profiles.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_capability_providers", "outputSchema": null }, { "description": "List the data connectors saved under the caller's organization — databases, APIs, file-backed, and repository sources — with id, name, connector_type, status (untested, live, error), and visibility; stored credentials are never returned. Paginated with page and limit; status filters the returned page client-side. Use this first to find a connector_id for get_connector, test_connector, browse_connector, or the repository tools, and create_connector to add one. Read-only.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 25, "description": "Connectors per page; defaults to 25.", "minimum": 1, "type": "integer" }, "page": { "default": 1, "description": "1-based page number; defaults to 1.", "minimum": 1, "type": "integer" }, "status": { "default": "all", "description": "Keep only connectors in this health status; defaults to all.", "enum": [ "untested", "live", "error", "all" ], "type": "string" } }, "type": "object" }, "name": "list_connectors", "outputSchema": null }, { "description": "List visible datasets for the current user. Use search plus compact mode first for low-token dataset discovery, then get_data_schema on the chosen dataset_id. Read-only and non-destructive; lists only the active API key's organization and is not separately rate-limited. Returns the datasets array (dataset_id, name, status, source_names, connection_type, row_count, column_count, refreshable) plus count, total, matched_total, page, limit, and pages.", "inputSchema": { "properties": { "compact": { "description": "When true, request the low-token compact dataset discovery shape.", "type": "boolean" }, "limit": { "description": "Results per page (default: all visible datasets, max 200 when set).", "type": "integer" }, "page": { "description": "Page number (default 1).", "type": "integer" }, "search": { "description": "Deterministic lexical filter over dataset_id, name, and source_names.", "type": "string" }, "source_name": { "description": "Optional source-name filter for narrowed dataset discovery.", "type": "string" }, "status": { "description": "Optional dataset readiness filter such as ready or training.", "type": "string" } }, "type": "object" }, "name": "list_data", "outputSchema": null }, { "description": "List registered datasets and their current model tier. Use search plus compact mode for low-token discovery, then poll status or use the primary data tools once you choose a dataset. Read-only and non-destructive; lists only the active API key's organization and is not separately rate-limited. Returns the datasets array with dataset_id, name, status, model_tier, source_names, column_count, and registered_at, plus count, total, page, limit, and pages.", "inputSchema": { "properties": { "compact": { "description": "When true, request the low-token compact dataset discovery shape.", "type": "boolean" }, "limit": { "description": "Results per page (default: all visible datasets, max 200 when set).", "type": "integer" }, "page": { "description": "Page number (default 1).", "type": "integer" }, "search": { "description": "Deterministic lexical filter over dataset_id, name, and source_names.", "type": "string" }, "source_name": { "description": "Optional source-name filter for narrowed dataset discovery.", "type": "string" }, "status": { "description": "Optional dataset readiness filter such as ready or training.", "type": "string" } }, "type": "object" }, "name": "list_datasets", "outputSchema": null }, { "description": "Retrieve the Decision Memory audit trail — all logged decisions, most recent first. Use with_outcome_only=true to see only decisions where actual results have been recorded. outcome_delta = actual_outcome - expected_value: negative means worse than predicted. Read-only and non-destructive; not separately rate-limited. Returns decisions with id, chosen_action, expected_value, actual_outcome, outcome_delta, confidence, context, created_at, and outcome_recorded_at, plus total, page, limit, pages, and an accuracy_summary when outcomes exist.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "description": "Canonical results per page (default 20, max 200).", "type": "integer" }, "page": { "description": "Page number (default 1).", "type": "integer" }, "page_size": { "description": "Results per page (default 20, max 100).", "type": "integer" }, "with_outcome_only": { "description": "When true, return only decisions with recorded actual outcomes.", "type": "boolean" } }, "type": "object" }, "name": "list_decisions", "outputSchema": null }, { "description": "List available deployment providers and regions for the current organization. Read-only and non-destructive; not separately rate-limited. Call this before create_deployment to pick a valid provider/region pair. Returns the providers array with each provider's id, name, description, and regions (use a region id when creating).", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_deployment_regions", "outputSchema": null }, { "description": "List the devices registered to the caller's organization, paginated, together with the plan's device_limit and plan name. Requires an API-key identity (user-session keys fail with api_key_identity_required). Use a device's registration_id with revoke_device to free a slot. Read-only. Returns devices, device_count, total, page, pages, device_limit, and plan.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "description": "Devices per page, up to 200; defaults to 25.", "maximum": 200, "minimum": 1, "type": "integer" }, "page": { "description": "1-based page number; defaults to 1.", "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "list_devices", "outputSchema": null }, { "description": "List the probability distribution types supported in simulation variables — normal, uniform, triangular, lognormal, and fixed — each with its required parameters and a ready-to-use example. Read this before writing variable definitions for simulate, score, compare, or submit_job. Read-only.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_distributions", "outputSchema": null }, { "description": "List the organization's persisted execution-policy snapshots in revision order with total_snapshots. Every policy update writes a new snapshot, so these ids are the lineage trail for replay and audit inspection; get_execution_policy returns only the current one. Read-only.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_execution_policy_snapshots", "outputSchema": null }, { "description": "List the organization's async simulation jobs, newest first, with pagination (defaults page 1, limit 25, max 200) and an optional status filter such as queued, running, completed, failed, or cancelled. Each entry carries the job id, status, progress, and poll URL. Use get_job_status or poll_job to follow one job and get_job_result for its output. Read-only. Returns jobs plus total, page, limit, and pages.", "inputSchema": { "properties": { "limit": { "default": 25, "description": "Jobs per page, up to 200; defaults to 25.", "minimum": 1, "type": "integer" }, "page": { "default": 1, "description": "1-based page number; defaults to 1.", "minimum": 1, "type": "integer" }, "status": { "description": "Optional job status filter such as queued, running, completed, failed, or cancelled.", "type": "string" } }, "type": "object" }, "name": "list_jobs", "outputSchema": null }, { "description": "List the current Algenta model catalog, including deterministic utility models and any provider-backed routed entries with their routing, failover, timeout, and auth metadata, including capability-specific chat and embedding auth/header readiness. Use this before calling tokenize, count_tokens, chat_completions, responses, embeddings, embedding_similarity, or rerank. Read-only and non-destructive; calls share the plan's per-minute rate limit with the other LLM utility routes. Returns the catalog entries with model id, capabilities, and, for provider-backed entries, routing, failover, timeout, and auth-header readiness metadata.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_models", "outputSchema": null }, { "description": "List the organization's recent simulation runs, newest first, with their recommended_action, confidence, expected_value, mode, and created_at. Optional filters narrow by mode (auto or expert) and status (completed, failed, running); limit caps the results (default 20, up to 100). Use get_run for one run's full detail and get_analytics for aggregate trends. Read-only. Returns runs plus total.", "inputSchema": { "properties": { "limit": { "default": 20, "description": "Max results (1-100)", "type": "integer" }, "mode": { "description": "Filter by mode", "enum": [ "auto", "expert" ], "type": "string" }, "status": { "description": "Keep only runs in this status.", "enum": [ "completed", "failed", "running" ], "type": "string" } }, "type": "object" }, "name": "list_runs", "outputSchema": null }, { "description": "List executable local-runtime Mojo libraries. Use this when you need the runtime-backed compute catalog rather than the governed data/query tools. This surface is local/runtime-backed only.", "inputSchema": { "properties": { "limit": { "description": "Maximum number of libraries to return after filtering.", "type": "integer" }, "search": { "description": "Optional lexical filter over module names and function names.", "type": "string" } }, "type": "object" }, "name": "list_runtime_libraries", "outputSchema": null }, { "description": "List the skill capabilities in the unified capability plane — prompt skills enabled for the caller's organization with their names, bindings, and execution owners. This is list_capabilities narrowed to kind=skill. Use enable_skill to add one and disable_skill to remove one. Read-only. Returns the skill catalog entries with capability_id, name, binding, and execution owner.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_skills", "outputSchema": null }, { "description": "Advanced tool. List all registered data sources for this org with their schema summaries. Use this to discover available tables before calling query_data or register_source. Read-only and non-destructive; not separately rate-limited. Returns the sources array with each source's id, name, and schema summary (columns, roles, detected join keys), plus count, total, page, limit, and pages.", "inputSchema": { "properties": { "limit": { "description": "Results per page (default: all visible sources, max 200 when set).", "type": "integer" }, "page": { "description": "Page number (default 1).", "type": "integer" } }, "type": "object" }, "name": "list_sources", "outputSchema": null }, { "description": "List the active users of the caller's organization with user_id, name, email, role, and status. Called with no arguments it returns the full member array; passing page or limit switches to a paginated envelope {members, total, page, limit, pages} (defaults page 1, limit 25). Use the returned user_id with update_team_member_role or remove_team_member. Read-only.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "description": "Members per page (default 25 when paginating).", "maximum": 200, "minimum": 1, "type": "integer" }, "page": { "description": "1-based page number; enables the paginated envelope.", "minimum": 1, "type": "integer" } }, "type": "object" }, "name": "list_team_members", "outputSchema": null }, { "description": "List the built-in simulation templates available to the active API key, each with its id and intended use. A template id pre-fills a simulation request, so start here instead of hand-writing variables for common cases such as a product launch. Read-only.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_templates", "outputSchema": null }, { "description": "List all registered triggers with their current status, last-checked time, and last-fired simulation result summary. Read-only and non-destructive; not separately rate-limited. Use register_trigger to add one and pause_trigger to silence one without deleting. Returns triggers with trigger_id, name, status, condition, last_checked_at, last_fired_at, and last_result_summary, plus count, total, page, limit, and pages.", "inputSchema": { "properties": { "limit": { "description": "Results per page (default: all visible triggers, max 200 when set).", "type": "integer" }, "page": { "description": "Page number (default 1).", "type": "integer" }, "status": { "description": "Filter by trigger status (default: all).", "enum": [ "active", "paused", "all" ], "type": "string" } }, "type": "object" }, "name": "list_triggers", "outputSchema": null }, { "description": "Persist a decision to the Decision Memory audit trail. Link to a simulation run_id to bind the full DecisionPlan context. Call record_outcome later to close the feedback loop and measure prediction accuracy. Every logged decision is immutably hashed — no tampering possible. Returns decision_id, chosen_action, expected_value, confidence, and created_at.", "inputSchema": { "additionalProperties": false, "properties": { "chosen_action": { "description": "The action that was decided upon.", "type": "string" }, "confidence": { "description": "Confidence score (0–1) from the simulation.", "type": "number" }, "context": { "description": "Business context — what was the situation when this decision was made?", "type": "string" }, "expected_value": { "description": "Expected outcome value at decision time.", "type": "number" }, "options_considered": { "description": "All option names that were evaluated.", "items": { "type": "string" }, "type": "array" }, "rationale": { "description": "Explanation of why this option was chosen.", "type": "string" }, "request_hash": { "description": "SHA-256 input fingerprint from the simulation.", "type": "string" }, "result_hash": { "description": "SHA-256 output fingerprint from the simulation.", "type": "string" }, "risk_p5": { "description": "5th-percentile downside at decision time.", "type": "number" }, "risk_p95": { "description": "95th-percentile upside at decision time.", "type": "number" }, "risk_pol": { "description": "Probability of loss (0–1) at decision time.", "type": "number" }, "run_id": { "description": "Simulation run_id that produced this decision (from simulate or recommend).", "type": "string" } }, "required": [ "chosen_action" ], "type": "object" }, "name": "log_decision", "outputSchema": null }, { "description": "Register a dataset for semantic querying. Pass column names, inline records, or raw CSV. The engine profiles roles automatically and starts background training. Queries work immediately via a fallback model — accuracy improves once schema-specific training completes (poll status with list_datasets). Registration persists the dataset under the active API key's organization. Use connect_data for live connections instead of inline rows. Returns dataset_id, schema_hash, status, model_tier, column_count, and suggested_aliases.", "inputSchema": { "properties": { "async_train": { "default": true, "description": "Start background semantic training immediately (default: true).", "type": "boolean" }, "columns": { "description": "Column names only — fastest path, no data required.", "items": { "type": "string" }, "type": "array" }, "csv": { "description": "Raw CSV text with header row.", "type": "string" }, "domain_aliases": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "description": "Optional map of abbreviation → expansions. Example: {\"ppa\": [\"per\", \"person\", \"average\"]}. Auto-suggested if omitted.", "type": "object" }, "name": { "default": "dataset", "description": "Human-readable name for this dataset.", "type": "string" }, "records": { "description": "Sample rows as JSON records (list of dicts). Up to 200 rows.", "items": { "type": "object" }, "type": "array" } }, "required": [], "type": "object" }, "name": "onboard_dataset", "outputSchema": null }, { "description": "Pause or resume an existing trigger without deleting it. Returns trigger_id and the updated status.", "inputSchema": { "properties": { "paused": { "description": "Set true to pause, false to resume (default: true).", "type": "boolean" }, "trigger_id": { "description": "Trigger ID to update.", "type": "string" } }, "required": [ "trigger_id" ], "type": "object" }, "name": "pause_trigger", "outputSchema": null }, { "description": "Run a validated simulation-style request (the same payload contract as simulate) but return only the structured DecisionPlan summary — the compact plan object with recommended action and calibrated confidence, without the full DecisionEnvelope metrics. Use this when the caller needs the plan summary for a dashboard or a follow-up plan_decision-to-log_decision flow; use simulate for the full envelope. Synchronous deterministic compute governed by the plan's per-minute rate limit and monthly quota; nothing is persisted.", "inputSchema": { "additionalProperties": false, "description": "Simulation-style payload forwarded to POST /v1/decisions/plan.", "type": "object" }, "name": "plan_decision", "outputSchema": null }, { "description": "Wait for an async simulation job to reach a terminal state. Returns the final result when the job completes, or the terminal status when it fails, is cancelled, or times out. Read-only: it polls the job's status endpoints and changes nothing. Use get_job_status for a single non-blocking check.", "inputSchema": { "properties": { "job_id": { "description": "UUID of the async job", "type": "string" }, "poll_interval_seconds": { "default": 2, "description": "Delay between status checks while the job is still queued or running.", "minimum": 0.001, "type": "number" }, "timeout_seconds": { "default": 30, "description": "Maximum wall-clock time to wait before returning a timed_out response.", "minimum": 0.001, "type": "number" } }, "required": [ "job_id" ], "type": "object" }, "name": "poll_job", "outputSchema": null }, { "description": "Browse one inline connector definition without saving it to discover files, tables, endpoints, or items. This opens a real connection to the source and is rate-limited per organization; nothing is saved. Use browse_connector for saved connectors. Returns connector_type, items, total, message, labels, and discovery metadata.", "inputSchema": { "additionalProperties": false, "properties": { "config": { "type": "object" }, "connector_type": { "minLength": 1, "type": "string" } }, "required": [ "connector_type" ], "type": "object" }, "name": "preview_browse_connector", "outputSchema": null }, { "description": "Run a real connectivity test against an inline connector definition without saving anything — the dry run for create_connector. This opens an actual connection to the source, is rate-limited per organization, and caches successful outcomes briefly. Nothing is persisted. Returns success, message, latency_ms, status, error_type, and recoverable; call create_connector once the definition passes.", "inputSchema": { "additionalProperties": false, "properties": { "config": { "description": "Inline connection settings and credentials to test.", "type": "object" }, "connector_type": { "description": "Connector type id to test.", "minLength": 1, "type": "string" } }, "required": [ "connector_type" ], "type": "object" }, "name": "preview_test_connector", "outputSchema": null }, { "description": "Execute a natural-language task synchronously with the simple product agent and return a compact task result. The agent picks one tool from the task wording (optimize for best/maximum-style tasks, simulate for risk/forecast-style, search for find/lookup-style, otherwise calculate), runs it, and formats the answer as text, json, or markdown. Use this for one-shot task execution; use create_agent_run when you need a paused or approval-gated lifecycle, and get_agent_run to re-fetch the persisted record. The run, its step log, events, and a replayable checkpoint are persisted under the caller's organization. Returns run_id, status (completed on success), result, the step list, tools_used, and latency_ms.", "inputSchema": { "additionalProperties": false, "properties": { "context": { "description": "Optional structured context or data for the task.", "type": "object" }, "max_steps": { "description": "Maximum execution steps, 1-50; defaults to 10.", "type": "integer" }, "output_format": { "description": "Result format: text (default), json, or markdown.", "type": "string" }, "task": { "description": "What the agent should do, in plain words (min 5 characters).", "type": "string" }, "tools": { "description": "Restrict the tools the agent may pick from; defaults to search, simulate, optimize, calculate, summarize.", "items": { "type": "string" }, "type": "array" } }, "required": [ "task" ], "type": "object" }, "name": "product_agent_run", "outputSchema": null }, { "description": "Recommend an action for a business decision from plain inputs, and return the risk summary behind it. Each input becomes a simulation variable: fixed at value, or triangular when low and high bounds are given; inputs named cost/costs/expense/expenses/spending are subtracted in the objective. The engine evaluates scenarios (default 10000) and maps the loss probability to an action: over 50% -> reject, over the risk_tolerance threshold (low 5%, medium 15%, high 30%) -> pause, otherwise proceed. Use simulate for the raw distribution and plan_decision for the structured plan. Synchronous deterministic compute; nothing is persisted. Returns decision_id, action, confidence, reasoning and why bullets, expected_outcome, downside_risk (p5), upside_potential (p95), and probability_of_loss.", "inputSchema": { "additionalProperties": false, "properties": { "engine": { "description": "Simulation engine; auto (default) selects one from the data shape. Options: monte_carlo, lhs, qmc_sobol, bootstrap, mcmc, importance_sampling, time_series, sensitivity.", "type": "string" }, "inputs": { "description": "Business inputs as {name, value, low?, high?, unit?} objects; low+high turn a value into a triangular uncertainty range.", "items": { "type": "object" }, "type": "array" }, "label": { "description": "Optional caller label stored with the decision.", "type": "string" }, "objective": { "description": "Goal label such as maximize_value, minimize_risk, maximize_profit, or minimize_cost; defaults to maximize_value.", "type": "string" }, "risk_tolerance": { "description": "Loss-probability ceiling for a proceed recommendation: low, medium (default), or high.", "type": "string" }, "scenarios": { "description": "Scenarios to evaluate, 1000-1000000; defaults to 10000.", "type": "integer" } }, "required": [ "inputs" ], "type": "object" }, "name": "product_decision", "outputSchema": null }, { "description": "Forecast a business metric horizon periods ahead from its historical series and return per-period point forecasts with confidence intervals. The trend comes from the last up-to-6 history values, volatility from the mean absolute period change, and a 5000-scenario simulation quantifies uncertainty; seasonality=true applies an alternating +/-5% seasonal factor. Use query_data to build the history from a connected dataset first. Synchronous deterministic compute; nothing is persisted. Returns baseline (most recent value), forecast_mean (final period), total_change_pct, and one {period, forecast, lower_bound, upper_bound, trend} item per period with trend up, down, or stable.", "inputSchema": { "additionalProperties": false, "properties": { "confidence_level": { "description": "Confidence interval width, 0.5-0.99; defaults to 0.90. The z-value comes from the nearest of 0.90, 0.95, 0.99.", "type": "number" }, "history": { "description": "Historical values in chronological order, most recent last; 3-1000 points.", "items": { "type": "number" }, "type": "array" }, "horizon": { "description": "How many periods ahead to forecast, 1-120; defaults to 12.", "type": "integer" }, "metric": { "description": "Name of what you are forecasting, e.g. monthly_revenue.", "type": "string" }, "seasonality": { "description": "Account for seasonal patterns; defaults to true.", "type": "boolean" } }, "required": [ "metric", "history" ], "type": "object" }, "name": "product_forecast", "outputSchema": null }, { "description": "Estimate the best value for each decision variable given a plain-English objective, and return the per-variable optima. Every variable is sampled uniformly over its [min, max] range; an objective containing 'maximize' favors each variable's max, anything else favors the min, and the returned optimum blends that endpoint with the range midpoint. Use product_decision when you want a proceed/pause/reject recommendation instead of raw optima. Synchronous deterministic compute; nothing is persisted. Returns optimal_values, objective_value, improvement_vs_midpoint (percent), constraints_satisfied, and iterations_run.", "inputSchema": { "additionalProperties": false, "properties": { "constraints": { "description": "Business constraints the answer must respect.", "items": { "type": "object" }, "type": "array" }, "engine": { "description": "Simulation engine; auto (default) selects one, lhs is recommended for optimization. Options: lhs, monte_carlo, qmc_sobol.", "type": "string" }, "iterations": { "description": "Search iterations, 100-100000; defaults to 1000.", "type": "integer" }, "objective": { "description": "What to optimize, e.g. 'maximize profit' or 'minimize cost'; the wording sets the search direction.", "type": "string" }, "variables": { "description": "Variables as {name, min, max, unit?} objects with their allowed ranges.", "items": { "type": "object" }, "type": "array" } }, "required": [ "objective", "variables" ], "type": "object" }, "name": "product_optimize", "outputSchema": null }, { "description": "Rank caller-supplied documents against a search query and return the top matches with snippets. Scoring is deterministic lexical word-overlap between query and document plus a bonus when the query prefix appears in the document; results sort by relevance_score with rank starting at 1. Provide documents or a collection_id - a call with neither fails with missing_source. Use query_data for analytics over connected datasets instead. Read-only; nothing is stored. Returns results (rank, document_id, content excerpt, relevance_score, snippet) and total_searched.", "inputSchema": { "additionalProperties": false, "properties": { "collection_id": { "description": "ID of a connected data source to search.", "type": "string" }, "documents": { "description": "Inline documents as {id?, content, metadata?} objects; the set that actually gets ranked.", "items": { "type": "object" }, "type": "array" }, "query": { "description": "What you are looking for (min 3 characters).", "type": "string" }, "rerank": { "description": "Accepted for compatibility; ranking is always the deterministic lexical score.", "type": "boolean" }, "top_k": { "description": "Number of results to return, 1-50; defaults to 5.", "type": "integer" } }, "required": [ "query" ], "type": "object" }, "name": "product_retrieve", "outputSchema": null }, { "description": "Search persisted checkpoints across all of the organization's agent runs, paginated (defaults page 1, limit 25). Filter by run_id or checkpoint_id to pinpoint one, or by status, request_hash, policy_snapshot_id, or schema_snapshot_id to audit lineage. Use get_agent_run_checkpoints when you already know the run_id and want its full checkpoint list. Read-only. Returns data, total, page, limit, and pages.", "inputSchema": { "additionalProperties": false, "properties": { "checkpoint_id": { "description": "Fetch exactly this checkpoint.", "type": "string" }, "limit": { "default": 25, "description": "Checkpoints per page, up to 200; defaults to 25.", "maximum": 200, "minimum": 1, "type": "integer" }, "page": { "default": 1, "description": "1-based page number; defaults to 1.", "minimum": 1, "type": "integer" }, "policy_snapshot_id": { "description": "Keep only checkpoints under this execution-policy snapshot.", "type": "string" }, "request_hash": { "description": "Keep only checkpoints of runs with this request hash.", "type": "string" }, "run_id": { "description": "Keep only checkpoints of this run.", "type": "string" }, "schema_snapshot_id": { "description": "Keep only checkpoints under this schema snapshot.", "type": "string" }, "status": { "description": "Keep only checkpoints of runs in this status.", "enum": [ "running", "paused", "requires_approval", "completed", "cancelled" ], "type": "string" } }, "required": [], "type": "object" }, "name": "query_agent_run_checkpoints", "outputSchema": null }, { "description": "Search canonical mission-event records across all of the organization's agent runs, paginated (defaults page 1, limit 25) and newest first. Filter by run_id or event_type to pinpoint, or by status, request_hash, policy_snapshot_id, or schema_snapshot_id for lineage audits. Use get_agent_run_mission_events when you already know the run_id. Read-only. Returns data, total, page, limit, and pages.", "inputSchema": { "additionalProperties": false, "properties": { "event_type": { "description": "Keep only events of this type, e.g. run_completed.", "type": "string" }, "limit": { "default": 25, "description": "Events per page, up to 200; defaults to 25.", "maximum": 200, "minimum": 1, "type": "integer" }, "page": { "default": 1, "description": "1-based page number; defaults to 1.", "minimum": 1, "type": "integer" }, "policy_snapshot_id": { "description": "Keep only events under this execution-policy snapshot.", "type": "string" }, "request_hash": { "description": "Keep only events of runs with this request hash.", "type": "string" }, "run_id": { "description": "Keep only events of this run.", "type": "string" }, "schema_snapshot_id": { "description": "Keep only events under this schema snapshot.", "type": "string" }, "status": { "description": "Keep only events of runs in this status.", "enum": [ "running", "paused", "requires_approval", "completed", "cancelled" ], "type": "string" } }, "required": [], "type": "object" }, "name": "query_agent_run_mission_events", "outputSchema": null }, { "description": "Search runtime telemetry batches across all of the organization's agent runs, paginated (defaults page 1, limit 25). Filter by run_id, telemetry_kind, or module_name to pinpoint, or by status, request_hash, policy_snapshot_id, or schema_snapshot_id for lineage audits. Use get_agent_run_telemetry when you already know the run_id. Read-only. Returns data, total, page, limit, and pages.", "inputSchema": { "additionalProperties": false, "properties": { "limit": { "default": 25, "description": "Batches per page, up to 200; defaults to 25.", "maximum": 200, "minimum": 1, "type": "integer" }, "module_name": { "description": "Keep only telemetry batches from this runtime module.", "type": "string" }, "page": { "default": 1, "description": "1-based page number; defaults to 1.", "minimum": 1, "type": "integer" }, "policy_snapshot_id": { "description": "Keep only telemetry under this execution-policy snapshot.", "type": "string" }, "request_hash": { "description": "Keep only telemetry of runs with this request hash.", "type": "string" }, "run_id": { "description": "Keep only telemetry of this run.", "type": "string" }, "schema_snapshot_id": { "description": "Keep only telemetry under this schema snapshot.", "type": "string" }, "status": { "description": "Keep only telemetry of runs in this status.", "enum": [ "running", "paused", "requires_approval", "completed", "cancelled" ], "type": "string" }, "telemetry_kind": { "description": "Keep only telemetry batches of this kind.", "type": "string" } }, "required": [], "type": "object" }, "name": "query_agent_run_telemetry", "outputSchema": null }, { "description": "Execute several governed exact queries in one API call. Use this for multi-metric prompts after choosing a dataset with list_data and get_data_summary. Each item reuses the same structured query contract as query_data; defaults may provide shared dataset_id, filter, limit, and order. Read-only against the engine; executes under the active API key with no separate per-route rate limit. Returns request_id and a results array with each item's key, data envelope, metadata, or error.", "inputSchema": { "properties": { "defaults": { "description": "Optional shared exact-query fields applied to each item before execution.", "properties": { "dataset_id": { "type": "string" }, "filter": { "properties": { "conditions": { "description": "Deterministic non-time predicates applied on the metric source. Use exact column when schema is known, or dimension_hint for generic status/type/category filters. These are record predicates, not SQL clauses.", "items": { "properties": { "column": { "description": "Exact source column name for this filter.", "type": "string" }, "dimension_hint": { "description": "Semantic label when the exact column is not known yet.", "type": "string" }, "op": { "enum": [ "eq", "in", "gt", "gte", "lt", "lte", "is_null", "is_not_null" ], "type": "string" }, "value": { "description": "Scalar comparison value for eq/gt/gte/lt/lte." }, "values": { "description": "List comparison values for in.", "items": {}, "type": "array" } }, "required": [ "op" ], "type": "object" }, "type": "array" }, "time_filter": { "description": "Relative time window.", "enum": [ "last_quarter", "this_quarter", "last_month", "this_month", "last_year", "this_year" ], "type": "string" } }, "type": "object" }, "limit": { "type": "integer" }, "order": { "enum": [ "desc", "asc" ], "type": "string" } }, "type": "object" }, "queries": { "items": { "properties": { "key": { "description": "Stable identifier for this batch item.", "type": "string" }, "request": { "description": "Exact query_data payload for this item after defaults merge.", "type": "object" } }, "required": [ "key", "request" ], "type": "object" }, "minItems": 1, "type": "array" } }, "required": [ "queries" ], "type": "object" }, "name": "query_batch", "outputSchema": null }, { "description": "Execute a structured query against connected data sources. Convert the user's question to a structured intent and call this tool — do NOT try to write SQL or parse column names yourself. The engine resolves column meaning from mathematical relationships and statistical structure only. It works on any dataset without configuration. The governed filter shape is a record-predicate contract over normalized rows, not a SQL predicate language, so it also applies to Redis and other non-SQL sources.\n\nStructural roles (use in metric.role):\n- derived_measure: the main financial/operational aggregate (revenue, spend, value)\n- base_measure: counts, quantities, discrete amounts\n- unit_measure: per-unit prices, rates\n- ratio: percentages, margins, fill rates (0-1 range)\n- metric: let the engine pick the best numeric column\n\nIf clarification_required is true, or if confidence < 0.85, check the candidates list and ask the user to clarify. Never fabricate column names or SQL. Read-only against the engine; executes under the active API key with no separate per-route rate limit. Returns the query envelope: result, result_type, row_count, confidence, resolved_column, decision_path, and plan, with candidates and clarification_required set when the engine cannot resolve deterministically.", "inputSchema": { "properties": { "aggregation": { "default": "sum", "description": "How to aggregate the metric column.", "enum": [ "sum", "avg", "count", "max", "min" ], "type": "string" }, "dataset_id": { "description": "Preferred path. dataset_id returned by connect_data or list_data.", "type": "string" }, "filter": { "properties": { "conditions": { "description": "Deterministic non-time predicates applied on the metric source. Use exact column when schema is known, or dimension_hint for generic status/type/category filters. These are record predicates, not SQL clauses.", "items": { "properties": { "column": { "description": "Exact source column name for this filter.", "type": "string" }, "dimension_hint": { "description": "Semantic label when the exact column is not known yet.", "type": "string" }, "op": { "enum": [ "eq", "in", "gt", "gte", "lt", "lte", "is_null", "is_not_null" ], "type": "string" }, "value": { "description": "Scalar comparison value for eq/gt/gte/lt/lte." }, "values": { "description": "List comparison values for in.", "items": {}, "type": "array" } }, "required": [ "op" ], "type": "object" }, "type": "array" }, "time_filter": { "description": "Relative time window.", "enum": [ "last_quarter", "this_quarter", "last_month", "this_month", "last_year", "this_year" ], "type": "string" } }, "type": "object" }, "group_by": { "description": "Dimension words from the user's question (e.g. ['customer', 'region']). The engine finds the best matching column.", "items": { "type": "string" }, "type": "array" }, "limit": { "description": "Top-N limit. Use for 'top 5 customers' type questions.", "type": "integer" }, "metric": { "description": "What to measure.", "properties": { "hint": { "description": "Optional weak signal from user's question (e.g. 'revenue', 'quantity'). Used only as tiebreaker.", "type": "string" }, "role": { "description": "Structural role of the column to aggregate.", "enum": [ "derived_measure", "base_measure", "unit_measure", "ratio", "component", "identifier", "metric" ], "type": "string" } }, "required": [ "role" ], "type": "object" }, "order": { "default": "desc", "enum": [ "desc", "asc" ], "type": "string" }, "sources": { "description": "Data sources to query. Usually omitted when dataset_id is provided.", "items": { "properties": { "csv": { "description": "Raw CSV text (use source_id/table for registered sources)", "type": "string" }, "dataset_id": { "description": "Dataset ID alias for a registered source.", "type": "string" }, "json_str": { "description": "Raw JSON array/object text", "type": "string" }, "name": { "description": "Human-readable name", "type": "string" }, "records": { "description": "Inline JSON records (use source_id/table for registered sources)", "items": { "type": "object" }, "type": "array" }, "source_id": { "description": "Registered source_id (fastest — avoids re-uploading data)", "type": "string" }, "table": { "description": "Registered source name (alternative to source_id)", "type": "string" }, "url": { "description": "HTTP URL for CSV/JSON source", "type": "string" } }, "type": "object" }, "type": "array" } }, "required": [], "type": "object" }, "name": "query_data", "outputSchema": null }, { "description": "Walk the dependency graph of one persisted repository snapshot from optional file_path/symbol_name seeds and return impacted files and symbols with change-risk scores. Seed scope comes from snapshot_id or a triage workspace_evidence_bundle_ref — one of the two is required. direction inbound follows dependents, outbound follows dependencies, both (default) walks both. Use this before simulate_repository or apply_repository to size the blast radius of a change. Read-only against the repository; persists a lookup artifact. Returns seed files/symbols, direct dependencies and dependents, impacted files/symbols, graph nodes and edges, and top_change_risk_files.", "inputSchema": { "additionalProperties": false, "properties": { "direction": { "description": "Edge direction to walk: inbound = dependents, outbound = dependencies; defaults to both.", "enum": [ "inbound", "outbound", "both" ], "type": "string" }, "file_path": { "description": "Optional seed file to walk the graph from.", "type": "string" }, "max_depth": { "description": "Traversal depth from the seeds, 1-6; defaults to 2.", "maximum": 6, "minimum": 1, "type": "integer" }, "max_nodes": { "description": "Graph node cap, 1-1024; defaults to 128.", "maximum": 1024, "minimum": 1, "type": "integer" }, "repository_id": { "description": "Saved repository connector id from list_connectors.", "minLength": 1, "type": "string" }, "snapshot_id": { "description": "Snapshot id from create_repository_snapshot; required unless workspace_evidence_bundle_ref is given.", "minLength": 1, "type": "string" }, "symbol_name": { "description": "Optional seed symbol to walk the graph from.", "type": "string" }, "workspace_evidence_bundle_ref": { "description": "Triage bundle ref; alternative seed scope to snapshot_id.", "type": "string" } }, "required": [ "repository_id" ], "type": "object" }, "name": "query_repository_graph", "outputSchema": null }, { "description": "Execute a constrained read-only SQL rowset query over authorized datasets. Use this only for wide reports that do not fit the governed exact-query surface. SQL must be a single SELECT/WITH statement over the provided dataset aliases. Returns columns, rows, row_count, truncated, request_id, and latency_ms.", "inputSchema": { "properties": { "max_rows": { "description": "Optional row cap, up to the API maximum.", "type": "integer" }, "sources": { "description": "Authorized datasets made available to the SQL report.", "items": { "properties": { "alias": { "description": "Optional SQL table alias for this dataset.", "type": "string" }, "dataset_id": { "type": "string" } }, "required": [ "dataset_id" ], "type": "object" }, "minItems": 1, "type": "array" }, "sql": { "description": "Single read-only SELECT or WITH statement.", "type": "string" } }, "required": [ "sources", "sql" ], "type": "object" }, "name": "query_sql_report", "outputSchema": null }, { "description": "Compare multiple named actions/options and get a ranked recommendation. Use when you need to choose between two or more alternatives with uncertainty. Synchronous deterministic compute; nothing is persisted and no separate rate limit applies. Returns recommended_action, confidence, rationale, and the ranked action list with expected_value and score per action.", "inputSchema": { "additionalProperties": false, "properties": { "actions": { "description": "List of options to compare (minimum 2)", "items": { "properties": { "name": { "type": "string" }, "objective": { "default": "maximize", "type": "string" }, "variables": { "description": "Variable dict: {name: {low, high}}", "type": "object" } }, "required": [ "name", "variables" ], "type": "object" }, "minItems": 2, "type": "array" }, "n_simulations": { "default": 10000, "type": "integer" } }, "required": [ "actions" ], "type": "object" }, "name": "recommend", "outputSchema": null }, { "description": "Close the feedback loop: record what actually happened after a decision was made. Sets actual_outcome and computes outcome_delta = actual - expected. Over time this data measures prediction accuracy and reveals systematic biases. Recording updates the persisted decision record in place; repeat calls with the same value converge. Returns decision_id, chosen_action, expected_value, actual_outcome, outcome_delta, and a summary line.", "inputSchema": { "additionalProperties": false, "properties": { "actual_outcome": { "description": "The observed real-world outcome value.", "type": "number" }, "decision_id": { "description": "Decision ID from log_decision or list_decisions.", "type": "string" }, "outcome_notes": { "description": "Optional explanation of what happened and why.", "type": "string" } }, "required": [ "decision_id", "actual_outcome" ], "type": "object" }, "name": "record_outcome", "outputSchema": null }, { "description": "Issue a compatibility credit batch to a quota-governed managed runtime. This exists for non-Algenta managed plans; Algenta editions are unmetered and do not need execution credits. Requires an API-key identity (api_key_identity_required otherwise) and a registered device_id. credits_used reports consumption since the last refresh and defaults to 0. Returns credits_granted, credits_issued_this_month, monthly_limit (0 means unlimited), monthly_remaining, expires_at, refresh_after, and server_time.", "inputSchema": { "additionalProperties": false, "properties": { "billing_period": { "description": "Billing month in YYYY-MM form.", "pattern": "^\\d{4}-\\d{2}$", "type": "string" }, "credits_used": { "description": "Credits consumed since the last refresh; defaults to 0.", "minimum": 0, "type": "integer" }, "device_id": { "description": "Registered device id the credits are issued to.", "minLength": 1, "type": "string" } }, "required": [ "device_id", "billing_period" ], "type": "object" }, "name": "refresh_credits", "outputSchema": null }, { "description": "Re-pull a saved dataset from its original database, API, or object-store origin using the stored connection and selection, and return the same envelope as connect_data (status, schema_summary, refreshable). Only datasets created from a live connection can refresh — an inline upload fails with not_refreshable (check the refreshable flag in list_data first), and an unknown dataset_id fails with not_found.", "inputSchema": { "properties": { "dataset_id": { "description": "Dataset ID from connect_data or list_data.", "type": "string" } }, "required": [ "dataset_id" ], "type": "object" }, "name": "refresh_data", "outputSchema": null }, { "description": "Advanced tool. Register a data source and get full schema profiling + join detection. Profiles every column (type, cardinality, fill rate, distribution). Detects formula relationships (A×B≈C) within the source. Detects join keys to every already-registered source automatically. After registration the source is queryable by name via query_data. Safe to call multiple times — re-registration is a no-op if data is unchanged. Registration persists the source profile under the active API key's organization. Returns source_id and the profiled schema with columns, roles, formulas, and detected join keys.", "inputSchema": { "properties": { "description": { "description": "Optional human description of this source.", "type": "string" }, "source": { "description": "Data source definition. Provide exactly one of: records, csv, json_str, url.", "properties": { "connection": { "description": "Connector config for databases, S3, REST APIs. Example: {\"type\": \"sql\", \"connection_string\": \"postgresql://...\", \"query\": \"SELECT ...\"}", "type": "object" }, "csv": { "description": "Raw CSV text with header row.", "type": "string" }, "json_str": { "description": "Raw JSON array or object text.", "type": "string" }, "name": { "description": "Human-readable label for this source.", "type": "string" }, "records": { "description": "Inline JSON records (fastest).", "items": { "type": "object" }, "type": "array" }, "url": { "description": "HTTP(S) URL; format auto-detected.", "type": "string" } }, "required": [ "name" ], "type": "object" } }, "required": [ "source" ], "type": "object" }, "name": "register_source", "outputSchema": null }, { "description": "Register a real-time trigger that watches a data source for a threshold condition. When the condition is met, the engine auto-runs the simulation template and optionally fires a webhook. Examples: 'alert me when monthly revenue drops below $80k', 'simulate expansion if Downtown revenue exceeds $200k'. Use fire_trigger to test it immediately and delete_trigger to remove it. Returns trigger_id, name, status, condition, and created_at.", "inputSchema": { "properties": { "auto_execute": { "description": "When true, automatically dispatch the decision plan to execution_webhook_url after the trigger fires.", "type": "boolean" }, "condition": { "description": "Threshold condition to watch.", "properties": { "aggregation": { "description": "Aggregation to apply before comparing to threshold (default: sum).", "enum": [ "sum", "avg", "max", "min", "count" ], "type": "string" }, "direction": { "description": "'above' fires when metric > threshold; 'below' when < threshold; 'change' fires on any significant change.", "enum": [ "above", "below", "change" ], "type": "string" }, "metric_hint": { "description": "Column or metric name to evaluate (for example 'net_sales' or 'revenue').", "type": "string" }, "source_id": { "description": "Data source to watch.", "type": "string" }, "threshold": { "description": "Numeric threshold value.", "type": "number" } }, "required": [ "source_id", "metric_hint", "threshold", "direction" ], "type": "object" }, "description": { "description": "Human-readable description of what this trigger monitors.", "type": "string" }, "execution_webhook_url": { "description": "Optional HTTPS URL to POST the DecisionPlan execution payload to when auto_execute is enabled.", "type": "string" }, "name": { "description": "Human-readable trigger name.", "type": "string" }, "simulation_template": { "description": "SimulateRequest-compatible payload to run when trigger fires.", "type": "object" }, "webhook_url": { "description": "Optional HTTPS URL to POST results to when the trigger fires.", "type": "string" } }, "required": [ "name", "condition", "simulation_template" ], "type": "object" }, "name": "register_trigger", "outputSchema": null }, { "description": "Remove one member from the caller's organization by user_id (find ids with list_team_members). Requires an admin API key. The member is suspended immediately — their API keys stop authenticating at once — and removing the last active owner is refused (last_owner). Removing is idempotent: repeating the call on an already-removed or never-existing user_id returns success with already_absent: true instead of not_found. Returns removed: true with the removed user_id. Use update_team_member_role to change access without removing the member.", "inputSchema": { "additionalProperties": false, "properties": { "user_id": { "description": "Member's user_id from list_team_members.", "minLength": 1, "type": "string" } }, "required": [ "user_id" ], "type": "object" }, "name": "remove_team_member", "outputSchema": null }, { "description": "Rank caller-supplied document embeddings against a query embedding with a supported deterministic similarity metric (default embeddings.cosine_similarity), most relevant first. This tool does not embed text — call embeddings first to produce the query and document vectors. Every document embedding must share the query's dimension or the call fails with invalid_embedding_dimensions. Read-only and deterministic. Returns ranked items with rank (starting at 1) and score, plus total_documents and returned_documents counts.", "inputSchema": { "additionalProperties": false, "properties": { "documents": { "description": "Candidate documents to rank against the query vector.", "items": { "additionalProperties": false, "properties": { "embedding": { "description": "Document vector; length must equal query_embedding's.", "items": { "type": "number" }, "minItems": 1, "type": "array" }, "id": { "description": "Caller-assigned document identifier, echoed back.", "type": "string" }, "metadata": { "description": "Optional document metadata echoed back in the ranking.", "type": "object" }, "text": { "description": "Optional document text echoed back in the ranking.", "type": "string" } }, "required": [ "id", "embedding" ], "type": "object" }, "minItems": 1, "type": "array" }, "model": { "default": "embeddings.cosine_similarity", "description": "Similarity model id from list_models; selects the metric.", "type": "string" }, "query_embedding": { "description": "Query vector every document embedding is scored against.", "items": { "type": "number" }, "minItems": 1, "type": "array" }, "top_n": { "description": "Optional cap on how many top-ranked documents are returned; omit to return all documents ranked.", "minimum": 1, "type": "integer" } }, "required": [ "query_embedding", "documents" ], "type": "object" }, "name": "rerank", "outputSchema": null }, { "description": "Resolve a Hugging Face artifact path through the Algenta compatibility-ring artifact bridge. Defaults to cache-only lookup and never downloads unless local_files_only=false. Use this only for Hugging Face artifact paths; use list_models for the model catalog. Returns the resolution record: status, backend, artifact_backend, resolved_path, cache_root, revision, auth_env_var_used, and auth_configured.", "inputSchema": { "additionalProperties": false, "properties": { "filename": { "type": "string" }, "local_files_only": { "default": true, "type": "boolean" }, "repo_id": { "type": "string" }, "revision": { "type": "string" } }, "required": [ "repo_id", "filename" ], "type": "object" }, "name": "resolve_artifact_bridge", "outputSchema": null }, { "description": "Run the unified Algenta utility response surface: deterministic tokenization/embeddings, or (for provider-backed chat models) a chat response with optional function/tool calling. `input` accepts a plain string, a list of independent strings (each processed as its own single-turn request), or a typed OpenResponses-style input array (items shaped {type: message|function_call|function_call_output, ...}) processed as ONE multi-turn conversation. `previous_response_id` continues a prior typed-array conversation -- state is held in the Algenta server process's memory only, so it does not survive a process restart or a different worker/replica.", "inputSchema": { "additionalProperties": false, "properties": { "dimensions": { "default": 64, "description": "Embedding vector length when the selected model produces embeddings.", "maximum": 4096, "minimum": 1, "type": "integer" }, "input": { "description": "One string, a list of independent strings (each its own single-turn request), or a typed OpenResponses-style input array processed as one multi-turn conversation.", "oneOf": [ { "type": "string" }, { "items": { "type": "string" }, "type": "array" }, { "items": { "properties": { "type": { "enum": [ "message", "function_call", "function_call_output" ], "type": "string" } }, "required": [ "type" ], "type": "object" }, "type": "array" } ] }, "model": { "default": "text.tokenizer", "description": "Model id from list_models; selects the output item type.", "type": "string" }, "parallel_tool_calls": { "description": "Whether the model may emit multiple tool calls in parallel.", "type": "boolean" }, "previous_response_id": { "description": "Continues a prior typed-array conversation; state lives in the server process's memory only.", "type": "string" }, "tool_choice": { "description": "Controls whether the model calls a tool: auto, none, required, or a specific named function.", "oneOf": [ { "enum": [ "auto", "none", "required" ], "type": "string" }, { "properties": { "function": { "properties": { "name": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "type": { "enum": [ "function" ], "type": "string" } }, "required": [ "type", "function" ], "type": "object" } ] }, "tools": { "description": "Function tools the model may call during this response, in OpenResponses function-tool shape.", "items": { "properties": { "function": { "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "parameters": { "type": "object" } }, "required": [ "name" ], "type": "object" }, "type": { "enum": [ "function" ], "type": "string" } }, "required": [ "type", "function" ], "type": "object" }, "type": "array" } }, "required": [ "input" ], "type": "object" }, "name": "responses", "outputSchema": null }, { "description": "Resume a paused agent run by run_id. A run created with approval_mode=auto executes to completion synchronously and returns completed; a manual-mode run moves to requires_approval and still needs approve_agent_run. Resuming anything that is not paused fails with agent_run_invalid_state; an unknown run_id fails with agent_run_not_found. The transition is audit-logged and checkpointed. Returns the updated run resource.", "inputSchema": { "additionalProperties": false, "properties": { "run_id": { "description": "Paused run id from create_agent_run or list_agent_runs.", "type": "string" } }, "required": [ "run_id" ], "type": "object" }, "name": "resume_agent_run", "outputSchema": null }, { "description": "Re-trigger background semantic training for one dataset and return immediately with status and a confirmation message — the build runs asynchronously, so poll get_dataset_status until model_tier reaches 'schema'. Use after schema changes, alias updates, or to force a fresh model build. epochs (default 80, range 5-500) controls training length. An unknown dataset_id fails with not_found; a dataset whose training backend is unavailable fails with semantic_training_unavailable.", "inputSchema": { "properties": { "dataset_id": { "description": "Dataset ID from onboard_dataset or list_datasets.", "type": "string" }, "epochs": { "default": 80, "description": "Training epochs, 5-500; defaults to 80.", "type": "integer" } }, "required": [ "dataset_id" ], "type": "object" }, "name": "retrain_dataset", "outputSchema": null }, { "description": "Revoke one API key by id (find ids with list_api_keys). The key stops authenticating and the revocation cannot be undone from this tool. This is a credential revocation, not an idempotent delete: an unknown key_id — including an already-revoked one — fails with api_key_not_found (no silent no-op, so a mistyped id can never mask a live credential). Guardrails: revoking the organization's last active key is refused with cannot_revoke_last_key — create a replacement with create_api_key first. Returns key_id with revoked: true.", "inputSchema": { "additionalProperties": false, "properties": { "key_id": { "description": "API key id from list_api_keys.", "minLength": 1, "type": "string" } }, "required": [ "key_id" ], "type": "object" }, "name": "revoke_api_key", "outputSchema": null }, { "description": "Revoke one registered device by registration_id (find ids with list_devices), freeing one device slot. The device loses access on its next license refresh. This is a credential revocation, not an idempotent delete: an unknown registration_id — including an already-revoked one — fails with not_found (no silent no-op, so a mistyped id can never masquerade as a successful revocation). Returns revoked: true with the registration_id.", "inputSchema": { "additionalProperties": false, "properties": { "registration_id": { "description": "Device registration id from list_devices.", "minLength": 1, "type": "string" } }, "required": [ "registration_id" ], "type": "object" }, "name": "revoke_device", "outputSchema": null }, { "description": "Pick the best unified capability for a natural-language objective and return the route plan: the selected capability, binding, and kind, the authoritative execution_owner, whether approval is required, confidence and reason, plus ordered fallbacks (max_fallbacks, default 3). The optional filters narrow which catalog entries may be selected. Routing never executes anything — feed the selected_capability_id to execute_capability. Read-only.", "inputSchema": { "additionalProperties": false, "properties": { "artifact_affinities": { "description": "Prefer capabilities affine to these artifacts.", "items": { "type": "string" }, "type": "array" }, "binding_ids": { "description": "Restrict candidates to these bindings.", "items": { "type": "string" }, "type": "array" }, "execution_owners": { "description": "Restrict candidates to these execution owners.", "items": { "type": "string" }, "type": "array" }, "kinds": { "description": "Restrict candidates to these capability kinds.", "items": { "type": "string" }, "type": "array" }, "max_fallbacks": { "description": "How many fallback routes to return, 0-10; defaults to 3.", "maximum": 10, "minimum": 0, "type": "integer" }, "objective": { "description": "What you want to accomplish, in plain words.", "minLength": 1, "type": "string" }, "provider_ids": { "description": "Restrict candidates to these providers.", "items": { "type": "string" }, "type": "array" }, "tags": { "description": "Prefer capabilities carrying these tags.", "items": { "type": "string" }, "type": "array" } }, "required": [ "objective" ], "type": "object" }, "name": "route_capabilities", "outputSchema": null }, { "description": "Run the repository pipeline and then apply its result in one call, returning the canonical repository envelope for both stages. pipeline takes run_repository_pipeline's arguments and must complete through simulate (the call fails otherwise); apply takes apply_repository's arguments with mode defaulting to patch_only — the write modes still require the simulation gate to pass and write_permission=true. Use the separate stage tools when you need to review the plan or simulation before anything is written.", "inputSchema": { "additionalProperties": false, "properties": { "apply": { "description": "apply_repository arguments (branch, message, PR fields, write_permission); mode defaults to patch_only.", "type": "object" }, "pipeline": { "description": "run_repository_pipeline arguments; defaults to {}.", "type": "object" }, "repository_id": { "description": "Saved repository connector id from list_connectors.", "minLength": 1, "type": "string" } }, "required": [ "repository_id" ], "type": "object" }, "name": "run_repository_fix", "outputSchema": null }, { "description": "Run the whole repository-intelligence chain — snapshot, triage, plan, simulate — in one call and return the canonical repository envelope with every stage's response, stage timings, and the ids (snapshot_id, plan_id, simulation_id) the apply step needs. Pass snapshot_id to reuse an existing snapshot or snapshot to create one inline; stop_after halts the chain early (triage skips the LLM planner, plan also skips the deterministic simulate). Signals, triage bounds, model, runs, and seed mirror the standalone stage tools. Use the single-stage tools when you need to inspect or adjust between stages.", "inputSchema": { "additionalProperties": false, "properties": { "max_evidence_items": { "description": "Triage evidence item cap; defaults to 16.", "minimum": 1, "type": "integer" }, "max_snippet_lines": { "description": "Triage per-snippet line cap; defaults to 40.", "minimum": 5, "type": "integer" }, "model": { "description": "Optional planner model override for the plan stage.", "type": "string" }, "repository_id": { "description": "Saved repository connector id from list_connectors.", "minLength": 1, "type": "string" }, "runs": { "description": "Simulation scenario count; omit for the complexity-adaptive count.", "minimum": 100, "type": "integer" }, "seed": { "description": "Simulation seed; defaults to 42.", "minimum": 0, "type": "integer" }, "signals": { "description": "Triage evidence seeds (see triage_repository).", "type": "object" }, "snapshot": { "description": "Inline create_repository_snapshot arguments when no snapshot_id is given.", "type": "object" }, "snapshot_id": { "description": "Existing snapshot id to reuse.", "minLength": 1, "type": "string" }, "stop_after": { "description": "Stage to halt after; defaults to simulate (full chain).", "enum": [ "snapshot", "triage", "plan", "simulate" ], "type": "string" }, "token_budget": { "description": "Triage evidence token budget; defaults to 6000.", "minimum": 256, "type": "integer" } }, "required": [ "repository_id" ], "type": "object" }, "name": "run_repository_pipeline", "outputSchema": null }, { "description": "Run one simulation request (the same payload shape as simulate) and return the decision envelope fields plus a composite score with its breakdown. The score blends the normalized expected value and one minus the probability of loss; scoring_weights tunes the blend (expected_value default 0.6, downside_risk default 0.4). Use simulate when you need the full envelope without scoring, and compare to rank several scenarios. Synchronous deterministic compute; nothing is persisted. Returns recommended_action, expected_value, probability_of_loss, score, and score_breakdown.", "inputSchema": { "additionalProperties": false, "properties": { "request": { "description": "Simulation request forwarded to POST /v1/score.", "type": "object" }, "scoring_weights": { "description": "Optional expected_value/downside_risk weights.", "type": "object" } }, "required": [ "request" ], "type": "object" }, "name": "score", "outputSchema": null }, { "description": "Run a Monte Carlo simulation and get a structured decision recommendation. Use for: quantifying risk in a decision, comparing expected outcomes, getting probability-weighted recommendations. Synchronous deterministic compute governed by the plan's per-minute rate limit and monthly quota (429 on excess); the run is recorded asynchronously and appears in list_runs. Returns the decision envelope: recommended_action, expected_value, probability_of_loss, confidence, percentiles, and run metadata (run_id, execution_ms, scenarios_run).", "inputSchema": { "properties": { "mode": { "default": "auto", "description": "auto = minimal setup; expert = full distribution control", "enum": [ "auto", "expert" ], "type": "string" }, "n_simulations": { "default": 10000, "description": "Monte Carlo iteration count. Auto mode accepts 100–100,000; expert mode accepts 100–1,000,000.", "type": "integer" }, "objective": { "default": "maximize_net_value", "description": "Auto-mode objective. For expert mode, use objective_function.", "enum": [ "maximize_net_value", "maximize_revenue", "minimize_cost", "minimize_risk", "maximize_score" ], "type": "string" }, "objective_function": { "description": "Expert-mode expression, for example 'revenue - cost'. Required when mode='expert'.", "type": "string" }, "variables": { "description": "Input variables as triangular distributions (low, most-likely, high)", "items": { "properties": { "high": { "type": "number" }, "low": { "type": "number" }, "mode": { "type": "number" }, "name": { "type": "string" } }, "required": [ "name", "low", "high" ], "type": "object" }, "type": "array" } }, "required": [ "variables" ], "type": "object" }, "name": "simulate", "outputSchema": null }, { "description": "Score the patch risk of a stored repository DecisionPlan with the deterministic simulation engine and return the gated DecisionEnvelope whose apply gate apply_repository checks. snapshot_id is resolved from the plan when omitted. runs pins the scenario count (100 or more; omit for the complexity-adaptive count) and seed (default 42) makes repeated calls reproducible — no LLM is involved in this stage. Call create_repository_decision_plan first; use simulate_repository_patch instead for a patch that has no stored plan.", "inputSchema": { "additionalProperties": false, "properties": { "decision_plan_id": { "description": "Plan id from create_repository_decision_plan.", "minLength": 1, "type": "string" }, "repository_id": { "description": "Saved repository connector id from list_connectors.", "minLength": 1, "type": "string" }, "runs": { "description": "Scenario count, 100-250000; omit for the complexity-adaptive count.", "minimum": 100, "type": "integer" }, "seed": { "description": "Simulation seed for reproducible results; defaults to 42.", "minimum": 0, "type": "integer" }, "snapshot_id": { "description": "Snapshot id; resolved from the decision plan when omitted.", "minLength": 1, "type": "string" } }, "required": [ "repository_id", "decision_plan_id" ], "type": "object" }, "name": "simulate_repository", "outputSchema": null }, { "description": "Simulate the risk of an in-flight unified diff against one persisted snapshot and return the canonical repository envelope — without creating a stored decision plan. Use this to verify a working-tree patch mid-run; use simulate_repository when a stored DecisionPlan already exists. Deterministic; no LLM is involved. Returns the gated DecisionEnvelope including the apply gate verdict.", "inputSchema": { "additionalProperties": false, "properties": { "confidence": { "description": "Optional caller confidence recorded with the simulation.", "maximum": 1, "minimum": 0, "type": "number" }, "patch_diff": { "description": "Unified diff of the in-flight patch to evaluate.", "minLength": 1, "type": "string" }, "repository_id": { "description": "Saved repository connector id from list_connectors.", "minLength": 1, "type": "string" }, "snapshot_id": { "description": "Snapshot id from create_repository_snapshot.", "minLength": 1, "type": "string" } }, "required": [ "repository_id", "snapshot_id", "patch_diff" ], "type": "object" }, "name": "simulate_repository_patch", "outputSchema": null }, { "description": "Submit a long-running async simulation job. Use for n_simulations > 500,000 or when you need a callback. Returns a job_id — poll with get_job_status. Submitting persists the job under the active API key's organization; when callback_url is set, completion is delivered to it by outbound webhook.", "inputSchema": { "properties": { "callback_url": { "description": "Webhook URL for completion notification", "type": "string" }, "n_simulations": { "default": 1000000, "type": "integer" }, "objective": { "default": "maximize", "type": "string" }, "variables": { "items": { "type": "object" }, "type": "array" } }, "required": [ "variables" ], "type": "object" }, "name": "submit_job", "outputSchema": null }, { "description": "Run a health test on one capability binding and return the outcome. Pass binding_id to test a saved binding, or a full inline definition (provider_id, profile_id, config, ...) to preview-test one that was never saved — nothing is persisted in the preview form. Use this after create_capability_binding or update, before routing traffic to the binding.", "inputSchema": { "additionalProperties": false, "properties": { "binding_id": { "description": "Saved binding id to test; omit to preview-test inline.", "minLength": 1, "type": "string" }, "config": { "description": "Credentials/options for the inline preview form.", "type": "object" }, "customer_metadata": { "description": "Metadata for the inline preview form.", "type": "object" }, "execution_owner": { "description": "Execution owner for the inline preview form.", "enum": [ "algenta_managed", "client_managed" ], "type": "string" }, "profile_id": { "description": "Profile id for the inline preview form.", "minLength": 1, "type": "string" }, "provider_id": { "description": "Provider id for the inline preview form.", "minLength": 1, "type": "string" }, "scope": { "description": "Scope for the inline preview form.", "enum": [ "user", "workspace", "organization" ], "type": "string" }, "scope_ref": { "description": "Scope reference for the inline preview form.", "type": "string" } }, "type": "object" }, "name": "test_capability_binding", "outputSchema": null }, { "description": "Run a real connectivity test against one saved connector's stored config and persist the outcome as its live or error status with last_tested_at. This opens an actual connection to the source. Use preview_test_connector for an unsaved inline definition, and browse_connector once the connector is live. Returns success, message, latency_ms, status, error_type, and recoverable.", "inputSchema": { "additionalProperties": false, "properties": { "connector_id": { "description": "Saved connector id from list_connectors.", "minLength": 1, "type": "string" } }, "required": [ "connector_id" ], "type": "object" }, "name": "test_connector", "outputSchema": null }, { "description": "Send one real test webhook payload (event webhook.test with a sample message) to a callback URL and return the delivery result. This makes an actual outbound HTTP POST from the Algenta API to the given URL, with no retries. Use it to verify a receiver before wiring callback_url into submit_job or register_trigger. Returns success, the receiver's HTTP status_code, and a message.", "inputSchema": { "properties": { "callback_url": { "description": "URL that should receive the test webhook payload.", "type": "string" } }, "required": [ "callback_url" ], "type": "object" }, "name": "test_webhook_delivery", "outputSchema": null }, { "description": "Tokenize UTF-8 text into individual tokens with a supported deterministic Algenta tokenizer model (default text.tokenizer; call list_models for every supported model id). Use this when you need the token strings themselves; call count_tokens when you only need the number. Read-only and deterministic: the same input and model always return the same tokens, and nothing is stored. Returns the resolved model id, its tokenizer_kind, the tokens array, and token_count. An unsupported model id fails with model_not_supported.", "inputSchema": { "additionalProperties": false, "properties": { "input": { "description": "UTF-8 text to tokenize.", "type": "string" }, "model": { "default": "text.tokenizer", "description": "Tokenizer model id from list_models.", "type": "string" } }, "required": [ "input" ], "type": "object" }, "name": "tokenize", "outputSchema": null }, { "description": "Condense one repository snapshot into a bounded workspace evidence bundle for the planner: ranked suspect files and symbols with scored, budget-capped snippets. signals seeds the search — pass issue_text, diagnostics, failing_tests, changed_files, and/or workspace_context. The returned workspace_evidence_bundle_ref is the required input to create_repository_decision_plan; use run_repository_pipeline to chain both stages in one call. Read-only against the repository; persists the bundle artifact. Returns suspect_files, suspect_symbols, evidence_items, and token reduction stats.", "inputSchema": { "additionalProperties": false, "properties": { "max_evidence_items": { "description": "Evidence item cap, 1-64; defaults to 16.", "minimum": 1, "type": "integer" }, "max_snippet_lines": { "description": "Per-snippet line cap, 5-200; defaults to 40.", "minimum": 5, "type": "integer" }, "repository_id": { "description": "Saved repository connector id from list_connectors.", "minLength": 1, "type": "string" }, "signals": { "description": "Evidence seeds: issue_text, diagnostics, failing_tests, changed_files, workspace_context.", "type": "object" }, "snapshot_id": { "description": "Snapshot id from create_repository_snapshot.", "minLength": 1, "type": "string" }, "token_budget": { "description": "Total evidence token budget, 256-32000; defaults to 6000.", "minimum": 256, "type": "integer" } }, "required": [ "repository_id", "snapshot_id", "signals" ], "type": "object" }, "name": "triage_repository", "outputSchema": null }, { "description": "Partially update one saved connector: only the supplied fields change. Passing a new config replaces the encrypted credentials and resets the connector to untested, so call test_connector again afterwards. Requires manage permission on the connector (access_scope_denied otherwise) and at least one field; an unknown id fails with not_found. Returns the updated connector. Use preview_test_connector to validate a new config before applying it here.", "inputSchema": { "additionalProperties": false, "properties": { "config": { "description": "Replacement connection config; resets health status to untested.", "type": "object" }, "connector_id": { "description": "Saved connector id from list_connectors.", "minLength": 1, "type": "string" }, "description": { "description": "New description note.", "type": "string" }, "name": { "description": "New human-readable name.", "minLength": 1, "type": "string" }, "visibility": { "description": "New visibility.", "enum": [ "private", "organization", "public" ], "type": "string" } }, "required": [ "connector_id" ], "type": "object" }, "name": "update_connector", "outputSchema": null }, { "description": "Partially update the organization's autonomous execution policy: only the fields supplied change, the rest keep their values. min_confidence blocks decisions below that confidence, risk_floor blocks decisions whose worst-case (p5) loss exceeds it, require_calibration makes auto-execution wait for enough recorded outcomes, and allow_reexecution is the idempotency gate. Changes take effect immediately, are recorded in the audit log, and write a new policy snapshot (see list_execution_policy_snapshots). Read the current values first with get_execution_policy. Returns the full updated policy.", "inputSchema": { "additionalProperties": false, "properties": { "allow_reexecution": { "description": "Idempotency gate preventing double-actions.", "type": "boolean" }, "min_confidence": { "description": "Block executions whose confidence is below this, 0-1.", "maximum": 1, "minimum": 0, "type": "number" }, "require_calibration": { "description": "Require recorded outcomes before auto-execution.", "type": "boolean" }, "risk_floor": { "description": "Block executions whose worst-case (p5) loss exceeds this.", "minimum": 0, "type": "number" } }, "type": "object" }, "name": "update_execution_policy", "outputSchema": null }, { "description": "Update the current user's name and/or the organization name for the active API key; only the supplied fields change. Renaming the organization requires an admin or owner key (access_scope_denied otherwise), and the key must be linked to a user (user_not_found for service keys). At least one of name or org_name is required. Returns the updated identity; read it first with get_me.", "inputSchema": { "additionalProperties": false, "properties": { "name": { "description": "New display name for the calling user.", "minLength": 1, "type": "string" }, "org_name": { "description": "New organization name; requires admin or owner role.", "minLength": 1, "type": "string" } }, "type": "object" }, "name": "update_me", "outputSchema": null }, { "description": "Change one organization member's role by user_id (find ids with list_team_members). Requires an admin API key. Guardrails: you cannot change your own role (self_role_change_forbidden), only an owner can grant the owner role (owner_grant_forbidden), and demoting the last active owner is refused (last_owner). An unknown user_id fails with not_found. Returns the updated user_id and a confirmation message. Use remove_team_member to take the member out of the organization instead.", "inputSchema": { "additionalProperties": false, "properties": { "role": { "description": "New org role for the member.", "enum": [ "owner", "admin", "member", "viewer" ], "type": "string" }, "user_id": { "description": "Target member's user_id from list_team_members.", "minLength": 1, "type": "string" } }, "required": [ "user_id", "role" ], "type": "object" }, "name": "update_team_member_role", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:8697546b54d53911aece0652da3dbcce1ab0971b978195b46c105cd66383aacb | sha256sum