{
  "schema": "leumas.docs.page/1",
  "id": "adapter:domain/a-transformation",
  "slug": "adapters/domain/a-transformation",
  "kind": "capabilities",
  "bucket": "package",
  "title": "a-transformation (adapter system)",
  "name": "a-transformation",
  "eyebrow": "adapter system",
  "chip": null,
  "summary": "Input-typed transformation registry: 55 adapters keyed \"<inputType>.<name>\" across 26 input types (string, hex, base64, bytes, json, yaml, csv, url, html, markdown, code, env, geo, vector...",
  "keywords": [
    "a-transformation",
    "input-typed",
    "inputtype",
    "cli-args",
    "yaml",
    "leumas a transformation",
    "archive",
    "transformation"
  ],
  "audience": "both",
  "funnel": {
    "product": null,
    "cta": null
  },
  "body": "# a-transformation (adapter system)\n\nInput-typed transformation **registry**. Ported from `leumas-middleware/lib/a.transformation` — 52\nadapters across 26 input types. Stripped: `server.js` + static server, `frontend/`, `src/cli`,\n`src/server`, `src/core` runner/registry (the SDK/CLI/HTTP shells), `bin/`, `fixtures/`.\n\nEach source adapter (`export async function run(input, ctx)` + `meta.json`) is preserved under\n[`./adapters/<inputType>/<name>/`](./adapters). Tools are keyed `\"<inputType>.<name>\"` and called as\n`adapters[id] = (args) => run(args.input, { options: args.options ?? args })`. All 52 use only Node\nbuiltins — **no external dependencies**.\n\nPort fixes: deprecated import assertions (`assert { type: 'json' }`) rewritten to import attributes\n(`with { type: 'json' }`); `code.stripComments` had corrupted regex literals (`//*[sS]*?*//g`) — fixed\nto correct block/line-comment stripping.\n\n## Input types (26)\n\narchive, audio, base64, bytes, cli-args, code, config, csv, dataset, env, files, folders, geo, hex,\nhtml, image, json, markdown, stream, string, timestamps, url, vector, video, webhook, yaml.\n\n## Examples\n\n| tool | args | result |\n|------|------|--------|\n| `string.slugify` | `{ input: 'Hello World!', options: { separator: '-' } }` | `\"hello-world\"` |\n| `string.base64` | `{ input: 'hi' }` | base64 string |\n| `hex.normalize` | `{ input: '0xAA bb cc' }` | normalized hex |\n| `json.parse` / `json.stringify` | `{ input }` | parsed / stringified |\n| `code.stripComments` | `{ input: 'a//x\\nb/*y*/c' }` | comment-free source |\n\nThe exported `inputTypes` array lists all input-type groups. Each adapter's `meta.json`\n(options / inputFields / returns) lives beside its `adapter.js`.\n",
  "source": {
    "path": "shared/engines/adapters/domain/a-transformation/README.md",
    "blobSha": "",
    "commit": "",
    "committedAt": "",
    "provenance": "no-git",
    "bytes": 1911,
    "hash": "d16c204e690d8b430405d036ee85b33bd599e934"
  },
  "urls": {
    "html": "/p/adapters/domain/a-transformation",
    "json": "/docs/adapters/domain/a-transformation.json",
    "md": "/docs/adapters/domain/a-transformation.md"
  },
  "links": {
    "composes": [],
    "usedBy": [],
    "product": [],
    "howTo": [],
    "skills": []
  }
}
