@aionis/sdk
v0.2.17
Published
TypeScript SDK for Aionis Memory Graph API
Maintainers
Readme
@aionis/sdk
TypeScript SDK for Aionis Memory Graph API.
Install
npm i @aionis/sdkUsage
import { AionisClient } from "@aionis/sdk";
const client = new AionisClient({
base_url: "http://localhost:3001",
timeout_ms: 10000,
retry: { max_retries: 2 },
api_key: process.env.API_KEY, // optional: X-Api-Key
auth_bearer: process.env.AUTH_BEARER, // optional: Authorization: Bearer <token>
admin_token: process.env.ADMIN_TOKEN, // optional: X-Admin-Token (debug/admin routes)
});
const out = await client.write({
scope: "default",
input_text: "sdk write",
auto_embed: false,
nodes: [{ client_id: "sdk_evt_1", type: "event", text_summary: "hello sdk" }],
edges: [],
});
console.log(out.status, out.request_id, out.data.commit_id);Auth Options
api_key: sendsX-Api-Key.auth_bearer: sendsAuthorization: Bearer <token>.admin_token: sendsX-Admin-Token(mainly for debug/admin flows).
If you set custom headers manually, the SDK will not override existing auth headers.
Covered methods
writerecallrecallTextcontextAssembleplanningContextfindcreateSessionwriteEventlistSessionEventspackExportpackImportarchiveRehydratenodesActivatesandboxCreateSessionsandboxExecutesandboxRunGetsandboxRunLogssandboxRunArtifactsandboxRunCancelrulesEvaluaterulesStatetoolsSelecttoolsDecisiontoolsRuntoolsFeedbackfeedbackreplayRunStartreplayStepBeforereplayStepAfterreplayRunEndreplayRunGetreplayPlaybookCompileFromRunreplayPlaybookGetreplayPlaybookPromotereplayPlaybookRepairreplayPlaybookRepairReviewreplayPlaybookRunhealthgetCapabilityContract
Admin/control methods (require admin_token):
controlUpsertTenant,controlListTenants,controlUpsertProjectcontrolCreateApiKey,controlListApiKeys,controlListStaleApiKeys,controlRevokeApiKey,controlRotateApiKeycontrolCreateAlertRoute,controlListAlertRoutes,controlUpdateAlertRouteStatus,controlListAlertDeliveriescontrolEnqueueIncidentPublishJob,controlListIncidentPublishJobs,controlReplayIncidentPublishJobscontrolUpsertTenantQuota,controlGetTenantQuota,controlDeleteTenantQuotacontrolUpsertSandboxBudget,controlGetSandboxBudget,controlDeleteSandboxBudget,controlListSandboxBudgetscontrolListAuditEvents,controlGetTenantDashboard,controlGetTenantDiagnosticscontrolGetTenantIncidentPublishRollup,controlGetTenantIncidentPublishSlo,controlGetTenantTimeseries,controlGetTenantKeyUsage
Error model
AionisApiError: API returned non-2xx response.AionisNetworkError: request timeout/network failure.
Capability-aware helpers:
isBackendCapabilityUnsupportedError(err)parseBackendCapabilityErrorDetails(err.details)isShadowDualWriteStrictFailureError(err)parseShadowDualWriteStrictFailureDetails(err.details)
Example:
import { AionisApiError, isBackendCapabilityUnsupportedError } from "@aionis/sdk";
try {
await client.packExport({ scope: "default" });
} catch (err) {
if (isBackendCapabilityUnsupportedError(err)) {
// err.details now carries capability contract fields
console.log(err.details.capability, err.details.failure_mode, err.details.degraded_mode);
} else if (err instanceof AionisApiError) {
console.error(err.code, err.message);
}
}Smoke
set -a; source .env; set +a
npm run sdk:smokeBuild (repo local)
npm run sdk:build
npm run sdk:pack-dry-run
npm run sdk:release-check