@hashgraphonline/standards-sdk 0.1.188 → 0.1.189
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/browser/services/registry-broker/client/agent-network.d.ts +210 -66
- package/dist/browser/services/registry-broker/client/agent-network.d.ts.map +1 -1
- package/dist/browser/services/registry-broker/client.d.ts +1 -1
- package/dist/browser/services/registry-broker/client.d.ts.map +1 -1
- package/dist/browser/standards-sdk.browser.js +37 -10
- package/dist/browser/standards-sdk.browser.js.map +1 -1
- package/dist/browser-root/services/registry-broker/client/agent-network.d.ts +210 -66
- package/dist/browser-root/services/registry-broker/client/agent-network.d.ts.map +1 -1
- package/dist/browser-root/services/registry-broker/client.d.ts +1 -1
- package/dist/browser-root/services/registry-broker/client.d.ts.map +1 -1
- package/dist/browser-root/standards-sdk.root-browser.js +78 -11
- package/dist/browser-root/standards-sdk.root-browser.js.map +1 -1
- package/dist/cjs/services/registry-broker/client/agent-network.d.ts +210 -66
- package/dist/cjs/services/registry-broker/client/agent-network.d.ts.map +1 -1
- package/dist/cjs/services/registry-broker/client.d.ts +1 -1
- package/dist/cjs/services/registry-broker/client.d.ts.map +1 -1
- package/dist/cjs/standards-sdk.cjs +1 -1
- package/dist/cjs/standards-sdk.cjs.map +1 -1
- package/dist/es/services/registry-broker/client/agent-network.d.ts +210 -66
- package/dist/es/services/registry-broker/client/agent-network.d.ts.map +1 -1
- package/dist/es/services/registry-broker/client.d.ts +1 -1
- package/dist/es/services/registry-broker/client.d.ts.map +1 -1
- package/dist/es/standards-sdk.es.js +5 -1
- package/dist/es/standards-sdk.es126.js +1 -1
- package/dist/es/standards-sdk.es133.js +5 -5
- package/dist/es/standards-sdk.es143.js +1 -1
- package/dist/es/standards-sdk.es144.js +1 -1
- package/dist/es/standards-sdk.es145.js +5 -5
- package/dist/es/standards-sdk.es147.js +1 -1
- package/dist/es/standards-sdk.es150.js +1 -1
- package/dist/es/standards-sdk.es152.js +79 -11
- package/dist/es/standards-sdk.es152.js.map +1 -1
- package/dist/es/standards-sdk.es190.js +670 -15
- package/dist/es/standards-sdk.es190.js.map +1 -1
- package/dist/es/standards-sdk.es191.js +158 -658
- package/dist/es/standards-sdk.es191.js.map +1 -1
- package/dist/es/standards-sdk.es192.js +289 -139
- package/dist/es/standards-sdk.es192.js.map +1 -1
- package/dist/es/standards-sdk.es193.js +298 -274
- package/dist/es/standards-sdk.es193.js.map +1 -1
- package/dist/es/standards-sdk.es194.js +369 -262
- package/dist/es/standards-sdk.es194.js.map +1 -1
- package/dist/es/standards-sdk.es195.js +194 -316
- package/dist/es/standards-sdk.es195.js.map +1 -1
- package/dist/es/standards-sdk.es196.js +64 -319
- package/dist/es/standards-sdk.es196.js.map +1 -1
- package/dist/es/standards-sdk.es197.js +63 -66
- package/dist/es/standards-sdk.es197.js.map +1 -1
- package/dist/es/standards-sdk.es198.js +15 -71
- package/dist/es/standards-sdk.es198.js.map +1 -1
- package/dist/es/standards-sdk.es71.js +1 -1
- package/dist/es/standards-sdk.es72.js +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getSkillVerificationStatus } from "./standards-sdk.
|
|
1
|
+
import { getSkillVerificationStatus } from "./standards-sdk.es190.js";
|
|
2
2
|
import { HCS26BaseClient } from "./standards-sdk.es125.js";
|
|
3
3
|
function mapVerification(status) {
|
|
4
4
|
const pendingRequest = status.pendingRequest ?? void 0;
|
|
@@ -5,11 +5,11 @@ import { ethers } from "ethers";
|
|
|
5
5
|
import { TransactionParsingError } from "./standards-sdk.es134.js";
|
|
6
6
|
import { resolveTransactionSummary } from "./standards-sdk.es135.js";
|
|
7
7
|
import { HTSParser } from "./standards-sdk.es143.js";
|
|
8
|
-
import { HCSParser } from "./standards-sdk.
|
|
9
|
-
import { FileParser } from "./standards-sdk.
|
|
10
|
-
import { CryptoParser } from "./standards-sdk.
|
|
11
|
-
import { SCSParser } from "./standards-sdk.
|
|
12
|
-
import { UtilParser } from "./standards-sdk.
|
|
8
|
+
import { HCSParser } from "./standards-sdk.es191.js";
|
|
9
|
+
import { FileParser } from "./standards-sdk.es192.js";
|
|
10
|
+
import { CryptoParser } from "./standards-sdk.es193.js";
|
|
11
|
+
import { SCSParser } from "./standards-sdk.es194.js";
|
|
12
|
+
import { UtilParser } from "./standards-sdk.es195.js";
|
|
13
13
|
import { ScheduleParser } from "./standards-sdk.es144.js";
|
|
14
14
|
import { transactionParserRegistry } from "./standards-sdk.es145.js";
|
|
15
15
|
import { getTransactionTypeFromBody, getHumanReadableTransactionType } from "./standards-sdk.es146.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { proto } from "@hashgraph/proto";
|
|
2
2
|
import { AccountId, Long, TokenId } from "@hashgraph/sdk";
|
|
3
|
-
import { parseKey, hasTransactionType, extractTransactionBody } from "./standards-sdk.
|
|
3
|
+
import { parseKey, hasTransactionType, extractTransactionBody } from "./standards-sdk.es196.js";
|
|
4
4
|
import { Buffer } from "buffer";
|
|
5
5
|
class HTSParser {
|
|
6
6
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { proto } from "@hashgraph/proto";
|
|
2
|
-
import { hasTransactionType, parseKey } from "./standards-sdk.
|
|
2
|
+
import { hasTransactionType, parseKey } from "./standards-sdk.es196.js";
|
|
3
3
|
import { AccountId, Long, ScheduleId } from "@hashgraph/sdk";
|
|
4
4
|
class ScheduleParser {
|
|
5
5
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { HTSParser } from "./standards-sdk.es143.js";
|
|
2
|
-
import { HCSParser } from "./standards-sdk.
|
|
3
|
-
import { CryptoParser } from "./standards-sdk.
|
|
4
|
-
import { FileParser } from "./standards-sdk.
|
|
5
|
-
import { SCSParser } from "./standards-sdk.
|
|
2
|
+
import { HCSParser } from "./standards-sdk.es191.js";
|
|
3
|
+
import { CryptoParser } from "./standards-sdk.es193.js";
|
|
4
|
+
import { FileParser } from "./standards-sdk.es192.js";
|
|
5
|
+
import { SCSParser } from "./standards-sdk.es194.js";
|
|
6
6
|
import { ScheduleParser } from "./standards-sdk.es144.js";
|
|
7
|
-
import { UtilParser } from "./standards-sdk.
|
|
7
|
+
import { UtilParser } from "./standards-sdk.es195.js";
|
|
8
8
|
const transactionParserRegistry = {
|
|
9
9
|
TOKENCREATE: {
|
|
10
10
|
bodyField: "tokenCreation",
|
|
@@ -7,7 +7,7 @@ import { optionalImport } from "./standards-sdk.es187.js";
|
|
|
7
7
|
import { validateQuoteParameters, getCachedQuote, getOrCreateSDK, cacheQuote } from "./standards-sdk.es148.js";
|
|
8
8
|
import { HederaMirrorNode } from "./standards-sdk.es149.js";
|
|
9
9
|
import { sleep } from "./standards-sdk.es138.js";
|
|
10
|
-
import { computeInscriptionCostSummary } from "./standards-sdk.
|
|
10
|
+
import { computeInscriptionCostSummary } from "./standards-sdk.es197.js";
|
|
11
11
|
let nodeModules = {};
|
|
12
12
|
const normalizeTransactionId = (txId) => {
|
|
13
13
|
if (!txId.includes("@")) {
|
|
@@ -14,7 +14,7 @@ import { getCreditsBalance, getCreditProviders, createHbarPurchaseIntent, purcha
|
|
|
14
14
|
import { getGuardSession, getGuardEntitlements, getGuardBillingBalance, getGuardFeed, getGuardOverview, getGuardTrustByHash, resolveGuardTrust, getGuardRevocations, fetchGuardAdvisories, fetchGuardPolicy, getGuardInventory, getGuardReceiptHistory, getGuardArtifactTimeline, getGuardInventoryDiff, exportGuardAbom, exportGuardArtifactAbom, exportGuardReceipts, getGuardDevices, getGuardAlertPreferences, updateGuardAlertPreferences, getGuardExceptions, getGuardWatchlist, lookupGuardWatchlist, getGuardPainSignals, getGuardAggregatedPainSignals, getGuardPreInstallVerdict, getGuardPreExecutionVerdict, addGuardWatchlistItem, removeGuardWatchlistItem, addGuardException, requestGuardException, removeGuardException, ingestGuardPainSignals, syncGuardReceipts, syncGuardInventory, submitGuardReceipts, getGuardTeamPolicyPack, updateGuardTeamPolicyPack } from "./standards-sdk.es206.js";
|
|
15
15
|
import { createLedgerChallenge, verifyLedgerChallenge, authenticateWithLedger, authenticateWithLedgerCredentials } from "./standards-sdk.es207.js";
|
|
16
16
|
import { search, delegate, stats, registries, getAdditionalRegistries, popularSearches, listProtocols, detectProtocol, registrySearchByNamespace, vectorSearch, searchStatus, websocketStats, metricsSummary, facets } from "./standards-sdk.es208.js";
|
|
17
|
-
import { skillsConfig, listSkills, getSkillsCatalog, listSkillVersions, listMySkills, getMySkillsList, quoteSkillPublish, quoteSkillPublishPreview, publishSkill, getSkillPublishJob, getSkillOwnership, getRecommendedSkillVersion, setRecommendedSkillVersion, getSkillDeprecations, setSkillDeprecation, getSkillBadge, getSkillStatus, getSkillSecurityBreakdown, getSkillStatusByRepo, getSkillConversionSignalsByRepo, uploadSkillPreviewFromGithubOidc, getSkillPreview, getSkillPreviewByRepo, getSkillPreviewById, getSkillInstall, recordSkillInstallCopy, listSkillTags, listSkillCategories, resolveSkillMarkdown, resolveSkillManifest, getSkillVoteStatus, setSkillVote, requestSkillVerification, getSkillVerificationStatus, createSkillDomainProofChallenge, verifySkillDomainProof } from "./standards-sdk.
|
|
17
|
+
import { skillsConfig, listSkills, getSkillsCatalog, listSkillVersions, listMySkills, getMySkillsList, quoteSkillPublish, quoteSkillPublishPreview, publishSkill, getSkillPublishJob, getSkillOwnership, getRecommendedSkillVersion, setRecommendedSkillVersion, getSkillDeprecations, setSkillDeprecation, getSkillBadge, getSkillStatus, getSkillSecurityBreakdown, getSkillStatusByRepo, getSkillConversionSignalsByRepo, uploadSkillPreviewFromGithubOidc, getSkillPreview, getSkillPreviewByRepo, getSkillPreviewById, getSkillInstall, recordSkillInstallCopy, listSkillTags, listSkillCategories, resolveSkillMarkdown, resolveSkillManifest, getSkillVoteStatus, setSkillVote, requestSkillVerification, getSkillVerificationStatus, createSkillDomainProofChallenge, verifySkillDomainProof } from "./standards-sdk.es190.js";
|
|
18
18
|
import { DEFAULT_BASE_URL, normaliseBaseUrl, normaliseHeaderName, isBrowserRuntime, DEFAULT_USER_AGENT, JSON_CONTENT_TYPE, serialiseAgentRegistrationRequest, MINIMUM_REGISTRATION_AUTO_TOP_UP_CREDITS, createAbortError, isJsonObject, DEFAULT_HISTORY_TOP_UP_HBAR } from "./standards-sdk.es209.js";
|
|
19
19
|
import { RegistryBrokerError, RegistryBrokerParseError } from "./standards-sdk.es151.js";
|
|
20
20
|
import { optionalImportSync } from "./standards-sdk.es187.js";
|
|
@@ -2,29 +2,36 @@ import { z } from "zod";
|
|
|
2
2
|
import { RegistryBrokerParseError } from "./standards-sdk.es151.js";
|
|
3
3
|
const agentNetworkProviderSchema = z.enum([
|
|
4
4
|
"openclaw",
|
|
5
|
-
"dot",
|
|
6
5
|
"grok",
|
|
6
|
+
"dot",
|
|
7
7
|
"muse",
|
|
8
|
-
"
|
|
8
|
+
"api",
|
|
9
|
+
"other"
|
|
9
10
|
]);
|
|
10
11
|
const agentConnectionStateSchema = z.enum([
|
|
11
12
|
"unavailable",
|
|
12
13
|
"pending_pairing",
|
|
13
14
|
"interactive_verified",
|
|
14
|
-
"
|
|
15
|
-
"
|
|
15
|
+
"polling_verified",
|
|
16
|
+
"push_verified",
|
|
17
|
+
"needs_reconnect",
|
|
16
18
|
"paused",
|
|
17
|
-
"
|
|
18
|
-
"needs_reconnect"
|
|
19
|
+
"degraded"
|
|
19
20
|
]);
|
|
20
21
|
const agentRegistrationStateSchema = z.enum([
|
|
21
22
|
"unregistered",
|
|
23
|
+
"quote_issued",
|
|
22
24
|
"pending",
|
|
23
25
|
"registered",
|
|
24
|
-
"linked",
|
|
25
26
|
"failed"
|
|
26
27
|
]);
|
|
27
|
-
const
|
|
28
|
+
const agentRegistrationResultStateSchema = z.enum([
|
|
29
|
+
"registered",
|
|
30
|
+
"pending",
|
|
31
|
+
"linked",
|
|
32
|
+
"unregistered"
|
|
33
|
+
]);
|
|
34
|
+
const agentReceiveModeSchema = z.enum(["none", "poll", "push"]);
|
|
28
35
|
const agentRequestStateSchema = z.enum([
|
|
29
36
|
"accepted",
|
|
30
37
|
"awaiting_consent",
|
|
@@ -83,7 +90,7 @@ const agentPairingCompleteSchema = z.object({
|
|
|
83
90
|
const agentMessageViewSchema = z.object({
|
|
84
91
|
messageId: z.string().uuid(),
|
|
85
92
|
conversationId: z.string().uuid(),
|
|
86
|
-
schemaVersion: z.
|
|
93
|
+
schemaVersion: z.literal("hol-agent-message/1"),
|
|
87
94
|
kind: agentMessageKindSchema,
|
|
88
95
|
senderUaid: z.string(),
|
|
89
96
|
recipientUaid: z.string(),
|
|
@@ -143,12 +150,32 @@ const agentReplyResultSchema = z.object({
|
|
|
143
150
|
});
|
|
144
151
|
const agentRuntimeRegistrationResultSchema = z.object({
|
|
145
152
|
runtime: agentRuntimeViewSchema,
|
|
146
|
-
registration:
|
|
153
|
+
registration: agentRegistrationResultStateSchema
|
|
147
154
|
});
|
|
148
155
|
const agentProbeResultSchema = z.object({
|
|
149
156
|
nonce: z.string(),
|
|
150
157
|
issuedAt: isoDate
|
|
151
158
|
});
|
|
159
|
+
const agentSubscriptionEventTypeSchema = z.enum([
|
|
160
|
+
"notify_request",
|
|
161
|
+
"notify_event",
|
|
162
|
+
"notify_response"
|
|
163
|
+
]);
|
|
164
|
+
const agentSubscriptionViewSchema = z.object({
|
|
165
|
+
subscriptionId: z.string().uuid(),
|
|
166
|
+
runtimeId: z.string().uuid(),
|
|
167
|
+
eventType: agentSubscriptionEventTypeSchema,
|
|
168
|
+
callbackUrl: z.string().nullable(),
|
|
169
|
+
state: z.string(),
|
|
170
|
+
expiresAt: isoDate.nullable(),
|
|
171
|
+
createdAt: isoDate
|
|
172
|
+
});
|
|
173
|
+
const agentSubscriptionListSchema = z.object({
|
|
174
|
+
subscriptions: z.array(agentSubscriptionViewSchema)
|
|
175
|
+
});
|
|
176
|
+
const agentSubscriptionCreatedSchema = z.object({
|
|
177
|
+
subscription: agentSubscriptionViewSchema
|
|
178
|
+
});
|
|
152
179
|
const sleep = (ms, signal) => new Promise((resolve, reject) => {
|
|
153
180
|
const t = setTimeout(resolve, ms);
|
|
154
181
|
signal?.addEventListener(
|
|
@@ -167,7 +194,9 @@ const encodePath = (value) => encodeURIComponent(value);
|
|
|
167
194
|
const qs = (params) => {
|
|
168
195
|
const query = new URLSearchParams();
|
|
169
196
|
for (const [k, v] of Object.entries(params)) {
|
|
170
|
-
if (v !== void 0)
|
|
197
|
+
if (v !== void 0) {
|
|
198
|
+
query.set(k, String(v));
|
|
199
|
+
}
|
|
171
200
|
}
|
|
172
201
|
const s = query.toString();
|
|
173
202
|
return s ? `?${s}` : "";
|
|
@@ -238,6 +267,40 @@ function createAgentNetworkApi(client) {
|
|
|
238
267
|
method: "DELETE"
|
|
239
268
|
});
|
|
240
269
|
},
|
|
270
|
+
listRuntimeInbox: (runtimeId, query) => json(
|
|
271
|
+
`/agent-runtimes/${encodePath(runtimeId)}/inbox${qs({
|
|
272
|
+
cursor: query?.cursor,
|
|
273
|
+
limit: query?.limit,
|
|
274
|
+
includeAcknowledged: query?.includeAcknowledged
|
|
275
|
+
})}`,
|
|
276
|
+
agentInboxListSchema,
|
|
277
|
+
{}
|
|
278
|
+
),
|
|
279
|
+
getRuntimeConversation: (runtimeId, conversationId, query) => json(
|
|
280
|
+
`/agent-runtimes/${encodePath(runtimeId)}/conversations/${encodePath(
|
|
281
|
+
conversationId
|
|
282
|
+
)}${qs({ cursor: query?.cursor, limit: query?.limit })}`,
|
|
283
|
+
agentConversationViewSchema,
|
|
284
|
+
{}
|
|
285
|
+
),
|
|
286
|
+
createAgentSubscription: async (runtimeId, input) => (await json(
|
|
287
|
+
`/agent-runtimes/${encodePath(runtimeId)}/subscriptions`,
|
|
288
|
+
agentSubscriptionCreatedSchema,
|
|
289
|
+
{ method: "POST", body: input }
|
|
290
|
+
)).subscription,
|
|
291
|
+
listAgentSubscriptions: async (runtimeId) => (await json(
|
|
292
|
+
`/agent-runtimes/${encodePath(runtimeId)}/subscriptions`,
|
|
293
|
+
agentSubscriptionListSchema,
|
|
294
|
+
{}
|
|
295
|
+
)).subscriptions,
|
|
296
|
+
revokeAgentSubscription: async (runtimeId, subscriptionId) => {
|
|
297
|
+
await client.request(
|
|
298
|
+
`/agent-runtimes/${encodePath(runtimeId)}/subscriptions/${encodePath(
|
|
299
|
+
subscriptionId
|
|
300
|
+
)}`,
|
|
301
|
+
{ method: "DELETE" }
|
|
302
|
+
);
|
|
303
|
+
},
|
|
241
304
|
agentMe: async (token) => {
|
|
242
305
|
const raw = await client.requestJson(
|
|
243
306
|
"/agent-runtimes/me",
|
|
@@ -375,12 +438,17 @@ export {
|
|
|
375
438
|
agentPairingStartSchema,
|
|
376
439
|
agentProbeResultSchema,
|
|
377
440
|
agentReceiveModeSchema,
|
|
441
|
+
agentRegistrationResultStateSchema,
|
|
378
442
|
agentRegistrationStateSchema,
|
|
379
443
|
agentReplyResultSchema,
|
|
380
444
|
agentRequestStateSchema,
|
|
381
445
|
agentRuntimeQuoteSchema,
|
|
382
446
|
agentRuntimeRegistrationResultSchema,
|
|
383
447
|
agentRuntimeViewSchema,
|
|
448
|
+
agentSubscriptionCreatedSchema,
|
|
449
|
+
agentSubscriptionEventTypeSchema,
|
|
450
|
+
agentSubscriptionListSchema,
|
|
451
|
+
agentSubscriptionViewSchema,
|
|
384
452
|
createAgentNetworkApi
|
|
385
453
|
};
|
|
386
454
|
//# sourceMappingURL=standards-sdk.es152.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-sdk.es152.js","sources":["../../src/services/registry-broker/client/agent-network.ts"],"sourcesContent":["/**\n * Agent-network client surface — typed methods over the registry-broker\n * /api/v1/agent-* routes. Two auth planes:\n *\n * - Owner plane uses the client's configured credentials (x-api-key).\n * - Bot plane takes a `hol_agt_…` grant bearer token per call; the token is\n * passed as Authorization and never persisted by the client.\n *\n * Every response is parsed with the schemas below so pending/terminal\n * discriminated states survive to callers. Idempotency keys, lease versions\n * (fencing tokens), and cancellation ids are passed through unchanged.\n */\nimport { z } from 'zod';\nimport type { RegistryBrokerClient } from './base-client';\nimport { RegistryBrokerParseError } from './errors';\nimport type { JsonValue } from '../types';\n\n// ---------------------------------------------------------------------------\n// Schemas (mirror broker contract)\n// ---------------------------------------------------------------------------\n\nexport const agentNetworkProviderSchema = z.enum([\n 'openclaw',\n 'dot',\n 'grok',\n 'muse',\n 'generic',\n]);\nexport type AgentNetworkProvider = z.infer<typeof agentNetworkProviderSchema>;\n\nexport const agentConnectionStateSchema = z.enum([\n 'unavailable',\n 'pending_pairing',\n 'interactive_verified',\n 'receive_unverified',\n 'receive_verified',\n 'paused',\n 'revoked',\n 'needs_reconnect',\n]);\n\nexport const agentRegistrationStateSchema = z.enum([\n 'unregistered',\n 'pending',\n 'registered',\n 'linked',\n 'failed',\n]);\n\nexport const agentReceiveModeSchema = z.enum(['none', 'poll', 'push', 'events']);\n\nexport const agentRequestStateSchema = z.enum([\n 'accepted',\n 'awaiting_consent',\n 'queued',\n 'processing',\n 'completed',\n 'rejected',\n 'failed',\n 'expired',\n 'canceled',\n]);\nexport type AgentRequestState = z.infer<typeof agentRequestStateSchema>;\n\nexport const agentDeliveryStateSchema = z.enum([\n 'pending',\n 'notifying',\n 'provider_accepted',\n 'acknowledged',\n 'retry_scheduled',\n 'permanently_failed',\n]);\nexport type AgentDeliveryState = z.infer<typeof agentDeliveryStateSchema>;\n\nexport const agentMessageKindSchema = z.enum(['request', 'response', 'event']);\nexport type AgentMessageKind = z.infer<typeof agentMessageKindSchema>;\n\nconst isoDate = z.string();\n\nexport const agentRuntimeViewSchema = z.object({\n runtimeId: z.string().uuid(),\n uaid: z.string().nullable(),\n ownerType: z.string(),\n ownerId: z.string(),\n declaredProvider: agentNetworkProviderSchema,\n connectionState: agentConnectionStateSchema,\n registrationState: agentRegistrationStateSchema,\n registrationAttemptId: z.string().nullable(),\n receiveMode: agentReceiveModeSchema,\n gatewayUrl: z.string().nullable(),\n paused: z.boolean(),\n allowedPeerUaids: z.array(z.string()).nullable(),\n capabilities: z.array(z.string()),\n lastActivityAt: isoDate.nullable(),\n createdAt: isoDate,\n});\nexport type AgentRuntimeView = z.infer<typeof agentRuntimeViewSchema>;\n\nexport const agentRuntimeQuoteSchema = z.object({\n quoteId: z.string(),\n expiresAt: isoDate,\n registrationFeeCredits: z.number().nullable(),\n gatewayUrl: z.string(),\n});\nexport type AgentRuntimeQuote = z.infer<typeof agentRuntimeQuoteSchema>;\n\nexport const agentPairingStartSchema = z.object({\n grantId: z.string().uuid(),\n pairingCode: z.string(),\n expiresAt: isoDate,\n});\nexport type AgentPairingStart = z.infer<typeof agentPairingStartSchema>;\n\nexport const agentPairingCompleteSchema = z.object({\n grantId: z.string().uuid(),\n runtimeId: z.string().uuid(),\n token: z.string(),\n scopes: z.array(z.string()),\n});\nexport type AgentPairingComplete = z.infer<typeof agentPairingCompleteSchema>;\n\nexport const agentMessageViewSchema = z.object({\n messageId: z.string().uuid(),\n conversationId: z.string().uuid(),\n schemaVersion: z.number().optional(),\n kind: agentMessageKindSchema,\n senderUaid: z.string(),\n recipientUaid: z.string(),\n inReplyTo: z.string().uuid().nullable(),\n content: z.object({ type: z.literal('text'), text: z.string() }),\n requestState: agentRequestStateSchema,\n createdAt: isoDate,\n expiresAt: isoDate,\n traceId: z.string(),\n});\nexport type AgentMessageView = z.infer<typeof agentMessageViewSchema>;\n\nexport const agentMessageAcceptedSchema = z.object({\n messageId: z.string().uuid(),\n conversationId: z.string().uuid(),\n requestState: agentRequestStateSchema,\n createdAt: isoDate,\n expiresAt: isoDate,\n deduplicated: z.boolean(),\n});\nexport type AgentMessageAccepted = z.infer<typeof agentMessageAcceptedSchema>;\n\nexport const agentLeaseViewSchema = z.object({\n leaseId: z.string().uuid(),\n messageId: z.string().uuid(),\n fencingToken: z.number().int(),\n expiresAt: isoDate,\n});\nexport type AgentLeaseView = z.infer<typeof agentLeaseViewSchema>;\n\nexport const agentClaimedMessageSchema = z.object({\n message: agentMessageViewSchema,\n lease: agentLeaseViewSchema,\n});\nexport type AgentClaimedMessage = z.infer<typeof agentClaimedMessageSchema>;\n\nexport const agentInboxItemSchema = z.object({\n messageId: z.string().uuid(),\n conversationId: z.string().uuid(),\n kind: agentMessageKindSchema,\n senderUaid: z.string(),\n content: z.object({ type: z.literal('text'), text: z.string() }),\n requestState: agentRequestStateSchema,\n deliveryState: agentDeliveryStateSchema,\n acknowledged: z.boolean(),\n leaseId: z.string().uuid().nullable(),\n fencingToken: z.number().int().nullable(),\n createdAt: isoDate,\n expiresAt: isoDate,\n});\nexport type AgentInboxItem = z.infer<typeof agentInboxItemSchema>;\n\nexport const agentInboxListSchema = z.object({\n items: z.array(agentInboxItemSchema),\n nextCursor: z.string().nullable(),\n});\nexport type AgentInboxList = z.infer<typeof agentInboxListSchema>;\n\nexport const agentConversationViewSchema = z.object({\n conversationId: z.string().uuid(),\n state: z.enum(['active', 'canceled', 'expired']),\n participants: z.array(z.object({ uaid: z.string() })),\n messages: z.array(agentMessageViewSchema),\n nextCursor: z.string().nullable(),\n});\nexport type AgentConversationView = z.infer<typeof agentConversationViewSchema>;\n\nexport const agentReplyResultSchema = z.object({\n request: agentMessageViewSchema,\n response: agentMessageViewSchema,\n});\nexport type AgentReplyResult = z.infer<typeof agentReplyResultSchema>;\n\nexport const agentRuntimeRegistrationResultSchema = z.object({\n runtime: agentRuntimeViewSchema,\n registration: agentRegistrationStateSchema,\n});\nexport type AgentRuntimeRegistrationResult = z.infer<\n typeof agentRuntimeRegistrationResultSchema\n>;\n\nexport const agentProbeResultSchema = z.object({\n nonce: z.string(),\n issuedAt: isoDate,\n});\n\n// ---------------------------------------------------------------------------\n// Inputs\n// ---------------------------------------------------------------------------\n\nexport interface RegisterAgentRuntimeInput {\n displayName: string;\n declaredProvider: AgentNetworkProvider;\n description?: string;\n capabilities?: string[];\n linkExistingUaid?: string;\n preferredReceiveMode?: 'poll' | 'push' | 'events';\n callbackUrl?: string;\n}\n\nexport interface UpdateAgentRuntimePolicyInput {\n paused?: boolean;\n allowedPeerUaids?: string[];\n maxOutboundPerMinute?: number;\n maxPendingMessages?: number;\n receiveMode?: 'poll' | 'push' | 'events' | 'none';\n}\n\nexport interface SendAgentMessageInput {\n recipientUaid: string;\n conversationId?: string;\n kind: 'request' | 'event';\n content: { type: 'text'; text: string };\n expiresInSeconds?: number;\n /** Caller-generated dedupe key — passed through unchanged. */\n idempotencyKey: string;\n}\n\nexport interface AgentLeaseRef {\n leaseId: string;\n fencingToken: number;\n}\n\nexport interface ReplyToAgentMessageInput extends AgentLeaseRef {\n content: { type: 'text'; text: string };\n idempotencyKey: string;\n outcome: 'answered' | 'failed' | 'refused' | 'canceled';\n}\n\nexport interface AgentInboxQuery {\n cursor?: string;\n limit?: number;\n includeAcknowledged?: boolean;\n}\n\nexport interface WaitForAgentReplyOptions {\n /** Absolute bound — never resends the request. Default 60s. */\n timeoutMs?: number;\n pollIntervalMs?: number;\n signal?: AbortSignal;\n}\n\n// ---------------------------------------------------------------------------\n// API\n// ---------------------------------------------------------------------------\n\nconst sleep = (ms: number, signal?: AbortSignal): Promise<void> =>\n new Promise((resolve, reject) => {\n const t = setTimeout(resolve, ms);\n signal?.addEventListener(\n 'abort',\n () => {\n clearTimeout(t);\n reject(new Error('waitForReply aborted'));\n },\n { once: true },\n );\n });\n\nexport interface RegistryBrokerAgentNetworkApi {\n // --- owner plane (client credentials) ---\n quoteRuntime(): Promise<AgentRuntimeQuote>;\n registerRuntime(\n input: RegisterAgentRuntimeInput,\n ): Promise<AgentRuntimeRegistrationResult>;\n listRuntimes(): Promise<AgentRuntimeView[]>;\n updateRuntimePolicy(\n runtimeId: string,\n input: UpdateAgentRuntimePolicyInput,\n ): Promise<AgentRuntimeView>;\n probeRuntime(runtimeId: string): Promise<{ nonce: string; issuedAt: string }>;\n startAgentConnection(runtimeId: string): Promise<AgentPairingStart>;\n completeAgentPairing(pairingCode: string): Promise<AgentPairingComplete>;\n revokeAgentConnection(grantId: string): Promise<void>;\n\n // --- bot plane (grant bearer token) ---\n agentMe(token: string): Promise<AgentRuntimeView>;\n sendAgentMessage(\n token: string,\n input: SendAgentMessageInput,\n ): Promise<AgentMessageAccepted>;\n getAgentMessage(token: string, messageId: string): Promise<AgentMessageView>;\n getAgentConversation(\n token: string,\n conversationId: string,\n query?: { cursor?: string; limit?: number },\n ): Promise<AgentConversationView>;\n listAgentInbox(\n token: string,\n query?: AgentInboxQuery,\n ): Promise<AgentInboxList>;\n claimAgentMessage(token: string): Promise<AgentClaimedMessage | null>;\n acknowledgeAgentMessage(\n token: string,\n messageId: string,\n lease: AgentLeaseRef,\n ): Promise<AgentMessageView>;\n renewAgentMessageLease(\n token: string,\n messageId: string,\n lease: AgentLeaseRef & { extendSeconds?: number },\n ): Promise<AgentLeaseView>;\n replyToAgentMessage(\n token: string,\n messageId: string,\n input: ReplyToAgentMessageInput,\n ): Promise<AgentReplyResult>;\n rejectAgentMessage(\n token: string,\n messageId: string,\n lease: AgentLeaseRef & { reason?: string },\n ): Promise<AgentMessageView>;\n cancelAgentConversation(\n token: string,\n conversationId: string,\n ): Promise<{ conversationId: string; canceledMessages: number }>;\n /**\n * Bounded wait for a reply — polls status without resending. Returns the\n * response message when the request completes, null on timeout.\n */\n waitForAgentReply(\n token: string,\n messageId: string,\n options?: WaitForAgentReplyOptions,\n ): Promise<AgentMessageView | null>;\n}\n\nconst bearerHeaders = (token: string): Record<string, string> => ({\n authorization: `Bearer ${token}`,\n});\n\nconst encodePath = (value: string): string => encodeURIComponent(value);\n\nconst qs = (params: Record<string, string | number | boolean | undefined>) => {\n const query = new URLSearchParams();\n for (const [k, v] of Object.entries(params)) {\n if (v !== undefined) query.set(k, String(v));\n }\n const s = query.toString();\n return s ? `?${s}` : '';\n};\n\nexport function createAgentNetworkApi(\n client: RegistryBrokerClient,\n): RegistryBrokerAgentNetworkApi {\n const json = async <S extends z.ZodTypeAny>(\n path: string,\n schema: S,\n init: { method?: string; body?: unknown; token?: string },\n ): Promise<z.infer<S>> => {\n const raw = await client.requestJson<JsonValue>(`${path}`, {\n method: init.method ?? 'GET',\n body: init.body as JsonValue,\n headers: init.token ? bearerHeaders(init.token) : undefined,\n });\n const parsed = schema.safeParse(raw);\n if (!parsed.success) {\n throw new RegistryBrokerParseError(\n 'Unexpected agent-network response shape',\n JSON.stringify(raw).slice(0, 500),\n );\n }\n return parsed.data;\n };\n\n const bot204 = async (path: string, token: string, body?: unknown) => {\n const response = await client.request(`${path}`, {\n method: 'POST',\n body,\n headers: bearerHeaders(token),\n });\n return response.status === 204 ? null : response.json();\n };\n\n return {\n quoteRuntime: () =>\n json('/agent-runtimes/quote', agentRuntimeQuoteSchema, {\n method: 'POST',\n }),\n\n registerRuntime: (input) =>\n json('/agent-runtimes/register', agentRuntimeRegistrationResultSchema, {\n method: 'POST',\n body: input,\n }),\n\n listRuntimes: async () => {\n const raw = await client.requestJson<JsonValue>('/agent-runtimes', {});\n const parsed = z\n .object({ runtimes: z.array(agentRuntimeViewSchema) })\n .safeParse(raw);\n if (!parsed.success) {\n throw new RegistryBrokerParseError(\n 'Unexpected runtime list shape',\n JSON.stringify(raw).slice(0, 500),\n );\n }\n return parsed.data.runtimes;\n },\n\n updateRuntimePolicy: (runtimeId, input) =>\n json(\n `/agent-runtimes/${encodePath(runtimeId)}`,\n agentRuntimeViewSchema,\n { method: 'PATCH', body: input },\n ),\n\n probeRuntime: async (runtimeId) =>\n (await json(\n `/agent-runtimes/${encodePath(runtimeId)}/probe`,\n agentProbeResultSchema,\n { method: 'POST' },\n )) as { nonce: string; issuedAt: string },\n\n startAgentConnection: (runtimeId) =>\n json('/agent-connections', agentPairingStartSchema, {\n method: 'POST',\n body: { runtimeId },\n }),\n\n completeAgentPairing: (pairingCode) =>\n json('/agent-connections/pair', agentPairingCompleteSchema, {\n method: 'POST',\n body: { pairingCode },\n }),\n\n revokeAgentConnection: async (grantId) => {\n await client.request(`/agent-connections/${encodePath(grantId)}`, {\n method: 'DELETE',\n });\n },\n\n agentMe: async (token) => {\n const raw = await client.requestJson<JsonValue>(\n '/agent-runtimes/me',\n { headers: bearerHeaders(token) },\n );\n const parsed = z\n .object({ runtime: agentRuntimeViewSchema })\n .safeParse(raw);\n if (!parsed.success) {\n throw new RegistryBrokerParseError(\n 'Unexpected agent-runtimes/me shape',\n JSON.stringify(raw).slice(0, 500),\n );\n }\n return parsed.data.runtime;\n },\n\n sendAgentMessage: (token, input) =>\n json('/agent-messages', agentMessageAcceptedSchema, {\n method: 'POST',\n body: input,\n token,\n }),\n\n getAgentMessage: (token, messageId) =>\n json(\n `/agent-messages/${encodePath(messageId)}`,\n agentMessageViewSchema,\n { token },\n ),\n\n getAgentConversation: (token, conversationId, query) =>\n json(\n `/agent-conversations/${encodePath(conversationId)}${qs({\n cursor: query?.cursor,\n limit: query?.limit,\n })}`,\n agentConversationViewSchema,\n { token },\n ),\n\n listAgentInbox: (token, query) =>\n json(\n `/agent-inbox${qs({\n cursor: query?.cursor,\n limit: query?.limit,\n includeAcknowledged: query?.includeAcknowledged,\n })}`,\n agentInboxListSchema,\n { token },\n ),\n\n claimAgentMessage: async (token) => {\n const raw = await bot204('/agent-inbox/leases', token, {});\n if (raw === null) {\n return null;\n }\n const parsed = agentClaimedMessageSchema.safeParse(raw);\n if (!parsed.success) {\n throw new RegistryBrokerParseError(\n 'Unexpected claim response shape',\n JSON.stringify(raw).slice(0, 500),\n );\n }\n return parsed.data;\n },\n\n acknowledgeAgentMessage: (token, messageId, lease) =>\n json(\n `/agent-inbox/${encodePath(messageId)}/ack`,\n agentMessageViewSchema,\n { method: 'POST', body: lease, token },\n ),\n\n renewAgentMessageLease: (token, messageId, input) =>\n json(\n `/agent-inbox/${encodePath(messageId)}/lease/renew`,\n agentLeaseViewSchema,\n { method: 'POST', body: input, token },\n ),\n\n replyToAgentMessage: (token, messageId, input) =>\n json(\n `/agent-messages/${encodePath(messageId)}/reply`,\n agentReplyResultSchema,\n { method: 'POST', body: input, token },\n ),\n\n rejectAgentMessage: (token, messageId, input) =>\n json(\n `/agent-messages/${encodePath(messageId)}/reject`,\n agentMessageViewSchema,\n { method: 'POST', body: input, token },\n ),\n\n cancelAgentConversation: async (token, conversationId) => {\n const raw = await client.requestJson<JsonValue>(\n `/agent-conversations/${encodePath(conversationId)}/cancel`,\n { method: 'POST', body: {}, headers: bearerHeaders(token) },\n );\n const parsed = z\n .object({\n conversationId: z.string().uuid(),\n canceledMessages: z.number(),\n })\n .safeParse(raw);\n if (!parsed.success) {\n throw new RegistryBrokerParseError(\n 'Unexpected cancel response shape',\n JSON.stringify(raw).slice(0, 500),\n );\n }\n return parsed.data as {\n conversationId: string;\n canceledMessages: number;\n };\n },\n\n waitForAgentReply: async (token, messageId, options) => {\n const timeoutMs = options?.timeoutMs ?? 60_000;\n const interval = Math.max(250, options?.pollIntervalMs ?? 2_000);\n const deadline = Date.now() + timeoutMs;\n while (Date.now() < deadline) {\n const message = await json(\n `/agent-messages/${encodePath(messageId)}`,\n agentMessageViewSchema,\n { token },\n );\n if (message.requestState === 'completed') {\n const conversation = await json(\n `/agent-conversations/${encodePath(message.conversationId)}`,\n agentConversationViewSchema,\n { token },\n );\n return (\n conversation.messages.find(\n (m) => m.inReplyTo === messageId && m.kind === 'response',\n ) ?? null\n );\n }\n if (\n message.requestState === 'rejected' ||\n message.requestState === 'failed' ||\n message.requestState === 'expired' ||\n message.requestState === 'canceled'\n ) {\n return null;\n }\n await sleep(Math.min(interval, deadline - Date.now()), options?.signal);\n }\n return null;\n },\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standards-sdk.es152.js","sources":["../../src/services/registry-broker/client/agent-network.ts"],"sourcesContent":["/**\n * Agent-network client surface — typed methods over the registry-broker\n * /api/v1/agent-* routes. Two auth planes:\n *\n * - Owner plane uses the client's configured credentials (x-api-key).\n * - Bot plane takes a `hol_agt_…` grant bearer token per call; the token is\n * passed as Authorization and never persisted by the client.\n *\n * Every response is parsed with the schemas below so pending/terminal\n * discriminated states survive to callers. Idempotency keys, lease versions\n * (fencing tokens), and cancellation ids are passed through unchanged.\n */\nimport { z } from 'zod';\nimport type { RegistryBrokerClient } from './base-client';\nimport { RegistryBrokerParseError } from './errors';\nimport type { JsonValue } from '../types';\n\n// ---------------------------------------------------------------------------\n// Schemas (mirror broker contract)\n// ---------------------------------------------------------------------------\n\nexport const agentNetworkProviderSchema = z.enum([\n 'openclaw',\n 'grok',\n 'dot',\n 'muse',\n 'api',\n 'other',\n]);\nexport type AgentNetworkProvider = z.infer<typeof agentNetworkProviderSchema>;\n\nexport const agentConnectionStateSchema = z.enum([\n 'unavailable',\n 'pending_pairing',\n 'interactive_verified',\n 'polling_verified',\n 'push_verified',\n 'needs_reconnect',\n 'paused',\n 'degraded',\n]);\n\nexport const agentRegistrationStateSchema = z.enum([\n 'unregistered',\n 'quote_issued',\n 'pending',\n 'registered',\n 'failed',\n]);\n\n/**\n * The registration *result* enum is distinct from the persisted lifecycle\n * state — a register call resolves to one of these, including `linked` for\n * owners attaching an existing UAID.\n */\nexport const agentRegistrationResultStateSchema = z.enum([\n 'registered',\n 'pending',\n 'linked',\n 'unregistered',\n]);\n\nexport const agentReceiveModeSchema = z.enum(['none', 'poll', 'push']);\n\nexport const agentRequestStateSchema = z.enum([\n 'accepted',\n 'awaiting_consent',\n 'queued',\n 'processing',\n 'completed',\n 'rejected',\n 'failed',\n 'expired',\n 'canceled',\n]);\nexport type AgentRequestState = z.infer<typeof agentRequestStateSchema>;\n\nexport const agentDeliveryStateSchema = z.enum([\n 'pending',\n 'notifying',\n 'provider_accepted',\n 'acknowledged',\n 'retry_scheduled',\n 'permanently_failed',\n]);\nexport type AgentDeliveryState = z.infer<typeof agentDeliveryStateSchema>;\n\nexport const agentMessageKindSchema = z.enum(['request', 'response', 'event']);\nexport type AgentMessageKind = z.infer<typeof agentMessageKindSchema>;\n\nconst isoDate = z.string();\n\nexport const agentRuntimeViewSchema = z.object({\n runtimeId: z.string().uuid(),\n uaid: z.string().nullable(),\n ownerType: z.string(),\n ownerId: z.string(),\n declaredProvider: agentNetworkProviderSchema,\n connectionState: agentConnectionStateSchema,\n registrationState: agentRegistrationStateSchema,\n registrationAttemptId: z.string().nullable(),\n receiveMode: agentReceiveModeSchema,\n gatewayUrl: z.string().nullable(),\n paused: z.boolean(),\n allowedPeerUaids: z.array(z.string()).nullable(),\n capabilities: z.array(z.string()),\n lastActivityAt: isoDate.nullable(),\n createdAt: isoDate,\n});\nexport type AgentRuntimeView = z.infer<typeof agentRuntimeViewSchema>;\n\nexport const agentRuntimeQuoteSchema = z.object({\n quoteId: z.string(),\n expiresAt: isoDate,\n registrationFeeCredits: z.number().nullable(),\n gatewayUrl: z.string(),\n});\nexport type AgentRuntimeQuote = z.infer<typeof agentRuntimeQuoteSchema>;\n\nexport const agentPairingStartSchema = z.object({\n grantId: z.string().uuid(),\n pairingCode: z.string(),\n expiresAt: isoDate,\n});\nexport type AgentPairingStart = z.infer<typeof agentPairingStartSchema>;\n\nexport const agentPairingCompleteSchema = z.object({\n grantId: z.string().uuid(),\n runtimeId: z.string().uuid(),\n token: z.string(),\n scopes: z.array(z.string()),\n});\nexport type AgentPairingComplete = z.infer<typeof agentPairingCompleteSchema>;\n\nexport const agentMessageViewSchema = z.object({\n messageId: z.string().uuid(),\n conversationId: z.string().uuid(),\n schemaVersion: z.literal('hol-agent-message/1'),\n kind: agentMessageKindSchema,\n senderUaid: z.string(),\n recipientUaid: z.string(),\n inReplyTo: z.string().uuid().nullable(),\n content: z.object({ type: z.literal('text'), text: z.string() }),\n requestState: agentRequestStateSchema,\n createdAt: isoDate,\n expiresAt: isoDate,\n traceId: z.string(),\n});\nexport type AgentMessageView = z.infer<typeof agentMessageViewSchema>;\n\nexport const agentMessageAcceptedSchema = z.object({\n messageId: z.string().uuid(),\n conversationId: z.string().uuid(),\n requestState: agentRequestStateSchema,\n createdAt: isoDate,\n expiresAt: isoDate,\n deduplicated: z.boolean(),\n});\nexport type AgentMessageAccepted = z.infer<typeof agentMessageAcceptedSchema>;\n\nexport const agentLeaseViewSchema = z.object({\n leaseId: z.string().uuid(),\n messageId: z.string().uuid(),\n fencingToken: z.number().int(),\n expiresAt: isoDate,\n});\nexport type AgentLeaseView = z.infer<typeof agentLeaseViewSchema>;\n\nexport const agentClaimedMessageSchema = z.object({\n message: agentMessageViewSchema,\n lease: agentLeaseViewSchema,\n});\nexport type AgentClaimedMessage = z.infer<typeof agentClaimedMessageSchema>;\n\nexport const agentInboxItemSchema = z.object({\n messageId: z.string().uuid(),\n conversationId: z.string().uuid(),\n kind: agentMessageKindSchema,\n senderUaid: z.string(),\n content: z.object({ type: z.literal('text'), text: z.string() }),\n requestState: agentRequestStateSchema,\n deliveryState: agentDeliveryStateSchema,\n acknowledged: z.boolean(),\n leaseId: z.string().uuid().nullable(),\n fencingToken: z.number().int().nullable(),\n createdAt: isoDate,\n expiresAt: isoDate,\n});\nexport type AgentInboxItem = z.infer<typeof agentInboxItemSchema>;\n\nexport const agentInboxListSchema = z.object({\n items: z.array(agentInboxItemSchema),\n nextCursor: z.string().nullable(),\n});\nexport type AgentInboxList = z.infer<typeof agentInboxListSchema>;\n\nexport const agentConversationViewSchema = z.object({\n conversationId: z.string().uuid(),\n state: z.enum(['active', 'canceled', 'expired']),\n participants: z.array(z.object({ uaid: z.string() })),\n messages: z.array(agentMessageViewSchema),\n nextCursor: z.string().nullable(),\n});\nexport type AgentConversationView = z.infer<typeof agentConversationViewSchema>;\n\nexport const agentReplyResultSchema = z.object({\n request: agentMessageViewSchema,\n response: agentMessageViewSchema,\n});\nexport type AgentReplyResult = z.infer<typeof agentReplyResultSchema>;\n\nexport const agentRuntimeRegistrationResultSchema = z.object({\n runtime: agentRuntimeViewSchema,\n registration: agentRegistrationResultStateSchema,\n});\nexport type AgentRuntimeRegistrationResult = z.infer<\n typeof agentRuntimeRegistrationResultSchema\n>;\n\nexport const agentProbeResultSchema = z.object({\n nonce: z.string(),\n issuedAt: isoDate,\n});\n\nexport const agentSubscriptionEventTypeSchema = z.enum([\n 'notify_request',\n 'notify_event',\n 'notify_response',\n]);\nexport type AgentSubscriptionEventType = z.infer<\n typeof agentSubscriptionEventTypeSchema\n>;\n\nexport const agentSubscriptionViewSchema = z.object({\n subscriptionId: z.string().uuid(),\n runtimeId: z.string().uuid(),\n eventType: agentSubscriptionEventTypeSchema,\n callbackUrl: z.string().nullable(),\n state: z.string(),\n expiresAt: isoDate.nullable(),\n createdAt: isoDate,\n});\nexport type AgentSubscriptionView = z.infer<typeof agentSubscriptionViewSchema>;\n\nexport const agentSubscriptionListSchema = z.object({\n subscriptions: z.array(agentSubscriptionViewSchema),\n});\n\nexport const agentSubscriptionCreatedSchema = z.object({\n subscription: agentSubscriptionViewSchema,\n});\n\n// ---------------------------------------------------------------------------\n// Inputs\n// ---------------------------------------------------------------------------\n\nexport interface RegisterAgentRuntimeInput {\n displayName: string;\n declaredProvider: AgentNetworkProvider;\n description?: string;\n capabilities?: string[];\n linkExistingUaid?: string;\n preferredReceiveMode?: 'poll' | 'push';\n}\n\nexport interface UpdateAgentRuntimePolicyInput {\n paused?: boolean;\n allowedPeerUaids?: string[];\n maxOutboundPerMinute?: number;\n maxPendingMessages?: number;\n receiveMode?: 'poll' | 'push';\n}\n\nexport interface SendAgentMessageInput {\n recipientUaid: string;\n conversationId?: string;\n kind: 'request' | 'event';\n content: { type: 'text'; text: string };\n expiresInSeconds?: number;\n /** Caller-generated dedupe key — passed through unchanged. */\n idempotencyKey: string;\n}\n\nexport interface AgentLeaseRef {\n leaseId: string;\n fencingToken: number;\n}\n\nexport interface ReplyToAgentMessageInput extends AgentLeaseRef {\n content: { type: 'text'; text: string };\n idempotencyKey: string;\n outcome?: 'answered' | 'partial' | 'refused';\n}\n\nexport interface AgentInboxQuery {\n cursor?: string;\n limit?: number;\n includeAcknowledged?: boolean;\n}\n\nexport interface CreateAgentSubscriptionInput {\n eventType?: AgentSubscriptionEventType;\n /** Public HTTPS webhook target — validated for safety server-side. */\n callbackUrl: string;\n signingSecret?: string;\n expiresAt?: string;\n}\n\nexport interface WaitForAgentReplyOptions {\n /** Absolute bound — never resends the request. Default 60s. */\n timeoutMs?: number;\n pollIntervalMs?: number;\n signal?: AbortSignal;\n}\n\n// ---------------------------------------------------------------------------\n// API\n// ---------------------------------------------------------------------------\n\nconst sleep = (ms: number, signal?: AbortSignal): Promise<void> =>\n new Promise((resolve, reject) => {\n const t = setTimeout(resolve, ms);\n signal?.addEventListener(\n 'abort',\n () => {\n clearTimeout(t);\n reject(new Error('waitForReply aborted'));\n },\n { once: true },\n );\n });\n\nexport interface RegistryBrokerAgentNetworkApi {\n // --- owner plane (client credentials) ---\n quoteRuntime(): Promise<AgentRuntimeQuote>;\n registerRuntime(\n input: RegisterAgentRuntimeInput,\n ): Promise<AgentRuntimeRegistrationResult>;\n listRuntimes(): Promise<AgentRuntimeView[]>;\n updateRuntimePolicy(\n runtimeId: string,\n input: UpdateAgentRuntimePolicyInput,\n ): Promise<AgentRuntimeView>;\n probeRuntime(runtimeId: string): Promise<{ nonce: string; issuedAt: string }>;\n startAgentConnection(runtimeId: string): Promise<AgentPairingStart>;\n completeAgentPairing(pairingCode: string): Promise<AgentPairingComplete>;\n revokeAgentConnection(grantId: string): Promise<void>;\n /** Owner-scoped inbox read — no bot grant token required. */\n listRuntimeInbox(\n runtimeId: string,\n query?: AgentInboxQuery,\n ): Promise<AgentInboxList>;\n /** Owner-scoped conversation read scoped to an owned runtime. */\n getRuntimeConversation(\n runtimeId: string,\n conversationId: string,\n query?: { cursor?: string; limit?: number },\n ): Promise<AgentConversationView>;\n createAgentSubscription(\n runtimeId: string,\n input: CreateAgentSubscriptionInput,\n ): Promise<AgentSubscriptionView>;\n listAgentSubscriptions(\n runtimeId: string,\n ): Promise<AgentSubscriptionView[]>;\n revokeAgentSubscription(\n runtimeId: string,\n subscriptionId: string,\n ): Promise<void>;\n\n // --- bot plane (grant bearer token) ---\n agentMe(token: string): Promise<AgentRuntimeView>;\n sendAgentMessage(\n token: string,\n input: SendAgentMessageInput,\n ): Promise<AgentMessageAccepted>;\n getAgentMessage(token: string, messageId: string): Promise<AgentMessageView>;\n getAgentConversation(\n token: string,\n conversationId: string,\n query?: { cursor?: string; limit?: number },\n ): Promise<AgentConversationView>;\n listAgentInbox(\n token: string,\n query?: AgentInboxQuery,\n ): Promise<AgentInboxList>;\n claimAgentMessage(token: string): Promise<AgentClaimedMessage | null>;\n acknowledgeAgentMessage(\n token: string,\n messageId: string,\n lease: AgentLeaseRef,\n ): Promise<AgentMessageView>;\n renewAgentMessageLease(\n token: string,\n messageId: string,\n lease: AgentLeaseRef & { extendSeconds?: number },\n ): Promise<AgentLeaseView>;\n replyToAgentMessage(\n token: string,\n messageId: string,\n input: ReplyToAgentMessageInput,\n ): Promise<AgentReplyResult>;\n rejectAgentMessage(\n token: string,\n messageId: string,\n lease: AgentLeaseRef & { reason?: string },\n ): Promise<AgentMessageView>;\n cancelAgentConversation(\n token: string,\n conversationId: string,\n ): Promise<{ conversationId: string; canceledMessages: number }>;\n /**\n * Bounded wait for a reply — polls status without resending. Returns the\n * response message when the request completes, null on timeout.\n */\n waitForAgentReply(\n token: string,\n messageId: string,\n options?: WaitForAgentReplyOptions,\n ): Promise<AgentMessageView | null>;\n}\n\nconst bearerHeaders = (token: string): Record<string, string> => ({\n authorization: `Bearer ${token}`,\n});\n\nconst encodePath = (value: string): string => encodeURIComponent(value);\n\nconst qs = (params: Record<string, string | number | boolean | undefined>) => {\n const query = new URLSearchParams();\n for (const [k, v] of Object.entries(params)) {\n if (v !== undefined) {\n query.set(k, String(v));\n }\n }\n const s = query.toString();\n return s ? `?${s}` : '';\n};\n\nexport function createAgentNetworkApi(\n client: RegistryBrokerClient,\n): RegistryBrokerAgentNetworkApi {\n const json = async <S extends z.ZodTypeAny>(\n path: string,\n schema: S,\n init: { method?: string; body?: unknown; token?: string },\n ): Promise<z.infer<S>> => {\n const raw = await client.requestJson<JsonValue>(`${path}`, {\n method: init.method ?? 'GET',\n body: init.body as JsonValue,\n headers: init.token ? bearerHeaders(init.token) : undefined,\n });\n const parsed = schema.safeParse(raw);\n if (!parsed.success) {\n throw new RegistryBrokerParseError(\n 'Unexpected agent-network response shape',\n JSON.stringify(raw).slice(0, 500),\n );\n }\n return parsed.data;\n };\n\n const bot204 = async (path: string, token: string, body?: unknown) => {\n const response = await client.request(`${path}`, {\n method: 'POST',\n body,\n headers: bearerHeaders(token),\n });\n return response.status === 204 ? null : response.json();\n };\n\n return {\n quoteRuntime: () =>\n json('/agent-runtimes/quote', agentRuntimeQuoteSchema, {\n method: 'POST',\n }),\n\n registerRuntime: (input) =>\n json('/agent-runtimes/register', agentRuntimeRegistrationResultSchema, {\n method: 'POST',\n body: input,\n }),\n\n listRuntimes: async () => {\n const raw = await client.requestJson<JsonValue>('/agent-runtimes', {});\n const parsed = z\n .object({ runtimes: z.array(agentRuntimeViewSchema) })\n .safeParse(raw);\n if (!parsed.success) {\n throw new RegistryBrokerParseError(\n 'Unexpected runtime list shape',\n JSON.stringify(raw).slice(0, 500),\n );\n }\n return parsed.data.runtimes;\n },\n\n updateRuntimePolicy: (runtimeId, input) =>\n json(\n `/agent-runtimes/${encodePath(runtimeId)}`,\n agentRuntimeViewSchema,\n { method: 'PATCH', body: input },\n ),\n\n probeRuntime: async (runtimeId) =>\n (await json(\n `/agent-runtimes/${encodePath(runtimeId)}/probe`,\n agentProbeResultSchema,\n { method: 'POST' },\n )) as { nonce: string; issuedAt: string },\n\n startAgentConnection: (runtimeId) =>\n json('/agent-connections', agentPairingStartSchema, {\n method: 'POST',\n body: { runtimeId },\n }),\n\n completeAgentPairing: (pairingCode) =>\n json('/agent-connections/pair', agentPairingCompleteSchema, {\n method: 'POST',\n body: { pairingCode },\n }),\n\n revokeAgentConnection: async (grantId) => {\n await client.request(`/agent-connections/${encodePath(grantId)}`, {\n method: 'DELETE',\n });\n },\n\n listRuntimeInbox: (runtimeId, query) =>\n json(\n `/agent-runtimes/${encodePath(runtimeId)}/inbox${qs({\n cursor: query?.cursor,\n limit: query?.limit,\n includeAcknowledged: query?.includeAcknowledged,\n })}`,\n agentInboxListSchema,\n {},\n ),\n\n getRuntimeConversation: (runtimeId, conversationId, query) =>\n json(\n `/agent-runtimes/${encodePath(runtimeId)}/conversations/${encodePath(\n conversationId,\n )}${qs({ cursor: query?.cursor, limit: query?.limit })}`,\n agentConversationViewSchema,\n {},\n ),\n\n createAgentSubscription: async (runtimeId, input) =>\n (\n await json(\n `/agent-runtimes/${encodePath(runtimeId)}/subscriptions`,\n agentSubscriptionCreatedSchema,\n { method: 'POST', body: input },\n )\n ).subscription,\n\n listAgentSubscriptions: async (runtimeId) =>\n (\n await json(\n `/agent-runtimes/${encodePath(runtimeId)}/subscriptions`,\n agentSubscriptionListSchema,\n {},\n )\n ).subscriptions,\n\n revokeAgentSubscription: async (runtimeId, subscriptionId) => {\n await client.request(\n `/agent-runtimes/${encodePath(runtimeId)}/subscriptions/${encodePath(\n subscriptionId,\n )}`,\n { method: 'DELETE' },\n );\n },\n\n agentMe: async (token) => {\n const raw = await client.requestJson<JsonValue>(\n '/agent-runtimes/me',\n { headers: bearerHeaders(token) },\n );\n const parsed = z\n .object({ runtime: agentRuntimeViewSchema })\n .safeParse(raw);\n if (!parsed.success) {\n throw new RegistryBrokerParseError(\n 'Unexpected agent-runtimes/me shape',\n JSON.stringify(raw).slice(0, 500),\n );\n }\n return parsed.data.runtime;\n },\n\n sendAgentMessage: (token, input) =>\n json('/agent-messages', agentMessageAcceptedSchema, {\n method: 'POST',\n body: input,\n token,\n }),\n\n getAgentMessage: (token, messageId) =>\n json(\n `/agent-messages/${encodePath(messageId)}`,\n agentMessageViewSchema,\n { token },\n ),\n\n getAgentConversation: (token, conversationId, query) =>\n json(\n `/agent-conversations/${encodePath(conversationId)}${qs({\n cursor: query?.cursor,\n limit: query?.limit,\n })}`,\n agentConversationViewSchema,\n { token },\n ),\n\n listAgentInbox: (token, query) =>\n json(\n `/agent-inbox${qs({\n cursor: query?.cursor,\n limit: query?.limit,\n includeAcknowledged: query?.includeAcknowledged,\n })}`,\n agentInboxListSchema,\n { token },\n ),\n\n claimAgentMessage: async (token) => {\n const raw = await bot204('/agent-inbox/leases', token, {});\n if (raw === null) {\n return null;\n }\n const parsed = agentClaimedMessageSchema.safeParse(raw);\n if (!parsed.success) {\n throw new RegistryBrokerParseError(\n 'Unexpected claim response shape',\n JSON.stringify(raw).slice(0, 500),\n );\n }\n return parsed.data;\n },\n\n acknowledgeAgentMessage: (token, messageId, lease) =>\n json(\n `/agent-inbox/${encodePath(messageId)}/ack`,\n agentMessageViewSchema,\n { method: 'POST', body: lease, token },\n ),\n\n renewAgentMessageLease: (token, messageId, input) =>\n json(\n `/agent-inbox/${encodePath(messageId)}/lease/renew`,\n agentLeaseViewSchema,\n { method: 'POST', body: input, token },\n ),\n\n replyToAgentMessage: (token, messageId, input) =>\n json(\n `/agent-messages/${encodePath(messageId)}/reply`,\n agentReplyResultSchema,\n { method: 'POST', body: input, token },\n ),\n\n rejectAgentMessage: (token, messageId, input) =>\n json(\n `/agent-messages/${encodePath(messageId)}/reject`,\n agentMessageViewSchema,\n { method: 'POST', body: input, token },\n ),\n\n cancelAgentConversation: async (token, conversationId) => {\n const raw = await client.requestJson<JsonValue>(\n `/agent-conversations/${encodePath(conversationId)}/cancel`,\n { method: 'POST', body: {}, headers: bearerHeaders(token) },\n );\n const parsed = z\n .object({\n conversationId: z.string().uuid(),\n canceledMessages: z.number(),\n })\n .safeParse(raw);\n if (!parsed.success) {\n throw new RegistryBrokerParseError(\n 'Unexpected cancel response shape',\n JSON.stringify(raw).slice(0, 500),\n );\n }\n return parsed.data as {\n conversationId: string;\n canceledMessages: number;\n };\n },\n\n waitForAgentReply: async (token, messageId, options) => {\n const timeoutMs = options?.timeoutMs ?? 60_000;\n const interval = Math.max(250, options?.pollIntervalMs ?? 2_000);\n const deadline = Date.now() + timeoutMs;\n while (Date.now() < deadline) {\n const message = await json(\n `/agent-messages/${encodePath(messageId)}`,\n agentMessageViewSchema,\n { token },\n );\n if (message.requestState === 'completed') {\n const conversation = await json(\n `/agent-conversations/${encodePath(message.conversationId)}`,\n agentConversationViewSchema,\n { token },\n );\n return (\n conversation.messages.find(\n (m) => m.inReplyTo === messageId && m.kind === 'response',\n ) ?? null\n );\n }\n if (\n message.requestState === 'rejected' ||\n message.requestState === 'failed' ||\n message.requestState === 'expired' ||\n message.requestState === 'canceled'\n ) {\n return null;\n }\n await sleep(Math.min(interval, deadline - Date.now()), options?.signal);\n }\n return null;\n },\n };\n}\n"],"names":[],"mappings":"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"}
|