opencrowd 0.5.1 → 0.5.3
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/bundle/opencrowd.js +26 -12
- package/package.json +1 -1
package/bundle/opencrowd.js
CHANGED
|
@@ -16347,9 +16347,13 @@ function normalizeConfig(value) {
|
|
|
16347
16347
|
const provider = legacyProvider && raw.blockrun === void 0 ? "blockrun" : normalizeConfigProvider(raw.provider) ?? DEFAULT_CONFIG.provider;
|
|
16348
16348
|
const proxyDefaults = providerDefaults(raw["openrouter-x402-proxy"] ?? raw.x402, DEFAULT_CONFIG["openrouter-x402-proxy"]);
|
|
16349
16349
|
const mcpServers = recordValue(raw.mcpServers);
|
|
16350
|
+
const servers = { ...DEFAULT_CONFIG.mcpServers, ...mcpServers };
|
|
16351
|
+
if (servers.crowdcode?.command === "npx" && JSON.stringify(servers.crowdcode.args) === JSON.stringify(["--yes", "crowdcode-mcp@0.5"])) {
|
|
16352
|
+
servers.crowdcode = { ...servers.crowdcode, args: [...DEFAULT_CONFIG.mcpServers.crowdcode.args] };
|
|
16353
|
+
}
|
|
16350
16354
|
return {
|
|
16351
16355
|
configVersion: 3,
|
|
16352
|
-
mcpServers:
|
|
16356
|
+
mcpServers: servers,
|
|
16353
16357
|
provider,
|
|
16354
16358
|
blockrun: providerDefaults(raw.blockrun, DEFAULT_CONFIG.blockrun),
|
|
16355
16359
|
"openrouter-x402-proxy": proxyDefaults,
|
|
@@ -16394,7 +16398,7 @@ var init_config = __esm({
|
|
|
16394
16398
|
configVersion: 3,
|
|
16395
16399
|
mcpServers: {
|
|
16396
16400
|
agentcash: { command: "npx", args: ["--yes", "agentcash@0.17"] },
|
|
16397
|
-
crowdcode: { command: "npx", args: ["--yes", "crowdcode-mcp@0.5"] }
|
|
16401
|
+
crowdcode: { command: "npx", args: ["--yes", "crowdcode-mcp@0.5.2"] }
|
|
16398
16402
|
},
|
|
16399
16403
|
// GAIA provider benchmark (2026-08-25): same-model BlockRun matched the
|
|
16400
16404
|
// current route's accuracy and completed the sample 6.7x faster. The
|
|
@@ -33573,6 +33577,9 @@ async function recordReviewSubmitted(session, purchaseId, rating) {
|
|
|
33573
33577
|
submitted_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
33574
33578
|
});
|
|
33575
33579
|
}
|
|
33580
|
+
async function recordReviewFailed(session, purchaseId) {
|
|
33581
|
+
await appendPurchaseEvent(session, { type: "review_failed", purchase_id: purchaseId, attempted_at: (/* @__PURE__ */ new Date()).toISOString() });
|
|
33582
|
+
}
|
|
33576
33583
|
async function appendPurchaseEvent(session, event) {
|
|
33577
33584
|
const path3 = purchasesPath(session);
|
|
33578
33585
|
await mkdir8(dirname7(path3), { recursive: true });
|
|
@@ -33605,6 +33612,10 @@ async function listPurchases(session) {
|
|
|
33605
33612
|
record: event.record,
|
|
33606
33613
|
reviewStatus: event.record.review_required ? "pending" : "not_required"
|
|
33607
33614
|
});
|
|
33615
|
+
} else if (event.type === "review_failed") {
|
|
33616
|
+
const state = states.get(event.purchase_id);
|
|
33617
|
+
if (state)
|
|
33618
|
+
state.reviewAttempts = (state.reviewAttempts ?? 0) + 1;
|
|
33608
33619
|
} else if (event.type === "review_submitted") {
|
|
33609
33620
|
const state = states.get(event.purchase_id);
|
|
33610
33621
|
if (state) {
|
|
@@ -33616,7 +33627,7 @@ async function listPurchases(session) {
|
|
|
33616
33627
|
return [...states.values()];
|
|
33617
33628
|
}
|
|
33618
33629
|
async function pendingRequiredReviews(session) {
|
|
33619
|
-
return (await listPurchases(session)).filter((state) => state.reviewStatus === "pending");
|
|
33630
|
+
return (await listPurchases(session)).filter((state) => state.reviewStatus === "pending" && (state.reviewAttempts ?? 0) < MAX_REVIEW_ATTEMPTS && (!session.query || state.record.query_id === session.query.id));
|
|
33620
33631
|
}
|
|
33621
33632
|
function redactPurchase(state) {
|
|
33622
33633
|
const { record: record3 } = state;
|
|
@@ -33630,12 +33641,15 @@ function redactPurchase(state) {
|
|
|
33630
33641
|
charged_cost_cents: record3.charged_cost_cents,
|
|
33631
33642
|
artifact_path: record3.artifact_path,
|
|
33632
33643
|
review_status: state.reviewStatus,
|
|
33644
|
+
review_deferred: state.reviewStatus === "pending" && (state.reviewAttempts ?? 0) >= MAX_REVIEW_ATTEMPTS,
|
|
33633
33645
|
created_at: record3.created_at
|
|
33634
33646
|
};
|
|
33635
33647
|
}
|
|
33648
|
+
var MAX_REVIEW_ATTEMPTS;
|
|
33636
33649
|
var init_purchases = __esm({
|
|
33637
33650
|
"../../packages/economy/dist/purchases.js"() {
|
|
33638
33651
|
"use strict";
|
|
33652
|
+
MAX_REVIEW_ATTEMPTS = 2;
|
|
33639
33653
|
}
|
|
33640
33654
|
});
|
|
33641
33655
|
|
|
@@ -33913,6 +33927,7 @@ var init_gateway = __esm({
|
|
|
33913
33927
|
const record3 = {
|
|
33914
33928
|
purchase_id: purchaseId,
|
|
33915
33929
|
session_id: session.sessionId,
|
|
33930
|
+
query_id: session.query?.id,
|
|
33916
33931
|
created_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
33917
33932
|
endpoint,
|
|
33918
33933
|
method,
|
|
@@ -34079,7 +34094,9 @@ var init_gateway = __esm({
|
|
|
34079
34094
|
taskContext: stringArg(args.task_context)
|
|
34080
34095
|
});
|
|
34081
34096
|
if (!result.ok) {
|
|
34082
|
-
|
|
34097
|
+
await recordReviewFailed(this.options.session, purchaseId);
|
|
34098
|
+
const deferred = (state.reviewAttempts ?? 0) + 1 >= MAX_REVIEW_ATTEMPTS;
|
|
34099
|
+
return { ok: false, error: `CrowdCode review failed (${result.error}); the review stays pending${deferred ? " for manual retry, without blocking completion or later purchases" : " \u2014 retry review_paid_service"}` };
|
|
34083
34100
|
}
|
|
34084
34101
|
await recordReviewSubmitted(this.options.session, purchaseId, rating);
|
|
34085
34102
|
return { ok: true, data: { purchase_id: purchaseId, review: "submitted", rating } };
|
|
@@ -34432,6 +34449,8 @@ ${text.slice(0, 2400)}`),
|
|
|
34432
34449
|
return sharedPromise;
|
|
34433
34450
|
}
|
|
34434
34451
|
function resolvePinnedCommand(config4, binaryName) {
|
|
34452
|
+
if (binaryName === "crowdcode-mcp")
|
|
34453
|
+
return config4;
|
|
34435
34454
|
if (config4.command !== "npx") {
|
|
34436
34455
|
return config4;
|
|
34437
34456
|
}
|
|
@@ -79804,25 +79823,20 @@ var init_llm_runtime = __esm({
|
|
|
79804
79823
|
|
|
79805
79824
|
// ../../packages/agent-runtime/dist/economy-tools.js
|
|
79806
79825
|
function economyTools(economy, options = {}) {
|
|
79807
|
-
let failedReviews = 0;
|
|
79808
79826
|
return {
|
|
79809
79827
|
definitions: economy.definitions().filter((tool) => !options.hidden?.has(tool.name)),
|
|
79810
79828
|
execute: async (name, args, operationId) => {
|
|
79811
79829
|
if (options.resuming && name === "call_paid_service")
|
|
79812
79830
|
await economy.execute("inspect_paid_service", { url: args.url, method: args.method, sample_body: args.body });
|
|
79813
|
-
|
|
79814
|
-
if (name === "review_paid_service" && !result.ok)
|
|
79815
|
-
failedReviews++;
|
|
79816
|
-
return result;
|
|
79831
|
+
return economy.execute(name, args, operationId);
|
|
79817
79832
|
},
|
|
79818
|
-
completionGate: async () =>
|
|
79833
|
+
completionGate: async () => !await economy.hasPendingRequiredReviews() ? void 0 : "a paid purchase still needs its required review; submit it with review_paid_service"
|
|
79819
79834
|
};
|
|
79820
79835
|
}
|
|
79821
|
-
var MAX_REVIEW_ATTEMPTS;
|
|
79822
79836
|
var init_economy_tools = __esm({
|
|
79823
79837
|
"../../packages/agent-runtime/dist/economy-tools.js"() {
|
|
79824
79838
|
"use strict";
|
|
79825
|
-
|
|
79839
|
+
init_dist4();
|
|
79826
79840
|
}
|
|
79827
79841
|
});
|
|
79828
79842
|
|
package/package.json
CHANGED