{
  "schema": "leumas.docs.page/1",
  "id": "pkg:@leumas/a-cron",
  "slug": "adapters/a-cron",
  "kind": "capabilities",
  "bucket": "package",
  "title": "cron (adapter system)",
  "name": "cron",
  "eyebrow": "adapter system",
  "chip": null,
  "summary": "a.cron domain adapter — interval parsing + schedule tools. A workspace package (not just a scanned adapter dir) because @leumas/triggers reuses parseEvery; the adapter registry still disk-scans it...",
  "keywords": [
    "a-cron",
    "parseevery",
    "interval",
    "cron",
    "schedule",
    "leumas a cron",
    "triggers",
    "domain"
  ],
  "audience": "both",
  "funnel": {
    "product": null,
    "cta": null
  },
  "body": "# cron (adapter system)\n\nSchedulable **action adapters**. Ported from `leumas-middleware/lib/a.cron` — the portable actions a\nschedule fires plus the interval parser. The source's express server, `public/` Electron-style UI, and\nWindows Task Scheduler (`winScheduler`) integration were stripped; the actual scheduler lives in\n`@leumas/triggers`. HTTP actions were rebased from node `http`/`https` onto native `fetch`.\n\n## Tools (`adapters`)\n\n| tool | args | result |\n|------|------|--------|\n| `printMessage` | `{ message? }` | `{ ts, message }` |\n| `pingUrl` | `{ url, timeoutMs? }` | `{ url, statusCode, durationMs }` |\n| `callEndpoint` | `{ url, method?, headers?, body?, timeoutMs? }` | `{ statusCode, headers, data }` |\n| `parseEvery` | `{ every }` — e.g. `\"30s\"`, `\"5m\"`, `\"2h\"` | `{ every, ms }` |\n",
  "source": {
    "path": "shared/engines/adapters/domain/cron/README.md",
    "blobSha": "",
    "commit": "",
    "committedAt": "",
    "provenance": "no-git",
    "bytes": 963,
    "hash": "449f11eb4dadf053424fc22bf07169d9dc90efa4"
  },
  "urls": {
    "html": "/p/adapters/a-cron",
    "json": "/docs/adapters/a-cron.json",
    "md": "/docs/adapters/a-cron.md"
  },
  "links": {
    "composes": [],
    "usedBy": [],
    "product": [
      "pkg:@leumas/studio"
    ],
    "howTo": [],
    "skills": []
  },
  "exports": null
}
