{"version":3,"file":"arg_specs-H1qM_1QI.mjs","names":[],"sources":["../src/batteries/dev_tools/arg_specs.ts"],"sourcesContent":["/** Machine-readable declaration for one step argument. */\nexport interface DevArgSpec {\n  /** Primitive argument kind. */\n  type: 'string' | 'number' | 'boolean' | 'array'\n  /** Whether the argument must be present. */\n  required?: boolean\n  /** Constraint on array members, including object field constraints. */\n  element?:\n    | 'string'\n    | {\n        fields: Readonly<Record<string, 'string' | { type: 'string'; nonEmpty?: boolean }>>\n        nonEmpty?: boolean\n      }\n  /** Whether a string or array argument itself must be non-empty. */\n  nonEmpty?: boolean\n}\n\n/** Per-step argument specifications used by development plan validation. */\nexport const DEV_ARG_SPECS: Readonly<Record<string, Readonly<Record<string, DevArgSpec>>>> = {\n  read_lines: {\n    path: { type: 'string', required: true },\n    start: { type: 'number', required: true },\n    end: { type: 'number' },\n  },\n  edit: {\n    path: { type: 'string', required: true },\n    edits: {\n      type: 'array',\n      required: true,\n      element: {\n        fields: {\n          find: { type: 'string', nonEmpty: true },\n          replace: { type: 'string' },\n        },\n        nonEmpty: true,\n      },\n      nonEmpty: true,\n    },\n  },\n  apply_patch: { patch: { type: 'string', required: true } },\n  write: { paths: { type: 'array', element: 'string', nonEmpty: true } },\n  format: { paths: { type: 'array', element: 'string', nonEmpty: true } },\n  lint: { paths: { type: 'array', element: 'string', nonEmpty: true }, fix: { type: 'boolean' } },\n  check: {},\n}\n"],"mappings":";;AAkBA,IAAa,gBAAgF;CAC3F,YAAY;EACV,MAAM;GAAE,MAAM;GAAU,UAAU;EAAK;EACvC,OAAO;GAAE,MAAM;GAAU,UAAU;EAAK;EACxC,KAAK,EAAE,MAAM,SAAS;CACxB;CACA,MAAM;EACJ,MAAM;GAAE,MAAM;GAAU,UAAU;EAAK;EACvC,OAAO;GACL,MAAM;GACN,UAAU;GACV,SAAS;IACP,QAAQ;KACN,MAAM;MAAE,MAAM;MAAU,UAAU;KAAK;KACvC,SAAS,EAAE,MAAM,SAAS;IAC5B;IACA,UAAU;GACZ;GACA,UAAU;EACZ;CACF;CACA,aAAa,EAAE,OAAO;EAAE,MAAM;EAAU,UAAU;CAAK,EAAE;CACzD,OAAO,EAAE,OAAO;EAAE,MAAM;EAAS,SAAS;EAAU,UAAU;CAAK,EAAE;CACrE,QAAQ,EAAE,OAAO;EAAE,MAAM;EAAS,SAAS;EAAU,UAAU;CAAK,EAAE;CACtE,MAAM;EAAE,OAAO;GAAE,MAAM;GAAS,SAAS;GAAU,UAAU;EAAK;EAAG,KAAK,EAAE,MAAM,UAAU;CAAE;CAC9F,OAAO,CAAC;AACV"}