@thisispandora/agent-sdk 0.1.0-alpha.7 → 0.1.0-alpha.9

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.
@@ -71,7 +71,7 @@
71
71
  "main": "cli/pandora.cjs",
72
72
  "name": "pandora-cli-skills",
73
73
  "sourceProjectPath": "package.json",
74
- "version": "1.1.88"
74
+ "version": "1.1.90"
75
75
  },
76
76
  "typescript": {
77
77
  "artifactSubpaths": {
@@ -98,7 +98,7 @@
98
98
  "format": "node",
99
99
  "name": "@thisispandora/agent-sdk",
100
100
  "sourceProjectPath": "sdk/typescript/package.json",
101
- "version": "0.1.0-alpha.7"
101
+ "version": "0.1.0-alpha.9"
102
102
  }
103
103
  },
104
104
  "supported": true,
@@ -11555,15 +11555,15 @@
11555
11555
  "registryDigest": {
11556
11556
  "canonicalHash": "b501a15ce9f61731613d044e2c97a03142a261af386b1182638eb069a5f7ea0a",
11557
11557
  "commandDigestHash": "d44d4b52bc59aa8da9ba7a19f1a85a188d48c20a6ad59a70fd5e0b583acdce08",
11558
- "descriptorHash": "2ae206133a8203abbb37247facc5610d8fc8bfce9d684be868eae387c3c2ce49",
11558
+ "descriptorHash": "6d65ee91adfb4fc96ef43e81d331f9b41116dae11bf7451960052eb0284d7948",
11559
11559
  "documentationHash": "861462b91dd1da73bf3d98cd764d00241b3991ef641c10a096cec32fe84600af",
11560
- "fullDescriptorHash": "9893fd822e5431d69c0971d14bca374c10e07ddf26c34328f6fd7eb785b73db0",
11560
+ "fullDescriptorHash": "ff21045e16ba09fd04800a85f1cd81dffaa88f3a1fa8d82739d7eb719e926e0f",
11561
11561
  "namespaceHash": "111925823f74b9dd80c31aa375ceee6a9bc652739e5f9ed0c19263e524d310c5",
11562
11562
  "policyProfilesHash": "6dfcf1c27d5d5d89ee85bbb9ad19636b1bd621b91e89e2b4c3c9282764df81ed",
11563
11563
  "principalTemplatesHash": "525835bb3c4710fa326e662e8a961e74de1798f4fb1bccb2a00be557ed037740",
11564
11564
  "routedTopLevelHash": "02e98ac94f1eadbeded065bef652f8a917f108a8a08726ad7163503cc1b3384d",
11565
11565
  "topLevelHash": "b2363d86a80d53dcb1cf2ce05cd547a79df52cdadc9c53c45d29597fa9b5ce6e",
11566
- "trustDistributionHash": "40bd63f41304d9c653969fba60a606c12942aa13be30e04ef119c3526e9f08a1"
11566
+ "trustDistributionHash": "1e3d5c2f4b31df2280c8ac64ffcc20d80ef7de9f9edefbffab641772b5ae55b9"
11567
11567
  },
11568
11568
  "roadmapSignals": {
11569
11569
  "jobCapableCommands": 12,
@@ -12510,7 +12510,7 @@
12510
12510
  "typescript": {
12511
12511
  "distributionStatus": "vendored-alpha",
12512
12512
  "installExamples": [
12513
- "npm install @thisispandora/agent-sdk@0.1.0-alpha.7",
12513
+ "npm install @thisispandora/agent-sdk@0.1.0-alpha.9",
12514
12514
  "npm install /path/to/downloaded/pandora-agent-sdk-<version>.tgz"
12515
12515
  ],
12516
12516
  "name": "@thisispandora/agent-sdk",
@@ -12522,7 +12522,7 @@
12522
12522
  ],
12523
12523
  "repoPath": "sdk/typescript/package.json",
12524
12524
  "vendoredInRootPackage": true,
12525
- "version": "0.1.0-alpha.7"
12525
+ "version": "0.1.0-alpha.9"
12526
12526
  }
12527
12527
  },
12528
12528
  "recommendedBootstrapCommand": "bootstrap",
@@ -12556,7 +12556,7 @@
12556
12556
  "packageName": "@thisispandora/agent-sdk",
12557
12557
  "packagePath": "sdk/typescript/package.json",
12558
12558
  "shipped": true,
12559
- "version": "0.1.0-alpha.7"
12559
+ "version": "0.1.0-alpha.9"
12560
12560
  }
12561
12561
  },
12562
12562
  "generatedContractArtifacts": {
@@ -12659,7 +12659,7 @@
12659
12659
  ],
12660
12660
  "main": "cli/pandora.cjs",
12661
12661
  "name": "pandora-cli-skills",
12662
- "version": "1.1.88"
12662
+ "version": "1.1.90"
12663
12663
  },
12664
12664
  "signals": {
12665
12665
  "explicitFilesAllowlist": true,
@@ -12758,11 +12758,11 @@
12758
12758
  "core-history.json",
12759
12759
  "core-report.json",
12760
12760
  "core.lock.json",
12761
- "pandora-cli-skills-1.1.88.tgz",
12762
- "pandora-cli-skills-1.1.88.tgz.intoto.jsonl",
12763
- "pandora-cli-skills-1.1.88.tgz.pem",
12764
- "pandora-cli-skills-1.1.88.tgz.sha256",
12765
- "pandora-cli-skills-1.1.88.tgz.sig",
12761
+ "pandora-cli-skills-1.1.90.tgz",
12762
+ "pandora-cli-skills-1.1.90.tgz.intoto.jsonl",
12763
+ "pandora-cli-skills-1.1.90.tgz.pem",
12764
+ "pandora-cli-skills-1.1.90.tgz.sha256",
12765
+ "pandora-cli-skills-1.1.90.tgz.sig",
12766
12766
  "pandora_agent-0.1.0a6-py3-none-any.whl",
12767
12767
  "pandora_agent-0.1.0a6.tar.gz",
12768
12768
  "sbom.spdx.json",
@@ -12770,7 +12770,7 @@
12770
12770
  "sbom.spdx.json.sha256",
12771
12771
  "sdk-checksums.sha256",
12772
12772
  "sdk-release-manifest.json",
12773
- "thisispandora-agent-sdk-0.1.0-alpha.7.tgz"
12773
+ "thisispandora-agent-sdk-0.1.0-alpha.9.tgz"
12774
12774
  ],
12775
12775
  "verificationMethods": [
12776
12776
  "checksum-manifest",
@@ -13197,7 +13197,7 @@
13197
13197
  "scan"
13198
13198
  ],
13199
13199
  "canonicalTool": "arb.scan",
13200
- "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
13200
+ "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
13201
13201
  "controlInputNames": [],
13202
13202
  "dataSchema": "#/definitions/ArbScanPayload",
13203
13203
  "emits": [
@@ -13216,6 +13216,36 @@
13216
13216
  "inputSchema": {
13217
13217
  "additionalProperties": false,
13218
13218
  "properties": {
13219
+ "ai-max-candidates": {
13220
+ "description": "Maximum borderline pairs to adjudicate per scan.",
13221
+ "minimum": 1,
13222
+ "type": "integer"
13223
+ },
13224
+ "ai-model": {
13225
+ "description": "Optional provider model override.",
13226
+ "type": "string"
13227
+ },
13228
+ "ai-provider": {
13229
+ "description": "Provider-backed adjudication mode.",
13230
+ "enum": [
13231
+ "auto",
13232
+ "none",
13233
+ "mock",
13234
+ "openai",
13235
+ "anthropic"
13236
+ ]
13237
+ },
13238
+ "ai-threshold": {
13239
+ "description": "Minimum model confidence required to override deterministic matching.",
13240
+ "maximum": 1,
13241
+ "minimum": 0,
13242
+ "type": "number"
13243
+ },
13244
+ "ai-timeout-ms": {
13245
+ "description": "Timeout for each provider adjudication request.",
13246
+ "minimum": 1,
13247
+ "type": "integer"
13248
+ },
13219
13249
  "amount-usdc": {
13220
13250
  "description": "Sizing notional in USDC.",
13221
13251
  "minimum": 0,
@@ -13243,6 +13273,13 @@
13243
13273
  "description": "Comma-delimited market ids when source=pandora.",
13244
13274
  "type": "string"
13245
13275
  },
13276
+ "matcher": {
13277
+ "description": "Arbitrage matcher mode.",
13278
+ "enum": [
13279
+ "heuristic",
13280
+ "hybrid"
13281
+ ]
13282
+ },
13246
13283
  "max-bundle-size": {
13247
13284
  "description": "Maximum combinatorial bundle size.",
13248
13285
  "minimum": 3,
@@ -13328,7 +13365,7 @@
13328
13365
  "summary": "Canonical arbitrage scan command for streaming or bounded spread detection.",
13329
13366
  "supportsRemote": true,
13330
13367
  "supportsWebhook": false,
13331
- "usage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]"
13368
+ "usage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]"
13332
13369
  },
13333
13370
  "autopilot": {
13334
13371
  "agentWorkflow": null,
@@ -16746,19 +16783,12 @@
16746
16783
  "additionalProperties": false,
16747
16784
  "properties": {
16748
16785
  "id": {
16749
- "oneOf": [
16750
- {
16751
- "description": "Market id.",
16752
- "type": "string"
16753
- },
16754
- {
16755
- "description": "Market ids.",
16756
- "items": {
16757
- "type": "string"
16758
- },
16759
- "type": "array"
16760
- }
16761
- ]
16786
+ "description": "Market id, or a comma-delimited list of market ids.",
16787
+ "minLength": 1,
16788
+ "type": "string",
16789
+ "xPandora": {
16790
+ "acceptsCommaSeparatedList": true
16791
+ }
16762
16792
  },
16763
16793
  "stdin": {
16764
16794
  "description": "Read newline-delimited ids from stdin.",
@@ -19705,62 +19735,29 @@
19705
19735
  "type": "string"
19706
19736
  },
19707
19737
  "category": {
19708
- "anyOf": [
19709
- {
19710
- "description": "Category id.",
19711
- "minimum": 0,
19712
- "type": "integer"
19713
- },
19714
- {
19715
- "description": "Canonical category name.",
19716
- "enum": [
19717
- "Politics",
19718
- "Sports",
19719
- "Finance",
19720
- "Crypto",
19721
- "Culture",
19722
- "Technology",
19723
- "Science",
19724
- "Entertainment",
19725
- "Health",
19726
- "Environment",
19727
- "Other"
19728
- ],
19729
- "examples": [
19730
- "Politics",
19731
- "Sports",
19732
- "Finance",
19733
- "Crypto",
19734
- "Culture",
19735
- "Technology",
19736
- "Science",
19737
- "Entertainment",
19738
- "Health",
19739
- "Environment",
19740
- "Other"
19741
- ],
19742
- "type": "string"
19743
- },
19744
- {
19745
- "description": "Case-insensitive category name accepted by the CLI.",
19746
- "examples": [
19747
- "Politics",
19748
- "Sports",
19749
- "Finance",
19750
- "Crypto",
19751
- "Culture",
19752
- "Technology",
19753
- "Science",
19754
- "Entertainment",
19755
- "Health",
19756
- "Environment",
19757
- "Other"
19758
- ],
19759
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
19760
- "type": "string"
19761
- }
19738
+ "description": "Category id or canonical category name.",
19739
+ "examples": [
19740
+ "Sports",
19741
+ "3"
19762
19742
  ],
19763
- "description": "Category id or canonical category name."
19743
+ "type": "string",
19744
+ "xPandora": {
19745
+ "acceptsIntegerStrings": true,
19746
+ "allowedCategoryNames": [
19747
+ "Politics",
19748
+ "Sports",
19749
+ "Finance",
19750
+ "Crypto",
19751
+ "Culture",
19752
+ "Technology",
19753
+ "Science",
19754
+ "Entertainment",
19755
+ "Health",
19756
+ "Environment",
19757
+ "Other"
19758
+ ],
19759
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
19760
+ }
19764
19761
  },
19765
19762
  "chain-id": {
19766
19763
  "description": "Chain id.",
@@ -19880,18 +19877,16 @@
19880
19877
  "type": "array"
19881
19878
  },
19882
19879
  "target-timestamp": {
19883
- "anyOf": [
19884
- {
19885
- "description": "Explicit target timestamp in unix seconds.",
19886
- "minimum": 1,
19887
- "type": "integer"
19888
- },
19889
- {
19890
- "description": "Explicit ISO date/time override for target timestamp.",
19891
- "type": "string"
19892
- }
19880
+ "description": "Explicit target timestamp override.",
19881
+ "examples": [
19882
+ "1777777777",
19883
+ "2026-12-31T00:00:00Z"
19893
19884
  ],
19894
- "description": "Explicit target timestamp override."
19885
+ "type": "string",
19886
+ "xPandora": {
19887
+ "acceptsIsoDatetime": true,
19888
+ "acceptsUnixSeconds": true
19889
+ }
19895
19890
  },
19896
19891
  "usdc": {
19897
19892
  "description": "USDC token address.",
@@ -20955,62 +20950,29 @@
20955
20950
  "type": "boolean"
20956
20951
  },
20957
20952
  "category": {
20958
- "anyOf": [
20959
- {
20960
- "description": "Category id.",
20961
- "minimum": 0,
20962
- "type": "integer"
20963
- },
20964
- {
20965
- "description": "Canonical category name.",
20966
- "enum": [
20967
- "Politics",
20968
- "Sports",
20969
- "Finance",
20970
- "Crypto",
20971
- "Culture",
20972
- "Technology",
20973
- "Science",
20974
- "Entertainment",
20975
- "Health",
20976
- "Environment",
20977
- "Other"
20978
- ],
20979
- "examples": [
20980
- "Politics",
20981
- "Sports",
20982
- "Finance",
20983
- "Crypto",
20984
- "Culture",
20985
- "Technology",
20986
- "Science",
20987
- "Entertainment",
20988
- "Health",
20989
- "Environment",
20990
- "Other"
20991
- ],
20992
- "type": "string"
20993
- },
20994
- {
20995
- "description": "Case-insensitive category name accepted by the CLI.",
20996
- "examples": [
20997
- "Politics",
20998
- "Sports",
20999
- "Finance",
21000
- "Crypto",
21001
- "Culture",
21002
- "Technology",
21003
- "Science",
21004
- "Entertainment",
21005
- "Health",
21006
- "Environment",
21007
- "Other"
21008
- ],
21009
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
21010
- "type": "string"
21011
- }
20953
+ "description": "Category id or canonical category name.",
20954
+ "examples": [
20955
+ "Sports",
20956
+ "3"
21012
20957
  ],
21013
- "description": "Category id or canonical category name."
20958
+ "type": "string",
20959
+ "xPandora": {
20960
+ "acceptsIntegerStrings": true,
20961
+ "allowedCategoryNames": [
20962
+ "Politics",
20963
+ "Sports",
20964
+ "Finance",
20965
+ "Crypto",
20966
+ "Culture",
20967
+ "Technology",
20968
+ "Science",
20969
+ "Entertainment",
20970
+ "Health",
20971
+ "Environment",
20972
+ "Other"
20973
+ ],
20974
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
20975
+ }
21014
20976
  },
21015
20977
  "chain-id": {
21016
20978
  "description": "Chain id.",
@@ -21274,18 +21236,14 @@
21274
21236
  "type": "string"
21275
21237
  },
21276
21238
  "skip-gate": {
21277
- "anyOf": [
21278
- {
21279
- "description": "Skip all mirror sync gates.",
21280
- "type": "boolean"
21281
- },
21282
- {
21283
- "description": "Comma-delimited gate skip list.",
21284
- "type": "string"
21285
- }
21239
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
21240
+ "examples": [
21241
+ "true",
21242
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
21286
21243
  ],
21287
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
21244
+ "type": "string",
21288
21245
  "xPandora": {
21246
+ "acceptsBooleanString": true,
21289
21247
  "allowedGateCodes": [
21290
21248
  "MATCH_AND_RULES",
21291
21249
  "POLYMARKET_SOURCE_FRESH",
@@ -21318,18 +21276,16 @@
21318
21276
  "type": "boolean"
21319
21277
  },
21320
21278
  "target-timestamp": {
21321
- "anyOf": [
21322
- {
21323
- "description": "Explicit target timestamp in unix seconds.",
21324
- "minimum": 1,
21325
- "type": "integer"
21326
- },
21327
- {
21328
- "description": "Explicit ISO date/time override for target timestamp.",
21329
- "type": "string"
21330
- }
21279
+ "description": "Explicit target timestamp override.",
21280
+ "examples": [
21281
+ "1777777777",
21282
+ "2026-12-31T00:00:00Z"
21331
21283
  ],
21332
- "description": "Explicit target timestamp override."
21284
+ "type": "string",
21285
+ "xPandora": {
21286
+ "acceptsIsoDatetime": true,
21287
+ "acceptsUnixSeconds": true
21288
+ }
21333
21289
  },
21334
21290
  "trust-deploy": {
21335
21291
  "description": "Trust manifest deploy pair.",
@@ -25770,18 +25726,14 @@
25770
25726
  "type": "string"
25771
25727
  },
25772
25728
  "skip-gate": {
25773
- "anyOf": [
25774
- {
25775
- "description": "Skip all mirror sync gates.",
25776
- "type": "boolean"
25777
- },
25778
- {
25779
- "description": "Comma-delimited gate skip list.",
25780
- "type": "string"
25781
- }
25729
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
25730
+ "examples": [
25731
+ "true",
25732
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
25782
25733
  ],
25783
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
25734
+ "type": "string",
25784
25735
  "xPandora": {
25736
+ "acceptsBooleanString": true,
25785
25737
  "allowedGateCodes": [
25786
25738
  "MATCH_AND_RULES",
25787
25739
  "POLYMARKET_SOURCE_FRESH",
@@ -27395,18 +27347,14 @@
27395
27347
  "type": "string"
27396
27348
  },
27397
27349
  "skip-gate": {
27398
- "anyOf": [
27399
- {
27400
- "description": "Skip all mirror sync gates.",
27401
- "type": "boolean"
27402
- },
27403
- {
27404
- "description": "Comma-delimited gate skip list.",
27405
- "type": "string"
27406
- }
27350
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
27351
+ "examples": [
27352
+ "true",
27353
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
27407
27354
  ],
27408
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
27355
+ "type": "string",
27409
27356
  "xPandora": {
27357
+ "acceptsBooleanString": true,
27410
27358
  "allowedGateCodes": [
27411
27359
  "MATCH_AND_RULES",
27412
27360
  "POLYMARKET_SOURCE_FRESH",
@@ -29017,18 +28965,14 @@
29017
28965
  "type": "string"
29018
28966
  },
29019
28967
  "skip-gate": {
29020
- "anyOf": [
29021
- {
29022
- "description": "Skip all mirror sync gates.",
29023
- "type": "boolean"
29024
- },
29025
- {
29026
- "description": "Comma-delimited gate skip list.",
29027
- "type": "string"
29028
- }
28968
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
28969
+ "examples": [
28970
+ "true",
28971
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
29029
28972
  ],
29030
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
28973
+ "type": "string",
29031
28974
  "xPandora": {
28975
+ "acceptsBooleanString": true,
29032
28976
  "allowedGateCodes": [
29033
28977
  "MATCH_AND_RULES",
29034
28978
  "POLYMARKET_SOURCE_FRESH",
@@ -31480,19 +31424,12 @@
31480
31424
  "type": "string"
31481
31425
  },
31482
31426
  "series": {
31483
- "oneOf": [
31484
- {
31485
- "description": "Series specification id:v1,v2,...",
31486
- "type": "string"
31487
- },
31488
- {
31489
- "description": "Series specifications.",
31490
- "items": {
31491
- "type": "string"
31492
- },
31493
- "type": "array"
31494
- }
31495
- ]
31427
+ "description": "Series specification id:v1,v2,..., or a semicolon-delimited list of series specifications.",
31428
+ "minLength": 1,
31429
+ "type": "string",
31430
+ "xPandora": {
31431
+ "acceptsSemicolonSeparatedList": true
31432
+ }
31496
31433
  },
31497
31434
  "tail-alpha": {
31498
31435
  "description": "Tail alpha level.",
@@ -36811,62 +36748,29 @@
36811
36748
  "type": "string"
36812
36749
  },
36813
36750
  "category": {
36814
- "anyOf": [
36815
- {
36816
- "description": "Category id.",
36817
- "minimum": 0,
36818
- "type": "integer"
36819
- },
36820
- {
36821
- "description": "Canonical category name.",
36822
- "enum": [
36823
- "Politics",
36824
- "Sports",
36825
- "Finance",
36826
- "Crypto",
36827
- "Culture",
36828
- "Technology",
36829
- "Science",
36830
- "Entertainment",
36831
- "Health",
36832
- "Environment",
36833
- "Other"
36834
- ],
36835
- "examples": [
36836
- "Politics",
36837
- "Sports",
36838
- "Finance",
36839
- "Crypto",
36840
- "Culture",
36841
- "Technology",
36842
- "Science",
36843
- "Entertainment",
36844
- "Health",
36845
- "Environment",
36846
- "Other"
36847
- ],
36848
- "type": "string"
36849
- },
36850
- {
36851
- "description": "Case-insensitive category name accepted by the CLI.",
36852
- "examples": [
36853
- "Politics",
36854
- "Sports",
36855
- "Finance",
36856
- "Crypto",
36857
- "Culture",
36858
- "Technology",
36859
- "Science",
36860
- "Entertainment",
36861
- "Health",
36862
- "Environment",
36863
- "Other"
36864
- ],
36865
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
36866
- "type": "string"
36867
- }
36751
+ "description": "Category id or canonical category name.",
36752
+ "examples": [
36753
+ "Sports",
36754
+ "3"
36868
36755
  ],
36869
- "description": "Category id or canonical category name."
36756
+ "type": "string",
36757
+ "xPandora": {
36758
+ "acceptsIntegerStrings": true,
36759
+ "allowedCategoryNames": [
36760
+ "Politics",
36761
+ "Sports",
36762
+ "Finance",
36763
+ "Crypto",
36764
+ "Culture",
36765
+ "Technology",
36766
+ "Science",
36767
+ "Entertainment",
36768
+ "Health",
36769
+ "Environment",
36770
+ "Other"
36771
+ ],
36772
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
36773
+ }
36870
36774
  },
36871
36775
  "creation-window-close-min": {
36872
36776
  "description": "Creation window close minutes before kickoff.",
@@ -37016,62 +36920,29 @@
37016
36920
  "type": "object"
37017
36921
  },
37018
36922
  "category": {
37019
- "anyOf": [
37020
- {
37021
- "description": "Category id.",
37022
- "minimum": 0,
37023
- "type": "integer"
37024
- },
37025
- {
37026
- "description": "Canonical category name.",
37027
- "enum": [
37028
- "Politics",
37029
- "Sports",
37030
- "Finance",
37031
- "Crypto",
37032
- "Culture",
37033
- "Technology",
37034
- "Science",
37035
- "Entertainment",
37036
- "Health",
37037
- "Environment",
37038
- "Other"
37039
- ],
37040
- "examples": [
37041
- "Politics",
37042
- "Sports",
37043
- "Finance",
37044
- "Crypto",
37045
- "Culture",
37046
- "Technology",
37047
- "Science",
37048
- "Entertainment",
37049
- "Health",
37050
- "Environment",
37051
- "Other"
37052
- ],
37053
- "type": "string"
37054
- },
37055
- {
37056
- "description": "Case-insensitive category name accepted by the CLI.",
37057
- "examples": [
37058
- "Politics",
37059
- "Sports",
37060
- "Finance",
37061
- "Crypto",
37062
- "Culture",
37063
- "Technology",
37064
- "Science",
37065
- "Entertainment",
37066
- "Health",
37067
- "Environment",
37068
- "Other"
37069
- ],
37070
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
37071
- "type": "string"
37072
- }
36923
+ "description": "Category id or canonical category name.",
36924
+ "examples": [
36925
+ "Sports",
36926
+ "3"
37073
36927
  ],
37074
- "description": "Category id or canonical category name."
36928
+ "type": "string",
36929
+ "xPandora": {
36930
+ "acceptsIntegerStrings": true,
36931
+ "allowedCategoryNames": [
36932
+ "Politics",
36933
+ "Sports",
36934
+ "Finance",
36935
+ "Crypto",
36936
+ "Culture",
36937
+ "Technology",
36938
+ "Science",
36939
+ "Entertainment",
36940
+ "Health",
36941
+ "Environment",
36942
+ "Other"
36943
+ ],
36944
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
36945
+ }
37075
36946
  },
37076
36947
  "chain-id": {
37077
36948
  "description": "Chain id.",
@@ -39023,7 +38894,7 @@
39023
38894
  "scan"
39024
38895
  ],
39025
38896
  "canonicalTool": "arb.scan",
39026
- "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
38897
+ "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
39027
38898
  "controlInputNames": [],
39028
38899
  "dataSchema": "#/definitions/ArbitragePayload",
39029
38900
  "emits": [
@@ -39042,6 +38913,36 @@
39042
38913
  "inputSchema": {
39043
38914
  "additionalProperties": false,
39044
38915
  "properties": {
38916
+ "ai-max-candidates": {
38917
+ "description": "Maximum borderline pairs to adjudicate per scan.",
38918
+ "minimum": 1,
38919
+ "type": "integer"
38920
+ },
38921
+ "ai-model": {
38922
+ "description": "Optional provider model override.",
38923
+ "type": "string"
38924
+ },
38925
+ "ai-provider": {
38926
+ "description": "Provider-backed adjudication mode.",
38927
+ "enum": [
38928
+ "auto",
38929
+ "none",
38930
+ "mock",
38931
+ "openai",
38932
+ "anthropic"
38933
+ ]
38934
+ },
38935
+ "ai-threshold": {
38936
+ "description": "Minimum model confidence required to override deterministic matching.",
38937
+ "maximum": 1,
38938
+ "minimum": 0,
38939
+ "type": "number"
38940
+ },
38941
+ "ai-timeout-ms": {
38942
+ "description": "Timeout for each provider adjudication request.",
38943
+ "minimum": 1,
38944
+ "type": "integer"
38945
+ },
39045
38946
  "allow-same-venue": {
39046
38947
  "description": "Allow same-venue opportunities.",
39047
38948
  "type": "boolean"
@@ -39068,6 +38969,13 @@
39068
38969
  "minimum": 1,
39069
38970
  "type": "integer"
39070
38971
  },
38972
+ "matcher": {
38973
+ "description": "Arbitrage matcher mode.",
38974
+ "enum": [
38975
+ "heuristic",
38976
+ "hybrid"
38977
+ ]
38978
+ },
39071
38979
  "max-close-diff-hours": {
39072
38980
  "description": "Maximum close-time difference in hours.",
39073
38981
  "minimum": 0,
@@ -39147,7 +39055,7 @@
39147
39055
  "summary": "Backward-compatible one-shot cross-venue arbitrage wrapper.",
39148
39056
  "supportsRemote": true,
39149
39057
  "supportsWebhook": false,
39150
- "usage": "pandora [--output table|json] arbitrage [--chain-id <id>] [--venues pandora,polymarket] [--limit <n>] [--min-spread-pct <n>] [--min-liquidity-usdc <n>] [--max-close-diff-hours <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--cross-venue-only|--allow-same-venue] [--with-rules] [--include-similarity] [--question-contains <text>] [--polymarket-host <url>] [--polymarket-mock-url <url>]"
39058
+ "usage": "pandora [--output table|json] arbitrage [--chain-id <id>] [--venues pandora,polymarket] [--limit <n>] [--min-spread-pct <n>] [--min-liquidity-usdc <n>] [--max-close-diff-hours <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--cross-venue-only|--allow-same-venue] [--with-rules] [--include-similarity] [--question-contains <text>] [--polymarket-host <url>] [--polymarket-mock-url <url>]"
39151
39059
  },
39152
39060
  "markets.scan": {
39153
39061
  "agentWorkflow": null,
@@ -39321,6 +39229,36 @@
39321
39229
  "inputSchema": {
39322
39230
  "additionalProperties": false,
39323
39231
  "properties": {
39232
+ "ai-max-candidates": {
39233
+ "description": "Maximum borderline pairs to adjudicate per scan.",
39234
+ "minimum": 1,
39235
+ "type": "integer"
39236
+ },
39237
+ "ai-model": {
39238
+ "description": "Optional provider model override.",
39239
+ "type": "string"
39240
+ },
39241
+ "ai-provider": {
39242
+ "description": "Provider-backed adjudication mode.",
39243
+ "enum": [
39244
+ "auto",
39245
+ "none",
39246
+ "mock",
39247
+ "openai",
39248
+ "anthropic"
39249
+ ]
39250
+ },
39251
+ "ai-threshold": {
39252
+ "description": "Minimum model confidence required to override deterministic matching.",
39253
+ "maximum": 1,
39254
+ "minimum": 0,
39255
+ "type": "number"
39256
+ },
39257
+ "ai-timeout-ms": {
39258
+ "description": "Timeout for each provider adjudication request.",
39259
+ "minimum": 1,
39260
+ "type": "integer"
39261
+ },
39324
39262
  "allow-same-venue": {
39325
39263
  "description": "Allow same-venue opportunities.",
39326
39264
  "type": "boolean"
@@ -39347,6 +39285,13 @@
39347
39285
  "minimum": 1,
39348
39286
  "type": "integer"
39349
39287
  },
39288
+ "matcher": {
39289
+ "description": "Arbitrage matcher mode.",
39290
+ "enum": [
39291
+ "heuristic",
39292
+ "hybrid"
39293
+ ]
39294
+ },
39350
39295
  "max-close-diff-hours": {
39351
39296
  "description": "Maximum close-time difference in hours.",
39352
39297
  "minimum": 0,
@@ -39413,7 +39358,7 @@
39413
39358
  ],
39414
39359
  "canonicalName": "arb.scan",
39415
39360
  "canonicalTool": "arb.scan",
39416
- "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
39361
+ "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
39417
39362
  "command": [
39418
39363
  "arbitrage"
39419
39364
  ],
@@ -39512,7 +39457,7 @@
39512
39457
  "supportsRemote": true,
39513
39458
  "supportsWebhook": false,
39514
39459
  "topLevelInputConstraints": null,
39515
- "usage": "pandora [--output table|json] arbitrage [--chain-id <id>] [--venues pandora,polymarket] [--limit <n>] [--min-spread-pct <n>] [--min-liquidity-usdc <n>] [--max-close-diff-hours <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--cross-venue-only|--allow-same-venue] [--with-rules] [--include-similarity] [--question-contains <text>] [--polymarket-host <url>] [--polymarket-mock-url <url>]"
39460
+ "usage": "pandora [--output table|json] arbitrage [--chain-id <id>] [--venues pandora,polymarket] [--limit <n>] [--min-spread-pct <n>] [--min-liquidity-usdc <n>] [--max-close-diff-hours <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--cross-venue-only|--allow-same-venue] [--with-rules] [--include-similarity] [--question-contains <text>] [--polymarket-host <url>] [--polymarket-mock-url <url>]"
39516
39461
  }
39517
39462
  },
39518
39463
  "jobCapable": false,
@@ -39547,7 +39492,7 @@
39547
39492
  ],
39548
39493
  "canonicalName": "arb.scan",
39549
39494
  "canonicalTool": "arb.scan",
39550
- "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
39495
+ "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
39551
39496
  "command": [
39552
39497
  "arbitrage"
39553
39498
  ],
@@ -39646,7 +39591,7 @@
39646
39591
  "supportsRemote": true,
39647
39592
  "supportsWebhook": false,
39648
39593
  "topLevelInputConstraints": null,
39649
- "usage": "pandora [--output table|json] arbitrage [--chain-id <id>] [--venues pandora,polymarket] [--limit <n>] [--min-spread-pct <n>] [--min-liquidity-usdc <n>] [--max-close-diff-hours <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--cross-venue-only|--allow-same-venue] [--with-rules] [--include-similarity] [--question-contains <text>] [--polymarket-host <url>] [--polymarket-mock-url <url>]"
39594
+ "usage": "pandora [--output table|json] arbitrage [--chain-id <id>] [--venues pandora,polymarket] [--limit <n>] [--min-spread-pct <n>] [--min-liquidity-usdc <n>] [--max-close-diff-hours <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--cross-venue-only|--allow-same-venue] [--with-rules] [--include-similarity] [--question-contains <text>] [--polymarket-host <url>] [--polymarket-mock-url <url>]"
39650
39595
  }
39651
39596
  }
39652
39597
  ],
@@ -39668,7 +39613,7 @@
39668
39613
  "scan"
39669
39614
  ],
39670
39615
  "canonicalTool": "arb.scan",
39671
- "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
39616
+ "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
39672
39617
  "controlInputNames": [],
39673
39618
  "dataSchema": "#/definitions/ArbitragePayload",
39674
39619
  "emits": [
@@ -39687,6 +39632,36 @@
39687
39632
  "inputSchema": {
39688
39633
  "additionalProperties": false,
39689
39634
  "properties": {
39635
+ "ai-max-candidates": {
39636
+ "description": "Maximum borderline pairs to adjudicate per scan.",
39637
+ "minimum": 1,
39638
+ "type": "integer"
39639
+ },
39640
+ "ai-model": {
39641
+ "description": "Optional provider model override.",
39642
+ "type": "string"
39643
+ },
39644
+ "ai-provider": {
39645
+ "description": "Provider-backed adjudication mode.",
39646
+ "enum": [
39647
+ "auto",
39648
+ "none",
39649
+ "mock",
39650
+ "openai",
39651
+ "anthropic"
39652
+ ]
39653
+ },
39654
+ "ai-threshold": {
39655
+ "description": "Minimum model confidence required to override deterministic matching.",
39656
+ "maximum": 1,
39657
+ "minimum": 0,
39658
+ "type": "number"
39659
+ },
39660
+ "ai-timeout-ms": {
39661
+ "description": "Timeout for each provider adjudication request.",
39662
+ "minimum": 1,
39663
+ "type": "integer"
39664
+ },
39690
39665
  "allow-same-venue": {
39691
39666
  "description": "Allow same-venue opportunities.",
39692
39667
  "type": "boolean"
@@ -39713,6 +39688,13 @@
39713
39688
  "minimum": 1,
39714
39689
  "type": "integer"
39715
39690
  },
39691
+ "matcher": {
39692
+ "description": "Arbitrage matcher mode.",
39693
+ "enum": [
39694
+ "heuristic",
39695
+ "hybrid"
39696
+ ]
39697
+ },
39716
39698
  "max-close-diff-hours": {
39717
39699
  "description": "Maximum close-time difference in hours.",
39718
39700
  "minimum": 0,
@@ -39792,12 +39774,42 @@
39792
39774
  "summary": "Backward-compatible one-shot cross-venue arbitrage wrapper.",
39793
39775
  "supportsRemote": true,
39794
39776
  "supportsWebhook": false,
39795
- "usage": "pandora [--output table|json] arbitrage [--chain-id <id>] [--venues pandora,polymarket] [--limit <n>] [--min-spread-pct <n>] [--min-liquidity-usdc <n>] [--max-close-diff-hours <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--cross-venue-only|--allow-same-venue] [--with-rules] [--include-similarity] [--question-contains <text>] [--polymarket-host <url>] [--polymarket-mock-url <url>]"
39777
+ "usage": "pandora [--output table|json] arbitrage [--chain-id <id>] [--venues pandora,polymarket] [--limit <n>] [--min-spread-pct <n>] [--min-liquidity-usdc <n>] [--max-close-diff-hours <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--cross-venue-only|--allow-same-venue] [--with-rules] [--include-similarity] [--question-contains <text>] [--polymarket-host <url>] [--polymarket-mock-url <url>]"
39796
39778
  },
39797
39779
  "description": "Backward-compatible one-shot wrapper; prefer arb.scan. Compatibility alias for arb.scan; hidden from default MCP discovery and intended only for explicit compatibility/debug workflows. Prefer arb.scan (arb scan).",
39798
39780
  "inputSchema": {
39799
39781
  "additionalProperties": false,
39800
39782
  "properties": {
39783
+ "ai-max-candidates": {
39784
+ "description": "Maximum borderline pairs to adjudicate per scan.",
39785
+ "minimum": 1,
39786
+ "type": "integer"
39787
+ },
39788
+ "ai-model": {
39789
+ "description": "Optional provider model override.",
39790
+ "type": "string"
39791
+ },
39792
+ "ai-provider": {
39793
+ "description": "Provider-backed adjudication mode.",
39794
+ "enum": [
39795
+ "auto",
39796
+ "none",
39797
+ "mock",
39798
+ "openai",
39799
+ "anthropic"
39800
+ ]
39801
+ },
39802
+ "ai-threshold": {
39803
+ "description": "Minimum model confidence required to override deterministic matching.",
39804
+ "maximum": 1,
39805
+ "minimum": 0,
39806
+ "type": "number"
39807
+ },
39808
+ "ai-timeout-ms": {
39809
+ "description": "Timeout for each provider adjudication request.",
39810
+ "minimum": 1,
39811
+ "type": "integer"
39812
+ },
39801
39813
  "allow-same-venue": {
39802
39814
  "description": "Allow same-venue opportunities.",
39803
39815
  "type": "boolean"
@@ -39824,6 +39836,13 @@
39824
39836
  "minimum": 1,
39825
39837
  "type": "integer"
39826
39838
  },
39839
+ "matcher": {
39840
+ "description": "Arbitrage matcher mode.",
39841
+ "enum": [
39842
+ "heuristic",
39843
+ "hybrid"
39844
+ ]
39845
+ },
39827
39846
  "max-close-diff-hours": {
39828
39847
  "description": "Maximum close-time difference in hours.",
39829
39848
  "minimum": 0,
@@ -39890,7 +39909,7 @@
39890
39909
  ],
39891
39910
  "canonicalName": "arb.scan",
39892
39911
  "canonicalTool": "arb.scan",
39893
- "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
39912
+ "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
39894
39913
  "command": [
39895
39914
  "arbitrage"
39896
39915
  ],
@@ -39989,7 +40008,7 @@
39989
40008
  "supportsRemote": true,
39990
40009
  "supportsWebhook": false,
39991
40010
  "topLevelInputConstraints": null,
39992
- "usage": "pandora [--output table|json] arbitrage [--chain-id <id>] [--venues pandora,polymarket] [--limit <n>] [--min-spread-pct <n>] [--min-liquidity-usdc <n>] [--max-close-diff-hours <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--cross-venue-only|--allow-same-venue] [--with-rules] [--include-similarity] [--question-contains <text>] [--polymarket-host <url>] [--polymarket-mock-url <url>]"
40011
+ "usage": "pandora [--output table|json] arbitrage [--chain-id <id>] [--venues pandora,polymarket] [--limit <n>] [--min-spread-pct <n>] [--min-liquidity-usdc <n>] [--max-close-diff-hours <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--cross-venue-only|--allow-same-venue] [--with-rules] [--include-similarity] [--question-contains <text>] [--polymarket-host <url>] [--polymarket-mock-url <url>]"
39993
40012
  }
39994
40013
  },
39995
40014
  "name": "arbitrage",
@@ -40005,7 +40024,7 @@
40005
40024
  ],
40006
40025
  "canonicalName": "arb.scan",
40007
40026
  "canonicalTool": "arb.scan",
40008
- "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
40027
+ "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
40009
40028
  "command": [
40010
40029
  "arbitrage"
40011
40030
  ],
@@ -40104,24 +40123,24 @@
40104
40123
  "supportsRemote": true,
40105
40124
  "supportsWebhook": false,
40106
40125
  "topLevelInputConstraints": null,
40107
- "usage": "pandora [--output table|json] arbitrage [--chain-id <id>] [--venues pandora,polymarket] [--limit <n>] [--min-spread-pct <n>] [--min-liquidity-usdc <n>] [--max-close-diff-hours <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--cross-venue-only|--allow-same-venue] [--with-rules] [--include-similarity] [--question-contains <text>] [--polymarket-host <url>] [--polymarket-mock-url <url>]"
40126
+ "usage": "pandora [--output table|json] arbitrage [--chain-id <id>] [--venues pandora,polymarket] [--limit <n>] [--min-spread-pct <n>] [--min-liquidity-usdc <n>] [--max-close-diff-hours <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--cross-venue-only|--allow-same-venue] [--with-rules] [--include-similarity] [--question-contains <text>] [--polymarket-host <url>] [--polymarket-mock-url <url>]"
40108
40127
  }
40109
40128
  }
40110
40129
  }
40111
40130
  },
40112
- "packageVersion": "0.1.0-alpha.7",
40131
+ "packageVersion": "0.1.0-alpha.9",
40113
40132
  "registryDigest": {
40114
40133
  "canonicalHash": "b501a15ce9f61731613d044e2c97a03142a261af386b1182638eb069a5f7ea0a",
40115
40134
  "commandDigestHash": "d44d4b52bc59aa8da9ba7a19f1a85a188d48c20a6ad59a70fd5e0b583acdce08",
40116
- "descriptorHash": "2ae206133a8203abbb37247facc5610d8fc8bfce9d684be868eae387c3c2ce49",
40135
+ "descriptorHash": "6d65ee91adfb4fc96ef43e81d331f9b41116dae11bf7451960052eb0284d7948",
40117
40136
  "documentationHash": "861462b91dd1da73bf3d98cd764d00241b3991ef641c10a096cec32fe84600af",
40118
- "fullDescriptorHash": "9893fd822e5431d69c0971d14bca374c10e07ddf26c34328f6fd7eb785b73db0",
40137
+ "fullDescriptorHash": "ff21045e16ba09fd04800a85f1cd81dffaa88f3a1fa8d82739d7eb719e926e0f",
40119
40138
  "namespaceHash": "111925823f74b9dd80c31aa375ceee6a9bc652739e5f9ed0c19263e524d310c5",
40120
40139
  "policyProfilesHash": "6dfcf1c27d5d5d89ee85bbb9ad19636b1bd621b91e89e2b4c3c9282764df81ed",
40121
40140
  "principalTemplatesHash": "525835bb3c4710fa326e662e8a961e74de1798f4fb1bccb2a00be557ed037740",
40122
40141
  "routedTopLevelHash": "02e98ac94f1eadbeded065bef652f8a917f108a8a08726ad7163503cc1b3384d",
40123
40142
  "topLevelHash": "b2363d86a80d53dcb1cf2ce05cd547a79df52cdadc9c53c45d29597fa9b5ce6e",
40124
- "trustDistributionHash": "40bd63f41304d9c653969fba60a606c12942aa13be30e04ef119c3526e9f08a1"
40143
+ "trustDistributionHash": "1e3d5c2f4b31df2280c8ac64ffcc20d80ef7de9f9edefbffab641772b5ae55b9"
40125
40144
  },
40126
40145
  "schemaVersion": "1.0.0",
40127
40146
  "schemas": {
@@ -51196,7 +51215,7 @@
51196
51215
  "scan"
51197
51216
  ],
51198
51217
  "canonicalTool": "arb.scan",
51199
- "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
51218
+ "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
51200
51219
  "controlInputNames": [],
51201
51220
  "dataSchema": "#/definitions/ArbScanPayload",
51202
51221
  "emits": [
@@ -51215,6 +51234,36 @@
51215
51234
  "inputSchema": {
51216
51235
  "additionalProperties": false,
51217
51236
  "properties": {
51237
+ "ai-max-candidates": {
51238
+ "description": "Maximum borderline pairs to adjudicate per scan.",
51239
+ "minimum": 1,
51240
+ "type": "integer"
51241
+ },
51242
+ "ai-model": {
51243
+ "description": "Optional provider model override.",
51244
+ "type": "string"
51245
+ },
51246
+ "ai-provider": {
51247
+ "description": "Provider-backed adjudication mode.",
51248
+ "enum": [
51249
+ "auto",
51250
+ "none",
51251
+ "mock",
51252
+ "openai",
51253
+ "anthropic"
51254
+ ]
51255
+ },
51256
+ "ai-threshold": {
51257
+ "description": "Minimum model confidence required to override deterministic matching.",
51258
+ "maximum": 1,
51259
+ "minimum": 0,
51260
+ "type": "number"
51261
+ },
51262
+ "ai-timeout-ms": {
51263
+ "description": "Timeout for each provider adjudication request.",
51264
+ "minimum": 1,
51265
+ "type": "integer"
51266
+ },
51218
51267
  "amount-usdc": {
51219
51268
  "description": "Sizing notional in USDC.",
51220
51269
  "minimum": 0,
@@ -51242,6 +51291,13 @@
51242
51291
  "description": "Comma-delimited market ids when source=pandora.",
51243
51292
  "type": "string"
51244
51293
  },
51294
+ "matcher": {
51295
+ "description": "Arbitrage matcher mode.",
51296
+ "enum": [
51297
+ "heuristic",
51298
+ "hybrid"
51299
+ ]
51300
+ },
51245
51301
  "max-bundle-size": {
51246
51302
  "description": "Maximum combinatorial bundle size.",
51247
51303
  "minimum": 3,
@@ -51327,7 +51383,7 @@
51327
51383
  "summary": "Canonical arbitrage scan command for streaming or bounded spread detection.",
51328
51384
  "supportsRemote": true,
51329
51385
  "supportsWebhook": false,
51330
- "usage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]"
51386
+ "usage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]"
51331
51387
  },
51332
51388
  "autopilot": {
51333
51389
  "agentWorkflow": null,
@@ -54745,19 +54801,12 @@
54745
54801
  "additionalProperties": false,
54746
54802
  "properties": {
54747
54803
  "id": {
54748
- "oneOf": [
54749
- {
54750
- "description": "Market id.",
54751
- "type": "string"
54752
- },
54753
- {
54754
- "description": "Market ids.",
54755
- "items": {
54756
- "type": "string"
54757
- },
54758
- "type": "array"
54759
- }
54760
- ]
54804
+ "description": "Market id, or a comma-delimited list of market ids.",
54805
+ "minLength": 1,
54806
+ "type": "string",
54807
+ "xPandora": {
54808
+ "acceptsCommaSeparatedList": true
54809
+ }
54761
54810
  },
54762
54811
  "stdin": {
54763
54812
  "description": "Read newline-delimited ids from stdin.",
@@ -57704,62 +57753,29 @@
57704
57753
  "type": "string"
57705
57754
  },
57706
57755
  "category": {
57707
- "anyOf": [
57708
- {
57709
- "description": "Category id.",
57710
- "minimum": 0,
57711
- "type": "integer"
57712
- },
57713
- {
57714
- "description": "Canonical category name.",
57715
- "enum": [
57716
- "Politics",
57717
- "Sports",
57718
- "Finance",
57719
- "Crypto",
57720
- "Culture",
57721
- "Technology",
57722
- "Science",
57723
- "Entertainment",
57724
- "Health",
57725
- "Environment",
57726
- "Other"
57727
- ],
57728
- "examples": [
57729
- "Politics",
57730
- "Sports",
57731
- "Finance",
57732
- "Crypto",
57733
- "Culture",
57734
- "Technology",
57735
- "Science",
57736
- "Entertainment",
57737
- "Health",
57738
- "Environment",
57739
- "Other"
57740
- ],
57741
- "type": "string"
57742
- },
57743
- {
57744
- "description": "Case-insensitive category name accepted by the CLI.",
57745
- "examples": [
57746
- "Politics",
57747
- "Sports",
57748
- "Finance",
57749
- "Crypto",
57750
- "Culture",
57751
- "Technology",
57752
- "Science",
57753
- "Entertainment",
57754
- "Health",
57755
- "Environment",
57756
- "Other"
57757
- ],
57758
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
57759
- "type": "string"
57760
- }
57756
+ "description": "Category id or canonical category name.",
57757
+ "examples": [
57758
+ "Sports",
57759
+ "3"
57761
57760
  ],
57762
- "description": "Category id or canonical category name."
57761
+ "type": "string",
57762
+ "xPandora": {
57763
+ "acceptsIntegerStrings": true,
57764
+ "allowedCategoryNames": [
57765
+ "Politics",
57766
+ "Sports",
57767
+ "Finance",
57768
+ "Crypto",
57769
+ "Culture",
57770
+ "Technology",
57771
+ "Science",
57772
+ "Entertainment",
57773
+ "Health",
57774
+ "Environment",
57775
+ "Other"
57776
+ ],
57777
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
57778
+ }
57763
57779
  },
57764
57780
  "chain-id": {
57765
57781
  "description": "Chain id.",
@@ -57879,18 +57895,16 @@
57879
57895
  "type": "array"
57880
57896
  },
57881
57897
  "target-timestamp": {
57882
- "anyOf": [
57883
- {
57884
- "description": "Explicit target timestamp in unix seconds.",
57885
- "minimum": 1,
57886
- "type": "integer"
57887
- },
57888
- {
57889
- "description": "Explicit ISO date/time override for target timestamp.",
57890
- "type": "string"
57891
- }
57898
+ "description": "Explicit target timestamp override.",
57899
+ "examples": [
57900
+ "1777777777",
57901
+ "2026-12-31T00:00:00Z"
57892
57902
  ],
57893
- "description": "Explicit target timestamp override."
57903
+ "type": "string",
57904
+ "xPandora": {
57905
+ "acceptsIsoDatetime": true,
57906
+ "acceptsUnixSeconds": true
57907
+ }
57894
57908
  },
57895
57909
  "usdc": {
57896
57910
  "description": "USDC token address.",
@@ -58954,62 +58968,29 @@
58954
58968
  "type": "boolean"
58955
58969
  },
58956
58970
  "category": {
58957
- "anyOf": [
58958
- {
58959
- "description": "Category id.",
58960
- "minimum": 0,
58961
- "type": "integer"
58962
- },
58963
- {
58964
- "description": "Canonical category name.",
58965
- "enum": [
58966
- "Politics",
58967
- "Sports",
58968
- "Finance",
58969
- "Crypto",
58970
- "Culture",
58971
- "Technology",
58972
- "Science",
58973
- "Entertainment",
58974
- "Health",
58975
- "Environment",
58976
- "Other"
58977
- ],
58978
- "examples": [
58979
- "Politics",
58980
- "Sports",
58981
- "Finance",
58982
- "Crypto",
58983
- "Culture",
58984
- "Technology",
58985
- "Science",
58986
- "Entertainment",
58987
- "Health",
58988
- "Environment",
58989
- "Other"
58990
- ],
58991
- "type": "string"
58992
- },
58993
- {
58994
- "description": "Case-insensitive category name accepted by the CLI.",
58995
- "examples": [
58996
- "Politics",
58997
- "Sports",
58998
- "Finance",
58999
- "Crypto",
59000
- "Culture",
59001
- "Technology",
59002
- "Science",
59003
- "Entertainment",
59004
- "Health",
59005
- "Environment",
59006
- "Other"
59007
- ],
59008
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
59009
- "type": "string"
59010
- }
58971
+ "description": "Category id or canonical category name.",
58972
+ "examples": [
58973
+ "Sports",
58974
+ "3"
59011
58975
  ],
59012
- "description": "Category id or canonical category name."
58976
+ "type": "string",
58977
+ "xPandora": {
58978
+ "acceptsIntegerStrings": true,
58979
+ "allowedCategoryNames": [
58980
+ "Politics",
58981
+ "Sports",
58982
+ "Finance",
58983
+ "Crypto",
58984
+ "Culture",
58985
+ "Technology",
58986
+ "Science",
58987
+ "Entertainment",
58988
+ "Health",
58989
+ "Environment",
58990
+ "Other"
58991
+ ],
58992
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
58993
+ }
59013
58994
  },
59014
58995
  "chain-id": {
59015
58996
  "description": "Chain id.",
@@ -59273,18 +59254,14 @@
59273
59254
  "type": "string"
59274
59255
  },
59275
59256
  "skip-gate": {
59276
- "anyOf": [
59277
- {
59278
- "description": "Skip all mirror sync gates.",
59279
- "type": "boolean"
59280
- },
59281
- {
59282
- "description": "Comma-delimited gate skip list.",
59283
- "type": "string"
59284
- }
59257
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
59258
+ "examples": [
59259
+ "true",
59260
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
59285
59261
  ],
59286
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
59262
+ "type": "string",
59287
59263
  "xPandora": {
59264
+ "acceptsBooleanString": true,
59288
59265
  "allowedGateCodes": [
59289
59266
  "MATCH_AND_RULES",
59290
59267
  "POLYMARKET_SOURCE_FRESH",
@@ -59317,18 +59294,16 @@
59317
59294
  "type": "boolean"
59318
59295
  },
59319
59296
  "target-timestamp": {
59320
- "anyOf": [
59321
- {
59322
- "description": "Explicit target timestamp in unix seconds.",
59323
- "minimum": 1,
59324
- "type": "integer"
59325
- },
59326
- {
59327
- "description": "Explicit ISO date/time override for target timestamp.",
59328
- "type": "string"
59329
- }
59297
+ "description": "Explicit target timestamp override.",
59298
+ "examples": [
59299
+ "1777777777",
59300
+ "2026-12-31T00:00:00Z"
59330
59301
  ],
59331
- "description": "Explicit target timestamp override."
59302
+ "type": "string",
59303
+ "xPandora": {
59304
+ "acceptsIsoDatetime": true,
59305
+ "acceptsUnixSeconds": true
59306
+ }
59332
59307
  },
59333
59308
  "trust-deploy": {
59334
59309
  "description": "Trust manifest deploy pair.",
@@ -63769,18 +63744,14 @@
63769
63744
  "type": "string"
63770
63745
  },
63771
63746
  "skip-gate": {
63772
- "anyOf": [
63773
- {
63774
- "description": "Skip all mirror sync gates.",
63775
- "type": "boolean"
63776
- },
63777
- {
63778
- "description": "Comma-delimited gate skip list.",
63779
- "type": "string"
63780
- }
63747
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
63748
+ "examples": [
63749
+ "true",
63750
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
63781
63751
  ],
63782
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
63752
+ "type": "string",
63783
63753
  "xPandora": {
63754
+ "acceptsBooleanString": true,
63784
63755
  "allowedGateCodes": [
63785
63756
  "MATCH_AND_RULES",
63786
63757
  "POLYMARKET_SOURCE_FRESH",
@@ -65394,18 +65365,14 @@
65394
65365
  "type": "string"
65395
65366
  },
65396
65367
  "skip-gate": {
65397
- "anyOf": [
65398
- {
65399
- "description": "Skip all mirror sync gates.",
65400
- "type": "boolean"
65401
- },
65402
- {
65403
- "description": "Comma-delimited gate skip list.",
65404
- "type": "string"
65405
- }
65368
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
65369
+ "examples": [
65370
+ "true",
65371
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
65406
65372
  ],
65407
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
65373
+ "type": "string",
65408
65374
  "xPandora": {
65375
+ "acceptsBooleanString": true,
65409
65376
  "allowedGateCodes": [
65410
65377
  "MATCH_AND_RULES",
65411
65378
  "POLYMARKET_SOURCE_FRESH",
@@ -67016,18 +66983,14 @@
67016
66983
  "type": "string"
67017
66984
  },
67018
66985
  "skip-gate": {
67019
- "anyOf": [
67020
- {
67021
- "description": "Skip all mirror sync gates.",
67022
- "type": "boolean"
67023
- },
67024
- {
67025
- "description": "Comma-delimited gate skip list.",
67026
- "type": "string"
67027
- }
66986
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
66987
+ "examples": [
66988
+ "true",
66989
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
67028
66990
  ],
67029
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
66991
+ "type": "string",
67030
66992
  "xPandora": {
66993
+ "acceptsBooleanString": true,
67031
66994
  "allowedGateCodes": [
67032
66995
  "MATCH_AND_RULES",
67033
66996
  "POLYMARKET_SOURCE_FRESH",
@@ -69479,19 +69442,12 @@
69479
69442
  "type": "string"
69480
69443
  },
69481
69444
  "series": {
69482
- "oneOf": [
69483
- {
69484
- "description": "Series specification id:v1,v2,...",
69485
- "type": "string"
69486
- },
69487
- {
69488
- "description": "Series specifications.",
69489
- "items": {
69490
- "type": "string"
69491
- },
69492
- "type": "array"
69493
- }
69494
- ]
69445
+ "description": "Series specification id:v1,v2,..., or a semicolon-delimited list of series specifications.",
69446
+ "minLength": 1,
69447
+ "type": "string",
69448
+ "xPandora": {
69449
+ "acceptsSemicolonSeparatedList": true
69450
+ }
69495
69451
  },
69496
69452
  "tail-alpha": {
69497
69453
  "description": "Tail alpha level.",
@@ -74810,62 +74766,29 @@
74810
74766
  "type": "string"
74811
74767
  },
74812
74768
  "category": {
74813
- "anyOf": [
74814
- {
74815
- "description": "Category id.",
74816
- "minimum": 0,
74817
- "type": "integer"
74818
- },
74819
- {
74820
- "description": "Canonical category name.",
74821
- "enum": [
74822
- "Politics",
74823
- "Sports",
74824
- "Finance",
74825
- "Crypto",
74826
- "Culture",
74827
- "Technology",
74828
- "Science",
74829
- "Entertainment",
74830
- "Health",
74831
- "Environment",
74832
- "Other"
74833
- ],
74834
- "examples": [
74835
- "Politics",
74836
- "Sports",
74837
- "Finance",
74838
- "Crypto",
74839
- "Culture",
74840
- "Technology",
74841
- "Science",
74842
- "Entertainment",
74843
- "Health",
74844
- "Environment",
74845
- "Other"
74846
- ],
74847
- "type": "string"
74848
- },
74849
- {
74850
- "description": "Case-insensitive category name accepted by the CLI.",
74851
- "examples": [
74852
- "Politics",
74853
- "Sports",
74854
- "Finance",
74855
- "Crypto",
74856
- "Culture",
74857
- "Technology",
74858
- "Science",
74859
- "Entertainment",
74860
- "Health",
74861
- "Environment",
74862
- "Other"
74863
- ],
74864
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
74865
- "type": "string"
74866
- }
74769
+ "description": "Category id or canonical category name.",
74770
+ "examples": [
74771
+ "Sports",
74772
+ "3"
74867
74773
  ],
74868
- "description": "Category id or canonical category name."
74774
+ "type": "string",
74775
+ "xPandora": {
74776
+ "acceptsIntegerStrings": true,
74777
+ "allowedCategoryNames": [
74778
+ "Politics",
74779
+ "Sports",
74780
+ "Finance",
74781
+ "Crypto",
74782
+ "Culture",
74783
+ "Technology",
74784
+ "Science",
74785
+ "Entertainment",
74786
+ "Health",
74787
+ "Environment",
74788
+ "Other"
74789
+ ],
74790
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
74791
+ }
74869
74792
  },
74870
74793
  "creation-window-close-min": {
74871
74794
  "description": "Creation window close minutes before kickoff.",
@@ -75015,62 +74938,29 @@
75015
74938
  "type": "object"
75016
74939
  },
75017
74940
  "category": {
75018
- "anyOf": [
75019
- {
75020
- "description": "Category id.",
75021
- "minimum": 0,
75022
- "type": "integer"
75023
- },
75024
- {
75025
- "description": "Canonical category name.",
75026
- "enum": [
75027
- "Politics",
75028
- "Sports",
75029
- "Finance",
75030
- "Crypto",
75031
- "Culture",
75032
- "Technology",
75033
- "Science",
75034
- "Entertainment",
75035
- "Health",
75036
- "Environment",
75037
- "Other"
75038
- ],
75039
- "examples": [
75040
- "Politics",
75041
- "Sports",
75042
- "Finance",
75043
- "Crypto",
75044
- "Culture",
75045
- "Technology",
75046
- "Science",
75047
- "Entertainment",
75048
- "Health",
75049
- "Environment",
75050
- "Other"
75051
- ],
75052
- "type": "string"
75053
- },
75054
- {
75055
- "description": "Case-insensitive category name accepted by the CLI.",
75056
- "examples": [
75057
- "Politics",
75058
- "Sports",
75059
- "Finance",
75060
- "Crypto",
75061
- "Culture",
75062
- "Technology",
75063
- "Science",
75064
- "Entertainment",
75065
- "Health",
75066
- "Environment",
75067
- "Other"
75068
- ],
75069
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
75070
- "type": "string"
75071
- }
74941
+ "description": "Category id or canonical category name.",
74942
+ "examples": [
74943
+ "Sports",
74944
+ "3"
75072
74945
  ],
75073
- "description": "Category id or canonical category name."
74946
+ "type": "string",
74947
+ "xPandora": {
74948
+ "acceptsIntegerStrings": true,
74949
+ "allowedCategoryNames": [
74950
+ "Politics",
74951
+ "Sports",
74952
+ "Finance",
74953
+ "Crypto",
74954
+ "Culture",
74955
+ "Technology",
74956
+ "Science",
74957
+ "Entertainment",
74958
+ "Health",
74959
+ "Environment",
74960
+ "Other"
74961
+ ],
74962
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
74963
+ }
75074
74964
  },
75075
74965
  "chain-id": {
75076
74966
  "description": "Chain id.",
@@ -88008,7 +87898,7 @@
88008
87898
  "packageName": "@thisispandora/agent-sdk",
88009
87899
  "packagePath": "sdk/typescript/package.json",
88010
87900
  "shipped": true,
88011
- "version": "0.1.0-alpha.7"
87901
+ "version": "0.1.0-alpha.9"
88012
87902
  }
88013
87903
  },
88014
87904
  "generatedContractArtifacts": {
@@ -88111,7 +88001,7 @@
88111
88001
  ],
88112
88002
  "main": "cli/pandora.cjs",
88113
88003
  "name": "pandora-cli-skills",
88114
- "version": "1.1.88"
88004
+ "version": "1.1.90"
88115
88005
  },
88116
88006
  "signals": {
88117
88007
  "explicitFilesAllowlist": true,
@@ -88209,11 +88099,11 @@
88209
88099
  "core-history.json",
88210
88100
  "core-report.json",
88211
88101
  "core.lock.json",
88212
- "pandora-cli-skills-1.1.88.tgz",
88213
- "pandora-cli-skills-1.1.88.tgz.intoto.jsonl",
88214
- "pandora-cli-skills-1.1.88.tgz.pem",
88215
- "pandora-cli-skills-1.1.88.tgz.sha256",
88216
- "pandora-cli-skills-1.1.88.tgz.sig",
88102
+ "pandora-cli-skills-1.1.90.tgz",
88103
+ "pandora-cli-skills-1.1.90.tgz.intoto.jsonl",
88104
+ "pandora-cli-skills-1.1.90.tgz.pem",
88105
+ "pandora-cli-skills-1.1.90.tgz.sha256",
88106
+ "pandora-cli-skills-1.1.90.tgz.sig",
88217
88107
  "pandora_agent-0.1.0a6-py3-none-any.whl",
88218
88108
  "pandora_agent-0.1.0a6.tar.gz",
88219
88109
  "sbom.spdx.json",
@@ -88221,7 +88111,7 @@
88221
88111
  "sbom.spdx.json.sha256",
88222
88112
  "sdk-checksums.sha256",
88223
88113
  "sdk-release-manifest.json",
88224
- "thisispandora-agent-sdk-0.1.0-alpha.7.tgz"
88114
+ "thisispandora-agent-sdk-0.1.0-alpha.9.tgz"
88225
88115
  ],
88226
88116
  "verificationMethods": [
88227
88117
  "checksum-manifest",
@@ -89433,7 +89323,7 @@
89433
89323
  "scan"
89434
89324
  ],
89435
89325
  "canonicalTool": "arb.scan",
89436
- "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
89326
+ "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
89437
89327
  "controlInputNames": [],
89438
89328
  "dataSchema": "#/definitions/ArbScanPayload",
89439
89329
  "emits": [
@@ -89452,6 +89342,36 @@
89452
89342
  "inputSchema": {
89453
89343
  "additionalProperties": false,
89454
89344
  "properties": {
89345
+ "ai-max-candidates": {
89346
+ "description": "Maximum borderline pairs to adjudicate per scan.",
89347
+ "minimum": 1,
89348
+ "type": "integer"
89349
+ },
89350
+ "ai-model": {
89351
+ "description": "Optional provider model override.",
89352
+ "type": "string"
89353
+ },
89354
+ "ai-provider": {
89355
+ "description": "Provider-backed adjudication mode.",
89356
+ "enum": [
89357
+ "auto",
89358
+ "none",
89359
+ "mock",
89360
+ "openai",
89361
+ "anthropic"
89362
+ ]
89363
+ },
89364
+ "ai-threshold": {
89365
+ "description": "Minimum model confidence required to override deterministic matching.",
89366
+ "maximum": 1,
89367
+ "minimum": 0,
89368
+ "type": "number"
89369
+ },
89370
+ "ai-timeout-ms": {
89371
+ "description": "Timeout for each provider adjudication request.",
89372
+ "minimum": 1,
89373
+ "type": "integer"
89374
+ },
89455
89375
  "amount-usdc": {
89456
89376
  "description": "Sizing notional in USDC.",
89457
89377
  "minimum": 0,
@@ -89479,6 +89399,13 @@
89479
89399
  "description": "Comma-delimited market ids when source=pandora.",
89480
89400
  "type": "string"
89481
89401
  },
89402
+ "matcher": {
89403
+ "description": "Arbitrage matcher mode.",
89404
+ "enum": [
89405
+ "heuristic",
89406
+ "hybrid"
89407
+ ]
89408
+ },
89482
89409
  "max-bundle-size": {
89483
89410
  "description": "Maximum combinatorial bundle size.",
89484
89411
  "minimum": 3,
@@ -89564,12 +89491,42 @@
89564
89491
  "summary": "Canonical arbitrage scan command for streaming or bounded spread detection.",
89565
89492
  "supportsRemote": true,
89566
89493
  "supportsWebhook": false,
89567
- "usage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]"
89494
+ "usage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]"
89568
89495
  },
89569
89496
  "description": "Run one bounded arb scan iteration and return a structured payload.",
89570
89497
  "inputSchema": {
89571
89498
  "additionalProperties": false,
89572
89499
  "properties": {
89500
+ "ai-max-candidates": {
89501
+ "description": "Maximum borderline pairs to adjudicate per scan.",
89502
+ "minimum": 1,
89503
+ "type": "integer"
89504
+ },
89505
+ "ai-model": {
89506
+ "description": "Optional provider model override.",
89507
+ "type": "string"
89508
+ },
89509
+ "ai-provider": {
89510
+ "description": "Provider-backed adjudication mode.",
89511
+ "enum": [
89512
+ "auto",
89513
+ "none",
89514
+ "mock",
89515
+ "openai",
89516
+ "anthropic"
89517
+ ]
89518
+ },
89519
+ "ai-threshold": {
89520
+ "description": "Minimum model confidence required to override deterministic matching.",
89521
+ "maximum": 1,
89522
+ "minimum": 0,
89523
+ "type": "number"
89524
+ },
89525
+ "ai-timeout-ms": {
89526
+ "description": "Timeout for each provider adjudication request.",
89527
+ "minimum": 1,
89528
+ "type": "integer"
89529
+ },
89573
89530
  "amount-usdc": {
89574
89531
  "description": "Sizing notional in USDC.",
89575
89532
  "minimum": 0,
@@ -89597,6 +89554,13 @@
89597
89554
  "description": "Comma-delimited market ids when source=pandora.",
89598
89555
  "type": "string"
89599
89556
  },
89557
+ "matcher": {
89558
+ "description": "Arbitrage matcher mode.",
89559
+ "enum": [
89560
+ "heuristic",
89561
+ "hybrid"
89562
+ ]
89563
+ },
89600
89564
  "max-bundle-size": {
89601
89565
  "description": "Maximum combinatorial bundle size.",
89602
89566
  "minimum": 3,
@@ -89669,7 +89633,7 @@
89669
89633
  ],
89670
89634
  "canonicalName": "arb.scan",
89671
89635
  "canonicalTool": "arb.scan",
89672
- "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
89636
+ "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
89673
89637
  "command": [
89674
89638
  "arb",
89675
89639
  "scan",
@@ -89767,7 +89731,7 @@
89767
89731
  "supportsRemote": true,
89768
89732
  "supportsWebhook": false,
89769
89733
  "topLevelInputConstraints": null,
89770
- "usage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]"
89734
+ "usage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]"
89771
89735
  }
89772
89736
  },
89773
89737
  "name": "arb.scan",
@@ -89783,7 +89747,7 @@
89783
89747
  ],
89784
89748
  "canonicalName": "arb.scan",
89785
89749
  "canonicalTool": "arb.scan",
89786
- "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
89750
+ "canonicalUsage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]",
89787
89751
  "command": [
89788
89752
  "arb",
89789
89753
  "scan",
@@ -89881,7 +89845,7 @@
89881
89845
  "supportsRemote": true,
89882
89846
  "supportsWebhook": false,
89883
89847
  "topLevelInputConstraints": null,
89884
- "usage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]"
89848
+ "usage": "pandora arb scan [--source pandora|polymarket] [--markets <csv>] --output ndjson|json [--limit <n>] [--min-net-spread-pct <n>|--min-spread-pct <n>] [--min-tvl <usdc>] [--fee-pct-per-leg <n>] [--slippage-pct-per-leg <n>] [--amount-usdc <n>] [--combinatorial] [--max-bundle-size <n>] [--matcher heuristic|hybrid] [--similarity-threshold <0-1>] [--min-token-score <0-1>] [--ai-provider auto|none|mock|openai|anthropic] [--ai-model <id>] [--ai-threshold <0-1>] [--ai-max-candidates <n>] [--ai-timeout-ms <ms>] [--max-close-diff-hours <n>] [--question-contains <text>] [--interval-ms <ms>] [--iterations <n>] [--indexer-url <url>] [--timeout-ms <ms>]"
89885
89849
  }
89886
89850
  },
89887
89851
  "autopilot.once": {
@@ -100101,19 +100065,12 @@
100101
100065
  "additionalProperties": false,
100102
100066
  "properties": {
100103
100067
  "id": {
100104
- "oneOf": [
100105
- {
100106
- "description": "Market id.",
100107
- "type": "string"
100108
- },
100109
- {
100110
- "description": "Market ids.",
100111
- "items": {
100112
- "type": "string"
100113
- },
100114
- "type": "array"
100115
- }
100116
- ]
100068
+ "description": "Market id, or a comma-delimited list of market ids.",
100069
+ "minLength": 1,
100070
+ "type": "string",
100071
+ "xPandora": {
100072
+ "acceptsCommaSeparatedList": true
100073
+ }
100117
100074
  },
100118
100075
  "stdin": {
100119
100076
  "description": "Read newline-delimited ids from stdin.",
@@ -100153,19 +100110,12 @@
100153
100110
  "additionalProperties": false,
100154
100111
  "properties": {
100155
100112
  "id": {
100156
- "oneOf": [
100157
- {
100158
- "description": "Market id.",
100159
- "type": "string"
100160
- },
100161
- {
100162
- "description": "Market ids.",
100163
- "items": {
100164
- "type": "string"
100165
- },
100166
- "type": "array"
100167
- }
100168
- ]
100113
+ "description": "Market id, or a comma-delimited list of market ids.",
100114
+ "minLength": 1,
100115
+ "type": "string",
100116
+ "xPandora": {
100117
+ "acceptsCommaSeparatedList": true
100118
+ }
100169
100119
  },
100170
100120
  "stdin": {
100171
100121
  "description": "Read newline-delimited ids from stdin.",
@@ -108969,62 +108919,29 @@
108969
108919
  "type": "string"
108970
108920
  },
108971
108921
  "category": {
108972
- "anyOf": [
108973
- {
108974
- "description": "Category id.",
108975
- "minimum": 0,
108976
- "type": "integer"
108977
- },
108978
- {
108979
- "description": "Canonical category name.",
108980
- "enum": [
108981
- "Politics",
108982
- "Sports",
108983
- "Finance",
108984
- "Crypto",
108985
- "Culture",
108986
- "Technology",
108987
- "Science",
108988
- "Entertainment",
108989
- "Health",
108990
- "Environment",
108991
- "Other"
108992
- ],
108993
- "examples": [
108994
- "Politics",
108995
- "Sports",
108996
- "Finance",
108997
- "Crypto",
108998
- "Culture",
108999
- "Technology",
109000
- "Science",
109001
- "Entertainment",
109002
- "Health",
109003
- "Environment",
109004
- "Other"
109005
- ],
109006
- "type": "string"
109007
- },
109008
- {
109009
- "description": "Case-insensitive category name accepted by the CLI.",
109010
- "examples": [
109011
- "Politics",
109012
- "Sports",
109013
- "Finance",
109014
- "Crypto",
109015
- "Culture",
109016
- "Technology",
109017
- "Science",
109018
- "Entertainment",
109019
- "Health",
109020
- "Environment",
109021
- "Other"
109022
- ],
109023
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
109024
- "type": "string"
109025
- }
108922
+ "description": "Category id or canonical category name.",
108923
+ "examples": [
108924
+ "Sports",
108925
+ "3"
109026
108926
  ],
109027
- "description": "Category id or canonical category name."
108927
+ "type": "string",
108928
+ "xPandora": {
108929
+ "acceptsIntegerStrings": true,
108930
+ "allowedCategoryNames": [
108931
+ "Politics",
108932
+ "Sports",
108933
+ "Finance",
108934
+ "Crypto",
108935
+ "Culture",
108936
+ "Technology",
108937
+ "Science",
108938
+ "Entertainment",
108939
+ "Health",
108940
+ "Environment",
108941
+ "Other"
108942
+ ],
108943
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
108944
+ }
109028
108945
  },
109029
108946
  "chain-id": {
109030
108947
  "description": "Chain id.",
@@ -109144,18 +109061,16 @@
109144
109061
  "type": "array"
109145
109062
  },
109146
109063
  "target-timestamp": {
109147
- "anyOf": [
109148
- {
109149
- "description": "Explicit target timestamp in unix seconds.",
109150
- "minimum": 1,
109151
- "type": "integer"
109152
- },
109153
- {
109154
- "description": "Explicit ISO date/time override for target timestamp.",
109155
- "type": "string"
109156
- }
109064
+ "description": "Explicit target timestamp override.",
109065
+ "examples": [
109066
+ "1777777777",
109067
+ "2026-12-31T00:00:00Z"
109157
109068
  ],
109158
- "description": "Explicit target timestamp override."
109069
+ "type": "string",
109070
+ "xPandora": {
109071
+ "acceptsIsoDatetime": true,
109072
+ "acceptsUnixSeconds": true
109073
+ }
109159
109074
  },
109160
109075
  "usdc": {
109161
109076
  "description": "USDC token address.",
@@ -109520,62 +109435,29 @@
109520
109435
  "type": "string"
109521
109436
  },
109522
109437
  "category": {
109523
- "anyOf": [
109524
- {
109525
- "description": "Category id.",
109526
- "minimum": 0,
109527
- "type": "integer"
109528
- },
109529
- {
109530
- "description": "Canonical category name.",
109531
- "enum": [
109532
- "Politics",
109533
- "Sports",
109534
- "Finance",
109535
- "Crypto",
109536
- "Culture",
109537
- "Technology",
109538
- "Science",
109539
- "Entertainment",
109540
- "Health",
109541
- "Environment",
109542
- "Other"
109543
- ],
109544
- "examples": [
109545
- "Politics",
109546
- "Sports",
109547
- "Finance",
109548
- "Crypto",
109549
- "Culture",
109550
- "Technology",
109551
- "Science",
109552
- "Entertainment",
109553
- "Health",
109554
- "Environment",
109555
- "Other"
109556
- ],
109557
- "type": "string"
109558
- },
109559
- {
109560
- "description": "Case-insensitive category name accepted by the CLI.",
109561
- "examples": [
109562
- "Politics",
109563
- "Sports",
109564
- "Finance",
109565
- "Crypto",
109566
- "Culture",
109567
- "Technology",
109568
- "Science",
109569
- "Entertainment",
109570
- "Health",
109571
- "Environment",
109572
- "Other"
109573
- ],
109574
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
109575
- "type": "string"
109576
- }
109438
+ "description": "Category id or canonical category name.",
109439
+ "examples": [
109440
+ "Sports",
109441
+ "3"
109577
109442
  ],
109578
- "description": "Category id or canonical category name."
109443
+ "type": "string",
109444
+ "xPandora": {
109445
+ "acceptsIntegerStrings": true,
109446
+ "allowedCategoryNames": [
109447
+ "Politics",
109448
+ "Sports",
109449
+ "Finance",
109450
+ "Crypto",
109451
+ "Culture",
109452
+ "Technology",
109453
+ "Science",
109454
+ "Entertainment",
109455
+ "Health",
109456
+ "Environment",
109457
+ "Other"
109458
+ ],
109459
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
109460
+ }
109579
109461
  },
109580
109462
  "chain-id": {
109581
109463
  "description": "Chain id.",
@@ -109695,18 +109577,16 @@
109695
109577
  "type": "array"
109696
109578
  },
109697
109579
  "target-timestamp": {
109698
- "anyOf": [
109699
- {
109700
- "description": "Explicit target timestamp in unix seconds.",
109701
- "minimum": 1,
109702
- "type": "integer"
109703
- },
109704
- {
109705
- "description": "Explicit ISO date/time override for target timestamp.",
109706
- "type": "string"
109707
- }
109580
+ "description": "Explicit target timestamp override.",
109581
+ "examples": [
109582
+ "1777777777",
109583
+ "2026-12-31T00:00:00Z"
109708
109584
  ],
109709
- "description": "Explicit target timestamp override."
109585
+ "type": "string",
109586
+ "xPandora": {
109587
+ "acceptsIsoDatetime": true,
109588
+ "acceptsUnixSeconds": true
109589
+ }
109710
109590
  },
109711
109591
  "usdc": {
109712
109592
  "description": "USDC token address.",
@@ -112616,62 +112496,29 @@
112616
112496
  "type": "boolean"
112617
112497
  },
112618
112498
  "category": {
112619
- "anyOf": [
112620
- {
112621
- "description": "Category id.",
112622
- "minimum": 0,
112623
- "type": "integer"
112624
- },
112625
- {
112626
- "description": "Canonical category name.",
112627
- "enum": [
112628
- "Politics",
112629
- "Sports",
112630
- "Finance",
112631
- "Crypto",
112632
- "Culture",
112633
- "Technology",
112634
- "Science",
112635
- "Entertainment",
112636
- "Health",
112637
- "Environment",
112638
- "Other"
112639
- ],
112640
- "examples": [
112641
- "Politics",
112642
- "Sports",
112643
- "Finance",
112644
- "Crypto",
112645
- "Culture",
112646
- "Technology",
112647
- "Science",
112648
- "Entertainment",
112649
- "Health",
112650
- "Environment",
112651
- "Other"
112652
- ],
112653
- "type": "string"
112654
- },
112655
- {
112656
- "description": "Case-insensitive category name accepted by the CLI.",
112657
- "examples": [
112658
- "Politics",
112659
- "Sports",
112660
- "Finance",
112661
- "Crypto",
112662
- "Culture",
112663
- "Technology",
112664
- "Science",
112665
- "Entertainment",
112666
- "Health",
112667
- "Environment",
112668
- "Other"
112669
- ],
112670
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
112671
- "type": "string"
112672
- }
112499
+ "description": "Category id or canonical category name.",
112500
+ "examples": [
112501
+ "Sports",
112502
+ "3"
112673
112503
  ],
112674
- "description": "Category id or canonical category name."
112504
+ "type": "string",
112505
+ "xPandora": {
112506
+ "acceptsIntegerStrings": true,
112507
+ "allowedCategoryNames": [
112508
+ "Politics",
112509
+ "Sports",
112510
+ "Finance",
112511
+ "Crypto",
112512
+ "Culture",
112513
+ "Technology",
112514
+ "Science",
112515
+ "Entertainment",
112516
+ "Health",
112517
+ "Environment",
112518
+ "Other"
112519
+ ],
112520
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
112521
+ }
112675
112522
  },
112676
112523
  "chain-id": {
112677
112524
  "description": "Chain id.",
@@ -112935,18 +112782,14 @@
112935
112782
  "type": "string"
112936
112783
  },
112937
112784
  "skip-gate": {
112938
- "anyOf": [
112939
- {
112940
- "description": "Skip all mirror sync gates.",
112941
- "type": "boolean"
112942
- },
112943
- {
112944
- "description": "Comma-delimited gate skip list.",
112945
- "type": "string"
112946
- }
112785
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
112786
+ "examples": [
112787
+ "true",
112788
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
112947
112789
  ],
112948
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
112790
+ "type": "string",
112949
112791
  "xPandora": {
112792
+ "acceptsBooleanString": true,
112950
112793
  "allowedGateCodes": [
112951
112794
  "MATCH_AND_RULES",
112952
112795
  "POLYMARKET_SOURCE_FRESH",
@@ -112979,18 +112822,16 @@
112979
112822
  "type": "boolean"
112980
112823
  },
112981
112824
  "target-timestamp": {
112982
- "anyOf": [
112983
- {
112984
- "description": "Explicit target timestamp in unix seconds.",
112985
- "minimum": 1,
112986
- "type": "integer"
112987
- },
112988
- {
112989
- "description": "Explicit ISO date/time override for target timestamp.",
112990
- "type": "string"
112991
- }
112825
+ "description": "Explicit target timestamp override.",
112826
+ "examples": [
112827
+ "1777777777",
112828
+ "2026-12-31T00:00:00Z"
112992
112829
  ],
112993
- "description": "Explicit target timestamp override."
112830
+ "type": "string",
112831
+ "xPandora": {
112832
+ "acceptsIsoDatetime": true,
112833
+ "acceptsUnixSeconds": true
112834
+ }
112994
112835
  },
112995
112836
  "trust-deploy": {
112996
112837
  "description": "Trust manifest deploy pair.",
@@ -113629,62 +113470,29 @@
113629
113470
  "type": "boolean"
113630
113471
  },
113631
113472
  "category": {
113632
- "anyOf": [
113633
- {
113634
- "description": "Category id.",
113635
- "minimum": 0,
113636
- "type": "integer"
113637
- },
113638
- {
113639
- "description": "Canonical category name.",
113640
- "enum": [
113641
- "Politics",
113642
- "Sports",
113643
- "Finance",
113644
- "Crypto",
113645
- "Culture",
113646
- "Technology",
113647
- "Science",
113648
- "Entertainment",
113649
- "Health",
113650
- "Environment",
113651
- "Other"
113652
- ],
113653
- "examples": [
113654
- "Politics",
113655
- "Sports",
113656
- "Finance",
113657
- "Crypto",
113658
- "Culture",
113659
- "Technology",
113660
- "Science",
113661
- "Entertainment",
113662
- "Health",
113663
- "Environment",
113664
- "Other"
113665
- ],
113666
- "type": "string"
113667
- },
113668
- {
113669
- "description": "Case-insensitive category name accepted by the CLI.",
113670
- "examples": [
113671
- "Politics",
113672
- "Sports",
113673
- "Finance",
113674
- "Crypto",
113675
- "Culture",
113676
- "Technology",
113677
- "Science",
113678
- "Entertainment",
113679
- "Health",
113680
- "Environment",
113681
- "Other"
113682
- ],
113683
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
113684
- "type": "string"
113685
- }
113473
+ "description": "Category id or canonical category name.",
113474
+ "examples": [
113475
+ "Sports",
113476
+ "3"
113686
113477
  ],
113687
- "description": "Category id or canonical category name."
113478
+ "type": "string",
113479
+ "xPandora": {
113480
+ "acceptsIntegerStrings": true,
113481
+ "allowedCategoryNames": [
113482
+ "Politics",
113483
+ "Sports",
113484
+ "Finance",
113485
+ "Crypto",
113486
+ "Culture",
113487
+ "Technology",
113488
+ "Science",
113489
+ "Entertainment",
113490
+ "Health",
113491
+ "Environment",
113492
+ "Other"
113493
+ ],
113494
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
113495
+ }
113688
113496
  },
113689
113497
  "chain-id": {
113690
113498
  "description": "Chain id.",
@@ -113948,18 +113756,14 @@
113948
113756
  "type": "string"
113949
113757
  },
113950
113758
  "skip-gate": {
113951
- "anyOf": [
113952
- {
113953
- "description": "Skip all mirror sync gates.",
113954
- "type": "boolean"
113955
- },
113956
- {
113957
- "description": "Comma-delimited gate skip list.",
113958
- "type": "string"
113959
- }
113759
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
113760
+ "examples": [
113761
+ "true",
113762
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
113960
113763
  ],
113961
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
113764
+ "type": "string",
113962
113765
  "xPandora": {
113766
+ "acceptsBooleanString": true,
113963
113767
  "allowedGateCodes": [
113964
113768
  "MATCH_AND_RULES",
113965
113769
  "POLYMARKET_SOURCE_FRESH",
@@ -113992,18 +113796,16 @@
113992
113796
  "type": "boolean"
113993
113797
  },
113994
113798
  "target-timestamp": {
113995
- "anyOf": [
113996
- {
113997
- "description": "Explicit target timestamp in unix seconds.",
113998
- "minimum": 1,
113999
- "type": "integer"
114000
- },
114001
- {
114002
- "description": "Explicit ISO date/time override for target timestamp.",
114003
- "type": "string"
114004
- }
113799
+ "description": "Explicit target timestamp override.",
113800
+ "examples": [
113801
+ "1777777777",
113802
+ "2026-12-31T00:00:00Z"
114005
113803
  ],
114006
- "description": "Explicit target timestamp override."
113804
+ "type": "string",
113805
+ "xPandora": {
113806
+ "acceptsIsoDatetime": true,
113807
+ "acceptsUnixSeconds": true
113808
+ }
114007
113809
  },
114008
113810
  "trust-deploy": {
114009
113811
  "description": "Trust manifest deploy pair.",
@@ -126905,18 +126707,14 @@
126905
126707
  "type": "string"
126906
126708
  },
126907
126709
  "skip-gate": {
126908
- "anyOf": [
126909
- {
126910
- "description": "Skip all mirror sync gates.",
126911
- "type": "boolean"
126912
- },
126913
- {
126914
- "description": "Comma-delimited gate skip list.",
126915
- "type": "string"
126916
- }
126710
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
126711
+ "examples": [
126712
+ "true",
126713
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
126917
126714
  ],
126918
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
126715
+ "type": "string",
126919
126716
  "xPandora": {
126717
+ "acceptsBooleanString": true,
126920
126718
  "allowedGateCodes": [
126921
126719
  "MATCH_AND_RULES",
126922
126720
  "POLYMARKET_SOURCE_FRESH",
@@ -128489,18 +128287,14 @@
128489
128287
  "type": "string"
128490
128288
  },
128491
128289
  "skip-gate": {
128492
- "anyOf": [
128493
- {
128494
- "description": "Skip all mirror sync gates.",
128495
- "type": "boolean"
128496
- },
128497
- {
128498
- "description": "Comma-delimited gate skip list.",
128499
- "type": "string"
128500
- }
128290
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
128291
+ "examples": [
128292
+ "true",
128293
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
128501
128294
  ],
128502
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
128295
+ "type": "string",
128503
128296
  "xPandora": {
128297
+ "acceptsBooleanString": true,
128504
128298
  "allowedGateCodes": [
128505
128299
  "MATCH_AND_RULES",
128506
128300
  "POLYMARKET_SOURCE_FRESH",
@@ -131619,18 +131413,14 @@
131619
131413
  "type": "string"
131620
131414
  },
131621
131415
  "skip-gate": {
131622
- "anyOf": [
131623
- {
131624
- "description": "Skip all mirror sync gates.",
131625
- "type": "boolean"
131626
- },
131627
- {
131628
- "description": "Comma-delimited gate skip list.",
131629
- "type": "string"
131630
- }
131416
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
131417
+ "examples": [
131418
+ "true",
131419
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
131631
131420
  ],
131632
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
131421
+ "type": "string",
131633
131422
  "xPandora": {
131423
+ "acceptsBooleanString": true,
131634
131424
  "allowedGateCodes": [
131635
131425
  "MATCH_AND_RULES",
131636
131426
  "POLYMARKET_SOURCE_FRESH",
@@ -133216,18 +133006,14 @@
133216
133006
  "type": "string"
133217
133007
  },
133218
133008
  "skip-gate": {
133219
- "anyOf": [
133220
- {
133221
- "description": "Skip all mirror sync gates.",
133222
- "type": "boolean"
133223
- },
133224
- {
133225
- "description": "Comma-delimited gate skip list.",
133226
- "type": "string"
133227
- }
133009
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
133010
+ "examples": [
133011
+ "true",
133012
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
133228
133013
  ],
133229
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
133014
+ "type": "string",
133230
133015
  "xPandora": {
133016
+ "acceptsBooleanString": true,
133231
133017
  "allowedGateCodes": [
133232
133018
  "MATCH_AND_RULES",
133233
133019
  "POLYMARKET_SOURCE_FRESH",
@@ -136344,18 +136130,14 @@
136344
136130
  "type": "string"
136345
136131
  },
136346
136132
  "skip-gate": {
136347
- "anyOf": [
136348
- {
136349
- "description": "Skip all mirror sync gates.",
136350
- "type": "boolean"
136351
- },
136352
- {
136353
- "description": "Comma-delimited gate skip list.",
136354
- "type": "string"
136355
- }
136133
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
136134
+ "examples": [
136135
+ "true",
136136
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
136356
136137
  ],
136357
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
136138
+ "type": "string",
136358
136139
  "xPandora": {
136140
+ "acceptsBooleanString": true,
136359
136141
  "allowedGateCodes": [
136360
136142
  "MATCH_AND_RULES",
136361
136143
  "POLYMARKET_SOURCE_FRESH",
@@ -137929,18 +137711,14 @@
137929
137711
  "type": "string"
137930
137712
  },
137931
137713
  "skip-gate": {
137932
- "anyOf": [
137933
- {
137934
- "description": "Skip all mirror sync gates.",
137935
- "type": "boolean"
137936
- },
137937
- {
137938
- "description": "Comma-delimited gate skip list.",
137939
- "type": "string"
137940
- }
137714
+ "description": "Set to \"true\" to skip all mirror sync gates, or provide a comma-delimited named skip list.",
137715
+ "examples": [
137716
+ "true",
137717
+ "MATCH_AND_RULES,POLYMARKET_SOURCE_FRESH"
137941
137718
  ],
137942
- "description": "Skip all mirror sync gates (boolean) or provide a comma-delimited named skip list.",
137719
+ "type": "string",
137943
137720
  "xPandora": {
137721
+ "acceptsBooleanString": true,
137944
137722
  "allowedGateCodes": [
137945
137723
  "MATCH_AND_RULES",
137946
137724
  "POLYMARKET_SOURCE_FRESH",
@@ -144222,19 +144000,12 @@
144222
144000
  "type": "string"
144223
144001
  },
144224
144002
  "series": {
144225
- "oneOf": [
144226
- {
144227
- "description": "Series specification id:v1,v2,...",
144228
- "type": "string"
144229
- },
144230
- {
144231
- "description": "Series specifications.",
144232
- "items": {
144233
- "type": "string"
144234
- },
144235
- "type": "array"
144236
- }
144237
- ]
144003
+ "description": "Series specification id:v1,v2,..., or a semicolon-delimited list of series specifications.",
144004
+ "minLength": 1,
144005
+ "type": "string",
144006
+ "xPandora": {
144007
+ "acceptsSemicolonSeparatedList": true
144008
+ }
144238
144009
  },
144239
144010
  "tail-alpha": {
144240
144011
  "description": "Tail alpha level.",
@@ -144312,19 +144083,12 @@
144312
144083
  "type": "string"
144313
144084
  },
144314
144085
  "series": {
144315
- "oneOf": [
144316
- {
144317
- "description": "Series specification id:v1,v2,...",
144318
- "type": "string"
144319
- },
144320
- {
144321
- "description": "Series specifications.",
144322
- "items": {
144323
- "type": "string"
144324
- },
144325
- "type": "array"
144326
- }
144327
- ]
144086
+ "description": "Series specification id:v1,v2,..., or a semicolon-delimited list of series specifications.",
144087
+ "minLength": 1,
144088
+ "type": "string",
144089
+ "xPandora": {
144090
+ "acceptsSemicolonSeparatedList": true
144091
+ }
144328
144092
  },
144329
144093
  "tail-alpha": {
144330
144094
  "description": "Tail alpha level.",
@@ -162403,62 +162167,29 @@
162403
162167
  "type": "string"
162404
162168
  },
162405
162169
  "category": {
162406
- "anyOf": [
162407
- {
162408
- "description": "Category id.",
162409
- "minimum": 0,
162410
- "type": "integer"
162411
- },
162412
- {
162413
- "description": "Canonical category name.",
162414
- "enum": [
162415
- "Politics",
162416
- "Sports",
162417
- "Finance",
162418
- "Crypto",
162419
- "Culture",
162420
- "Technology",
162421
- "Science",
162422
- "Entertainment",
162423
- "Health",
162424
- "Environment",
162425
- "Other"
162426
- ],
162427
- "examples": [
162428
- "Politics",
162429
- "Sports",
162430
- "Finance",
162431
- "Crypto",
162432
- "Culture",
162433
- "Technology",
162434
- "Science",
162435
- "Entertainment",
162436
- "Health",
162437
- "Environment",
162438
- "Other"
162439
- ],
162440
- "type": "string"
162441
- },
162442
- {
162443
- "description": "Case-insensitive category name accepted by the CLI.",
162444
- "examples": [
162445
- "Politics",
162446
- "Sports",
162447
- "Finance",
162448
- "Crypto",
162449
- "Culture",
162450
- "Technology",
162451
- "Science",
162452
- "Entertainment",
162453
- "Health",
162454
- "Environment",
162455
- "Other"
162456
- ],
162457
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
162458
- "type": "string"
162459
- }
162170
+ "description": "Category id or canonical category name.",
162171
+ "examples": [
162172
+ "Sports",
162173
+ "3"
162460
162174
  ],
162461
- "description": "Category id or canonical category name."
162175
+ "type": "string",
162176
+ "xPandora": {
162177
+ "acceptsIntegerStrings": true,
162178
+ "allowedCategoryNames": [
162179
+ "Politics",
162180
+ "Sports",
162181
+ "Finance",
162182
+ "Crypto",
162183
+ "Culture",
162184
+ "Technology",
162185
+ "Science",
162186
+ "Entertainment",
162187
+ "Health",
162188
+ "Environment",
162189
+ "Other"
162190
+ ],
162191
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
162192
+ }
162462
162193
  },
162463
162194
  "creation-window-close-min": {
162464
162195
  "description": "Creation window close minutes before kickoff.",
@@ -162538,62 +162269,29 @@
162538
162269
  "type": "string"
162539
162270
  },
162540
162271
  "category": {
162541
- "anyOf": [
162542
- {
162543
- "description": "Category id.",
162544
- "minimum": 0,
162545
- "type": "integer"
162546
- },
162547
- {
162548
- "description": "Canonical category name.",
162549
- "enum": [
162550
- "Politics",
162551
- "Sports",
162552
- "Finance",
162553
- "Crypto",
162554
- "Culture",
162555
- "Technology",
162556
- "Science",
162557
- "Entertainment",
162558
- "Health",
162559
- "Environment",
162560
- "Other"
162561
- ],
162562
- "examples": [
162563
- "Politics",
162564
- "Sports",
162565
- "Finance",
162566
- "Crypto",
162567
- "Culture",
162568
- "Technology",
162569
- "Science",
162570
- "Entertainment",
162571
- "Health",
162572
- "Environment",
162573
- "Other"
162574
- ],
162575
- "type": "string"
162576
- },
162577
- {
162578
- "description": "Case-insensitive category name accepted by the CLI.",
162579
- "examples": [
162580
- "Politics",
162581
- "Sports",
162582
- "Finance",
162583
- "Crypto",
162584
- "Culture",
162585
- "Technology",
162586
- "Science",
162587
- "Entertainment",
162588
- "Health",
162589
- "Environment",
162590
- "Other"
162591
- ],
162592
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
162593
- "type": "string"
162594
- }
162272
+ "description": "Category id or canonical category name.",
162273
+ "examples": [
162274
+ "Sports",
162275
+ "3"
162595
162276
  ],
162596
- "description": "Category id or canonical category name."
162277
+ "type": "string",
162278
+ "xPandora": {
162279
+ "acceptsIntegerStrings": true,
162280
+ "allowedCategoryNames": [
162281
+ "Politics",
162282
+ "Sports",
162283
+ "Finance",
162284
+ "Crypto",
162285
+ "Culture",
162286
+ "Technology",
162287
+ "Science",
162288
+ "Entertainment",
162289
+ "Health",
162290
+ "Environment",
162291
+ "Other"
162292
+ ],
162293
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
162294
+ }
162597
162295
  },
162598
162296
  "creation-window-close-min": {
162599
162297
  "description": "Creation window close minutes before kickoff.",
@@ -162940,62 +162638,29 @@
162940
162638
  "type": "object"
162941
162639
  },
162942
162640
  "category": {
162943
- "anyOf": [
162944
- {
162945
- "description": "Category id.",
162946
- "minimum": 0,
162947
- "type": "integer"
162948
- },
162949
- {
162950
- "description": "Canonical category name.",
162951
- "enum": [
162952
- "Politics",
162953
- "Sports",
162954
- "Finance",
162955
- "Crypto",
162956
- "Culture",
162957
- "Technology",
162958
- "Science",
162959
- "Entertainment",
162960
- "Health",
162961
- "Environment",
162962
- "Other"
162963
- ],
162964
- "examples": [
162965
- "Politics",
162966
- "Sports",
162967
- "Finance",
162968
- "Crypto",
162969
- "Culture",
162970
- "Technology",
162971
- "Science",
162972
- "Entertainment",
162973
- "Health",
162974
- "Environment",
162975
- "Other"
162976
- ],
162977
- "type": "string"
162978
- },
162979
- {
162980
- "description": "Case-insensitive category name accepted by the CLI.",
162981
- "examples": [
162982
- "Politics",
162983
- "Sports",
162984
- "Finance",
162985
- "Crypto",
162986
- "Culture",
162987
- "Technology",
162988
- "Science",
162989
- "Entertainment",
162990
- "Health",
162991
- "Environment",
162992
- "Other"
162993
- ],
162994
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
162995
- "type": "string"
162996
- }
162641
+ "description": "Category id or canonical category name.",
162642
+ "examples": [
162643
+ "Sports",
162644
+ "3"
162997
162645
  ],
162998
- "description": "Category id or canonical category name."
162646
+ "type": "string",
162647
+ "xPandora": {
162648
+ "acceptsIntegerStrings": true,
162649
+ "allowedCategoryNames": [
162650
+ "Politics",
162651
+ "Sports",
162652
+ "Finance",
162653
+ "Crypto",
162654
+ "Culture",
162655
+ "Technology",
162656
+ "Science",
162657
+ "Entertainment",
162658
+ "Health",
162659
+ "Environment",
162660
+ "Other"
162661
+ ],
162662
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
162663
+ }
162999
162664
  },
163000
162665
  "chain-id": {
163001
162666
  "description": "Chain id.",
@@ -163130,62 +162795,29 @@
163130
162795
  "type": "object"
163131
162796
  },
163132
162797
  "category": {
163133
- "anyOf": [
163134
- {
163135
- "description": "Category id.",
163136
- "minimum": 0,
163137
- "type": "integer"
163138
- },
163139
- {
163140
- "description": "Canonical category name.",
163141
- "enum": [
163142
- "Politics",
163143
- "Sports",
163144
- "Finance",
163145
- "Crypto",
163146
- "Culture",
163147
- "Technology",
163148
- "Science",
163149
- "Entertainment",
163150
- "Health",
163151
- "Environment",
163152
- "Other"
163153
- ],
163154
- "examples": [
163155
- "Politics",
163156
- "Sports",
163157
- "Finance",
163158
- "Crypto",
163159
- "Culture",
163160
- "Technology",
163161
- "Science",
163162
- "Entertainment",
163163
- "Health",
163164
- "Environment",
163165
- "Other"
163166
- ],
163167
- "type": "string"
163168
- },
163169
- {
163170
- "description": "Case-insensitive category name accepted by the CLI.",
163171
- "examples": [
163172
- "Politics",
163173
- "Sports",
163174
- "Finance",
163175
- "Crypto",
163176
- "Culture",
163177
- "Technology",
163178
- "Science",
163179
- "Entertainment",
163180
- "Health",
163181
- "Environment",
163182
- "Other"
163183
- ],
163184
- "pattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$",
163185
- "type": "string"
163186
- }
162798
+ "description": "Category id or canonical category name.",
162799
+ "examples": [
162800
+ "Sports",
162801
+ "3"
163187
162802
  ],
163188
- "description": "Category id or canonical category name."
162803
+ "type": "string",
162804
+ "xPandora": {
162805
+ "acceptsIntegerStrings": true,
162806
+ "allowedCategoryNames": [
162807
+ "Politics",
162808
+ "Sports",
162809
+ "Finance",
162810
+ "Crypto",
162811
+ "Culture",
162812
+ "Technology",
162813
+ "Science",
162814
+ "Entertainment",
162815
+ "Health",
162816
+ "Environment",
162817
+ "Other"
162818
+ ],
162819
+ "caseInsensitivePattern": "^(?:[pP][oO][lL][iI][tT][iI][cC][sS]|[sS][pP][oO][rR][tT][sS]|[fF][iI][nN][aA][nN][cC][eE]|[cC][rR][yY][pP][tT][oO]|[cC][uU][lL][tT][uU][rR][eE]|[tT][eE][cC][hH][nN][oO][lL][oO][gG][yY]|[sS][cC][iI][eE][nN][cC][eE]|[eE][nN][tT][eE][rR][tT][aA][iI][nN][mM][eE][nN][tT]|[hH][eE][aA][lL][tT][hH]|[eE][nN][vV][iI][rR][oO][nN][mM][eE][nN][tT]|[oO][tT][hH][eE][rR])$"
162820
+ }
163189
162821
  },
163190
162822
  "chain-id": {
163191
162823
  "description": "Chain id.",