@vapi-network/core 0.7.0 → 0.9.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.
Files changed (129) hide show
  1. package/README.md +14 -1
  2. package/dist/account-add.d.ts +8 -1
  3. package/dist/account-add.d.ts.map +1 -1
  4. package/dist/account-movement-lock.d.ts +10 -0
  5. package/dist/account-movement-lock.d.ts.map +1 -0
  6. package/dist/agent-link.d.ts +1 -0
  7. package/dist/agent-link.d.ts.map +1 -1
  8. package/dist/agent-link.js +27 -11
  9. package/dist/agent-link.js.map +1 -1
  10. package/dist/agent-profile.d.ts +18 -2
  11. package/dist/agent-profile.d.ts.map +1 -1
  12. package/dist/agent-run.d.ts +12 -0
  13. package/dist/agent-run.d.ts.map +1 -0
  14. package/dist/allocation.d.ts +35 -4
  15. package/dist/allocation.d.ts.map +1 -1
  16. package/dist/api-key.js +47 -0
  17. package/dist/api-key.js.map +1 -1
  18. package/dist/atomic-file.d.ts +23 -0
  19. package/dist/atomic-file.d.ts.map +1 -0
  20. package/dist/audit.d.ts +4 -1
  21. package/dist/audit.d.ts.map +1 -1
  22. package/dist/backup.d.ts +155 -32
  23. package/dist/backup.d.ts.map +1 -1
  24. package/dist/backup.js +2600 -139
  25. package/dist/backup.js.map +3 -3
  26. package/dist/call-contracts-wire.d.ts +12 -12
  27. package/dist/ceiling.d.ts +8 -0
  28. package/dist/ceiling.d.ts.map +1 -1
  29. package/dist/cloud-backup.d.ts +8 -10
  30. package/dist/cloud-backup.d.ts.map +1 -1
  31. package/dist/cloud-backup.js +2876 -381
  32. package/dist/cloud-backup.js.map +3 -3
  33. package/dist/config.d.ts +9 -0
  34. package/dist/config.d.ts.map +1 -1
  35. package/dist/distribute.d.ts +9 -1
  36. package/dist/distribute.d.ts.map +1 -1
  37. package/dist/docs.d.ts +40 -0
  38. package/dist/docs.d.ts.map +1 -0
  39. package/dist/funding-policy.d.ts +29 -0
  40. package/dist/funding-policy.d.ts.map +1 -0
  41. package/dist/index.d.ts +12 -2
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +5832 -1213
  44. package/dist/index.js.map +3 -3
  45. package/dist/marketplace-contracts.d.ts +14 -14
  46. package/dist/member-bundle.d.ts +110 -0
  47. package/dist/member-bundle.d.ts.map +1 -0
  48. package/dist/movement-open.d.ts +10 -0
  49. package/dist/movement-open.d.ts.map +1 -0
  50. package/dist/movement.d.ts +77 -7
  51. package/dist/movement.d.ts.map +1 -1
  52. package/dist/receipts.d.ts +9 -0
  53. package/dist/receipts.d.ts.map +1 -1
  54. package/dist/router-client.d.ts +9 -1
  55. package/dist/router-client.d.ts.map +1 -1
  56. package/dist/router-client.js +2272 -609
  57. package/dist/router-client.js.map +3 -3
  58. package/dist/run-budget.d.ts +17 -0
  59. package/dist/run-budget.d.ts.map +1 -0
  60. package/dist/secret-store.d.ts +6 -0
  61. package/dist/secret-store.d.ts.map +1 -1
  62. package/dist/secrets.d.ts +2 -1
  63. package/dist/secrets.d.ts.map +1 -1
  64. package/dist/secrets.js +912 -48
  65. package/dist/secrets.js.map +3 -3
  66. package/dist/spend-policy.d.ts +41 -7
  67. package/dist/spend-policy.d.ts.map +1 -1
  68. package/dist/support-report.d.ts +1 -1
  69. package/dist/swarm-capital.d.ts +147 -0
  70. package/dist/swarm-capital.d.ts.map +1 -0
  71. package/dist/swarm.d.ts +224 -0
  72. package/dist/swarm.d.ts.map +1 -0
  73. package/dist/tasks/actions.d.ts +152 -0
  74. package/dist/tasks/actions.d.ts.map +1 -0
  75. package/dist/tasks/canonical-json.d.ts +6 -0
  76. package/dist/tasks/canonical-json.d.ts.map +1 -0
  77. package/dist/tasks/chain-error.d.ts +6 -0
  78. package/dist/tasks/chain-error.d.ts.map +1 -0
  79. package/dist/tasks/chain-port.d.ts +88 -0
  80. package/dist/tasks/chain-port.d.ts.map +1 -0
  81. package/dist/tasks/chain-verification.d.ts +36 -0
  82. package/dist/tasks/chain-verification.d.ts.map +1 -0
  83. package/dist/tasks/chain.d.ts +22 -0
  84. package/dist/tasks/chain.d.ts.map +1 -0
  85. package/dist/tasks/client.d.ts +76 -0
  86. package/dist/tasks/client.d.ts.map +1 -0
  87. package/dist/tasks/delivery-manifest.d.ts +24 -0
  88. package/dist/tasks/delivery-manifest.d.ts.map +1 -0
  89. package/dist/tasks/dispute-fee.d.ts +4 -0
  90. package/dist/tasks/dispute-fee.d.ts.map +1 -0
  91. package/dist/tasks/index.d.ts +22 -0
  92. package/dist/tasks/index.d.ts.map +1 -0
  93. package/dist/tasks/money.d.ts +17 -0
  94. package/dist/tasks/money.d.ts.map +1 -0
  95. package/dist/tasks/operation-support.d.ts +127 -0
  96. package/dist/tasks/operation-support.d.ts.map +1 -0
  97. package/dist/tasks/operations.d.ts +722 -0
  98. package/dist/tasks/operations.d.ts.map +1 -0
  99. package/dist/tasks/pending-transactions.d.ts +52 -0
  100. package/dist/tasks/pending-transactions.d.ts.map +1 -0
  101. package/dist/tasks/plan-guard.d.ts +326 -0
  102. package/dist/tasks/plan-guard.d.ts.map +1 -0
  103. package/dist/tasks/rpc.d.ts +8 -0
  104. package/dist/tasks/rpc.d.ts.map +1 -0
  105. package/dist/tasks/scope-bindings.d.ts +20 -0
  106. package/dist/tasks/scope-bindings.d.ts.map +1 -0
  107. package/dist/tasks/scope-terms.d.ts +75 -0
  108. package/dist/tasks/scope-terms.d.ts.map +1 -0
  109. package/dist/tasks/trusted-deployments.d.ts +14 -0
  110. package/dist/tasks/trusted-deployments.d.ts.map +1 -0
  111. package/dist/tasks/types.d.ts +4439 -0
  112. package/dist/tasks/types.d.ts.map +1 -0
  113. package/dist/tasks/verbs.d.ts +4 -0
  114. package/dist/tasks/verbs.d.ts.map +1 -0
  115. package/dist/tasks.js +43906 -0
  116. package/dist/tasks.js.map +6 -0
  117. package/dist/transfer-journal.d.ts +11 -0
  118. package/dist/transfer-journal.d.ts.map +1 -0
  119. package/dist/transfer.d.ts +4 -1
  120. package/dist/transfer.d.ts.map +1 -1
  121. package/dist/vault.d.ts +11 -0
  122. package/dist/vault.d.ts.map +1 -1
  123. package/dist/wallet-store.d.ts +19 -8
  124. package/dist/wallet-store.d.ts.map +1 -1
  125. package/dist/x402-pay.d.ts +7 -0
  126. package/dist/x402-pay.d.ts.map +1 -1
  127. package/dist/x402.d.ts +3 -0
  128. package/dist/x402.d.ts.map +1 -1
  129. package/package.json +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-error.d.ts","sourceRoot":"","sources":["../../src/tasks/chain-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,6GAA6G;AAC7G,qBAAa,oBAAqB,SAAQ,KAAK;CAAG;AAElD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,OAAO,EAClB,oBAAoB,EAAE,OAAO,EAC7B,MAAM,CAAC,EAAE,KAAK,MAAM,EAAE,GACrB,eAAe,CA2CjB"}
@@ -0,0 +1,88 @@
1
+ import type { Address } from "viem";
2
+ import type { ScopeBinding } from "./scope-bindings.js";
3
+ import type { FrozenDeliveryManifest } from "./delivery-manifest.js";
4
+ import type { CreateEscrowResponse, GetOrderResponse } from "./types.js";
5
+ export type TaskMilestone = Extract<GetOrderResponse["workOrder"], {
6
+ version: "work-order-view-v1";
7
+ }>["milestones"][number];
8
+ export type TasksChainResult = {
9
+ txHash: `0x${string}`;
10
+ operation: CreateEscrowResponse["operation"];
11
+ milestone: Pick<TaskMilestone, "id" | "workOrderId" | "state" | "escrowState" | "resolution">;
12
+ };
13
+ export type TasksEscrowOperation = {
14
+ escrowId: string;
15
+ idempotencyKey: string;
16
+ /** Avoid listing private orders when the caller already knows the parent. */
17
+ orderId?: string;
18
+ counterparty?: string;
19
+ };
20
+ /**
21
+ * The adapter owns local signing, server preparation, exact plan broadcast, transaction
22
+ * recording, receipt waiting, and reconciliation. escrowId is the milestone ID,
23
+ * not the clone address. Use the supplied key to prepare one logical operation.
24
+ * Derive stable keys for subsequent requests from that key, the operation and step.
25
+ * A resolved result contains reconciled state, never a simulated transaction.
26
+ * The adapter validates the active signer against the authenticated party,
27
+ * plan.from, and operation.expectedActor, and checks the frozen funding amount.
28
+ */
29
+ export interface TasksChain {
30
+ readonly available: boolean;
31
+ readonly signingAddress?: Address;
32
+ /** Resolve the trusted local wallet identity without signing. */
33
+ getSigningAddress?(): Promise<Address>;
34
+ bindScope?(binding: ScopeBinding): Promise<void>;
35
+ createEscrow(input: {
36
+ orderId: string;
37
+ idempotencyKey: string;
38
+ counterparty?: string;
39
+ }): Promise<TasksChainResult>;
40
+ /**
41
+ * Sign EIP-3009 ReceiveWithAuthorization locally BEFORE preparing funding.
42
+ * Once the authorization may have left the machine, failures must retain the
43
+ * spend reservation even if no transaction was broadcast. Only a typed error
44
+ * with broadcast:false and authorizationExposed:false permits rollback.
45
+ */
46
+ fund(input: TasksEscrowOperation & {
47
+ grossBaseUnits: bigint;
48
+ }): Promise<TasksChainResult>;
49
+ /** Prepare with manifest file IDs and exact note; verify the server's hash before broadcasting. */
50
+ deliver(input: TasksEscrowOperation & {
51
+ manifest: FrozenDeliveryManifest;
52
+ note: string;
53
+ }): Promise<TasksChainResult>;
54
+ release(input: TasksEscrowOperation): Promise<TasksChainResult>;
55
+ refund(input: TasksEscrowOperation): Promise<TasksChainResult>;
56
+ disputeFee(input: TasksEscrowOperation): Promise<bigint>;
57
+ dispute(input: TasksEscrowOperation & {
58
+ evidenceHash: `0x${string}`;
59
+ feeBaseUnits?: bigint;
60
+ beforeSign?: () => Promise<void>;
61
+ }): Promise<TasksChainResult>;
62
+ counterEvidence(input: TasksEscrowOperation & {
63
+ evidenceHash: `0x${string}`;
64
+ feeBaseUnits?: bigint;
65
+ beforeSign?: () => Promise<void>;
66
+ }): Promise<TasksChainResult>;
67
+ resolveUnmatched(input: TasksEscrowOperation): Promise<TasksChainResult>;
68
+ /** EIP-191 personal_sign over canonicalJson(scope.signingPayload), passed as a string. */
69
+ signScopeMessage(message: string): Promise<`0x${string}`>;
70
+ }
71
+ /** Adapters must mark ambiguous submission and all post-broadcast failures true. */
72
+ export declare class TasksChainError extends Error {
73
+ readonly broadcast: boolean;
74
+ /** False only when the adapter proves no redeemable funding authorization left the machine. */
75
+ readonly authorizationExposed: boolean;
76
+ readonly transactionHash?: `0x${string}`;
77
+ constructor(message: string, broadcast: boolean, options?: ErrorOptions & {
78
+ authorizationExposed?: boolean;
79
+ transactionHash?: `0x${string}`;
80
+ });
81
+ }
82
+ export declare class TasksChainUnavailableError extends TasksChainError {
83
+ readonly manifestHash?: `0x${string}` | undefined;
84
+ readonly code = "chain_unavailable";
85
+ constructor(manifestHash?: `0x${string}` | undefined);
86
+ }
87
+ export declare const missingTasksChain: TasksChain;
88
+ //# sourceMappingURL=chain-port.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-port.d.ts","sourceRoot":"","sources":["../../src/tasks/chain-port.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { type Address, type PublicClient } from "viem";
2
+ import { TasksValidationError } from "./chain-error.js";
3
+ import { type TaskMilestone } from "./chain-port.js";
4
+ import type { TasksClient } from "./client.js";
5
+ import { type PlanExpectation } from "./plan-guard.js";
6
+ import type { ScopeBindings } from "./scope-bindings.js";
7
+ import { type TasksDurationOverrides } from "./trusted-deployments.js";
8
+ import type { DeploymentResponse } from "./types.js";
9
+ type Deployment = Extract<DeploymentResponse, {
10
+ configured: true;
11
+ }>;
12
+ export type EscrowVerb = "createEscrow" | "fund" | "deliver" | "release" | "refund" | "dispute" | "counter-evidence" | "resolve-unmatched";
13
+ export type VerifiedContext = PlanExpectation & {
14
+ parties: readonly [Address, Address];
15
+ verb: EscrowVerb;
16
+ offerDeadline?: bigint;
17
+ seller: Address;
18
+ workDurationSeconds: number;
19
+ reviewWindowSeconds: number;
20
+ disputeFee?: bigint;
21
+ nowSeconds?: bigint;
22
+ };
23
+ export declare class TasksPartiesNotBoundError extends TasksValidationError {
24
+ constructor();
25
+ }
26
+ export declare function verifyDeployment(ready: Deployment, rpc: PublicClient, overrides?: Record<string, string>): Promise<Deployment>;
27
+ export declare function verifyScope(client: TasksClient, signer: Address, selected: TaskMilestone, ready: Deployment, verb: EscrowVerb, steps: readonly string[], options?: {
28
+ bindings?: ScopeBindings;
29
+ counterparty?: Address;
30
+ now?: () => Date;
31
+ trustedDurations?: TasksDurationOverrides;
32
+ }): Promise<VerifiedContext>;
33
+ /** Immutable identity is checked even on resumes; live-state eligibility is checked only for a new signature. */
34
+ export declare function verifyClone(rpc: PublicClient, expected: VerifiedContext, checkState: boolean): Promise<void>;
35
+ export {};
36
+ //# sourceMappingURL=chain-verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain-verification.d.ts","sourceRoot":"","sources":["../../src/tasks/chain-verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,OAAO,EAEZ,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,KAAK,UAAU,GAAG,OAAO,CAAC,kBAAkB,EAAE;IAAE,UAAU,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC;AACpE,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,MAAM,GACN,SAAS,GACT,SAAS,GACT,QAAQ,GACR,SAAS,GACT,kBAAkB,GAClB,mBAAmB,CAAC;AACxB,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG;IAC9C,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,yBAA0B,SAAQ,oBAAoB;;CAOlE;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,UAAU,EACjB,GAAG,EAAE,YAAY,EACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,OAAO,CAAC,UAAU,CAAC,CA4CrB;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CACtC,GACL,OAAO,CAAC,eAAe,CAAC,CAuH1B;AAED,iHAAiH;AACjH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,YAAY,EACjB,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,IAAI,CAAC,CAsKf"}
@@ -0,0 +1,22 @@
1
+ import { type LocalAccount, type PublicClient } from "viem";
2
+ import { type TasksChain } from "./chain-port.js";
3
+ import type { ScopeBindings } from "./scope-bindings.js";
4
+ import type { TasksDurationOverrides } from "./trusted-deployments.js";
5
+ import { type TasksClient } from "./client.js";
6
+ import type { PendingTransactions } from "./pending-transactions.js";
7
+ export type TasksChainOptions = {
8
+ client: TasksClient;
9
+ account: LocalAccount;
10
+ rpcFor: (chainId: number) => PublicClient;
11
+ pending: PendingTransactions;
12
+ now?: () => Date;
13
+ sleep?: (milliseconds: number) => Promise<void>;
14
+ randomBytes?: (size: number) => Uint8Array;
15
+ confirmations?: number;
16
+ trustedFactories?: Record<string, string>;
17
+ trustedDurations?: TasksDurationOverrides;
18
+ bindings?: ScopeBindings;
19
+ };
20
+ /** Local signing with durable recovery, using the console's HTTP operation protocol. */
21
+ export declare function createTasksChain(options: TasksChainOptions): TasksChain;
22
+ //# sourceMappingURL=chain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/tasks/chain.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,KAAK,YAAY,EACjB,KAAK,YAAY,EAGlB,MAAM,MAAM,CAAC;AAGd,OAAO,EAGL,KAAK,UAAU,EAGhB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAIjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAerE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC;IAC1C,OAAO,EAAE,mBAAmB,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAcF,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CA20BvE"}
@@ -0,0 +1,76 @@
1
+ import { z } from "zod";
2
+ import { tasksResponseSchemas } from "./types.js";
3
+ import type { AcceptProposalInput, BoardQuery, CounterEvidenceEscrowInput, ConfigureWebhookInput, CreateOrderInput, CreateUploadInput, DeliverEscrowInput, DisputeEscrowInput, EventsQuery, FeedQuery, FinalizeUploadResponse, FundEscrowInput, ListMessagesQuery, ListOrdersQuery, OperationMutationInput, OperationStepInput, ProposeInput, ProposeScopeInput, SendMessageInput, SignScopeInput, SubmitInput, UploadFileInput } from "./types.js";
4
+ export type TasksClientOptions = {
5
+ baseUrl: string;
6
+ token?: string;
7
+ fetch?: typeof fetch;
8
+ timeoutMs?: number;
9
+ };
10
+ export type TasksRequestOptions = {
11
+ signal?: AbortSignal;
12
+ };
13
+ /** Retain the same key when retrying the same mutation. The client never retries automatically. */
14
+ export type TasksMutationOptions = TasksRequestOptions & {
15
+ idempotencyKey: string;
16
+ };
17
+ export declare class TasksClientError extends Error {
18
+ readonly code: "invalid_input" | "http" | "invalid_response" | "network" | "timeout";
19
+ readonly status?: number | undefined;
20
+ readonly serverCode?: string | undefined;
21
+ /** Raw Retry-After header; only hinted HTTP 409 responses are retryable. */
22
+ readonly retryAfter?: string | undefined;
23
+ constructor(code: "invalid_input" | "http" | "invalid_response" | "network" | "timeout", message: string, status?: number | undefined, serverCode?: string | undefined,
24
+ /** Raw Retry-After header; only hinted HTTP 409 responses are retryable. */
25
+ retryAfter?: string | undefined);
26
+ }
27
+ /** HTTP transport for Tasks; OAuth reads use tasks:read and writes use tasks:write.
28
+ * Signing happens outside this client.
29
+ */
30
+ export declare function createTasksClient(options: TasksClientOptions): TasksClient;
31
+ type TaskResponse<Method extends keyof typeof tasksResponseSchemas> = z.infer<(typeof tasksResponseSchemas)[Method]>;
32
+ export type TasksClient = {
33
+ /** Public scope is anonymous; the server defaults to private scope.
34
+ */
35
+ listOrders(input?: ListOrdersQuery, call?: TasksRequestOptions): Promise<TaskResponse<"listOrders">>;
36
+ /** Anonymous reads return the public projection; private reads accept scoped OAuth or a session.
37
+ */
38
+ getOrder(id: string, call?: TasksRequestOptions): Promise<TaskResponse<"getOrder">>;
39
+ createOrder(input: CreateOrderInput, call: TasksMutationOptions): Promise<TaskResponse<"createOrder">>;
40
+ propose(id: string, input: ProposeInput, call: TasksMutationOptions): Promise<TaskResponse<"propose">>;
41
+ submit(id: string, input: SubmitInput, call: TasksMutationOptions): Promise<TaskResponse<"submit">>;
42
+ events(id: string, input?: EventsQuery, call?: TasksRequestOptions): Promise<TaskResponse<"events">>;
43
+ board(input?: BoardQuery, call?: TasksRequestOptions): Promise<TaskResponse<"board">>;
44
+ feed(input?: FeedQuery, call?: TasksRequestOptions): Promise<TaskResponse<"feed">>;
45
+ publicTask(id: string, call?: TasksRequestOptions): Promise<TaskResponse<"publicTask">>;
46
+ receipt(escrow: string, call?: TasksRequestOptions): Promise<TaskResponse<"receipt">>;
47
+ earn(call?: TasksRequestOptions): Promise<TaskResponse<"earn">>;
48
+ acceptProposal(id: string, input: AcceptProposalInput, call: TasksMutationOptions): Promise<TaskResponse<"acceptProposal">>;
49
+ getScopes(id: string, call?: TasksRequestOptions): Promise<TaskResponse<"getScopes">>;
50
+ proposeScope(id: string, input: ProposeScopeInput, call: TasksMutationOptions): Promise<TaskResponse<"proposeScope">>;
51
+ signScope(scopeId: string, input: SignScopeInput, call: TasksMutationOptions): Promise<TaskResponse<"signScope">>;
52
+ listMessages(id: string, input?: ListMessagesQuery, call?: TasksRequestOptions): Promise<TaskResponse<"listMessages">>;
53
+ sendMessage(id: string, input: SendMessageInput, call: TasksMutationOptions): Promise<TaskResponse<"sendMessage">>;
54
+ createEscrow(id: string, call: TasksMutationOptions): Promise<TaskResponse<"createEscrow">>;
55
+ fundEscrow(id: string, input: FundEscrowInput, call: TasksMutationOptions): Promise<TaskResponse<"fundEscrow">>;
56
+ deliverEscrow(id: string, input: DeliverEscrowInput, call: TasksMutationOptions): Promise<TaskResponse<"deliverEscrow">>;
57
+ releaseEscrow(id: string, call: TasksMutationOptions): Promise<TaskResponse<"releaseEscrow">>;
58
+ refundEscrow(id: string, call: TasksMutationOptions): Promise<TaskResponse<"refundEscrow">>;
59
+ disputeEscrow(id: string, input: DisputeEscrowInput, call: TasksMutationOptions): Promise<TaskResponse<"disputeEscrow">>;
60
+ counterEvidenceEscrow(id: string, input: CounterEvidenceEscrowInput, call: TasksMutationOptions): Promise<TaskResponse<"counterEvidenceEscrow">>;
61
+ resolveUnmatchedEscrow(id: string, call: TasksMutationOptions): Promise<TaskResponse<"resolveUnmatchedEscrow">>;
62
+ chainState(id: string, call?: TasksRequestOptions): Promise<TaskResponse<"chainState">>;
63
+ createUpload(input: CreateUploadInput, call?: TasksRequestOptions): Promise<TaskResponse<"createUpload">>;
64
+ finalizeUpload(id: string, call?: TasksRequestOptions): Promise<TaskResponse<"finalizeUpload">>;
65
+ uploadFile(input: UploadFileInput, call?: TasksRequestOptions): Promise<FinalizeUploadResponse>;
66
+ deployment(call?: TasksRequestOptions): Promise<TaskResponse<"deployment">>;
67
+ recordTransaction(id: string, input: OperationMutationInput, call: TasksMutationOptions): Promise<TaskResponse<"recordTransaction">>;
68
+ reconcileOperation(id: string, input: OperationMutationInput, call: TasksMutationOptions): Promise<TaskResponse<"reconcileOperation">>;
69
+ recoverOperation(id: string, input: OperationStepInput, call: TasksMutationOptions): Promise<TaskResponse<"recoverOperation">>;
70
+ abandonOperation(id: string, input: OperationStepInput, call: TasksMutationOptions): Promise<TaskResponse<"abandonOperation">>;
71
+ finalizeEscrow(id: string, call: TasksMutationOptions): Promise<TaskResponse<"finalizeEscrow">>;
72
+ finalizeOrder(id: string, call: TasksMutationOptions): Promise<TaskResponse<"finalizeOrder">>;
73
+ configureWebhook(id: string, input: ConfigureWebhookInput, call?: TasksRequestOptions): Promise<TaskResponse<"configureWebhook">>;
74
+ };
75
+ export {};
76
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/tasks/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { z } from "zod";
2
+ export declare const deliveryManifestSchema: z.ZodObject<{
3
+ files: z.ZodArray<z.ZodObject<{
4
+ fileId: z.ZodUUID;
5
+ fileName: z.ZodString;
6
+ sha256: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
7
+ sizeBytes: z.ZodNumber;
8
+ }, z.core.$strict>>;
9
+ noteSha256: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
10
+ }, z.core.$strict>;
11
+ export type DeliveryManifest = z.infer<typeof deliveryManifestSchema>;
12
+ export type FrozenDeliveryManifest = {
13
+ manifest: DeliveryManifest;
14
+ manifestHash: `0x${string}`;
15
+ };
16
+ export declare function freezeDeliveryManifest(input: unknown): FrozenDeliveryManifest;
17
+ export declare function sha256Hex(bytes: Uint8Array): Promise<string>;
18
+ export declare function prepareDeliveryManifest(files: Array<{
19
+ fileId: string;
20
+ fileName: string;
21
+ sha256: string;
22
+ sizeBytes: number;
23
+ }>, note: string): Promise<FrozenDeliveryManifest>;
24
+ //# sourceMappingURL=delivery-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-manifest.d.ts","sourceRoot":"","sources":["../../src/tasks/delivery-manifest.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,sBAAsB;;;;;;;;kBAsB/B,CAAC;AAEL,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAU7E;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAElE;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,EACrF,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,sBAAsB,CAAC,CAMjC"}
@@ -0,0 +1,4 @@
1
+ export declare function disputeFeeBaseUnits(amount: bigint): bigint;
2
+ /** Separate durable reservation identities for funding and the two fee actions. */
3
+ export declare function taskFeeReservationKey(milestoneId: string, action: string): string;
4
+ //# sourceMappingURL=dispute-fee.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispute-fee.d.ts","sourceRoot":"","sources":["../../src/tasks/dispute-fee.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CASjF"}
@@ -0,0 +1,22 @@
1
+ export * from "./canonical-json.js";
2
+ export * from "./scope-terms.js";
3
+ export * from "./scope-bindings.js";
4
+ export * from "./delivery-manifest.js";
5
+ export * from "./verbs.js";
6
+ export * from "./chain-port.js";
7
+ export * from "./chain.js";
8
+ export * from "./rpc.js";
9
+ export * from "./pending-transactions.js";
10
+ export * from "./money.js";
11
+ export * from "./actions.js";
12
+ export * from "./operations.js";
13
+ export * from "./operation-support.js";
14
+ export { createTasksClient, TasksClientError } from "./client.js";
15
+ export type { TasksClient, TasksClientOptions, TasksRequestOptions, TasksMutationOptions, } from "./client.js";
16
+ export { boardNumbersSchema, boardQuerySchema, boardResponseSchema, earnResponseSchema, eventsQuerySchema, eventsResponseSchema, operationMutationInputSchema, operationStepInputSchema, configureWebhookInputSchema, createOrderInputSchema, feedQuerySchema, feedResponseSchema, feedRowSchema, partyBadgeSchema, publicReceiptSchema, publicTaskCardSchema, publicTaskDetailSchema, submissionProofSchema, submitInputSchema, } from "./types.js";
17
+ export type * from "./types.js";
18
+ export * from "./trusted-deployments.js";
19
+ export { safeTasksChainError } from "./chain-error.js";
20
+ export { TasksPartiesNotBoundError } from "./chain-verification.js";
21
+ export * from "./dispute-fee.js";
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAClE,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,mBAAmB,YAAY,CAAC;AAEhC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,17 @@
1
+ export type TaskMoneyAmount = {
2
+ usd: string;
3
+ baseUnits: string;
4
+ };
5
+ export type TaskMoney = {
6
+ gross: TaskMoneyAmount;
7
+ fee: TaskMoneyAmount | null;
8
+ net: TaskMoneyAmount | null;
9
+ feeBp: number | null;
10
+ line: string;
11
+ };
12
+ /** Exact USDC decimal strings with at least two decimal places; no cent rounding. */
13
+ export declare function formatBaseUnitsUsd(baseUnits: bigint | string): string;
14
+ export declare function parseUsdToBaseUnits(text: string): bigint;
15
+ export declare function parseFeeBp(deploymentOrReadiness: unknown): number | null;
16
+ export declare function taskMoney(grossBaseUnits: bigint | string, feeBp: number | null): TaskMoney;
17
+ //# sourceMappingURL=money.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"money.d.ts","sourceRoot":"","sources":["../../src/tasks/money.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AACjE,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,eAAe,CAAC;IACvB,GAAG,EAAE,eAAe,GAAG,IAAI,CAAC;IAC5B,GAAG,EAAE,eAAe,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAGrE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED,wBAAgB,UAAU,CAAC,qBAAqB,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAYxE;AAED,wBAAgB,SAAS,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAkB1F"}
@@ -0,0 +1,127 @@
1
+ import { type AgentProfileParser } from "../agent-profile.js";
2
+ import type { SecretStore } from "../secret-store.js";
3
+ import type { WalletName } from "../wallet-name.js";
4
+ import type { WalletStore } from "../wallet-store.js";
5
+ import { type TasksChain } from "./chain-port.js";
6
+ import { type TasksClient } from "./client.js";
7
+ import type { PendingTransactions } from "./pending-transactions.js";
8
+ import { type TaskMoney } from "./money.js";
9
+ import { type EventsResponse, type GetOrderResponse, type ProposeInput, type UploadFileInput } from "./types.js";
10
+ export declare class TaskOperationError extends Error {
11
+ readonly code: string;
12
+ readonly manifestHash?: `0x${string}` | undefined;
13
+ constructor(code: string, message: string, manifestHash?: `0x${string}` | undefined);
14
+ }
15
+ export declare class TaskInputError extends TaskOperationError {
16
+ constructor(message: string);
17
+ }
18
+ export type TaskRoute = keyof TasksClient;
19
+ export declare const PENDING_SERVER_ROUTES: ReadonlySet<TaskRoute>;
20
+ export declare function isMissingTaskEntity(code: unknown, message: unknown): boolean;
21
+ export declare function publicNotFoundFetch(fetchImpl: typeof fetch, baseUrl: string): typeof fetch;
22
+ export declare function taskRequest<T>(verb: string, route: TaskRoute, operation: () => Promise<T>, options: {
23
+ signInHint: string;
24
+ }): Promise<T>;
25
+ export declare function resolveTaskBearer(args: {
26
+ secrets: SecretStore;
27
+ wallets: WalletStore;
28
+ wallet: WalletName;
29
+ baseUrl: string;
30
+ signInHint: string;
31
+ fetchImpl?: typeof fetch;
32
+ now?: () => number;
33
+ }): Promise<string | undefined>;
34
+ export declare const TASK_LIMITS: {
35
+ readonly postDeadlineMinMs: 600000;
36
+ readonly proposalDurationMinMs: 600000;
37
+ readonly proposalDurationMaxMs: 7776000000;
38
+ readonly proposalDurationUnitMs: 1000;
39
+ readonly proposalNoteMin: 1;
40
+ readonly proposalNoteMax: 8000;
41
+ readonly titleMin: 3;
42
+ readonly titleMax: 120;
43
+ readonly briefMin: 10;
44
+ readonly briefMax: 8000;
45
+ readonly maxAwardsMin: 1;
46
+ readonly maxAwardsMax: 50;
47
+ readonly deliveryFilesMin: 1;
48
+ readonly deliveryFilesMax: 20;
49
+ readonly deliveryNoteMax: 32000;
50
+ readonly messageMin: 1;
51
+ readonly messageMax: 10000;
52
+ readonly searchTabs: readonly ["trending", "new", "closing", "paid"];
53
+ readonly disputeEvidenceHash: RegExp;
54
+ readonly uploadBytesMin: 1;
55
+ readonly uploadBytesMax: number;
56
+ readonly watchIntervalMinMs: 1000;
57
+ };
58
+ export declare function parseTaskDuration(text: string, now: Date): number;
59
+ export declare function readTaskFile(path: string): Promise<UploadFileInput>;
60
+ export declare function validTaskBrief(title: string, description: string): boolean;
61
+ export type ProposalTerms = {
62
+ title: string;
63
+ description: string;
64
+ amount: bigint;
65
+ durationSeconds: number;
66
+ };
67
+ type ConfiguredDeployment = Extract<Awaited<ReturnType<TasksClient["deployment"]>>, {
68
+ configured: true;
69
+ }>;
70
+ export declare function proposalTerms(id: string, address: `0x${string}`, deployment: ConfiguredDeployment, terms: ProposalTerms): ProposeInput["signedPayload"];
71
+ export declare function orderReceipts(order: GetOrderResponse["workOrder"], baseUrl: string): {
72
+ receiptUrl: string;
73
+ receiptUrlSource: "escrow";
74
+ }[];
75
+ export declare const TASK_WATCH_STATES: readonly ["open", "awarded", "funded", "delivered", "paid", "released", "refunded", "disputed", "expired", "closed", "completed", "cancelled"];
76
+ export declare function taskEventState(event: {
77
+ type: string;
78
+ payload: Record<string, unknown>;
79
+ }): string;
80
+ export declare function taskStateMatches(until: string, state: string): boolean;
81
+ export declare function nextTaskEvents(page: EventsResponse, cursor: number): {
82
+ events: EventsResponse["events"];
83
+ nextCursor: number;
84
+ };
85
+ export type TaskPolicy = {
86
+ maxPerTaskUsd: number;
87
+ approveAboveUsd: number;
88
+ autoReleaseBelowUsd: number;
89
+ source: "agent-profile" | "defaults";
90
+ };
91
+ export declare function taskPolicyForWallet(args: {
92
+ directory: string;
93
+ wallet: string;
94
+ schema: AgentProfileParser;
95
+ warn?: (message: string) => void;
96
+ }): Promise<TaskPolicy>;
97
+ export type MoneySnapshot = {
98
+ order: GetOrderResponse;
99
+ escrowId: string;
100
+ money: TaskMoney;
101
+ readiness: {
102
+ ok: true;
103
+ value: Awaited<ReturnType<TasksClient["deployment"]>>;
104
+ } | {
105
+ ok: false;
106
+ error: unknown;
107
+ };
108
+ };
109
+ export declare function taskMoneySnapshot(client: TasksClient, orderId: string, escrowId?: string, options?: {
110
+ signInHint: string;
111
+ }): Promise<MoneySnapshot>;
112
+ export declare function cachedMoneyClient(client: TasksClient, snapshot: MoneySnapshot): TasksClient;
113
+ export declare function fundingRefusalReason(error: unknown): "policy.perTask" | "policy.perDay" | undefined;
114
+ export type TaskOperationContext = {
115
+ pending?: PendingTransactions;
116
+ client: TasksClient;
117
+ chain: TasksChain;
118
+ baseUrl: string;
119
+ randomUUID: () => string;
120
+ signInHint: string;
121
+ };
122
+ export type TaskUnlock = () => Promise<{
123
+ address: `0x${string}`;
124
+ signMessage(message: string): Promise<`0x${string}`>;
125
+ }>;
126
+ export {};
127
+ //# sourceMappingURL=operation-support.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-support.d.ts","sourceRoot":"","sources":["../../src/tasks/operation-support.ts"],"names":[],"mappings":"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"}