@aionis/sdk
v0.2.21
Published
TypeScript SDK for Aionis Memory Graph API
Maintainers
Readme
@aionis/sdk
TypeScript SDK for Aionis Memory Graph API.
Install
npm i @aionis/[email protected]The package also exposes the local developer CLI:
npx @aionis/[email protected] --helpIf you do not have a local Aionis repository, aionis dev can now bootstrap Lite by:
- checking the local runtime cache
- trying a versioned runtime bundle
- falling back to a GitHub source archive bootstrap path
Usage
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);For Aionis Doc continuity and resume flows, the SDK also exposes a high-level helper:
const resumed = await client.docResume({
recover_result,
candidates: ["resume_patch", "request_review"],
feedback_outcome: "positive",
});
console.log(resumed.resume_summary.resume_state);
console.log(resumed.resume_summary.lifecycle_transition);If you only have a handoff anchor or recover request, use the wrapped flow:
const resumed = await client.docRecoverAndResume({
recover_request: { anchor: "aionis-doc:workflow-001", scope: "default" },
input_kind: "handoff-store-request",
candidates: ["resume_patch", "request_review"],
});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
writerecallrecallTextcontextAssembleplanningContextfindlistSessionscreateSessionwriteEventlistSessionEventspackExportpackImportarchiveRehydratenodesActivatehandoffStorehandoffRecoversandboxCreateSessionsandboxExecutesandboxRunGetsandboxRunLogssandboxRunArtifactsandboxRunCancelrulesEvaluaterulesStatetoolsSelecttoolsDecisiontoolsRuntoolsFeedbackfeedbackreplayRunStartreplayStepBeforereplayStepAfterreplayRunEndreplayRunGetreplayPlaybookCompileFromRunreplayPlaybookGetreplayPlaybookCandidatereplayPlaybookPromotereplayPlaybookRepairreplayPlaybookRepairReviewreplayPlaybookRunreplayPlaybookDispatchautomationCreateautomationGetautomationListautomationTelemetryautomationAssignReviewerautomationPromoteautomationValidateautomationGraphValidateautomationShadowReportautomationShadowReviewautomationShadowValidateautomationShadowValidateDispatchautomationCompensationPolicyMatrixautomationRunautomationRunGetautomationRunListautomationRunAssignReviewerautomationRunCancelautomationRunApproveRepairautomationRunCompensationRetryautomationRunCompensationAssignautomationRunCompensationRecordActionautomationRunResumeautomationRunRejectRepairdocRecoverdocResumedocRecoverAndResumehealthgetCapabilityContract
CLI Commands
The bundled Phase 1 developer CLI supports:
aionis devaionis stopaionis healthaionis doctoraionis selfcheck
Useful aionis dev flags:
--runtime-root /path/to/Aionis--runtime-version 0.2.21--runtime-cache-dir ~/.aionis/runtime--force-download--offline
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