@covia/covia-sdk 1.14.0 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +113 -7
- package/dist/index.d.ts +113 -7
- package/dist/index.js +50 -20
- package/dist/index.mjs +50 -21
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -368,7 +368,6 @@ interface AgentManagerVenue extends VenueRequestContext {
|
|
|
368
368
|
read(path: string, maxSize?: number): Promise<WorkspaceReadResult>;
|
|
369
369
|
slice(path: string, offset?: number, limit?: number): Promise<WorkspaceSliceResult>;
|
|
370
370
|
};
|
|
371
|
-
lastKnownStatus?: StatusData;
|
|
372
371
|
}
|
|
373
372
|
declare class AgentManager {
|
|
374
373
|
private venue;
|
|
@@ -376,7 +375,10 @@ declare class AgentManager {
|
|
|
376
375
|
private agentSseSupported;
|
|
377
376
|
constructor(venue: AgentManagerVenue);
|
|
378
377
|
/** Whether the venue serves `GET /api/v1/agents`: no if a probe already
|
|
379
|
-
* 404'd
|
|
378
|
+
* 404'd. No version fast-path — a venue's self-reported version is weaker
|
|
379
|
+
* evidence than its answer to the request (an embedded venue can report
|
|
380
|
+
* its host application's version instead of its own; see covia-sdk#36).
|
|
381
|
+
* Rely purely on the lazy 404 latch, same as UserManager.usersGet. */
|
|
380
382
|
private supportsAgentsGet;
|
|
381
383
|
/** A job-free agents GET that rejects when the endpoint is unavailable. */
|
|
382
384
|
private agentsGet;
|
|
@@ -581,7 +583,6 @@ declare class OperationManager {
|
|
|
581
583
|
|
|
582
584
|
interface WorkspaceManagerVenue extends VenueRequestContext {
|
|
583
585
|
operations: OperationRunner;
|
|
584
|
-
lastKnownStatus?: StatusData;
|
|
585
586
|
}
|
|
586
587
|
/**
|
|
587
588
|
* Workspace (lattice) operations against a venue.
|
|
@@ -609,9 +610,10 @@ declare class WorkspaceManager {
|
|
|
609
610
|
private _values;
|
|
610
611
|
/**
|
|
611
612
|
* Whether the venue serves `GET /api/v1/values/*`: no if a probe already
|
|
612
|
-
* 404'd
|
|
613
|
-
*
|
|
614
|
-
*
|
|
613
|
+
* 404'd. No version fast-path — a venue's self-reported version is weaker
|
|
614
|
+
* evidence than its answer to the request (an embedded venue can report
|
|
615
|
+
* its host application's version instead of its own; see covia-sdk#36).
|
|
616
|
+
* Rely purely on the lazy 404 latch, same as UserManager.usersGet.
|
|
615
617
|
*/
|
|
616
618
|
private supportsValues;
|
|
617
619
|
private unsupported;
|
|
@@ -828,6 +830,47 @@ declare class UserManager {
|
|
|
828
830
|
revokeAuthenticator(key: string, did?: string, ucans?: string[]): Promise<AuthenticatorRevokeResult>;
|
|
829
831
|
}
|
|
830
832
|
|
|
833
|
+
interface OpOps {
|
|
834
|
+
run<T = unknown>(assetId: string, input?: unknown, options?: InvokeOptions): Promise<T>;
|
|
835
|
+
invoke(assetId: string, input?: unknown, options?: InvokeOptions): Promise<Job>;
|
|
836
|
+
}
|
|
837
|
+
interface A2AManagerVenue {
|
|
838
|
+
operations: OpOps;
|
|
839
|
+
}
|
|
840
|
+
/**
|
|
841
|
+
* Bring-your-own-agent (A2A): import a remote A2A endpoint or another Covia
|
|
842
|
+
* agent as an immutable agent Asset, then task it. Both calls persist a Job
|
|
843
|
+
* (the venue records the import and mirrors the remote Task's lifecycle onto
|
|
844
|
+
* `send`'s Job) — there is no job-free surface here.
|
|
845
|
+
*/
|
|
846
|
+
declare class A2AManager {
|
|
847
|
+
private venue;
|
|
848
|
+
constructor(venue: A2AManagerVenue);
|
|
849
|
+
/**
|
|
850
|
+
* Register a remote A2A endpoint or Covia agent as an immutable agent
|
|
851
|
+
* Asset, with a mutable binding at `w/a2a/agents/<name>`. Waits for the
|
|
852
|
+
* import to complete and returns its result directly.
|
|
853
|
+
*/
|
|
854
|
+
importAgent(input: A2AImportAgentInput): Promise<A2AImportAgentResult>;
|
|
855
|
+
/**
|
|
856
|
+
* Task an imported agent. Returns the raw Job rather than waiting for a
|
|
857
|
+
* result: the local Job mirrors the remote Task's lifecycle, so a reply
|
|
858
|
+
* that pauses (INPUT_REQUIRED, AUTH_REQUIRED) is a paused Job the caller
|
|
859
|
+
* inspects and continues via `job.sendMessage()` — the same shape as any
|
|
860
|
+
* other paused job, not a special case for A2A. Once the Job reaches a
|
|
861
|
+
* terminal state, `job.output` is the final remote `A2ATask`.
|
|
862
|
+
*
|
|
863
|
+
* @param agent Imported agent reference — `w/a2a/agents/<name>` or its
|
|
864
|
+
* immutable `did:.../a/<hash>` id.
|
|
865
|
+
* @param message An A2A Message: `{ role, parts, messageId? }`.
|
|
866
|
+
* @param options.taskId Continue an existing remote Task instead of
|
|
867
|
+
* starting a new one.
|
|
868
|
+
*/
|
|
869
|
+
send(agent: string, message: A2AMessage, options?: {
|
|
870
|
+
taskId?: string;
|
|
871
|
+
}): Promise<Job>;
|
|
872
|
+
}
|
|
873
|
+
|
|
831
874
|
/**
|
|
832
875
|
* Resolve a non-DID venue id into the ordered list of base URLs that
|
|
833
876
|
* {@link Venue.connect} will try in turn. Explicit `http(s)://` inputs are
|
|
@@ -884,6 +927,7 @@ declare class Venue implements VenueInterface {
|
|
|
884
927
|
private _memory?;
|
|
885
928
|
private _dlfs?;
|
|
886
929
|
private _users?;
|
|
930
|
+
private _a2a?;
|
|
887
931
|
get adapters(): AdapterManager;
|
|
888
932
|
get agents(): AgentManager;
|
|
889
933
|
get jobs(): JobManager;
|
|
@@ -896,6 +940,7 @@ declare class Venue implements VenueInterface {
|
|
|
896
940
|
get memory(): MemoryManager;
|
|
897
941
|
get dlfs(): DLFSManager;
|
|
898
942
|
get users(): UserManager;
|
|
943
|
+
get a2a(): A2AManager;
|
|
899
944
|
constructor(options?: VenueOptions);
|
|
900
945
|
/**
|
|
901
946
|
* Connect to a venue, validating it with `GET {base}/api/v1/status`. If the
|
|
@@ -1853,6 +1898,67 @@ declare class AgentSessionNotFoundError extends CoviaError {
|
|
|
1853
1898
|
readonly sessionId: string;
|
|
1854
1899
|
constructor(agentId: string, sessionId: string);
|
|
1855
1900
|
}
|
|
1901
|
+
/** Stored authentication binding for an imported A2A agent — a reference to
|
|
1902
|
+
* a secret, never a literal credential. */
|
|
1903
|
+
interface A2AAuthRef {
|
|
1904
|
+
/** Agent Card-declared API key or Bearer scheme name. */
|
|
1905
|
+
scheme?: string;
|
|
1906
|
+
/** Bearer auth needed to discover a private card. */
|
|
1907
|
+
kind?: 'bearer';
|
|
1908
|
+
/** `s/<name>` — the stored secret this binds to. */
|
|
1909
|
+
secret: string;
|
|
1910
|
+
}
|
|
1911
|
+
interface A2AImportAgentInput {
|
|
1912
|
+
/** Local alias matching `[a-z0-9-]{1,64}`; creates `w/a2a/agents/<name>`. */
|
|
1913
|
+
name: string;
|
|
1914
|
+
/** Base URL of a standard external A2A agent. Exactly one of `url`/`coviaAgent`. */
|
|
1915
|
+
url?: string;
|
|
1916
|
+
/** Covia grid agent address: local `g/<agentId>` or full `<ownerDID>/g/<agentId>`. */
|
|
1917
|
+
coviaAgent?: string;
|
|
1918
|
+
/** Base URL of the venue hosting `coviaAgent` — required for a full address. */
|
|
1919
|
+
venue?: string;
|
|
1920
|
+
auth?: A2AAuthRef;
|
|
1921
|
+
}
|
|
1922
|
+
/** The immutable asset DID URL, mutable workspace binding, and exact agent
|
|
1923
|
+
* asset hash from importing an agent. */
|
|
1924
|
+
interface A2AImportAgentResult {
|
|
1925
|
+
/** Mutable workspace binding, e.g. `w/a2a/agents/venue-b-bot`. */
|
|
1926
|
+
path?: string;
|
|
1927
|
+
/** Immutable agent-asset hash. */
|
|
1928
|
+
a2aAgentAsset?: string;
|
|
1929
|
+
/** Whether the binding was written. */
|
|
1930
|
+
stored?: boolean;
|
|
1931
|
+
/** Full immutable DID URL of the agent asset. */
|
|
1932
|
+
id?: string;
|
|
1933
|
+
}
|
|
1934
|
+
/** One part of an A2A message/artifact (v1 wire format). */
|
|
1935
|
+
interface A2APart {
|
|
1936
|
+
type?: string;
|
|
1937
|
+
kind?: string;
|
|
1938
|
+
text?: string;
|
|
1939
|
+
data?: unknown;
|
|
1940
|
+
}
|
|
1941
|
+
interface A2AMessage {
|
|
1942
|
+
role: string;
|
|
1943
|
+
parts: A2APart[];
|
|
1944
|
+
messageId?: string;
|
|
1945
|
+
}
|
|
1946
|
+
/** The remote A2A Task snapshot a send mirrors onto the local Job's output —
|
|
1947
|
+
* final when the Job reaches a terminal state, a live snapshot while paused. */
|
|
1948
|
+
interface A2ATask {
|
|
1949
|
+
id?: string;
|
|
1950
|
+
contextId?: string;
|
|
1951
|
+
status?: {
|
|
1952
|
+
state?: string;
|
|
1953
|
+
timestamp?: string;
|
|
1954
|
+
};
|
|
1955
|
+
artifacts?: {
|
|
1956
|
+
artifactId?: string;
|
|
1957
|
+
parts?: A2APart[];
|
|
1958
|
+
}[];
|
|
1959
|
+
history?: A2AMessage[];
|
|
1960
|
+
[key: string]: unknown;
|
|
1961
|
+
}
|
|
1856
1962
|
|
|
1857
1963
|
/** Parse a Retry-After header (delta-seconds or HTTP-date) to ms from now. */
|
|
1858
1964
|
declare function parseRetryAfterMs(header: string | null, nowMs: number): number;
|
|
@@ -2147,4 +2253,4 @@ declare function grant(ownerPrivateKey: Uint8Array, audienceDID: string, withRes
|
|
|
2147
2253
|
*/
|
|
2148
2254
|
declare function relayDelegation(privateKey: Uint8Array, venueDID: string, lifetimeSeconds: number, caps?: UCANCapability[]): string;
|
|
2149
2255
|
|
|
2150
|
-
export { type AdapterInfo, AdapterManager, type AdaptersResult, Agent, type AgentCancelTaskInput, type AgentCard, type AgentChatInput, type AgentChatResult, type AgentCompleteTaskResult, type AgentContextInput, type AgentCreateInput, type AgentCreateResult, type AgentCycleEndEvent, type AgentCycleStartEvent, type AgentDeleteInput, type AgentDeleteResult, type AgentEvent, type AgentEventEnvelope, type AgentFailTaskResult, type AgentForkInput, type AgentForkResult, type AgentInferenceEndEvent, type AgentInferenceStartEvent, type AgentInfoResult, type AgentListInput, type AgentListResult, AgentManager, type AgentMessageInput, type AgentMessageResult, type AgentRenameSessionResult, type AgentRequestInput, type AgentRequestResult, type AgentResumeInput, type AgentRunEndEvent, type AgentRunStartEvent, type AgentSession, type AgentSessionListOptions, type AgentSessionMetadata, AgentSessionNotFoundError, type AgentSessionPage, AgentStatus, type AgentStatusEvent, type AgentSuspendResult, type AgentToolResultEvent, type AgentToolStartEvent, type AgentTriggerInput, type AgentTriggerResult, type AgentUpdateInput, Asset, type AssetID, type AssetList, type AssetListItem, type AssetListOptions, AssetManager, type AssetMetadata, type AssetMetadataStore, AssetNotFoundError, type AssetPinResult, type AssetSummary, Auth, type AuthenticationKeyEntry, type AuthenticationKeysMap, type AuthenticationKeysResult, type AuthenticatorRevokeResult, BasicAuth, BearerAuth, ChatSession, type ConnectionAttempt, type ContentDetails, type ContentHashResult, CoviaConnectionError, type CoviaConnectionErrorOptions, CoviaError, CoviaTimeoutError, type Credentials, CredentialsHTTP, type DIDDocument, type DIDURL, type DLFSDrivesResult, type DLFSEntry, type DLFSListResult, DLFSManager, DataAsset, Ed25519Auth, type ExpandedAssetList, type FunctionInfo, type FunctionsResult, Grid, GridError, type GroupCount, type InvokeOptions, type InvokePayload, Job, JobFailedError, JobManager, type JobMetadata, JobNotFoundError, JobStatus, KeyPairAuth, type MCPDiscovery, type MemoryChange, type MemoryEntry, MemoryManager, type MyAssetList, Namespace, NoAuth, NotFoundError, Operation, type OperationDetails, type OperationInfo, OperationManager, type OperationPayload, type OperationRunner, RateLimitError, RunStatus, type SSEEvent, type SecretExtractInput, type SecretExtractResult, SecretManager, type SecretSetInput, type SecretSetResult, type Skill, type SkillFacet, SkillManager, type SkillMetadata, type StatsData, type StatusData, type UCANAttenuation, type UCANCapability, type UCANIssueInput, type UCANIssueResult, UCANManager, type UCANVerifyResult, UnsupportedVenueFeatureError, type UserInfo, type UserListResult, UserManager, type UserSummary, VENUE_RELAY, Venue, type VenueConstructor, type VenueData, VenueIdentityChangedError, type VenueInterface, type VenueOptions, type WorkspaceAggregateResult, type WorkspaceAppendInput, type WorkspaceAppendResult, type WorkspaceCopyResult, type WorkspaceCountResult, type WorkspaceDeleteInput, type WorkspaceDeleteResult, type WorkspaceInspectInput, type WorkspaceInspectResult, type WorkspaceListInput, type WorkspaceListResult, WorkspaceManager, type WorkspaceReadInput, type WorkspaceReadResult, type WorkspaceSliceInput, type WorkspaceSliceResult, type WorkspaceWriteInput, type WorkspaceWriteResult, assetHash, createSSEEvent, createUCANJWT, decodePublicKey, didFor, didFromPublicKey, didMethod, didUrl, encodePublicKey, fetchStreamWithError, fetchWithError, generateKeyPair, getAssetIdFromPath, getAssetIdFromVenueId, getAssetMetadataStore, getParsedAssetId, grant, hexToPrivateKey, identityToken, isDid, isJobComplete, isJobFinished, isJobPaused, logger, parseDidUrl, parseRetryAfterMs, parseSSEStream, privateKeyToHex, relayDelegation, retryDelayMs, setAssetMetadataStore, venueBaseUrlCandidates };
|
|
2256
|
+
export { type A2AAuthRef, type A2AImportAgentInput, type A2AImportAgentResult, A2AManager, type A2AMessage, type A2APart, type A2ATask, type AdapterInfo, AdapterManager, type AdaptersResult, Agent, type AgentCancelTaskInput, type AgentCard, type AgentChatInput, type AgentChatResult, type AgentCompleteTaskResult, type AgentContextInput, type AgentCreateInput, type AgentCreateResult, type AgentCycleEndEvent, type AgentCycleStartEvent, type AgentDeleteInput, type AgentDeleteResult, type AgentEvent, type AgentEventEnvelope, type AgentFailTaskResult, type AgentForkInput, type AgentForkResult, type AgentInferenceEndEvent, type AgentInferenceStartEvent, type AgentInfoResult, type AgentListInput, type AgentListResult, AgentManager, type AgentMessageInput, type AgentMessageResult, type AgentRenameSessionResult, type AgentRequestInput, type AgentRequestResult, type AgentResumeInput, type AgentRunEndEvent, type AgentRunStartEvent, type AgentSession, type AgentSessionListOptions, type AgentSessionMetadata, AgentSessionNotFoundError, type AgentSessionPage, AgentStatus, type AgentStatusEvent, type AgentSuspendResult, type AgentToolResultEvent, type AgentToolStartEvent, type AgentTriggerInput, type AgentTriggerResult, type AgentUpdateInput, Asset, type AssetID, type AssetList, type AssetListItem, type AssetListOptions, AssetManager, type AssetMetadata, type AssetMetadataStore, AssetNotFoundError, type AssetPinResult, type AssetSummary, Auth, type AuthenticationKeyEntry, type AuthenticationKeysMap, type AuthenticationKeysResult, type AuthenticatorRevokeResult, BasicAuth, BearerAuth, ChatSession, type ConnectionAttempt, type ContentDetails, type ContentHashResult, CoviaConnectionError, type CoviaConnectionErrorOptions, CoviaError, CoviaTimeoutError, type Credentials, CredentialsHTTP, type DIDDocument, type DIDURL, type DLFSDrivesResult, type DLFSEntry, type DLFSListResult, DLFSManager, DataAsset, Ed25519Auth, type ExpandedAssetList, type FunctionInfo, type FunctionsResult, Grid, GridError, type GroupCount, type InvokeOptions, type InvokePayload, Job, JobFailedError, JobManager, type JobMetadata, JobNotFoundError, JobStatus, KeyPairAuth, type MCPDiscovery, type MemoryChange, type MemoryEntry, MemoryManager, type MyAssetList, Namespace, NoAuth, NotFoundError, Operation, type OperationDetails, type OperationInfo, OperationManager, type OperationPayload, type OperationRunner, RateLimitError, RunStatus, type SSEEvent, type SecretExtractInput, type SecretExtractResult, SecretManager, type SecretSetInput, type SecretSetResult, type Skill, type SkillFacet, SkillManager, type SkillMetadata, type StatsData, type StatusData, type UCANAttenuation, type UCANCapability, type UCANIssueInput, type UCANIssueResult, UCANManager, type UCANVerifyResult, UnsupportedVenueFeatureError, type UserInfo, type UserListResult, UserManager, type UserSummary, VENUE_RELAY, Venue, type VenueConstructor, type VenueData, VenueIdentityChangedError, type VenueInterface, type VenueOptions, type WorkspaceAggregateResult, type WorkspaceAppendInput, type WorkspaceAppendResult, type WorkspaceCopyResult, type WorkspaceCountResult, type WorkspaceDeleteInput, type WorkspaceDeleteResult, type WorkspaceInspectInput, type WorkspaceInspectResult, type WorkspaceListInput, type WorkspaceListResult, WorkspaceManager, type WorkspaceReadInput, type WorkspaceReadResult, type WorkspaceSliceInput, type WorkspaceSliceResult, type WorkspaceWriteInput, type WorkspaceWriteResult, assetHash, createSSEEvent, createUCANJWT, decodePublicKey, didFor, didFromPublicKey, didMethod, didUrl, encodePublicKey, fetchStreamWithError, fetchWithError, generateKeyPair, getAssetIdFromPath, getAssetIdFromVenueId, getAssetMetadataStore, getParsedAssetId, grant, hexToPrivateKey, identityToken, isDid, isJobComplete, isJobFinished, isJobPaused, logger, parseDidUrl, parseRetryAfterMs, parseSSEStream, privateKeyToHex, relayDelegation, retryDelayMs, setAssetMetadataStore, venueBaseUrlCandidates };
|
package/dist/index.d.ts
CHANGED
|
@@ -368,7 +368,6 @@ interface AgentManagerVenue extends VenueRequestContext {
|
|
|
368
368
|
read(path: string, maxSize?: number): Promise<WorkspaceReadResult>;
|
|
369
369
|
slice(path: string, offset?: number, limit?: number): Promise<WorkspaceSliceResult>;
|
|
370
370
|
};
|
|
371
|
-
lastKnownStatus?: StatusData;
|
|
372
371
|
}
|
|
373
372
|
declare class AgentManager {
|
|
374
373
|
private venue;
|
|
@@ -376,7 +375,10 @@ declare class AgentManager {
|
|
|
376
375
|
private agentSseSupported;
|
|
377
376
|
constructor(venue: AgentManagerVenue);
|
|
378
377
|
/** Whether the venue serves `GET /api/v1/agents`: no if a probe already
|
|
379
|
-
* 404'd
|
|
378
|
+
* 404'd. No version fast-path — a venue's self-reported version is weaker
|
|
379
|
+
* evidence than its answer to the request (an embedded venue can report
|
|
380
|
+
* its host application's version instead of its own; see covia-sdk#36).
|
|
381
|
+
* Rely purely on the lazy 404 latch, same as UserManager.usersGet. */
|
|
380
382
|
private supportsAgentsGet;
|
|
381
383
|
/** A job-free agents GET that rejects when the endpoint is unavailable. */
|
|
382
384
|
private agentsGet;
|
|
@@ -581,7 +583,6 @@ declare class OperationManager {
|
|
|
581
583
|
|
|
582
584
|
interface WorkspaceManagerVenue extends VenueRequestContext {
|
|
583
585
|
operations: OperationRunner;
|
|
584
|
-
lastKnownStatus?: StatusData;
|
|
585
586
|
}
|
|
586
587
|
/**
|
|
587
588
|
* Workspace (lattice) operations against a venue.
|
|
@@ -609,9 +610,10 @@ declare class WorkspaceManager {
|
|
|
609
610
|
private _values;
|
|
610
611
|
/**
|
|
611
612
|
* Whether the venue serves `GET /api/v1/values/*`: no if a probe already
|
|
612
|
-
* 404'd
|
|
613
|
-
*
|
|
614
|
-
*
|
|
613
|
+
* 404'd. No version fast-path — a venue's self-reported version is weaker
|
|
614
|
+
* evidence than its answer to the request (an embedded venue can report
|
|
615
|
+
* its host application's version instead of its own; see covia-sdk#36).
|
|
616
|
+
* Rely purely on the lazy 404 latch, same as UserManager.usersGet.
|
|
615
617
|
*/
|
|
616
618
|
private supportsValues;
|
|
617
619
|
private unsupported;
|
|
@@ -828,6 +830,47 @@ declare class UserManager {
|
|
|
828
830
|
revokeAuthenticator(key: string, did?: string, ucans?: string[]): Promise<AuthenticatorRevokeResult>;
|
|
829
831
|
}
|
|
830
832
|
|
|
833
|
+
interface OpOps {
|
|
834
|
+
run<T = unknown>(assetId: string, input?: unknown, options?: InvokeOptions): Promise<T>;
|
|
835
|
+
invoke(assetId: string, input?: unknown, options?: InvokeOptions): Promise<Job>;
|
|
836
|
+
}
|
|
837
|
+
interface A2AManagerVenue {
|
|
838
|
+
operations: OpOps;
|
|
839
|
+
}
|
|
840
|
+
/**
|
|
841
|
+
* Bring-your-own-agent (A2A): import a remote A2A endpoint or another Covia
|
|
842
|
+
* agent as an immutable agent Asset, then task it. Both calls persist a Job
|
|
843
|
+
* (the venue records the import and mirrors the remote Task's lifecycle onto
|
|
844
|
+
* `send`'s Job) — there is no job-free surface here.
|
|
845
|
+
*/
|
|
846
|
+
declare class A2AManager {
|
|
847
|
+
private venue;
|
|
848
|
+
constructor(venue: A2AManagerVenue);
|
|
849
|
+
/**
|
|
850
|
+
* Register a remote A2A endpoint or Covia agent as an immutable agent
|
|
851
|
+
* Asset, with a mutable binding at `w/a2a/agents/<name>`. Waits for the
|
|
852
|
+
* import to complete and returns its result directly.
|
|
853
|
+
*/
|
|
854
|
+
importAgent(input: A2AImportAgentInput): Promise<A2AImportAgentResult>;
|
|
855
|
+
/**
|
|
856
|
+
* Task an imported agent. Returns the raw Job rather than waiting for a
|
|
857
|
+
* result: the local Job mirrors the remote Task's lifecycle, so a reply
|
|
858
|
+
* that pauses (INPUT_REQUIRED, AUTH_REQUIRED) is a paused Job the caller
|
|
859
|
+
* inspects and continues via `job.sendMessage()` — the same shape as any
|
|
860
|
+
* other paused job, not a special case for A2A. Once the Job reaches a
|
|
861
|
+
* terminal state, `job.output` is the final remote `A2ATask`.
|
|
862
|
+
*
|
|
863
|
+
* @param agent Imported agent reference — `w/a2a/agents/<name>` or its
|
|
864
|
+
* immutable `did:.../a/<hash>` id.
|
|
865
|
+
* @param message An A2A Message: `{ role, parts, messageId? }`.
|
|
866
|
+
* @param options.taskId Continue an existing remote Task instead of
|
|
867
|
+
* starting a new one.
|
|
868
|
+
*/
|
|
869
|
+
send(agent: string, message: A2AMessage, options?: {
|
|
870
|
+
taskId?: string;
|
|
871
|
+
}): Promise<Job>;
|
|
872
|
+
}
|
|
873
|
+
|
|
831
874
|
/**
|
|
832
875
|
* Resolve a non-DID venue id into the ordered list of base URLs that
|
|
833
876
|
* {@link Venue.connect} will try in turn. Explicit `http(s)://` inputs are
|
|
@@ -884,6 +927,7 @@ declare class Venue implements VenueInterface {
|
|
|
884
927
|
private _memory?;
|
|
885
928
|
private _dlfs?;
|
|
886
929
|
private _users?;
|
|
930
|
+
private _a2a?;
|
|
887
931
|
get adapters(): AdapterManager;
|
|
888
932
|
get agents(): AgentManager;
|
|
889
933
|
get jobs(): JobManager;
|
|
@@ -896,6 +940,7 @@ declare class Venue implements VenueInterface {
|
|
|
896
940
|
get memory(): MemoryManager;
|
|
897
941
|
get dlfs(): DLFSManager;
|
|
898
942
|
get users(): UserManager;
|
|
943
|
+
get a2a(): A2AManager;
|
|
899
944
|
constructor(options?: VenueOptions);
|
|
900
945
|
/**
|
|
901
946
|
* Connect to a venue, validating it with `GET {base}/api/v1/status`. If the
|
|
@@ -1853,6 +1898,67 @@ declare class AgentSessionNotFoundError extends CoviaError {
|
|
|
1853
1898
|
readonly sessionId: string;
|
|
1854
1899
|
constructor(agentId: string, sessionId: string);
|
|
1855
1900
|
}
|
|
1901
|
+
/** Stored authentication binding for an imported A2A agent — a reference to
|
|
1902
|
+
* a secret, never a literal credential. */
|
|
1903
|
+
interface A2AAuthRef {
|
|
1904
|
+
/** Agent Card-declared API key or Bearer scheme name. */
|
|
1905
|
+
scheme?: string;
|
|
1906
|
+
/** Bearer auth needed to discover a private card. */
|
|
1907
|
+
kind?: 'bearer';
|
|
1908
|
+
/** `s/<name>` — the stored secret this binds to. */
|
|
1909
|
+
secret: string;
|
|
1910
|
+
}
|
|
1911
|
+
interface A2AImportAgentInput {
|
|
1912
|
+
/** Local alias matching `[a-z0-9-]{1,64}`; creates `w/a2a/agents/<name>`. */
|
|
1913
|
+
name: string;
|
|
1914
|
+
/** Base URL of a standard external A2A agent. Exactly one of `url`/`coviaAgent`. */
|
|
1915
|
+
url?: string;
|
|
1916
|
+
/** Covia grid agent address: local `g/<agentId>` or full `<ownerDID>/g/<agentId>`. */
|
|
1917
|
+
coviaAgent?: string;
|
|
1918
|
+
/** Base URL of the venue hosting `coviaAgent` — required for a full address. */
|
|
1919
|
+
venue?: string;
|
|
1920
|
+
auth?: A2AAuthRef;
|
|
1921
|
+
}
|
|
1922
|
+
/** The immutable asset DID URL, mutable workspace binding, and exact agent
|
|
1923
|
+
* asset hash from importing an agent. */
|
|
1924
|
+
interface A2AImportAgentResult {
|
|
1925
|
+
/** Mutable workspace binding, e.g. `w/a2a/agents/venue-b-bot`. */
|
|
1926
|
+
path?: string;
|
|
1927
|
+
/** Immutable agent-asset hash. */
|
|
1928
|
+
a2aAgentAsset?: string;
|
|
1929
|
+
/** Whether the binding was written. */
|
|
1930
|
+
stored?: boolean;
|
|
1931
|
+
/** Full immutable DID URL of the agent asset. */
|
|
1932
|
+
id?: string;
|
|
1933
|
+
}
|
|
1934
|
+
/** One part of an A2A message/artifact (v1 wire format). */
|
|
1935
|
+
interface A2APart {
|
|
1936
|
+
type?: string;
|
|
1937
|
+
kind?: string;
|
|
1938
|
+
text?: string;
|
|
1939
|
+
data?: unknown;
|
|
1940
|
+
}
|
|
1941
|
+
interface A2AMessage {
|
|
1942
|
+
role: string;
|
|
1943
|
+
parts: A2APart[];
|
|
1944
|
+
messageId?: string;
|
|
1945
|
+
}
|
|
1946
|
+
/** The remote A2A Task snapshot a send mirrors onto the local Job's output —
|
|
1947
|
+
* final when the Job reaches a terminal state, a live snapshot while paused. */
|
|
1948
|
+
interface A2ATask {
|
|
1949
|
+
id?: string;
|
|
1950
|
+
contextId?: string;
|
|
1951
|
+
status?: {
|
|
1952
|
+
state?: string;
|
|
1953
|
+
timestamp?: string;
|
|
1954
|
+
};
|
|
1955
|
+
artifacts?: {
|
|
1956
|
+
artifactId?: string;
|
|
1957
|
+
parts?: A2APart[];
|
|
1958
|
+
}[];
|
|
1959
|
+
history?: A2AMessage[];
|
|
1960
|
+
[key: string]: unknown;
|
|
1961
|
+
}
|
|
1856
1962
|
|
|
1857
1963
|
/** Parse a Retry-After header (delta-seconds or HTTP-date) to ms from now. */
|
|
1858
1964
|
declare function parseRetryAfterMs(header: string | null, nowMs: number): number;
|
|
@@ -2147,4 +2253,4 @@ declare function grant(ownerPrivateKey: Uint8Array, audienceDID: string, withRes
|
|
|
2147
2253
|
*/
|
|
2148
2254
|
declare function relayDelegation(privateKey: Uint8Array, venueDID: string, lifetimeSeconds: number, caps?: UCANCapability[]): string;
|
|
2149
2255
|
|
|
2150
|
-
export { type AdapterInfo, AdapterManager, type AdaptersResult, Agent, type AgentCancelTaskInput, type AgentCard, type AgentChatInput, type AgentChatResult, type AgentCompleteTaskResult, type AgentContextInput, type AgentCreateInput, type AgentCreateResult, type AgentCycleEndEvent, type AgentCycleStartEvent, type AgentDeleteInput, type AgentDeleteResult, type AgentEvent, type AgentEventEnvelope, type AgentFailTaskResult, type AgentForkInput, type AgentForkResult, type AgentInferenceEndEvent, type AgentInferenceStartEvent, type AgentInfoResult, type AgentListInput, type AgentListResult, AgentManager, type AgentMessageInput, type AgentMessageResult, type AgentRenameSessionResult, type AgentRequestInput, type AgentRequestResult, type AgentResumeInput, type AgentRunEndEvent, type AgentRunStartEvent, type AgentSession, type AgentSessionListOptions, type AgentSessionMetadata, AgentSessionNotFoundError, type AgentSessionPage, AgentStatus, type AgentStatusEvent, type AgentSuspendResult, type AgentToolResultEvent, type AgentToolStartEvent, type AgentTriggerInput, type AgentTriggerResult, type AgentUpdateInput, Asset, type AssetID, type AssetList, type AssetListItem, type AssetListOptions, AssetManager, type AssetMetadata, type AssetMetadataStore, AssetNotFoundError, type AssetPinResult, type AssetSummary, Auth, type AuthenticationKeyEntry, type AuthenticationKeysMap, type AuthenticationKeysResult, type AuthenticatorRevokeResult, BasicAuth, BearerAuth, ChatSession, type ConnectionAttempt, type ContentDetails, type ContentHashResult, CoviaConnectionError, type CoviaConnectionErrorOptions, CoviaError, CoviaTimeoutError, type Credentials, CredentialsHTTP, type DIDDocument, type DIDURL, type DLFSDrivesResult, type DLFSEntry, type DLFSListResult, DLFSManager, DataAsset, Ed25519Auth, type ExpandedAssetList, type FunctionInfo, type FunctionsResult, Grid, GridError, type GroupCount, type InvokeOptions, type InvokePayload, Job, JobFailedError, JobManager, type JobMetadata, JobNotFoundError, JobStatus, KeyPairAuth, type MCPDiscovery, type MemoryChange, type MemoryEntry, MemoryManager, type MyAssetList, Namespace, NoAuth, NotFoundError, Operation, type OperationDetails, type OperationInfo, OperationManager, type OperationPayload, type OperationRunner, RateLimitError, RunStatus, type SSEEvent, type SecretExtractInput, type SecretExtractResult, SecretManager, type SecretSetInput, type SecretSetResult, type Skill, type SkillFacet, SkillManager, type SkillMetadata, type StatsData, type StatusData, type UCANAttenuation, type UCANCapability, type UCANIssueInput, type UCANIssueResult, UCANManager, type UCANVerifyResult, UnsupportedVenueFeatureError, type UserInfo, type UserListResult, UserManager, type UserSummary, VENUE_RELAY, Venue, type VenueConstructor, type VenueData, VenueIdentityChangedError, type VenueInterface, type VenueOptions, type WorkspaceAggregateResult, type WorkspaceAppendInput, type WorkspaceAppendResult, type WorkspaceCopyResult, type WorkspaceCountResult, type WorkspaceDeleteInput, type WorkspaceDeleteResult, type WorkspaceInspectInput, type WorkspaceInspectResult, type WorkspaceListInput, type WorkspaceListResult, WorkspaceManager, type WorkspaceReadInput, type WorkspaceReadResult, type WorkspaceSliceInput, type WorkspaceSliceResult, type WorkspaceWriteInput, type WorkspaceWriteResult, assetHash, createSSEEvent, createUCANJWT, decodePublicKey, didFor, didFromPublicKey, didMethod, didUrl, encodePublicKey, fetchStreamWithError, fetchWithError, generateKeyPair, getAssetIdFromPath, getAssetIdFromVenueId, getAssetMetadataStore, getParsedAssetId, grant, hexToPrivateKey, identityToken, isDid, isJobComplete, isJobFinished, isJobPaused, logger, parseDidUrl, parseRetryAfterMs, parseSSEStream, privateKeyToHex, relayDelegation, retryDelayMs, setAssetMetadataStore, venueBaseUrlCandidates };
|
|
2256
|
+
export { type A2AAuthRef, type A2AImportAgentInput, type A2AImportAgentResult, A2AManager, type A2AMessage, type A2APart, type A2ATask, type AdapterInfo, AdapterManager, type AdaptersResult, Agent, type AgentCancelTaskInput, type AgentCard, type AgentChatInput, type AgentChatResult, type AgentCompleteTaskResult, type AgentContextInput, type AgentCreateInput, type AgentCreateResult, type AgentCycleEndEvent, type AgentCycleStartEvent, type AgentDeleteInput, type AgentDeleteResult, type AgentEvent, type AgentEventEnvelope, type AgentFailTaskResult, type AgentForkInput, type AgentForkResult, type AgentInferenceEndEvent, type AgentInferenceStartEvent, type AgentInfoResult, type AgentListInput, type AgentListResult, AgentManager, type AgentMessageInput, type AgentMessageResult, type AgentRenameSessionResult, type AgentRequestInput, type AgentRequestResult, type AgentResumeInput, type AgentRunEndEvent, type AgentRunStartEvent, type AgentSession, type AgentSessionListOptions, type AgentSessionMetadata, AgentSessionNotFoundError, type AgentSessionPage, AgentStatus, type AgentStatusEvent, type AgentSuspendResult, type AgentToolResultEvent, type AgentToolStartEvent, type AgentTriggerInput, type AgentTriggerResult, type AgentUpdateInput, Asset, type AssetID, type AssetList, type AssetListItem, type AssetListOptions, AssetManager, type AssetMetadata, type AssetMetadataStore, AssetNotFoundError, type AssetPinResult, type AssetSummary, Auth, type AuthenticationKeyEntry, type AuthenticationKeysMap, type AuthenticationKeysResult, type AuthenticatorRevokeResult, BasicAuth, BearerAuth, ChatSession, type ConnectionAttempt, type ContentDetails, type ContentHashResult, CoviaConnectionError, type CoviaConnectionErrorOptions, CoviaError, CoviaTimeoutError, type Credentials, CredentialsHTTP, type DIDDocument, type DIDURL, type DLFSDrivesResult, type DLFSEntry, type DLFSListResult, DLFSManager, DataAsset, Ed25519Auth, type ExpandedAssetList, type FunctionInfo, type FunctionsResult, Grid, GridError, type GroupCount, type InvokeOptions, type InvokePayload, Job, JobFailedError, JobManager, type JobMetadata, JobNotFoundError, JobStatus, KeyPairAuth, type MCPDiscovery, type MemoryChange, type MemoryEntry, MemoryManager, type MyAssetList, Namespace, NoAuth, NotFoundError, Operation, type OperationDetails, type OperationInfo, OperationManager, type OperationPayload, type OperationRunner, RateLimitError, RunStatus, type SSEEvent, type SecretExtractInput, type SecretExtractResult, SecretManager, type SecretSetInput, type SecretSetResult, type Skill, type SkillFacet, SkillManager, type SkillMetadata, type StatsData, type StatusData, type UCANAttenuation, type UCANCapability, type UCANIssueInput, type UCANIssueResult, UCANManager, type UCANVerifyResult, UnsupportedVenueFeatureError, type UserInfo, type UserListResult, UserManager, type UserSummary, VENUE_RELAY, Venue, type VenueConstructor, type VenueData, VenueIdentityChangedError, type VenueInterface, type VenueOptions, type WorkspaceAggregateResult, type WorkspaceAppendInput, type WorkspaceAppendResult, type WorkspaceCopyResult, type WorkspaceCountResult, type WorkspaceDeleteInput, type WorkspaceDeleteResult, type WorkspaceInspectInput, type WorkspaceInspectResult, type WorkspaceListInput, type WorkspaceListResult, WorkspaceManager, type WorkspaceReadInput, type WorkspaceReadResult, type WorkspaceSliceInput, type WorkspaceSliceResult, type WorkspaceWriteInput, type WorkspaceWriteResult, assetHash, createSSEEvent, createUCANJWT, decodePublicKey, didFor, didFromPublicKey, didMethod, didUrl, encodePublicKey, fetchStreamWithError, fetchWithError, generateKeyPair, getAssetIdFromPath, getAssetIdFromVenueId, getAssetMetadataStore, getParsedAssetId, grant, hexToPrivateKey, identityToken, isDid, isJobComplete, isJobFinished, isJobPaused, logger, parseDidUrl, parseRetryAfterMs, parseSSEStream, privateKeyToHex, relayDelegation, retryDelayMs, setAssetMetadataStore, venueBaseUrlCandidates };
|
package/dist/index.js
CHANGED
|
@@ -1712,12 +1712,6 @@ function venueStream(venue, path, options = {}) {
|
|
|
1712
1712
|
}
|
|
1713
1713
|
|
|
1714
1714
|
// src/venue-features.ts
|
|
1715
|
-
function versionAtLeast(version, major, minor) {
|
|
1716
|
-
const m = version?.match(/^(\d+)\.(\d+)/);
|
|
1717
|
-
if (!m) return true;
|
|
1718
|
-
const [maj, min] = [Number(m[1]), Number(m[2])];
|
|
1719
|
-
return maj > major || maj === major && min >= minor;
|
|
1720
|
-
}
|
|
1721
1715
|
var ROUTE_MISSING_404 = /\bEndpoint (GET|POST|PUT|DELETE|PATCH|HEAD) /;
|
|
1722
1716
|
|
|
1723
1717
|
// src/values-util.ts
|
|
@@ -1772,13 +1766,11 @@ var AgentManager = class {
|
|
|
1772
1766
|
this.agentSseSupported = true;
|
|
1773
1767
|
}
|
|
1774
1768
|
/** Whether the venue serves `GET /api/v1/agents`: no if a probe already
|
|
1775
|
-
* 404'd
|
|
1769
|
+
* 404'd. No version fast-path — a venue's self-reported version is weaker
|
|
1770
|
+
* evidence than its answer to the request (an embedded venue can report
|
|
1771
|
+
* its host application's version instead of its own; see covia-sdk#36).
|
|
1772
|
+
* Rely purely on the lazy 404 latch, same as UserManager.usersGet. */
|
|
1776
1773
|
supportsAgentsGet() {
|
|
1777
|
-
if (!this.agentsGetSupported) return false;
|
|
1778
|
-
const status = this.venue.lastKnownStatus;
|
|
1779
|
-
if (status && (!status.version || !versionAtLeast(status.version, 0, 4))) {
|
|
1780
|
-
this.agentsGetSupported = false;
|
|
1781
|
-
}
|
|
1782
1774
|
return this.agentsGetSupported;
|
|
1783
1775
|
}
|
|
1784
1776
|
/** A job-free agents GET that rejects when the endpoint is unavailable. */
|
|
@@ -2598,16 +2590,12 @@ var WorkspaceManager = class {
|
|
|
2598
2590
|
}
|
|
2599
2591
|
/**
|
|
2600
2592
|
* Whether the venue serves `GET /api/v1/values/*`: no if a probe already
|
|
2601
|
-
* 404'd
|
|
2602
|
-
*
|
|
2603
|
-
*
|
|
2593
|
+
* 404'd. No version fast-path — a venue's self-reported version is weaker
|
|
2594
|
+
* evidence than its answer to the request (an embedded venue can report
|
|
2595
|
+
* its host application's version instead of its own; see covia-sdk#36).
|
|
2596
|
+
* Rely purely on the lazy 404 latch, same as UserManager.usersGet.
|
|
2604
2597
|
*/
|
|
2605
2598
|
supportsValues() {
|
|
2606
|
-
if (!this.valuesSupported) return false;
|
|
2607
|
-
const status = this.venue.lastKnownStatus;
|
|
2608
|
-
if (status && (!status.version || !versionAtLeast(status.version, 0, 3))) {
|
|
2609
|
-
this.valuesSupported = false;
|
|
2610
|
-
}
|
|
2611
2599
|
return this.valuesSupported;
|
|
2612
2600
|
}
|
|
2613
2601
|
unsupported(feature) {
|
|
@@ -2970,6 +2958,44 @@ var UserManager = class {
|
|
|
2970
2958
|
}
|
|
2971
2959
|
};
|
|
2972
2960
|
|
|
2961
|
+
// src/A2AManager.ts
|
|
2962
|
+
var IMPORT_AGENT_OP = "v/ops/a2a/import-agent";
|
|
2963
|
+
var SEND_OP = "v/ops/a2a/send";
|
|
2964
|
+
var A2AManager = class {
|
|
2965
|
+
constructor(venue) {
|
|
2966
|
+
this.venue = venue;
|
|
2967
|
+
}
|
|
2968
|
+
/**
|
|
2969
|
+
* Register a remote A2A endpoint or Covia agent as an immutable agent
|
|
2970
|
+
* Asset, with a mutable binding at `w/a2a/agents/<name>`. Waits for the
|
|
2971
|
+
* import to complete and returns its result directly.
|
|
2972
|
+
*/
|
|
2973
|
+
async importAgent(input) {
|
|
2974
|
+
return this.venue.operations.run(IMPORT_AGENT_OP, input);
|
|
2975
|
+
}
|
|
2976
|
+
/**
|
|
2977
|
+
* Task an imported agent. Returns the raw Job rather than waiting for a
|
|
2978
|
+
* result: the local Job mirrors the remote Task's lifecycle, so a reply
|
|
2979
|
+
* that pauses (INPUT_REQUIRED, AUTH_REQUIRED) is a paused Job the caller
|
|
2980
|
+
* inspects and continues via `job.sendMessage()` — the same shape as any
|
|
2981
|
+
* other paused job, not a special case for A2A. Once the Job reaches a
|
|
2982
|
+
* terminal state, `job.output` is the final remote `A2ATask`.
|
|
2983
|
+
*
|
|
2984
|
+
* @param agent Imported agent reference — `w/a2a/agents/<name>` or its
|
|
2985
|
+
* immutable `did:.../a/<hash>` id.
|
|
2986
|
+
* @param message An A2A Message: `{ role, parts, messageId? }`.
|
|
2987
|
+
* @param options.taskId Continue an existing remote Task instead of
|
|
2988
|
+
* starting a new one.
|
|
2989
|
+
*/
|
|
2990
|
+
async send(agent, message, options) {
|
|
2991
|
+
return this.venue.operations.invoke(SEND_OP, {
|
|
2992
|
+
agent,
|
|
2993
|
+
message,
|
|
2994
|
+
...options?.taskId !== void 0 && { taskId: options.taskId }
|
|
2995
|
+
});
|
|
2996
|
+
}
|
|
2997
|
+
};
|
|
2998
|
+
|
|
2973
2999
|
// src/Agent.ts
|
|
2974
3000
|
var Agent = class _Agent {
|
|
2975
3001
|
constructor(id, venue) {
|
|
@@ -3178,6 +3204,9 @@ var Venue = class _Venue {
|
|
|
3178
3204
|
get users() {
|
|
3179
3205
|
return this._users ?? (this._users = new UserManager(this));
|
|
3180
3206
|
}
|
|
3207
|
+
get a2a() {
|
|
3208
|
+
return this._a2a ?? (this._a2a = new A2AManager(this));
|
|
3209
|
+
}
|
|
3181
3210
|
/**
|
|
3182
3211
|
* Connect to a venue, validating it with `GET {base}/api/v1/status`. If the
|
|
3183
3212
|
* venue is auth-gated (status answers 401/403 — public access disabled), the
|
|
@@ -3509,6 +3538,7 @@ function relayDelegation(privateKey, venueDID, lifetimeSeconds, caps = []) {
|
|
|
3509
3538
|
(*! noble-ed25519 - MIT License (c) 2019 Paul Miller (paulmillr.com) *)
|
|
3510
3539
|
*/
|
|
3511
3540
|
|
|
3541
|
+
exports.A2AManager = A2AManager;
|
|
3512
3542
|
exports.AdapterManager = AdapterManager;
|
|
3513
3543
|
exports.Agent = Agent;
|
|
3514
3544
|
exports.AgentManager = AgentManager;
|
package/dist/index.mjs
CHANGED
|
@@ -1710,12 +1710,6 @@ function venueStream(venue, path, options = {}) {
|
|
|
1710
1710
|
}
|
|
1711
1711
|
|
|
1712
1712
|
// src/venue-features.ts
|
|
1713
|
-
function versionAtLeast(version, major, minor) {
|
|
1714
|
-
const m = version?.match(/^(\d+)\.(\d+)/);
|
|
1715
|
-
if (!m) return true;
|
|
1716
|
-
const [maj, min] = [Number(m[1]), Number(m[2])];
|
|
1717
|
-
return maj > major || maj === major && min >= minor;
|
|
1718
|
-
}
|
|
1719
1713
|
var ROUTE_MISSING_404 = /\bEndpoint (GET|POST|PUT|DELETE|PATCH|HEAD) /;
|
|
1720
1714
|
|
|
1721
1715
|
// src/values-util.ts
|
|
@@ -1770,13 +1764,11 @@ var AgentManager = class {
|
|
|
1770
1764
|
this.agentSseSupported = true;
|
|
1771
1765
|
}
|
|
1772
1766
|
/** Whether the venue serves `GET /api/v1/agents`: no if a probe already
|
|
1773
|
-
* 404'd
|
|
1767
|
+
* 404'd. No version fast-path — a venue's self-reported version is weaker
|
|
1768
|
+
* evidence than its answer to the request (an embedded venue can report
|
|
1769
|
+
* its host application's version instead of its own; see covia-sdk#36).
|
|
1770
|
+
* Rely purely on the lazy 404 latch, same as UserManager.usersGet. */
|
|
1774
1771
|
supportsAgentsGet() {
|
|
1775
|
-
if (!this.agentsGetSupported) return false;
|
|
1776
|
-
const status = this.venue.lastKnownStatus;
|
|
1777
|
-
if (status && (!status.version || !versionAtLeast(status.version, 0, 4))) {
|
|
1778
|
-
this.agentsGetSupported = false;
|
|
1779
|
-
}
|
|
1780
1772
|
return this.agentsGetSupported;
|
|
1781
1773
|
}
|
|
1782
1774
|
/** A job-free agents GET that rejects when the endpoint is unavailable. */
|
|
@@ -2596,16 +2588,12 @@ var WorkspaceManager = class {
|
|
|
2596
2588
|
}
|
|
2597
2589
|
/**
|
|
2598
2590
|
* Whether the venue serves `GET /api/v1/values/*`: no if a probe already
|
|
2599
|
-
* 404'd
|
|
2600
|
-
*
|
|
2601
|
-
*
|
|
2591
|
+
* 404'd. No version fast-path — a venue's self-reported version is weaker
|
|
2592
|
+
* evidence than its answer to the request (an embedded venue can report
|
|
2593
|
+
* its host application's version instead of its own; see covia-sdk#36).
|
|
2594
|
+
* Rely purely on the lazy 404 latch, same as UserManager.usersGet.
|
|
2602
2595
|
*/
|
|
2603
2596
|
supportsValues() {
|
|
2604
|
-
if (!this.valuesSupported) return false;
|
|
2605
|
-
const status = this.venue.lastKnownStatus;
|
|
2606
|
-
if (status && (!status.version || !versionAtLeast(status.version, 0, 3))) {
|
|
2607
|
-
this.valuesSupported = false;
|
|
2608
|
-
}
|
|
2609
2597
|
return this.valuesSupported;
|
|
2610
2598
|
}
|
|
2611
2599
|
unsupported(feature) {
|
|
@@ -2968,6 +2956,44 @@ var UserManager = class {
|
|
|
2968
2956
|
}
|
|
2969
2957
|
};
|
|
2970
2958
|
|
|
2959
|
+
// src/A2AManager.ts
|
|
2960
|
+
var IMPORT_AGENT_OP = "v/ops/a2a/import-agent";
|
|
2961
|
+
var SEND_OP = "v/ops/a2a/send";
|
|
2962
|
+
var A2AManager = class {
|
|
2963
|
+
constructor(venue) {
|
|
2964
|
+
this.venue = venue;
|
|
2965
|
+
}
|
|
2966
|
+
/**
|
|
2967
|
+
* Register a remote A2A endpoint or Covia agent as an immutable agent
|
|
2968
|
+
* Asset, with a mutable binding at `w/a2a/agents/<name>`. Waits for the
|
|
2969
|
+
* import to complete and returns its result directly.
|
|
2970
|
+
*/
|
|
2971
|
+
async importAgent(input) {
|
|
2972
|
+
return this.venue.operations.run(IMPORT_AGENT_OP, input);
|
|
2973
|
+
}
|
|
2974
|
+
/**
|
|
2975
|
+
* Task an imported agent. Returns the raw Job rather than waiting for a
|
|
2976
|
+
* result: the local Job mirrors the remote Task's lifecycle, so a reply
|
|
2977
|
+
* that pauses (INPUT_REQUIRED, AUTH_REQUIRED) is a paused Job the caller
|
|
2978
|
+
* inspects and continues via `job.sendMessage()` — the same shape as any
|
|
2979
|
+
* other paused job, not a special case for A2A. Once the Job reaches a
|
|
2980
|
+
* terminal state, `job.output` is the final remote `A2ATask`.
|
|
2981
|
+
*
|
|
2982
|
+
* @param agent Imported agent reference — `w/a2a/agents/<name>` or its
|
|
2983
|
+
* immutable `did:.../a/<hash>` id.
|
|
2984
|
+
* @param message An A2A Message: `{ role, parts, messageId? }`.
|
|
2985
|
+
* @param options.taskId Continue an existing remote Task instead of
|
|
2986
|
+
* starting a new one.
|
|
2987
|
+
*/
|
|
2988
|
+
async send(agent, message, options) {
|
|
2989
|
+
return this.venue.operations.invoke(SEND_OP, {
|
|
2990
|
+
agent,
|
|
2991
|
+
message,
|
|
2992
|
+
...options?.taskId !== void 0 && { taskId: options.taskId }
|
|
2993
|
+
});
|
|
2994
|
+
}
|
|
2995
|
+
};
|
|
2996
|
+
|
|
2971
2997
|
// src/Agent.ts
|
|
2972
2998
|
var Agent = class _Agent {
|
|
2973
2999
|
constructor(id, venue) {
|
|
@@ -3176,6 +3202,9 @@ var Venue = class _Venue {
|
|
|
3176
3202
|
get users() {
|
|
3177
3203
|
return this._users ?? (this._users = new UserManager(this));
|
|
3178
3204
|
}
|
|
3205
|
+
get a2a() {
|
|
3206
|
+
return this._a2a ?? (this._a2a = new A2AManager(this));
|
|
3207
|
+
}
|
|
3179
3208
|
/**
|
|
3180
3209
|
* Connect to a venue, validating it with `GET {base}/api/v1/status`. If the
|
|
3181
3210
|
* venue is auth-gated (status answers 401/403 — public access disabled), the
|
|
@@ -3507,4 +3536,4 @@ function relayDelegation(privateKey, venueDID, lifetimeSeconds, caps = []) {
|
|
|
3507
3536
|
(*! noble-ed25519 - MIT License (c) 2019 Paul Miller (paulmillr.com) *)
|
|
3508
3537
|
*/
|
|
3509
3538
|
|
|
3510
|
-
export { AdapterManager, Agent, AgentManager, AgentSessionNotFoundError, AgentStatus, Asset, AssetManager, AssetNotFoundError, Auth, BasicAuth, BearerAuth, ChatSession, CoviaConnectionError, CoviaError, CoviaTimeoutError, CredentialsHTTP, DLFSManager, DataAsset, Ed25519Auth, Grid, GridError, Job, JobFailedError, JobManager, JobNotFoundError, JobStatus, KeyPairAuth, MemoryManager, Namespace, NoAuth, NotFoundError, Operation, OperationManager, RateLimitError, RunStatus, SecretManager, SkillManager, UCANManager, UnsupportedVenueFeatureError, UserManager, VENUE_RELAY, Venue, VenueIdentityChangedError, WorkspaceManager, assetHash, createSSEEvent, createUCANJWT, decodePublicKey, didFor, didFromPublicKey, didMethod, didUrl, encodePublicKey, fetchStreamWithError, fetchWithError, generateKeyPair, getAssetIdFromPath, getAssetIdFromVenueId, getAssetMetadataStore, getParsedAssetId, grant, hexToPrivateKey, identityToken, isDid, isJobComplete, isJobFinished, isJobPaused, logger, parseDidUrl, parseRetryAfterMs, parseSSEStream, privateKeyToHex, relayDelegation, retryDelayMs, setAssetMetadataStore, venueBaseUrlCandidates };
|
|
3539
|
+
export { A2AManager, AdapterManager, Agent, AgentManager, AgentSessionNotFoundError, AgentStatus, Asset, AssetManager, AssetNotFoundError, Auth, BasicAuth, BearerAuth, ChatSession, CoviaConnectionError, CoviaError, CoviaTimeoutError, CredentialsHTTP, DLFSManager, DataAsset, Ed25519Auth, Grid, GridError, Job, JobFailedError, JobManager, JobNotFoundError, JobStatus, KeyPairAuth, MemoryManager, Namespace, NoAuth, NotFoundError, Operation, OperationManager, RateLimitError, RunStatus, SecretManager, SkillManager, UCANManager, UnsupportedVenueFeatureError, UserManager, VENUE_RELAY, Venue, VenueIdentityChangedError, WorkspaceManager, assetHash, createSSEEvent, createUCANJWT, decodePublicKey, didFor, didFromPublicKey, didMethod, didUrl, encodePublicKey, fetchStreamWithError, fetchWithError, generateKeyPair, getAssetIdFromPath, getAssetIdFromVenueId, getAssetMetadataStore, getParsedAssetId, grant, hexToPrivateKey, identityToken, isDid, isJobComplete, isJobFinished, isJobPaused, logger, parseDidUrl, parseRetryAfterMs, parseSSEStream, privateKeyToHex, relayDelegation, retryDelayMs, setAssetMetadataStore, venueBaseUrlCandidates };
|