rentahuman-mcp 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -160,7 +160,7 @@ These tools sign payments locally; the private key never leaves your machine, an
160
160
  - **get_escrow**: Inspect a specific escrow, including status, amounts, fees, parties, and audit history.
161
161
  - **list_escrows**: List escrows you created as the poster. Filter by `applicationId`, `bountyId`, optional `humanId`, or status.
162
162
  - **confirm_delivery**: Confirm work was delivered so payment can be completed or released.
163
- - **release_payment**: Release completed escrow funds to the worker after explicit user payment direction. This accepts the completed work; a separate evidence review is optional. Accepts optional `applicationId` binding check.
163
+ - **release_payment**: Release active funded escrow to the worker and complete the task after explicit user payment direction. A prior worker completion or evidence review is not required. Accepts optional `applicationId` binding check.
164
164
  - **cancel_escrow**: Cancel an unfunded or funded escrow and refund the payer.
165
165
  - **open_dispute**: Freeze an eligible escrow for admin review.
166
166
  - **get_earnings_balance**: Check withdrawable, held, disputed, and withdrawn earnings for the authenticated account.
@@ -223,8 +223,8 @@ submission, and inspects every uploaded file before calling
223
223
  agent cannot inspect a file, it must report that limitation instead of deciding.
224
224
  Review decisions require explicit user choice or explicit criteria-based
225
225
  delegation and do not move money. Conversely, an explicit `release_payment` or
226
- `pay_enterprise_bounty` instruction accepts completed work without requiring a
227
- separate evidence approval. Platform admins cannot authorize payment.
226
+ `pay_enterprise_bounty` instruction can pay before completion or evidence
227
+ approval. Platform admins cannot authorize payment.
228
228
 
229
229
  ### Human-written text
230
230
 
@@ -315,6 +315,12 @@ reason, and uncertain cases stay pending for your manual review via
315
315
  review and accept every application yourself. Ignored on `aiManaged` bounties,
316
316
  whose managed engine owns applicant review.
317
317
 
318
+ On `micCheckRequired` bounties the deterministic gate scores the applicant's
319
+ mic recording: auto-accept requires an overall DNSMOS score of at least
320
+ `autoAcceptMinMicScore` (1-5, default 3.0 — the platform's pass boundary).
321
+ Set it at creation or change it later via `update_bounty` (`null` resets to
322
+ the default). Below the floor, applications wait for your manual review.
323
+
318
324
  #### Microphone quality requirement
319
325
 
320
326
  `create_bounty` and `update_bounty` accept `micCheckRequired` (boolean, default
package/dist/serve.js CHANGED
@@ -1015,8 +1015,8 @@ when the user explicitly chooses approve/reject/redo or explicitly delegates
1015
1015
  criteria-based decisions. If a file cannot be inspected, disclose that limit
1016
1016
  instead of deciding. \`release_payment\` and \`pay_enterprise_bounty\` are
1017
1017
  separate irreversible financial actions and must only follow explicit user
1018
- payment direction; that direction accepts completed work without a separate
1019
- evidence-approval call.
1018
+ payment direction. Worker completion and evidence approval are not prerequisites
1019
+ for that explicit payment.
1020
1020
 
1021
1021
  ## Support
1022
1022
 
@@ -1659,6 +1659,14 @@ var CreateBountyRequest = Schema5.Struct({
1659
1659
  autoAccept: Schema5.optional(Schema5.Boolean).annotations({
1660
1660
  description: "Automatically review applicants as they apply. Deterministic checks (account standing, country eligibility, payout viability, your blocklist) always run; an AI review runs only when the application contains free-text screening answers that need judgment. Qualified applicants are accepted (the standard worker-confirmation window still applies unless skipAcceptanceConfirmation is set), clear mismatches are rejected with a reason, and uncertain cases stay pending for your manual review. Default true; pass false to review and accept every application yourself. Ignored for aiManaged bounties, whose managed engine owns applicant review."
1661
1661
  }),
1662
+ autoAcceptMinMicScore: Schema5.optional(
1663
+ Schema5.Number.pipe(
1664
+ Schema5.greaterThanOrEqualTo(1),
1665
+ Schema5.lessThanOrEqualTo(5)
1666
+ )
1667
+ ).annotations({
1668
+ description: "Minimum overall DNSMOS speech-quality score (1-5) an applicant\u2019s mic-check recording must reach for auto-accept on micCheckRequired bounties. Below the floor the application stays pending for your manual review (never auto-rejected). Default 3.0 \u2014 the platform\u2019s pass boundary. Only meaningful with micCheckRequired: true and autoAccept on."
1669
+ }),
1662
1670
  identityRequired: Schema5.optional(Schema5.Boolean).annotations({
1663
1671
  description: "Require applicants to pass an identity check (government ID) before applying. Verified once per account and reused across bounties. Default false."
1664
1672
  }),
@@ -1888,7 +1896,10 @@ var UpdateBountyRequest = Schema5.Struct({
1888
1896
  Schema5.lessThanOrEqualTo(500)
1889
1897
  )
1890
1898
  ).annotations({
1891
- description: "Increase the number of seats (humans needed). Cannot be set below spots already filled. Raising it on a funded bounty may require an additional escrow authorization."
1899
+ description: "Change the number of seats (humans needed). Cannot be set below spots already filled. On a wallet-funded bounty the pool is resized in place: extra seats are debited from the poster wallet, freed seats are refunded to it."
1900
+ }),
1901
+ walletImpactAcknowledged: Schema5.optional(Schema5.Boolean).annotations({
1902
+ description: "Acknowledges the wallet impact of a wallet-funded bounty edit. Any edit that debits the poster wallet (adding seats via spotsAvailable, or raising the price) is first refused with error_code wallet_impact_confirmation_required and the exact amount; retry the same request with this set to true to apply the charge. Admins editing a bounty they do not own must also pass it for any edit that debits or credits the poster wallet."
1892
1903
  }),
1893
1904
  keepApplicantsOnFill: Schema5.optional(Schema5.Boolean).annotations({
1894
1905
  description: "When true, pending applicants are kept (not auto-rejected) once all seats fill, so you can draw from the same pool after reopening or adding seats. Default false."
@@ -1896,6 +1907,16 @@ var UpdateBountyRequest = Schema5.Struct({
1896
1907
  autoAccept: Schema5.optional(Schema5.Boolean).annotations({
1897
1908
  description: "Turn automatic applicant review on or off. When on, deterministic checks always run and an AI review runs only for free-text screening answers; qualified applicants are accepted, clear mismatches rejected, uncertain cases left pending. Applications received while off stay pending; toggling on affects future applications only. Ignored on aiManaged bounties."
1898
1909
  }),
1910
+ autoAcceptMinMicScore: Schema5.optional(
1911
+ Schema5.NullOr(
1912
+ Schema5.Number.pipe(
1913
+ Schema5.greaterThanOrEqualTo(1),
1914
+ Schema5.lessThanOrEqualTo(5)
1915
+ )
1916
+ )
1917
+ ).annotations({
1918
+ description: "Change the minimum overall DNSMOS mic score (1-5) for auto-accept on micCheckRequired bounties, or pass null to reset to the platform default (3.0). Affects future applications only."
1919
+ }),
1899
1920
  completionCriteria: Schema5.optional(
1900
1921
  Schema5.String.pipe(Schema5.minLength(10), Schema5.maxLength(2e3))
1901
1922
  ).annotations({
@@ -2274,6 +2295,7 @@ var BountyPublicResponse = Schema7.Struct({
2274
2295
  micCheckRequired: Schema7.optional(Schema7.Boolean),
2275
2296
  completionWindowHours: Schema7.optional(Schema7.Number),
2276
2297
  autoAccept: Schema7.optional(Schema7.Boolean),
2298
+ autoAcceptMinMicScore: Schema7.optional(Schema7.Number),
2277
2299
  requiredQualificationIds: Schema7.optional(Schema7.Array(Schema7.String)),
2278
2300
  supportedCountries: Schema7.optional(Schema7.Array(Schema7.String)),
2279
2301
  intakeClosedCountries: Schema7.optional(Schema7.Array(Schema7.String)),
@@ -2368,7 +2390,7 @@ var decideExtensionSpec = {
2368
2390
  };
2369
2391
  var updateBountySpec = {
2370
2392
  name: "update_bounty",
2371
- description: "Update ordinary one-shot bounty details. You can modify the title, description, price, application-cutoff deadline, location, requiredLinks, applicationDetails, lifecycleMessages, liveCaptureRequirement, reactivate hidden inactive bounties, and more. The deadline stops new applications and direct uploads; completionWindowHours controls post-acceptance completion timing. To target an entire country, pass location with an ISO country code and isRemoteAllowed=false while omitting city and state. Live capture and required-link requirements can only be changed before applications are received. applicationDetails may be changed after applications are received; existing applications keep their original answers, while future applications use the latest fields. applicationDetails are application detail items for standard application bounties only; blank rows are ignored, uploads are capped at 3 fields, acknowledgments at 5 fields, and camera-only live_video at 1 required field. lifecycleMessages can define auto-message templates for acceptance, rejection, and submission review transitions. Admin-only ongoing bounty settings are intentionally not exposed through MCP. You can also pause/unpause a bounty (status 'paused'/'open'), close an unassigned bounty and return its unused funding (status 'closed'), increase seats via spotsAvailable, keep pending applicants on fill via keepApplicantsOnFill, and change the auto-reassign completion deadline via completionWindowHours (null disables; only affects seats confirmed after the edit), and toggle automatic applicant review via autoAccept (applications received while off stay pending; toggling on affects future applications only; ignored on aiManaged bounties). Use cancel_bounty for cancellation and refund handling. Work completion and payment are system-managed from escrow and payout evidence; status 'completed' and 'paid' cannot be set directly.",
2393
+ description: "Update ordinary one-shot bounty details. You can modify the title, description, price, application-cutoff deadline, location, requiredLinks, applicationDetails, lifecycleMessages, liveCaptureRequirement, reactivate hidden inactive bounties, and more. The deadline stops new applications and direct uploads; completionWindowHours controls post-acceptance completion timing. To target an entire country, pass location with an ISO country code and isRemoteAllowed=false while omitting city and state. Live capture and required-link requirements can only be changed before applications are received. applicationDetails may be changed after applications are received; existing applications keep their original answers, while future applications use the latest fields. applicationDetails are application detail items for standard application bounties only; blank rows are ignored, uploads are capped at 3 fields, acknowledgments at 5 fields, and camera-only live_video at 1 required field. lifecycleMessages can define auto-message templates for acceptance, rejection, and submission review transitions. Admin-only ongoing bounty settings are intentionally not exposed through MCP. You can also pause/unpause a bounty (status 'paused'/'open'), close an unassigned bounty and return its unused funding (status 'closed'), increase seats via spotsAvailable, keep pending applicants on fill via keepApplicantsOnFill, and change the auto-reassign completion deadline via completionWindowHours (null disables; only affects seats confirmed after the edit), and toggle automatic applicant review via autoAccept (applications received while off stay pending; toggling on affects future applications only; ignored on aiManaged bounties) or adjust its mic-quality floor via autoAcceptMinMicScore (1-5, null resets to the 3.0 default). Use cancel_bounty for cancellation and refund handling. Work completion and payment are system-managed from escrow and payout evidence; status 'completed' and 'paid' cannot be set directly.",
2372
2394
  input: UpdateBountyRequest
2373
2395
  };
2374
2396
  var cancelBountySpec = {
@@ -2388,7 +2410,7 @@ var boostBountyOutreachSpec = {
2388
2410
  };
2389
2411
  var payEnterpriseBountySpec = {
2390
2412
  name: "pay_enterprise_bounty",
2391
- description: "Pay a completed legacy enterprise bounty (older bounties created under the retired enterprise deferred-billing tier) from the owner wallet. New bounties are always escrow-funded; use release_payment for them. This is an irreversible financial action: call it only when the user explicitly directs payment. Explicit payment accepts the completed work and does not require a separate evidence-approval decision. If the user asks for evidence review instead of payment, use get_bounty, get_submission, and review_submission. The amount, worker, and wallet are loaded from stored records. Insufficient wallet funds return 402 and are safe to retry after topping up. Owner or bounty-owning agent only; platform admins cannot pay.",
2413
+ description: "Pay an accepted worker on a legacy enterprise bounty (older bounties created under the retired enterprise deferred-billing tier) from the owner wallet. New bounties are always escrow-funded; use release_payment for them. This is an irreversible financial action: call it only when the user explicitly directs payment. Worker completion and evidence review are not prerequisites for explicit owner payment. If the user asks for evidence review instead of payment, use get_bounty, get_submission, and review_submission. The amount, worker, and wallet are loaded from stored records. Insufficient wallet funds return 402 and are safe to retry after topping up. Owner or bounty-owning agent only; platform admins cannot pay.",
2392
2414
  input: PayEnterpriseBountyRequest,
2393
2415
  annotations: {
2394
2416
  title: "Pay enterprise bounty",
@@ -3206,6 +3228,12 @@ function toMcpTool(spec, run) {
3206
3228
  }
3207
3229
 
3208
3230
  // src/tools/handlers/bounties.ts
3231
+ var MOCK_HIRING_STATUSES = /* @__PURE__ */ new Set([
3232
+ "open",
3233
+ "pending_funding",
3234
+ "partially_filled"
3235
+ ]);
3236
+ var mockHiringSpotsRemaining = (bounty) => MOCK_HIRING_STATUSES.has(bounty.status) ? Math.max(0, (bounty.spotsAvailable || 1) - (bounty.spotsFilled || 0)) : 0;
3209
3237
  var handleCreateBounty = (args) => Effect9.gen(function* () {
3210
3238
  const params = yield* decode(CreateBountyRequest)(args);
3211
3239
  const identity2 = yield* Identity;
@@ -3243,6 +3271,7 @@ var handleCreateBounty = (args) => Effect9.gen(function* () {
3243
3271
  // Default-on unless explicitly disabled; aiManaged bounties never
3244
3272
  // store the flag (the managed engine owns applicant review).
3245
3273
  ...params.aiManaged ? {} : { autoAccept: params.autoAccept !== false },
3274
+ ...params.autoAcceptMinMicScore !== void 0 && !params.aiManaged ? { autoAcceptMinMicScore: params.autoAcceptMinMicScore } : {},
3246
3275
  requirements: params.requirements || [],
3247
3276
  skillsNeeded: params.skillsNeeded || [],
3248
3277
  identityRequired: params.identityRequired || false,
@@ -3295,6 +3324,7 @@ var handleCreateBounty = (args) => Effect9.gen(function* () {
3295
3324
  currency: params.currency || "USD",
3296
3325
  ...params.aiManaged !== void 0 ? { aiManaged: params.aiManaged } : {},
3297
3326
  ...params.aiManaged ? {} : { autoAccept: params.autoAccept !== false },
3327
+ ...params.autoAcceptMinMicScore !== void 0 && !params.aiManaged ? { autoAcceptMinMicScore: params.autoAcceptMinMicScore } : {},
3298
3328
  status: "open",
3299
3329
  applicationCount: 0,
3300
3330
  viewCount: 0,
@@ -3391,7 +3421,7 @@ var handleListBounties = (args) => Effect9.gen(function* () {
3391
3421
  }
3392
3422
  const bountiesWithComputed = bounties2.map((b) => ({
3393
3423
  ...b,
3394
- spotsRemaining: (b.spotsAvailable || 1) - (b.spotsFilled || 0)
3424
+ spotsRemaining: mockHiringSpotsRemaining(b)
3395
3425
  }));
3396
3426
  return ok({
3397
3427
  success: true,
@@ -3432,7 +3462,7 @@ var getBountyTool = toMcpTool(
3432
3462
  success: true,
3433
3463
  bounty: {
3434
3464
  ...bounty,
3435
- spotsRemaining: (bounty.spotsAvailable || 1) - (bounty.spotsFilled || 0)
3465
+ spotsRemaining: mockHiringSpotsRemaining(bounty)
3436
3466
  },
3437
3467
  mode: "mock"
3438
3468
  });
@@ -3801,7 +3831,7 @@ var payEnterpriseBountyTool = toMcpTool(
3801
3831
  var bountyTools = [
3802
3832
  {
3803
3833
  name: "create_bounty",
3804
- description: "Create a one-shot task bounty for humans to apply to. To target an entire country, pass location with an ISO country code and isRemoteAllowed=false while omitting city and state. **IMPORTANT: Always call with dryRun=true first** to preview the bounty. Dry-run `preview.fundingTotal` is the total funding requirement before any existing wallet balance is applied. Show that estimate to the operator before posting. Show the preview to the user and ask 'Here's your bounty \u2014 would you like to edit anything before posting?' Only call again with dryRun=false (or omitted) after the user confirms. **You MUST help the user define completionCriteria and evidenceTypes** \u2014 ask what 'done' looks like and what proof they need (text/data, photos, video, or links). For specialized standard-application tasks, configure applicationDetails so applicants provide application details before review. Blank rows are ignored; application upload fields are one file each and capped at 3 total; acknowledgment checkboxes are capped at 5 total and can be optional or required; and one required live_video field may contain a script applicants must record with the in-browser camera. For appearance-based bounties where the worker appears on camera or their presence is part of the deliverable (sign holding, UGC, sponsored posts, on-camera video, promo/GTM appearances), always include one required live_video field with a label asking the applicant to explain in two sentences why they are a good fit \u2014 this gates applications on a live self-recorded video so the poster sees each applicant before accepting. Do not ask for passwords, OTP/2FA codes, API keys, private keys, seed phrases, government IDs, bank/card details, exact home addresses, dates of birth, or other sensitive personal information. For direct-review collection bounties, use submissionMode='photo_upload', 'video_upload', or 'document_upload' with matching submission settings instead of applicationDetails. lifecycleMessages can define auto-message templates for acceptance, rejection, and submission review transitions. You can require applicants to provide specific links (LinkedIn, GitHub, resume, etc.) using the requiredLinks parameter. Requires RENTAHUMAN_API_KEY from the account owner. Standard accounts use available wallet balance first; if the wallet cannot cover the bounty, the response includes deposit_url and checkout_total (the hosted charge after wallet balance is applied) and the account owner must complete checkout before the bounty is visible. Supports multi-person bounties by setting spotsAvailable > 1. Set completionWindowHours (1-720) to give confirmed workers a completion deadline: overdue seats auto-release and reopen for other applicants; workers may request extensions you answer with decide_extension_request. Ongoing data-collection programs are managed separately and cannot be created through this tool. Pass optional `idempotencyKey` to make this safe to retry (a replayed key returns the original result instead of duplicating). Applicants are auto-reviewed by default (autoAccept, default true): deterministic checks always run and an AI review runs only for free-text screening answers \u2014 qualified applicants are accepted, clear mismatches rejected with a reason, uncertain cases left pending for manual review; pass autoAccept: false to review and accept every application yourself. BETA: pass aiManaged: true to have the platform fully manage the bounty \u2014 automated recruiting, vetting, submission review, payment release, and a final report. Fixed price USD only, 1-50 spots. Poll the bounty's managed run or subscribe to run.report_ready for the finished work.",
3834
+ description: "Create a one-shot task bounty for humans to apply to. To target an entire country, pass location with an ISO country code and isRemoteAllowed=false while omitting city and state. **IMPORTANT: Always call with dryRun=true first** to preview the bounty. Dry-run `preview.fundingTotal` is the total funding requirement before any existing wallet balance is applied. Show that estimate to the operator before posting. Show the preview to the user and ask 'Here's your bounty \u2014 would you like to edit anything before posting?' Only call again with dryRun=false (or omitted) after the user confirms. **You MUST help the user define completionCriteria and evidenceTypes** \u2014 ask what 'done' looks like and what proof they need (text/data, photos, video, or links). For specialized standard-application tasks, configure applicationDetails so applicants provide application details before review. Blank rows are ignored; application upload fields are one file each and capped at 3 total; acknowledgment checkboxes are capped at 5 total and can be optional or required; and one required live_video field may contain a script applicants must record with the in-browser camera. For appearance-based bounties where the worker appears on camera or their presence is part of the deliverable (sign holding, UGC, sponsored posts, on-camera video, promo/GTM appearances), always include one required live_video field with a label asking the applicant to explain in two sentences why they are a good fit \u2014 this gates applications on a live self-recorded video so the poster sees each applicant before accepting. Do not ask for passwords, OTP/2FA codes, API keys, private keys, seed phrases, government IDs, bank/card details, exact home addresses, dates of birth, or other sensitive personal information. For direct-review collection bounties, use submissionMode='photo_upload', 'video_upload', or 'document_upload' with matching submission settings instead of applicationDetails. lifecycleMessages can define auto-message templates for acceptance, rejection, and submission review transitions. You can require applicants to provide specific links (LinkedIn, GitHub, resume, etc.) using the requiredLinks parameter. Requires RENTAHUMAN_API_KEY from the account owner. Standard accounts use available wallet balance first; if the wallet cannot cover the bounty, the response includes deposit_url and checkout_total (the hosted charge after wallet balance is applied) and the account owner must complete checkout before the bounty is visible. Supports multi-person bounties by setting spotsAvailable > 1. Set completionWindowHours (1-720) to give confirmed workers a completion deadline: overdue seats auto-release and reopen for other applicants; workers may request extensions you answer with decide_extension_request. Ongoing data-collection programs are managed separately and cannot be created through this tool. Pass optional `idempotencyKey` to make this safe to retry (a replayed key returns the original result instead of duplicating). Applicants are auto-reviewed by default (autoAccept, default true): deterministic checks always run and an AI review runs only for free-text screening answers \u2014 qualified applicants are accepted, clear mismatches rejected with a reason, uncertain cases left pending for manual review; pass autoAccept: false to review and accept every application yourself; on micCheckRequired bounties, tune the mic-quality floor with autoAcceptMinMicScore (1-5, default 3.0). BETA: pass aiManaged: true to have the platform fully manage the bounty \u2014 automated recruiting, vetting, submission review, payment release, and a final report. Fixed price USD only, 1-50 spots. Poll the bounty's managed run or subscribe to run.report_ready for the finished work.",
3805
3835
  inputSchema: toInputSchema(CreateBountyRequest),
3806
3836
  handler: handleCreateBounty
3807
3837
  },
@@ -4621,7 +4651,7 @@ var escrowTools = [
4621
4651
  },
4622
4652
  {
4623
4653
  name: "confirm_delivery",
4624
- description: "Confirm that a worker has satisfactorily completed the task. Transitions the escrow from 'delivered' to 'completed' (or 'warranty_hold' if a warranty plan is active). After confirming, use release_payment to send funds to the worker. Requires RENTAHUMAN_API_KEY to be set.",
4654
+ description: "Confirm that a worker has satisfactorily completed the task. Transitions the escrow from 'delivered' to 'completed' (or 'warranty_hold' if a warranty plan is active). This is separate from release_payment, which the owner may explicitly direct earlier. Requires RENTAHUMAN_API_KEY to be set.",
4625
4655
  inputSchema: toInputSchema(ConfirmDeliveryRequest),
4626
4656
  handler: (args) => Effect12.gen(function* () {
4627
4657
  yield* requireApiKey;
@@ -4637,7 +4667,7 @@ var escrowTools = [
4637
4667
  },
4638
4668
  {
4639
4669
  name: "release_payment",
4640
- description: "Release escrowed funds to the worker. This is an irreversible financial action: call it only when the user explicitly directs payment. The task must be completed first, but explicit payment accepts the completed work and does not require a separate review_submission approval. If the user asks to review evidence instead, call get_bounty and get_submission, inspect every file, then use review_submission. Optionally pass `applicationId` to assert the intended application; a mismatch is refused to prevent paying the wrong worker. Requires RENTAHUMAN_API_KEY.",
4670
+ description: "Release an active funded escrow to the worker and complete the task. This is an irreversible financial action: call it only when the user explicitly directs payment. A prior worker completion or review_submission approval is not required. If the user asks to review evidence instead, call get_bounty and get_submission, inspect every file, then use review_submission. Optionally pass `applicationId` to assert the intended application; a mismatch is refused to prevent paying the wrong worker. Requires RENTAHUMAN_API_KEY.",
4641
4671
  inputSchema: toInputSchema(ReleasePaymentRequest),
4642
4672
  annotations: {
4643
4673
  title: "Release payment",
@@ -73,6 +73,7 @@ declare const CreateBountyRequest: Schema.Struct<{
73
73
  completionWindowHours: Schema.optional<Schema.filter<Schema.filter<Schema.filter<typeof Schema.Number>>>>;
74
74
  keepApplicantsOnFill: Schema.optional<typeof Schema.Boolean>;
75
75
  autoAccept: Schema.optional<typeof Schema.Boolean>;
76
+ autoAcceptMinMicScore: Schema.optional<Schema.filter<Schema.filter<typeof Schema.Number>>>;
76
77
  identityRequired: Schema.optional<typeof Schema.Boolean>;
77
78
  micCheckRequired: Schema.optional<typeof Schema.Boolean>;
78
79
  aiManaged: Schema.optional<Schema.Literal<[true]>>;
@@ -149,8 +150,10 @@ declare const UpdateBountyRequest: Schema.Struct<{
149
150
  autoExpireGhosts: Schema.optional<typeof Schema.Boolean>;
150
151
  completionWindowHours: Schema.optional<Schema.NullOr<Schema.filter<Schema.filter<Schema.filter<typeof Schema.Number>>>>>;
151
152
  spotsAvailable: Schema.optional<Schema.filter<Schema.filter<Schema.filter<typeof Schema.Number>>>>;
153
+ walletImpactAcknowledged: Schema.optional<typeof Schema.Boolean>;
152
154
  keepApplicantsOnFill: Schema.optional<typeof Schema.Boolean>;
153
155
  autoAccept: Schema.optional<typeof Schema.Boolean>;
156
+ autoAcceptMinMicScore: Schema.optional<Schema.NullOr<Schema.filter<Schema.filter<typeof Schema.Number>>>>;
154
157
  completionCriteria: Schema.optional<Schema.filter<Schema.filter<typeof Schema.String>>>;
155
158
  evidenceTypes: Schema.optional<Schema.filter<Schema.Array$<Schema.Literal<["text", "photo", "video", "link"]>>>>;
156
159
  evidenceCriteria: Schema.optional<Schema.filter<typeof Schema.String>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rentahuman-mcp",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "MCP server for AI agents to browse and book humans on rentahuman.ai",
5
5
  "keywords": [
6
6
  "ai",