Runtime-agnostic wrapped services for tasker-sequential (Google APIs, keystore, database, etc.)
npm install tasker-wrapped-servicesbash
npm install
or
bun install
`
$3
`bash
npm start
Discovers and starts all available services automatically
`
$3
`bash
npm start -- --services deno-executor,gapi,keystore
`
$3
`bash
npm start -- --port 3100
Services: 3100, 3101, 3102, ...
`
$3
`bash
npm start -- --deno
npm start -- --node
npm start -- --bun
`
Architecture
Each service implements a standard HTTP handler interface:
`typescript
export async function handler(req: Request): Promise {
// Handle incoming request
// Call other services via HTTP
// Return result
}
`
Services communicate via HTTP (no direct imports):
`
task-executor → deno-executor → gapi/keystore/supabase
↓ ↓
HTTP HTTP chains
`
Service Discovery
The CLI automatically:
1. Scans services/ directory
2. Finds folders with index.ts or index.js
3. Assigns sequential ports starting from base port
4. Creates .service-registry.json with service endpoints
Registry example:
`json
{
"timestamp": "2025-10-27T15:00:00Z",
"services": [
{"name": "deno-executor", "port": 3100, "url": "http://localhost:3100"},
{"name": "gapi", "port": 3101, "url": "http://localhost:3101"}
]
}
`
Adding a New Service
1. Create services/{name}/ directory
2. Add index.ts with HTTP handler:
`typescript
import { serve } from "https://deno.land/std@0.168.0/http/server.ts";
export async function handler(req: Request): Promise {
return new Response(JSON.stringify({success: true}), {
headers: {"Content-Type": "application/json"}
});
}
if (import.meta.main) {
const port = parseInt(Deno.env.get("PORT") || "3000");
serve(handler, { port });
}
`
3. CLI automatically discovers and starts it
Deployment
$3
`bash
npm start
`
$3
Services can be wrapped as Supabase edge functions:
`bash
Copy service code to Supabase functions directory
cp -r services/deno-executor supabase/functions/
supabase functions deploy deno-executor
`
$3
`dockerfile
FROM denoland/deno:latest
COPY . /app
WORKDIR /app
CMD ["deno", "run", "--allow-all", "services/deno-executor/index.ts"]
`
$3
Each service as separate deployment with environment-based port assignment.
Configuration
Services respect standard environment variables:
`bash
PORT=3100 # HTTP port (overridden by CLI)
DEBUG=true # Enable debug logging
SERVICE_NAME=deno-executor # Service identifier
SUPABASE_URL=... # Supabase project URL
OPENAI_API_KEY=... # OpenAI API key
GAPI_KEY=... # Google API credentials
`
Development
$3
`bash
deno run --allow-all --allow-env --watch services/deno-executor/index.ts
`
$3
`bash
npm start -- --debug
`
$3
`bash
curl http://localhost:3100/health
``