@lerianstudio/matcher-mcp 5.0.1 → 5.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -1
- package/dist/matcher/client.js +3 -4
- package/dist/matcher/client.js.map +1 -1
- package/dist/server.js +0 -2
- package/dist/server.js.map +1 -1
- package/dist/spec/curated-operations.js +0 -35
- package/dist/spec/curated-operations.js.map +1 -1
- package/dist/spec/openapi.yaml +2 -733
- package/package.json +1 -1
- package/dist/tools/workspace/usage.js +0 -111
- package/dist/tools/workspace/usage.js.map +0 -1
package/README.md
CHANGED
|
@@ -279,7 +279,6 @@ full embedded OpenAPI spec.
|
|
|
279
279
|
| `ingestion_*` | Inspect a context's import lifecycle — list jobs, get a job, list a job's per-row errors and transactions, search transactions, ignore a transaction, and upload files through `ingestion_upload` or `ingestion_upload_begin`. |
|
|
280
280
|
| `dashboard_*` | Read combined aggregates and focused slices (cash-impact, match-rate, metrics, SLA, source-breakdown, volume). The console uses the aggregate for volume, match rate and SLA, plus separate metrics, source-breakdown and cash-impact queries. Only standalone volume, match-rate and SLA reads have no console consumer. |
|
|
281
281
|
| `report_*` | Pull a context's reports — paginated matched/unmatched/variance reads, the summary read, four counts (exceptions/matched/unmatched/transactions), and five base64 exports (exceptions/matched/summary/unmatched/variance). |
|
|
282
|
-
| `workspace_usage` | Read the caller's own commercial state and free-tier consumption — plan, billing status, both trial axes (days remaining, matched lines against the cap), the expiry verdict, and the derived percentage consumed. Takes no arguments; the workspace comes from the relayed credential. |
|
|
283
282
|
|
|
284
283
|
### Generic trio
|
|
285
284
|
|
package/dist/matcher/client.js
CHANGED
|
@@ -73,10 +73,9 @@ async function parseProblem(res) {
|
|
|
73
73
|
return {
|
|
74
74
|
type: str('type'),
|
|
75
75
|
title: str('title') ?? fallbackTitle,
|
|
76
|
-
// `message` is NOT RFC 9457:
|
|
77
|
-
//
|
|
78
|
-
//
|
|
79
|
-
// among them. Read only as a fallback for `detail`, never in preference.
|
|
76
|
+
// `message` is NOT RFC 9457: lib-commons' flat {code,title,message} envelope
|
|
77
|
+
// carries it, the rate limiter's 429 among them. Read only as a fallback for
|
|
78
|
+
// `detail`, never in preference.
|
|
80
79
|
detail: str('detail') ?? str('message'),
|
|
81
80
|
code: str('code'),
|
|
82
81
|
instance: str('instance'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/matcher/client.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,mDAAmD;AACnD,EAAE;AACF,kFAAkF;AAClF,4EAA4E;AAC5E,gFAAgF;AAChF,2DAA2D;AAC3D,EAAE;AACF,2CAA2C;AAC3C,6EAA6E;AAC7E,+DAA+D;AAC/D,kFAAkF;AAClF,gFAAgF;AAChF,iEAAiE;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EACL,4BAA4B,EAC5B,cAAc,GACf,MAAM,kBAAkB,CAAA;AAkCzB,6FAA6F;AAC7F,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,8EAA8E;IACrE,MAAM,CAAQ;IACvB,oDAAoD;IAC3C,OAAO,CAAgB;IAEhC,YAAY,OAAe,EAAE,MAAc,EAAE,UAA0B,EAAE;QACvE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CACF;AAQD;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,GAAG,CAAA;AAEpC,oFAAoF;AACpF,SAAS,QAAQ,CACf,OAAe,EACf,IAAY,EACZ,KAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAA;IAC1E,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;AACvB,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,YAAY,CAAC,GAAa;IACvC,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAA;IAC5D,IAAI,GAAY,CAAA;IAChB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;QACjC,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;IACjC,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;IACjC,CAAC;IACD,MAAM,GAAG,GAAG,GAA8B,CAAA;IAC1C,MAAM,GAAG,GAAG,CAAC,GAAW,EAAsB,EAAE,CAC9C,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,CAAY,CAAC,CAAC,CAAC,SAAS,CAAA;IACjE,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;QACjB,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,aAAa;QACpC,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/matcher/client.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -23,7 +23,6 @@ import { registerMatchRuleTools } from './tools/match-rule/index.js';
|
|
|
23
23
|
import { registerMatchingTools } from './tools/matching/index.js';
|
|
24
24
|
import { registerReportTools } from './tools/report/index.js';
|
|
25
25
|
import { registerSourceTools } from './tools/source/index.js';
|
|
26
|
-
import { registerWorkspaceUsageTool } from './tools/workspace/usage.js';
|
|
27
26
|
import { start } from './transport/http.js';
|
|
28
27
|
/** The static reply the placeholder tool returns. */
|
|
29
28
|
export const PING_REPLY = 'pong';
|
|
@@ -107,7 +106,6 @@ function registerTools(server) {
|
|
|
107
106
|
registerDashboardTools(server);
|
|
108
107
|
registerReportTools(server);
|
|
109
108
|
registerFieldMapTools(server);
|
|
110
|
-
registerWorkspaceUsageTool(server);
|
|
111
109
|
}
|
|
112
110
|
/**
|
|
113
111
|
* Wrap registrations once per freshly built server, before tools are registered.
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AACA,mFAAmF;AACnF,iFAAiF;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAGnE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,UAAU,EAAe,MAAM,aAAa,CAAA;AACrD,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -136,8 +136,6 @@ export const CURATED_OPERATIONS = {
|
|
|
136
136
|
getSummaryReport: 'GET /v1/reports/contexts/{contextId}/summary', // report_summary
|
|
137
137
|
getUnmatchedReport: 'GET /v1/reports/contexts/{contextId}/unmatched', // report_unmatched
|
|
138
138
|
getVarianceReport: 'GET /v1/reports/contexts/{contextId}/variance', // report_variance
|
|
139
|
-
// workspace (src/tools/workspace/) — 1 (standalone-SaaS Phase 3)
|
|
140
|
-
'workspace-billing': 'GET /v1/workspace/billing', // workspace_usage (tenant from the token)
|
|
141
139
|
};
|
|
142
140
|
/** Just the covered operationIds, keeping the literal union the policy tables need. */
|
|
143
141
|
export const CURATED_OPERATION_IDS = Object.keys(CURATED_OPERATIONS);
|
|
@@ -167,38 +165,5 @@ export const GENERIC_ONLY_OPERATION_IDS = [
|
|
|
167
165
|
// discovery hub (generic-only) — inbound streaming-hub event receiver; signed,
|
|
168
166
|
// hub-driven delivery, not an operator-initiated action (cf. above).
|
|
169
167
|
'receiveHubEvent', // POST /v1/discovery/hub/events
|
|
170
|
-
// self-service onboarding (generic-only) — PUBLIC, anonymous, PRE-TENANT
|
|
171
|
-
// routes for the console signup flow. The MCP relay authenticates every call
|
|
172
|
-
// with an already-provisioned tenant token, so "create me a workspace" is not
|
|
173
|
-
// an operator action on this surface (cf. the webhook receivers above).
|
|
174
|
-
'signup', // POST /v1/signup
|
|
175
|
-
'signup-verify', // POST /v1/signup/verify
|
|
176
|
-
// PUBLIC pre-login PKCE bootstrap for the console (client id + issuer per
|
|
177
|
-
// workspace slug); browser-facing discovery, not an operator action.
|
|
178
|
-
'workspace-auth-config', // GET /v1/workspaces/{slug}/auth-config
|
|
179
|
-
// standalone-SaaS Phase 2 control-plane (generic-only) — backoffice
|
|
180
|
-
// workspace-lifecycle admin: an internal operator surface for Lerian staff,
|
|
181
|
-
// not an action the tenant-scoped copilot takes. (The sibling tenant billing
|
|
182
|
-
// read was promoted to curated as `workspace_usage` — "how much of my free
|
|
183
|
-
// tier is left" is exactly what the copilot must answer, and the generic path
|
|
184
|
-
// required knowing the operationId.)
|
|
185
|
-
'admin-suspend-workspace', // PUT /v1/admin/workspaces/{slug}/suspend
|
|
186
|
-
'admin-reactivate-workspace', // PUT /v1/admin/workspaces/{slug}/reactivate
|
|
187
|
-
// The enterprise plan assignment joins its two siblings above, and is the one of the
|
|
188
|
-
// four an agent must least be able to reach: it changes what a company is charged, on
|
|
189
|
-
// a workspace named in the path rather than in the caller's own token.
|
|
190
|
-
'admin-assign-workspace-plan', // PUT /v1/admin/workspaces/{slug}/plan
|
|
191
|
-
// The backoffice invoicing read belongs with its two siblings above and NOT with the
|
|
192
|
-
// curated tools, for a reason stronger than "it is an operator surface": it is
|
|
193
|
-
// addressed by slug and answers with another company's name, address and CPF/CNPJ.
|
|
194
|
-
// The copilot is tenant-scoped, so a curated tool here would be a tool whose whole
|
|
195
|
-
// purpose is to read a stranger's tax id.
|
|
196
|
-
'admin-workspace-billing', // GET /v1/admin/workspaces/{slug}/billing
|
|
197
|
-
// billing webhook (generic-only) — the inbound payment-processor receiver. It is
|
|
198
|
-
// not an operator action in any sense: it is JWT-less, authenticated by a signature
|
|
199
|
-
// over the raw body under a secret only the server holds, and the relay
|
|
200
|
-
// authenticates with a tenant token that would not verify. A curated tool for it
|
|
201
|
-
// could not be called successfully by anyone (cf. the two webhook receivers above).
|
|
202
|
-
'receiveBillingWebhook', // POST /v1/billing/webhook
|
|
203
168
|
];
|
|
204
169
|
//# sourceMappingURL=curated-operations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curated-operations.js","sourceRoot":"","sources":["../../src/spec/curated-operations.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"curated-operations.js","sourceRoot":"","sources":["../../src/spec/curated-operations.ts"],"names":[],"mappings":"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"}
|
package/dist/spec/openapi.yaml
CHANGED
|
@@ -239,78 +239,6 @@ components:
|
|
|
239
239
|
- createdAt
|
|
240
240
|
- updatedAt
|
|
241
241
|
type: object
|
|
242
|
-
AdminAssignPlanInputBody:
|
|
243
|
-
additionalProperties: false
|
|
244
|
-
properties:
|
|
245
|
-
plan:
|
|
246
|
-
description: "The plan code to assign. ONLY \"enterprise\" is accepted: self-serve plans are bought through checkout and converged from the live subscription's price, so assigning one here would be a payment-processor bypass the next processor delivery silently reverts. Any other code is refused with 409."
|
|
247
|
-
maxLength: 64
|
|
248
|
-
type: string
|
|
249
|
-
required:
|
|
250
|
-
- plan
|
|
251
|
-
type: object
|
|
252
|
-
AdminAssignPlanResult:
|
|
253
|
-
additionalProperties: false
|
|
254
|
-
properties:
|
|
255
|
-
billingStatus:
|
|
256
|
-
description: The commercial standing the workspace now holds. An enterprise contract is in good standing the moment it is signed, so this is always "active".
|
|
257
|
-
type: string
|
|
258
|
-
plan:
|
|
259
|
-
description: The plan the workspace now holds.
|
|
260
|
-
type: string
|
|
261
|
-
slug:
|
|
262
|
-
description: The workspace assigned.
|
|
263
|
-
type: string
|
|
264
|
-
required:
|
|
265
|
-
- slug
|
|
266
|
-
- plan
|
|
267
|
-
- billingStatus
|
|
268
|
-
type: object
|
|
269
|
-
AdminWorkspaceBilling:
|
|
270
|
-
additionalProperties: false
|
|
271
|
-
properties:
|
|
272
|
-
companyName:
|
|
273
|
-
description: Legal name the workspace signed up with — the party the invoice is issued to.
|
|
274
|
-
type: string
|
|
275
|
-
email:
|
|
276
|
-
description: Billing contact the invoice is sent to.
|
|
277
|
-
type: string
|
|
278
|
-
overageUncoveredCents:
|
|
279
|
-
description: "Overage already incurred that the credit balance has not covered, in integer BRL cents — what this workspace owes, and the amount to invoice. It is a receivable and never a negative balance: a new billing period does NOT clear it, it survives a trial-to-paid conversion, and a credit purchase settles it. 0 when nothing is owed."
|
|
280
|
-
format: int64
|
|
281
|
-
type: integer
|
|
282
|
-
slug:
|
|
283
|
-
description: The workspace read.
|
|
284
|
-
type: string
|
|
285
|
-
taxIdStatus:
|
|
286
|
-
description: "Whether the tax id could be read: \"available\" (on file, returned below), \"not_collected\" (the customer supplied none, or never reached checkout), or \"unavailable\" (the payment processor could not be asked — retry; this is NOT \"none supplied\")."
|
|
287
|
-
type: string
|
|
288
|
-
taxIdType:
|
|
289
|
-
description: "Which Brazilian tax id is held: br_cpf (individual) or br_cnpj (company). Present only when taxIdStatus is \"available\"."
|
|
290
|
-
type: string
|
|
291
|
-
taxIdValue:
|
|
292
|
-
description: The CPF/CNPJ as the customer entered it. Customer PII — present only when taxIdStatus is "available".
|
|
293
|
-
type: string
|
|
294
|
-
required:
|
|
295
|
-
- slug
|
|
296
|
-
- companyName
|
|
297
|
-
- email
|
|
298
|
-
- taxIdStatus
|
|
299
|
-
- overageUncoveredCents
|
|
300
|
-
type: object
|
|
301
|
-
AdminWorkspaceResult:
|
|
302
|
-
additionalProperties: false
|
|
303
|
-
properties:
|
|
304
|
-
action:
|
|
305
|
-
description: "The action applied: \"suspended\" or \"reactivated\"."
|
|
306
|
-
type: string
|
|
307
|
-
slug:
|
|
308
|
-
description: The workspace acted on.
|
|
309
|
-
type: string
|
|
310
|
-
required:
|
|
311
|
-
- slug
|
|
312
|
-
- action
|
|
313
|
-
type: object
|
|
314
242
|
AgeBucketDTO:
|
|
315
243
|
additionalProperties: false
|
|
316
244
|
properties:
|
|
@@ -1318,38 +1246,6 @@ components:
|
|
|
1318
1246
|
required:
|
|
1319
1247
|
- status
|
|
1320
1248
|
type: object
|
|
1321
|
-
CheckoutBody:
|
|
1322
|
-
additionalProperties: false
|
|
1323
|
-
properties:
|
|
1324
|
-
interval:
|
|
1325
|
-
description: "Billing interval: \"monthly\" or \"annual\". It selects the payment methods the session offers — monthly is card, annual is boleto and Pix."
|
|
1326
|
-
examples:
|
|
1327
|
-
- monthly
|
|
1328
|
-
maxLength: 16
|
|
1329
|
-
type: string
|
|
1330
|
-
plan:
|
|
1331
|
-
description: Plan code to subscribe to. Must be a self-serve plan in the price list.
|
|
1332
|
-
examples:
|
|
1333
|
-
- tier_1
|
|
1334
|
-
maxLength: 64
|
|
1335
|
-
type: string
|
|
1336
|
-
required:
|
|
1337
|
-
- plan
|
|
1338
|
-
- interval
|
|
1339
|
-
type: object
|
|
1340
|
-
CheckoutSessionResponse:
|
|
1341
|
-
additionalProperties: false
|
|
1342
|
-
properties:
|
|
1343
|
-
sessionId:
|
|
1344
|
-
description: "Processor-side session identifier, for support and correlation. It activates nothing: activation happens only through the verified webhook."
|
|
1345
|
-
type: string
|
|
1346
|
-
url:
|
|
1347
|
-
description: Hosted checkout URL. Redirect the browser here.
|
|
1348
|
-
type: string
|
|
1349
|
-
required:
|
|
1350
|
-
- url
|
|
1351
|
-
- sessionId
|
|
1352
|
-
type: object
|
|
1353
1249
|
CloneContextRequest:
|
|
1354
1250
|
additionalProperties: false
|
|
1355
1251
|
properties:
|
|
@@ -2609,75 +2505,6 @@ components:
|
|
|
2609
2505
|
- credentialId
|
|
2610
2506
|
- createdAt
|
|
2611
2507
|
type: object
|
|
2612
|
-
CreditLedgerEntry:
|
|
2613
|
-
additionalProperties: false
|
|
2614
|
-
properties:
|
|
2615
|
-
amountCents:
|
|
2616
|
-
description: "How much the balance moved, in integer BRL cents. SIGNED: positive for a purchase, negative for a debit, so the entries sum to the balance."
|
|
2617
|
-
format: int64
|
|
2618
|
-
type: integer
|
|
2619
|
-
balanceAfterCents:
|
|
2620
|
-
description: The balance this movement left behind, in integer BRL cents.
|
|
2621
|
-
format: int64
|
|
2622
|
-
type: integer
|
|
2623
|
-
createdAt:
|
|
2624
|
-
description: When the movement was recorded (UTC).
|
|
2625
|
-
format: date-time
|
|
2626
|
-
type: string
|
|
2627
|
-
period:
|
|
2628
|
-
description: The enforcement period a debit was taken FOR. Omitted on a purchase, which belongs to no period, and on a trial's lifetime debit, which has none.
|
|
2629
|
-
format: date-time
|
|
2630
|
-
type: string
|
|
2631
|
-
reason:
|
|
2632
|
-
description: "Why the balance moved: \"purchase\", \"overage_debit\", or \"overage_debit_shortfall\" (the debit could not be covered in full and took the balance to zero)."
|
|
2633
|
-
type: string
|
|
2634
|
-
stripePaymentId:
|
|
2635
|
-
description: The payment behind a purchase, for support and correlation. Omitted on a debit, which charges nothing.
|
|
2636
|
-
type: string
|
|
2637
|
-
required:
|
|
2638
|
-
- amountCents
|
|
2639
|
-
- balanceAfterCents
|
|
2640
|
-
- reason
|
|
2641
|
-
- createdAt
|
|
2642
|
-
type: object
|
|
2643
|
-
CreditLedgerPage:
|
|
2644
|
-
additionalProperties: false
|
|
2645
|
-
properties:
|
|
2646
|
-
entries:
|
|
2647
|
-
description: Recorded movements of the prepaid overage balance, newest first, capped server-side.
|
|
2648
|
-
items:
|
|
2649
|
-
$ref: "#/components/schemas/CreditLedgerEntry"
|
|
2650
|
-
type:
|
|
2651
|
-
- array
|
|
2652
|
-
- "null"
|
|
2653
|
-
required:
|
|
2654
|
-
- entries
|
|
2655
|
-
type: object
|
|
2656
|
-
CreditPurchaseBody:
|
|
2657
|
-
additionalProperties: false
|
|
2658
|
-
properties:
|
|
2659
|
-
amountCents:
|
|
2660
|
-
description: How much credit to buy, in integer cents (BRL). The minimum and maximum come from the price list.
|
|
2661
|
-
examples:
|
|
2662
|
-
- 50000
|
|
2663
|
-
format: int64
|
|
2664
|
-
type: integer
|
|
2665
|
-
required:
|
|
2666
|
-
- amountCents
|
|
2667
|
-
type: object
|
|
2668
|
-
CreditPurchaseResponse:
|
|
2669
|
-
additionalProperties: false
|
|
2670
|
-
properties:
|
|
2671
|
-
sessionId:
|
|
2672
|
-
description: "Processor-side session identifier, for support and correlation. It credits nothing: the balance moves only through the verified webhook."
|
|
2673
|
-
type: string
|
|
2674
|
-
url:
|
|
2675
|
-
description: Hosted payment URL. Redirect the browser here.
|
|
2676
|
-
type: string
|
|
2677
|
-
required:
|
|
2678
|
-
- url
|
|
2679
|
-
- sessionId
|
|
2680
|
-
type: object
|
|
2681
2508
|
CurrencyExposureResponse:
|
|
2682
2509
|
additionalProperties: false
|
|
2683
2510
|
properties:
|
|
@@ -6156,15 +5983,6 @@ components:
|
|
|
6156
5983
|
- createdAt
|
|
6157
5984
|
- updatedAt
|
|
6158
5985
|
type: object
|
|
6159
|
-
PortalSessionResponse:
|
|
6160
|
-
additionalProperties: false
|
|
6161
|
-
properties:
|
|
6162
|
-
url:
|
|
6163
|
-
description: Hosted customer-portal URL. Redirect the browser here. It is short-lived and single-customer.
|
|
6164
|
-
type: string
|
|
6165
|
-
required:
|
|
6166
|
-
- url
|
|
6167
|
-
type: object
|
|
6168
5986
|
ProcessCallbackRequest:
|
|
6169
5987
|
additionalProperties: false
|
|
6170
5988
|
properties:
|
|
@@ -7391,43 +7209,6 @@ components:
|
|
|
7391
7209
|
- left
|
|
7392
7210
|
- right
|
|
7393
7211
|
type: object
|
|
7394
|
-
SignupBody:
|
|
7395
|
-
additionalProperties: false
|
|
7396
|
-
properties:
|
|
7397
|
-
acceptTos:
|
|
7398
|
-
description: Must be true; acceptance is recorded with a timestamp.
|
|
7399
|
-
type: boolean
|
|
7400
|
-
companyName:
|
|
7401
|
-
description: Company/organization name; a URL-safe slug is derived from it.
|
|
7402
|
-
examples:
|
|
7403
|
-
- Acme Payments
|
|
7404
|
-
maxLength: 200
|
|
7405
|
-
type: string
|
|
7406
|
-
email:
|
|
7407
|
-
description: Work email; disposable domains are rejected.
|
|
7408
|
-
examples:
|
|
7409
|
-
- founder@acme.com
|
|
7410
|
-
maxLength: 254
|
|
7411
|
-
type: string
|
|
7412
|
-
password:
|
|
7413
|
-
description: Account password; 12–72 characters with letters and digits. The 72-byte cap is bcrypt's input limit.
|
|
7414
|
-
maxLength: 72
|
|
7415
|
-
type: string
|
|
7416
|
-
required:
|
|
7417
|
-
- email
|
|
7418
|
-
- password
|
|
7419
|
-
- companyName
|
|
7420
|
-
- acceptTos
|
|
7421
|
-
type: object
|
|
7422
|
-
SignupResponse:
|
|
7423
|
-
additionalProperties: false
|
|
7424
|
-
properties:
|
|
7425
|
-
message:
|
|
7426
|
-
description: Human-readable acknowledgement (identical for known and unknown emails).
|
|
7427
|
-
type: string
|
|
7428
|
-
required:
|
|
7429
|
-
- message
|
|
7430
|
-
type: object
|
|
7431
7212
|
SimulateFeeItem:
|
|
7432
7213
|
additionalProperties: false
|
|
7433
7214
|
properties:
|
|
@@ -8979,29 +8760,6 @@ components:
|
|
|
8979
8760
|
- adjustmentsApplied
|
|
8980
8761
|
- outstandingVariance
|
|
8981
8762
|
type: object
|
|
8982
|
-
VerifyBody:
|
|
8983
|
-
additionalProperties: false
|
|
8984
|
-
properties:
|
|
8985
|
-
token:
|
|
8986
|
-
description: The verification token from the signup email link.
|
|
8987
|
-
maxLength: 512
|
|
8988
|
-
type: string
|
|
8989
|
-
required:
|
|
8990
|
-
- token
|
|
8991
|
-
type: object
|
|
8992
|
-
VerifyResponse:
|
|
8993
|
-
additionalProperties: false
|
|
8994
|
-
properties:
|
|
8995
|
-
message:
|
|
8996
|
-
description: Human-readable verification result.
|
|
8997
|
-
type: string
|
|
8998
|
-
slug:
|
|
8999
|
-
description: Workspace handle (the company slug) whose setup is now under way. Empty when the link was already used or has expired.
|
|
9000
|
-
type: string
|
|
9001
|
-
required:
|
|
9002
|
-
- message
|
|
9003
|
-
- slug
|
|
9004
|
-
type: object
|
|
9005
8763
|
VersionBody:
|
|
9006
8764
|
additionalProperties: false
|
|
9007
8765
|
properties:
|
|
@@ -9076,125 +8834,12 @@ components:
|
|
|
9076
8834
|
- periodStart
|
|
9077
8835
|
- periodEnd
|
|
9078
8836
|
type: object
|
|
9079
|
-
WorkspaceAuthConfig:
|
|
9080
|
-
additionalProperties: false
|
|
9081
|
-
properties:
|
|
9082
|
-
clientId:
|
|
9083
|
-
description: OAuth client id of the workspace's console application.
|
|
9084
|
-
type: string
|
|
9085
|
-
issuer:
|
|
9086
|
-
description: Public base URL of the identity provider (the PKCE issuer).
|
|
9087
|
-
type: string
|
|
9088
|
-
organization:
|
|
9089
|
-
description: Identity-provider organization name for the workspace.
|
|
9090
|
-
type: string
|
|
9091
|
-
required:
|
|
9092
|
-
- clientId
|
|
9093
|
-
- organization
|
|
9094
|
-
- issuer
|
|
9095
|
-
type: object
|
|
9096
|
-
WorkspaceBilling:
|
|
9097
|
-
additionalProperties: false
|
|
9098
|
-
properties:
|
|
9099
|
-
billingStatus:
|
|
9100
|
-
description: "Commercial lifecycle: trialing, active, past_due, trial_expired (the free trial ran out of clock — the console stays readable and the upgrade path stays open), or suspended."
|
|
9101
|
-
type: string
|
|
9102
|
-
daysRemaining:
|
|
9103
|
-
description: Whole days left in the trial (time axis), derived server-side. 0 when there is no trial or it has already ended.
|
|
9104
|
-
format: int64
|
|
9105
|
-
type: integer
|
|
9106
|
-
expiryReason:
|
|
9107
|
-
description: "Why the trial is over: \"\" (not expired), \"time\", \"volume\", or \"time_and_volume\"."
|
|
9108
|
-
type: string
|
|
9109
|
-
linesRemaining:
|
|
9110
|
-
description: Free matched-line allotment left (volume axis), floored at 0. 0 when there is no trial or the allotment is spent.
|
|
9111
|
-
format: int64
|
|
9112
|
-
type: integer
|
|
9113
|
-
matchedLineLimit:
|
|
9114
|
-
description: Free-trial line ceiling the volume axis is measured against, read from the plan catalogue.
|
|
9115
|
-
format: int64
|
|
9116
|
-
type: integer
|
|
9117
|
-
matchedLines:
|
|
9118
|
-
description: "Lines consumed against the free-trial allotment (volume axis): distinct transactions matched, so a transaction re-matched under a different classification consumes one line and not two — the same figure the quota gate enforces on. Meaningful for a trialing or lapsed workspace; 0 for a paid plan."
|
|
9119
|
-
format: int64
|
|
9120
|
-
type: integer
|
|
9121
|
-
maxCreditPurchaseCents:
|
|
9122
|
-
description: Largest credit purchase the payment route accepts, in integer BRL cents.
|
|
9123
|
-
format: int64
|
|
9124
|
-
type: integer
|
|
9125
|
-
minCreditPurchaseCents:
|
|
9126
|
-
description: Smallest credit purchase the payment route accepts, in integer BRL cents.
|
|
9127
|
-
format: int64
|
|
9128
|
-
type: integer
|
|
9129
|
-
monthlyLineAllowance:
|
|
9130
|
-
description: Billable lines the plan includes per month, from the price list. Monthly on every plan regardless of billing interval. 0 when the plan is unmetered (see volumeUnmetered) or the stored plan code is not in the catalogue.
|
|
9131
|
-
format: int64
|
|
9132
|
-
type: integer
|
|
9133
|
-
overageCreditBalanceCents:
|
|
9134
|
-
description: Prepaid overage credit left, in integer BRL cents. Overage is debited from it daily; an exhausted balance blocks new matching, and unspent credit never expires.
|
|
9135
|
-
format: int64
|
|
9136
|
-
type: integer
|
|
9137
|
-
overageRateCentsPerThousandLines:
|
|
9138
|
-
description: What lines beyond the allowance cost, in integer BRL cents per THOUSAND lines (per-thousand because the entry rate is 0,4 cents a line and would truncate to zero). 0 when the plan is unmetered (see volumeUnmetered) or the stored plan code is not in the catalogue.
|
|
9139
|
-
format: int64
|
|
9140
|
-
type: integer
|
|
9141
|
-
overageUncoveredCents:
|
|
9142
|
-
description: "Overage already incurred that the credit balance has not covered, in integer BRL cents — what the workspace owes. It is a receivable and never a negative balance: a new billing period does NOT clear it, it survives a trial-to-paid conversion, and the next credit purchase settles it. 0 when nothing is owed."
|
|
9143
|
-
format: int64
|
|
9144
|
-
type: integer
|
|
9145
|
-
plan:
|
|
9146
|
-
description: Commercial plan the workspace is on ("free" or a paid tier).
|
|
9147
|
-
type: string
|
|
9148
|
-
provisioningFailed:
|
|
9149
|
-
description: Whether setup has terminally failed. A failed setup is NOT retried — re-driving it cannot resolve the cause — and is distinguishable from one still in progress without reading logs.
|
|
9150
|
-
type: boolean
|
|
9151
|
-
provisioningState:
|
|
9152
|
-
description: "Setup lifecycle of the workspace: \"provisioning\" (still being built), \"active\" (ready to use), or \"failed\" (setup will not complete on its own — we have been told)."
|
|
9153
|
-
type: string
|
|
9154
|
-
provisioningStep:
|
|
9155
|
-
description: "The setup step that is owed: \"create_tenant\", \"associate_service\", \"migrate_tenant\", \"provision_console\", \"grant_admin\", or \"\" when nothing is owed. On a failed workspace this is the step it died on."
|
|
9156
|
-
type: string
|
|
9157
|
-
trialEndsAt:
|
|
9158
|
-
description: When the free trial ends (UTC). Omitted for a paid plan that never trialed.
|
|
9159
|
-
format: date-time
|
|
9160
|
-
type: string
|
|
9161
|
-
trialExpired:
|
|
9162
|
-
description: Whether the trial is over on EITHER axis (time or volume), or the workspace is already suspended.
|
|
9163
|
-
type: boolean
|
|
9164
|
-
volumeUnmetered:
|
|
9165
|
-
description: "Whether this plan is unmetered: its volume ceiling and its overage price are contractual (enterprise) rather than from the price list. When true, monthlyLineAllowance and overageRateCentsPerThousandLines are both 0 because no figure applies — do NOT render them as terms, and do not read the zero rate as free overage."
|
|
9166
|
-
type: boolean
|
|
9167
|
-
required:
|
|
9168
|
-
- plan
|
|
9169
|
-
- billingStatus
|
|
9170
|
-
- daysRemaining
|
|
9171
|
-
- matchedLines
|
|
9172
|
-
- matchedLineLimit
|
|
9173
|
-
- linesRemaining
|
|
9174
|
-
- trialExpired
|
|
9175
|
-
- expiryReason
|
|
9176
|
-
- provisioningState
|
|
9177
|
-
- provisioningStep
|
|
9178
|
-
- provisioningFailed
|
|
9179
|
-
- volumeUnmetered
|
|
9180
|
-
- monthlyLineAllowance
|
|
9181
|
-
- overageRateCentsPerThousandLines
|
|
9182
|
-
- overageCreditBalanceCents
|
|
9183
|
-
- overageUncoveredCents
|
|
9184
|
-
- minCreditPurchaseCents
|
|
9185
|
-
- maxCreditPurchaseCents
|
|
9186
|
-
type: object
|
|
9187
8837
|
securitySchemes:
|
|
9188
8838
|
BearerAuth:
|
|
9189
8839
|
bearerFormat: JWT
|
|
9190
8840
|
description: JWT bearer token issued by the identity provider.
|
|
9191
8841
|
scheme: bearer
|
|
9192
8842
|
type: http
|
|
9193
|
-
BillingWebhookSignature:
|
|
9194
|
-
description: Timestamped HMAC-SHA256 over the raw request body under the configured signing secret, proving an inbound billing event originated from the payment processor and is inside its tolerance window.
|
|
9195
|
-
in: header
|
|
9196
|
-
name: Stripe-Signature
|
|
9197
|
-
type: apiKey
|
|
9198
8843
|
CallbackToken:
|
|
9199
8844
|
description: Opaque bearer token authenticating an external system's inbound exception callback.
|
|
9200
8845
|
in: header
|
|
@@ -9222,11 +8867,11 @@ info:
|
|
|
9222
8867
|
|
|
9223
8868
|
A retry must repeat the original request. On an ordinary route the body is part of what identifies it, so a completed key re-sent with a DIFFERENT body is refused with 422 and nothing is applied — send the correction under a new key. The two file routes (`POST /v1/imports/contexts/{contextId}/sources/{sourceId}/upload` and the matching `/preview`) consume their body as a live stream and cannot re-read it, so there the key itself is the identity under that method and path: a completed key re-sent replays the first answer whatever file the retry carries.
|
|
9224
8869
|
|
|
9225
|
-
A key is ONE attempt. A refusal the request earned is recorded like any other answer, and every resend under that key replays it for the retention window — a caller that wants to correct its request mints a new key.
|
|
8870
|
+
A key is ONE attempt. A refusal the request earned is recorded like any other answer, and every resend under that key replays it for the retention window — a caller that wants to correct its request mints a new key. Two answers do NOT spend the key, because neither is an answer to the request itself: a 429 from the rate limiter and a 502 with code `MTCH-0513`, where the dispatch target answered and DECLINED before anything was created there. Every other 5xx HOLDS the key, including that code's near neighbour, the dispatch whose outcome could not be confirmed (502, code `MTCH-0514`), whose exception may already exist in the target system: the outcome was not recorded, so every resend under that key is refused 409 and nothing is sent again. Deliberately attempting such an operation again therefore requires a NEW key.
|
|
9226
8871
|
|
|
9227
8872
|
`X-Idempotency-Fenced` rides every response whose outcome the guard could not receipt, a 2xx included. `true` means the hold landed: the key still protects the operation and every resend under it is refused 409. Only `false` means a resend would EXECUTE — the answer in hand may already have applied and the key no longer protects it, so check whether the first attempt took effect before sending anything again.
|
|
9228
8873
|
|
|
9229
|
-
Two bounds close the contract. A response larger than about 1 MB is delivered to its caller in full, but it is not stored for replay: a duplicate under the same key is answered 409 instead of replayed. And an over-sized body is refused with 413 and spends nothing. On every route but one the service-wide request body limit refuses it before the key is read. The streaming upload (`POST /v1/imports/contexts/{contextId}/sources/{sourceId}/upload`) is exempt from that limit: the key is read first and ingestion enforces its own upload limit inside the handler, so its 413 is a
|
|
8874
|
+
Two bounds close the contract. A response larger than about 1 MB is delivered to its caller in full, but it is not stored for replay: a duplicate under the same key is answered 409 instead of replayed. And an over-sized body is refused with 413 and spends nothing. On every route but one the service-wide request body limit refuses it before the key is read. The streaming upload (`POST /v1/imports/contexts/{contextId}/sources/{sourceId}/upload`) is exempt from that limit: the key is read first and ingestion enforces its own upload limit inside the handler, so its 413 is a third answer that releases the key, and a smaller file may be re-sent under it.
|
|
9230
8875
|
|
|
9231
8876
|
Secret mints are another, sharper exception. `POST /v1/discovery/aggregator-connections/{id}/connect-token`, `POST /v1/discovery/webhooks/tokens`, `POST /v1/exceptions/callbacks/credentials` and `POST /v1/exceptions/callbacks/credentials/{credentialId}/rotate` each return a raw credential exactly ONCE, and storing that answer would keep the secret re-readable for the life of the key — so those four routes IGNORE the idempotency header entirely. Nothing is stored, nothing is replayed, and `X-Idempotency-Replayed` is never sent on them. A retry under the same key MINTS AGAIN and leaves a second live credential behind, so treat a mint as non-idempotent: read the first attempt's response rather than resending it. A surplus callback credential can be revoked through its own operation; a surplus aggregator webhook token has no revoke operation today and stays live.
|
|
9232
8877
|
license:
|
|
@@ -9282,169 +8927,6 @@ paths:
|
|
|
9282
8927
|
summary: Readiness check
|
|
9283
8928
|
tags:
|
|
9284
8929
|
- Health
|
|
9285
|
-
/v1/admin/workspaces/{slug}/billing:
|
|
9286
|
-
get:
|
|
9287
|
-
description: "Returns what a human needs to issue this workspace's NFS-e by hand: the legal name, the billing contact, the CPF/CNPJ the customer supplied at checkout — read through from the payment processor on demand, never stored on this side — and the standing unpaid overage the invoice is for, in integer BRL cents. That amount is a receivable, not a negative balance: a new billing period does not clear it and it survives a trial-to-paid conversion, so what an operator reads here is what the customer still owes. taxIdStatus distinguishes \"available\" from \"not_collected\" (the customer supplied none) and \"unavailable\" (the processor could not be asked), so an unreachable processor degrades to a stated answer instead of an error and is never mistaken for a customer with no tax id. The tax id is customer PII and is returned ONLY here, to an operator gated by the workspace admin action; it is never logged or traced. The target slug comes from the URL path: this is a backoffice operation, NOT a tenant-scoped route. An unknown workspace returns 404. Errors use RFC 9457 problem+json."
|
|
9288
|
-
operationId: admin-workspace-billing
|
|
9289
|
-
parameters:
|
|
9290
|
-
- description: Slug of the workspace to act on.
|
|
9291
|
-
in: path
|
|
9292
|
-
name: slug
|
|
9293
|
-
required: true
|
|
9294
|
-
schema:
|
|
9295
|
-
description: Slug of the workspace to act on.
|
|
9296
|
-
maxLength: 255
|
|
9297
|
-
type: string
|
|
9298
|
-
responses:
|
|
9299
|
-
"200":
|
|
9300
|
-
content:
|
|
9301
|
-
application/json:
|
|
9302
|
-
schema:
|
|
9303
|
-
$ref: "#/components/schemas/AdminWorkspaceBilling"
|
|
9304
|
-
description: OK
|
|
9305
|
-
default:
|
|
9306
|
-
content:
|
|
9307
|
-
application/problem+json:
|
|
9308
|
-
schema:
|
|
9309
|
-
$ref: "#/components/schemas/Detail"
|
|
9310
|
-
description: Error
|
|
9311
|
-
security:
|
|
9312
|
-
- BearerAuth: []
|
|
9313
|
-
summary: Read a workspace's invoicing identification (backoffice)
|
|
9314
|
-
tags:
|
|
9315
|
-
- Onboarding
|
|
9316
|
-
/v1/admin/workspaces/{slug}/plan:
|
|
9317
|
-
put:
|
|
9318
|
-
description: "Puts a workspace on the contractual enterprise plan: persists plan=enterprise and billing_status=active together, then evicts the billing edge-gate and volume-resolver caches so the contractual ceiling applies immediately. ONLY \"enterprise\" is accepted. This is not a generic set-plan operation: self-serve plans are bought through hosted checkout and converged from the live subscription's price, so assigning one by hand would be a payment-processor bypass that the next processor delivery silently reverts — any other plan code returns 409. It REFUSES a workspace whose subscription the payment processor could still bill (409): the operator cancels there first, where the proration and refund decision gets human eyes, and this route never moves processor money. That refusal covers every subscription that is not permanently over — one awaiting card authentication or one that is paused is not charging today and resumes tomorrow, and it would revert this plan the moment it does; only a cancelled or expired subscription is assignable over. If the processor cannot be asked, the request is refused as retryable (503) rather than allowed through. A suspended workspace is refused (409) because this operation moves no access posture — reactivate it first, and the write is compare-and-swapped on the status read, so a suspension landing mid-request is refused rather than reversed. There is no reverse: removing the enterprise plan is not offered. The target slug comes from the URL path (backoffice operation, workspace admin action). An unknown workspace returns 404. Errors use RFC 9457 problem+json. Every refusal on this route carries its own product code, because the sentence of a 503 is scrubbed before it leaves the process and the code is then the whole answer: 409 MTCH-0803 (a subscription the processor can still bill — cancel it there first), 409 MTCH-0804 (a plan code other than enterprise), 409 MTCH-0805 (the workspace's billing status does not allow the change — reload it), 503 MTCH-0802 (the processor could not be asked — retry) and 503 MTCH-0801 (no payment processor is configured on this deployment — NO retry clears it; the lever is configuration). MTCH-0805 is the same code the suspend and reactivate routes answer for a refused billing-status transition."
|
|
9319
|
-
operationId: admin-assign-workspace-plan
|
|
9320
|
-
parameters:
|
|
9321
|
-
- description: Slug of the workspace to assign the plan to.
|
|
9322
|
-
in: path
|
|
9323
|
-
name: slug
|
|
9324
|
-
required: true
|
|
9325
|
-
schema:
|
|
9326
|
-
description: Slug of the workspace to assign the plan to.
|
|
9327
|
-
maxLength: 255
|
|
9328
|
-
type: string
|
|
9329
|
-
requestBody:
|
|
9330
|
-
content:
|
|
9331
|
-
application/json:
|
|
9332
|
-
schema:
|
|
9333
|
-
$ref: "#/components/schemas/AdminAssignPlanInputBody"
|
|
9334
|
-
required: true
|
|
9335
|
-
responses:
|
|
9336
|
-
"200":
|
|
9337
|
-
content:
|
|
9338
|
-
application/json:
|
|
9339
|
-
schema:
|
|
9340
|
-
$ref: "#/components/schemas/AdminAssignPlanResult"
|
|
9341
|
-
description: OK
|
|
9342
|
-
default:
|
|
9343
|
-
content:
|
|
9344
|
-
application/problem+json:
|
|
9345
|
-
schema:
|
|
9346
|
-
$ref: "#/components/schemas/Detail"
|
|
9347
|
-
description: Error
|
|
9348
|
-
security:
|
|
9349
|
-
- BearerAuth: []
|
|
9350
|
-
summary: Assign the enterprise plan to a workspace (backoffice)
|
|
9351
|
-
tags:
|
|
9352
|
-
- Onboarding
|
|
9353
|
-
/v1/admin/workspaces/{slug}/reactivate:
|
|
9354
|
-
put:
|
|
9355
|
-
description: "Restores a suspended workspace: persists billing_status=active, re-enables interactive console login at the IdP, reactivates the tenant at the Tenant Manager (best-effort), and evicts the billing edge-gate cache. The target slug comes from the URL path (backoffice operation, workspace admin action). Idempotent. Errors use RFC 9457 problem+json."
|
|
9356
|
-
operationId: admin-reactivate-workspace
|
|
9357
|
-
parameters:
|
|
9358
|
-
- description: Slug of the workspace to act on.
|
|
9359
|
-
in: path
|
|
9360
|
-
name: slug
|
|
9361
|
-
required: true
|
|
9362
|
-
schema:
|
|
9363
|
-
description: Slug of the workspace to act on.
|
|
9364
|
-
maxLength: 255
|
|
9365
|
-
type: string
|
|
9366
|
-
responses:
|
|
9367
|
-
"200":
|
|
9368
|
-
content:
|
|
9369
|
-
application/json:
|
|
9370
|
-
schema:
|
|
9371
|
-
$ref: "#/components/schemas/AdminWorkspaceResult"
|
|
9372
|
-
description: OK
|
|
9373
|
-
default:
|
|
9374
|
-
content:
|
|
9375
|
-
application/problem+json:
|
|
9376
|
-
schema:
|
|
9377
|
-
$ref: "#/components/schemas/Detail"
|
|
9378
|
-
description: Error
|
|
9379
|
-
security:
|
|
9380
|
-
- BearerAuth: []
|
|
9381
|
-
summary: Reactivate a suspended workspace (backoffice)
|
|
9382
|
-
tags:
|
|
9383
|
-
- Onboarding
|
|
9384
|
-
/v1/admin/workspaces/{slug}/suspend:
|
|
9385
|
-
put:
|
|
9386
|
-
description: "Suspends a workspace's commercial access: persists billing_status=suspended (source of truth), cuts interactive console login at the IdP, suspends the tenant's matcher service association at the Tenant Manager (best-effort), and evicts the billing edge-gate cache so API traffic is cut within the gate TTL. The target slug comes from the URL path: this is a backoffice operation gated by the workspace admin action, NOT a tenant-scoped route — the operator acts across workspaces. Idempotent. Errors use RFC 9457 problem+json."
|
|
9387
|
-
operationId: admin-suspend-workspace
|
|
9388
|
-
parameters:
|
|
9389
|
-
- description: Slug of the workspace to act on.
|
|
9390
|
-
in: path
|
|
9391
|
-
name: slug
|
|
9392
|
-
required: true
|
|
9393
|
-
schema:
|
|
9394
|
-
description: Slug of the workspace to act on.
|
|
9395
|
-
maxLength: 255
|
|
9396
|
-
type: string
|
|
9397
|
-
responses:
|
|
9398
|
-
"200":
|
|
9399
|
-
content:
|
|
9400
|
-
application/json:
|
|
9401
|
-
schema:
|
|
9402
|
-
$ref: "#/components/schemas/AdminWorkspaceResult"
|
|
9403
|
-
description: OK
|
|
9404
|
-
default:
|
|
9405
|
-
content:
|
|
9406
|
-
application/problem+json:
|
|
9407
|
-
schema:
|
|
9408
|
-
$ref: "#/components/schemas/Detail"
|
|
9409
|
-
description: Error
|
|
9410
|
-
security:
|
|
9411
|
-
- BearerAuth: []
|
|
9412
|
-
summary: Suspend a workspace (backoffice)
|
|
9413
|
-
tags:
|
|
9414
|
-
- Onboarding
|
|
9415
|
-
/v1/billing/webhook:
|
|
9416
|
-
post:
|
|
9417
|
-
description: "Receives a signed billing event from the payment processor and applies it to the workspace's commercial state. This route carries NO operator JWT and no tenant identifier of any kind: a processor event has no tenant until its customer id is resolved server-side. Authentication is the Stripe-Signature signature over the RAW request body, verified inside the processor's own tolerance window. It is fail-closed on configuration — with no signing secret configured every event is rejected, and there is no value that means accept anything. Delivery is idempotent by the processor's event id: a redelivery of an event already applied returns a quiet 200 and changes nothing, an event still being applied elsewhere returns 503 so the processor retries, and an event id reused with a DIFFERENT body is a 409 rather than an acknowledgement. A processing failure returns 5xx and never records the event as applied, so the processor's retry reclaims it. Errors use the RFC 9457 application/problem+json contract and never echo the signature, the secret or the body. The divergent-replay conflict carries its own product code, 409 MTCH-0811."
|
|
9418
|
-
operationId: receiveBillingWebhook
|
|
9419
|
-
parameters:
|
|
9420
|
-
- description: The processor's signature over the raw body, verified inside the processor's own tolerance window.
|
|
9421
|
-
in: header
|
|
9422
|
-
name: Stripe-Signature
|
|
9423
|
-
schema:
|
|
9424
|
-
description: The processor's signature over the raw body, verified inside the processor's own tolerance window.
|
|
9425
|
-
type: string
|
|
9426
|
-
requestBody:
|
|
9427
|
-
content:
|
|
9428
|
-
application/octet-stream:
|
|
9429
|
-
schema:
|
|
9430
|
-
contentMediaType: application/octet-stream
|
|
9431
|
-
format: binary
|
|
9432
|
-
type: string
|
|
9433
|
-
required: true
|
|
9434
|
-
responses:
|
|
9435
|
-
"200":
|
|
9436
|
-
description: OK
|
|
9437
|
-
default:
|
|
9438
|
-
content:
|
|
9439
|
-
application/problem+json:
|
|
9440
|
-
schema:
|
|
9441
|
-
$ref: "#/components/schemas/Detail"
|
|
9442
|
-
description: Error
|
|
9443
|
-
security:
|
|
9444
|
-
- BillingWebhookSignature: []
|
|
9445
|
-
summary: Receive a payment-processor billing event
|
|
9446
|
-
tags:
|
|
9447
|
-
- Onboarding
|
|
9448
8930
|
/v1/contexts:
|
|
9449
8931
|
get:
|
|
9450
8932
|
description: Returns a cursor-paginated list of reconciliation contexts, optionally filtered by type and status.
|
|
@@ -17067,219 +16549,6 @@ paths:
|
|
|
17067
16549
|
summary: Export variance report
|
|
17068
16550
|
tags:
|
|
17069
16551
|
- Reporting
|
|
17070
|
-
/v1/signup:
|
|
17071
|
-
post:
|
|
17072
|
-
description: "Starts self-service onboarding. This is a PUBLIC, anonymous, pre-tenant route: it carries no operator JWT and creates no account yet. It validates the payload (email, password policy, company name, and mandatory Terms of Service acceptance) and stores a pending record whose TTL is the whole expiry mechanism. A company name whose derived slug is reserved (e.g. admin, api, www) is rejected with a 400 application/problem+json error. To prevent account enumeration, an email that is already registered or pending returns the SAME 202 response as a new one; a repeat signup for a still-pending email re-sends the verification email, throttled per address. The route is rate-limited per client IP. All errors use the RFC 9457 application/problem+json contract."
|
|
17073
|
-
operationId: signup
|
|
17074
|
-
requestBody:
|
|
17075
|
-
content:
|
|
17076
|
-
application/json:
|
|
17077
|
-
schema:
|
|
17078
|
-
$ref: "#/components/schemas/SignupBody"
|
|
17079
|
-
required: true
|
|
17080
|
-
responses:
|
|
17081
|
-
"202":
|
|
17082
|
-
content:
|
|
17083
|
-
application/json:
|
|
17084
|
-
schema:
|
|
17085
|
-
$ref: "#/components/schemas/SignupResponse"
|
|
17086
|
-
description: Accepted
|
|
17087
|
-
default:
|
|
17088
|
-
content:
|
|
17089
|
-
application/problem+json:
|
|
17090
|
-
schema:
|
|
17091
|
-
$ref: "#/components/schemas/Detail"
|
|
17092
|
-
description: Error
|
|
17093
|
-
security: []
|
|
17094
|
-
summary: Create a self-service signup
|
|
17095
|
-
tags:
|
|
17096
|
-
- Onboarding
|
|
17097
|
-
/v1/signup/verify:
|
|
17098
|
-
post:
|
|
17099
|
-
description: "Completes email verification and starts self-service onboarding. This is a PUBLIC, anonymous, pre-tenant route: it exchanges the emailed verification token for a workspace whose setup is now under way, and returns the workspace handle. It does NOT wait for setup to finish — creating the environment includes a schema migration whose duration the server does not control, so a background worker drives it to completion and the response comes back immediately. It is idempotent: a repeat call records nothing new, and a token that no longer resolves (already used or expired) returns the same 200 response. The route is rate-limited per client IP. Its two conflicts carry their own product codes, and they are not the same answer: 409 MTCH-0812 (the workspace already exists and MAY be the caller's own — sign in, or sign up under another company name) and 409 MTCH-0813 (the name belongs to another account — only a different company name clears it)."
|
|
17100
|
-
operationId: signup-verify
|
|
17101
|
-
requestBody:
|
|
17102
|
-
content:
|
|
17103
|
-
application/json:
|
|
17104
|
-
schema:
|
|
17105
|
-
$ref: "#/components/schemas/VerifyBody"
|
|
17106
|
-
required: true
|
|
17107
|
-
responses:
|
|
17108
|
-
"200":
|
|
17109
|
-
content:
|
|
17110
|
-
application/json:
|
|
17111
|
-
schema:
|
|
17112
|
-
$ref: "#/components/schemas/VerifyResponse"
|
|
17113
|
-
description: OK
|
|
17114
|
-
default:
|
|
17115
|
-
content:
|
|
17116
|
-
application/problem+json:
|
|
17117
|
-
schema:
|
|
17118
|
-
$ref: "#/components/schemas/Detail"
|
|
17119
|
-
description: Error
|
|
17120
|
-
security: []
|
|
17121
|
-
summary: Verify a self-service signup
|
|
17122
|
-
tags:
|
|
17123
|
-
- Onboarding
|
|
17124
|
-
/v1/workspace/billing:
|
|
17125
|
-
get:
|
|
17126
|
-
description: "Returns the authenticated tenant's own commercial state: its plan, billing status, and BOTH trial axes — the time axis (trial deadline + whole days remaining) and the volume axis (matched lines consumed, the free-tier ceiling, and lines remaining) — plus the unified trial-expiry verdict (whether the trial is over and why), all derived server-side. The tenant is resolved from the JWT tenant-slug claim — this endpoint never accepts a tenant identifier in the request and can only read the caller's own workspace. A tenant with no self-serve workspace record (the default/system tenant, or an unknown slug) returns 404. Errors use the RFC 9457 application/problem+json contract."
|
|
17127
|
-
operationId: workspace-billing
|
|
17128
|
-
responses:
|
|
17129
|
-
"200":
|
|
17130
|
-
content:
|
|
17131
|
-
application/json:
|
|
17132
|
-
schema:
|
|
17133
|
-
$ref: "#/components/schemas/WorkspaceBilling"
|
|
17134
|
-
description: OK
|
|
17135
|
-
default:
|
|
17136
|
-
content:
|
|
17137
|
-
application/problem+json:
|
|
17138
|
-
schema:
|
|
17139
|
-
$ref: "#/components/schemas/Detail"
|
|
17140
|
-
description: Error
|
|
17141
|
-
security:
|
|
17142
|
-
- BearerAuth: []
|
|
17143
|
-
summary: Read the current workspace's commercial state
|
|
17144
|
-
tags:
|
|
17145
|
-
- Onboarding
|
|
17146
|
-
/v1/workspace/billing-portal:
|
|
17147
|
-
post:
|
|
17148
|
-
description: "Opens the payment processor's hosted customer portal for the AUTHENTICATED tenant's own workspace and returns the URL to redirect the browser to. Card update, invoice history and cancellation live there, not here; cancellation takes effect at the end of the period already paid for. Errors use the RFC 9457 application/problem+json contract. Its two refusals carry their own product codes: 409 MTCH-0806 (plan set by contract, so there is no self-serve subscription to manage) and 409 MTCH-0810 (no billing account yet — subscribe first)."
|
|
17149
|
-
operationId: workspace-billing-portal
|
|
17150
|
-
responses:
|
|
17151
|
-
"200":
|
|
17152
|
-
content:
|
|
17153
|
-
application/json:
|
|
17154
|
-
schema:
|
|
17155
|
-
$ref: "#/components/schemas/PortalSessionResponse"
|
|
17156
|
-
description: OK
|
|
17157
|
-
default:
|
|
17158
|
-
content:
|
|
17159
|
-
application/problem+json:
|
|
17160
|
-
schema:
|
|
17161
|
-
$ref: "#/components/schemas/Detail"
|
|
17162
|
-
description: Error
|
|
17163
|
-
security:
|
|
17164
|
-
- BearerAuth: []
|
|
17165
|
-
summary: Open the customer billing portal for the current workspace
|
|
17166
|
-
tags:
|
|
17167
|
-
- Onboarding
|
|
17168
|
-
/v1/workspace/checkout:
|
|
17169
|
-
post:
|
|
17170
|
-
description: "Opens a hosted checkout session that subscribes the AUTHENTICATED tenant's own workspace to a self-serve plan, and returns the URL to redirect the browser to. The workspace is resolved from the JWT tenant-slug claim: this endpoint never accepts a tenant identifier in the body, path, query or headers, and the session is bound to the caller's tenant. The billing interval selects the payment methods — monthly is card, annual is boleto and Pix — so a session is never created with an instrument the amount cannot clear. A plan that is not self-serve, an unknown plan or interval, and a workspace that already has a subscription are all refused before the processor is called. The return URLs carry no activation-bearing parameter: the plan is activated only by the verified webhook, and the return page reads the resulting state from GET /v1/workspace/billing. Errors use the RFC 9457 application/problem+json contract. Each refusal carries its own product code so a client never has to read the sentence: 409 MTCH-0806 (plan set by contract), 409 MTCH-0807 (already subscribed), 409 MTCH-0808 (a checkout is open for a different plan or interval), 409 MTCH-0809 (a checkout is being opened right now — retry), 422 MTCH-0814 (the plan is not sold self-serve) and 400 MTCH-0001 (unknown plan or interval)."
|
|
17171
|
-
operationId: workspace-checkout
|
|
17172
|
-
requestBody:
|
|
17173
|
-
content:
|
|
17174
|
-
application/json:
|
|
17175
|
-
schema:
|
|
17176
|
-
$ref: "#/components/schemas/CheckoutBody"
|
|
17177
|
-
required: true
|
|
17178
|
-
responses:
|
|
17179
|
-
"200":
|
|
17180
|
-
content:
|
|
17181
|
-
application/json:
|
|
17182
|
-
schema:
|
|
17183
|
-
$ref: "#/components/schemas/CheckoutSessionResponse"
|
|
17184
|
-
description: OK
|
|
17185
|
-
default:
|
|
17186
|
-
content:
|
|
17187
|
-
application/problem+json:
|
|
17188
|
-
schema:
|
|
17189
|
-
$ref: "#/components/schemas/Detail"
|
|
17190
|
-
description: Error
|
|
17191
|
-
security:
|
|
17192
|
-
- BearerAuth: []
|
|
17193
|
-
summary: Open a subscription checkout for the current workspace
|
|
17194
|
-
tags:
|
|
17195
|
-
- Onboarding
|
|
17196
|
-
/v1/workspace/credit-ledger:
|
|
17197
|
-
get:
|
|
17198
|
-
description: "Returns the AUTHENTICATED tenant's own prepaid overage-credit movements, newest first: every purchase and every daily overage debit, each with its signed amount, the balance it left behind, and why it happened. The daily debit only does its job if the customer can see it — a balance that moves with no readable explanation is money nobody can reconcile. The workspace is resolved from the JWT tenant-slug claim: this endpoint never accepts a tenant identifier in the request and can only read the caller's own movements. The result is capped server-side and has no pagination. A tenant with no self-serve workspace record returns 404. Errors use the RFC 9457 application/problem+json contract."
|
|
17199
|
-
operationId: workspace-credit-ledger
|
|
17200
|
-
responses:
|
|
17201
|
-
"200":
|
|
17202
|
-
content:
|
|
17203
|
-
application/json:
|
|
17204
|
-
schema:
|
|
17205
|
-
$ref: "#/components/schemas/CreditLedgerPage"
|
|
17206
|
-
description: OK
|
|
17207
|
-
default:
|
|
17208
|
-
content:
|
|
17209
|
-
application/problem+json:
|
|
17210
|
-
schema:
|
|
17211
|
-
$ref: "#/components/schemas/Detail"
|
|
17212
|
-
description: Error
|
|
17213
|
-
security:
|
|
17214
|
-
- BearerAuth: []
|
|
17215
|
-
summary: Read the current workspace's prepaid-credit movements
|
|
17216
|
-
tags:
|
|
17217
|
-
- Onboarding
|
|
17218
|
-
/v1/workspace/credit-purchase:
|
|
17219
|
-
post:
|
|
17220
|
-
description: "Opens a ONE-OFF hosted payment session that buys prepaid overage credit for the AUTHENTICATED tenant's own workspace, and returns the URL to redirect the browser to. It is never a subscription. The workspace is resolved from the JWT tenant-slug claim: this endpoint never accepts a tenant identifier in the body, path, query or headers. Any workspace on a self-serve plan may buy — trialing, lapsed, monthly or annual — because the customer who has run out of allowance is the one being told to buy. A workspace on a CONTRACTUAL plan is refused with 409: its volume is not metered, so prepaid overage credit buys it nothing. Payment is by CARD on every plan, including annual: the instrument that funds overage credit is deliberately not the subscription's instrument, and the card is saved for future CREDIT purchases only. An amount outside the price list's minimum and maximum is refused before the processor is called. The credit balance moves ONLY when the processor confirms the payment through the verified webhook — never on the return page and never in this response. Errors use the RFC 9457 application/problem+json contract. Its two refusals carry their own product codes: 422 MTCH-0815 (the amount is outside the purchasable range) and 409 MTCH-0806 (plan set by contract, so volume is not metered and credit buys nothing)."
|
|
17221
|
-
operationId: workspace-credit-purchase
|
|
17222
|
-
requestBody:
|
|
17223
|
-
content:
|
|
17224
|
-
application/json:
|
|
17225
|
-
schema:
|
|
17226
|
-
$ref: "#/components/schemas/CreditPurchaseBody"
|
|
17227
|
-
required: true
|
|
17228
|
-
responses:
|
|
17229
|
-
"200":
|
|
17230
|
-
content:
|
|
17231
|
-
application/json:
|
|
17232
|
-
schema:
|
|
17233
|
-
$ref: "#/components/schemas/CreditPurchaseResponse"
|
|
17234
|
-
description: OK
|
|
17235
|
-
default:
|
|
17236
|
-
content:
|
|
17237
|
-
application/problem+json:
|
|
17238
|
-
schema:
|
|
17239
|
-
$ref: "#/components/schemas/Detail"
|
|
17240
|
-
description: Error
|
|
17241
|
-
security:
|
|
17242
|
-
- BearerAuth: []
|
|
17243
|
-
summary: Buy prepaid overage credit for the current workspace
|
|
17244
|
-
tags:
|
|
17245
|
-
- Onboarding
|
|
17246
|
-
/v1/workspaces/{slug}/auth-config:
|
|
17247
|
-
get:
|
|
17248
|
-
description: "Resolves the minimum a browser needs to start a PKCE login for a workspace: the console OAuth client id, the identity-provider organization, and the public issuer URL. This is a PUBLIC, anonymous, read-only, pre-tenant route: it carries no operator JWT and returns nothing about the account, its owner, or its lifecycle. It answers only for ACTIVE workspaces; a nonexistent, still-provisioning, or suspended workspace returns an IDENTICAL 404 (no enumeration of lifecycle state). The response is briefly cacheable and the route is rate-limited per client IP. Errors use the RFC 9457 application/problem+json contract."
|
|
17249
|
-
operationId: workspace-auth-config
|
|
17250
|
-
parameters:
|
|
17251
|
-
- description: Workspace slug as typed on the login screen.
|
|
17252
|
-
in: path
|
|
17253
|
-
name: slug
|
|
17254
|
-
required: true
|
|
17255
|
-
schema:
|
|
17256
|
-
description: Workspace slug as typed on the login screen.
|
|
17257
|
-
examples:
|
|
17258
|
-
- acme
|
|
17259
|
-
maxLength: 63
|
|
17260
|
-
type: string
|
|
17261
|
-
responses:
|
|
17262
|
-
"200":
|
|
17263
|
-
content:
|
|
17264
|
-
application/json:
|
|
17265
|
-
schema:
|
|
17266
|
-
$ref: "#/components/schemas/WorkspaceAuthConfig"
|
|
17267
|
-
description: OK
|
|
17268
|
-
headers:
|
|
17269
|
-
Cache-Control:
|
|
17270
|
-
schema:
|
|
17271
|
-
description: Short public cache lifetime for the login config.
|
|
17272
|
-
type: string
|
|
17273
|
-
default:
|
|
17274
|
-
content:
|
|
17275
|
-
application/problem+json:
|
|
17276
|
-
schema:
|
|
17277
|
-
$ref: "#/components/schemas/Detail"
|
|
17278
|
-
description: Error
|
|
17279
|
-
security: []
|
|
17280
|
-
summary: Resolve a workspace's public login configuration
|
|
17281
|
-
tags:
|
|
17282
|
-
- Onboarding
|
|
17283
16552
|
/version:
|
|
17284
16553
|
get:
|
|
17285
16554
|
description: Returns the service build version (from the VERSION environment variable, default 0.0.0) and the server UTC timestamp.
|
package/package.json
CHANGED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
// `workspace_usage` — curated GET /v1/workspace/billing, the ONE tenant-usage
|
|
2
|
-
// surface, plus the single derived number the answer needs.
|
|
3
|
-
//
|
|
4
|
-
// "How much of my free tier is left?" is the question the copilot is expected to
|
|
5
|
-
// answer (and to raise proactively), and until now it could only be reached by
|
|
6
|
-
// the generic trio — which requires the model to already know the operationId
|
|
7
|
-
// `workspace-billing`. Cost of curating it: one tool, no input, read-only.
|
|
8
|
-
//
|
|
9
|
-
// The backend is the authority on the verdict: `trialExpired` / `expiryReason` /
|
|
10
|
-
// `daysRemaining` / `linesRemaining` are all derived by the TrialExpiry oracle
|
|
11
|
-
// server-side and are relayed VERBATIM here — this tool never re-decides whether
|
|
12
|
-
// a trial is over. It adds exactly one field, `usedPercent`, because that is
|
|
13
|
-
// presentation (the shape of the answer), not enforcement.
|
|
14
|
-
//
|
|
15
|
-
// There is no input at all: the tenant comes from the relayed token's claims, so
|
|
16
|
-
// there is nothing for a caller to pass — and nothing that could be spoofed.
|
|
17
|
-
import { dispatchToolRequest } from '../shared-dispatch.js';
|
|
18
|
-
/** The billing read path (tenant-scoped; tenant resolved from the token, not the path). */
|
|
19
|
-
const WORKSPACE_BILLING_PATH = '/v1/workspace/billing';
|
|
20
|
-
/**
|
|
21
|
-
* Free-tier consumption as an already-scaled percent, rounded to one decimal, or
|
|
22
|
-
* `null` when no honest percentage exists.
|
|
23
|
-
*
|
|
24
|
-
* Normally 0..100, but NOT clamped there: the matched-line counter is monotonic
|
|
25
|
-
* and uncapped and the quota gate only refuses the next request, so a run already
|
|
26
|
-
* in flight overshoots the cap. Clamping would hide the overshoot; the true
|
|
27
|
-
* number is the honest answer, and the tool description says it can exceed 100.
|
|
28
|
-
*
|
|
29
|
-
* `null` off-trial is the point, not a fallback: the backend reads the
|
|
30
|
-
* matched-line counter ONLY for a trialing workspace, so a converted/paid tenant
|
|
31
|
-
* comes back with `matchedLines: 0` against a non-zero limit. Reporting that as
|
|
32
|
-
* "0% consumed" would tell the model a paid plan has a full free allotment
|
|
33
|
-
* waiting — it has no free-tier cap at all. Same for a non-positive limit or a
|
|
34
|
-
* missing figure: no denominator, no percentage.
|
|
35
|
-
*/
|
|
36
|
-
export function usedPercent(body) {
|
|
37
|
-
if (body?.billingStatus !== 'trialing') {
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
const { matchedLines, matchedLineLimit } = body;
|
|
41
|
-
if (typeof matchedLines !== 'number' || typeof matchedLineLimit !== 'number') {
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
if (!(matchedLineLimit > 0)) {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
// One decimal is all a spoken answer needs, and it keeps float noise
|
|
48
|
-
// (82.00000000000001) out of the model's context.
|
|
49
|
-
return Math.round((matchedLines / matchedLineLimit) * 1000) / 10;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Register `workspace_usage`. Reads the caller's own commercial state through the
|
|
53
|
-
* SHARED fail-closed relay — the additive percent rides its success-body
|
|
54
|
-
* transform, so the credential refusal and the RFC 9457 mapping are the shared
|
|
55
|
-
* ones rather than a local copy (that copy was BUG-06) — and returns the body
|
|
56
|
-
* verbatim plus `usedPercent`. A matcher error
|
|
57
|
-
* (404 for a tenant with no self-serve workspace, 403 MTCH-0021 for a
|
|
58
|
-
* billing-suspended one) surfaces via the shared toToolError, so the model can
|
|
59
|
-
* branch on `status`/`code` exactly as it does on every other tool.
|
|
60
|
-
*/
|
|
61
|
-
export function registerWorkspaceUsageTool(server) {
|
|
62
|
-
server.registerTool('workspace_usage', {
|
|
63
|
-
description: "Report how much of the free tier is left for the caller's own " +
|
|
64
|
-
'workspace. Takes NO arguments — the workspace is resolved from your ' +
|
|
65
|
-
'relayed credential, so there is no tenant to pass. Returns the ' +
|
|
66
|
-
'commercial state as the backend derives it: plan; billingStatus ' +
|
|
67
|
-
'(trialing, active, past_due, suspended); the TIME axis (trialEndsAt, ' +
|
|
68
|
-
'daysRemaining); the VOLUME axis (matchedLines consumed, ' +
|
|
69
|
-
'matchedLineLimit, linesRemaining); the unified verdict (trialExpired, ' +
|
|
70
|
-
'and expiryReason — "", "time", "volume", or "time_and_volume"); plus ' +
|
|
71
|
-
'usedPercent, the volume axis as a percentage — normally 0..100, but it ' +
|
|
72
|
-
'can exceed 100 when a match run already in flight walks past the cap ' +
|
|
73
|
-
'(the counter is uncapped and the quota gate only refuses the NEXT ' +
|
|
74
|
-
'request), and it is reported unclamped so the overshoot stays visible. ' +
|
|
75
|
-
'usedPercent is ' +
|
|
76
|
-
'null when the workspace is NOT trialing: a paid plan has no free-tier ' +
|
|
77
|
-
'cap, so its zeroed volume figures mean "not measured", not "nothing ' +
|
|
78
|
-
'consumed" — say the plan has no free-tier limit rather than quoting ' +
|
|
79
|
-
'0%. Never re-derive whether the trial is over; trialExpired and ' +
|
|
80
|
-
'expiryReason are the authority. Returns a structured RFC 9457 error on ' +
|
|
81
|
-
'failure (404 when the caller has no self-serve workspace, 403 ' +
|
|
82
|
-
'MTCH-0021 when billing has suspended it). Also returns the money in ' +
|
|
83
|
-
'both directions, in integer BRL cents: overageCreditBalanceCents ' +
|
|
84
|
-
'(prepaid credit left) and overageUncoveredCents (overage already ' +
|
|
85
|
-
'incurred that the credit did not cover — what the workspace OWES). ' +
|
|
86
|
-
'The second is a receivable, not a negative balance: a new billing ' +
|
|
87
|
-
'period does not clear it, so never tell a customer a rollover settled ' +
|
|
88
|
-
'it, and never report it as a credit. ' +
|
|
89
|
-
'When a commercial ACTION on this workspace is refused, the refusal ' +
|
|
90
|
-
'carries a code from onboarding\'s own MTCH-08xx family and the code is ' +
|
|
91
|
-
'the answer, not the sentence: 0801 no payment processor is configured ' +
|
|
92
|
-
'(retrying never clears it) vs 0802 the processor could not be asked ' +
|
|
93
|
-
'(retry) — both arrive as a 503 whose detail is scrubbed to "internal ' +
|
|
94
|
-
'error"; 0803 a subscription the processor can still bill; 0804 only ' +
|
|
95
|
-
'the enterprise plan is operator-assigned; 0805 the billing status ' +
|
|
96
|
-
'forbids the change; 0806 the plan is set by contract, so nothing ' +
|
|
97
|
-
'self-serve applies; 0807 already subscribed; 0808 a checkout is open ' +
|
|
98
|
-
'for a different plan or interval; 0809 a checkout is being opened ' +
|
|
99
|
-
'right now; 0810 no billing account yet; 0811 a billing event id was ' +
|
|
100
|
-
'replayed with different content; 0812 the workspace exists and may be ' +
|
|
101
|
-
'the caller\'s own; 0813 the name belongs to another account; 0814 the ' +
|
|
102
|
-
'plan is not sold self-serve; 0815 the credit amount is out of range.',
|
|
103
|
-
}, async (extra) => dispatchToolRequest({ method: 'GET', path: WORKSPACE_BILLING_PATH }, extra, undefined,
|
|
104
|
-
// Spread, don't rebuild: the backend's fields are relayed unchanged and
|
|
105
|
-
// the derived percent is purely additive.
|
|
106
|
-
(billing) => ({
|
|
107
|
-
...billing,
|
|
108
|
-
usedPercent: usedPercent(billing),
|
|
109
|
-
})));
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=usage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../../src/tools/workspace/usage.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4DAA4D;AAC5D,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,8EAA8E;AAC9E,2EAA2E;AAC3E,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,iFAAiF;AACjF,6EAA6E;AAC7E,2DAA2D;AAC3D,EAAE;AACF,iFAAiF;AACjF,6EAA6E;AAI7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,2FAA2F;AAC3F,MAAM,sBAAsB,GAAG,uBAAuB,CAAA;AAatD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CACzB,IAAsC;IAEtC,IAAI,IAAI,EAAE,aAAa,KAAK,UAAU,EAAE,CAAC;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;IAC/C,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qEAAqE;IACrE,kDAAkD;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,gBAAgB,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;AAClE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAiB;IAC1D,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EACT,gEAAgE;YAChE,sEAAsE;YACtE,iEAAiE;YACjE,kEAAkE;YAClE,uEAAuE;YACvE,0DAA0D;YAC1D,wEAAwE;YACxE,uEAAuE;YACvE,yEAAyE;YACzE,uEAAuE;YACvE,oEAAoE;YACpE,yEAAyE;YACzE,iBAAiB;YACjB,wEAAwE;YACxE,sEAAsE;YACtE,sEAAsE;YACtE,kEAAkE;YAClE,yEAAyE;YACzE,gEAAgE;YAChE,sEAAsE;YACtE,mEAAmE;YACnE,mEAAmE;YACnE,qEAAqE;YACrE,oEAAoE;YACpE,wEAAwE;YACxE,uCAAuC;YACvC,qEAAqE;YACrE,yEAAyE;YACzE,wEAAwE;YACxE,sEAAsE;YACtE,uEAAuE;YACvE,sEAAsE;YACtE,oEAAoE;YACpE,mEAAmE;YACnE,uEAAuE;YACvE,oEAAoE;YACpE,sEAAsE;YACtE,wEAAwE;YACxE,wEAAwE;YACxE,sEAAsE;KACzE,EACD,KAAK,EAAE,KAAK,EAAE,EAAE,CACd,mBAAmB,CACjB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAC/C,KAAK,EACL,SAAS;IACT,wEAAwE;IACxE,0CAA0C;IAC1C,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACZ,GAAI,OAA4C;QAChD,WAAW,EAAE,WAAW,CAAC,OAA2C,CAAC;KACtE,CAAC,CACH,CACJ,CAAA;AACH,CAAC"}
|