sealbridge 0.2.2 → 0.3.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/README.ja.md +492 -30
- package/README.md +522 -109
- package/dist/cli/dist/accept.d.ts +13 -0
- package/dist/cli/dist/accept.js +115 -0
- package/dist/cli/dist/accept.js.map +1 -0
- package/dist/cli/dist/approval-summary.d.ts +1 -1
- package/dist/cli/dist/board.d.ts +10 -9
- package/dist/cli/dist/board.js +62 -31
- package/dist/cli/dist/board.js.map +1 -1
- package/dist/cli/dist/command-identity.d.ts +6 -0
- package/dist/cli/dist/command-identity.js +13 -0
- package/dist/cli/dist/command-identity.js.map +1 -0
- package/dist/cli/dist/config.d.ts +3 -0
- package/dist/cli/dist/config.js +29 -0
- package/dist/cli/dist/config.js.map +1 -0
- package/dist/cli/dist/connections.d.ts +15 -0
- package/dist/cli/dist/connections.js +191 -0
- package/dist/cli/dist/connections.js.map +1 -0
- package/dist/cli/dist/contacts.d.ts +4 -3
- package/dist/cli/dist/contacts.js +39 -28
- package/dist/cli/dist/contacts.js.map +1 -1
- package/dist/cli/dist/doctor.d.ts +9 -0
- package/dist/cli/dist/doctor.js +46 -5
- package/dist/cli/dist/doctor.js.map +1 -1
- package/dist/cli/dist/error-messages.js +22 -0
- package/dist/cli/dist/error-messages.js.map +1 -1
- package/dist/cli/dist/index.js +44 -6
- package/dist/cli/dist/index.js.map +1 -1
- package/dist/cli/dist/invite-output.d.ts +14 -0
- package/dist/cli/dist/invite-output.js +66 -0
- package/dist/cli/dist/invite-output.js.map +1 -0
- package/dist/cli/dist/invite-share.d.ts +6 -3
- package/dist/cli/dist/invite-share.js +40 -15
- package/dist/cli/dist/invite-share.js.map +1 -1
- package/dist/cli/dist/invites-migrate.d.ts +3 -0
- package/dist/cli/dist/invites-migrate.js +33 -0
- package/dist/cli/dist/invites-migrate.js.map +1 -0
- package/dist/cli/dist/mcp.d.ts +7 -5
- package/dist/cli/dist/mcp.js +23 -18
- package/dist/cli/dist/mcp.js.map +1 -1
- package/dist/cli/dist/network.d.ts +11 -1
- package/dist/cli/dist/network.js +150 -87
- package/dist/cli/dist/network.js.map +1 -1
- package/dist/cli/dist/pending.d.ts +8 -0
- package/dist/cli/dist/pending.js +50 -0
- package/dist/cli/dist/pending.js.map +1 -0
- package/dist/cli/dist/public-settings.d.ts +5 -4
- package/dist/cli/dist/public-settings.js +13 -15
- package/dist/cli/dist/public-settings.js.map +1 -1
- package/dist/cli/dist/receipt.d.ts +1 -1
- package/dist/cli/dist/relay-auth.d.ts +3 -0
- package/dist/cli/dist/relay-auth.js +23 -0
- package/dist/cli/dist/relay-auth.js.map +1 -0
- package/dist/cli/dist/requests.d.ts +10 -0
- package/dist/cli/dist/requests.js +91 -0
- package/dist/cli/dist/requests.js.map +1 -0
- package/dist/cli/dist/sdk.d.ts +10 -0
- package/dist/cli/dist/sdk.js +7 -0
- package/dist/cli/dist/sdk.js.map +1 -0
- package/dist/cli/dist/setup-files.d.ts +24 -0
- package/dist/cli/dist/setup-files.js +190 -0
- package/dist/cli/dist/setup-files.js.map +1 -0
- package/dist/cli/dist/setup-hosts.d.ts +29 -0
- package/dist/cli/dist/setup-hosts.js +75 -0
- package/dist/cli/dist/setup-hosts.js.map +1 -0
- package/dist/cli/dist/setup.d.ts +61 -0
- package/dist/cli/dist/setup.js +243 -0
- package/dist/cli/dist/setup.js.map +1 -0
- package/dist/cli/dist/task-input.d.ts +1 -1
- package/dist/cli/dist/wake-hook.d.ts +1 -1
- package/dist/cli/dist/worker-json.d.ts +4 -0
- package/dist/cli/dist/worker-json.js +87 -0
- package/dist/cli/dist/worker-json.js.map +1 -0
- package/dist/examples/two-owner-demo/dist/run-demo.d.ts +13 -13
- package/dist/package.json +1 -1
- package/dist/packages/adapters/dist/command.d.ts +2 -2
- package/dist/packages/adapters/dist/credential-proxy.d.ts +2 -2
- package/dist/packages/adapters/dist/index.d.ts +1 -1
- package/dist/packages/adapters/dist/mcp.d.ts +2 -2
- package/dist/packages/adapters/dist/openai.d.ts +2 -2
- package/dist/packages/adapters/dist/sandbox.d.ts +2 -2
- package/dist/packages/core/dist/connection.d.ts +58 -0
- package/dist/packages/core/dist/connection.js +132 -0
- package/dist/packages/core/dist/connection.js.map +1 -0
- package/dist/packages/core/dist/delivery-status.d.ts +22 -0
- package/dist/packages/core/dist/delivery-status.js +53 -0
- package/dist/packages/core/dist/delivery-status.js.map +1 -0
- package/dist/packages/core/dist/discovery.d.ts +7 -6
- package/dist/packages/core/dist/discovery.js +19 -20
- package/dist/packages/core/dist/discovery.js.map +1 -1
- package/dist/packages/core/dist/edge.d.ts +1 -0
- package/dist/packages/core/dist/edge.js +1 -0
- package/dist/packages/core/dist/edge.js.map +1 -1
- package/dist/packages/core/dist/index.d.ts +3 -0
- package/dist/packages/core/dist/index.js +3 -0
- package/dist/packages/core/dist/index.js.map +1 -1
- package/dist/packages/core/dist/protocol.d.ts +24 -0
- package/dist/packages/core/dist/protocol.js +54 -0
- package/dist/packages/core/dist/protocol.js.map +1 -0
- package/dist/packages/core/dist/receipts.d.ts +1 -0
- package/dist/packages/core/dist/receipts.js +1 -1
- package/dist/packages/core/dist/receipts.js.map +1 -1
- package/dist/packages/core/dist/schema.d.ts +1 -0
- package/dist/packages/core/dist/schema.js +13 -2
- package/dist/packages/core/dist/schema.js.map +1 -1
- package/dist/packages/ledger/dist/index.d.ts +1 -1
- package/dist/packages/relay/dist/admission.d.ts +14 -0
- package/dist/packages/relay/dist/admission.js +70 -0
- package/dist/packages/relay/dist/admission.js.map +1 -0
- package/dist/packages/relay/dist/fetch.d.ts +8 -2
- package/dist/packages/relay/dist/fetch.js +41 -12
- package/dist/packages/relay/dist/fetch.js.map +1 -1
- package/dist/packages/relay/dist/index.d.ts +23 -12
- package/dist/packages/relay/dist/index.js +130 -78
- package/dist/packages/relay/dist/index.js.map +1 -1
- package/dist/packages/relay/dist/journal.d.ts +1 -1
- package/dist/packages/relay/dist/notifications.d.ts +1 -1
- package/dist/packages/relay/dist/retry.d.ts +23 -0
- package/dist/packages/relay/dist/retry.js +43 -1
- package/dist/packages/relay/dist/retry.js.map +1 -1
- package/dist/packages/relay/dist/ssrf.d.ts +3 -2
- package/dist/packages/relay/dist/ssrf.js.map +1 -1
- package/dist/packages/relay/dist/worker.js +1 -1
- package/dist/packages/relay/dist/worker.js.map +1 -1
- package/dist/packages/runtime/dist/a2a.d.ts +1 -1
- package/dist/packages/runtime/dist/a2a.js +1 -1
- package/dist/packages/runtime/dist/adapter.d.ts +2 -2
- package/dist/packages/runtime/dist/application-config.d.ts +20 -0
- package/dist/packages/runtime/dist/application-config.js +222 -0
- package/dist/packages/runtime/dist/application-config.js.map +1 -0
- package/dist/packages/runtime/dist/approval-providers.d.ts +24 -3
- package/dist/packages/runtime/dist/approval-providers.js +79 -3
- package/dist/packages/runtime/dist/approval-providers.js.map +1 -1
- package/dist/packages/runtime/dist/connection-admission-review.d.ts +39 -0
- package/dist/packages/runtime/dist/connection-admission-review.js +86 -0
- package/dist/packages/runtime/dist/connection-admission-review.js.map +1 -0
- package/dist/packages/runtime/dist/connection-persistence.d.ts +35 -0
- package/dist/packages/runtime/dist/connection-persistence.js +181 -0
- package/dist/packages/runtime/dist/connection-persistence.js.map +1 -0
- package/dist/packages/runtime/dist/connection-records.d.ts +167 -0
- package/dist/packages/runtime/dist/connection-records.js +132 -0
- package/dist/packages/runtime/dist/connection-records.js.map +1 -0
- package/dist/packages/runtime/dist/connection-router.d.ts +45 -0
- package/dist/packages/runtime/dist/connection-router.js +130 -0
- package/dist/packages/runtime/dist/connection-router.js.map +1 -0
- package/dist/packages/runtime/dist/connection-service.d.ts +159 -0
- package/dist/packages/runtime/dist/connection-service.js +239 -0
- package/dist/packages/runtime/dist/connection-service.js.map +1 -0
- package/dist/packages/runtime/dist/connection-transport.d.ts +14 -0
- package/dist/packages/runtime/dist/connection-transport.js +89 -0
- package/dist/packages/runtime/dist/connection-transport.js.map +1 -0
- package/dist/packages/runtime/dist/delivery-records.d.ts +180 -0
- package/dist/packages/runtime/dist/delivery-records.js +205 -0
- package/dist/packages/runtime/dist/delivery-records.js.map +1 -0
- package/dist/packages/runtime/dist/delivery-status-router.d.ts +27 -0
- package/dist/packages/runtime/dist/delivery-status-router.js +150 -0
- package/dist/packages/runtime/dist/delivery-status-router.js.map +1 -0
- package/dist/packages/runtime/dist/delivery-status.d.ts +43 -0
- package/dist/packages/runtime/dist/delivery-status.js +193 -0
- package/dist/packages/runtime/dist/delivery-status.js.map +1 -0
- package/dist/packages/runtime/dist/delivery-store.d.ts +125 -0
- package/dist/packages/runtime/dist/delivery-store.js +1047 -0
- package/dist/packages/runtime/dist/delivery-store.js.map +1 -0
- package/dist/packages/runtime/dist/gateway.d.ts +4 -3
- package/dist/packages/runtime/dist/gateway.js.map +1 -1
- package/dist/packages/runtime/dist/held-request-review.d.ts +49 -0
- package/dist/packages/runtime/dist/held-request-review.js +122 -0
- package/dist/packages/runtime/dist/held-request-review.js.map +1 -0
- package/dist/packages/runtime/dist/held-request-store.d.ts +112 -0
- package/dist/packages/runtime/dist/held-request-store.js +290 -0
- package/dist/packages/runtime/dist/held-request-store.js.map +1 -0
- package/dist/packages/runtime/dist/idempotency-store.d.ts +53 -0
- package/dist/packages/runtime/dist/idempotency-store.js +331 -0
- package/dist/packages/runtime/dist/idempotency-store.js.map +1 -0
- package/dist/packages/runtime/dist/inbox.d.ts +1 -1
- package/dist/packages/runtime/dist/index.d.ts +27 -1
- package/dist/packages/runtime/dist/index.js +26 -0
- package/dist/packages/runtime/dist/index.js.map +1 -1
- package/dist/packages/runtime/dist/invite-store.d.ts +76 -0
- package/dist/packages/runtime/dist/invite-store.js +337 -0
- package/dist/packages/runtime/dist/invite-store.js.map +1 -0
- package/dist/packages/runtime/dist/key-store.d.ts +77 -0
- package/dist/packages/runtime/dist/key-store.js +226 -0
- package/dist/packages/runtime/dist/key-store.js.map +1 -0
- package/dist/packages/runtime/dist/local-identity.d.ts +33 -0
- package/dist/packages/runtime/dist/local-identity.js +278 -0
- package/dist/packages/runtime/dist/local-identity.js.map +1 -0
- package/dist/packages/runtime/dist/mcp-rpc.d.ts +19 -0
- package/dist/packages/runtime/dist/mcp-rpc.js +175 -0
- package/dist/packages/runtime/dist/mcp-rpc.js.map +1 -0
- package/dist/packages/runtime/dist/mcp-server.d.ts +46 -19
- package/dist/packages/runtime/dist/mcp-server.js +427 -184
- package/dist/packages/runtime/dist/mcp-server.js.map +1 -1
- package/dist/packages/runtime/dist/mcp-tool-catalog.d.ts +1 -1
- package/dist/packages/runtime/dist/mcp-tool-catalog.js +172 -13
- package/dist/packages/runtime/dist/mcp-tool-catalog.js.map +1 -1
- package/dist/packages/runtime/dist/mcp.d.ts +2 -2
- package/dist/packages/runtime/dist/message-status.d.ts +32 -0
- package/dist/packages/runtime/dist/message-status.js +29 -0
- package/dist/packages/runtime/dist/message-status.js.map +1 -0
- package/dist/packages/runtime/dist/outbox.d.ts +91 -0
- package/dist/packages/runtime/dist/outbox.js +462 -0
- package/dist/packages/runtime/dist/outbox.js.map +1 -0
- package/dist/packages/runtime/dist/policy.d.ts +1 -1
- package/dist/packages/runtime/dist/protocol-peer-store.d.ts +40 -0
- package/dist/packages/runtime/dist/protocol-peer-store.js +176 -0
- package/dist/packages/runtime/dist/protocol-peer-store.js.map +1 -0
- package/dist/packages/runtime/dist/protocol-release.d.ts +26 -0
- package/dist/packages/runtime/dist/protocol-release.js +76 -0
- package/dist/packages/runtime/dist/protocol-release.js.map +1 -0
- package/dist/packages/runtime/dist/quota.d.ts +1 -1
- package/dist/packages/runtime/dist/relay-selection.d.ts +20 -0
- package/dist/packages/runtime/dist/relay-selection.js +34 -0
- package/dist/packages/runtime/dist/relay-selection.js.map +1 -0
- package/dist/packages/runtime/dist/requester-pending-store.d.ts +59 -0
- package/dist/packages/runtime/dist/requester-pending-store.js +266 -0
- package/dist/packages/runtime/dist/requester-pending-store.js.map +1 -0
- package/dist/packages/runtime/dist/secret-store.d.ts +19 -0
- package/dist/packages/runtime/dist/secret-store.js +51 -0
- package/dist/packages/runtime/dist/secret-store.js.map +1 -0
- package/dist/packages/runtime/dist/session-audit.d.ts +29 -7
- package/dist/packages/runtime/dist/session-audit.js +149 -29
- package/dist/packages/runtime/dist/session-audit.js.map +1 -1
- package/dist/packages/runtime/dist/session.d.ts +101 -9
- package/dist/packages/runtime/dist/session.js +696 -96
- package/dist/packages/runtime/dist/session.js.map +1 -1
- package/dist/packages/runtime/dist/task-journal.d.ts +18 -3
- package/dist/packages/runtime/dist/task-journal.js +271 -18
- package/dist/packages/runtime/dist/task-journal.js.map +1 -1
- package/dist/packages/runtime/dist/verifier.d.ts +3 -2
- package/dist/packages/runtime/dist/verifier.js +1 -0
- package/dist/packages/runtime/dist/verifier.js.map +1 -1
- package/dist/packages/runtime/dist/worker-trust-store.d.ts +111 -0
- package/dist/packages/runtime/dist/worker-trust-store.js +592 -0
- package/dist/packages/runtime/dist/worker-trust-store.js.map +1 -0
- package/dist/packages/sandbox/dist/container.d.ts +1 -1
- package/dist/packages/sandbox/dist/index.d.ts +1 -1
- package/dist/spec/README.ja.md +21 -1
- package/dist/spec/README.md +20 -1
- package/dist/spec/agent-card.schema.json +11 -1
- package/dist/spec/delivery-status.schema.json +106 -0
- package/dist/spec/examples/protocol-versions/sample-agent-card.json +35 -0
- package/dist/spec/examples/sample-delivery-status.json +21 -0
- package/dist/spec/examples/sample-task-manifest.0.1.0.json +173 -0
- package/dist/spec/examples/sample-task-manifest.0.2.0.json +173 -0
- package/dist/spec/task-manifest.0.1.0.schema.json +422 -0
- package/dist/spec/task-manifest.0.2.0.schema.json +422 -0
- package/dist/spec/task-manifest.schema.json +9 -418
- package/docs/sdk.ja.md +133 -0
- package/docs/sdk.md +138 -0
- package/package.json +15 -3
package/dist/cli/dist/network.js
CHANGED
|
@@ -2,18 +2,21 @@
|
|
|
2
2
|
import { readFileSync, writeFileSync } from 'node:fs';
|
|
3
3
|
import { dirname, join } from 'node:path';
|
|
4
4
|
import { inviteShareCommand } from './invite-share.js';
|
|
5
|
+
import { connectionHumanReview } from './connections.js';
|
|
5
6
|
import { publicSettingsFlags, publicProfileSummary } from './public-settings.js';
|
|
6
|
-
import { createSignedAgentCard, createInviteToken, discoverAgentCards } from '../../packages/core/dist/index.js';
|
|
7
|
+
import { createSignedAgentCard, createInviteToken, discoverAgentCards, isInviteTarget, parseAndVerifyInviteToken } from '../../packages/core/dist/index.js';
|
|
7
8
|
import { startLocalRelay, HttpRelayClient } from '../../packages/relay/dist/index.js';
|
|
8
|
-
import { WorkerNode, RequesterClient, PolicyAutoApprovalProvider, InteractiveCliApprovalProvider, } from '../../packages/runtime/dist/index.js';
|
|
9
|
+
import { WorkerNode, HeldRequestReview, LiveProtocol, ProtocolPeerStore, WorkerTrustStore, workerIntakePath, resolveStoredIdentity, selectApplicationRelay, normalizeRelayUrl, readApplicationConfig, RequesterClient, RequesterPendingStore, InviteStore, PolicyAutoApprovalProvider, InteractiveCliApprovalProvider, } from '../../packages/runtime/dist/index.js';
|
|
9
10
|
import { CommandAgentAdapter, ClaudeCodeAdapter, CodexCliAdapter, OpenAICompatibleAdapter, SandboxAgentAdapter, assertCliAuthentication, } from '../../packages/adapters/dist/index.js';
|
|
10
11
|
import { createWakeHook } from './wake-hook.js';
|
|
11
12
|
import { createReceiveHook } from './receive-hook.js';
|
|
12
13
|
import { contactsPath, loadContacts, contactsApproval, addContact } from './contacts.js';
|
|
13
14
|
import { readTaskInputFile } from './task-input.js';
|
|
14
15
|
import { approvalSummary } from './approval-summary.js';
|
|
15
|
-
import {
|
|
16
|
-
|
|
16
|
+
import { relayAuthOptions, RELAY_AUTH_HELP } from './relay-auth.js';
|
|
17
|
+
import { parseInviteOutput, deliverInvite } from './invite-output.js';
|
|
18
|
+
import { emitWorkerJson, inviteDigest } from './worker-json.js';
|
|
19
|
+
const REPEATABLE = new Set(['--allowed-peer', '--allow-requester', '--allow-task-type']);
|
|
17
20
|
const LLM_ADAPTERS = new Set(['claude', 'codex', 'openai']);
|
|
18
21
|
function flags(args) {
|
|
19
22
|
const out = new Map();
|
|
@@ -83,6 +86,10 @@ const REVIEW_HELP = `
|
|
|
83
86
|
--to <invite|link|did> Delegate: accepts https://sealbridge.app/i#acp-invite:... links.
|
|
84
87
|
--invite-ttl <seconds> Worker invite lifetime (default: 86400 / 24h; range: 1–2592000).
|
|
85
88
|
Startup prints both the token and a ready-to-share HTTPS link.
|
|
89
|
+
--invite-output <destination> Worker: stdout (default), none, file:<path>, or fd:<n> (POSIX only, n > 2).
|
|
90
|
+
File: unused path in an existing private directory; token + newline.
|
|
91
|
+
FD: inherited pipe/socket or private file; remains open. No stdout copy.
|
|
92
|
+
Stderr invite_ready JSON contains metadata only in every mode.
|
|
86
93
|
--verbose Full approval JSON instead of concise summaries (default: off).
|
|
87
94
|
Claude/Codex workers require a host ANTHROPIC_API_KEY / OPENAI_API_KEY.
|
|
88
95
|
Task HOME is fresh: host CLI login directories are not exposed. --cmd overrides manage their own authentication.`;
|
|
@@ -103,7 +110,6 @@ function allowRequesterDids(parsed) {
|
|
|
103
110
|
function workerAcceptance(parsed) {
|
|
104
111
|
return {
|
|
105
112
|
allowedRequesterDids: allowRequesterDids(parsed),
|
|
106
|
-
allowAnyRequester: parsed.has('--allow-any-requester'),
|
|
107
113
|
maxInputTokens: optionalCount(parsed, 'max-input-tokens'),
|
|
108
114
|
maxOutputTokens: optionalCount(parsed, 'max-output-tokens'),
|
|
109
115
|
maxToolInvocations: optionalCount(parsed, 'max-tool-invocations'),
|
|
@@ -113,26 +119,19 @@ function workerAcceptance(parsed) {
|
|
|
113
119
|
publishToRegistry: parsed.has('--publish'),
|
|
114
120
|
};
|
|
115
121
|
}
|
|
116
|
-
function
|
|
117
|
-
const raw = parsed.get('--open-rate-limit-per-did');
|
|
118
|
-
if (raw === undefined)
|
|
119
|
-
return undefined;
|
|
120
|
-
const match = typeof raw === 'string' ? /^([1-9]\d*)(?:\/(?:m|min|60s))?$/.exec(raw) : null;
|
|
121
|
-
if (!match || !Number.isSafeInteger(Number(match[1])))
|
|
122
|
-
throw new Error('INVALID_OPEN_RATE_LIMIT_PER_DID');
|
|
123
|
-
return Number(match[1]);
|
|
124
|
-
}
|
|
125
|
-
function assertLlmAutoAccept(adapter, automatic, acceptance) {
|
|
122
|
+
function assertLlmAutoAccept(adapter, automatic, acceptance, trustedGrant = false) {
|
|
126
123
|
if (!automatic || !LLM_ADAPTERS.has(adapter))
|
|
127
124
|
return;
|
|
128
|
-
if (
|
|
125
|
+
if (trustedGrant || (acceptance.allowedRequesterDids?.length ?? 0) > 0)
|
|
129
126
|
return;
|
|
130
127
|
throw new Error('LLM_AUTO_ACCEPT_REQUIRES_ALLOWLIST: --auto-accept with the ' +
|
|
131
128
|
adapter +
|
|
132
129
|
' adapter can spend the worker owner API key. Pass --allow-requester <did> ' +
|
|
133
|
-
'(repeatable or comma-separated)
|
|
130
|
+
'(repeatable or comma-separated). Connections remain limited and require owner opening.');
|
|
134
131
|
}
|
|
135
|
-
export async function networkCommand(command, args) {
|
|
132
|
+
export async function networkCommand(command, args, application = {}) {
|
|
133
|
+
if (args.some(a => a === '--open' || a.startsWith('--open=') || a === '--access-mode' || a.startsWith('--open-') || a.startsWith('--access-mode=') || a === '--allow-any-requester' || a.startsWith('--allow-any-requester=')))
|
|
134
|
+
throw new Error('ACCESS_MODE_REMOVED: Use connections; replace old budget flags with --max-input-tokens, --max-output-tokens, --max-tool-invocations, --max-wall-clock-seconds, --allow-task-type and --max-requests-per-minute.');
|
|
136
135
|
if (args.includes('--help') && ['delegate', 'worker', 'relay'].includes(command)) {
|
|
137
136
|
console.log(command === 'relay' ? `Relay notification options:
|
|
138
137
|
--wake-command <command> Opt-in wake hook, signed routing JSON on stdin (default: off).
|
|
@@ -142,7 +141,16 @@ export async function networkCommand(command, args) {
|
|
|
142
141
|
--wake-timeout-ms <n> Per-attempt timeout (default: 5000).
|
|
143
142
|
--notification-key <file> Persistent signing key (default: ephemeral local identity).
|
|
144
143
|
--notification-ttl-ms <n> Wake registration/dedup and expiry notice retention (default: 3600000).
|
|
145
|
-
--envelope-ttl-ms <n> Undelivered envelope TTL (default:
|
|
144
|
+
--envelope-ttl-ms <n> Undelivered envelope TTL (default: 86400000).
|
|
145
|
+
--max-queue-size <n> Queued envelopes per recipient (default: 256).
|
|
146
|
+
--max-queue-bytes <n> Queued JSON bytes per recipient (default: 4194304).
|
|
147
|
+
--max-envelope-bytes <n> Signed envelope JSON bytes (default: 262144).
|
|
148
|
+
--max-envelopes-per-sender <n> Queued envelopes per sender and recipient (default: queue size).` : TIMEOUT_HELP + '\n' + RELAY_AUTH_HELP + REVIEW_HELP + `
|
|
149
|
+
--allowed-peer <did> Worker: hard peer perimeter (repeatable/comma-separated).
|
|
150
|
+
requests list|show|approve|discard|deny Local review; approve records limited connection consent.
|
|
151
|
+
connections list|request|approve|reject|withdraw|disconnect|block|unblock|confirm-invite|prior-approved|connect-prior|sync
|
|
152
|
+
Separate human connection consent; inspection unavailable by default.
|
|
153
|
+
--allow-task-type <type> Repeatable/comma-separated advertised task types.
|
|
146
154
|
--wake-channel <name> Worker: register an operator channel on startup (default: off).
|
|
147
155
|
The local relay CLI provides channel "default".`);
|
|
148
156
|
return;
|
|
@@ -156,13 +164,23 @@ export async function networkCommand(command, args) {
|
|
|
156
164
|
args.splice(index, 2);
|
|
157
165
|
if (args.some(a => ['--open', '--publish', '--auto-accept', '--auto-approve', '--yes', '--allow-any-requester', '--access-mode'].includes(a) || a.startsWith('--open-') || a === '--max-tasks-per-day'))
|
|
158
166
|
throw new Error('CONFLICTING_PUBLIC_SETTINGS');
|
|
159
|
-
|
|
167
|
+
const generated = publicSettingsFlags(settings);
|
|
168
|
+
for (const flag of ['--max-input-tokens', '--max-output-tokens', '--max-tool-invocations', '--max-wall-clock-seconds', '--max-requests-per-minute']) {
|
|
169
|
+
const existing = args.indexOf(flag), setting = generated.indexOf(flag);
|
|
170
|
+
if (existing >= 0 && setting >= 0) {
|
|
171
|
+
generated[setting + 1] = String(Math.min(Number(args[existing + 1]), Number(generated[setting + 1])));
|
|
172
|
+
args.splice(existing, 2);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return networkCommand('worker', ['start', ...args, ...generated], application);
|
|
160
176
|
}
|
|
161
177
|
if (command === 'invite' && sub !== 'create')
|
|
162
|
-
return inviteShareCommand(sub ?? '', args);
|
|
178
|
+
return inviteShareCommand(sub ?? '', args, application.identityOptions);
|
|
163
179
|
if ((command === 'relay' || command === 'worker') && sub !== 'start')
|
|
164
180
|
throw new Error('Expected ' + command + ' start');
|
|
165
181
|
const f = flags(args);
|
|
182
|
+
const inviteOutput = command === 'worker' ? parseInviteOutput(f.get('--invite-output')) : undefined;
|
|
183
|
+
const authRecovery = relayAuthOptions(f);
|
|
166
184
|
const allowPrivateRelay = f.has('--allow-private-relay');
|
|
167
185
|
if (command === 'relay') {
|
|
168
186
|
const port = Number(text(f, 'port', '8787'));
|
|
@@ -170,6 +188,10 @@ export async function networkCommand(command, args) {
|
|
|
170
188
|
throw new Error('INVALID_PORT');
|
|
171
189
|
const relay = await startLocalRelay({ port, host: text(f, 'host', '127.0.0.1'), relayOptions: {
|
|
172
190
|
envelopeTtlMs: optionalCount(f, 'envelope-ttl-ms'),
|
|
191
|
+
maxQueueSize: optionalCount(f, 'max-queue-size'),
|
|
192
|
+
maxQueueBytesPerRecipient: optionalCount(f, 'max-queue-bytes'),
|
|
193
|
+
maxEnvelopeBytes: optionalCount(f, 'max-envelope-bytes'),
|
|
194
|
+
maxEnvelopesPerSender: optionalCount(f, 'max-envelopes-per-sender'),
|
|
173
195
|
notificationTtlMs: optionalCount(f, 'notification-ttl-ms'),
|
|
174
196
|
notificationKey: f.has('--notification-key') ? JSON.parse(readFileSync(text(f, 'notification-key'), 'utf8')) : undefined,
|
|
175
197
|
...(f.has('--wake-command') ? { wake: {
|
|
@@ -187,8 +209,13 @@ export async function networkCommand(command, args) {
|
|
|
187
209
|
await relay.close();
|
|
188
210
|
return;
|
|
189
211
|
}
|
|
212
|
+
const { relays: fallbackCandidates } = readApplicationConfig({ ...application.identityOptions, allowPrivateRelay });
|
|
213
|
+
const selectedRelay = (inviteRelay) => selectApplicationRelay({
|
|
214
|
+
configured: f.has('--relay') ? text(f, 'relay') : undefined,
|
|
215
|
+
inviteRelay, fallbackCandidates, allowPrivateRelay,
|
|
216
|
+
}).relay;
|
|
190
217
|
if (command === 'discover') {
|
|
191
|
-
const client = new HttpRelayClient(
|
|
218
|
+
const client = new HttpRelayClient(selectedRelay(), application.fetch ?? fetch, undefined, { allowPrivateRelay });
|
|
192
219
|
console.log(JSON.stringify(discoverAgentCards(await client.discover(), {
|
|
193
220
|
...(f.has('--skill') ? { skillId: text(f, 'skill') } : {}),
|
|
194
221
|
...(f.has('--task-type') ? { taskType: text(f, 'task-type') } : {}),
|
|
@@ -196,22 +223,25 @@ export async function networkCommand(command, args) {
|
|
|
196
223
|
}), null, 2));
|
|
197
224
|
return;
|
|
198
225
|
}
|
|
199
|
-
const key =
|
|
226
|
+
const key = await resolveStoredIdentity(command === 'delegate' ? 'requester' : 'worker', {
|
|
227
|
+
...application.identityOptions,
|
|
228
|
+
explicitKeyPath: f.has('--key') ? text(f, 'key') : undefined,
|
|
229
|
+
});
|
|
200
230
|
if (command === 'invite') {
|
|
231
|
+
// Local signing retains the explicit URL; connection policy applies when dialing.
|
|
232
|
+
const relayUrl = text(f, 'relay', fallbackCandidates[0]);
|
|
201
233
|
const card = createSignedAgentCard({
|
|
202
234
|
name: text(f, 'name', 'Sealbridge Worker'),
|
|
203
235
|
agentDid: key.did,
|
|
204
|
-
relayEndpoint:
|
|
236
|
+
relayEndpoint: relayUrl,
|
|
205
237
|
skills: [{ id: 'json-task', name: 'JSON task' }],
|
|
238
|
+
protocolVersions: new LiveProtocol().receiveVersions(),
|
|
206
239
|
}, key);
|
|
207
240
|
console.log(createInviteToken({ agentCard: card, expiresInSeconds: Number(text(f, 'expires-in', '3600')) }, key));
|
|
208
241
|
return;
|
|
209
242
|
}
|
|
210
243
|
const automatic = ['yes', 'auto-accept', 'auto-approve'].some((name) => f.has('--' + name));
|
|
211
244
|
if (command === 'worker') {
|
|
212
|
-
const accessMode = text(f, 'access-mode', f.has('--open') ? 'open' : 'invite-only');
|
|
213
|
-
if (!['invite-only', 'open'].includes(accessMode) || (f.has('--open') && accessMode !== 'open'))
|
|
214
|
-
throw new Error('INVALID_ACCESS_MODE');
|
|
215
245
|
const onInboxRecord = f.has('--on-receive')
|
|
216
246
|
? createReceiveHook(text(f, 'on-receive')) : undefined;
|
|
217
247
|
if (onInboxRecord && !f.has('--inbox'))
|
|
@@ -227,39 +257,17 @@ export async function networkCommand(command, args) {
|
|
|
227
257
|
...(acceptance.allowedRequesterDids ?? []),
|
|
228
258
|
...loadContacts(contactFile, key.did).filter(c => c.allow && !c.revoked).map(c => c.ownerDid),
|
|
229
259
|
])];
|
|
230
|
-
const
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
if (allowedTaskTypes?.some((value) => !value))
|
|
235
|
-
throw new Error('INVALID_OPEN_ALLOW_TASK_TYPE');
|
|
236
|
-
if ((allowedTaskTypes || rateLimit !== undefined) && accessMode !== 'open')
|
|
237
|
-
throw new Error('OPEN_POLICY_REQUIRES_OPEN_MODE');
|
|
260
|
+
const allowedTaskTypes = f.has('--allow-task-type')
|
|
261
|
+
? [...new Set(text(f, 'allow-task-type').split(',').map(value => value.trim()))] : undefined;
|
|
262
|
+
if (allowedTaskTypes?.some(value => !value))
|
|
263
|
+
throw new Error('INVALID_ALLOW_TASK_TYPE');
|
|
238
264
|
if (allowedTaskTypes && f.has('--task-type') && !allowedTaskTypes.includes(text(f, 'task-type')))
|
|
239
|
-
throw new Error('
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
maxOutputTokens: 'open-max-output-tokens',
|
|
246
|
-
maxToolInvocations: 'open-max-tool-calls',
|
|
247
|
-
maxWallClockSeconds: 'open-max-wall-seconds',
|
|
248
|
-
};
|
|
249
|
-
for (const field of Object.keys(openFlags)) {
|
|
250
|
-
const limit = optionalCount(f, openFlags[field]);
|
|
251
|
-
if (limit !== undefined)
|
|
252
|
-
openPolicy[field] = limit;
|
|
253
|
-
}
|
|
254
|
-
if (Object.keys(openPolicy).length && accessMode !== 'open')
|
|
255
|
-
throw new Error('OPEN_POLICY_REQUIRES_OPEN_MODE');
|
|
256
|
-
if (accessMode === 'open')
|
|
257
|
-
for (const field of Object.keys(openFlags)) {
|
|
258
|
-
const general = acceptance[field];
|
|
259
|
-
if (general !== undefined)
|
|
260
|
-
openPolicy[field] = Math.min(openPolicy[field] ?? general, general);
|
|
261
|
-
}
|
|
262
|
-
assertLlmAutoAccept(adapterName, automatic, acceptance);
|
|
265
|
+
throw new Error('CONFLICTING_TASK_TYPE');
|
|
266
|
+
const intakeStore = new WorkerTrustStore(key, {
|
|
267
|
+
path: workerIntakePath(key.did, application.identityOptions),
|
|
268
|
+
fs: application.identityOptions?.fs, platform: application.identityOptions?.platform,
|
|
269
|
+
});
|
|
270
|
+
assertLlmAutoAccept(adapterName, automatic, acceptance, intakeStore.hasTrustedGrant());
|
|
263
271
|
if (adapterName === 'claude' || adapterName === 'codex')
|
|
264
272
|
assertCliAuthentication(adapterName, f.has('--cmd') ? { command: text(f, 'cmd') } : {});
|
|
265
273
|
let adapter;
|
|
@@ -293,52 +301,82 @@ export async function networkCommand(command, args) {
|
|
|
293
301
|
}
|
|
294
302
|
if (allowedTaskTypes)
|
|
295
303
|
adapter.skills = adapter.skills.map((skill) => ({ ...skill, taskTypes: allowedTaskTypes }));
|
|
296
|
-
const
|
|
304
|
+
const relayUrl = selectedRelay();
|
|
305
|
+
const workerRelay = new HttpRelayClient(relayUrl, application.fetch ?? fetch, key, { allowPrivateRelay, ...authRecovery,
|
|
297
306
|
requestTimeoutMs: optionalCount(f, 'connect-timeout-ms') });
|
|
298
307
|
const worker = new WorkerNode({
|
|
308
|
+
...authRecovery,
|
|
299
309
|
...(f.has('--max-tasks-per-day') ? { dailyLimit: {
|
|
300
310
|
path: join(dirname(contactsPath()), 'daily-tasks.json'),
|
|
301
311
|
maxTasks: optionalCount(f, 'max-tasks-per-day'),
|
|
302
312
|
} } : {}),
|
|
303
|
-
|
|
304
|
-
...(
|
|
313
|
+
intakeStore,
|
|
314
|
+
...(f.has('--allowed-peer') ? { allowedPeerDids: text(f, 'allowed-peer').split(',').map(d => d.trim()).filter(Boolean) } : {}),
|
|
315
|
+
adapterKind: LLM_ADAPTERS.has(adapterName) ? 'llm' : 'non-llm',
|
|
316
|
+
automaticApproval: automatic,
|
|
317
|
+
ownerApprovalProvider: process.stdin.isTTY && process.stderr.isTTY
|
|
318
|
+
? contactsApproval(contactFile, key, false, explicitAcceptance, approval(key, false, undefined, f.has('--verbose')))
|
|
319
|
+
: undefined,
|
|
320
|
+
checkPeer: (did) => {
|
|
321
|
+
const contact = loadContacts(contactFile, key.did).find(c => c.ownerDid === did);
|
|
322
|
+
if (contact?.revoked)
|
|
323
|
+
throw new Error('CONTACT_REVOKED');
|
|
324
|
+
if (automatic && contact && !contact.allow)
|
|
325
|
+
throw new Error('CONTACT_NOT_ALLOWED');
|
|
326
|
+
if (contact?.allow)
|
|
327
|
+
return 'trusted';
|
|
328
|
+
},
|
|
329
|
+
identityOptions: application.identityOptions ?? {},
|
|
330
|
+
deliveryOptions: { identityOptions: application.identityOptions,
|
|
331
|
+
resolveTransport: url => {
|
|
332
|
+
if (normalizeRelayUrl(url) !== normalizeRelayUrl(relayUrl))
|
|
333
|
+
throw new Error('RELAY_ENDPOINT_MISMATCH');
|
|
334
|
+
return workerRelay;
|
|
335
|
+
} },
|
|
336
|
+
heldReview: new HeldRequestReview(key, application.identityOptions),
|
|
337
|
+
protocolPeers: new ProtocolPeerStore(key, application.identityOptions),
|
|
338
|
+
connectionReview: connectionHumanReview(undefined, 'worker'),
|
|
339
|
+
onConnectionEvent: event => console.error(JSON.stringify(event)),
|
|
305
340
|
...sessionTimeouts(f),
|
|
306
341
|
owner: key,
|
|
307
342
|
relay: workerRelay,
|
|
308
343
|
inviteTtlSeconds: inviteTtl,
|
|
309
|
-
relayUrl
|
|
344
|
+
relayUrl,
|
|
310
345
|
adapter,
|
|
311
346
|
name: text(f, 'name', adapter.name),
|
|
312
347
|
approvalProvider: contactsApproval(contactFile, key, automatic, explicitAcceptance, approval(key, false, undefined, f.has('--verbose'))),
|
|
313
348
|
auditPath: f.has('--audit') ? text(f, 'audit') : undefined,
|
|
314
349
|
inboxPath: f.has('--inbox') ? text(f, 'inbox') : undefined,
|
|
315
350
|
onInboxRecord,
|
|
316
|
-
onStatus: (status, error) =>
|
|
317
|
-
onEvent: (event, taskId, error) =>
|
|
318
|
-
|
|
351
|
+
onStatus: (status, error) => emitWorkerJson({ status, error }),
|
|
352
|
+
onEvent: (event, taskId, error) => emitWorkerJson({ event, taskId,
|
|
353
|
+
code: error?.code, detail: error?.detail, reason: error?.reason }),
|
|
319
354
|
...acceptance,
|
|
320
355
|
allowPrivateRelay,
|
|
321
356
|
});
|
|
322
357
|
if (f.has('--preview')) {
|
|
323
|
-
console.log(JSON.stringify(publicProfileSummary(worker.agentCard, acceptance.maxTasksPerRequesterPerMinute, optionalCount(f, 'max-tasks-per-day'), automatic
|
|
358
|
+
console.log(JSON.stringify(publicProfileSummary(worker.agentCard, acceptance.maxTasksPerRequesterPerMinute, optionalCount(f, 'max-tasks-per-day'), automatic, { maxInputTokens: acceptance.maxInputTokens,
|
|
359
|
+
maxOutputTokens: acceptance.maxOutputTokens, maxToolInvocations: acceptance.maxToolInvocations, maxWallClockSeconds: acceptance.maxWallClockSeconds }), null, 2));
|
|
324
360
|
return;
|
|
325
361
|
}
|
|
326
362
|
if (f.has('--wake-channel'))
|
|
327
363
|
await workerRelay.registerWake(key.did, text(f, 'wake-channel'));
|
|
328
364
|
if (acceptance.publishToRegistry)
|
|
329
365
|
await worker.register();
|
|
330
|
-
if (accessMode === 'open' && automatic && !acceptance.allowedRequesterDids?.length)
|
|
331
|
-
console.error(`[Sealbridge WARNING] Worker started in --open mode with ${f.has('--yes') ? '--yes' : 'automatic approval'} and no requester allowlist. Any requester can submit tasks for automatic acceptance within configured limits.`);
|
|
332
366
|
const token = worker.invite(inviteTtl);
|
|
333
|
-
|
|
334
|
-
|
|
367
|
+
const invite = parseAndVerifyInviteToken(token, Date.now(), { allowPrivateRelay });
|
|
368
|
+
deliverInvite(inviteOutput, token);
|
|
369
|
+
emitWorkerJson({ event: 'invite_ready', inviteDigest: inviteDigest(token),
|
|
370
|
+
expiresAt: invite.expiresAt, workerDid: invite.agentDid, relay: relayUrl });
|
|
335
371
|
const stop = () => worker.stop();
|
|
336
372
|
process.once('SIGINT', stop);
|
|
337
373
|
process.once('SIGTERM', stop);
|
|
338
374
|
try {
|
|
375
|
+
await worker.startDelivery();
|
|
339
376
|
await worker.start({ once: f.has('--once') });
|
|
340
377
|
}
|
|
341
378
|
finally {
|
|
379
|
+
worker.stopDelivery();
|
|
342
380
|
process.removeListener('SIGINT', stop);
|
|
343
381
|
process.removeListener('SIGTERM', stop);
|
|
344
382
|
}
|
|
@@ -347,7 +385,7 @@ export async function networkCommand(command, args) {
|
|
|
347
385
|
if (command === 'delegate') {
|
|
348
386
|
if (f.has('--input') && f.has('--input-file'))
|
|
349
387
|
throw new Error('INVALID_INPUT_OPTIONS: use exactly one of --input and --input-file');
|
|
350
|
-
const input = f.has('--input-file')
|
|
388
|
+
const input = application.pendingRequest ? application.pendingRequest.input : f.has('--input-file')
|
|
351
389
|
? readTaskInputFile(text(f, 'input-file')) : JSON.parse(text(f, 'input'));
|
|
352
390
|
if (f.has('--save-contact'))
|
|
353
391
|
addContact(f.has('--contacts') ? text(f, 'contacts') : contactsPath(), key, text(f, 'to'), text(f, 'save-contact'), allowPrivateRelay);
|
|
@@ -356,28 +394,53 @@ export async function networkCommand(command, args) {
|
|
|
356
394
|
const value = text(f, 'output-schema');
|
|
357
395
|
outputSchema = JSON.parse(value.trim().startsWith('{') ? value : readFileSync(value, 'utf8'));
|
|
358
396
|
}
|
|
397
|
+
const workerRef = application.pendingRequest?.workerRef;
|
|
398
|
+
const to = workerRef
|
|
399
|
+
? (await InviteStore.open(key, { ...application.identityOptions, relayPolicy: { allowPrivateRelay } })).resolve(workerRef).inviteToken
|
|
400
|
+
: application.pendingRequest?.to ?? text(f, 'to', f.has('--discover') || f.has('--task-type') ? '' : undefined);
|
|
401
|
+
const invite = isInviteTarget(to) ? parseAndVerifyInviteToken(to, Date.now(), { allowPrivateRelay }) : undefined;
|
|
402
|
+
const relay = selectedRelay(invite?.relayUrl ?? application.pendingRelayUrl);
|
|
359
403
|
const client = new RequesterClient({
|
|
404
|
+
...authRecovery,
|
|
360
405
|
...sessionTimeouts(f),
|
|
361
406
|
owner: key,
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
407
|
+
identityOptions: application.identityOptions ?? {},
|
|
408
|
+
protocolPeers: new ProtocolPeerStore(key, application.identityOptions),
|
|
409
|
+
connectionReview: connectionHumanReview(),
|
|
410
|
+
pendingStore: new RequesterPendingStore(key, application.identityOptions),
|
|
411
|
+
pendingRelayUrl: relay,
|
|
412
|
+
deliveryOptions: { identityOptions: application.identityOptions,
|
|
413
|
+
resolveTransport: (url, owner) => application.transportFactory?.(url, owner) ??
|
|
414
|
+
new HttpRelayClient(url, application.fetch ?? fetch, owner, { allowPrivateRelay, ...authRecovery,
|
|
415
|
+
requestTimeoutMs: optionalCount(f, 'connect-timeout-ms') }) },
|
|
416
|
+
relay: application.transportFactory?.(relay, key) ?? new HttpRelayClient(relay, application.fetch ?? fetch, key, { allowPrivateRelay, ...authRecovery,
|
|
417
|
+
requestTimeoutMs: optionalCount(f, 'connect-timeout-ms') }),
|
|
365
418
|
approvalProvider: approval(key, automatic, undefined, f.has('--verbose')),
|
|
366
419
|
auditPath: f.has('--audit') ? text(f, 'audit') : undefined,
|
|
367
420
|
allowPrivateRelay,
|
|
368
421
|
});
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
422
|
+
await client.startDelivery();
|
|
423
|
+
let result;
|
|
424
|
+
try {
|
|
425
|
+
result = await client.delegate({
|
|
426
|
+
...sessionTimeouts(f),
|
|
427
|
+
...(f.has('--discover') || f.has('--task-type') ? { discover: {
|
|
428
|
+
...(f.has('--discover') ? { skillId: text(f, 'discover') } : {}),
|
|
429
|
+
...(f.has('--task-type') ? { taskType: text(f, 'task-type') } : {}),
|
|
430
|
+
} } : {}),
|
|
431
|
+
title: application.pendingRequest?.title ?? text(f, 'title'),
|
|
432
|
+
description: application.pendingRequest?.description ?? text(f, 'description'),
|
|
433
|
+
input,
|
|
434
|
+
outputSchema,
|
|
435
|
+
...application.pendingRequest,
|
|
436
|
+
to,
|
|
437
|
+
...Object.fromEntries(Object.entries(sessionTimeouts(f)).filter(([, value]) => value !== undefined)),
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
finally {
|
|
441
|
+
client.stopDelivery();
|
|
442
|
+
}
|
|
443
|
+
application.onDelegated?.();
|
|
381
444
|
if (f.has('--out'))
|
|
382
445
|
writeFileSync(text(f, 'out'), JSON.stringify(result.deliverable, null, 2) + '\n', {
|
|
383
446
|
flag: 'wx',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { KeyPair } from '../../packages/core/dist/index.js';
|
|
2
|
+
import type { RelayTransport } from '../../packages/relay/dist/index.js';
|
|
3
|
+
import type { InviteStoreOptions } from '../../packages/runtime/dist/index.js';
|
|
4
|
+
export declare function pendingCommand(args: string[], application?: {
|
|
5
|
+
identityOptions?: InviteStoreOptions;
|
|
6
|
+
fetch?: typeof fetch;
|
|
7
|
+
transportFactory?: (url: string, owner: KeyPair) => RelayTransport;
|
|
8
|
+
}): Promise<void>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { inspectStoredIdentity, RequesterPendingStore } from '../../packages/runtime/dist/index.js';
|
|
2
|
+
import { networkCommand } from './network.js';
|
|
3
|
+
export async function pendingCommand(args, application = {}) {
|
|
4
|
+
const usage = 'Usage: sealbridge pending list [--key FILE] | resubmit ID [delegate approval/relay/audit/output options] | remove ID [--key FILE]';
|
|
5
|
+
if (args.length === 1 && args[0] === '--help') {
|
|
6
|
+
console.log(usage);
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
const [action, ...rest] = args;
|
|
10
|
+
if (!['list', 'remove', 'resubmit'].includes(action))
|
|
11
|
+
throw new Error(usage);
|
|
12
|
+
const id = action === 'list' ? undefined : rest.shift();
|
|
13
|
+
if (action !== 'list' && (!id || id.startsWith('--')))
|
|
14
|
+
throw new Error(usage);
|
|
15
|
+
const keyIndex = rest.indexOf('--key');
|
|
16
|
+
if (keyIndex >= 0 && (!rest[keyIndex + 1] || rest[keyIndex + 1].startsWith('--')))
|
|
17
|
+
throw new Error(usage);
|
|
18
|
+
const identityOptions = { ...application.identityOptions,
|
|
19
|
+
explicitKeyPath: keyIndex >= 0 ? rest[keyIndex + 1] : application.identityOptions?.explicitKeyPath };
|
|
20
|
+
if (action !== 'resubmit' && rest.some((_, index) => keyIndex < 0 || (index !== keyIndex && index !== keyIndex + 1)))
|
|
21
|
+
throw new Error(usage);
|
|
22
|
+
const owner = (await inspectStoredIdentity('requester', identityOptions)).key;
|
|
23
|
+
if (!owner) {
|
|
24
|
+
if (action === 'list') {
|
|
25
|
+
console.log(JSON.stringify({ requests: [] }));
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
throw new Error('PENDING_NOT_FOUND');
|
|
29
|
+
}
|
|
30
|
+
const store = new RequesterPendingStore(owner, identityOptions);
|
|
31
|
+
if (action === 'list') {
|
|
32
|
+
console.log(JSON.stringify({ requests: store.list() }));
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (action === 'remove') {
|
|
36
|
+
store.remove(id);
|
|
37
|
+
console.log(JSON.stringify({ removed: id }));
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const allowed = new Set(['--key', '--relay', '--audit', '--out', '--auto-approve', '--yes', '--allow-private-relay', '--verbose',
|
|
41
|
+
'--execution-timeout-ms', '--task-timeout-ms', '--wait-timeout-ms', '--connect-timeout-ms',
|
|
42
|
+
'--transport-idle-timeout-ms', '--heartbeat-interval-ms', '--relay-auth-retries', '--relay-auth-recovery-timeout-ms']);
|
|
43
|
+
for (const arg of rest)
|
|
44
|
+
if (arg.startsWith('--') && !allowed.has(arg))
|
|
45
|
+
throw new Error('INVALID_PENDING_OPTION');
|
|
46
|
+
if (keyIndex < 0 && identityOptions.explicitKeyPath)
|
|
47
|
+
rest.push('--key', identityOptions.explicitKeyPath);
|
|
48
|
+
await store.resubmit(id, (request, relayUrl) => networkCommand('delegate', rest, { ...application, pendingRequest: request, pendingRelayUrl: relayUrl, onDelegated: () => store.resolve(id) }));
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=pending.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending.js","sourceRoot":"","sources":["../src/pending.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc,EAAE,cAGjD,EAAE;IACJ,MAAM,KAAK,GAAG,mIAAmI,CAAC;IAClJ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAC9E,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7E,MAAM,EAAE,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACxD,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1G,MAAM,eAAe,GAAG,EAAE,GAAG,WAAW,CAAC,eAAe;QACtD,eAAe,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,eAAe,EAAE,eAAe,EAAE,CAAC;IACvG,IAAI,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,CAAC,MAAM,qBAAqB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAChE,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAC3F,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QAAC,KAAK,CAAC,MAAM,CAAC,EAAG,CAAC,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACrG,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW;QAC9H,wBAAwB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,sBAAsB;QAC1F,6BAA6B,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,kCAAkC,CAAC,CAAC,CAAC;IACzH,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACjH,IAAI,QAAQ,GAAG,CAAC,IAAI,eAAe,CAAC,eAAe;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IACzG,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAC9E,EAAE,GAAG,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACpH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SignedAgentCard } from '
|
|
1
|
+
import type { SignedAgentCard } from '../../packages/core/dist/index.js';
|
|
2
2
|
export interface PublicSettings {
|
|
3
3
|
public: boolean;
|
|
4
4
|
taskTypes: string[];
|
|
@@ -11,17 +11,18 @@ export interface PublicSettings {
|
|
|
11
11
|
alwaysAsk: boolean;
|
|
12
12
|
}
|
|
13
13
|
export declare function publicSettingsFlags(s: PublicSettings): string[];
|
|
14
|
-
export declare function publicProfileSummary(card: SignedAgentCard, rate?: number, daily?: number, automatic?: boolean): {
|
|
14
|
+
export declare function publicProfileSummary(card: SignedAgentCard, rate?: number, daily?: number, automatic?: boolean, budgets?: Record<string, number | undefined>): {
|
|
15
15
|
name: string;
|
|
16
16
|
access: string;
|
|
17
17
|
jobs: string[];
|
|
18
|
-
perJob: Partial<Pick<import("@acp/core").BudgetSpec, "maxInputTokens" | "maxOutputTokens" | "maxToolInvocations" | "maxWallClockSeconds">>;
|
|
19
18
|
hostLimits: {
|
|
20
19
|
perPersonPerMinute: number | null;
|
|
21
20
|
perDay: number | null;
|
|
22
21
|
dayReset: string;
|
|
23
22
|
};
|
|
24
23
|
approval: string;
|
|
25
|
-
|
|
24
|
+
inspection: string;
|
|
25
|
+
perJob: Record<string, number | undefined>;
|
|
26
|
+
automaticPolicy: boolean;
|
|
26
27
|
signedCard: SignedAgentCard;
|
|
27
28
|
};
|