opencrowd 0.5.1 → 0.5.2
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 +18 -10
- package/package.json +1 -1
package/bundle/opencrowd.js
CHANGED
|
@@ -33573,6 +33573,9 @@ async function recordReviewSubmitted(session, purchaseId, rating) {
|
|
|
33573
33573
|
submitted_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
33574
33574
|
});
|
|
33575
33575
|
}
|
|
33576
|
+
async function recordReviewFailed(session, purchaseId) {
|
|
33577
|
+
await appendPurchaseEvent(session, { type: "review_failed", purchase_id: purchaseId, attempted_at: (/* @__PURE__ */ new Date()).toISOString() });
|
|
33578
|
+
}
|
|
33576
33579
|
async function appendPurchaseEvent(session, event) {
|
|
33577
33580
|
const path3 = purchasesPath(session);
|
|
33578
33581
|
await mkdir8(dirname7(path3), { recursive: true });
|
|
@@ -33605,6 +33608,10 @@ async function listPurchases(session) {
|
|
|
33605
33608
|
record: event.record,
|
|
33606
33609
|
reviewStatus: event.record.review_required ? "pending" : "not_required"
|
|
33607
33610
|
});
|
|
33611
|
+
} else if (event.type === "review_failed") {
|
|
33612
|
+
const state = states.get(event.purchase_id);
|
|
33613
|
+
if (state)
|
|
33614
|
+
state.reviewAttempts = (state.reviewAttempts ?? 0) + 1;
|
|
33608
33615
|
} else if (event.type === "review_submitted") {
|
|
33609
33616
|
const state = states.get(event.purchase_id);
|
|
33610
33617
|
if (state) {
|
|
@@ -33616,7 +33623,7 @@ async function listPurchases(session) {
|
|
|
33616
33623
|
return [...states.values()];
|
|
33617
33624
|
}
|
|
33618
33625
|
async function pendingRequiredReviews(session) {
|
|
33619
|
-
return (await listPurchases(session)).filter((state) => state.reviewStatus === "pending");
|
|
33626
|
+
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
33627
|
}
|
|
33621
33628
|
function redactPurchase(state) {
|
|
33622
33629
|
const { record: record3 } = state;
|
|
@@ -33630,12 +33637,15 @@ function redactPurchase(state) {
|
|
|
33630
33637
|
charged_cost_cents: record3.charged_cost_cents,
|
|
33631
33638
|
artifact_path: record3.artifact_path,
|
|
33632
33639
|
review_status: state.reviewStatus,
|
|
33640
|
+
review_deferred: state.reviewStatus === "pending" && (state.reviewAttempts ?? 0) >= MAX_REVIEW_ATTEMPTS,
|
|
33633
33641
|
created_at: record3.created_at
|
|
33634
33642
|
};
|
|
33635
33643
|
}
|
|
33644
|
+
var MAX_REVIEW_ATTEMPTS;
|
|
33636
33645
|
var init_purchases = __esm({
|
|
33637
33646
|
"../../packages/economy/dist/purchases.js"() {
|
|
33638
33647
|
"use strict";
|
|
33648
|
+
MAX_REVIEW_ATTEMPTS = 2;
|
|
33639
33649
|
}
|
|
33640
33650
|
});
|
|
33641
33651
|
|
|
@@ -33913,6 +33923,7 @@ var init_gateway = __esm({
|
|
|
33913
33923
|
const record3 = {
|
|
33914
33924
|
purchase_id: purchaseId,
|
|
33915
33925
|
session_id: session.sessionId,
|
|
33926
|
+
query_id: session.query?.id,
|
|
33916
33927
|
created_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
33917
33928
|
endpoint,
|
|
33918
33929
|
method,
|
|
@@ -34079,7 +34090,9 @@ var init_gateway = __esm({
|
|
|
34079
34090
|
taskContext: stringArg(args.task_context)
|
|
34080
34091
|
});
|
|
34081
34092
|
if (!result.ok) {
|
|
34082
|
-
|
|
34093
|
+
await recordReviewFailed(this.options.session, purchaseId);
|
|
34094
|
+
const deferred = (state.reviewAttempts ?? 0) + 1 >= MAX_REVIEW_ATTEMPTS;
|
|
34095
|
+
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
34096
|
}
|
|
34084
34097
|
await recordReviewSubmitted(this.options.session, purchaseId, rating);
|
|
34085
34098
|
return { ok: true, data: { purchase_id: purchaseId, review: "submitted", rating } };
|
|
@@ -79804,25 +79817,20 @@ var init_llm_runtime = __esm({
|
|
|
79804
79817
|
|
|
79805
79818
|
// ../../packages/agent-runtime/dist/economy-tools.js
|
|
79806
79819
|
function economyTools(economy, options = {}) {
|
|
79807
|
-
let failedReviews = 0;
|
|
79808
79820
|
return {
|
|
79809
79821
|
definitions: economy.definitions().filter((tool) => !options.hidden?.has(tool.name)),
|
|
79810
79822
|
execute: async (name, args, operationId) => {
|
|
79811
79823
|
if (options.resuming && name === "call_paid_service")
|
|
79812
79824
|
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;
|
|
79825
|
+
return economy.execute(name, args, operationId);
|
|
79817
79826
|
},
|
|
79818
|
-
completionGate: async () =>
|
|
79827
|
+
completionGate: async () => !await economy.hasPendingRequiredReviews() ? void 0 : "a paid purchase still needs its required review; submit it with review_paid_service"
|
|
79819
79828
|
};
|
|
79820
79829
|
}
|
|
79821
|
-
var MAX_REVIEW_ATTEMPTS;
|
|
79822
79830
|
var init_economy_tools = __esm({
|
|
79823
79831
|
"../../packages/agent-runtime/dist/economy-tools.js"() {
|
|
79824
79832
|
"use strict";
|
|
79825
|
-
|
|
79833
|
+
init_dist4();
|
|
79826
79834
|
}
|
|
79827
79835
|
});
|
|
79828
79836
|
|
package/package.json
CHANGED