github HTML analyzed 363ba25

kychee-com/run402-examples

github

Runnable example apps on run402: Postgres, storage, auth, functions and deploys for AI agents. Every example has a live demo and deploys your own copy in one command.

maintainer
kychee-com
license
MIT
first seen
2026-08-14
last seen
2026-08-14
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 29

filesystem 9

  • fs kychee-com-run402-examples-363ba25/agent-provisions-itself/provision.mjs :33 import { mkdtemp, readFile, writeFile } from "node:fs/promises";
  • fs (weak) kychee-com-run402-examples-363ba25/agent-provisions-itself/test/fake-run402.mjs :31 import { existsSync, readFileSync, writeFileSync } from "node:fs";
  • fs (weak) kychee-com-run402-examples-363ba25/agent-provisions-itself/test/provision.test.mjs :27 import { mkdtemp, readFile } from "node:fs/promises";
  • fs kychee-com-run402-examples-363ba25/astro-blog/build/ensure-content.mjs :21 import { readFile } from 'node:fs/promises';
  • fs kychee-com-run402-examples-363ba25/astro-blog/build/install-deps.mjs :20 import { existsSync, readFileSync } from 'node:fs';
  • fs (weak) kychee-com-run402-examples-363ba25/scripts/check-prose-style.mjs :13 import { readFileSync, readdirSync, existsSync, statSync } from "node:fs";
  • fs (weak) kychee-com-run402-examples-363ba25/scripts/check-readme-embeds.mjs :20 import { readFileSync, readdirSync, statSync, existsSync } from "node:fs";
  • fs (weak) kychee-com-run402-examples-363ba25/scripts/reembed.mjs :12 import { readFileSync, writeFileSync } from "node:fs";
  • fs (weak) kychee-com-run402-examples-363ba25/x402-paywall-api/test/paywall.test.mjs :23 import { readFileSync } from "node:fs";

shell / exec 5

  • shell kychee-com-run402-examples-363ba25/agent-provisions-itself/provision.mjs :32 import { spawn } from "node:child_process";
  • shell (weak) kychee-com-run402-examples-363ba25/agent-provisions-itself/test/provision.test.mjs :25 import { spawn } from "node:child_process";
  • shell kychee-com-run402-examples-363ba25/astro-blog/build/install-deps.mjs :19 import { execFile } from 'node:child_process';
  • shell (weak) kychee-com-run402-examples-363ba25/scripts/lib/tracked.mjs :8 import { execFileSync } from "node:child_process";
  • shell (weak) kychee-com-run402-examples-363ba25/scripts/pin.mjs :15 import { execFile } from "node:child_process";

network 10

  • net kychee-com-run402-examples-363ba25/agent-provisions-itself/functions/api.mjs :356 res = await fetch(API_BASE + path, { method: 'POST', headers: headers, body: JSON.stringify(body) });
  • net kychee-com-run402-examples-363ba25/agent-provisions-itself/provision.mjs :577 const res = await fetch(state.url, { redirect: "follow", signal: AbortSignal.timeout(10000) });
  • net (weak) kychee-com-run402-examples-363ba25/agent-provisions-itself/test/provision.test.mjs :26 import { createServer } from "node:http";
  • net kychee-com-run402-examples-363ba25/astro-blog/src/lib/admin-sql.mjs :52 res = await fetch(apiBase + '/projects/v1/admin/' + projectId + '/sql', {
  • net kychee-com-run402-examples-363ba25/flash-cards/functions/api.mjs :181 const res = await fetch(API_BASE + path, {
  • net kychee-com-run402-examples-363ba25/micro-blog/functions/api.mjs :208 res = await fetch(API_BASE + '/storage/v1/blob/' + key, { headers: { apikey: ANON_KEY } });
  • net kychee-com-run402-examples-363ba25/micro-blog/functions/upload.mjs :87 const res = await fetch(API_BASE + '/auth/v1/user', {
  • net kychee-com-run402-examples-363ba25/secret-santa/functions/auth.mjs :40 const res = await fetch(API_BASE + path, {
  • net kychee-com-run402-examples-363ba25/shared-todo/functions/api.mjs :144 const res = await fetch(API_BASE + path, {
  • net kychee-com-run402-examples-363ba25/trivia-night/functions/api.mjs :385 const res = await fetch(API_BASE + path, {

secrets 8

  • secrets kychee-com-run402-examples-363ba25/agent-provisions-itself/functions/api.mjs :29 const ANON_KEY = process.env.RUN402_ANON_KEY || '';
  • secrets kychee-com-run402-examples-363ba25/astro-blog/src/lib/admin-sql.mjs :36 serviceKey: process.env.RUN402_SERVICE_KEY,
  • secrets kychee-com-run402-examples-363ba25/flash-cards/functions/api.mjs :17 const ANON_KEY = process.env.RUN402_ANON_KEY || "";
  • secrets kychee-com-run402-examples-363ba25/micro-blog/functions/api.mjs :29 const ANON_KEY = process.env.RUN402_ANON_KEY || '';
  • secrets kychee-com-run402-examples-363ba25/micro-blog/functions/upload.mjs :18 const ANON_KEY = process.env.RUN402_ANON_KEY || '';
  • secrets kychee-com-run402-examples-363ba25/secret-santa/functions/auth.mjs :28 const ANON_KEY = process.env.RUN402_ANON_KEY || "";
  • secrets kychee-com-run402-examples-363ba25/shared-todo/functions/api.mjs :148 apikey: process.env.RUN402_ANON_KEY || "",
  • secrets kychee-com-run402-examples-363ba25/trivia-night/functions/api.mjs :24 const ANON_KEY = process.env.RUN402_ANON_KEY || "";