feat: initial codebase v0.4.1
Some checks failed
Deploy to Staging / build-and-deploy (push) Failing after 9m44s

- Extract complete codebase from running staging pod
- Add Dockerfile with multi-stage build for Node.js + Puppeteer
- Configure CI/CD workflows for staging and production deployment
- Include all source files, configs, and public assets
This commit is contained in:
OpenClaw DevOps 2026-02-19 17:05:16 +00:00
commit b58f634318
28 changed files with 5669 additions and 0 deletions

53
public/docs.html Normal file
View file

@ -0,0 +1,53 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>SnapAPI — API Documentation</title>
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>📸</text></svg>">
<link rel="stylesheet" href="https://unpkg.com/swagger-ui-dist@5/swagger-ui.css">
<style>
body{margin:0;background:#1a1a2e}
.topbar-wrapper img{content:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>📸</text></svg>")}
.swagger-ui .topbar{background:#0a0e17;padding:8px 0}
.swagger-ui .topbar .download-url-wrapper input{border:1px solid #3b82f6}
.swagger-ui .info .title{font-family:'Inter',system-ui,sans-serif}
/* Dark theme overrides */
.swagger-ui{color:#e4e7ed}
.swagger-ui .scheme-container{background:#141a28;box-shadow:none;border-bottom:1px solid #1e2a3f}
.swagger-ui .opblock-tag{color:#e4e7ed;border-bottom:1px solid #1e2a3f}
.swagger-ui .opblock .opblock-summary{border-color:#1e2a3f}
.swagger-ui .opblock.opblock-post{background:rgba(79,143,255,0.05);border-color:rgba(79,143,255,0.3)}
.swagger-ui .opblock.opblock-post .opblock-summary{border-color:rgba(79,143,255,0.3)}
.swagger-ui .opblock.opblock-get{background:rgba(16,185,129,0.05);border-color:rgba(16,185,129,0.3)}
.swagger-ui .opblock.opblock-get .opblock-summary{border-color:rgba(16,185,129,0.3)}
.swagger-ui .btn{border-radius:6px}
.swagger-ui .btn.execute{background:#3b82f6;border-color:#3b82f6}
.swagger-ui .btn.execute:hover{background:#2563eb}
.swagger-ui .response-col_status{color:#e4e7ed}
.swagger-ui section.models{border:1px solid #1e2a3f;border-radius:8px}
.swagger-ui section.models .model-container{background:#141a28}
.back-link{display:inline-flex;align-items:center;gap:6px;color:#6da3ff;text-decoration:none;font-family:'Inter',sans-serif;font-size:.9rem;padding:12px 24px}
.back-link:hover{color:#3b82f6}
</style>
</head>
<body>
<a href="/" class="back-link">← Back to SnapAPI</a>
<div id="swagger-ui"></div>
<script src="https://unpkg.com/swagger-ui-dist@5/swagger-ui-bundle.js"></script>
<script>
SwaggerUIBundle({
url:'/openapi.json',
dom_id:'#swagger-ui',
deepLinking:true,
presets:[SwaggerUIBundle.presets.apis,SwaggerUIBundle.SwaggerUIStandalonePreset],
layout:'BaseLayout',
defaultModelsExpandDepth:1,
defaultModelExpandDepth:1,
docExpansion:'list',
filter:true,
tryItOutEnabled:true
});
</script>
</body>
</html>