patchr 0.1.0__py3-none-any.whl
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.
- apps/__init__.py +2 -0
- apps/api/__init__.py +2 -0
- apps/api/main.py +652 -0
- apps/benchmarks/__init__.py +1 -0
- apps/benchmarks/main.py +20 -0
- apps/sandbox/__init__.py +1 -0
- apps/sandbox/main.py +20 -0
- apps/worker/__init__.py +2 -0
- apps/worker/main.py +15 -0
- apps/worker/verify.py +14 -0
- patchr/__init__.py +12 -0
- patchr/sdk/__init__.py +20 -0
- patchr/sdk/client.py +12 -0
- patchr-0.1.0.dist-info/METADATA +137 -0
- patchr-0.1.0.dist-info/RECORD +116 -0
- patchr-0.1.0.dist-info/WHEEL +5 -0
- patchr-0.1.0.dist-info/entry_points.txt +5 -0
- patchr-0.1.0.dist-info/licenses/LICENSE +17 -0
- patchr-0.1.0.dist-info/top_level.txt +3 -0
- picux/__init__.py +6 -0
- picux/agents/__init__.py +5 -0
- picux/agents/registry.py +204 -0
- picux/api/__init__.py +5 -0
- picux/api/service.py +5075 -0
- picux/audit/__init__.py +31 -0
- picux/audit/activity.py +97 -0
- picux/audit/observability.py +55 -0
- picux/audit/verification/__init__.py +21 -0
- picux/audit/verification/ledger.py +633 -0
- picux/benchmarks/__init__.py +5 -0
- picux/benchmarks/local.py +286 -0
- picux/config.py +140 -0
- picux/contracts/__init__.py +22 -0
- picux/contracts/handshake.py +122 -0
- picux/contracts/integration.py +385 -0
- picux/contracts/openapi.py +187 -0
- picux/contracts/protocol_map.py +152 -0
- picux/contracts/routes.py +980 -0
- picux/contracts/schema_catalog.py +125 -0
- picux/core/__init__.py +17 -0
- picux/core/models.py +148 -0
- picux/core/router.py +131 -0
- picux/core/runtime.py +42 -0
- picux/core/state_machine.py +38 -0
- picux/domains/__init__.py +2 -0
- picux/domains/bridge/HostRun.py +1104 -0
- picux/domains/bridge/__init__.py +6 -0
- picux/domains/bridge/engine.py +345 -0
- picux/domains/hunt/__init__.py +6 -0
- picux/domains/hunt/engine.py +307 -0
- picux/domains/hunt/models.py +88 -0
- picux/domains/pay/__init__.py +16 -0
- picux/domains/pay/adapters.py +607 -0
- picux/domains/pay/engine.py +950 -0
- picux/domains/pay/models.py +95 -0
- picux/domains/proxy/__init__.py +5 -0
- picux/domains/proxy/engine.py +466 -0
- picux/domains/resolve/__init__.py +5 -0
- picux/domains/resolve/engine.py +546 -0
- picux/orchestrator/__init__.py +3 -0
- picux/orchestrator/engine.py +2840 -0
- picux/portals/__init__.py +17 -0
- picux/portals/templates.py +272 -0
- picux/protocols/__init__.py +1 -0
- picux/protocols/a2a/__init__.py +6 -0
- picux/protocols/a2a/client.py +51 -0
- picux/protocols/a2a/envelope.py +132 -0
- picux/protocols/mcp/__init__.py +7 -0
- picux/protocols/mcp/client.py +69 -0
- picux/protocols/mcp/contract.py +67 -0
- picux/protocols/mcp/server.py +76 -0
- picux/sandbox/__init__.py +6 -0
- picux/sandbox/midnight_arbitrage.py +215 -0
- picux/sandbox/models.py +90 -0
- picux/sdk/__init__.py +13 -0
- picux/sdk/client.py +768 -0
- picux/sdk/external.py +245 -0
- picux/security/__init__.py +18 -0
- picux/security/auth.py +86 -0
- picux/security/config_validator.py +58 -0
- picux/security/policy.py +158 -0
- picux/security/secrets.py +144 -0
- picux/signals/__init__.py +1 -0
- picux/signals/community/__init__.py +24 -0
- picux/signals/community/adapters/__init__.py +7 -0
- picux/signals/community/adapters/reddit.py +37 -0
- picux/signals/community/adapters/shopify.py +23 -0
- picux/signals/community/adapters/web.py +23 -0
- picux/signals/community/disambiguation.py +51 -0
- picux/signals/community/intake.py +227 -0
- picux/signals/community/models.py +102 -0
- picux/signals/community/rules.py +91 -0
- picux/signals/community/scoring.py +64 -0
- picux/storage/__init__.py +41 -0
- picux/storage/agents.py +50 -0
- picux/storage/cases.py +440 -0
- picux/storage/channels.py +476 -0
- picux/storage/connectors.py +411 -0
- picux/storage/envelopes.py +137 -0
- picux/storage/escrows.py +168 -0
- picux/storage/events.py +989 -0
- picux/storage/keyspace.py +60 -0
- picux/storage/mandates.py +107 -0
- picux/storage/portals.py +222 -0
- picux/storage/postgres.py +2049 -0
- picux/storage/providers.py +148 -0
- picux/storage/proxy.py +231 -0
- picux/storage/receipts.py +131 -0
- picux/storage/signals.py +147 -0
- picux/storage/tasks.py +179 -0
- picux/tools/__init__.py +11 -0
- picux/tools/shared.py +2048 -0
- picux/verification/__init__.py +5 -0
- picux/verification/rollout.py +183 -0
- picux/workflows/__init__.py +5 -0
- picux/workflows/templates.py +74 -0
|
@@ -0,0 +1,980 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
from typing import Any
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@dataclass(frozen=True)
|
|
8
|
+
class ContractEndpoint:
|
|
9
|
+
method: str
|
|
10
|
+
path: str
|
|
11
|
+
opId: str
|
|
12
|
+
tag: str
|
|
13
|
+
desc: str
|
|
14
|
+
mcpTool: str = ""
|
|
15
|
+
|
|
16
|
+
def toMap(self) -> dict[str, Any]:
|
|
17
|
+
return {
|
|
18
|
+
"method": self.method,
|
|
19
|
+
"path": self.path,
|
|
20
|
+
"opId": self.opId,
|
|
21
|
+
"tag": self.tag,
|
|
22
|
+
"desc": self.desc,
|
|
23
|
+
"mcpTool": self.mcpTool,
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
CONTRACT_ENDPOINTS: tuple[ContractEndpoint, ...] = (
|
|
28
|
+
ContractEndpoint("GET", "/healthz", "healthz", "runtime", "Return Picux runtime health."),
|
|
29
|
+
ContractEndpoint("GET", "/runtime", "runtimeSummary", "runtime", "Return runtime configuration summary."),
|
|
30
|
+
ContractEndpoint("GET", "/v1/status", "apiStatus", "runtime", "Return public Picux API status.", "picux.apiStatus"),
|
|
31
|
+
ContractEndpoint("GET", "/openapi.json", "openapiSpec", "contract", "Return the OpenAPI contract."),
|
|
32
|
+
ContractEndpoint("GET", "/v1/contract", "contractSummary", "contract", "Return a compact Picux contract summary."),
|
|
33
|
+
ContractEndpoint("GET", "/v1/manifest", "integrationManifest", "contract", "Return the Picux integration manifest.", "picux.manifest"),
|
|
34
|
+
ContractEndpoint("GET", "/v1/protocol-map", "protocolMap", "contract", "Return the agent-readable Picux protocol map.", "picux.protocolMap"),
|
|
35
|
+
ContractEndpoint("POST", "/v1/handshake", "integrationHandshake", "contract", "Validate an external Picux integration handshake.", "picux.handshake"),
|
|
36
|
+
ContractEndpoint("GET", "/v1/schemas", "schemaCatalog", "contract", "List Picux JSON Schema contracts.", "picux.listSchemas"),
|
|
37
|
+
ContractEndpoint(
|
|
38
|
+
"GET",
|
|
39
|
+
"/v1/schemas/{schemaId}",
|
|
40
|
+
"getSchema",
|
|
41
|
+
"contract",
|
|
42
|
+
"Fetch a Picux JSON Schema contract.",
|
|
43
|
+
"picux.getSchema",
|
|
44
|
+
),
|
|
45
|
+
ContractEndpoint("POST", "/mcp", "mcpRpc", "mcp", "Handle MCP JSON-RPC tool calls."),
|
|
46
|
+
ContractEndpoint("GET", "/v1/a2a/contract", "a2aContract", "a2a", "Return the A2A envelope contract.", "picux.a2aContract"),
|
|
47
|
+
ContractEndpoint(
|
|
48
|
+
"POST",
|
|
49
|
+
"/v1/security/policy/evaluate",
|
|
50
|
+
"evaluatePolicy",
|
|
51
|
+
"security",
|
|
52
|
+
"Evaluate mandate-session and capability-grant policy.",
|
|
53
|
+
"picux.evaluatePolicy",
|
|
54
|
+
),
|
|
55
|
+
ContractEndpoint(
|
|
56
|
+
"POST",
|
|
57
|
+
"/v1/security/secrets/check",
|
|
58
|
+
"checkSecrets",
|
|
59
|
+
"security",
|
|
60
|
+
"Validate scoped secret references without exposing secret values.",
|
|
61
|
+
"picux.checkSecrets",
|
|
62
|
+
),
|
|
63
|
+
ContractEndpoint(
|
|
64
|
+
"POST",
|
|
65
|
+
"/v1/tools/nlp",
|
|
66
|
+
"nlpTool",
|
|
67
|
+
"tools",
|
|
68
|
+
"Classify a raw user query, detect follow-up context, and select Picux domain routing.",
|
|
69
|
+
"picux.nlpTool",
|
|
70
|
+
),
|
|
71
|
+
ContractEndpoint(
|
|
72
|
+
"POST",
|
|
73
|
+
"/v1/tools/imageReader",
|
|
74
|
+
"imageReader",
|
|
75
|
+
"tools",
|
|
76
|
+
"Read image attachments and return query-relevant evidence signals.",
|
|
77
|
+
"picux.imageReader",
|
|
78
|
+
),
|
|
79
|
+
ContractEndpoint(
|
|
80
|
+
"POST",
|
|
81
|
+
"/v1/tools/browserReader",
|
|
82
|
+
"browserReader",
|
|
83
|
+
"tools",
|
|
84
|
+
"Prepare or execute headless browser source reads for HUNT and RESOLVE.",
|
|
85
|
+
"picux.browserReader",
|
|
86
|
+
),
|
|
87
|
+
ContractEndpoint(
|
|
88
|
+
"POST",
|
|
89
|
+
"/v1/tools/map",
|
|
90
|
+
"mapTool",
|
|
91
|
+
"tools",
|
|
92
|
+
"Search source-bound local places for HUNT and RESOLVE using Google Places/Maps or an adapter-neutral fallback.",
|
|
93
|
+
"picux.mapTool",
|
|
94
|
+
),
|
|
95
|
+
ContractEndpoint(
|
|
96
|
+
"POST",
|
|
97
|
+
"/v1/tools/portalBrowser",
|
|
98
|
+
"portalBrowser",
|
|
99
|
+
"tools",
|
|
100
|
+
"Run a fail-closed authenticated portal action and return proof-ready artifacts.",
|
|
101
|
+
"picux.portalBrowser",
|
|
102
|
+
),
|
|
103
|
+
ContractEndpoint(
|
|
104
|
+
"POST",
|
|
105
|
+
"/v1/sandbox/midnight-arbitrage",
|
|
106
|
+
"runSandbox",
|
|
107
|
+
"sandbox",
|
|
108
|
+
"Run the deterministic Midnight Arbitrage sandbox.",
|
|
109
|
+
"picux.runSandbox",
|
|
110
|
+
),
|
|
111
|
+
ContractEndpoint(
|
|
112
|
+
"POST",
|
|
113
|
+
"/v1/orchestrator/run",
|
|
114
|
+
"runOrchestrator",
|
|
115
|
+
"orchestrator",
|
|
116
|
+
"Run Picux orchestration across HUNT, RESOLVE, BRIDGE, PROXY, and PAY from a user request.",
|
|
117
|
+
"picux.runOrchestrator",
|
|
118
|
+
),
|
|
119
|
+
ContractEndpoint(
|
|
120
|
+
"POST",
|
|
121
|
+
"/v1/benchmarks/local",
|
|
122
|
+
"runBenchmark",
|
|
123
|
+
"benchmarks",
|
|
124
|
+
"Run local protocol benchmark evidence.",
|
|
125
|
+
"picux.runBenchmark",
|
|
126
|
+
),
|
|
127
|
+
ContractEndpoint("POST", "/v1/a2a/envelopes", "createA2AEnvelope", "a2a", "Create an A2A delegation envelope.", "picux.createA2AEnvelope"),
|
|
128
|
+
ContractEndpoint("GET", "/v1/a2a/envelopes", "listA2AEnvelopes", "a2a", "List durable A2A envelopes.", "picux.listA2AEnvelopes"),
|
|
129
|
+
ContractEndpoint(
|
|
130
|
+
"GET",
|
|
131
|
+
"/v1/a2a/envelopes/{msgId}",
|
|
132
|
+
"getA2AEnvelope",
|
|
133
|
+
"a2a",
|
|
134
|
+
"Fetch a durable A2A envelope.",
|
|
135
|
+
"picux.getA2AEnvelope",
|
|
136
|
+
),
|
|
137
|
+
ContractEndpoint(
|
|
138
|
+
"POST",
|
|
139
|
+
"/v1/a2a/envelopes/{msgId}/update",
|
|
140
|
+
"updateA2AEnvelope",
|
|
141
|
+
"a2a",
|
|
142
|
+
"Update durable A2A envelope delivery status.",
|
|
143
|
+
"picux.updateA2AEnvelope",
|
|
144
|
+
),
|
|
145
|
+
ContractEndpoint("POST", "/v1/events", "recordEvent", "events", "Record an integration event.", "picux.recordEvent"),
|
|
146
|
+
ContractEndpoint("GET", "/v1/events", "listEvents", "events", "List integration event outbox records.", "picux.listEvents"),
|
|
147
|
+
ContractEndpoint("GET", "/v1/events/{eventId}", "getEvent", "events", "Fetch an integration event.", "picux.getEvent"),
|
|
148
|
+
ContractEndpoint("POST", "/v1/events/{eventId}/ack", "ackEvent", "events", "Acknowledge an integration event.", "picux.ackEvent"),
|
|
149
|
+
ContractEndpoint(
|
|
150
|
+
"POST",
|
|
151
|
+
"/v1/event-subscriptions",
|
|
152
|
+
"createEventSubscription",
|
|
153
|
+
"events",
|
|
154
|
+
"Register an external event subscription.",
|
|
155
|
+
"picux.createEventSubscription",
|
|
156
|
+
),
|
|
157
|
+
ContractEndpoint(
|
|
158
|
+
"GET",
|
|
159
|
+
"/v1/event-subscriptions",
|
|
160
|
+
"listEventSubscriptions",
|
|
161
|
+
"events",
|
|
162
|
+
"List external event subscriptions.",
|
|
163
|
+
"picux.listEventSubscriptions",
|
|
164
|
+
),
|
|
165
|
+
ContractEndpoint(
|
|
166
|
+
"GET",
|
|
167
|
+
"/v1/event-subscriptions/{subId}",
|
|
168
|
+
"getEventSubscription",
|
|
169
|
+
"events",
|
|
170
|
+
"Fetch an external event subscription.",
|
|
171
|
+
"picux.getEventSubscription",
|
|
172
|
+
),
|
|
173
|
+
ContractEndpoint(
|
|
174
|
+
"POST",
|
|
175
|
+
"/v1/event-subscriptions/{subId}/update",
|
|
176
|
+
"updateEventSubscription",
|
|
177
|
+
"events",
|
|
178
|
+
"Update an external event subscription.",
|
|
179
|
+
"picux.updateEventSubscription",
|
|
180
|
+
),
|
|
181
|
+
ContractEndpoint(
|
|
182
|
+
"POST",
|
|
183
|
+
"/v1/event-deliveries",
|
|
184
|
+
"createEventDelivery",
|
|
185
|
+
"events",
|
|
186
|
+
"Create an external event delivery attempt.",
|
|
187
|
+
"picux.createEventDelivery",
|
|
188
|
+
),
|
|
189
|
+
ContractEndpoint(
|
|
190
|
+
"GET",
|
|
191
|
+
"/v1/event-deliveries",
|
|
192
|
+
"listEventDeliveries",
|
|
193
|
+
"events",
|
|
194
|
+
"List external event delivery attempts.",
|
|
195
|
+
"picux.listEventDeliveries",
|
|
196
|
+
),
|
|
197
|
+
ContractEndpoint(
|
|
198
|
+
"GET",
|
|
199
|
+
"/v1/event-deliveries/stats",
|
|
200
|
+
"eventDeliveryStats",
|
|
201
|
+
"events",
|
|
202
|
+
"Summarize external event delivery queue health.",
|
|
203
|
+
"picux.eventDeliveryStats",
|
|
204
|
+
),
|
|
205
|
+
ContractEndpoint(
|
|
206
|
+
"GET",
|
|
207
|
+
"/v1/event-deliveries/ready",
|
|
208
|
+
"eventDeliveryReady",
|
|
209
|
+
"events",
|
|
210
|
+
"List claimable event delivery attempts without claiming them.",
|
|
211
|
+
"picux.eventDeliveryReady",
|
|
212
|
+
),
|
|
213
|
+
ContractEndpoint(
|
|
214
|
+
"GET",
|
|
215
|
+
"/v1/event-deliveries/{deliveryId}",
|
|
216
|
+
"getEventDelivery",
|
|
217
|
+
"events",
|
|
218
|
+
"Fetch an external event delivery attempt.",
|
|
219
|
+
"picux.getEventDelivery",
|
|
220
|
+
),
|
|
221
|
+
ContractEndpoint(
|
|
222
|
+
"GET",
|
|
223
|
+
"/v1/event-deliveries/{deliveryId}/chain",
|
|
224
|
+
"eventDeliveryChain",
|
|
225
|
+
"events",
|
|
226
|
+
"Fetch retry lineage for an event delivery attempt.",
|
|
227
|
+
"picux.eventDeliveryChain",
|
|
228
|
+
),
|
|
229
|
+
ContractEndpoint(
|
|
230
|
+
"POST",
|
|
231
|
+
"/v1/event-deliveries/claim",
|
|
232
|
+
"claimEventDelivery",
|
|
233
|
+
"events",
|
|
234
|
+
"Claim the next queued event delivery attempt.",
|
|
235
|
+
"picux.claimEventDelivery",
|
|
236
|
+
),
|
|
237
|
+
ContractEndpoint(
|
|
238
|
+
"POST",
|
|
239
|
+
"/v1/event-deliveries/claimBatch",
|
|
240
|
+
"claimEventDeliveries",
|
|
241
|
+
"events",
|
|
242
|
+
"Claim a batch of ready event delivery attempts.",
|
|
243
|
+
"picux.claimEventDeliveries",
|
|
244
|
+
),
|
|
245
|
+
ContractEndpoint(
|
|
246
|
+
"POST",
|
|
247
|
+
"/v1/event-deliveries/sweep",
|
|
248
|
+
"sweepEventDeliveryLeases",
|
|
249
|
+
"events",
|
|
250
|
+
"Sweep expired event delivery leases back to queued.",
|
|
251
|
+
"picux.sweepEventDeliveryLeases",
|
|
252
|
+
),
|
|
253
|
+
ContractEndpoint(
|
|
254
|
+
"POST",
|
|
255
|
+
"/v1/event-deliveries/{deliveryId}/retry",
|
|
256
|
+
"retryEventDelivery",
|
|
257
|
+
"events",
|
|
258
|
+
"Retry a failed or canceled event delivery attempt.",
|
|
259
|
+
"picux.retryEventDelivery",
|
|
260
|
+
),
|
|
261
|
+
ContractEndpoint(
|
|
262
|
+
"POST",
|
|
263
|
+
"/v1/event-deliveries/{deliveryId}/fail",
|
|
264
|
+
"failEventDelivery",
|
|
265
|
+
"events",
|
|
266
|
+
"Fail an event delivery attempt and optionally schedule its retry.",
|
|
267
|
+
"picux.failEventDelivery",
|
|
268
|
+
),
|
|
269
|
+
ContractEndpoint(
|
|
270
|
+
"POST",
|
|
271
|
+
"/v1/event-deliveries/{deliveryId}/complete",
|
|
272
|
+
"completeEventDelivery",
|
|
273
|
+
"events",
|
|
274
|
+
"Complete a claimed event delivery attempt.",
|
|
275
|
+
"picux.completeEventDelivery",
|
|
276
|
+
),
|
|
277
|
+
ContractEndpoint(
|
|
278
|
+
"POST",
|
|
279
|
+
"/v1/event-deliveries/{deliveryId}/cancel",
|
|
280
|
+
"cancelEventDelivery",
|
|
281
|
+
"events",
|
|
282
|
+
"Cancel an event delivery attempt.",
|
|
283
|
+
"picux.cancelEventDelivery",
|
|
284
|
+
),
|
|
285
|
+
ContractEndpoint(
|
|
286
|
+
"POST",
|
|
287
|
+
"/v1/event-deliveries/{deliveryId}/lease",
|
|
288
|
+
"renewEventDeliveryLease",
|
|
289
|
+
"events",
|
|
290
|
+
"Renew a claimed event delivery lease.",
|
|
291
|
+
"picux.renewEventDeliveryLease",
|
|
292
|
+
),
|
|
293
|
+
ContractEndpoint(
|
|
294
|
+
"POST",
|
|
295
|
+
"/v1/event-deliveries/{deliveryId}/release",
|
|
296
|
+
"releaseEventDelivery",
|
|
297
|
+
"events",
|
|
298
|
+
"Release a claimed event delivery attempt back to queued.",
|
|
299
|
+
"picux.releaseEventDelivery",
|
|
300
|
+
),
|
|
301
|
+
ContractEndpoint(
|
|
302
|
+
"POST",
|
|
303
|
+
"/v1/event-deliveries/{deliveryId}/update",
|
|
304
|
+
"updateEventDelivery",
|
|
305
|
+
"events",
|
|
306
|
+
"Update an external event delivery attempt.",
|
|
307
|
+
"picux.updateEventDelivery",
|
|
308
|
+
),
|
|
309
|
+
ContractEndpoint("GET", "/v1/agents", "listAgents", "agents", "List registered external agents.", "picux.listAgents"),
|
|
310
|
+
ContractEndpoint("GET", "/v1/agents/{agentId}", "getAgent", "agents", "Fetch a registered external agent.", "picux.getAgent"),
|
|
311
|
+
ContractEndpoint("POST", "/v1/agents", "registerAgent", "agents", "Register an external agent card.", "picux.registerAgent"),
|
|
312
|
+
ContractEndpoint("POST", "/v1/agents/match", "matchAgents", "agents", "Match agents by domain and capabilities.", "picux.matchAgents"),
|
|
313
|
+
ContractEndpoint("POST", "/v1/agents/delegate", "delegateAgent", "agents", "Create an A2A delegation plan.", "picux.delegateAgent"),
|
|
314
|
+
ContractEndpoint(
|
|
315
|
+
"GET",
|
|
316
|
+
"/v1/bridge/connectors",
|
|
317
|
+
"listConnectors",
|
|
318
|
+
"bridge",
|
|
319
|
+
"List registered BRIDGE connectors.",
|
|
320
|
+
"picux.listConnectors",
|
|
321
|
+
),
|
|
322
|
+
ContractEndpoint(
|
|
323
|
+
"GET",
|
|
324
|
+
"/v1/bridge/connectors/ready",
|
|
325
|
+
"listReadyConnectors",
|
|
326
|
+
"bridge",
|
|
327
|
+
"List Picux ready-made BRIDGE connector templates.",
|
|
328
|
+
"picux.listReadyConnectors",
|
|
329
|
+
),
|
|
330
|
+
ContractEndpoint(
|
|
331
|
+
"GET",
|
|
332
|
+
"/v1/bridge/connectors/{connectorId}",
|
|
333
|
+
"getConnector",
|
|
334
|
+
"bridge",
|
|
335
|
+
"Fetch a registered BRIDGE connector.",
|
|
336
|
+
"picux.getConnector",
|
|
337
|
+
),
|
|
338
|
+
ContractEndpoint(
|
|
339
|
+
"POST",
|
|
340
|
+
"/v1/bridge/connectors",
|
|
341
|
+
"registerConnector",
|
|
342
|
+
"bridge",
|
|
343
|
+
"Register a BRIDGE connector with scoped credential references.",
|
|
344
|
+
"picux.registerConnector",
|
|
345
|
+
),
|
|
346
|
+
ContractEndpoint(
|
|
347
|
+
"POST",
|
|
348
|
+
"/v1/bridge/connectors/ready/install",
|
|
349
|
+
"installReadyConnectors",
|
|
350
|
+
"bridge",
|
|
351
|
+
"Install Picux ready-made BRIDGE connector templates into the active connector registry.",
|
|
352
|
+
"picux.installReadyConnectors",
|
|
353
|
+
),
|
|
354
|
+
ContractEndpoint(
|
|
355
|
+
"POST",
|
|
356
|
+
"/v1/bridge/connection-sessions",
|
|
357
|
+
"createBridgeConnectionSession",
|
|
358
|
+
"bridge",
|
|
359
|
+
"Create a scoped BRIDGE connection session for client-owned adapter credentials and callbacks.",
|
|
360
|
+
"picux.createBridgeConnectionSession",
|
|
361
|
+
),
|
|
362
|
+
ContractEndpoint(
|
|
363
|
+
"GET",
|
|
364
|
+
"/v1/bridge/connection-sessions",
|
|
365
|
+
"listBridgeConnectionSessions",
|
|
366
|
+
"bridge",
|
|
367
|
+
"List scoped BRIDGE connection sessions.",
|
|
368
|
+
"picux.listBridgeConnectionSessions",
|
|
369
|
+
),
|
|
370
|
+
ContractEndpoint(
|
|
371
|
+
"GET",
|
|
372
|
+
"/v1/bridge/connection-sessions/{sessionId}",
|
|
373
|
+
"getBridgeConnectionSession",
|
|
374
|
+
"bridge",
|
|
375
|
+
"Fetch a scoped BRIDGE connection session.",
|
|
376
|
+
"picux.getBridgeConnectionSession",
|
|
377
|
+
),
|
|
378
|
+
ContractEndpoint(
|
|
379
|
+
"POST",
|
|
380
|
+
"/v1/bridge/connection-sessions/{sessionId}/revoke",
|
|
381
|
+
"revokeBridgeConnectionSession",
|
|
382
|
+
"bridge",
|
|
383
|
+
"Revoke a scoped BRIDGE connection session.",
|
|
384
|
+
"picux.revokeBridgeConnectionSession",
|
|
385
|
+
),
|
|
386
|
+
ContractEndpoint(
|
|
387
|
+
"POST",
|
|
388
|
+
"/v1/bridge/actions",
|
|
389
|
+
"createBridgeAction",
|
|
390
|
+
"bridge",
|
|
391
|
+
"Queue an adapter-neutral BRIDGE provider action and attach it to channel state.",
|
|
392
|
+
"picux.createBridgeAction",
|
|
393
|
+
),
|
|
394
|
+
ContractEndpoint(
|
|
395
|
+
"GET",
|
|
396
|
+
"/v1/bridge/actions",
|
|
397
|
+
"listBridgeActions",
|
|
398
|
+
"bridge",
|
|
399
|
+
"List adapter-neutral BRIDGE provider actions.",
|
|
400
|
+
"picux.listBridgeActions",
|
|
401
|
+
),
|
|
402
|
+
ContractEndpoint(
|
|
403
|
+
"GET",
|
|
404
|
+
"/v1/bridge/actions/{actionId}",
|
|
405
|
+
"getBridgeAction",
|
|
406
|
+
"bridge",
|
|
407
|
+
"Fetch an adapter-neutral BRIDGE provider action.",
|
|
408
|
+
"picux.getBridgeAction",
|
|
409
|
+
),
|
|
410
|
+
ContractEndpoint(
|
|
411
|
+
"POST",
|
|
412
|
+
"/v1/bridge/actions/{actionId}/update",
|
|
413
|
+
"updateBridgeAction",
|
|
414
|
+
"bridge",
|
|
415
|
+
"Update BRIDGE provider action status, response, proof, or error state.",
|
|
416
|
+
"picux.updateBridgeAction",
|
|
417
|
+
),
|
|
418
|
+
ContractEndpoint(
|
|
419
|
+
"POST",
|
|
420
|
+
"/v1/bridge/actions/{actionId}/run",
|
|
421
|
+
"runBridgeAction",
|
|
422
|
+
"bridge",
|
|
423
|
+
"Run a BRIDGE provider action through a Picux-hosted adapter or dispatch it to a client-hosted adapter.",
|
|
424
|
+
"picux.runBridgeAction",
|
|
425
|
+
),
|
|
426
|
+
ContractEndpoint(
|
|
427
|
+
"POST",
|
|
428
|
+
"/v1/channels/threads",
|
|
429
|
+
"createChannelThread",
|
|
430
|
+
"channels",
|
|
431
|
+
"Create or upsert a durable cross-channel conversation thread.",
|
|
432
|
+
"picux.createChannelThread",
|
|
433
|
+
),
|
|
434
|
+
ContractEndpoint(
|
|
435
|
+
"GET",
|
|
436
|
+
"/v1/channels/threads",
|
|
437
|
+
"listChannelThreads",
|
|
438
|
+
"channels",
|
|
439
|
+
"List durable cross-channel conversation threads.",
|
|
440
|
+
"picux.listChannelThreads",
|
|
441
|
+
),
|
|
442
|
+
ContractEndpoint(
|
|
443
|
+
"GET",
|
|
444
|
+
"/v1/channels/threads/{threadId}",
|
|
445
|
+
"getChannelThread",
|
|
446
|
+
"channels",
|
|
447
|
+
"Fetch a durable cross-channel conversation thread.",
|
|
448
|
+
"picux.getChannelThread",
|
|
449
|
+
),
|
|
450
|
+
ContractEndpoint(
|
|
451
|
+
"GET",
|
|
452
|
+
"/v1/channels/threads/{threadId}/timeline",
|
|
453
|
+
"channelThreadTimeline",
|
|
454
|
+
"channels",
|
|
455
|
+
"Fetch a unified channel thread timeline across touchpoints, provider actions, and callbacks.",
|
|
456
|
+
"picux.channelThreadTimeline",
|
|
457
|
+
),
|
|
458
|
+
ContractEndpoint(
|
|
459
|
+
"POST",
|
|
460
|
+
"/v1/channels/touchpoints",
|
|
461
|
+
"recordTouchpoint",
|
|
462
|
+
"channels",
|
|
463
|
+
"Record an inbound, outbound, or internal touchpoint on a channel thread.",
|
|
464
|
+
"picux.recordTouchpoint",
|
|
465
|
+
),
|
|
466
|
+
ContractEndpoint(
|
|
467
|
+
"GET",
|
|
468
|
+
"/v1/channels/touchpoints",
|
|
469
|
+
"listTouchpoints",
|
|
470
|
+
"channels",
|
|
471
|
+
"List channel touchpoints by thread, case, conversation, provider, or status.",
|
|
472
|
+
"picux.listTouchpoints",
|
|
473
|
+
),
|
|
474
|
+
ContractEndpoint(
|
|
475
|
+
"GET",
|
|
476
|
+
"/v1/channels/touchpoints/{touchpointId}",
|
|
477
|
+
"getTouchpoint",
|
|
478
|
+
"channels",
|
|
479
|
+
"Fetch a channel touchpoint.",
|
|
480
|
+
"picux.getTouchpoint",
|
|
481
|
+
),
|
|
482
|
+
ContractEndpoint(
|
|
483
|
+
"POST",
|
|
484
|
+
"/v1/channels/callbacks",
|
|
485
|
+
"ingestProviderCallback",
|
|
486
|
+
"channels",
|
|
487
|
+
"Ingest a provider callback and reconcile it into channel state.",
|
|
488
|
+
"picux.ingestProviderCallback",
|
|
489
|
+
),
|
|
490
|
+
ContractEndpoint(
|
|
491
|
+
"GET",
|
|
492
|
+
"/v1/channels/callbacks",
|
|
493
|
+
"listProviderCallbacks",
|
|
494
|
+
"channels",
|
|
495
|
+
"List normalized provider callbacks.",
|
|
496
|
+
"picux.listProviderCallbacks",
|
|
497
|
+
),
|
|
498
|
+
ContractEndpoint(
|
|
499
|
+
"POST",
|
|
500
|
+
"/v1/bridge/portal/sessions",
|
|
501
|
+
"createPortalSession",
|
|
502
|
+
"bridge",
|
|
503
|
+
"Create a credential-reference-backed authenticated portal session.",
|
|
504
|
+
"picux.createPortalSession",
|
|
505
|
+
),
|
|
506
|
+
ContractEndpoint(
|
|
507
|
+
"GET",
|
|
508
|
+
"/v1/bridge/portal/sessions",
|
|
509
|
+
"listPortalSessions",
|
|
510
|
+
"bridge",
|
|
511
|
+
"List authenticated portal sessions.",
|
|
512
|
+
"picux.listPortalSessions",
|
|
513
|
+
),
|
|
514
|
+
ContractEndpoint(
|
|
515
|
+
"GET",
|
|
516
|
+
"/v1/bridge/portal/sessions/{portalSessionId}",
|
|
517
|
+
"getPortalSession",
|
|
518
|
+
"bridge",
|
|
519
|
+
"Fetch an authenticated portal session.",
|
|
520
|
+
"picux.getPortalSession",
|
|
521
|
+
),
|
|
522
|
+
ContractEndpoint(
|
|
523
|
+
"POST",
|
|
524
|
+
"/v1/bridge/portal/sessions/{portalSessionId}/preflight",
|
|
525
|
+
"preflightPortalSession",
|
|
526
|
+
"bridge",
|
|
527
|
+
"Check portal session credential, MFA, and target-scope readiness before authenticated browser work starts.",
|
|
528
|
+
"picux.preflightPortalSession",
|
|
529
|
+
),
|
|
530
|
+
ContractEndpoint(
|
|
531
|
+
"POST",
|
|
532
|
+
"/v1/bridge/portal/actions",
|
|
533
|
+
"createPortalAction",
|
|
534
|
+
"bridge",
|
|
535
|
+
"Create an authenticated portal action for record retrieval, form submission, or recovery steps.",
|
|
536
|
+
"picux.createPortalAction",
|
|
537
|
+
),
|
|
538
|
+
ContractEndpoint(
|
|
539
|
+
"GET",
|
|
540
|
+
"/v1/bridge/portal/actions",
|
|
541
|
+
"listPortalActions",
|
|
542
|
+
"bridge",
|
|
543
|
+
"List authenticated portal actions.",
|
|
544
|
+
"picux.listPortalActions",
|
|
545
|
+
),
|
|
546
|
+
ContractEndpoint(
|
|
547
|
+
"GET",
|
|
548
|
+
"/v1/bridge/portal/actions/{portalActionId}",
|
|
549
|
+
"getPortalAction",
|
|
550
|
+
"bridge",
|
|
551
|
+
"Fetch an authenticated portal action.",
|
|
552
|
+
"picux.getPortalAction",
|
|
553
|
+
),
|
|
554
|
+
ContractEndpoint(
|
|
555
|
+
"GET",
|
|
556
|
+
"/v1/bridge/portal/templates",
|
|
557
|
+
"listPortalActionTemplates",
|
|
558
|
+
"bridge",
|
|
559
|
+
"List reusable authenticated portal action templates.",
|
|
560
|
+
"picux.listPortalActionTemplates",
|
|
561
|
+
),
|
|
562
|
+
ContractEndpoint(
|
|
563
|
+
"GET",
|
|
564
|
+
"/v1/bridge/portal/templates/{templateId}",
|
|
565
|
+
"getPortalActionTemplate",
|
|
566
|
+
"bridge",
|
|
567
|
+
"Fetch a reusable authenticated portal action template.",
|
|
568
|
+
"picux.getPortalActionTemplate",
|
|
569
|
+
),
|
|
570
|
+
ContractEndpoint(
|
|
571
|
+
"GET",
|
|
572
|
+
"/v1/bridge/portal/playbooks",
|
|
573
|
+
"listPortalPlaybooks",
|
|
574
|
+
"bridge",
|
|
575
|
+
"List merchant, carrier, and utility portal recovery playbooks.",
|
|
576
|
+
"picux.listPortalPlaybooks",
|
|
577
|
+
),
|
|
578
|
+
ContractEndpoint(
|
|
579
|
+
"GET",
|
|
580
|
+
"/v1/bridge/portal/playbooks/{playbookId}",
|
|
581
|
+
"getPortalPlaybook",
|
|
582
|
+
"bridge",
|
|
583
|
+
"Fetch a portal recovery playbook.",
|
|
584
|
+
"picux.getPortalPlaybook",
|
|
585
|
+
),
|
|
586
|
+
ContractEndpoint(
|
|
587
|
+
"POST",
|
|
588
|
+
"/v1/bridge/portal/playbooks/{playbookId}/instantiate",
|
|
589
|
+
"instantiatePortalPlaybook",
|
|
590
|
+
"bridge",
|
|
591
|
+
"Instantiate a portal recovery playbook into queued portal actions.",
|
|
592
|
+
"picux.instantiatePortalPlaybook",
|
|
593
|
+
),
|
|
594
|
+
ContractEndpoint(
|
|
595
|
+
"POST",
|
|
596
|
+
"/v1/bridge/portal/actions/{portalActionId}/run",
|
|
597
|
+
"runPortalAction",
|
|
598
|
+
"bridge",
|
|
599
|
+
"Run an authenticated portal action through the PortalBrowser tool.",
|
|
600
|
+
"picux.runPortalAction",
|
|
601
|
+
),
|
|
602
|
+
ContractEndpoint(
|
|
603
|
+
"POST",
|
|
604
|
+
"/v1/bridge/connectors/match",
|
|
605
|
+
"matchConnectors",
|
|
606
|
+
"bridge",
|
|
607
|
+
"Match BRIDGE connectors by capability and credential scope.",
|
|
608
|
+
"picux.matchConnectors",
|
|
609
|
+
),
|
|
610
|
+
ContractEndpoint(
|
|
611
|
+
"POST",
|
|
612
|
+
"/v1/bridge/connectors/{connectorId}/preflight",
|
|
613
|
+
"preflightConnector",
|
|
614
|
+
"bridge",
|
|
615
|
+
"Preflight a BRIDGE connector action with policy, scope, and secret checks.",
|
|
616
|
+
"picux.preflightConnector",
|
|
617
|
+
),
|
|
618
|
+
ContractEndpoint(
|
|
619
|
+
"POST",
|
|
620
|
+
"/v1/bridge/connectors/{connectorId}/update",
|
|
621
|
+
"updateConnector",
|
|
622
|
+
"bridge",
|
|
623
|
+
"Update BRIDGE connector status or scope metadata.",
|
|
624
|
+
"picux.updateConnector",
|
|
625
|
+
),
|
|
626
|
+
ContractEndpoint(
|
|
627
|
+
"GET",
|
|
628
|
+
"/v1/proxy/missions",
|
|
629
|
+
"listProxyMissions",
|
|
630
|
+
"proxy",
|
|
631
|
+
"List PROXY human-in-the-loop missions.",
|
|
632
|
+
"picux.listProxyMissions",
|
|
633
|
+
),
|
|
634
|
+
ContractEndpoint(
|
|
635
|
+
"GET",
|
|
636
|
+
"/v1/proxy/missions/{proxyId}",
|
|
637
|
+
"getProxyMission",
|
|
638
|
+
"proxy",
|
|
639
|
+
"Fetch a PROXY human-in-the-loop mission.",
|
|
640
|
+
"picux.proxyGet",
|
|
641
|
+
),
|
|
642
|
+
ContractEndpoint(
|
|
643
|
+
"POST",
|
|
644
|
+
"/v1/proxy/missions",
|
|
645
|
+
"createProxyMission",
|
|
646
|
+
"proxy",
|
|
647
|
+
"Request human intervention and suspend RESOLVE until PROXY returns an outcome.",
|
|
648
|
+
"picux.proxyRequest",
|
|
649
|
+
),
|
|
650
|
+
ContractEndpoint(
|
|
651
|
+
"POST",
|
|
652
|
+
"/v1/proxy/missions/{proxyId}/outcome",
|
|
653
|
+
"submitProxyMissionOutcome",
|
|
654
|
+
"proxy",
|
|
655
|
+
"Submit a PROXY outcome for a known mission.",
|
|
656
|
+
"picux.proxySubmitMissionOutcome",
|
|
657
|
+
),
|
|
658
|
+
ContractEndpoint(
|
|
659
|
+
"POST",
|
|
660
|
+
"/v1/proxy/outcomes",
|
|
661
|
+
"submitProxyOutcome",
|
|
662
|
+
"proxy",
|
|
663
|
+
"Submit a PROXY outcome by proxy, request, provider, or connector callback reference.",
|
|
664
|
+
"picux.proxySubmitOutcome",
|
|
665
|
+
),
|
|
666
|
+
ContractEndpoint("GET", "/v1/tasks", "listTasks", "tasks", "List Picux protocol tasks.", "picux.listTasks"),
|
|
667
|
+
ContractEndpoint("GET", "/v1/tasks/{taskId}", "getTask", "tasks", "Fetch a Picux protocol task.", "picux.getTask"),
|
|
668
|
+
ContractEndpoint("POST", "/v1/tasks", "createTask", "tasks", "Create a Picux protocol task.", "picux.createTask"),
|
|
669
|
+
ContractEndpoint("POST", "/v1/tasks/{taskId}/update", "updateTask", "tasks", "Update a Picux protocol task.", "picux.updateTask"),
|
|
670
|
+
ContractEndpoint("GET", "/v1/cases", "listCases", "cases", "List formal Picux case workspaces.", "picux.listCases"),
|
|
671
|
+
ContractEndpoint("POST", "/v1/cases", "createCase", "cases", "Create or upsert a formal Picux case workspace.", "picux.createCase"),
|
|
672
|
+
ContractEndpoint("GET", "/v1/cases/{caseId}", "getCase", "cases", "Fetch a formal Picux case workspace.", "picux.getCase"),
|
|
673
|
+
ContractEndpoint("POST", "/v1/cases/{caseId}/update", "updateCase", "cases", "Update case workspace status, metadata, or collaboration state.", "picux.updateCase"),
|
|
674
|
+
ContractEndpoint("POST", "/v1/cases/{caseId}/stakeholders", "addCaseStakeholder", "cases", "Add a stakeholder to a case workspace.", "picux.addCaseStakeholder"),
|
|
675
|
+
ContractEndpoint("POST", "/v1/cases/{caseId}/deadlines", "addCaseDeadline", "cases", "Add a deadline to a case workspace.", "picux.addCaseDeadline"),
|
|
676
|
+
ContractEndpoint("POST", "/v1/cases/{caseId}/deadlines/review", "reviewCaseDeadlines", "cases", "Review case deadlines and mark overdue open deadlines as missed.", "picux.reviewCaseDeadlines"),
|
|
677
|
+
ContractEndpoint("POST", "/v1/cases/{caseId}/actions", "addCaseAction", "cases", "Add a stakeholder-oriented action item to a case workspace.", "picux.addCaseAction"),
|
|
678
|
+
ContractEndpoint("GET", "/v1/cases/{caseId}/actions", "listCaseActions", "cases", "List stakeholder-oriented action items for a case workspace.", "picux.listCaseActions"),
|
|
679
|
+
ContractEndpoint("POST", "/v1/cases/{caseId}/actions/{actionId}/update", "updateCaseAction", "cases", "Update a case action item status, owner, due date, or refs.", "picux.updateCaseAction"),
|
|
680
|
+
ContractEndpoint("POST", "/v1/cases/{caseId}/events", "addCaseEvent", "cases", "Append a status timeline event to a case workspace.", "picux.addCaseEvent"),
|
|
681
|
+
ContractEndpoint("GET", "/v1/cases/{caseId}/timeline", "caseTimeline", "cases", "Fetch a case workspace status timeline.", "picux.caseTimeline"),
|
|
682
|
+
ContractEndpoint("POST", "/v1/cases/{caseId}/evidence", "addCaseEvidence", "cases", "Attach evidence references to a case workspace.", "picux.addCaseEvidence"),
|
|
683
|
+
ContractEndpoint("POST", "/v1/cases/{caseId}/notes", "addCaseNote", "cases", "Add a collaboration note to a case workspace.", "picux.addCaseNote"),
|
|
684
|
+
ContractEndpoint("GET", "/v1/cases/{caseId}/notes", "listCaseNotes", "cases", "List collaboration notes for a case workspace.", "picux.listCaseNotes"),
|
|
685
|
+
ContractEndpoint("POST", "/v1/cases/{caseId}/export", "exportCaseBundle", "cases", "Export a portable evidence bundle for a case workspace.", "picux.exportCaseBundle"),
|
|
686
|
+
ContractEndpoint("GET", "/v1/workflows/templates", "listWorkflowTemplates", "workflows", "List Picux flagship workflow templates.", "picux.listWorkflowTemplates"),
|
|
687
|
+
ContractEndpoint("GET", "/v1/workflows/templates/{templateId}", "getWorkflowTemplate", "workflows", "Fetch a Picux workflow template.", "picux.getWorkflowTemplate"),
|
|
688
|
+
ContractEndpoint("POST", "/v1/workflows/templates/{templateId}/run", "runWorkflowTemplate", "workflows", "Run a Picux workflow template.", "picux.runWorkflowTemplate"),
|
|
689
|
+
ContractEndpoint("POST", "/v1/hunt/discover", "huntDiscover", "hunt", "Discover and rank HUNT telemetry.", "picux.huntDiscover"),
|
|
690
|
+
ContractEndpoint("POST", "/v1/resolve/scamTriage", "resolveScamTriage", "resolve", "Run Resolve scam and dispute triage.", "picux.resolveScamTriage"),
|
|
691
|
+
ContractEndpoint(
|
|
692
|
+
"POST",
|
|
693
|
+
"/v1/tasks/{taskId}/resolve",
|
|
694
|
+
"resolveTask",
|
|
695
|
+
"resolve",
|
|
696
|
+
"Resolve evidence for a Picux task.",
|
|
697
|
+
"picux.resolveTask",
|
|
698
|
+
),
|
|
699
|
+
ContractEndpoint("GET", "/v1/mandates", "listMandates", "mandates", "List Picux mandate records.", "picux.listMandates"),
|
|
700
|
+
ContractEndpoint("GET", "/v1/mandates/{mandateId}", "getMandate", "mandates", "Fetch a Picux mandate record.", "picux.getMandate"),
|
|
701
|
+
ContractEndpoint("POST", "/v1/mandates", "createMandate", "mandates", "Register a Picux mandate.", "picux.createMandate"),
|
|
702
|
+
ContractEndpoint(
|
|
703
|
+
"POST",
|
|
704
|
+
"/v1/mandates/{mandateId}/verify",
|
|
705
|
+
"verifyMandate",
|
|
706
|
+
"mandates",
|
|
707
|
+
"Verify a Picux mandate.",
|
|
708
|
+
"picux.verifyMandate",
|
|
709
|
+
),
|
|
710
|
+
ContractEndpoint("GET", "/v1/pay/rails", "listPayRails", "pay", "List Picux PAY machine-payment rails.", "picux.listPayRails"),
|
|
711
|
+
ContractEndpoint("GET", "/v1/pay/rails/{railId}", "getPayRail", "pay", "Fetch a Picux PAY machine-payment rail.", "picux.getPayRail"),
|
|
712
|
+
ContractEndpoint(
|
|
713
|
+
"POST",
|
|
714
|
+
"/v1/pay/challenges",
|
|
715
|
+
"createPaymentChallenge",
|
|
716
|
+
"pay",
|
|
717
|
+
"Create a machine-payment challenge for a protected resource.",
|
|
718
|
+
"picux.createPaymentChallenge",
|
|
719
|
+
),
|
|
720
|
+
ContractEndpoint(
|
|
721
|
+
"POST",
|
|
722
|
+
"/v1/pay/challenges/{challengeId}/verify",
|
|
723
|
+
"verifyPaymentChallenge",
|
|
724
|
+
"pay",
|
|
725
|
+
"Verify a machine-payment credential for a PAY challenge.",
|
|
726
|
+
"picux.verifyPaymentChallenge",
|
|
727
|
+
),
|
|
728
|
+
ContractEndpoint(
|
|
729
|
+
"POST",
|
|
730
|
+
"/v1/pay/sessions",
|
|
731
|
+
"createPaymentSession",
|
|
732
|
+
"pay",
|
|
733
|
+
"Create a bounded machine-payment session.",
|
|
734
|
+
"picux.createPaymentSession",
|
|
735
|
+
),
|
|
736
|
+
ContractEndpoint(
|
|
737
|
+
"POST",
|
|
738
|
+
"/v1/pay/sessions/{sessionId}/authorize",
|
|
739
|
+
"authorizePaymentSession",
|
|
740
|
+
"pay",
|
|
741
|
+
"Authorize a machine-payment session.",
|
|
742
|
+
"picux.authorizePaymentSession",
|
|
743
|
+
),
|
|
744
|
+
ContractEndpoint(
|
|
745
|
+
"POST",
|
|
746
|
+
"/v1/pay/sessions/{sessionId}/consume",
|
|
747
|
+
"consumePaymentSession",
|
|
748
|
+
"pay",
|
|
749
|
+
"Record usage against a machine-payment session.",
|
|
750
|
+
"picux.consumePaymentSession",
|
|
751
|
+
),
|
|
752
|
+
ContractEndpoint(
|
|
753
|
+
"POST",
|
|
754
|
+
"/v1/pay/sessions/{sessionId}/close",
|
|
755
|
+
"closePaymentSession",
|
|
756
|
+
"pay",
|
|
757
|
+
"Close a machine-payment session.",
|
|
758
|
+
"picux.closePaymentSession",
|
|
759
|
+
),
|
|
760
|
+
ContractEndpoint(
|
|
761
|
+
"POST",
|
|
762
|
+
"/v1/pay/local/resources/{resourceId}",
|
|
763
|
+
"runLocalPaidResource",
|
|
764
|
+
"pay",
|
|
765
|
+
"Run a local paid resource through the Picux PAY 402 loop.",
|
|
766
|
+
"picux.runLocalPaidResource",
|
|
767
|
+
),
|
|
768
|
+
ContractEndpoint("POST", "/v1/pay/escrows", "createEscrow", "pay", "Create a Picux PAY escrow.", "picux.createEscrow"),
|
|
769
|
+
ContractEndpoint("GET", "/v1/pay/escrows", "listEscrows", "pay", "List Picux PAY escrow records.", "picux.listEscrows"),
|
|
770
|
+
ContractEndpoint(
|
|
771
|
+
"GET",
|
|
772
|
+
"/v1/pay/escrows/{escrowId}",
|
|
773
|
+
"getEscrow",
|
|
774
|
+
"pay",
|
|
775
|
+
"Fetch a Picux PAY escrow record.",
|
|
776
|
+
"picux.getEscrow",
|
|
777
|
+
),
|
|
778
|
+
ContractEndpoint(
|
|
779
|
+
"POST",
|
|
780
|
+
"/v1/pay/escrows/{escrowId}/update",
|
|
781
|
+
"updateEscrow",
|
|
782
|
+
"pay",
|
|
783
|
+
"Update a Picux PAY escrow record.",
|
|
784
|
+
"picux.updateEscrow",
|
|
785
|
+
),
|
|
786
|
+
ContractEndpoint(
|
|
787
|
+
"POST",
|
|
788
|
+
"/v1/pay/escrows/{escrowId}/fund",
|
|
789
|
+
"fundEscrow",
|
|
790
|
+
"pay",
|
|
791
|
+
"Mark a Picux PAY escrow as funded.",
|
|
792
|
+
"picux.fundEscrow",
|
|
793
|
+
),
|
|
794
|
+
ContractEndpoint(
|
|
795
|
+
"POST",
|
|
796
|
+
"/v1/pay/escrows/{escrowId}/proof",
|
|
797
|
+
"submitEscrowProof",
|
|
798
|
+
"pay",
|
|
799
|
+
"Attach proof-of-utility evidence to a Picux PAY escrow.",
|
|
800
|
+
"picux.submitEscrowProof",
|
|
801
|
+
),
|
|
802
|
+
ContractEndpoint(
|
|
803
|
+
"POST",
|
|
804
|
+
"/v1/pay/escrows/{escrowId}/settle",
|
|
805
|
+
"settleEscrow",
|
|
806
|
+
"pay",
|
|
807
|
+
"Settle a Picux PAY escrow after proof verification.",
|
|
808
|
+
"picux.settleEscrow",
|
|
809
|
+
),
|
|
810
|
+
ContractEndpoint(
|
|
811
|
+
"POST",
|
|
812
|
+
"/v1/pay/escrows/{escrowId}/refund",
|
|
813
|
+
"refundEscrow",
|
|
814
|
+
"pay",
|
|
815
|
+
"Refund a Picux PAY escrow.",
|
|
816
|
+
"picux.refundEscrow",
|
|
817
|
+
),
|
|
818
|
+
ContractEndpoint(
|
|
819
|
+
"POST",
|
|
820
|
+
"/v1/pay/escrows/{escrowId}/dispute",
|
|
821
|
+
"disputeEscrow",
|
|
822
|
+
"pay",
|
|
823
|
+
"Open a dispute against a Picux PAY escrow.",
|
|
824
|
+
"picux.disputeEscrow",
|
|
825
|
+
),
|
|
826
|
+
ContractEndpoint(
|
|
827
|
+
"GET",
|
|
828
|
+
"/v1/pay/adapters/contract",
|
|
829
|
+
"settlementAdapterContract",
|
|
830
|
+
"pay",
|
|
831
|
+
"Return the Picux PAY settlement adapter contract.",
|
|
832
|
+
"picux.settlementAdapterContract",
|
|
833
|
+
),
|
|
834
|
+
ContractEndpoint("GET", "/v1/pay/adapters", "listPayAdapters", "pay", "List Picux PAY rail adapter scaffolds.", "picux.listPayAdapters"),
|
|
835
|
+
ContractEndpoint("GET", "/v1/pay/adapters/{adapterId}", "getPayAdapter", "pay", "Fetch a Picux PAY rail adapter scaffold.", "picux.getPayAdapter"),
|
|
836
|
+
ContractEndpoint(
|
|
837
|
+
"POST",
|
|
838
|
+
"/v1/pay/adapters/{adapterId}/invoke",
|
|
839
|
+
"invokePayAdapter",
|
|
840
|
+
"pay",
|
|
841
|
+
"Invoke a concrete Picux PAY rail adapter action.",
|
|
842
|
+
"picux.invokePayAdapter",
|
|
843
|
+
),
|
|
844
|
+
ContractEndpoint("GET", "/v1/pay/reputation", "listReputationCards", "pay", "List PAY reputation cards.", "picux.listReputationCards"),
|
|
845
|
+
ContractEndpoint("GET", "/v1/pay/reputation/{cardId}", "getReputationCard", "pay", "Fetch a PAY reputation card.", "picux.getReputationCard"),
|
|
846
|
+
ContractEndpoint("POST", "/v1/pay/reputation", "updateReputationCard", "pay", "Update a PAY reputation card.", "picux.updateReputationCard"),
|
|
847
|
+
ContractEndpoint(
|
|
848
|
+
"POST",
|
|
849
|
+
"/v1/pay/prepare",
|
|
850
|
+
"prepareSettlement",
|
|
851
|
+
"pay",
|
|
852
|
+
"Prepare a PAY settlement instruction for an external adapter.",
|
|
853
|
+
"picux.prepareSettlement",
|
|
854
|
+
),
|
|
855
|
+
ContractEndpoint("POST", "/v1/pay/settle", "settle", "pay", "Settle a Picux PAY request.", "picux.settle"),
|
|
856
|
+
ContractEndpoint("GET", "/v1/receipts", "listReceipts", "pay", "List settlement receipts.", "picux.listReceipts"),
|
|
857
|
+
ContractEndpoint(
|
|
858
|
+
"GET",
|
|
859
|
+
"/v1/receipts/{receiptId}",
|
|
860
|
+
"getReceipt",
|
|
861
|
+
"pay",
|
|
862
|
+
"Fetch a settlement receipt.",
|
|
863
|
+
"picux.getReceipt",
|
|
864
|
+
),
|
|
865
|
+
ContractEndpoint(
|
|
866
|
+
"GET",
|
|
867
|
+
"/v1/audit/proofPacks/{packId}",
|
|
868
|
+
"getProofPack",
|
|
869
|
+
"audit",
|
|
870
|
+
"Fetch a portable proof pack.",
|
|
871
|
+
"picux.getProofPack",
|
|
872
|
+
),
|
|
873
|
+
ContractEndpoint("GET", "/v1/audit/proofPacks", "listProofPacks", "audit", "List portable proof packs.", "picux.listProofPacks"),
|
|
874
|
+
ContractEndpoint(
|
|
875
|
+
"POST",
|
|
876
|
+
"/v1/audit/proofPacks",
|
|
877
|
+
"createProofPack",
|
|
878
|
+
"audit",
|
|
879
|
+
"Create a shareable proof pack from evidence, decisions, and outcomes.",
|
|
880
|
+
"picux.createProofPack",
|
|
881
|
+
),
|
|
882
|
+
ContractEndpoint(
|
|
883
|
+
"GET",
|
|
884
|
+
"/v1/audit/evidence/{artifactId}",
|
|
885
|
+
"getEvidence",
|
|
886
|
+
"audit",
|
|
887
|
+
"Fetch a recorded evidence artifact.",
|
|
888
|
+
"picux.getEvidence",
|
|
889
|
+
),
|
|
890
|
+
ContractEndpoint("GET", "/v1/audit/evidence", "listEvidence", "audit", "List evidence artifacts.", "picux.listEvidence"),
|
|
891
|
+
ContractEndpoint(
|
|
892
|
+
"GET",
|
|
893
|
+
"/v1/audit/pov/{povId}",
|
|
894
|
+
"getPov",
|
|
895
|
+
"audit",
|
|
896
|
+
"Fetch a proof-of-value record.",
|
|
897
|
+
"picux.getPov",
|
|
898
|
+
),
|
|
899
|
+
ContractEndpoint("GET", "/v1/audit/pov", "listPov", "audit", "List proof-of-value records.", "picux.listPov"),
|
|
900
|
+
ContractEndpoint(
|
|
901
|
+
"POST",
|
|
902
|
+
"/v1/audit/evidence",
|
|
903
|
+
"recordEvidence",
|
|
904
|
+
"audit",
|
|
905
|
+
"Record a content-addressed evidence artifact.",
|
|
906
|
+
"picux.recordEvidence",
|
|
907
|
+
),
|
|
908
|
+
ContractEndpoint(
|
|
909
|
+
"POST",
|
|
910
|
+
"/v1/audit/pov",
|
|
911
|
+
"recordPov",
|
|
912
|
+
"audit",
|
|
913
|
+
"Record a proof-of-value chain entry.",
|
|
914
|
+
"picux.recordPov",
|
|
915
|
+
),
|
|
916
|
+
ContractEndpoint(
|
|
917
|
+
"POST",
|
|
918
|
+
"/v1/audit/receipts/verify",
|
|
919
|
+
"verifyReceipt",
|
|
920
|
+
"audit",
|
|
921
|
+
"Verify a PAY receipt against proof-of-value.",
|
|
922
|
+
"picux.verifyReceipt",
|
|
923
|
+
),
|
|
924
|
+
ContractEndpoint(
|
|
925
|
+
"POST",
|
|
926
|
+
"/v1/audit/chain/verify",
|
|
927
|
+
"verifyChain",
|
|
928
|
+
"audit",
|
|
929
|
+
"Verify proof-of-value chain continuity.",
|
|
930
|
+
"picux.verifyChain",
|
|
931
|
+
),
|
|
932
|
+
ContractEndpoint(
|
|
933
|
+
"GET",
|
|
934
|
+
"/v1/signals/community",
|
|
935
|
+
"listCommunitySignals",
|
|
936
|
+
"signals",
|
|
937
|
+
"List durable community signal records.",
|
|
938
|
+
"picux.listCommunitySignals",
|
|
939
|
+
),
|
|
940
|
+
ContractEndpoint(
|
|
941
|
+
"GET",
|
|
942
|
+
"/v1/signals/community/{signalId}",
|
|
943
|
+
"getCommunitySignal",
|
|
944
|
+
"signals",
|
|
945
|
+
"Fetch a durable community signal record.",
|
|
946
|
+
"picux.getCommunitySignal",
|
|
947
|
+
),
|
|
948
|
+
ContractEndpoint(
|
|
949
|
+
"POST",
|
|
950
|
+
"/v1/signals/community",
|
|
951
|
+
"communitySignal",
|
|
952
|
+
"signals",
|
|
953
|
+
"Ingest a community signal.",
|
|
954
|
+
"picux.communitySignal",
|
|
955
|
+
),
|
|
956
|
+
ContractEndpoint(
|
|
957
|
+
"POST",
|
|
958
|
+
"/v1/signals/community/analyze",
|
|
959
|
+
"analyzeCommunitySignal",
|
|
960
|
+
"signals",
|
|
961
|
+
"Analyze a community signal.",
|
|
962
|
+
"picux.analyzeCommunitySignal",
|
|
963
|
+
),
|
|
964
|
+
ContractEndpoint(
|
|
965
|
+
"POST",
|
|
966
|
+
"/v1/signals/community/launch-task",
|
|
967
|
+
"launchCommunityTask",
|
|
968
|
+
"signals",
|
|
969
|
+
"Launch an approval-gated task from a community signal.",
|
|
970
|
+
"picux.launchCommunityTask",
|
|
971
|
+
),
|
|
972
|
+
ContractEndpoint(
|
|
973
|
+
"GET",
|
|
974
|
+
"/v1/signals/community/entities",
|
|
975
|
+
"communityEntities",
|
|
976
|
+
"signals",
|
|
977
|
+
"List community signal entities.",
|
|
978
|
+
"picux.communityEntities",
|
|
979
|
+
),
|
|
980
|
+
)
|