https://github.com/canyonmarkets/canyon-kiosk
· scanned 2026-06-17 01:46 UTC (1 month, 1 week ago)
13 raw signals (0 security + 13 graph)
Last scanned 1 month, 1 week ago · v2 · last Δ -7.8 (diff) · 13 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 124 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
RootLayout |
software | healthy | app/layout.tsx:RootLayout |
KioskPage |
software | healthy | app/page.tsx:KioskPage |
handleKeepShopping |
software | healthy | app/page.tsx:handleKeepShopping |
handleCancelOrder |
software | healthy | app/page.tsx:handleCancelOrder |
handlePaymentApproved |
software | healthy | app/page.tsx:handlePaymentApproved |
handleLogoTap |
software | healthy | app/page.tsx:handleLogoTap |
handlePinDigit |
software | healthy | app/page.tsx:handlePinDigit |
stripLeadingZeros |
software | healthy | app/page.tsx:stripLeadingZeros |
stored |
software | healthy | app/page.tsx:stored |
handleScanKeyDown |
software | healthy | app/page.tsx:handleScanKeyDown |
safeToReload |
software | healthy | app/page.tsx:safeToReload |
onError |
software | healthy | app/page.tsx:onError |
onUnhandled |
software | healthy | app/page.tsx:onUnhandled |
refresh |
software | healthy | app/page.tsx:refresh |
onVisibility |
software | healthy | app/page.tsx:onVisibility |
onFocus |
software | healthy | app/page.tsx:onFocus |
sendHeartbeat |
software | healthy | app/page.tsx:sendHeartbeat |
POST |
software | healthy | app/api/heartbeat/route.ts:POST |
OfflineBanner |
software | healthy | app/components/OfflineBanner.tsx:OfflineBanner |
onOnline |
software | healthy | app/components/OfflineBanner.tsx:onOnline |
onOffline |
software | healthy | app/components/OfflineBanner.tsx:onOffline |
AdminPanel |
software | healthy | app/components/AdminPanel.tsx:AdminPanel |
toggleSoldOut |
software | healthy | app/components/AdminPanel.tsx:toggleSoldOut |
all |
software | healthy | app/components/AdminPanel.tsx:all |
runDiagnostics |
software | healthy | app/components/AdminPanel.tsx:runDiagnostics |
fixAssignment |
software | healthy | app/components/AdminPanel.tsx:fixAssignment |
saveSettings |
software | healthy | app/components/AdminPanel.tsx:saveSettings |
reboot |
software | healthy | app/components/AdminPanel.tsx:reboot |
TimeoutModal |
software | healthy | app/components/TimeoutModal.tsx:TimeoutModal |
PaymentScreen |
software | healthy | app/components/screens/PaymentScreen.tsx:PaymentScreen |
stopPolling |
software | healthy | app/components/screens/PaymentScreen.tsx:stopPolling |
handleApproved |
software | healthy | app/components/screens/PaymentScreen.tsx:handleApproved |
startPayment |
software | healthy | app/components/screens/PaymentScreen.tsx:startPayment |
statusMessage |
software | healthy | app/components/screens/PaymentScreen.tsx:statusMessage |
ProductsScreen |
software | healthy | app/components/screens/ProductsScreen.tsx:ProductsScreen |
handleAdd |
software | healthy | app/components/screens/ProductsScreen.tsx:handleAdd |
ThankYouScreen |
software | healthy | app/components/screens/ThankYouScreen.tsx:ThankYouScreen |
BrowseScreen |
software | healthy | app/components/screens/BrowseScreen.tsx:BrowseScreen |
goBack |
software | healthy | app/components/screens/BrowseScreen.tsx:goBack |
openCategory |
software | healthy | app/components/screens/BrowseScreen.tsx:openCategory |
IdleScreen |
software | healthy | app/components/screens/IdleScreen.tsx:IdleScreen |
CartScreen |
software | healthy | app/components/screens/CartScreen.tsx:CartScreen |
loadMarketProducts |
software | healthy | app/lib/loadMachineProducts.ts:loadMarketProducts |
cfg |
software | healthy | app/lib/loadMachineProducts.ts:cfg |
loadConfig |
software | healthy | app/lib/config.ts:loadConfig |
saveConfig |
software | healthy | app/lib/config.ts:saveConfig |
decodeJwtPayload |
software | healthy | supabase/functions/list-devices/index.ts:decodeJwtPayload |
makeAppJWT |
software | healthy | supabase/functions/list-devices/index.ts:makeAppJWT |
safeJson |
software | healthy | supabase/functions/list-devices/index.ts:safeJson |
makeAppJWT |
software | healthy | supabase/functions/charge/index.ts:makeAppJWT |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
package-lock.json |
software | healthy | package-lock.json |
netlify.toml |
software | healthy | netlify.toml |
package.json |
software | healthy | package.json |
VENDING_DASH_INTEGRATION.md |
software | healthy | VENDING_DASH_INTEGRATION.md |
next.config.ts |
software | healthy | next.config.ts |
tsconfig.json |
software | healthy | tsconfig.json |
globals.css |
software | healthy | app/globals.css |
layout.tsx |
software | healthy | app/layout.tsx |
page.tsx |
software | healthy | app/page.tsx |
route.ts |
software | healthy | app/api/heartbeat/route.ts |
index.ts |
software | healthy | app/types/index.ts |
OfflineBanner.tsx |
software | healthy | app/components/OfflineBanner.tsx |
AdminPanel.tsx |
software | healthy | app/components/AdminPanel.tsx |
TimeoutModal.tsx |
software | healthy | app/components/TimeoutModal.tsx |
PaymentScreen.tsx |
software | healthy | app/components/screens/PaymentScreen.tsx |
ProductsScreen.tsx |
software | healthy | app/components/screens/ProductsScreen.tsx |
ThankYouScreen.tsx |
software | healthy | app/components/screens/ThankYouScreen.tsx |
BrowseScreen.tsx |
software | healthy | app/components/screens/BrowseScreen.tsx |
IdleScreen.tsx |
software | healthy | app/components/screens/IdleScreen.tsx |
CartScreen.tsx |
software | healthy | app/components/screens/CartScreen.tsx |
store.ts |
software | healthy | app/lib/store.ts |
products.ts |
software | healthy | app/lib/products.ts |
loadMachineProducts.ts |
software | healthy | app/lib/loadMachineProducts.ts |
config.ts |
software | healthy | app/lib/config.ts |
supabase.ts |
software | healthy | app/lib/supabase.ts |
index.ts |
software | healthy | supabase/functions/list-devices/index.ts |
index.ts |
software | healthy | supabase/functions/charge/index.ts |
index.ts |
software | healthy | supabase/functions/charge-webhook/index.ts |
index.ts |
software | healthy | supabase/functions/oauth-callback/index.ts |
index.ts |
software | healthy | supabase/functions/charge-status/index.ts |
20260611_poynt_tokens.sql |
software | healthy | supabase/migrations/20260611_poynt_tokens.sql |
20260605_payment_results.sql |
software | healthy | supabase/migrations/20260605_payment_results.sql |
manifest.json |
software | healthy | public/manifest.json |
| Label | Layer | Status | Path |
|---|---|---|---|
app |
software | healthy | app |
api |
software | healthy | app/api |
heartbeat |
software | healthy | app/api/heartbeat |
types |
software | healthy | app/types |
components |
software | healthy | app/components |
screens |
software | healthy | app/components/screens |
lib |
software | healthy | app/lib |
supabase |
software | healthy | supabase |
functions |
software | healthy | supabase/functions |
list-devices |
software | healthy | supabase/functions/list-devices |
charge |
software | healthy | supabase/functions/charge |
charge-webhook |
software | healthy | supabase/functions/charge-webhook |
oauth-callback |
software | healthy | supabase/functions/oauth-callback |
charge-status |
software | healthy | supabase/functions/charge-status |
migrations |
software | healthy | supabase/migrations |
public |
software | healthy | public |
| Label | Layer | Status | Path |
|---|---|---|---|
RootLayout |
frontend | healthy | app/layout.tsx |
KioskPage |
frontend | healthy | app/page.tsx |
OfflineBanner |
frontend | healthy | app/components/OfflineBanner.tsx |
AdminPanel |
frontend | healthy | app/components/AdminPanel.tsx |
TimeoutModal |
frontend | healthy | app/components/TimeoutModal.tsx |
PaymentScreen |
frontend | healthy | app/components/screens/PaymentScreen.tsx |
ProductsScreen |
frontend | healthy | app/components/screens/ProductsScreen.tsx |
ThankYouScreen |
frontend | healthy | app/components/screens/ThankYouScreen.tsx |
BrowseScreen |
frontend | healthy | app/components/screens/BrowseScreen.tsx |
IdleScreen |
frontend | healthy | app/components/screens/IdleScreen.tsx |
CartScreen |
frontend | healthy | app/components/screens/CartScreen.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::supabase/functions/oauth-callback/index.ts |
security | healthy | supabase/functions/oauth-callback/index.ts |
auth::supabase/functions/list-devices/index.ts |
security | healthy | supabase/functions/list-devices/index.ts |
auth::supabase/functions/charge-webhook/index.ts |
security | healthy | supabase/functions/charge-webhook/index.ts |
auth::supabase/functions/charge/index.ts |
security | healthy | supabase/functions/charge/index.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
poynt_tokens |
data | healthy | supabase/migrations/20260611_poynt_tokens.sql |
payment_results |
data | healthy | supabase/migrations/20260605_payment_results.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
20260611_poynt_tokens.sql |
data | healthy | supabase/migrations/20260611_poynt_tokens.sql |
20260605_payment_results.sql |
data | healthy | supabase/migrations/20260605_payment_results.sql |
| Label | Layer | Status | Path |
|---|---|---|---|
canyonmarkets__canyon-kiosk |
software | healthy | /data/fable5_failed_archive/canyonmarkets__canyon-kiosk |
| Label | Layer | Status | Path |
|---|---|---|---|
controls |
software | healthy | app/page.tsx:controls |
This page is publicly accessible at:
https://repobility.com/scan/d316c9b6-ec4c-4e80-b7a2-97c2e664d0d3/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/d316c9b6-ec4c-4e80-b7a2-97c2e664d0d3/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.