@firedrill-tools/stripe 0.1.1
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/LICENSE +201 -0
- package/README.md +433 -0
- package/firedrill/agent.target.json +17 -0
- package/firedrill/api-unavailable.scenario.json +11 -0
- package/firedrill/baseline.scenario.json +5 -0
- package/firedrill/conformance.suite.json +17 -0
- package/firedrill/rate-limited.scenario.json +11 -0
- package/firedrill/refund-committed-lost.scenario.json +11 -0
- package/firedrill/stripe-api-unavailable.drill.json +463 -0
- package/firedrill/stripe-denied.drill.json +74 -0
- package/firedrill/stripe-large-pages.drill.json +153 -0
- package/firedrill/stripe-live-mode.drill.json +136 -0
- package/firedrill/stripe-mcp-aliases.drill.json +406 -0
- package/firedrill/stripe-no-permissions.drill.json +1143 -0
- package/firedrill/stripe-rate-limited.drill.json +616 -0
- package/firedrill/stripe-refund-committed-lost.drill.json +139 -0
- package/firedrill/stripe-rest-flow.drill.json +1401 -0
- package/firedrill/stripe-restricted-key.drill.json +171 -0
- package/firedrill/tools/stripe/app/assets/ATTRIBUTION.md +36 -0
- package/firedrill/tools/stripe/app/assets/fonts/OFL.txt +93 -0
- package/firedrill/tools/stripe/app/assets/stripe-s.svg +1 -0
- package/firedrill/tools/stripe/app/assets/stripe.svg +1 -0
- package/firedrill/tools/stripe/app/site/app.js +456 -0
- package/firedrill/tools/stripe/app/site/assets/fonts/inter-latin.woff2 +0 -0
- package/firedrill/tools/stripe/app/site/assets/stripe-s.svg +1 -0
- package/firedrill/tools/stripe/app/site/assets/stripe.svg +1 -0
- package/firedrill/tools/stripe/app/site/icons.js +90 -0
- package/firedrill/tools/stripe/app/site/index.html +137 -0
- package/firedrill/tools/stripe/app/site/pages-billing.js +902 -0
- package/firedrill/tools/stripe/app/site/pages-catalog.js +314 -0
- package/firedrill/tools/stripe/app/site/pages-customers.js +416 -0
- package/firedrill/tools/stripe/app/site/pages-home.js +373 -0
- package/firedrill/tools/stripe/app/site/pages-payments.js +502 -0
- package/firedrill/tools/stripe/app/site/store.js +99 -0
- package/firedrill/tools/stripe/app/site/styles.css +2512 -0
- package/firedrill/tools/stripe/app/site/ui.js +767 -0
- package/firedrill/tools/stripe/app/site/widgets.js +707 -0
- package/firedrill/tools/stripe/behavior.mjs +148 -0
- package/firedrill/tools/stripe/lib/cards.mjs +53 -0
- package/firedrill/tools/stripe/lib/form.mjs +204 -0
- package/firedrill/tools/stripe/lib/ids.mjs +85 -0
- package/firedrill/tools/stripe/lib/money.mjs +35 -0
- package/firedrill/tools/stripe/lib/objects.mjs +229 -0
- package/firedrill/tools/stripe/lib/periods.mjs +41 -0
- package/firedrill/tools/stripe/lib/size.mjs +55 -0
- package/firedrill/tools/stripe/lib/state.mjs +230 -0
- package/firedrill/tools/stripe/lib/validate.mjs +184 -0
- package/firedrill/tools/stripe/lib/wire.mjs +98 -0
- package/firedrill/tools/stripe/ops/billing.mjs +914 -0
- package/firedrill/tools/stripe/ops/catalog.mjs +203 -0
- package/firedrill/tools/stripe/ops/customers.mjs +241 -0
- package/firedrill/tools/stripe/ops/dashboard.mjs +29 -0
- package/firedrill/tools/stripe/ops/payments.mjs +608 -0
- package/firedrill/tools/stripe/stripe.tool.json +28833 -0
- package/firedrill/world.json +8527 -0
- package/firedrill.json +5 -0
- package/package.json +64 -0
- package/starter.json +7999 -0
- package/test/conformance.mjs +1133 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<title>Stripe Dashboard (synthetic)</title>
|
|
7
|
+
<link rel="icon" type="image/svg+xml" href="./assets/stripe-s.svg" />
|
|
8
|
+
<link rel="stylesheet" href="./styles.css" />
|
|
9
|
+
<script type="module" src="./app.js"></script>
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
<a class="skip-link" href="#page">Skip to content</a>
|
|
13
|
+
<div class="sandbox-banner" id="sandbox-banner" role="region" aria-label="Sandbox">
|
|
14
|
+
<span class="sandbox-pill"><span data-icon="flask" class="sandbox-pill-icon"></span><span>Sandbox</span><span class="sandbox-account" id="sandbox-label"></span></span>
|
|
15
|
+
<span class="sandbox-text" id="sandbox-text">You're testing in a sandbox. Changes you make here don't affect your live account.</span>
|
|
16
|
+
<button type="button" class="sandbox-action" id="sandbox-switch" title="Switch to live account (not simulated)">Switch to live account</button>
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
<div class="app" id="app">
|
|
20
|
+
<aside class="sidebar" id="sidebar" aria-label="Dashboard navigation">
|
|
21
|
+
<button type="button" class="account-switcher" id="account-switcher" aria-expanded="false" aria-haspopup="menu">
|
|
22
|
+
<span class="account-avatar" id="account-avatar" aria-hidden="true">·</span>
|
|
23
|
+
<span class="account-name" id="account-name">Loading…</span>
|
|
24
|
+
<span data-icon="chevron-down" class="account-chevron"></span>
|
|
25
|
+
</button>
|
|
26
|
+
|
|
27
|
+
<form class="search" id="search-form" role="search" autocomplete="off">
|
|
28
|
+
<span data-icon="search" class="search-icon"></span>
|
|
29
|
+
<label class="visually-hidden" for="search">Search</label>
|
|
30
|
+
<input id="search" type="text" placeholder="Search" spellcheck="false" aria-expanded="false" aria-controls="search-results" aria-autocomplete="list" />
|
|
31
|
+
<kbd class="search-kbd" aria-hidden="true">/</kbd>
|
|
32
|
+
<div class="search-results" id="search-results" role="listbox" hidden></div>
|
|
33
|
+
</form>
|
|
34
|
+
|
|
35
|
+
<nav class="sidenav" id="sidenav">
|
|
36
|
+
<ul class="sidenav-list">
|
|
37
|
+
<li><a class="sidenav-item" href="#/" data-route="home"><span data-icon="home" class="sidenav-icon"></span><span>Home</span></a></li>
|
|
38
|
+
<li><a class="sidenav-item" href="#/balances" data-route="balances"><span data-icon="balances" class="sidenav-icon"></span><span>Balances</span></a></li>
|
|
39
|
+
<li><a class="sidenav-item" href="#/transactions" data-route="transactions"><span data-icon="transactions" class="sidenav-icon"></span><span>Transactions</span></a></li>
|
|
40
|
+
<li><a class="sidenav-item" href="#/customers" data-route="customers"><span data-icon="customers" class="sidenav-icon"></span><span>Customers</span></a></li>
|
|
41
|
+
<li><a class="sidenav-item" href="#/products" data-route="products"><span data-icon="catalog" class="sidenav-icon"></span><span>Product catalog</span></a></li>
|
|
42
|
+
</ul>
|
|
43
|
+
|
|
44
|
+
<div class="sidenav-section">
|
|
45
|
+
<div class="sidenav-heading"><span>Shortcuts</span></div>
|
|
46
|
+
<ul class="sidenav-list" id="shortcuts-list" aria-label="Shortcuts"></ul>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
<div class="sidenav-section">
|
|
50
|
+
<div class="sidenav-heading"><span>Products</span></div>
|
|
51
|
+
<ul class="sidenav-list">
|
|
52
|
+
<li class="sidenav-group" id="group-connect">
|
|
53
|
+
<button type="button" class="sidenav-item sidenav-toggle" aria-expanded="false" aria-controls="group-connect-list"><span data-icon="connect" class="sidenav-icon"></span><span>Connect</span><span data-icon="chevron-right" class="sidenav-caret"></span></button>
|
|
54
|
+
<ul class="sidenav-sublist" id="group-connect-list" hidden>
|
|
55
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Connect overview">Overview</button></li>
|
|
56
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Connected accounts">Connected accounts</button></li>
|
|
57
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Connect transfers">Transfers</button></li>
|
|
58
|
+
</ul>
|
|
59
|
+
</li>
|
|
60
|
+
<li class="sidenav-group" id="group-payments">
|
|
61
|
+
<button type="button" class="sidenav-item sidenav-toggle" aria-expanded="false" aria-controls="group-payments-list"><span data-icon="payments" class="sidenav-icon"></span><span>Payments</span><span data-icon="chevron-right" class="sidenav-caret"></span></button>
|
|
62
|
+
<ul class="sidenav-sublist" id="group-payments-list" hidden>
|
|
63
|
+
<li><a class="sidenav-item sidenav-subitem" href="#/payments" data-route="payments">Payments</a></li>
|
|
64
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Payments analytics">Analytics</button></li>
|
|
65
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Disputes">Disputes</button></li>
|
|
66
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Radar">Radar</button></li>
|
|
67
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Payment Links">Payment Links</button></li>
|
|
68
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Terminal">Terminal</button></li>
|
|
69
|
+
<li><a class="sidenav-item sidenav-subitem" href="#/refunds" data-route="refunds">Refunds</a></li>
|
|
70
|
+
</ul>
|
|
71
|
+
</li>
|
|
72
|
+
<li class="sidenav-group" id="group-billing">
|
|
73
|
+
<button type="button" class="sidenav-item sidenav-toggle" aria-expanded="false" aria-controls="group-billing-list"><span data-icon="subscriptions" class="sidenav-icon"></span><span>Billing</span><span data-icon="chevron-right" class="sidenav-caret"></span></button>
|
|
74
|
+
<ul class="sidenav-sublist" id="group-billing-list" hidden>
|
|
75
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Billing overview">Overview</button></li>
|
|
76
|
+
<li><a class="sidenav-item sidenav-subitem" href="#/subscriptions" data-route="subscriptions">Subscriptions</a></li>
|
|
77
|
+
<li><a class="sidenav-item sidenav-subitem" href="#/invoices" data-route="invoices">Invoices</a></li>
|
|
78
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Usage-based billing">Usage-based</button></li>
|
|
79
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Revenue recovery">Revenue recovery</button></li>
|
|
80
|
+
</ul>
|
|
81
|
+
</li>
|
|
82
|
+
<li class="sidenav-group" id="group-reporting">
|
|
83
|
+
<button type="button" class="sidenav-item sidenav-toggle" aria-expanded="false" aria-controls="group-reporting-list"><span data-icon="reporting" class="sidenav-icon"></span><span>Reporting</span><span data-icon="chevron-right" class="sidenav-caret"></span></button>
|
|
84
|
+
<ul class="sidenav-sublist" id="group-reporting-list" hidden>
|
|
85
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Reports">Reports</button></li>
|
|
86
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Sigma">Sigma</button></li>
|
|
87
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Revenue Recognition">Revenue Recognition</button></li>
|
|
88
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Data management">Data management</button></li>
|
|
89
|
+
</ul>
|
|
90
|
+
</li>
|
|
91
|
+
<li class="sidenav-group" id="group-more">
|
|
92
|
+
<button type="button" class="sidenav-item sidenav-toggle" aria-expanded="false" aria-controls="group-more-list"><span data-icon="more" class="sidenav-icon"></span><span>More</span><span data-icon="chevron-right" class="sidenav-caret"></span></button>
|
|
93
|
+
<ul class="sidenav-sublist" id="group-more-list" hidden>
|
|
94
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Workflows">Workflows</button></li>
|
|
95
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Tax">Tax</button></li>
|
|
96
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Identity">Identity</button></li>
|
|
97
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Issuing">Issuing</button></li>
|
|
98
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Financial Connections">Financial Connections</button></li>
|
|
99
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Capital">Capital</button></li>
|
|
100
|
+
<li><button type="button" class="sidenav-item sidenav-subitem" data-not-simulated="Climate">Climate</button></li>
|
|
101
|
+
</ul>
|
|
102
|
+
</li>
|
|
103
|
+
</ul>
|
|
104
|
+
</div>
|
|
105
|
+
</nav>
|
|
106
|
+
|
|
107
|
+
<div class="sidebar-bottom">
|
|
108
|
+
<a class="sidenav-item" href="#/developers" data-route="developers" title="Developers"><span data-icon="developers" class="sidenav-icon"></span><span>Developers</span></a>
|
|
109
|
+
<button type="button" class="sidebar-collapse" id="sidebar-collapse" aria-label="Collapse sidebar" title="Collapse sidebar" aria-expanded="true" aria-controls="sidebar"><span data-icon="collapse" class="sidenav-icon"></span><span class="sidebar-collapse-label">Collapse</span></button>
|
|
110
|
+
</div>
|
|
111
|
+
</aside>
|
|
112
|
+
<div class="sidebar-scrim" id="sidebar-scrim" hidden></div>
|
|
113
|
+
|
|
114
|
+
<div class="frame">
|
|
115
|
+
<header class="topbar">
|
|
116
|
+
<button type="button" class="btn btn-ghost btn-icon-only topbar-menu" id="menu-toggle" aria-label="Open navigation" aria-expanded="false"><span data-icon="menu"></span></button>
|
|
117
|
+
<button type="button" class="btn btn-ghost btn-icon-only topbar-search" id="topbar-search" aria-label="Search" title="Search"><span data-icon="search"></span></button>
|
|
118
|
+
<div class="topbar-spacer"></div>
|
|
119
|
+
<div class="topbar-end">
|
|
120
|
+
<a class="btn btn-ghost topbar-dev" href="#/developers" data-route="developers" title="Developers"><span data-icon="developers"></span><span class="btn-label">Developers</span></a>
|
|
121
|
+
<button type="button" class="btn btn-ghost btn-icon-only topbar-icon" id="topbar-help" title="Help" aria-label="Help and keyboard shortcuts" aria-expanded="false"><span data-icon="help"></span></button>
|
|
122
|
+
<button type="button" class="btn btn-ghost btn-icon-only topbar-icon" id="topbar-apps" title="Apps" aria-label="Apps" aria-expanded="false"><span data-icon="apps"></span></button>
|
|
123
|
+
<button type="button" class="btn btn-ghost btn-icon-only topbar-icon" id="topbar-notifications" title="Notifications" aria-label="Notifications" aria-expanded="false"><span data-icon="bell"></span></button>
|
|
124
|
+
<button type="button" class="btn btn-ghost btn-icon-only topbar-icon" id="topbar-settings" title="Settings" aria-label="Settings" aria-expanded="false"><span data-icon="gear"></span></button>
|
|
125
|
+
<button type="button" class="topbar-create" id="topbar-create" aria-label="Create" title="Create" aria-expanded="false" aria-haspopup="menu"><span data-icon="plus"></span></button>
|
|
126
|
+
</div>
|
|
127
|
+
</header>
|
|
128
|
+
<div class="progress" id="progress" aria-hidden="true"></div>
|
|
129
|
+
<main class="page" id="page" tabindex="-1" aria-live="polite">
|
|
130
|
+
<div class="page-loading"><span data-icon="spinner" class="spin"></span><span>Loading your dashboard…</span></div>
|
|
131
|
+
</main>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
|
|
135
|
+
<div class="toast" id="toast" role="status" hidden></div>
|
|
136
|
+
</body>
|
|
137
|
+
</html>
|