@lucid-agents/taskmarket 1.24.1 → 1.25.1
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/agent-compatibility.json +1 -1
- package/dist/{channels-KCVGG62H.js → channels-LEYAANE5.js} +3 -3
- package/dist/{chunk-2BYIKWV5.js → chunk-4E76UNBE.js} +4 -4
- package/dist/{chunk-3YYDUJV4.js → chunk-6KBTN3WM.js} +1 -1
- package/dist/{chunk-I6DSFR3I.js → chunk-73SUBS7U.js} +2 -2
- package/dist/{chunk-E7Y4UDXH.js → chunk-CGUYPUG3.js} +3 -3
- package/dist/{chunk-DZMMROHT.js → chunk-L3A7JOO5.js} +52 -17
- package/dist/{chunk-EE7LLCQY.js → chunk-PE72DL5T.js} +4 -3
- package/dist/{chunk-VKQBB6CG.js → chunk-RFRSTYDB.js} +1 -1
- package/dist/{chunk-IPJKSTNW.js → chunk-ULPTFH3G.js} +1 -1
- package/dist/{chunk-DT7AD52I.js → chunk-XBTNZTXE.js} +2 -2
- package/dist/{doctor-FCQZBQFU.js → doctor-K2JOWQF4.js} +7 -7
- package/dist/index.js +39 -19
- package/dist/{launch-Q67U5TZE.js → launch-O72WIBHY.js} +8 -8
- package/dist/pi-extensions/xgate.cjs +52 -17
- package/dist/{reconcile-NBIZBPVA.js → reconcile-FZTOX3PZ.js} +3 -3
- package/dist/{status-5PXMF7RK.js → status-CC5L5YUU.js} +7 -7
- package/dist/{sync-pull-BY4QUY4T.js → sync-pull-DZGTSKZU.js} +3 -3
- package/package.json +4 -4
|
@@ -10,9 +10,9 @@ import {
|
|
|
10
10
|
selectRail,
|
|
11
11
|
uncertainPurchases,
|
|
12
12
|
withdrawalHatch
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-XBTNZTXE.js";
|
|
14
|
+
import "./chunk-6KBTN3WM.js";
|
|
15
|
+
import "./chunk-L3A7JOO5.js";
|
|
16
16
|
import "./chunk-XJOB4NMV.js";
|
|
17
17
|
import "./chunk-YM4S6IE4.js";
|
|
18
18
|
import "./chunk-S7SJMJ2I.js";
|
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
loadDeliverableRecord,
|
|
7
7
|
readComputeView,
|
|
8
8
|
taskStage
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-CGUYPUG3.js";
|
|
10
10
|
import {
|
|
11
11
|
activeClaim,
|
|
12
12
|
captureProblem,
|
|
13
13
|
killedSession,
|
|
14
14
|
loadSyncState,
|
|
15
15
|
orphanOf
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-RFRSTYDB.js";
|
|
17
17
|
import {
|
|
18
18
|
allocationViews,
|
|
19
19
|
channelView,
|
|
@@ -21,12 +21,12 @@ import {
|
|
|
21
21
|
openAgentChannels,
|
|
22
22
|
uncertainPurchases,
|
|
23
23
|
withdrawalHatch
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-XBTNZTXE.js";
|
|
25
25
|
import {
|
|
26
26
|
SandboxListOutputSchema,
|
|
27
27
|
apiUrl,
|
|
28
28
|
selectedNetwork
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-L3A7JOO5.js";
|
|
30
30
|
import {
|
|
31
31
|
AGENT_VIEW_VERSION,
|
|
32
32
|
blockingPurchases,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
readMppTempoChallenge,
|
|
17
17
|
reconcileX402Payment,
|
|
18
18
|
withX402FileLock
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-6KBTN3WM.js";
|
|
20
20
|
import {
|
|
21
21
|
ApiError,
|
|
22
22
|
ComputeCreditBuyOutputSchema,
|
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
selectedNetwork,
|
|
40
40
|
withChainId,
|
|
41
41
|
withIdempotentWrite
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-L3A7JOO5.js";
|
|
43
43
|
|
|
44
44
|
// src/lib/x402-fee.ts
|
|
45
45
|
import { randomUUID as randomUUID3 } from "crypto";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
unsafeHostPath,
|
|
9
9
|
withFileLock,
|
|
10
10
|
writeAtomic
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-RFRSTYDB.js";
|
|
12
12
|
import {
|
|
13
13
|
buyComputeCredit,
|
|
14
14
|
fetchComputePricing,
|
|
@@ -16,10 +16,10 @@ import {
|
|
|
16
16
|
loadComputeCreditConfig,
|
|
17
17
|
onComputeBalanceObserved,
|
|
18
18
|
readComputeCreditStatus
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-73SUBS7U.js";
|
|
20
20
|
import {
|
|
21
21
|
getTaskmarketHome
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-L3A7JOO5.js";
|
|
23
23
|
import {
|
|
24
24
|
burnRate,
|
|
25
25
|
computeLow
|
|
@@ -1205,6 +1205,9 @@ var TaskListInputSchema = z8.object({
|
|
|
1205
1205
|
minReward: UsdcBaseUnitsSchema.max(78).optional(),
|
|
1206
1206
|
maxReward: UsdcBaseUnitsSchema.max(78).optional(),
|
|
1207
1207
|
deadlineHours: z8.number().int().positive().optional(),
|
|
1208
|
+
// Only tasks carrying a sponsored task reward that is still reserved or already credited.
|
|
1209
|
+
// A query-string flag, so it arrives as 'true'/'false' over REST.
|
|
1210
|
+
sponsored: z8.enum(["true", "false"]).optional().transform((v) => v === void 0 ? void 0 : v === "true"),
|
|
1208
1211
|
requester: z8.string().optional(),
|
|
1209
1212
|
worker: z8.string().optional(),
|
|
1210
1213
|
taskDropId: z8.string().trim().min(1).optional(),
|
|
@@ -1303,6 +1306,12 @@ var TaskDetailResponseSchema = TaskResponseSchema.extend({
|
|
|
1303
1306
|
* claims stay free whatever `stakeRequired`/`stakeBps` say, and "0" for every non-claim mode.
|
|
1304
1307
|
*/
|
|
1305
1308
|
enforcedClaimStake: z8.string().optional(),
|
|
1309
|
+
/**
|
|
1310
|
+
* Rev026: the diamond's escrow record for the task as last indexed. `booked` is what the task
|
|
1311
|
+
* owes in USDC base units; `tracked` is false for a pre-rev026 task the upgrade backfill has not
|
|
1312
|
+
* booked. Null below rev026 or before the first escrow event is indexed.
|
|
1313
|
+
*/
|
|
1314
|
+
escrow: z8.object({ booked: z8.string(), tracked: z8.boolean() }).nullable().optional(),
|
|
1306
1315
|
/**
|
|
1307
1316
|
* An auction's accepted price in USDC base units (the contract's stakeAmount) once a winner is
|
|
1308
1317
|
* bound, else null. Evaluator awards are budgeted against it, less the evaluator fee.
|
|
@@ -1722,8 +1731,10 @@ var HealthResponseSchema = z12.object({
|
|
|
1722
1731
|
/**
|
|
1723
1732
|
* Each served chain's escrow solvency (ADR-0261), from a background pass every five minutes:
|
|
1724
1733
|
* the diamond's payment token balance against what open tasks are owed according to the
|
|
1725
|
-
* indexed state (rewards plus claim and evaluator stakes)
|
|
1726
|
-
*
|
|
1734
|
+
* indexed state (rewards plus claim and evaluator stakes), and from rev026 against the diamond's
|
|
1735
|
+
* own booked liabilities. `solvent: false` means the balance is below either; each is also
|
|
1736
|
+
* logged, as `escrow_balance_below_owed` or `escrow_balance_below_liabilities`. Absent before
|
|
1737
|
+
* the first pass.
|
|
1727
1738
|
*/
|
|
1728
1739
|
escrow: z12.array(z12.object({
|
|
1729
1740
|
chainId: z12.number().int(),
|
|
@@ -1735,6 +1746,18 @@ var HealthResponseSchema = z12.object({
|
|
|
1735
1746
|
/** owed - balance, when positive. */
|
|
1736
1747
|
shortfall: z12.string().optional(),
|
|
1737
1748
|
solvent: z12.boolean(),
|
|
1749
|
+
/** Rev026: the diamond's totalLiabilities(), in base units; absent below rev026. */
|
|
1750
|
+
liabilities: z12.string().optional(),
|
|
1751
|
+
/** Rev026: whether the upgrade backfill is complete. */
|
|
1752
|
+
liabilitiesInitialised: z12.boolean().optional(),
|
|
1753
|
+
/** Rev026: the balance read at the same block as `liabilities`; surplus and shortfall use it. */
|
|
1754
|
+
liabilitiesBalance: z12.string().optional(),
|
|
1755
|
+
/** Rev026: liabilitiesBalance - liabilities, when non-negative. */
|
|
1756
|
+
surplus: z12.string().optional(),
|
|
1757
|
+
/** Rev026: liabilities - liabilitiesBalance, when positive. */
|
|
1758
|
+
liabilitiesShortfall: z12.string().optional(),
|
|
1759
|
+
/** Rev026: liabilities - owed, once the backfill is complete and they differ. */
|
|
1760
|
+
liabilitiesDrift: z12.string().optional(),
|
|
1738
1761
|
measuredAt: z12.string()
|
|
1739
1762
|
})).optional(),
|
|
1740
1763
|
/**
|
|
@@ -5005,23 +5028,31 @@ var TEMPO_RATE_TASK_GAS_LIMIT = 4000000n;
|
|
|
5005
5028
|
var TEMPO_CANCEL_TASK_BASE_GAS_LIMIT = 3500000n;
|
|
5006
5029
|
var BASE_RATE_TASK_GAS_LIMIT = 1500000n;
|
|
5007
5030
|
var BASE_CANCEL_TASK_BASE_GAS_LIMIT = 1000000n;
|
|
5008
|
-
var
|
|
5009
|
-
var
|
|
5031
|
+
var BASE_HOOK_GAS_STIPEND = 1000000n;
|
|
5032
|
+
var TEMPO_HOOK_GAS_STIPEND = 7000000n;
|
|
5033
|
+
function hookCallGas(stipend) {
|
|
5034
|
+
const needed = (stipend * 64n + 62n) / 63n + 100000n;
|
|
5035
|
+
return (needed + 99999n) / 100000n * 100000n;
|
|
5036
|
+
}
|
|
5037
|
+
var BASE_RELAY_GAS_CEILING = 16000000n;
|
|
5038
|
+
var TEMPO_RELAY_GAS_CEILING = 28000000n;
|
|
5010
5039
|
var RELAY_GAS_MARGIN_BPS = 12500n;
|
|
5011
5040
|
var BASE_DEFAULT_RELAY_GAS_FLOOR = 500000n;
|
|
5012
5041
|
var TEMPO_DEFAULT_RELAY_GAS_FLOOR = 1000000n;
|
|
5013
5042
|
var BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT = 4500000n;
|
|
5014
5043
|
var TEMPO_ACCEPT_SUBMISSIONS_GAS_LIMIT = 11250000n;
|
|
5015
|
-
function relayGasProfile(defaultFloor, rateTask, cancelBase, acceptSubmissions) {
|
|
5044
|
+
function relayGasProfile(defaultFloor, rateTask, cancelBase, acceptSubmissions, hookGasStipend, ceiling) {
|
|
5045
|
+
const perHook = hookCallGas(hookGasStipend);
|
|
5016
5046
|
const floors = Object.fromEntries(RELAY_GAS_OPS.map((op) => [op, { base: defaultFloor }]));
|
|
5017
5047
|
floors.rateTask = { base: rateTask };
|
|
5018
5048
|
floors.acceptSubmissions = { base: acceptSubmissions };
|
|
5019
|
-
floors.cancelTask = { base: cancelBase, perEntry:
|
|
5020
|
-
floors.refundExpired = { base: cancelBase, perEntry:
|
|
5021
|
-
floors.rejectDelivery = { base: cancelBase, perEntry:
|
|
5022
|
-
floors.settleLapsedReview = { base: cancelBase, perEntry:
|
|
5023
|
-
floors.
|
|
5024
|
-
|
|
5049
|
+
floors.cancelTask = { base: cancelBase, perEntry: perHook };
|
|
5050
|
+
floors.refundExpired = { base: cancelBase, perEntry: perHook };
|
|
5051
|
+
floors.rejectDelivery = { base: cancelBase, perEntry: perHook };
|
|
5052
|
+
floors.settleLapsedReview = { base: cancelBase, perEntry: perHook };
|
|
5053
|
+
floors.resolveDispute = { base: cancelBase, perEntry: perHook };
|
|
5054
|
+
floors.createTask = { base: defaultFloor, perEntry: perHook };
|
|
5055
|
+
return { hookGasStipend, marginBps: RELAY_GAS_MARGIN_BPS, ceiling, floors };
|
|
5025
5056
|
}
|
|
5026
5057
|
var TEMPO_MAX_FEE_PER_GAS_CAP = 6000000000n;
|
|
5027
5058
|
var tempoFees = {
|
|
@@ -5061,7 +5092,7 @@ var TASKMARKET_CHAINS = Object.freeze({
|
|
|
5061
5092
|
},
|
|
5062
5093
|
fees: { kind: "native" },
|
|
5063
5094
|
blockTimeMs: 2e3,
|
|
5064
|
-
relayGas: relayGasProfile(BASE_DEFAULT_RELAY_GAS_FLOOR, BASE_RATE_TASK_GAS_LIMIT, BASE_CANCEL_TASK_BASE_GAS_LIMIT, BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT),
|
|
5095
|
+
relayGas: relayGasProfile(BASE_DEFAULT_RELAY_GAS_FLOOR, BASE_RATE_TASK_GAS_LIMIT, BASE_CANCEL_TASK_BASE_GAS_LIMIT, BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT, BASE_HOOK_GAS_STIPEND, BASE_RELAY_GAS_CEILING),
|
|
5065
5096
|
defaultPlatformFeeBps: 0,
|
|
5066
5097
|
indexer: { head: "latest", logRangeBlocks: 1e4 },
|
|
5067
5098
|
erc8004: { ...ERC8004_MAINNET },
|
|
@@ -5090,7 +5121,7 @@ var TASKMARKET_CHAINS = Object.freeze({
|
|
|
5090
5121
|
},
|
|
5091
5122
|
fees: { kind: "native" },
|
|
5092
5123
|
blockTimeMs: 2e3,
|
|
5093
|
-
relayGas: relayGasProfile(BASE_DEFAULT_RELAY_GAS_FLOOR, BASE_RATE_TASK_GAS_LIMIT, BASE_CANCEL_TASK_BASE_GAS_LIMIT, BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT),
|
|
5124
|
+
relayGas: relayGasProfile(BASE_DEFAULT_RELAY_GAS_FLOOR, BASE_RATE_TASK_GAS_LIMIT, BASE_CANCEL_TASK_BASE_GAS_LIMIT, BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT, BASE_HOOK_GAS_STIPEND, BASE_RELAY_GAS_CEILING),
|
|
5094
5125
|
defaultPlatformFeeBps: 0,
|
|
5095
5126
|
indexer: { head: "latest", logRangeBlocks: 1e4 },
|
|
5096
5127
|
erc8004: { ...ERC8004_TESTNET },
|
|
@@ -5112,7 +5143,7 @@ var TASKMARKET_CHAINS = Object.freeze({
|
|
|
5112
5143
|
payment: { ...tempoPayment, domain: { ...tempoPayment.domain } },
|
|
5113
5144
|
fees: { ...tempoFees },
|
|
5114
5145
|
blockTimeMs: 1e3,
|
|
5115
|
-
relayGas: relayGasProfile(TEMPO_DEFAULT_RELAY_GAS_FLOOR, TEMPO_RATE_TASK_GAS_LIMIT, TEMPO_CANCEL_TASK_BASE_GAS_LIMIT, TEMPO_ACCEPT_SUBMISSIONS_GAS_LIMIT),
|
|
5146
|
+
relayGas: relayGasProfile(TEMPO_DEFAULT_RELAY_GAS_FLOOR, TEMPO_RATE_TASK_GAS_LIMIT, TEMPO_CANCEL_TASK_BASE_GAS_LIMIT, TEMPO_ACCEPT_SUBMISSIONS_GAS_LIMIT, TEMPO_HOOK_GAS_STIPEND, TEMPO_RELAY_GAS_CEILING),
|
|
5116
5147
|
defaultPlatformFeeBps: 0,
|
|
5117
5148
|
maxValidityWindowSeconds: TEMPO_MAX_VALIDITY_WINDOW_SECONDS,
|
|
5118
5149
|
// Tempo finality is deterministic and fast; until the provider's eth_getLogs limit is
|
|
@@ -5135,7 +5166,7 @@ var TASKMARKET_CHAINS = Object.freeze({
|
|
|
5135
5166
|
payment: { ...tempoPayment, domain: { ...tempoPayment.domain } },
|
|
5136
5167
|
fees: { ...tempoFees },
|
|
5137
5168
|
blockTimeMs: 1e3,
|
|
5138
|
-
relayGas: relayGasProfile(TEMPO_DEFAULT_RELAY_GAS_FLOOR, TEMPO_RATE_TASK_GAS_LIMIT, TEMPO_CANCEL_TASK_BASE_GAS_LIMIT, TEMPO_ACCEPT_SUBMISSIONS_GAS_LIMIT),
|
|
5169
|
+
relayGas: relayGasProfile(TEMPO_DEFAULT_RELAY_GAS_FLOOR, TEMPO_RATE_TASK_GAS_LIMIT, TEMPO_CANCEL_TASK_BASE_GAS_LIMIT, TEMPO_ACCEPT_SUBMISSIONS_GAS_LIMIT, TEMPO_HOOK_GAS_STIPEND, TEMPO_RELAY_GAS_CEILING),
|
|
5139
5170
|
defaultPlatformFeeBps: 0,
|
|
5140
5171
|
maxValidityWindowSeconds: TEMPO_MAX_VALIDITY_WINDOW_SECONDS,
|
|
5141
5172
|
indexer: { head: "finalized", logRangeBlocks: 1e4 },
|
|
@@ -5162,7 +5193,7 @@ var TASKMARKET_CHAINS = Object.freeze({
|
|
|
5162
5193
|
},
|
|
5163
5194
|
fees: { kind: "native" },
|
|
5164
5195
|
blockTimeMs: 1e3,
|
|
5165
|
-
relayGas: relayGasProfile(BASE_DEFAULT_RELAY_GAS_FLOOR, BASE_RATE_TASK_GAS_LIMIT, BASE_CANCEL_TASK_BASE_GAS_LIMIT, BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT),
|
|
5196
|
+
relayGas: relayGasProfile(BASE_DEFAULT_RELAY_GAS_FLOOR, BASE_RATE_TASK_GAS_LIMIT, BASE_CANCEL_TASK_BASE_GAS_LIMIT, BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT, BASE_HOOK_GAS_STIPEND, BASE_RELAY_GAS_CEILING),
|
|
5166
5197
|
defaultPlatformFeeBps: 750,
|
|
5167
5198
|
indexer: { head: "latest", logRangeBlocks: 1e4 },
|
|
5168
5199
|
erc8004: void 0,
|
|
@@ -11080,7 +11111,11 @@ var REPLAY_SAFE_TOOLS = /* @__PURE__ */ new Set([
|
|
|
11080
11111
|
"taskmarket_docs",
|
|
11081
11112
|
"skill_read"
|
|
11082
11113
|
]);
|
|
11083
|
-
var NEVER_REPLAY_TOOLS = /* @__PURE__ */ new Set([
|
|
11114
|
+
var NEVER_REPLAY_TOOLS = /* @__PURE__ */ new Set([
|
|
11115
|
+
"x402_purchase",
|
|
11116
|
+
"taskmarket_execute",
|
|
11117
|
+
"web_search"
|
|
11118
|
+
]);
|
|
11084
11119
|
function toolReplayPolicy(name) {
|
|
11085
11120
|
return REPLAY_SAFE_TOOLS.has(name) && !NEVER_REPLAY_TOOLS.has(name) ? "safe" : "unsafe";
|
|
11086
11121
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { createRequire as __tmCreateRequire } from 'node:module'; import { fileURLToPath as __tmFileURLToPath } from 'node:url'; import { dirname as __tmDirname } from 'node:path'; const require = __tmCreateRequire(import.meta.url); const __tmFilename = __tmFileURLToPath(import.meta.url); const __tmDirnameValue = __tmDirname(__tmFilename);
|
|
2
2
|
import {
|
|
3
3
|
x402FeePost
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-73SUBS7U.js";
|
|
5
5
|
import {
|
|
6
6
|
createWalletAccountFromKeystore,
|
|
7
7
|
signMessage
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6KBTN3WM.js";
|
|
9
9
|
import {
|
|
10
10
|
READ_AUTH_ADDRESS_HEADER,
|
|
11
11
|
READ_AUTH_SIGNATURE_HEADER,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
getTaskmarketHome,
|
|
20
20
|
isRecordingPendingResponse,
|
|
21
21
|
loadKeystore
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-L3A7JOO5.js";
|
|
23
23
|
|
|
24
24
|
// src/lib/read-auth.ts
|
|
25
25
|
async function signReadAuth() {
|
|
@@ -258,6 +258,7 @@ async function listTasks(ctx, filter = {}) {
|
|
|
258
258
|
if (filter.minReward) params.set("minReward", filter.minReward);
|
|
259
259
|
if (filter.maxReward) params.set("maxReward", filter.maxReward);
|
|
260
260
|
if (filter.deadlineHours) params.set("deadlineHours", filter.deadlineHours);
|
|
261
|
+
if (filter.sponsored) params.set("sponsored", "true");
|
|
261
262
|
if (filter.limit) params.set("limit", filter.limit);
|
|
262
263
|
if (filter.cursor) params.set("cursor", filter.cursor);
|
|
263
264
|
const result = await ctx.transport.get(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __tmCreateRequire } from 'node:module'; import { fileURLToPath as __tmFileURLToPath } from 'node:url'; import { dirname as __tmDirname } from 'node:path'; const require = __tmCreateRequire(import.meta.url); const __tmFilename = __tmFileURLToPath(import.meta.url); const __tmDirnameValue = __tmDirname(__tmFilename);
|
|
2
2
|
import {
|
|
3
3
|
getTaskmarketHome
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-L3A7JOO5.js";
|
|
5
5
|
import {
|
|
6
6
|
AgentLaunchError
|
|
7
7
|
} from "./chunk-YM4S6IE4.js";
|
|
@@ -11,12 +11,12 @@ import {
|
|
|
11
11
|
listX402Payments,
|
|
12
12
|
loadX402Policy,
|
|
13
13
|
rpcUrlForNetwork
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-6KBTN3WM.js";
|
|
15
15
|
import {
|
|
16
16
|
getTaskmarketHome,
|
|
17
17
|
keystoreExists,
|
|
18
18
|
loadKeystore
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-L3A7JOO5.js";
|
|
20
20
|
import {
|
|
21
21
|
failureDetail,
|
|
22
22
|
failureDetailOf,
|
|
@@ -6,26 +6,26 @@ import {
|
|
|
6
6
|
} from "./chunk-4ZC6SH7H.js";
|
|
7
7
|
import {
|
|
8
8
|
listSandboxes
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-4E76UNBE.js";
|
|
10
|
+
import "./chunk-CGUYPUG3.js";
|
|
11
|
+
import "./chunk-RFRSTYDB.js";
|
|
12
|
+
import "./chunk-73SUBS7U.js";
|
|
13
13
|
import {
|
|
14
14
|
channelView,
|
|
15
15
|
loadAgentPolicy,
|
|
16
16
|
openAgentChannels
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-XBTNZTXE.js";
|
|
18
18
|
import {
|
|
19
19
|
getX402PolicyPath,
|
|
20
20
|
loadX402Policy,
|
|
21
21
|
rpcUrlForNetwork
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-6KBTN3WM.js";
|
|
23
23
|
import {
|
|
24
24
|
apiUrl,
|
|
25
25
|
keystoreExists,
|
|
26
26
|
loadKeystore,
|
|
27
27
|
withChainId
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-L3A7JOO5.js";
|
|
29
29
|
import {
|
|
30
30
|
AGENT_VIEW_VERSION
|
|
31
31
|
} from "./chunk-XJOB4NMV.js";
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
signReadAuth,
|
|
15
15
|
submitTaskFiles,
|
|
16
16
|
taskAccessGrantHeaders
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-PE72DL5T.js";
|
|
18
18
|
import {
|
|
19
19
|
ComputeCreditError,
|
|
20
20
|
applyComputeCreditSetup,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
refusedPaidWrite,
|
|
37
37
|
releasePendingComputePurchase,
|
|
38
38
|
resolvePendingComputePurchases
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-73SUBS7U.js";
|
|
40
40
|
import {
|
|
41
41
|
MPP_TEMPO_DEFAULT_VALIDITY_SECONDS,
|
|
42
42
|
X402PayError,
|
|
@@ -59,7 +59,7 @@ import {
|
|
|
59
59
|
signSponsoredTempoTransfer,
|
|
60
60
|
signTaskmarketFeePayment,
|
|
61
61
|
signTypedData
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-6KBTN3WM.js";
|
|
63
63
|
import {
|
|
64
64
|
ActivityFeedInputSchema,
|
|
65
65
|
ActivityHeatmapInputSchema,
|
|
@@ -197,7 +197,7 @@ import {
|
|
|
197
197
|
withChainId,
|
|
198
198
|
withErrorContext,
|
|
199
199
|
withIdempotentWrite
|
|
200
|
-
} from "./chunk-
|
|
200
|
+
} from "./chunk-L3A7JOO5.js";
|
|
201
201
|
import {
|
|
202
202
|
channelLines
|
|
203
203
|
} from "./chunk-XJOB4NMV.js";
|
|
@@ -2295,7 +2295,10 @@ var listCmd = new Command9("list").alias("search").description("List available t
|
|
|
2295
2295
|
).option("--mode <mode>", "Filter by mode (bounty, claim, pitch, benchmark, auction)").option(
|
|
2296
2296
|
"--auction-type <type>",
|
|
2297
2297
|
"Filter auction tasks by subtype (dutch, english, reverse_dutch, reverse_english)"
|
|
2298
|
-
).option("--tags <tags>", "Comma-separated tags to filter by").option("--skill <skill>", "Filter by skill tag (comma-separated, alias for --tags)").option("--reward-min <n>", "Minimum reward in the payment token").option("--reward-max <n>", "Maximum reward in the payment token").option("--deadline-hours <n>", "Only tasks expiring within this many hours").option(
|
|
2298
|
+
).option("--tags <tags>", "Comma-separated tags to filter by").option("--skill <skill>", "Filter by skill tag (comma-separated, alias for --tags)").option("--reward-min <n>", "Minimum reward in the payment token").option("--reward-max <n>", "Maximum reward in the payment token").option("--deadline-hours <n>", "Only tasks expiring within this many hours").option(
|
|
2299
|
+
"--sponsored",
|
|
2300
|
+
"Only tasks carrying a sponsored task reward (reserved or credited); reward filters stay USDC-only"
|
|
2301
|
+
).option("--limit <n>", "Maximum results to return", "20").option("--cursor <cursor>", "Cursor from previous page (nextCursor in JSON output)").action(
|
|
2299
2302
|
async (opts) => {
|
|
2300
2303
|
const tagsValue = opts.tags ?? opts.skill;
|
|
2301
2304
|
const result = await listTasks(cliTaskReadContext(), {
|
|
@@ -2307,6 +2310,7 @@ var listCmd = new Command9("list").alias("search").description("List available t
|
|
|
2307
2310
|
minReward: opts.rewardMin ? String(Math.round(Number(opts.rewardMin) * 1e6)) : void 0,
|
|
2308
2311
|
maxReward: opts.rewardMax ? String(Math.round(Number(opts.rewardMax) * 1e6)) : void 0,
|
|
2309
2312
|
deadlineHours: opts.deadlineHours,
|
|
2313
|
+
sponsored: opts.sponsored,
|
|
2310
2314
|
limit: opts.limit,
|
|
2311
2315
|
cursor: opts.cursor
|
|
2312
2316
|
});
|
|
@@ -3817,7 +3821,7 @@ async function runAgentCommand(options) {
|
|
|
3817
3821
|
try {
|
|
3818
3822
|
const { assertAgentCompatibility } = await import("./compatibility-636WJOEX.js");
|
|
3819
3823
|
const pi = assertAgentCompatibility();
|
|
3820
|
-
const { runAgent } = await import("./launch-
|
|
3824
|
+
const { runAgent } = await import("./launch-O72WIBHY.js");
|
|
3821
3825
|
result = await runAgent({
|
|
3822
3826
|
model: options.model,
|
|
3823
3827
|
pi,
|
|
@@ -3876,13 +3880,13 @@ function agentManagementCommands() {
|
|
|
3876
3880
|
const status = new Command48("status").description(
|
|
3877
3881
|
"Show the agent channels (locked, charged, refundable), purchases with an unknown outcome, the sandbox and compute credit. Reads only."
|
|
3878
3882
|
).option("--json", "Print the versioned JSON envelope").action(async (options) => {
|
|
3879
|
-
const { collectAgentStatus, statusLines } = await import("./status-
|
|
3883
|
+
const { collectAgentStatus, statusLines } = await import("./status-CC5L5YUU.js");
|
|
3880
3884
|
await run(options, () => collectAgentStatus(), statusLines);
|
|
3881
3885
|
});
|
|
3882
3886
|
const doctor = new Command48("doctor").description(
|
|
3883
3887
|
"Check that the agent can start: Node and the bundled runtime, wallet and policy, channels, API, sandbox broker, host keys, xgate and RPC. Reads only."
|
|
3884
3888
|
).option("--json", "Print the versioned JSON envelope").action(async (options) => {
|
|
3885
|
-
const { runDoctor, doctorLines } = await import("./doctor-
|
|
3889
|
+
const { runDoctor, doctorLines } = await import("./doctor-K2JOWQF4.js");
|
|
3886
3890
|
const report = await run(options, () => runDoctor(), doctorLines);
|
|
3887
3891
|
if (report && !report.ok) process.exitCode = 1;
|
|
3888
3892
|
});
|
|
@@ -3893,7 +3897,7 @@ function agentManagementCommands() {
|
|
|
3893
3897
|
"Reconcile the open purchases of this channel, as status lists it; also reaches retired channels"
|
|
3894
3898
|
).option("--json", "Print the versioned JSON envelope").action(
|
|
3895
3899
|
async (invocationId, options) => {
|
|
3896
|
-
const { reconcileChannelPurchases, reconcileInvocation } = await import("./reconcile-
|
|
3900
|
+
const { reconcileChannelPurchases, reconcileInvocation } = await import("./reconcile-FZTOX3PZ.js");
|
|
3897
3901
|
const choice = { rail: options.rail, channel: options.channel };
|
|
3898
3902
|
if (invocationId !== void 0) {
|
|
3899
3903
|
await run(
|
|
@@ -3951,7 +3955,7 @@ function agentManagementCommands() {
|
|
|
3951
3955
|
`Not a USDC amount: ${options.amount} (digits, at most 6 decimals)`
|
|
3952
3956
|
);
|
|
3953
3957
|
}
|
|
3954
|
-
const { openAgentChannels, requestTopUp, selectRail, withdrawalHatch } = await import("./channels-
|
|
3958
|
+
const { openAgentChannels, requestTopUp, selectRail, withdrawalHatch } = await import("./channels-LEYAANE5.js");
|
|
3955
3959
|
const { rails } = await openAgentChannels();
|
|
3956
3960
|
const result = await requestTopUp(selectRail(rails, options.rail), amount);
|
|
3957
3961
|
return {
|
|
@@ -3975,8 +3979,8 @@ function agentManagementCommands() {
|
|
|
3975
3979
|
async () => {
|
|
3976
3980
|
await requireExperimental();
|
|
3977
3981
|
const { AGENT_VIEW_VERSION } = await import("./budget-view-J6L7X6EY.js");
|
|
3978
|
-
const { closeChannel, openAgentChannels, selectChannel } = await import("./channels-
|
|
3979
|
-
const { reconcileLeasedPurchase } = await import("./reconcile-
|
|
3982
|
+
const { closeChannel, openAgentChannels, selectChannel } = await import("./channels-LEYAANE5.js");
|
|
3983
|
+
const { reconcileLeasedPurchase } = await import("./reconcile-FZTOX3PZ.js");
|
|
3980
3984
|
const opened = await openAgentChannels();
|
|
3981
3985
|
const { rail, retired } = selectChannel(opened, options);
|
|
3982
3986
|
const result = await closeChannel(
|
|
@@ -4047,7 +4051,7 @@ function agentManagementCommands() {
|
|
|
4047
4051
|
options,
|
|
4048
4052
|
async () => {
|
|
4049
4053
|
await requireExperimental();
|
|
4050
|
-
const { runPull } = await import("./sync-pull-
|
|
4054
|
+
const { runPull } = await import("./sync-pull-DZGTSKZU.js");
|
|
4051
4055
|
const { terminalPrompter } = await import("./prompter-LSICEYSQ.js");
|
|
4052
4056
|
return runPull(options, {
|
|
4053
4057
|
interactive: Boolean(process.stdin.isTTY && process.stdout.isTTY) && !options.json,
|
|
@@ -10901,10 +10905,12 @@ async function approveSponsoredTaskSpend(input) {
|
|
|
10901
10905
|
}
|
|
10902
10906
|
|
|
10903
10907
|
// src/commands/sponsored-task/create.ts
|
|
10908
|
+
var TOKEN_RISK = "If the token can blocklist addresses or pause transfers, its issuer can freeze the vault's funds, and emergency exit cannot move them. Tokens with a transfer fee or a transfer hook that changes the amount cannot fund a vault.";
|
|
10904
10909
|
function isValidAddress4(addr) {
|
|
10905
10910
|
return /^0x[a-fA-F0-9]{40}$/.test(addr);
|
|
10906
10911
|
}
|
|
10907
|
-
var sponsoredTaskCreateCommand = new Command96("create").description("Create a new Sponsored Task vault for a project token").requiredOption("--factory <address>", "SponsoredTaskFactory contract address").requiredOption("--chain-id <id>", "Chain id the factory is deployed on").requiredOption("--token <address>", "Project ERC-20 token address to fund the vault with").option("--owner <address>", "Vault owner (defaults to your own wallet)").
|
|
10912
|
+
var sponsoredTaskCreateCommand = new Command96("create").description("Create a new Sponsored Task vault for a project token").requiredOption("--factory <address>", "SponsoredTaskFactory contract address").requiredOption("--chain-id <id>", "Chain id the factory is deployed on").requiredOption("--token <address>", "Project ERC-20 token address to fund the vault with").option("--owner <address>", "Vault owner (defaults to your own wallet)").addHelpText("after", `
|
|
10913
|
+
Token risk: ${TOKEN_RISK}`).action(async (opts) => {
|
|
10908
10914
|
if (!isValidAddress4(opts.factory) || !isValidAddress4(opts.token)) {
|
|
10909
10915
|
printError("Invalid Ethereum address for --factory or --token");
|
|
10910
10916
|
return;
|
|
@@ -10937,7 +10943,10 @@ var sponsoredTaskCreateCommand = new Command96("create").description("Create a n
|
|
|
10937
10943
|
args: [opts.token, vaultOwner, userSalt]
|
|
10938
10944
|
});
|
|
10939
10945
|
const [vault, vaultId] = result;
|
|
10940
|
-
printResult(
|
|
10946
|
+
printResult(
|
|
10947
|
+
{ txHash, vault, vaultId, owner: vaultOwner, token: opts.token },
|
|
10948
|
+
{ warnings: [cliWarning("token_freeze_risk", TOKEN_RISK, { token: opts.token })] }
|
|
10949
|
+
);
|
|
10941
10950
|
});
|
|
10942
10951
|
|
|
10943
10952
|
// src/commands/sponsored-task/fund.ts
|
|
@@ -11377,6 +11386,20 @@ async function postClaimWithRetry(path3, body, options = {}) {
|
|
|
11377
11386
|
}
|
|
11378
11387
|
}
|
|
11379
11388
|
}
|
|
11389
|
+
var ENTITLEMENT_WAIT_BUDGET_MS = 6e4;
|
|
11390
|
+
async function findEntitlement(vaultId, workerAddress, taskId, options = {}) {
|
|
11391
|
+
const sleep4 = options.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
11392
|
+
const deadline = Date.now() + (options.budgetMs ?? ENTITLEMENT_WAIT_BUDGET_MS);
|
|
11393
|
+
const query3 = taskId ? `&taskId=${taskId}` : "";
|
|
11394
|
+
for (; ; ) {
|
|
11395
|
+
const entitlements = await apiGet(
|
|
11396
|
+
`/api/sponsored-task-vaults/${vaultId}/entitlements?workerAddress=${workerAddress}${query3}`
|
|
11397
|
+
);
|
|
11398
|
+
const found = taskId ? entitlements.find((e) => e.taskId.toLowerCase() === taskId.toLowerCase()) : entitlements[0];
|
|
11399
|
+
if (found || !taskId || Date.now() + 3e3 > deadline) return found;
|
|
11400
|
+
await sleep4(3e3);
|
|
11401
|
+
}
|
|
11402
|
+
}
|
|
11380
11403
|
var sponsoredTaskClaimCommand = new Command108("claim").description("Claim your unclaimed Sponsored Task reward for a vault task").argument("<vaultId>", "Vault id").option(
|
|
11381
11404
|
"--task-id <id>",
|
|
11382
11405
|
"Claim the entitlement for a specific task (defaults to the first unclaimed one)"
|
|
@@ -11414,10 +11437,7 @@ var sponsoredTaskClaimCommand = new Command108("claim").description("Claim your
|
|
|
11414
11437
|
renderFailure(err);
|
|
11415
11438
|
return;
|
|
11416
11439
|
}
|
|
11417
|
-
const
|
|
11418
|
-
`/api/sponsored-task-vaults/${vaultId}/entitlements?workerAddress=${workerAddress}`
|
|
11419
|
-
);
|
|
11420
|
-
const entitlement = opts.taskId ? entitlements.find((e) => e.taskId.toLowerCase() === opts.taskId.toLowerCase()) : entitlements[0];
|
|
11440
|
+
const entitlement = await findEntitlement(vaultId, workerAddress, opts.taskId);
|
|
11421
11441
|
if (!entitlement) {
|
|
11422
11442
|
printError("No unclaimed entitlement found for this wallet in this vault.");
|
|
11423
11443
|
return;
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
recordSessionEnd,
|
|
8
8
|
recordSessionStart,
|
|
9
9
|
uploadPlan
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ULPTFH3G.js";
|
|
11
11
|
import {
|
|
12
12
|
TaskOperationError,
|
|
13
13
|
authorizeUploads,
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
submitUploadedArtifacts,
|
|
29
29
|
taskAccessGrantHeaders,
|
|
30
30
|
taskAwardsOf
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-PE72DL5T.js";
|
|
32
32
|
import {
|
|
33
33
|
terminalPrompter
|
|
34
34
|
} from "./chunk-ZIC2YCLV.js";
|
|
@@ -68,7 +68,7 @@ import {
|
|
|
68
68
|
sha256Hex,
|
|
69
69
|
specHash,
|
|
70
70
|
taskStage
|
|
71
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-CGUYPUG3.js";
|
|
72
72
|
import {
|
|
73
73
|
BrokerConnector,
|
|
74
74
|
OutputLimitError,
|
|
@@ -80,7 +80,7 @@ import {
|
|
|
80
80
|
serveSandboxChannel,
|
|
81
81
|
withFileLock,
|
|
82
82
|
writeAtomic
|
|
83
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-RFRSTYDB.js";
|
|
84
84
|
import {
|
|
85
85
|
applyComputeCreditSetup,
|
|
86
86
|
atomicToUsd,
|
|
@@ -90,7 +90,7 @@ import {
|
|
|
90
90
|
planComputeCreditSetup,
|
|
91
91
|
readComputeCreditBalance,
|
|
92
92
|
usdToAtomic
|
|
93
|
-
} from "./chunk-
|
|
93
|
+
} from "./chunk-73SUBS7U.js";
|
|
94
94
|
import {
|
|
95
95
|
MAX_RETIRED_RAILS,
|
|
96
96
|
WORKSPACE_CONSENT_VERSION,
|
|
@@ -110,7 +110,7 @@ import {
|
|
|
110
110
|
routeOfCatalogRow,
|
|
111
111
|
saveAgentPolicy,
|
|
112
112
|
settledRetiredRails
|
|
113
|
-
} from "./chunk-
|
|
113
|
+
} from "./chunk-XBTNZTXE.js";
|
|
114
114
|
import {
|
|
115
115
|
BASE_CHANNEL_RAIL_ID,
|
|
116
116
|
createBaseChannelPayer,
|
|
@@ -124,7 +124,7 @@ import {
|
|
|
124
124
|
rpcUrlForNetwork,
|
|
125
125
|
saveX402Policy,
|
|
126
126
|
x402SpendWindowAvailability
|
|
127
|
-
} from "./chunk-
|
|
127
|
+
} from "./chunk-6KBTN3WM.js";
|
|
128
128
|
import {
|
|
129
129
|
IntentStatusResponseSchema,
|
|
130
130
|
NetworkChainInfoSchema,
|
|
@@ -137,7 +137,7 @@ import {
|
|
|
137
137
|
piCodingAgentTools,
|
|
138
138
|
selectedNetwork,
|
|
139
139
|
taskmarketChain
|
|
140
|
-
} from "./chunk-
|
|
140
|
+
} from "./chunk-L3A7JOO5.js";
|
|
141
141
|
import {
|
|
142
142
|
AGENT_VIEW_VERSION,
|
|
143
143
|
describeFailureDetail,
|
|
@@ -31520,6 +31520,9 @@ var TaskListInputSchema = external_exports.object({
|
|
|
31520
31520
|
minReward: UsdcBaseUnitsSchema.max(78).optional(),
|
|
31521
31521
|
maxReward: UsdcBaseUnitsSchema.max(78).optional(),
|
|
31522
31522
|
deadlineHours: external_exports.number().int().positive().optional(),
|
|
31523
|
+
// Only tasks carrying a sponsored task reward that is still reserved or already credited.
|
|
31524
|
+
// A query-string flag, so it arrives as 'true'/'false' over REST.
|
|
31525
|
+
sponsored: external_exports.enum(["true", "false"]).optional().transform((v) => v === void 0 ? void 0 : v === "true"),
|
|
31523
31526
|
requester: external_exports.string().optional(),
|
|
31524
31527
|
worker: external_exports.string().optional(),
|
|
31525
31528
|
taskDropId: external_exports.string().trim().min(1).optional(),
|
|
@@ -31618,6 +31621,12 @@ var TaskDetailResponseSchema = TaskResponseSchema.extend({
|
|
|
31618
31621
|
* claims stay free whatever `stakeRequired`/`stakeBps` say, and "0" for every non-claim mode.
|
|
31619
31622
|
*/
|
|
31620
31623
|
enforcedClaimStake: external_exports.string().optional(),
|
|
31624
|
+
/**
|
|
31625
|
+
* Rev026: the diamond's escrow record for the task as last indexed. `booked` is what the task
|
|
31626
|
+
* owes in USDC base units; `tracked` is false for a pre-rev026 task the upgrade backfill has not
|
|
31627
|
+
* booked. Null below rev026 or before the first escrow event is indexed.
|
|
31628
|
+
*/
|
|
31629
|
+
escrow: external_exports.object({ booked: external_exports.string(), tracked: external_exports.boolean() }).nullable().optional(),
|
|
31621
31630
|
/**
|
|
31622
31631
|
* An auction's accepted price in USDC base units (the contract's stakeAmount) once a winner is
|
|
31623
31632
|
* bound, else null. Evaluator awards are budgeted against it, less the evaluator fee.
|
|
@@ -32037,8 +32046,10 @@ var HealthResponseSchema = external_exports.object({
|
|
|
32037
32046
|
/**
|
|
32038
32047
|
* Each served chain's escrow solvency (ADR-0261), from a background pass every five minutes:
|
|
32039
32048
|
* the diamond's payment token balance against what open tasks are owed according to the
|
|
32040
|
-
* indexed state (rewards plus claim and evaluator stakes)
|
|
32041
|
-
*
|
|
32049
|
+
* indexed state (rewards plus claim and evaluator stakes), and from rev026 against the diamond's
|
|
32050
|
+
* own booked liabilities. `solvent: false` means the balance is below either; each is also
|
|
32051
|
+
* logged, as `escrow_balance_below_owed` or `escrow_balance_below_liabilities`. Absent before
|
|
32052
|
+
* the first pass.
|
|
32042
32053
|
*/
|
|
32043
32054
|
escrow: external_exports.array(external_exports.object({
|
|
32044
32055
|
chainId: external_exports.number().int(),
|
|
@@ -32050,6 +32061,18 @@ var HealthResponseSchema = external_exports.object({
|
|
|
32050
32061
|
/** owed - balance, when positive. */
|
|
32051
32062
|
shortfall: external_exports.string().optional(),
|
|
32052
32063
|
solvent: external_exports.boolean(),
|
|
32064
|
+
/** Rev026: the diamond's totalLiabilities(), in base units; absent below rev026. */
|
|
32065
|
+
liabilities: external_exports.string().optional(),
|
|
32066
|
+
/** Rev026: whether the upgrade backfill is complete. */
|
|
32067
|
+
liabilitiesInitialised: external_exports.boolean().optional(),
|
|
32068
|
+
/** Rev026: the balance read at the same block as `liabilities`; surplus and shortfall use it. */
|
|
32069
|
+
liabilitiesBalance: external_exports.string().optional(),
|
|
32070
|
+
/** Rev026: liabilitiesBalance - liabilities, when non-negative. */
|
|
32071
|
+
surplus: external_exports.string().optional(),
|
|
32072
|
+
/** Rev026: liabilities - liabilitiesBalance, when positive. */
|
|
32073
|
+
liabilitiesShortfall: external_exports.string().optional(),
|
|
32074
|
+
/** Rev026: liabilities - owed, once the backfill is complete and they differ. */
|
|
32075
|
+
liabilitiesDrift: external_exports.string().optional(),
|
|
32053
32076
|
measuredAt: external_exports.string()
|
|
32054
32077
|
})).optional(),
|
|
32055
32078
|
/**
|
|
@@ -50263,23 +50286,31 @@ var TEMPO_RATE_TASK_GAS_LIMIT = 4000000n;
|
|
|
50263
50286
|
var TEMPO_CANCEL_TASK_BASE_GAS_LIMIT = 3500000n;
|
|
50264
50287
|
var BASE_RATE_TASK_GAS_LIMIT = 1500000n;
|
|
50265
50288
|
var BASE_CANCEL_TASK_BASE_GAS_LIMIT = 1000000n;
|
|
50266
|
-
var
|
|
50267
|
-
var
|
|
50289
|
+
var BASE_HOOK_GAS_STIPEND = 1000000n;
|
|
50290
|
+
var TEMPO_HOOK_GAS_STIPEND = 7000000n;
|
|
50291
|
+
function hookCallGas(stipend) {
|
|
50292
|
+
const needed = (stipend * 64n + 62n) / 63n + 100000n;
|
|
50293
|
+
return (needed + 99999n) / 100000n * 100000n;
|
|
50294
|
+
}
|
|
50295
|
+
var BASE_RELAY_GAS_CEILING = 16000000n;
|
|
50296
|
+
var TEMPO_RELAY_GAS_CEILING = 28000000n;
|
|
50268
50297
|
var RELAY_GAS_MARGIN_BPS = 12500n;
|
|
50269
50298
|
var BASE_DEFAULT_RELAY_GAS_FLOOR = 500000n;
|
|
50270
50299
|
var TEMPO_DEFAULT_RELAY_GAS_FLOOR = 1000000n;
|
|
50271
50300
|
var BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT = 4500000n;
|
|
50272
50301
|
var TEMPO_ACCEPT_SUBMISSIONS_GAS_LIMIT = 11250000n;
|
|
50273
|
-
function relayGasProfile(defaultFloor, rateTask, cancelBase, acceptSubmissions) {
|
|
50302
|
+
function relayGasProfile(defaultFloor, rateTask, cancelBase, acceptSubmissions, hookGasStipend, ceiling) {
|
|
50303
|
+
const perHook = hookCallGas(hookGasStipend);
|
|
50274
50304
|
const floors = Object.fromEntries(RELAY_GAS_OPS.map((op) => [op, { base: defaultFloor }]));
|
|
50275
50305
|
floors.rateTask = { base: rateTask };
|
|
50276
50306
|
floors.acceptSubmissions = { base: acceptSubmissions };
|
|
50277
|
-
floors.cancelTask = { base: cancelBase, perEntry:
|
|
50278
|
-
floors.refundExpired = { base: cancelBase, perEntry:
|
|
50279
|
-
floors.rejectDelivery = { base: cancelBase, perEntry:
|
|
50280
|
-
floors.settleLapsedReview = { base: cancelBase, perEntry:
|
|
50281
|
-
floors.
|
|
50282
|
-
|
|
50307
|
+
floors.cancelTask = { base: cancelBase, perEntry: perHook };
|
|
50308
|
+
floors.refundExpired = { base: cancelBase, perEntry: perHook };
|
|
50309
|
+
floors.rejectDelivery = { base: cancelBase, perEntry: perHook };
|
|
50310
|
+
floors.settleLapsedReview = { base: cancelBase, perEntry: perHook };
|
|
50311
|
+
floors.resolveDispute = { base: cancelBase, perEntry: perHook };
|
|
50312
|
+
floors.createTask = { base: defaultFloor, perEntry: perHook };
|
|
50313
|
+
return { hookGasStipend, marginBps: RELAY_GAS_MARGIN_BPS, ceiling, floors };
|
|
50283
50314
|
}
|
|
50284
50315
|
var TEMPO_MAX_FEE_PER_GAS_CAP = 6000000000n;
|
|
50285
50316
|
var tempoFees = {
|
|
@@ -50319,7 +50350,7 @@ var TASKMARKET_CHAINS = Object.freeze({
|
|
|
50319
50350
|
},
|
|
50320
50351
|
fees: { kind: "native" },
|
|
50321
50352
|
blockTimeMs: 2e3,
|
|
50322
|
-
relayGas: relayGasProfile(BASE_DEFAULT_RELAY_GAS_FLOOR, BASE_RATE_TASK_GAS_LIMIT, BASE_CANCEL_TASK_BASE_GAS_LIMIT, BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT),
|
|
50353
|
+
relayGas: relayGasProfile(BASE_DEFAULT_RELAY_GAS_FLOOR, BASE_RATE_TASK_GAS_LIMIT, BASE_CANCEL_TASK_BASE_GAS_LIMIT, BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT, BASE_HOOK_GAS_STIPEND, BASE_RELAY_GAS_CEILING),
|
|
50323
50354
|
defaultPlatformFeeBps: 0,
|
|
50324
50355
|
indexer: { head: "latest", logRangeBlocks: 1e4 },
|
|
50325
50356
|
erc8004: { ...ERC8004_MAINNET },
|
|
@@ -50348,7 +50379,7 @@ var TASKMARKET_CHAINS = Object.freeze({
|
|
|
50348
50379
|
},
|
|
50349
50380
|
fees: { kind: "native" },
|
|
50350
50381
|
blockTimeMs: 2e3,
|
|
50351
|
-
relayGas: relayGasProfile(BASE_DEFAULT_RELAY_GAS_FLOOR, BASE_RATE_TASK_GAS_LIMIT, BASE_CANCEL_TASK_BASE_GAS_LIMIT, BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT),
|
|
50382
|
+
relayGas: relayGasProfile(BASE_DEFAULT_RELAY_GAS_FLOOR, BASE_RATE_TASK_GAS_LIMIT, BASE_CANCEL_TASK_BASE_GAS_LIMIT, BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT, BASE_HOOK_GAS_STIPEND, BASE_RELAY_GAS_CEILING),
|
|
50352
50383
|
defaultPlatformFeeBps: 0,
|
|
50353
50384
|
indexer: { head: "latest", logRangeBlocks: 1e4 },
|
|
50354
50385
|
erc8004: { ...ERC8004_TESTNET },
|
|
@@ -50370,7 +50401,7 @@ var TASKMARKET_CHAINS = Object.freeze({
|
|
|
50370
50401
|
payment: { ...tempoPayment, domain: { ...tempoPayment.domain } },
|
|
50371
50402
|
fees: { ...tempoFees },
|
|
50372
50403
|
blockTimeMs: 1e3,
|
|
50373
|
-
relayGas: relayGasProfile(TEMPO_DEFAULT_RELAY_GAS_FLOOR, TEMPO_RATE_TASK_GAS_LIMIT, TEMPO_CANCEL_TASK_BASE_GAS_LIMIT, TEMPO_ACCEPT_SUBMISSIONS_GAS_LIMIT),
|
|
50404
|
+
relayGas: relayGasProfile(TEMPO_DEFAULT_RELAY_GAS_FLOOR, TEMPO_RATE_TASK_GAS_LIMIT, TEMPO_CANCEL_TASK_BASE_GAS_LIMIT, TEMPO_ACCEPT_SUBMISSIONS_GAS_LIMIT, TEMPO_HOOK_GAS_STIPEND, TEMPO_RELAY_GAS_CEILING),
|
|
50374
50405
|
defaultPlatformFeeBps: 0,
|
|
50375
50406
|
maxValidityWindowSeconds: TEMPO_MAX_VALIDITY_WINDOW_SECONDS,
|
|
50376
50407
|
// Tempo finality is deterministic and fast; until the provider's eth_getLogs limit is
|
|
@@ -50393,7 +50424,7 @@ var TASKMARKET_CHAINS = Object.freeze({
|
|
|
50393
50424
|
payment: { ...tempoPayment, domain: { ...tempoPayment.domain } },
|
|
50394
50425
|
fees: { ...tempoFees },
|
|
50395
50426
|
blockTimeMs: 1e3,
|
|
50396
|
-
relayGas: relayGasProfile(TEMPO_DEFAULT_RELAY_GAS_FLOOR, TEMPO_RATE_TASK_GAS_LIMIT, TEMPO_CANCEL_TASK_BASE_GAS_LIMIT, TEMPO_ACCEPT_SUBMISSIONS_GAS_LIMIT),
|
|
50427
|
+
relayGas: relayGasProfile(TEMPO_DEFAULT_RELAY_GAS_FLOOR, TEMPO_RATE_TASK_GAS_LIMIT, TEMPO_CANCEL_TASK_BASE_GAS_LIMIT, TEMPO_ACCEPT_SUBMISSIONS_GAS_LIMIT, TEMPO_HOOK_GAS_STIPEND, TEMPO_RELAY_GAS_CEILING),
|
|
50397
50428
|
defaultPlatformFeeBps: 0,
|
|
50398
50429
|
maxValidityWindowSeconds: TEMPO_MAX_VALIDITY_WINDOW_SECONDS,
|
|
50399
50430
|
indexer: { head: "finalized", logRangeBlocks: 1e4 },
|
|
@@ -50420,7 +50451,7 @@ var TASKMARKET_CHAINS = Object.freeze({
|
|
|
50420
50451
|
},
|
|
50421
50452
|
fees: { kind: "native" },
|
|
50422
50453
|
blockTimeMs: 1e3,
|
|
50423
|
-
relayGas: relayGasProfile(BASE_DEFAULT_RELAY_GAS_FLOOR, BASE_RATE_TASK_GAS_LIMIT, BASE_CANCEL_TASK_BASE_GAS_LIMIT, BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT),
|
|
50454
|
+
relayGas: relayGasProfile(BASE_DEFAULT_RELAY_GAS_FLOOR, BASE_RATE_TASK_GAS_LIMIT, BASE_CANCEL_TASK_BASE_GAS_LIMIT, BASE_ACCEPT_SUBMISSIONS_GAS_LIMIT, BASE_HOOK_GAS_STIPEND, BASE_RELAY_GAS_CEILING),
|
|
50424
50455
|
defaultPlatformFeeBps: 750,
|
|
50425
50456
|
indexer: { head: "latest", logRangeBlocks: 1e4 },
|
|
50426
50457
|
erc8004: void 0,
|
|
@@ -76616,7 +76647,11 @@ var REPLAY_SAFE_TOOLS = /* @__PURE__ */ new Set([
|
|
|
76616
76647
|
"taskmarket_docs",
|
|
76617
76648
|
"skill_read"
|
|
76618
76649
|
]);
|
|
76619
|
-
var NEVER_REPLAY_TOOLS = /* @__PURE__ */ new Set([
|
|
76650
|
+
var NEVER_REPLAY_TOOLS = /* @__PURE__ */ new Set([
|
|
76651
|
+
"x402_purchase",
|
|
76652
|
+
"taskmarket_execute",
|
|
76653
|
+
"web_search"
|
|
76654
|
+
]);
|
|
76620
76655
|
function toolReplayPolicy(name) {
|
|
76621
76656
|
return REPLAY_SAFE_TOOLS.has(name) && !NEVER_REPLAY_TOOLS.has(name) ? "safe" : "unsafe";
|
|
76622
76657
|
}
|
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
channelView,
|
|
4
4
|
openAgentChannels,
|
|
5
5
|
selectChannel
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-XBTNZTXE.js";
|
|
7
7
|
import {
|
|
8
8
|
BASE_CHANNEL_RAIL_ID,
|
|
9
9
|
X402_INVOCATION_ID_PATTERN,
|
|
10
10
|
getX402JournalPath,
|
|
11
11
|
listX402Payments
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-6KBTN3WM.js";
|
|
13
|
+
import "./chunk-L3A7JOO5.js";
|
|
14
14
|
import {
|
|
15
15
|
AGENT_VIEW_VERSION,
|
|
16
16
|
LOST_RESPONSE_TEXT,
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
statusLines,
|
|
8
8
|
syncLines,
|
|
9
9
|
taskLines
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-4E76UNBE.js";
|
|
11
|
+
import "./chunk-CGUYPUG3.js";
|
|
12
|
+
import "./chunk-RFRSTYDB.js";
|
|
13
|
+
import "./chunk-73SUBS7U.js";
|
|
14
|
+
import "./chunk-XBTNZTXE.js";
|
|
15
|
+
import "./chunk-6KBTN3WM.js";
|
|
16
|
+
import "./chunk-L3A7JOO5.js";
|
|
17
17
|
import "./chunk-XJOB4NMV.js";
|
|
18
18
|
import "./chunk-YM4S6IE4.js";
|
|
19
19
|
import "./chunk-S7SJMJ2I.js";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
savedWorkspace,
|
|
12
12
|
summarize,
|
|
13
13
|
unsavedPaths
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-ULPTFH3G.js";
|
|
15
15
|
import {
|
|
16
16
|
BrokerConnector,
|
|
17
17
|
SandboxUnavailableError,
|
|
@@ -27,11 +27,11 @@ import {
|
|
|
27
27
|
releaseClaim,
|
|
28
28
|
unresolvedCount,
|
|
29
29
|
updateSyncState
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-RFRSTYDB.js";
|
|
31
31
|
import {
|
|
32
32
|
apiUrl,
|
|
33
33
|
loadKeystore
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-L3A7JOO5.js";
|
|
35
35
|
import {
|
|
36
36
|
AgentLaunchError
|
|
37
37
|
} from "./chunk-YM4S6IE4.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lucid-agents/taskmarket",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.25.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"taskmarket": "./dist/index.js"
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"@taskmarket/agent-host": "0.0.1",
|
|
32
32
|
"@taskmarket/eslint-config": "0.0.0",
|
|
33
33
|
"@taskmarket/prettier-config": "0.0.0",
|
|
34
|
-
"@taskmarket/shared": "2.0.0",
|
|
35
|
-
"@taskmarket/x402-payer": "0.1.0",
|
|
36
34
|
"@taskmarket/contracts": "0.0.0",
|
|
37
|
-
"@taskmarket/remote-tools": "0.0.1"
|
|
35
|
+
"@taskmarket/remote-tools": "0.0.1",
|
|
36
|
+
"@taskmarket/x402-payer": "0.1.0",
|
|
37
|
+
"@taskmarket/shared": "2.0.0"
|
|
38
38
|
},
|
|
39
39
|
"files": [
|
|
40
40
|
"dist",
|