@absolutejs/mcp 0.17.8 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/changelog.json +20 -0
- package/dist/apps.js +128 -0
- package/dist/browser/workflow.d.ts +1 -0
- package/dist/index.js +194 -66
- package/dist/src/apps.d.ts +2 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/workflowApp.generated.d.ts +2 -0
- package/dist/src/workflowApps.d.ts +6 -0
- package/dist/src/workflowTools.d.ts +26 -0
- package/docs/commerce-host-rules.md +81 -0
- package/docs/mcp-apps.md +24 -0
- package/docs/reviews/vscode-individual-paid-work.md +69 -0
- package/package.json +1 -1
package/dist/src/apps.d.ts
CHANGED
|
@@ -33,3 +33,5 @@ export declare const appResourceContent: (resource: McpAppResource, uri: string)
|
|
|
33
33
|
};
|
|
34
34
|
};
|
|
35
35
|
export { createBillingApps } from "./billingApps";
|
|
36
|
+
export { createWorkflowApps } from "./workflowApps";
|
|
37
|
+
export { createWorkflowTools, projectSetupStatus, projectWorkPreview, type McpSetupStatus, type McpWorkPreview, type McpWorkPreviewRequest, } from "./workflowTools";
|
package/dist/src/index.d.ts
CHANGED
|
@@ -49,3 +49,5 @@ export { createCheckoutHandoffTool, createPurchaseStatusTool, type McpPurchaseSt
|
|
|
49
49
|
export { createBillingReportTools, createBillingManagementTool, } from "./billingTools";
|
|
50
50
|
export { MCP_APP_MIME, clientSupportsMcpApps, withMcpApp, type McpAppResource, type McpAppsConfig, } from "./apps";
|
|
51
51
|
export { createBillingApps } from "./billingApps";
|
|
52
|
+
export { createWorkflowApps } from "./workflowApps";
|
|
53
|
+
export { createWorkflowTools, projectSetupStatus, projectWorkPreview, type McpSetupStatus, type McpWorkPreview, type McpWorkPreviewRequest, } from "./workflowTools";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { McpToolRegistry } from "./types";
|
|
2
|
+
export type McpSetupStatus = {
|
|
3
|
+
business: string | null;
|
|
4
|
+
businessCount: number;
|
|
5
|
+
portalAccess: boolean;
|
|
6
|
+
availableCredits: number;
|
|
7
|
+
};
|
|
8
|
+
export type McpWorkPreviewRequest = {
|
|
9
|
+
operation: string;
|
|
10
|
+
maxCredits: number;
|
|
11
|
+
};
|
|
12
|
+
export type McpWorkPreview = McpWorkPreviewRequest & {
|
|
13
|
+
summary: string;
|
|
14
|
+
availableCredits: number;
|
|
15
|
+
eligible: boolean;
|
|
16
|
+
reason: string;
|
|
17
|
+
};
|
|
18
|
+
export declare const projectSetupStatus: (value: unknown) => McpSetupStatus;
|
|
19
|
+
export declare const projectWorkPreview: (value: unknown) => McpWorkPreview;
|
|
20
|
+
/** Readers must close over the authenticated identity. No executor, reservation,
|
|
21
|
+
* checkout or account-selector callback belongs in this read-only contract. */
|
|
22
|
+
export declare const createWorkflowTools: (readers: {
|
|
23
|
+
setup: () => Promise<McpSetupStatus>;
|
|
24
|
+
operations: readonly string[];
|
|
25
|
+
preview: (request: McpWorkPreviewRequest) => Promise<McpWorkPreview>;
|
|
26
|
+
}) => McpToolRegistry;
|
|
@@ -287,3 +287,84 @@ conditions. This does not change the global direct-MCP default. The complete
|
|
|
287
287
|
native handoff now passes after accounting for Windows' external-site dialog;
|
|
288
288
|
no link defect or need for an upstream link fix was established. Rich-view
|
|
289
289
|
startup remains a separate tracked issue.
|
|
290
|
+
|
|
291
|
+
## September 12 individual Copilot paid-work review
|
|
292
|
+
|
|
293
|
+
The [bounded paid-work review](reviews/vscode-individual-paid-work.md) separately
|
|
294
|
+
covers user-requested service work funded by existing service credits for the
|
|
295
|
+
reviewed individual Copilot direct-MCP channel. Deployments must bind the exact
|
|
296
|
+
registration/account and enforce budgets, retries and recovery. It expires
|
|
297
|
+
October 12, 2026. It does not enable the shared default or expand checkout,
|
|
298
|
+
organization-account or other-host eligibility.
|
|
299
|
+
|
|
300
|
+
## Launch evidence checklist — September 12, 2026
|
|
301
|
+
|
|
302
|
+
This checklist separates reusable package guarantees from deployment activation.
|
|
303
|
+
The September 10 survey remains the full host inventory; this follow-up rechecked
|
|
304
|
+
the highest-priority restrictions and existing Copilot review boundary. It does
|
|
305
|
+
not certify the untested hosts or broaden any executable commerce profile.
|
|
306
|
+
|
|
307
|
+
### Current source checks
|
|
308
|
+
|
|
309
|
+
- Claude still documents purchases through interactive connectors as unsupported.
|
|
310
|
+
Its help page does not settle the separate external credit-checkout question.
|
|
311
|
+
Keep that flow unverified pending clarification; non-commerce report rendering
|
|
312
|
+
is a separate capability. [Claude help](https://support.claude.com/en/articles/13454812-use-interactive-connectors-in-claude).
|
|
313
|
+
- ChatGPT plugin guidelines still exclude digital-credit sales and transactional
|
|
314
|
+
links. Entitlement explanations and informational destinations are distinct
|
|
315
|
+
from purchase initiation. Do not turn an informational destination into an
|
|
316
|
+
automatic checkout redirect. [Plugin guidelines](https://developers.openai.com/plugins/app-guidelines#commerce-and-monetization).
|
|
317
|
+
- Direct Codex documents remote MCP and OAuth. That technical documentation alone
|
|
318
|
+
does not establish commerce eligibility for a particular account/distribution.
|
|
319
|
+
Keep its separate review pending; neither automatically apply hosted-plugin
|
|
320
|
+
rules to every direct connection nor infer an exemption.
|
|
321
|
+
[Direct MCP documentation](https://learn.chatgpt.com/docs/extend/mcp?surface=cli).
|
|
322
|
+
- Cursor Marketplace still excludes direct and indirect plugin-access fees in
|
|
323
|
+
section 3.1. Review directly configured MCP separately; a working connection
|
|
324
|
+
does not resolve the marketplace restriction.
|
|
325
|
+
[Publisher terms](https://cursor.com/marketplace-publisher-terms).
|
|
326
|
+
- GitHub still directs individual Copilot users to ToS section J and Business /
|
|
327
|
+
Enterprise users to different terms. The two scoped individual Copilot reviews
|
|
328
|
+
remain the package's interpretation, expiring October 12, 2026; this check
|
|
329
|
+
does not extend their expiry or authorize organization accounts.
|
|
330
|
+
[Applicable agreements](https://docs.github.com/en/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot).
|
|
331
|
+
- VS Code issue #335908 remains open. Retain the tested affected-version fallback
|
|
332
|
+
until a released editor passes the documented fresh-load and remount tests.
|
|
333
|
+
[Upstream issue](https://github.com/microsoft/vscode/issues/335908).
|
|
334
|
+
|
|
335
|
+
### Evidence required for each advertised host
|
|
336
|
+
|
|
337
|
+
| Gate | Required evidence | Owner |
|
|
338
|
+
| --- | --- | --- |
|
|
339
|
+
| Distribution and policy | Exact host surface, account agreement, category, actions, official sources, dated interpretation and expiry | Package review; deployment supplies verified binding |
|
|
340
|
+
| Authentication | Real signup/consent return, exact registration/account, refresh, revoked access and cross-account rejection | Auth package primitives and consumer integration |
|
|
341
|
+
| Presentation | Installed version, actual negotiated capabilities, visible first load, refresh, pagination and text fallback | MCP package fixture; real host test |
|
|
342
|
+
| Funded access | Subscription-free access, portal denial, explicit budget, settlement, retry conflict and recovery at zero | Billing package and consumer services |
|
|
343
|
+
| Checkout, if eligible | Own HTTPS origin, explicit browser confirmation, server-priced intent, idempotent grant and uncertain-outcome recovery | Shared handoff plus consumer gateway |
|
|
344
|
+
| Work effects | Immutable approval version, ownership, expiry, repeat-safe execution and durable status; rendering performs no action | Shared workflow contract and consumer handler |
|
|
345
|
+
| Operations | Manual or automated validation, deployment readiness, reconciliation, support procedure and rollback preserving financial records | Consumer deployment |
|
|
346
|
+
|
|
347
|
+
Mark each gate **passed**, **qualified**, **pending** or **not offered**, with a
|
|
348
|
+
link to evidence. A successful report fixture is not OAuth certification; a
|
|
349
|
+
successful payment is not proof of paid model metering. Never count a member or
|
|
350
|
+
complimentary account as a production subscription-free canary. No additional
|
|
351
|
+
live charge is required merely to review or document a host.
|
|
352
|
+
|
|
353
|
+
The package commerce regression suite was rerun: 18 tests / 43 assertions passed,
|
|
354
|
+
including discovery/execution guards, policy rechecks, restrictive profile
|
|
355
|
+
intersection, expiry, spoofed metadata and failure handling. This is regression
|
|
356
|
+
evidence for the policy mechanism, not vendor approval or a live host test.
|
|
357
|
+
|
|
358
|
+
### Recommended implementation order for consumers
|
|
359
|
+
|
|
360
|
+
Build non-commerce setup and work previews using shared Apps primitives and
|
|
361
|
+
identical structured/text contracts first. Then add version-bound approval and
|
|
362
|
+
durable results, followed by attributed spend/outcome reporting. Bind each
|
|
363
|
+
consumer's domain services rather than duplicating policy, ledger or bridge
|
|
364
|
+
code. Test an eligible conversational, IDE and terminal channel separately;
|
|
365
|
+
record unavailable hosts as pending. Keep deferred background effects outside
|
|
366
|
+
bounded work until their reservation and recovery lifecycle is implemented.
|
|
367
|
+
|
|
368
|
+
This documentation update changes no runtime API, profile, feature flag or
|
|
369
|
+
published package version. It is available in the shared repository and will
|
|
370
|
+
ship with the next package release through the existing documentation allowlist.
|
package/docs/mcp-apps.md
CHANGED
|
@@ -58,3 +58,27 @@ Primary references checked September 11, 2026: [stable Apps specification](https
|
|
|
58
58
|
## Real-host canaries
|
|
59
59
|
|
|
60
60
|
See [the reusable host canary and observed results](host-canaries.md) for isolated connection instructions, acceptance criteria and remaining rollout gates.
|
|
61
|
+
|
|
62
|
+
## Read-only setup and work previews
|
|
63
|
+
|
|
64
|
+
`createWorkflowTools` binds authenticated setup and preview readers; `createWorkflowApps`
|
|
65
|
+
decorates those tools and supplies offline resources. Merge its resources into the
|
|
66
|
+
server Apps configuration alongside billing resources. Both tools return text and
|
|
67
|
+
projected structured data when no Apps capability is negotiated. Setup reports
|
|
68
|
+
business context, portal access and available credits. Preview requires an allowed
|
|
69
|
+
operation and a positive proposed maximum, reports current eligibility, and never
|
|
70
|
+
reserves or executes. A maximum is not a price estimate or approval.
|
|
71
|
+
|
|
72
|
+
Readers must close over the authenticated account and resolve domain ownership.
|
|
73
|
+
Unknown operations and extra arguments (including account IDs) reject before reads.
|
|
74
|
+
The package strips extra reader fields. There is no executor callback. Consumers
|
|
75
|
+
keep these tools outside the zero-credit work gate with a bounded read rate limit.
|
|
76
|
+
Execution independently validates authorization, balance, stable work ID and budget.
|
|
77
|
+
Neither view contains checkout links, setup mutations or outbound actions.
|
|
78
|
+
|
|
79
|
+
The official Apps bridge delivers initial results without automatic tool calls.
|
|
80
|
+
Only explicit Refresh invokes the same read tool; preview refresh preserves the
|
|
81
|
+
operation and budget. Errors clear stale eligibility and point back to the assistant.
|
|
82
|
+
Known affected VS Code builds retain the shared text fallback. The visible-browser
|
|
83
|
+
fixture is `bun test/fixtures/workflowServer.ts` (loopback port 4418); it uses zero
|
|
84
|
+
credits and no gateway or database.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# VS Code individual Copilot: bounded paid service work
|
|
2
|
+
|
|
3
|
+
Reviewed September 12, 2026; expires October 12, 2026. Channel: native VS Code,
|
|
4
|
+
manually configured remote MCP, individual Copilot subscription. Scope:
|
|
5
|
+
user-requested work delivered by the connected service, paid from that service's
|
|
6
|
+
existing credit balance. This review is separate from
|
|
7
|
+
[external checkout](vscode-individual-external-checkout.md).
|
|
8
|
+
|
|
9
|
+
## Decision
|
|
10
|
+
|
|
11
|
+
Eligible for a deployment-specific `paid_access` binding for `usage_credits` and
|
|
12
|
+
`digital_service` under the conditions below. This is our interpretation of the
|
|
13
|
+
reviewed terms, not vendor certification or express approval of every paid MCP.
|
|
14
|
+
The reviewed terms do not identify a specific prohibition on this bounded use
|
|
15
|
+
of an independently operated service. Re-review account type, distribution,
|
|
16
|
+
service behavior and changed terms before expanding the scope.
|
|
17
|
+
|
|
18
|
+
## Primary sources and interpretation
|
|
19
|
+
|
|
20
|
+
- [GitHub additional product terms](https://docs.github.com/en/site-policy/github-terms/github-terms-for-additional-products-and-features#github-copilot)
|
|
21
|
+
directs individual Copilot users to GitHub ToS section J; organizational
|
|
22
|
+
agreements are outside this review.
|
|
23
|
+
- [GitHub ToS](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service)
|
|
24
|
+
distinguishes third-party relationships in B.5. Section H prohibits API abuse
|
|
25
|
+
and certain data uses; J covers AI output responsibility and individual data
|
|
26
|
+
controls. Our inference: the user's separate service agreement can govern
|
|
27
|
+
metered service work, while the user's Copilot obligations continue to apply.
|
|
28
|
+
- [GitHub acceptable-use policies](https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies)
|
|
29
|
+
restrict resale of GitHub services, spam, privacy misuse and abusive activity.
|
|
30
|
+
The reviewed service sells its own work. It must not sell Copilot access,
|
|
31
|
+
share accounts, evade usage limits, or obtain GitHub data for prohibited sales
|
|
32
|
+
or solicitation. Ordinary task drafts do not authorize sending outreach.
|
|
33
|
+
- [VS Code MCP documentation](https://code.visualstudio.com/docs/agent-customization/mcp-servers)
|
|
34
|
+
documents remote-server configuration and host trust/tool interaction.
|
|
35
|
+
Technical support for a tool is not commercial permission. Preserve the host's
|
|
36
|
+
approvals; the service's ledger must independently enforce its budget.
|
|
37
|
+
|
|
38
|
+
## Required deployment controls
|
|
39
|
+
|
|
40
|
+
1. Bind the reviewed origin, verified OAuth registration and authenticated
|
|
41
|
+
account on the server. Client names, `clientInfo`, prompts, tool arguments or
|
|
42
|
+
claimed host capabilities cannot select the review. Unknown clients stay
|
|
43
|
+
ineligible. Organization accounts require a separate review.
|
|
44
|
+
2. Make service-credit charging clear before work starts. Require a stable work
|
|
45
|
+
ID and an explicit maximum service-credit budget. Service credits are not
|
|
46
|
+
Copilot tokens or a promise of monetary return. Never infer an unlimited
|
|
47
|
+
spending authorization from authentication, a tool result or a chat claim.
|
|
48
|
+
3. Reserve and settle atomically, cap the account's charge, and deduplicate
|
|
49
|
+
retries. Replaying a completed work ID returns its stored result. Reject
|
|
50
|
+
changed inputs under the same ID. Preserve uncertain work for reconciliation;
|
|
51
|
+
do not release its hold and repeat its effects without verification.
|
|
52
|
+
4. Keep account ownership, cancellation/deletion, entitlement and balance checks
|
|
53
|
+
on the server. Exhaustion blocks new paid work but preserves bounded status
|
|
54
|
+
and recovery access. Background work needs its own durable budget propagation;
|
|
55
|
+
exclude handlers that cannot uphold the cap across detached work.
|
|
56
|
+
5. This review grants only `paid_access`; checkout needs its own review. It does
|
|
57
|
+
not permit card collection in chat, saved-card charges, subscriptions,
|
|
58
|
+
automatic refill, bulk outreach or arbitrary third-party purchases. Retain
|
|
59
|
+
any separate approval needed for outbound effects and sensitive actions.
|
|
60
|
+
6. Limit outputs to information the user is authorized to access. Treat host
|
|
61
|
+
transcripts as retained data. Apply the service's privacy obligations and do
|
|
62
|
+
not expose credentials, capability links or unrelated account records in
|
|
63
|
+
diagnostics or reusable canary evidence.
|
|
64
|
+
|
|
65
|
+
A deployment must validate its ledger migration, actual host/account connection,
|
|
66
|
+
retry behavior, budget limits and recovery before activation. A review alone
|
|
67
|
+
neither activates tools nor certifies their accounting. This document does not
|
|
68
|
+
change the shared `direct-mcp` default or restrictions for Claude, ChatGPT,
|
|
69
|
+
marketplaces, organization-managed Copilot or other hosts.
|
package/package.json
CHANGED