@openagentid/sdk-testing
API contract shipped by @openagentid/sdk-testing 0.1.1. Exact exports, signatures, dependencies and availability.
All packages · Runnable examples · Start an agent
| Contract | Value |
|---|---|
| Package | @openagentid/sdk-testing@0.1.1 |
| Entry point | @openagentid/sdk-testing |
| Availability | Test utilities only |
| Reference source | Published TypeScript declarations |
Before integrating
Fabricates identities and accepts stub tokens. Never use as a real signer or verifier.
Declares a required peer on @openagentid/sdk ^0.1.0, which excludes SDK 0.7.2.
This reference is generated from the integrity-verified npm archive for this exact version. Signatures describe the public contract; they are not standalone programs. Complete examples are checked separately.
Import conditions
Use the public entry point above. The package resolves it to these shipped files; do not import its internal files directly.
| Condition | Published file |
|---|---|
| types | ./dist/index.d.ts |
| import | ./dist/index.js |
Exports
createTestingConfig
An {@link OpenAgentConfig} with all three in-memory backends wired in.
The production SDK requires real protocol clients and fails closed when one is missing; tests opt into the fakes explicitly through this helper.
declare function createTestingConfig(overrides?: Partial<OpenAgentConfig>): OpenAgentConfig;Source: @openagentid/sdk-testing@0.1.1, dist/index.d.ts:73.
stubArsenalClient
In-memory Arsenal client for tests. Echoes a deterministic proxy URL per provider without minting any credential.
declare function stubArsenalClient(): ArsenalClient;Source: @openagentid/sdk-testing@0.1.1, dist/index.d.ts:46.
StubIdentityProvider
In-memory identity provider for tests.
Generates deterministic-looking DIDs and public keys. NOT cryptographically
sound for production - signChallenge returns a tagged base64 blob, not an
Ed25519 signature.
declare class StubIdentityProvider implements IdentityProvider {
constructor(namespace?: string);
createAgentIdentity(input: CreateAgentInput): Promise<IdentityDocument>;
resolve(did: Did): Promise<IdentityDocument>;
signChallenge(did: Did, challenge: Uint8Array): Promise<SignedAssertion>;
publicKey(did: Did): Promise<string>;
}Source: @openagentid/sdk-testing@0.1.1, dist/index.d.ts:33.
StubVerificationClient
In-memory verification client for tests.
Accepts any request carrying Authorization: OpenAgent stub:<did> or
Authorization: Bearer stub:<did> and returns a synthetic
{@link AuthContext}. NOT a real verifier: any well-formed stub token passes.
declare class StubVerificationClient implements VerificationClient {
verifyRequest(req: Request, options?: VerifyRequestOptions): Promise<AuthContext>;
issueChallenge(): Promise<{
challenge: Uint8Array;
challengeId: string;
}>;
verifyChallengeResponse(params: {
challengeId: string;
agentDid: Did;
signatureBase64: string;
}): Promise<AuthContext>;
}Source: @openagentid/sdk-testing@0.1.1, dist/index.d.ts:54.
Supporting declarations
These package-owned declarations are referenced by the exports above. Their presence here does not make them importable from this entry point. Import only the names in Exports.
ArsenalClient
Arsenal broker client facade. The real client lives in @openagentid/arsenal-sdk
and is injected by the application; see INTEGRATION_NOTES.md.
Type-only declaration; it is not a runtime value.
interface ArsenalClient {
requestCredential(params: {
agentDid: Did;
provider: string;
scopes?: readonly string[];
}): Promise<IssuedCredential>;
release?(credentialProxyUrl: string): Promise<void>;
}Source: @openagentid/sdk@0.7.2, dist/credentials.d.ts:51.
AuthContext
A resolved, authenticated caller identity.
Type-only declaration; it is not a runtime value.
interface AuthContext {
readonly did: Did;
readonly root: Did;
readonly lineage: readonly Did[];
readonly lineageAuthority?: LineageAuthorityContext;
readonly scopes: readonly string[];
readonly expiresAt: number;
readonly presentedToken?: string;
readonly claims?: Readonly<Record<string, unknown>>;
}Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:44.
AvatarExpression
Type-only declaration; it is not a runtime value.
type AvatarExpression = typeof CHARACTER_EXPRESSIONS[number];Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:3.
CHARACTER_EXPRESSIONS
Portable presentation state. Status never grants identity or application authority.
declare const CHARACTER_EXPRESSIONS: readonly [
"neutral",
"attentive",
"surprised",
"excited",
"happy",
"laughing",
"angry",
"sad",
"scared",
"suspicious",
"confused",
"curious",
"proud",
"shy",
"unimpressed",
"sleepy",
"thoughtful",
"concerned"
];Source: @openagentid/sdk@0.7.2, dist/character-state.d.ts:2.
CharacterAccessory
Independent, package-owned wearables in the shared face coordinate space.
Type-only declaration; it is not a runtime value.
type CharacterAccessory = 'glasses' | 'headphones';Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:6.
CharacterAppearance
Type-only declaration; it is not a runtime value.
interface CharacterAppearance {
readonly skin: CharacterSkin;
readonly skinVersion?: 1;
readonly eyeStyle?: CharacterEyeStyle;
readonly finish?: CharacterFinish;
readonly eyePlacement?: CharacterEyePlacement;
readonly shape?: CharacterShape;
readonly accessories?: readonly CharacterAccessory[];
}Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:29.
CharacterEyePlacement
Type-only declaration; it is not a runtime value.
type CharacterEyePlacement = 'face' | 'raised';Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:27.
CharacterEyeStyle
Type-only declaration; it is not a runtime value.
type CharacterEyeStyle = 'live-v1';Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:26.
CharacterFinish
One self-contained material for every package-owned silhouette.
Type-only declaration; it is not a runtime value.
type CharacterFinish = 'plush' | 'flat';Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:19.
CharacterShape
Type-only declaration; it is not a runtime value.
type CharacterShape = 'standard' | 'slender' | 'wide' | 'circle' | 'pebble' | 'squircle' | 'capsule' | 'triangle' | 'hexagon' | 'cloud' | 'droplet' | 'kite' | 'fan' | 'bud' | 'leaf' | 'drop' | 'wave' | 'comet' | 'satellite' | 'mitt' | 'hood' | 'crystal' | 'obelisk' | 'spring' | 'bellows' | 'vase' | 'teapot' | 'flame' | 'curl' | 'radio' | 'beacon' | 'tower' | 'arch' | 'pom' | 'bear' | 'pumpkin' | 'ghost' | 'bat' | 'witch-hat' | 'candy-corn' | 'turkey' | 'acorn' | 'squash' | 'pie' | 'corn' | 'light' | 'tree' | 'snowman' | 'ornament' | 'gift';Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:28.
CharacterSkin
Type-only declaration; it is not a runtime value.
type CharacterSkin = 'autos' | 'spacex' | 'fold' | 'sprig' | 'ripple' | 'halo' | 'purl' | 'prism' | 'coil' | 'kiln' | 'wisp' | 'relay' | 'cairn' | 'tuft' | 'halloween' | 'thanksgiving' | 'christmas';Source: @openagentid/sdk@0.7.2, dist/characters.d.ts:24.
CreateAgentInput
Type-only declaration; it is not a runtime value.
type CreateAgentInput = z.infer<typeof createAgentInputSchema>;Source: @openagentid/sdk@0.7.2, dist/config.d.ts:56.
createAgentInputSchema
Parameters accepted by {@link OpenAgent.createAgent }.
declare const createAgentInputSchema: z.ZodObject<{
parent: z.ZodEffects<z.ZodString, string, string>;
name: z.ZodString;
scopes: z.ZodArray<z.ZodString, "many">;
namespace: z.ZodOptional<z.ZodString>;
skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
}, "strict", z.ZodTypeAny, {
parent: string;
name: string;
scopes: string[];
namespace?: string | undefined;
skills?: string[] | undefined;
metadata?: Record<string, unknown> | undefined;
}, {
parent: string;
name: string;
scopes: string[];
namespace?: string | undefined;
skills?: string[] | undefined;
metadata?: Record<string, unknown> | undefined;
}>;Source: @openagentid/sdk@0.7.2, dist/config.d.ts:28.
Did
Fully qualified did:oas identifier.
Type-only declaration; it is not a runtime value.
type Did = string;Source: @openagentid/sdk@0.7.2, dist/identity.d.ts:7.
IdentityDocument
OAS identity document fragment — minimum fields needed by the SDK.
Type-only declaration; it is not a runtime value.
interface IdentityDocument {
did: Did;
parent: Did;
publicKeyMultibase: string;
kind: string;
scopes: readonly string[];
createdAt: string;
avatarOverride?: string | null;
avatarSkin?: CharacterAppearance | null;
avatarExpression?: AvatarExpression;
metadata?: Record<string, unknown>;
}Source: @openagentid/sdk@0.7.2, dist/identity.d.ts:9.
IdentityProvider
The OAS identity facade. Concrete providers come from @openagentid/oas-sdk
(production) or from {@link StubIdentityProvider } (test / offline dev).
Type-only declaration; it is not a runtime value.
interface IdentityProvider {
createAgentIdentity(input: CreateAgentInput): Promise<IdentityDocument>;
resolve(did: Did): Promise<IdentityDocument>;
signChallenge(did: Did, challenge: Uint8Array): Promise<SignedAssertion>;
publicKey(did: Did): Promise<string>;
}Source: @openagentid/sdk@0.7.2, dist/identity.d.ts:48.
IssuedCredential
A short-lived credential minted by the Arsenal broker.
Type-only declaration; it is not a runtime value.
interface IssuedCredential {
provider: string;
proxyUrl: string;
expiresAt: number;
remainingCalls?: number;
metadata?: Record<string, unknown>;
}Source: @openagentid/sdk@0.7.2, dist/credentials.d.ts:32.
LineageAuthorityContext
Sigil-backed lineage authority attached by an OAS verifier.
Type-only declaration; it is not a runtime value.
interface LineageAuthorityContext {
readonly subject: Did;
readonly source: string;
readonly root: Did;
readonly path: readonly Did[];
readonly finalizedBlock: number;
readonly pathKind: string;
readonly scopes: readonly string[];
readonly generation: number;
readonly rootKind?: string;
readonly orgRootCommitment?: string;
readonly expiresAt?: string;
}Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:19.
Logger
Logger interface — structured, dependency-free.
Type-only declaration; it is not a runtime value.
interface Logger {
debug(msg: string, fields?: Record<string, unknown>): void;
info(msg: string, fields?: Record<string, unknown>): void;
warn(msg: string, fields?: Record<string, unknown>): void;
error(msg: string, fields?: Record<string, unknown>): void;
}Source: @openagentid/sdk@0.7.2, dist/config.d.ts:58.
OpenAgentClients
Forward-declared clients for the three wrapped subsystems.
Concrete interfaces live in the per-module files so that this config file does not depend on internal implementation details.
Type-only declaration; it is not a runtime value.
interface OpenAgentClients {
readonly identity?: unknown;
readonly credentials?: unknown;
readonly verification?: unknown;
}Source: @openagentid/sdk@0.7.2, dist/config.d.ts:72.
OpenAgentConfig
Global SDK configuration.
All fields are optional at construction. Identity, credentials and request
verification each require their configured client when used. For a complete
file-backed Node identity authority, use the separate SDK ./local export.
Type-only declaration; it is not a runtime value.
interface OpenAgentConfig {
namespace?: string;
endpoints?: {
oasResolver?: string;
arsenalBroker?: string;
aegisVerifier?: string;
};
fetch?: typeof fetch;
logger?: Logger;
requestTimeoutMs?: number;
clients?: OpenAgentClients;
}Source: @openagentid/sdk@0.7.2, dist/config.d.ts:84.
SignedAssertion
Signed credential returned by the identity provider.
Type-only declaration; it is not a runtime value.
interface SignedAssertion {
token: string;
signature: string;
signer: Did;
issuedAt: number;
expiresAt: number;
}Source: @openagentid/sdk@0.7.2, dist/identity.d.ts:32.
VerificationClient
AEGIS verifier facade. Concrete implementation lives in @openagentid/aegis-sdk.
The OpenAgent SDK never decodes assertions itself — it delegates to AEGIS for all verification, lineage walking, and policy evaluation.
Type-only declaration; it is not a runtime value.
interface VerificationClient {
verifyRequest(req: Request, options?: VerifyRequestOptions): Promise<AuthContext>;
issueChallenge(): Promise<{
challenge: Uint8Array;
challengeId: string;
}>;
verifyChallengeResponse(params: {
challengeId: string;
agentDid: Did;
signatureBase64: string;
}): Promise<AuthContext>;
}Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:81.
VerifyRequestOptions
Options for {@link VerificationClient.verifyRequest}.
Type-only declaration; it is not a runtime value.
interface VerifyRequestOptions {
requiredScopes?: readonly string[];
requiredAncestor?: Did;
requirePrivilegedAuthority?: boolean;
requiredAuthorityPath?: string;
clockSkewSeconds?: number;
}Source: @openagentid/sdk@0.7.2, dist/verification.d.ts:63.
Package requirements
Dependencies
| Package | Published range |
|---|---|
| zod | ^3.23.8 |
Peer dependencies
| Package | Published range | Optional |
|---|---|---|
| @openagentid/sdk | ^0.1.0 | No |
Archive verification
Pinned integrity:
sha512-+9TXTWFWNxn9dyZLZTK5GEsUIYdGS2rUCHubsy+WGGCbrVaKRwAvEW+bOQV5Nr6dd/EmQE3jum6XKB1DvffCPA==