Genetic tag: repo.platform.sdk.ai_surface.gen1
RU: AGENTS_ru.md · Doc hub: docs/DOC_HUB.md · Glossary: docs/GLOSSARY.md
North star: fast, low-error construction of apps and sites on AgentStack via typed SDK + self-description.
import { AgentStackSDK, resolveAgentStackApiBase } from '@agentstack/sdk';
const sdk = new AgentStackSDK({ apiBase: resolveAgentStackApiBase() });
// 1) Discover surfaces (read before calling APIs)
const catalog = sdk.getModuleCatalog();
const matrix = sdk.getCapabilityMatrix();
// 2) Auth
await sdk.platform.auth.login({
email: process.env.AGENTSTACK_EMAIL!,
password: process.env.AGENTSTACK_PASSWORD!,
});
// 3) First REST call
const projects = await sdk.platform.api.getProjects();
// Project scope (X-Project-ID) — set projectId in config, after login, or updateProjectId:
sdk.updateProjectId(42);Project context: docs/PROJECT_CONTEXT.md · sdk.getProjectId() · assertProjectIdConfigured(sdk)
How to install SDK (npm / submodule / monorepo): docs/SDK_INTEGRATION_FLOWS.md · RU: SDK_INTEGRATION_FLOWS_ru.md
Production API base: https://agentstack.tech/api (default via resolveAgentStackApiBase()).
Local Core: AGENTSTACK_API_BASE=http://localhost:8000/api
Vite apps: VITE_API_BASE_URL=https://agentstack.tech/api
| Step | API | When |
|---|---|---|
| Discover | sdk.getModuleCatalog() |
Pick module id, accessPaths, aiHints, examples |
| Gate | sdk.getCapabilityMatrix() |
Skip disabled domain modules |
| Validate | validateAppManifest(), assertIntegratorModule(), parseTaskManifest() |
Before writes |
| Execute | sdk.platform.*, sdk.protocol.* |
REST + commands + snapshots |
| Deploy site | sdk.hosting.quickStart() |
Static HTML hosting |
Full recipes: docs/AI_APPLICATION_FACTORY.md
- CRUD / projects / users →
sdk.platform.apiorsdk.platform.dna - DNA command bus →
sdk.platform.protocol.executeCommand(not raw/commandsfetch; prefer protocol over legacysdk.protein.*for new code — docs/PROTEIN_SYSTEM_GUIDE.md) - Rules engine →
sdk.platform.commandorprotocol.executeRulesCommand - Cached read model →
sdk.platform.protocol.readThroughSnapshot - MCP automation →
https://agentstack.tech/mcp(agentstack.execute) — mirror of platform actions - Tenant apps → never
sdk.admin/sdk.platform.adminData(docs/INTEGRATOR_SCOPE.md)
| Tag | Doc / code |
|---|---|
repo.platform.sdk.gen1 |
AI_INDEX.md |
repo.platform.sdk.agent_protocol.gen1 |
../docs/AGENT_PROTOCOL_QUICKSTART.md |
repo.platform.sdk.ai_surface.gen1 |
../docs/SDK_AI_SURFACE.md |
repo.platform.app_manifest.gen1 |
@agentstack/sdk/manifest · appManifestSchema |
sdk.capability_tasks.gen1 |
@agentstack/sdk/capability-tasks |
sdk.hosting.gen2 |
sdk.hosting.quickStart |
sdk.commerce.facade.gen1 |
sdk.commerce · @agentstack/sdk/commerce/* |
- Do not use
fetch('/api/...')whensdk.platformorsdk.protocolexists. - Do not treat
sdk.protocol.searchSnapshotsas server full-text search (cache scan only). - Do not call
sdk.projects.get(uuid)—projectsis 8DNADNATableWrapper; usesdk.platform.api.getProject(id). - Do not use
sdk.adminorsdk.platform.adminDatain tenant integrations (sdkAudiencedefaults tointegrator). - Check
getCapabilityMatrix()before calling optional domains (payments,gameData, …).
- Swagger: https://agentstack.tech/swagger
- MCP: https://agentstack.tech/mcp
- Modular architecture: docs/MODULAR_ARCHITECTURE.md
- Protein / protocol: docs/PROTEIN_SYSTEM_GUIDE.md
- Module catalog: docs/SDK_MODULE_CATALOG.md
- Integrator scope (no admin): docs/INTEGRATOR_SCOPE.md
- Submodule vendor: docs/SUBMODULE_CONSUMER.md
- Integrator guide: docs/AI_INTEGRATOR_GUIDE.md
- Errors: docs/AI_ERROR_ACTION_MATRIX.md