@godv61/dsh-task-engine 0.23.8 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.acceptance.mjs +89 -0
- package/.assessment-batch1.mjs +403 -0
- package/.e2e-presets.mjs +195 -0
- package/.freeze-test.mjs +90 -0
- package/.hook-consistency.mjs +60 -0
- package/.p0-test.mjs +11 -4
- package/.preset-test.mjs +2 -2
- package/.revision-test.mjs +99 -0
- package/.workflow-test.mjs +64 -62
- package/defaults/eng.json +45 -6
- package/docs/BRIEF-FOR-REVIEW.md +163 -0
- package/docs/CHANGELOG.md +72 -0
- package/docs/configuration.md +31 -6
- package/hooks/commit-msg +104 -25
- package/lib/client.js +227 -106
- package/lib/client.js.map +2 -3
- package/lib/controller.d.ts +9 -0
- package/lib/controller.js +37 -3
- package/lib/controller.js.map +1 -1
- package/lib/dev-task.js +285 -43
- package/lib/dev-task.js.map +1 -1
- package/lib/engine.d.ts +278 -6
- package/lib/engine.js +264 -13
- package/lib/engine.js.map +1 -1
- package/lib/seed-preset.d.ts +5 -5
- package/lib/seed-preset.js +5 -5
- package/lib/skill-audit.js +5 -1
- package/lib/skill-audit.js.map +1 -1
- package/lib/workflows.js +87 -27
- package/lib/workflows.js.map +1 -1
- package/package.json +9 -3
- package/scripts/verify-package.mjs +3 -3
package/lib/client.js.map
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/client/index.ts", "../node_modules/zod/v3/external.js", "../node_modules/zod/v3/helpers/util.js", "../node_modules/zod/v3/ZodError.js", "../node_modules/zod/v3/locales/en.js", "../node_modules/zod/v3/errors.js", "../node_modules/zod/v3/helpers/parseUtil.js", "../node_modules/zod/v3/helpers/errorUtil.js", "../node_modules/zod/v3/types.js", "../src/client/remote.ts", "../src/client/Workbench.tsx", "../src/client/workbench-theme.ts", "../src/client/styles.ts", "../src/client/TaskEngineSection.tsx", "../src/engine.ts", "../src/workflows.ts", "../src/client/shared.ts", "../src/client/InitPanel.tsx", "../src/client/SkillManager.tsx", "../src/client/ResourceManager.tsx", "../src/client/ResourceModal.tsx", "../src/client/RuleManager.tsx", "../src/client/TaskLedger.tsx", "../src/client/TriggerButton.tsx", "../src/client/visibility.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Browser half of dsh-task-engine: a full-screen \"\u5DE5\u7A0B\u6D41\u7A0B\" workbench plus a\n * sidebar trigger. It mounts the `task-engine` Remote namespace, then registers\n * two slot entries that share one visibility store \u2014 the `sidebar.footer.action`\n * trigger opens it, and the `shell.overlay` panel renders it over the whole\n * app frame. The workbench hosts three tabs: the flow editor, the skill\n * manager, and the rule manager.\n *\n * @module dsh-task-engine/client\n */\n\nimport TYPERT_REMOTE from './remote.ts'\nimport type { TaskEngineRemote } from './TaskEngineSection.tsx'\nimport { Workbench } from './Workbench.tsx'\nimport { TriggerButton } from './TriggerButton.tsx'\nimport { createVisibilityStore } from './visibility.ts'\n\nexport const inject = ['remote', 'slots']\n\n/** Narrowed browser context: only the services this half reads. */\ninterface ClientCtx {\n remote: {\n $mount(contribution: unknown): Promise<() => Promise<void>>\n }\n slots: {\n inject(name: string, focus: () => unknown): unknown\n register(entry: unknown, component: unknown): unknown\n }\n get(name: string): unknown\n}\n\n/**\n * Mount the `task-engine` Remote namespace, then register the trigger and the\n * overlay with one shared store.\n * @param ctx - the browser plugin context.\n * @returns disposer that unmounts the Remote contribution; the slot\n * registrations leave with this plugin's own fiber.\n */\nexport async function apply(ctx: ClientCtx): Promise<() => Promise<void>> {\n const disposeRemote = await ctx.remote.$mount(TYPERT_REMOTE)\n\n // The namespace is a `remote.task-engine` service in the global store, not a\n // context-proxy property: this plugin both mounts and consumes it, so declaring\n // it in `inject` would deadlock (the fiber waits on a service its own apply\n // provides). `ctx.get` reads the global store without that enforcement.\n const taskEngine = ctx.get('remote.task-engine') as TaskEngineRemote | undefined\n if (taskEngine === undefined) {\n await disposeRemote()\n throw new Error('task-engine: remote.task-engine namespace failed to mount')\n }\n\n // One store handle connects the trigger and the overlay; the framework caches\n // a single instance per handle \u00D7 root scope, so a trigger click and the\n // panel's close button read/write the same `open` fact.\n const visibility = createVisibilityStore()\n\n ctx.slots.inject('shell.overlay', () => ctx.slots.register({\n name: 'shell.overlay',\n id: 'task-engine',\n order: 100,\n store: visibility,\n inject: () => ({ remote: taskEngine }),\n }, Workbench))\n\n ctx.slots.inject('sidebar.footer.action', () => ctx.slots.register({\n name: 'sidebar.footer.action',\n id: 'task-engine',\n order: 100,\n store: visibility,\n }, TriggerButton))\n\n return async () => {\n await disposeRemote()\n }\n}", "export * from \"./errors.js\";\nexport * from \"./helpers/parseUtil.js\";\nexport * from \"./helpers/typeAliases.js\";\nexport * from \"./helpers/util.js\";\nexport * from \"./types.js\";\nexport * from \"./ZodError.js\";\n", "export var util;\n(function (util) {\n util.assertEqual = (_) => { };\n function assertIs(_arg) { }\n util.assertIs = assertIs;\n function assertNever(_x) {\n throw new Error();\n }\n util.assertNever = assertNever;\n util.arrayToEnum = (items) => {\n const obj = {};\n for (const item of items) {\n obj[item] = item;\n }\n return obj;\n };\n util.getValidEnumValues = (obj) => {\n const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n const filtered = {};\n for (const k of validKeys) {\n filtered[k] = obj[k];\n }\n return util.objectValues(filtered);\n };\n util.objectValues = (obj) => {\n return util.objectKeys(obj).map(function (e) {\n return obj[e];\n });\n };\n util.objectKeys = typeof Object.keys === \"function\" // eslint-disable-line ban/ban\n ? (obj) => Object.keys(obj) // eslint-disable-line ban/ban\n : (object) => {\n const keys = [];\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n };\n util.find = (arr, checker) => {\n for (const item of arr) {\n if (checker(item))\n return item;\n }\n return undefined;\n };\n util.isInteger = typeof Number.isInteger === \"function\"\n ? (val) => Number.isInteger(val) // eslint-disable-line ban/ban\n : (val) => typeof val === \"number\" && Number.isFinite(val) && Math.floor(val) === val;\n function joinValues(array, separator = \" | \") {\n return array.map((val) => (typeof val === \"string\" ? `'${val}'` : val)).join(separator);\n }\n util.joinValues = joinValues;\n util.jsonStringifyReplacer = (_, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n };\n})(util || (util = {}));\nexport var objectUtil;\n(function (objectUtil) {\n objectUtil.mergeShapes = (first, second) => {\n return {\n ...first,\n ...second, // second overwrites first\n };\n };\n})(objectUtil || (objectUtil = {}));\nexport const ZodParsedType = util.arrayToEnum([\n \"string\",\n \"nan\",\n \"number\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"date\",\n \"bigint\",\n \"symbol\",\n \"function\",\n \"undefined\",\n \"null\",\n \"array\",\n \"object\",\n \"unknown\",\n \"promise\",\n \"void\",\n \"never\",\n \"map\",\n \"set\",\n]);\nexport const getParsedType = (data) => {\n const t = typeof data;\n switch (t) {\n case \"undefined\":\n return ZodParsedType.undefined;\n case \"string\":\n return ZodParsedType.string;\n case \"number\":\n return Number.isNaN(data) ? ZodParsedType.nan : ZodParsedType.number;\n case \"boolean\":\n return ZodParsedType.boolean;\n case \"function\":\n return ZodParsedType.function;\n case \"bigint\":\n return ZodParsedType.bigint;\n case \"symbol\":\n return ZodParsedType.symbol;\n case \"object\":\n if (Array.isArray(data)) {\n return ZodParsedType.array;\n }\n if (data === null) {\n return ZodParsedType.null;\n }\n if (data.then && typeof data.then === \"function\" && data.catch && typeof data.catch === \"function\") {\n return ZodParsedType.promise;\n }\n if (typeof Map !== \"undefined\" && data instanceof Map) {\n return ZodParsedType.map;\n }\n if (typeof Set !== \"undefined\" && data instanceof Set) {\n return ZodParsedType.set;\n }\n if (typeof Date !== \"undefined\" && data instanceof Date) {\n return ZodParsedType.date;\n }\n return ZodParsedType.object;\n default:\n return ZodParsedType.unknown;\n }\n};\n", "import { util } from \"./helpers/util.js\";\nexport const ZodIssueCode = util.arrayToEnum([\n \"invalid_type\",\n \"invalid_literal\",\n \"custom\",\n \"invalid_union\",\n \"invalid_union_discriminator\",\n \"invalid_enum_value\",\n \"unrecognized_keys\",\n \"invalid_arguments\",\n \"invalid_return_type\",\n \"invalid_date\",\n \"invalid_string\",\n \"too_small\",\n \"too_big\",\n \"invalid_intersection_types\",\n \"not_multiple_of\",\n \"not_finite\",\n]);\nexport const quotelessJson = (obj) => {\n const json = JSON.stringify(obj, null, 2);\n return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexport class ZodError extends Error {\n get errors() {\n return this.issues;\n }\n constructor(issues) {\n super();\n this.issues = [];\n this.addIssue = (sub) => {\n this.issues = [...this.issues, sub];\n };\n this.addIssues = (subs = []) => {\n this.issues = [...this.issues, ...subs];\n };\n const actualProto = new.target.prototype;\n if (Object.setPrototypeOf) {\n // eslint-disable-next-line ban/ban\n Object.setPrototypeOf(this, actualProto);\n }\n else {\n this.__proto__ = actualProto;\n }\n this.name = \"ZodError\";\n this.issues = issues;\n }\n format(_mapper) {\n const mapper = _mapper ||\n function (issue) {\n return issue.message;\n };\n const fieldErrors = { _errors: [] };\n const processError = (error) => {\n for (const issue of error.issues) {\n if (issue.code === \"invalid_union\") {\n issue.unionErrors.map(processError);\n }\n else if (issue.code === \"invalid_return_type\") {\n processError(issue.returnTypeError);\n }\n else if (issue.code === \"invalid_arguments\") {\n processError(issue.argumentsError);\n }\n else if (issue.path.length === 0) {\n fieldErrors._errors.push(mapper(issue));\n }\n else {\n let curr = fieldErrors;\n let i = 0;\n while (i < issue.path.length) {\n const el = issue.path[i];\n const terminal = i === issue.path.length - 1;\n if (!terminal) {\n curr[el] = curr[el] || { _errors: [] };\n // if (typeof el === \"string\") {\n // curr[el] = curr[el] || { _errors: [] };\n // } else if (typeof el === \"number\") {\n // const errorArray: any = [];\n // errorArray._errors = [];\n // curr[el] = curr[el] || errorArray;\n // }\n }\n else {\n curr[el] = curr[el] || { _errors: [] };\n curr[el]._errors.push(mapper(issue));\n }\n curr = curr[el];\n i++;\n }\n }\n }\n };\n processError(this);\n return fieldErrors;\n }\n static assert(value) {\n if (!(value instanceof ZodError)) {\n throw new Error(`Not a ZodError: ${value}`);\n }\n }\n toString() {\n return this.message;\n }\n get message() {\n return JSON.stringify(this.issues, util.jsonStringifyReplacer, 2);\n }\n get isEmpty() {\n return this.issues.length === 0;\n }\n flatten(mapper = (issue) => issue.message) {\n const fieldErrors = {};\n const formErrors = [];\n for (const sub of this.issues) {\n if (sub.path.length > 0) {\n const firstEl = sub.path[0];\n fieldErrors[firstEl] = fieldErrors[firstEl] || [];\n fieldErrors[firstEl].push(mapper(sub));\n }\n else {\n formErrors.push(mapper(sub));\n }\n }\n return { formErrors, fieldErrors };\n }\n get formErrors() {\n return this.flatten();\n }\n}\nZodError.create = (issues) => {\n const error = new ZodError(issues);\n return error;\n};\n", "import { ZodIssueCode } from \"../ZodError.js\";\nimport { util, ZodParsedType } from \"../helpers/util.js\";\nconst errorMap = (issue, _ctx) => {\n let message;\n switch (issue.code) {\n case ZodIssueCode.invalid_type:\n if (issue.received === ZodParsedType.undefined) {\n message = \"Required\";\n }\n else {\n message = `Expected ${issue.expected}, received ${issue.received}`;\n }\n break;\n case ZodIssueCode.invalid_literal:\n message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util.jsonStringifyReplacer)}`;\n break;\n case ZodIssueCode.unrecognized_keys:\n message = `Unrecognized key(s) in object: ${util.joinValues(issue.keys, \", \")}`;\n break;\n case ZodIssueCode.invalid_union:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_union_discriminator:\n message = `Invalid discriminator value. Expected ${util.joinValues(issue.options)}`;\n break;\n case ZodIssueCode.invalid_enum_value:\n message = `Invalid enum value. Expected ${util.joinValues(issue.options)}, received '${issue.received}'`;\n break;\n case ZodIssueCode.invalid_arguments:\n message = `Invalid function arguments`;\n break;\n case ZodIssueCode.invalid_return_type:\n message = `Invalid function return type`;\n break;\n case ZodIssueCode.invalid_date:\n message = `Invalid date`;\n break;\n case ZodIssueCode.invalid_string:\n if (typeof issue.validation === \"object\") {\n if (\"includes\" in issue.validation) {\n message = `Invalid input: must include \"${issue.validation.includes}\"`;\n if (typeof issue.validation.position === \"number\") {\n message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n }\n }\n else if (\"startsWith\" in issue.validation) {\n message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n }\n else if (\"endsWith\" in issue.validation) {\n message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n }\n else {\n util.assertNever(issue.validation);\n }\n }\n else if (issue.validation !== \"regex\") {\n message = `Invalid ${issue.validation}`;\n }\n else {\n message = \"Invalid\";\n }\n break;\n case ZodIssueCode.too_small:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"bigint\")\n message = `Number must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${issue.minimum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly equal to ` : issue.inclusive ? `greater than or equal to ` : `greater than `}${new Date(Number(issue.minimum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.too_big:\n if (issue.type === \"array\")\n message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n else if (issue.type === \"string\")\n message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n else if (issue.type === \"number\")\n message = `Number must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"bigint\")\n message = `BigInt must be ${issue.exact ? `exactly` : issue.inclusive ? `less than or equal to` : `less than`} ${issue.maximum}`;\n else if (issue.type === \"date\")\n message = `Date must be ${issue.exact ? `exactly` : issue.inclusive ? `smaller than or equal to` : `smaller than`} ${new Date(Number(issue.maximum))}`;\n else\n message = \"Invalid input\";\n break;\n case ZodIssueCode.custom:\n message = `Invalid input`;\n break;\n case ZodIssueCode.invalid_intersection_types:\n message = `Intersection results could not be merged`;\n break;\n case ZodIssueCode.not_multiple_of:\n message = `Number must be a multiple of ${issue.multipleOf}`;\n break;\n case ZodIssueCode.not_finite:\n message = \"Number must be finite\";\n break;\n default:\n message = _ctx.defaultError;\n util.assertNever(issue);\n }\n return { message };\n};\nexport default errorMap;\n", "import defaultErrorMap from \"./locales/en.js\";\nlet overrideErrorMap = defaultErrorMap;\nexport { defaultErrorMap };\nexport function setErrorMap(map) {\n overrideErrorMap = map;\n}\nexport function getErrorMap() {\n return overrideErrorMap;\n}\n", "import { getErrorMap } from \"../errors.js\";\nimport defaultErrorMap from \"../locales/en.js\";\nexport const makeIssue = (params) => {\n const { data, path, errorMaps, issueData } = params;\n const fullPath = [...path, ...(issueData.path || [])];\n const fullIssue = {\n ...issueData,\n path: fullPath,\n };\n if (issueData.message !== undefined) {\n return {\n ...issueData,\n path: fullPath,\n message: issueData.message,\n };\n }\n let errorMessage = \"\";\n const maps = errorMaps\n .filter((m) => !!m)\n .slice()\n .reverse();\n for (const map of maps) {\n errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n }\n return {\n ...issueData,\n path: fullPath,\n message: errorMessage,\n };\n};\nexport const EMPTY_PATH = [];\nexport function addIssueToContext(ctx, issueData) {\n const overrideMap = getErrorMap();\n const issue = makeIssue({\n issueData: issueData,\n data: ctx.data,\n path: ctx.path,\n errorMaps: [\n ctx.common.contextualErrorMap, // contextual error map is first priority\n ctx.schemaErrorMap, // then schema-bound map if available\n overrideMap, // then global override map\n overrideMap === defaultErrorMap ? undefined : defaultErrorMap, // then global default map\n ].filter((x) => !!x),\n });\n ctx.common.issues.push(issue);\n}\nexport class ParseStatus {\n constructor() {\n this.value = \"valid\";\n }\n dirty() {\n if (this.value === \"valid\")\n this.value = \"dirty\";\n }\n abort() {\n if (this.value !== \"aborted\")\n this.value = \"aborted\";\n }\n static mergeArray(status, results) {\n const arrayValue = [];\n for (const s of results) {\n if (s.status === \"aborted\")\n return INVALID;\n if (s.status === \"dirty\")\n status.dirty();\n arrayValue.push(s.value);\n }\n return { status: status.value, value: arrayValue };\n }\n static async mergeObjectAsync(status, pairs) {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n });\n }\n return ParseStatus.mergeObjectSync(status, syncPairs);\n }\n static mergeObjectSync(status, pairs) {\n const finalObject = {};\n for (const pair of pairs) {\n const { key, value } = pair;\n if (key.status === \"aborted\")\n return INVALID;\n if (value.status === \"aborted\")\n return INVALID;\n if (key.status === \"dirty\")\n status.dirty();\n if (value.status === \"dirty\")\n status.dirty();\n if (key.value !== \"__proto__\" && (typeof value.value !== \"undefined\" || pair.alwaysSet)) {\n finalObject[key.value] = value.value;\n }\n }\n return { status: status.value, value: finalObject };\n }\n}\nexport const INVALID = Object.freeze({\n status: \"aborted\",\n});\nexport const DIRTY = (value) => ({ status: \"dirty\", value });\nexport const OK = (value) => ({ status: \"valid\", value });\nexport const isAborted = (x) => x.status === \"aborted\";\nexport const isDirty = (x) => x.status === \"dirty\";\nexport const isValid = (x) => x.status === \"valid\";\nexport const isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\n", "export var errorUtil;\n(function (errorUtil) {\n errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n // biome-ignore lint:\n errorUtil.toString = (message) => typeof message === \"string\" ? message : message?.message;\n})(errorUtil || (errorUtil = {}));\n", "import { ZodError, ZodIssueCode, } from \"./ZodError.js\";\nimport { defaultErrorMap, getErrorMap } from \"./errors.js\";\nimport { errorUtil } from \"./helpers/errorUtil.js\";\nimport { DIRTY, INVALID, OK, ParseStatus, addIssueToContext, isAborted, isAsync, isDirty, isValid, makeIssue, } from \"./helpers/parseUtil.js\";\nimport { util, ZodParsedType, getParsedType } from \"./helpers/util.js\";\nclass ParseInputLazyPath {\n constructor(parent, value, path, key) {\n this._cachedPath = [];\n this.parent = parent;\n this.data = value;\n this._path = path;\n this._key = key;\n }\n get path() {\n if (!this._cachedPath.length) {\n if (Array.isArray(this._key)) {\n this._cachedPath.push(...this._path, ...this._key);\n }\n else {\n this._cachedPath.push(...this._path, this._key);\n }\n }\n return this._cachedPath;\n }\n}\nconst handleResult = (ctx, result) => {\n if (isValid(result)) {\n return { success: true, data: result.value };\n }\n else {\n if (!ctx.common.issues.length) {\n throw new Error(\"Validation failed but no issues detected.\");\n }\n return {\n success: false,\n get error() {\n if (this._error)\n return this._error;\n const error = new ZodError(ctx.common.issues);\n this._error = error;\n return this._error;\n },\n };\n }\n};\nfunction processCreateParams(params) {\n if (!params)\n return {};\n const { errorMap, invalid_type_error, required_error, description } = params;\n if (errorMap && (invalid_type_error || required_error)) {\n throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n }\n if (errorMap)\n return { errorMap: errorMap, description };\n const customMap = (iss, ctx) => {\n const { message } = params;\n if (iss.code === \"invalid_enum_value\") {\n return { message: message ?? ctx.defaultError };\n }\n if (typeof ctx.data === \"undefined\") {\n return { message: message ?? required_error ?? ctx.defaultError };\n }\n if (iss.code !== \"invalid_type\")\n return { message: ctx.defaultError };\n return { message: message ?? invalid_type_error ?? ctx.defaultError };\n };\n return { errorMap: customMap, description };\n}\nexport class ZodType {\n get description() {\n return this._def.description;\n }\n _getType(input) {\n return getParsedType(input.data);\n }\n _getOrReturnCtx(input, ctx) {\n return (ctx || {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n });\n }\n _processInputParams(input) {\n return {\n status: new ParseStatus(),\n ctx: {\n common: input.parent.common,\n data: input.data,\n parsedType: getParsedType(input.data),\n schemaErrorMap: this._def.errorMap,\n path: input.path,\n parent: input.parent,\n },\n };\n }\n _parseSync(input) {\n const result = this._parse(input);\n if (isAsync(result)) {\n throw new Error(\"Synchronous parse encountered promise.\");\n }\n return result;\n }\n _parseAsync(input) {\n const result = this._parse(input);\n return Promise.resolve(result);\n }\n parse(data, params) {\n const result = this.safeParse(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n safeParse(data, params) {\n const ctx = {\n common: {\n issues: [],\n async: params?.async ?? false,\n contextualErrorMap: params?.errorMap,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n return handleResult(ctx, result);\n }\n \"~validate\"(data) {\n const ctx = {\n common: {\n issues: [],\n async: !!this[\"~standard\"].async,\n },\n path: [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n if (!this[\"~standard\"].async) {\n try {\n const result = this._parseSync({ data, path: [], parent: ctx });\n return isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n };\n }\n catch (err) {\n if (err?.message?.toLowerCase()?.includes(\"encountered\")) {\n this[\"~standard\"].async = true;\n }\n ctx.common = {\n issues: [],\n async: true,\n };\n }\n }\n return this._parseAsync({ data, path: [], parent: ctx }).then((result) => isValid(result)\n ? {\n value: result.value,\n }\n : {\n issues: ctx.common.issues,\n });\n }\n async parseAsync(data, params) {\n const result = await this.safeParseAsync(data, params);\n if (result.success)\n return result.data;\n throw result.error;\n }\n async safeParseAsync(data, params) {\n const ctx = {\n common: {\n issues: [],\n contextualErrorMap: params?.errorMap,\n async: true,\n },\n path: params?.path || [],\n schemaErrorMap: this._def.errorMap,\n parent: null,\n data,\n parsedType: getParsedType(data),\n };\n const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n const result = await (isAsync(maybeAsyncResult) ? maybeAsyncResult : Promise.resolve(maybeAsyncResult));\n return handleResult(ctx, result);\n }\n refine(check, message) {\n const getIssueProperties = (val) => {\n if (typeof message === \"string\" || typeof message === \"undefined\") {\n return { message };\n }\n else if (typeof message === \"function\") {\n return message(val);\n }\n else {\n return message;\n }\n };\n return this._refinement((val, ctx) => {\n const result = check(val);\n const setError = () => ctx.addIssue({\n code: ZodIssueCode.custom,\n ...getIssueProperties(val),\n });\n if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n return result.then((data) => {\n if (!data) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n if (!result) {\n setError();\n return false;\n }\n else {\n return true;\n }\n });\n }\n refinement(check, refinementData) {\n return this._refinement((val, ctx) => {\n if (!check(val)) {\n ctx.addIssue(typeof refinementData === \"function\" ? refinementData(val, ctx) : refinementData);\n return false;\n }\n else {\n return true;\n }\n });\n }\n _refinement(refinement) {\n return new ZodEffects({\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"refinement\", refinement },\n });\n }\n superRefine(refinement) {\n return this._refinement(refinement);\n }\n constructor(def) {\n /** Alias of safeParseAsync */\n this.spa = this.safeParseAsync;\n this._def = def;\n this.parse = this.parse.bind(this);\n this.safeParse = this.safeParse.bind(this);\n this.parseAsync = this.parseAsync.bind(this);\n this.safeParseAsync = this.safeParseAsync.bind(this);\n this.spa = this.spa.bind(this);\n this.refine = this.refine.bind(this);\n this.refinement = this.refinement.bind(this);\n this.superRefine = this.superRefine.bind(this);\n this.optional = this.optional.bind(this);\n this.nullable = this.nullable.bind(this);\n this.nullish = this.nullish.bind(this);\n this.array = this.array.bind(this);\n this.promise = this.promise.bind(this);\n this.or = this.or.bind(this);\n this.and = this.and.bind(this);\n this.transform = this.transform.bind(this);\n this.brand = this.brand.bind(this);\n this.default = this.default.bind(this);\n this.catch = this.catch.bind(this);\n this.describe = this.describe.bind(this);\n this.pipe = this.pipe.bind(this);\n this.readonly = this.readonly.bind(this);\n this.isNullable = this.isNullable.bind(this);\n this.isOptional = this.isOptional.bind(this);\n this[\"~standard\"] = {\n version: 1,\n vendor: \"zod\",\n validate: (data) => this[\"~validate\"](data),\n };\n }\n optional() {\n return ZodOptional.create(this, this._def);\n }\n nullable() {\n return ZodNullable.create(this, this._def);\n }\n nullish() {\n return this.nullable().optional();\n }\n array() {\n return ZodArray.create(this);\n }\n promise() {\n return ZodPromise.create(this, this._def);\n }\n or(option) {\n return ZodUnion.create([this, option], this._def);\n }\n and(incoming) {\n return ZodIntersection.create(this, incoming, this._def);\n }\n transform(transform) {\n return new ZodEffects({\n ...processCreateParams(this._def),\n schema: this,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect: { type: \"transform\", transform },\n });\n }\n default(def) {\n const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodDefault({\n ...processCreateParams(this._def),\n innerType: this,\n defaultValue: defaultValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n });\n }\n brand() {\n return new ZodBranded({\n typeName: ZodFirstPartyTypeKind.ZodBranded,\n type: this,\n ...processCreateParams(this._def),\n });\n }\n catch(def) {\n const catchValueFunc = typeof def === \"function\" ? def : () => def;\n return new ZodCatch({\n ...processCreateParams(this._def),\n innerType: this,\n catchValue: catchValueFunc,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n });\n }\n describe(description) {\n const This = this.constructor;\n return new This({\n ...this._def,\n description,\n });\n }\n pipe(target) {\n return ZodPipeline.create(this, target);\n }\n readonly() {\n return ZodReadonly.create(this);\n }\n isOptional() {\n return this.safeParse(undefined).success;\n }\n isNullable() {\n return this.safeParse(null).success;\n }\n}\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[0-9a-z]+$/;\nconst ulidRegex = /^[0-9A-HJKMNP-TV-Z]{26}$/i;\n// const uuidRegex =\n// /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst uuidRegex = /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/i;\nconst nanoidRegex = /^[a-z0-9_-]{21}$/i;\nconst jwtRegex = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\nconst durationRegex = /^[-+]?P(?!$)(?:(?:[-+]?\\d+Y)|(?:[-+]?\\d+[.,]\\d+Y$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:(?:[-+]?\\d+W)|(?:[-+]?\\d+[.,]\\d+W$))?(?:(?:[-+]?\\d+D)|(?:[-+]?\\d+[.,]\\d+D$))?(?:T(?=[\\d+-])(?:(?:[-+]?\\d+H)|(?:[-+]?\\d+[.,]\\d+H$))?(?:(?:[-+]?\\d+M)|(?:[-+]?\\d+[.,]\\d+M$))?(?:[-+]?\\d+(?:[.,]\\d+)?S)?)??$/;\n// from https://stackoverflow.com/a/46181/1550155\n// old version: too slow, didn't support unicode\n// const emailRegex = /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i;\n//old email regex\n// const emailRegex = /^(([^<>()[\\].,;:\\s@\"]+(\\.[^<>()[\\].,;:\\s@\"]+)*)|(\".+\"))@((?!-)([^<>()[\\].,;:\\s@\"]+\\.)+[^<>()[\\].,;:\\s@\"]{1,})[^-<>()[\\].,;:\\s@\"]$/i;\n// eslint-disable-next-line\n// const emailRegex =\n// /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\n// const emailRegex =\n// /^[a-zA-Z0-9\\.\\!\\#\\$\\%\\&\\'\\*\\+\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~\\-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n// const emailRegex =\n// /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nconst emailRegex = /^(?!\\.)(?!.*\\.\\.)([A-Z0-9_'+\\-\\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\\-]*\\.)+[A-Z]{2,}$/i;\n// const emailRegex =\n// /^[a-z0-9.!#$%&\u2019*+/=?^_`{|}~-]+@[a-z0-9-]+(?:\\.[a-z0-9\\-]+)*$/i;\n// from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression\nconst _emojiRegex = `^(\\\\p{Extended_Pictographic}|\\\\p{Emoji_Component})+$`;\nlet emojiRegex;\n// faster, simpler, safer\nconst ipv4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;\nconst ipv4CidrRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\/(3[0-2]|[12]?[0-9])$/;\n// const ipv6Regex =\n// /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst ipv6Regex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/;\nconst ipv6CidrRegex = /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/;\n// https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript\nconst base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;\n// https://base64.guru/standards/base64url\nconst base64urlRegex = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/;\n// simple\n// const dateRegexSource = `\\\\d{4}-\\\\d{2}-\\\\d{2}`;\n// no leap year validation\n// const dateRegexSource = `\\\\d{4}-((0[13578]|10|12)-31|(0[13-9]|1[0-2])-30|(0[1-9]|1[0-2])-(0[1-9]|1\\\\d|2\\\\d))`;\n// with leap year validation\nconst dateRegexSource = `((\\\\d\\\\d[2468][048]|\\\\d\\\\d[13579][26]|\\\\d\\\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\\\d|30)|(02)-(0[1-9]|1\\\\d|2[0-8])))`;\nconst dateRegex = new RegExp(`^${dateRegexSource}$`);\nfunction timeRegexSource(args) {\n let secondsRegexSource = `[0-5]\\\\d`;\n if (args.precision) {\n secondsRegexSource = `${secondsRegexSource}\\\\.\\\\d{${args.precision}}`;\n }\n else if (args.precision == null) {\n secondsRegexSource = `${secondsRegexSource}(\\\\.\\\\d+)?`;\n }\n const secondsQuantifier = args.precision ? \"+\" : \"?\"; // require seconds if precision is nonzero\n return `([01]\\\\d|2[0-3]):[0-5]\\\\d(:${secondsRegexSource})${secondsQuantifier}`;\n}\nfunction timeRegex(args) {\n return new RegExp(`^${timeRegexSource(args)}$`);\n}\n// Adapted from https://stackoverflow.com/a/3143231\nexport function datetimeRegex(args) {\n let regex = `${dateRegexSource}T${timeRegexSource(args)}`;\n const opts = [];\n opts.push(args.local ? `Z?` : `Z`);\n if (args.offset)\n opts.push(`([+-]\\\\d{2}:?\\\\d{2})`);\n regex = `${regex}(${opts.join(\"|\")})`;\n return new RegExp(`^${regex}$`);\n}\nfunction isValidIP(ip, version) {\n if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n return true;\n }\n return false;\n}\nfunction isValidJWT(jwt, alg) {\n if (!jwtRegex.test(jwt))\n return false;\n try {\n const [header] = jwt.split(\".\");\n if (!header)\n return false;\n // Convert base64url to base64\n const base64 = header\n .replace(/-/g, \"+\")\n .replace(/_/g, \"/\")\n .padEnd(header.length + ((4 - (header.length % 4)) % 4), \"=\");\n const decoded = JSON.parse(atob(base64));\n if (typeof decoded !== \"object\" || decoded === null)\n return false;\n if (\"typ\" in decoded && decoded?.typ !== \"JWT\")\n return false;\n if (!decoded.alg)\n return false;\n if (alg && decoded.alg !== alg)\n return false;\n return true;\n }\n catch {\n return false;\n }\n}\nfunction isValidCidr(ip, version) {\n if ((version === \"v4\" || !version) && ipv4CidrRegex.test(ip)) {\n return true;\n }\n if ((version === \"v6\" || !version) && ipv6CidrRegex.test(ip)) {\n return true;\n }\n return false;\n}\nexport class ZodString extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = String(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.string) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.string,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.length < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.length > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"length\") {\n const tooBig = input.data.length > check.value;\n const tooSmall = input.data.length < check.value;\n if (tooBig || tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n if (tooBig) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n else if (tooSmall) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"string\",\n inclusive: true,\n exact: true,\n message: check.message,\n });\n }\n status.dirty();\n }\n }\n else if (check.kind === \"email\") {\n if (!emailRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"email\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"emoji\") {\n if (!emojiRegex) {\n emojiRegex = new RegExp(_emojiRegex, \"u\");\n }\n if (!emojiRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"emoji\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"uuid\") {\n if (!uuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"uuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"nanoid\") {\n if (!nanoidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"nanoid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid\") {\n if (!cuidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cuid2\") {\n if (!cuid2Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cuid2\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ulid\") {\n if (!ulidRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ulid\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"url\") {\n try {\n new URL(input.data);\n }\n catch {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"regex\") {\n check.regex.lastIndex = 0;\n const testResult = check.regex.test(input.data);\n if (!testResult) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"regex\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"trim\") {\n input.data = input.data.trim();\n }\n else if (check.kind === \"includes\") {\n if (!input.data.includes(check.value, check.position)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { includes: check.value, position: check.position },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"toLowerCase\") {\n input.data = input.data.toLowerCase();\n }\n else if (check.kind === \"toUpperCase\") {\n input.data = input.data.toUpperCase();\n }\n else if (check.kind === \"startsWith\") {\n if (!input.data.startsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { startsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"endsWith\") {\n if (!input.data.endsWith(check.value)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: { endsWith: check.value },\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"datetime\") {\n const regex = datetimeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"datetime\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"date\") {\n const regex = dateRegex;\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"date\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"time\") {\n const regex = timeRegex(check);\n if (!regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_string,\n validation: \"time\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"duration\") {\n if (!durationRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"duration\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"ip\") {\n if (!isValidIP(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"ip\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"jwt\") {\n if (!isValidJWT(input.data, check.alg)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"jwt\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"cidr\") {\n if (!isValidCidr(input.data, check.version)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"cidr\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64\") {\n if (!base64Regex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"base64\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"base64url\") {\n if (!base64urlRegex.test(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n validation: \"base64url\",\n code: ZodIssueCode.invalid_string,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _regex(regex, validation, message) {\n return this.refinement((data) => regex.test(data), {\n validation,\n code: ZodIssueCode.invalid_string,\n ...errorUtil.errToObj(message),\n });\n }\n _addCheck(check) {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n email(message) {\n return this._addCheck({ kind: \"email\", ...errorUtil.errToObj(message) });\n }\n url(message) {\n return this._addCheck({ kind: \"url\", ...errorUtil.errToObj(message) });\n }\n emoji(message) {\n return this._addCheck({ kind: \"emoji\", ...errorUtil.errToObj(message) });\n }\n uuid(message) {\n return this._addCheck({ kind: \"uuid\", ...errorUtil.errToObj(message) });\n }\n nanoid(message) {\n return this._addCheck({ kind: \"nanoid\", ...errorUtil.errToObj(message) });\n }\n cuid(message) {\n return this._addCheck({ kind: \"cuid\", ...errorUtil.errToObj(message) });\n }\n cuid2(message) {\n return this._addCheck({ kind: \"cuid2\", ...errorUtil.errToObj(message) });\n }\n ulid(message) {\n return this._addCheck({ kind: \"ulid\", ...errorUtil.errToObj(message) });\n }\n base64(message) {\n return this._addCheck({ kind: \"base64\", ...errorUtil.errToObj(message) });\n }\n base64url(message) {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return this._addCheck({\n kind: \"base64url\",\n ...errorUtil.errToObj(message),\n });\n }\n jwt(options) {\n return this._addCheck({ kind: \"jwt\", ...errorUtil.errToObj(options) });\n }\n ip(options) {\n return this._addCheck({ kind: \"ip\", ...errorUtil.errToObj(options) });\n }\n cidr(options) {\n return this._addCheck({ kind: \"cidr\", ...errorUtil.errToObj(options) });\n }\n datetime(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"datetime\",\n precision: null,\n offset: false,\n local: false,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"datetime\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n offset: options?.offset ?? false,\n local: options?.local ?? false,\n ...errorUtil.errToObj(options?.message),\n });\n }\n date(message) {\n return this._addCheck({ kind: \"date\", message });\n }\n time(options) {\n if (typeof options === \"string\") {\n return this._addCheck({\n kind: \"time\",\n precision: null,\n message: options,\n });\n }\n return this._addCheck({\n kind: \"time\",\n precision: typeof options?.precision === \"undefined\" ? null : options?.precision,\n ...errorUtil.errToObj(options?.message),\n });\n }\n duration(message) {\n return this._addCheck({ kind: \"duration\", ...errorUtil.errToObj(message) });\n }\n regex(regex, message) {\n return this._addCheck({\n kind: \"regex\",\n regex: regex,\n ...errorUtil.errToObj(message),\n });\n }\n includes(value, options) {\n return this._addCheck({\n kind: \"includes\",\n value: value,\n position: options?.position,\n ...errorUtil.errToObj(options?.message),\n });\n }\n startsWith(value, message) {\n return this._addCheck({\n kind: \"startsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n endsWith(value, message) {\n return this._addCheck({\n kind: \"endsWith\",\n value: value,\n ...errorUtil.errToObj(message),\n });\n }\n min(minLength, message) {\n return this._addCheck({\n kind: \"min\",\n value: minLength,\n ...errorUtil.errToObj(message),\n });\n }\n max(maxLength, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxLength,\n ...errorUtil.errToObj(message),\n });\n }\n length(len, message) {\n return this._addCheck({\n kind: \"length\",\n value: len,\n ...errorUtil.errToObj(message),\n });\n }\n /**\n * Equivalent to `.min(1)`\n */\n nonempty(message) {\n return this.min(1, errorUtil.errToObj(message));\n }\n trim() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"trim\" }],\n });\n }\n toLowerCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n });\n }\n toUpperCase() {\n return new ZodString({\n ...this._def,\n checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n });\n }\n get isDatetime() {\n return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n }\n get isDate() {\n return !!this._def.checks.find((ch) => ch.kind === \"date\");\n }\n get isTime() {\n return !!this._def.checks.find((ch) => ch.kind === \"time\");\n }\n get isDuration() {\n return !!this._def.checks.find((ch) => ch.kind === \"duration\");\n }\n get isEmail() {\n return !!this._def.checks.find((ch) => ch.kind === \"email\");\n }\n get isURL() {\n return !!this._def.checks.find((ch) => ch.kind === \"url\");\n }\n get isEmoji() {\n return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n }\n get isUUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n }\n get isNANOID() {\n return !!this._def.checks.find((ch) => ch.kind === \"nanoid\");\n }\n get isCUID() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n }\n get isCUID2() {\n return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n }\n get isULID() {\n return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n }\n get isIP() {\n return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n }\n get isCIDR() {\n return !!this._def.checks.find((ch) => ch.kind === \"cidr\");\n }\n get isBase64() {\n return !!this._def.checks.find((ch) => ch.kind === \"base64\");\n }\n get isBase64url() {\n // base64url encoding is a modification of base64 that can safely be used in URLs and filenames\n return !!this._def.checks.find((ch) => ch.kind === \"base64url\");\n }\n get minLength() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxLength() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodString.create = (params) => {\n return new ZodString({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodString,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\n// https://stackoverflow.com/questions/3966484/why-does-modulus-operator-return-fractional-number-in-javascript/31711034#31711034\nfunction floatSafeRemainder(val, step) {\n const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n const valInt = Number.parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n const stepInt = Number.parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n return (valInt % stepInt) / 10 ** decCount;\n}\nexport class ZodNumber extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n this.step = this.multipleOf;\n }\n _parse(input) {\n if (this._def.coerce) {\n input.data = Number(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.number) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.number,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"int\") {\n if (!util.isInteger(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: \"integer\",\n received: \"float\",\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: check.value,\n type: \"number\",\n inclusive: check.inclusive,\n exact: false,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (floatSafeRemainder(input.data, check.value) !== 0) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"finite\") {\n if (!Number.isFinite(input.data)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_finite,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodNumber({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodNumber({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n int(message) {\n return this._addCheck({\n kind: \"int\",\n message: errorUtil.toString(message),\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: 0,\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value: value,\n message: errorUtil.toString(message),\n });\n }\n finite(message) {\n return this._addCheck({\n kind: \"finite\",\n message: errorUtil.toString(message),\n });\n }\n safe(message) {\n return this._addCheck({\n kind: \"min\",\n inclusive: true,\n value: Number.MIN_SAFE_INTEGER,\n message: errorUtil.toString(message),\n })._addCheck({\n kind: \"max\",\n inclusive: true,\n value: Number.MAX_SAFE_INTEGER,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n get isInt() {\n return !!this._def.checks.find((ch) => ch.kind === \"int\" || (ch.kind === \"multipleOf\" && util.isInteger(ch.value)));\n }\n get isFinite() {\n let max = null;\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"finite\" || ch.kind === \"int\" || ch.kind === \"multipleOf\") {\n return true;\n }\n else if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n else if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return Number.isFinite(min) && Number.isFinite(max);\n }\n}\nZodNumber.create = (params) => {\n return new ZodNumber({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodNumber,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nexport class ZodBigInt extends ZodType {\n constructor() {\n super(...arguments);\n this.min = this.gte;\n this.max = this.lte;\n }\n _parse(input) {\n if (this._def.coerce) {\n try {\n input.data = BigInt(input.data);\n }\n catch {\n return this._getInvalidInput(input);\n }\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.bigint) {\n return this._getInvalidInput(input);\n }\n let ctx = undefined;\n const status = new ParseStatus();\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n const tooSmall = check.inclusive ? input.data < check.value : input.data <= check.value;\n if (tooSmall) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n type: \"bigint\",\n minimum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n const tooBig = check.inclusive ? input.data > check.value : input.data >= check.value;\n if (tooBig) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n type: \"bigint\",\n maximum: check.value,\n inclusive: check.inclusive,\n message: check.message,\n });\n status.dirty();\n }\n }\n else if (check.kind === \"multipleOf\") {\n if (input.data % check.value !== BigInt(0)) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.not_multiple_of,\n multipleOf: check.value,\n message: check.message,\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return { status: status.value, value: input.data };\n }\n _getInvalidInput(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.bigint,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n gte(value, message) {\n return this.setLimit(\"min\", value, true, errorUtil.toString(message));\n }\n gt(value, message) {\n return this.setLimit(\"min\", value, false, errorUtil.toString(message));\n }\n lte(value, message) {\n return this.setLimit(\"max\", value, true, errorUtil.toString(message));\n }\n lt(value, message) {\n return this.setLimit(\"max\", value, false, errorUtil.toString(message));\n }\n setLimit(kind, value, inclusive, message) {\n return new ZodBigInt({\n ...this._def,\n checks: [\n ...this._def.checks,\n {\n kind,\n value,\n inclusive,\n message: errorUtil.toString(message),\n },\n ],\n });\n }\n _addCheck(check) {\n return new ZodBigInt({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n positive(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n negative(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: false,\n message: errorUtil.toString(message),\n });\n }\n nonpositive(message) {\n return this._addCheck({\n kind: \"max\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n nonnegative(message) {\n return this._addCheck({\n kind: \"min\",\n value: BigInt(0),\n inclusive: true,\n message: errorUtil.toString(message),\n });\n }\n multipleOf(value, message) {\n return this._addCheck({\n kind: \"multipleOf\",\n value,\n message: errorUtil.toString(message),\n });\n }\n get minValue() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min;\n }\n get maxValue() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max;\n }\n}\nZodBigInt.create = (params) => {\n return new ZodBigInt({\n checks: [],\n typeName: ZodFirstPartyTypeKind.ZodBigInt,\n coerce: params?.coerce ?? false,\n ...processCreateParams(params),\n });\n};\nexport class ZodBoolean extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = Boolean(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.boolean) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.boolean,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodBoolean.create = (params) => {\n return new ZodBoolean({\n typeName: ZodFirstPartyTypeKind.ZodBoolean,\n coerce: params?.coerce || false,\n ...processCreateParams(params),\n });\n};\nexport class ZodDate extends ZodType {\n _parse(input) {\n if (this._def.coerce) {\n input.data = new Date(input.data);\n }\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.date) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.date,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (Number.isNaN(input.data.getTime())) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_date,\n });\n return INVALID;\n }\n const status = new ParseStatus();\n let ctx = undefined;\n for (const check of this._def.checks) {\n if (check.kind === \"min\") {\n if (input.data.getTime() < check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n message: check.message,\n inclusive: true,\n exact: false,\n minimum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else if (check.kind === \"max\") {\n if (input.data.getTime() > check.value) {\n ctx = this._getOrReturnCtx(input, ctx);\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n message: check.message,\n inclusive: true,\n exact: false,\n maximum: check.value,\n type: \"date\",\n });\n status.dirty();\n }\n }\n else {\n util.assertNever(check);\n }\n }\n return {\n status: status.value,\n value: new Date(input.data.getTime()),\n };\n }\n _addCheck(check) {\n return new ZodDate({\n ...this._def,\n checks: [...this._def.checks, check],\n });\n }\n min(minDate, message) {\n return this._addCheck({\n kind: \"min\",\n value: minDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n max(maxDate, message) {\n return this._addCheck({\n kind: \"max\",\n value: maxDate.getTime(),\n message: errorUtil.toString(message),\n });\n }\n get minDate() {\n let min = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"min\") {\n if (min === null || ch.value > min)\n min = ch.value;\n }\n }\n return min != null ? new Date(min) : null;\n }\n get maxDate() {\n let max = null;\n for (const ch of this._def.checks) {\n if (ch.kind === \"max\") {\n if (max === null || ch.value < max)\n max = ch.value;\n }\n }\n return max != null ? new Date(max) : null;\n }\n}\nZodDate.create = (params) => {\n return new ZodDate({\n checks: [],\n coerce: params?.coerce || false,\n typeName: ZodFirstPartyTypeKind.ZodDate,\n ...processCreateParams(params),\n });\n};\nexport class ZodSymbol extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.symbol) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.symbol,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodSymbol.create = (params) => {\n return new ZodSymbol({\n typeName: ZodFirstPartyTypeKind.ZodSymbol,\n ...processCreateParams(params),\n });\n};\nexport class ZodUndefined extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.undefined,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodUndefined.create = (params) => {\n return new ZodUndefined({\n typeName: ZodFirstPartyTypeKind.ZodUndefined,\n ...processCreateParams(params),\n });\n};\nexport class ZodNull extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.null) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.null,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodNull.create = (params) => {\n return new ZodNull({\n typeName: ZodFirstPartyTypeKind.ZodNull,\n ...processCreateParams(params),\n });\n};\nexport class ZodAny extends ZodType {\n constructor() {\n super(...arguments);\n // to prevent instances of other classes from extending ZodAny. this causes issues with catchall in ZodObject.\n this._any = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodAny.create = (params) => {\n return new ZodAny({\n typeName: ZodFirstPartyTypeKind.ZodAny,\n ...processCreateParams(params),\n });\n};\nexport class ZodUnknown extends ZodType {\n constructor() {\n super(...arguments);\n // required\n this._unknown = true;\n }\n _parse(input) {\n return OK(input.data);\n }\n}\nZodUnknown.create = (params) => {\n return new ZodUnknown({\n typeName: ZodFirstPartyTypeKind.ZodUnknown,\n ...processCreateParams(params),\n });\n};\nexport class ZodNever extends ZodType {\n _parse(input) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.never,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n}\nZodNever.create = (params) => {\n return new ZodNever({\n typeName: ZodFirstPartyTypeKind.ZodNever,\n ...processCreateParams(params),\n });\n};\nexport class ZodVoid extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.undefined) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.void,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n}\nZodVoid.create = (params) => {\n return new ZodVoid({\n typeName: ZodFirstPartyTypeKind.ZodVoid,\n ...processCreateParams(params),\n });\n};\nexport class ZodArray extends ZodType {\n _parse(input) {\n const { ctx, status } = this._processInputParams(input);\n const def = this._def;\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (def.exactLength !== null) {\n const tooBig = ctx.data.length > def.exactLength.value;\n const tooSmall = ctx.data.length < def.exactLength.value;\n if (tooBig || tooSmall) {\n addIssueToContext(ctx, {\n code: tooBig ? ZodIssueCode.too_big : ZodIssueCode.too_small,\n minimum: (tooSmall ? def.exactLength.value : undefined),\n maximum: (tooBig ? def.exactLength.value : undefined),\n type: \"array\",\n inclusive: true,\n exact: true,\n message: def.exactLength.message,\n });\n status.dirty();\n }\n }\n if (def.minLength !== null) {\n if (ctx.data.length < def.minLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.minLength.message,\n });\n status.dirty();\n }\n }\n if (def.maxLength !== null) {\n if (ctx.data.length > def.maxLength.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxLength.value,\n type: \"array\",\n inclusive: true,\n exact: false,\n message: def.maxLength.message,\n });\n status.dirty();\n }\n }\n if (ctx.common.async) {\n return Promise.all([...ctx.data].map((item, i) => {\n return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n })).then((result) => {\n return ParseStatus.mergeArray(status, result);\n });\n }\n const result = [...ctx.data].map((item, i) => {\n return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n });\n return ParseStatus.mergeArray(status, result);\n }\n get element() {\n return this._def.type;\n }\n min(minLength, message) {\n return new ZodArray({\n ...this._def,\n minLength: { value: minLength, message: errorUtil.toString(message) },\n });\n }\n max(maxLength, message) {\n return new ZodArray({\n ...this._def,\n maxLength: { value: maxLength, message: errorUtil.toString(message) },\n });\n }\n length(len, message) {\n return new ZodArray({\n ...this._def,\n exactLength: { value: len, message: errorUtil.toString(message) },\n });\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodArray.create = (schema, params) => {\n return new ZodArray({\n type: schema,\n minLength: null,\n maxLength: null,\n exactLength: null,\n typeName: ZodFirstPartyTypeKind.ZodArray,\n ...processCreateParams(params),\n });\n};\nfunction deepPartialify(schema) {\n if (schema instanceof ZodObject) {\n const newShape = {};\n for (const key in schema.shape) {\n const fieldSchema = schema.shape[key];\n newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n }\n return new ZodObject({\n ...schema._def,\n shape: () => newShape,\n });\n }\n else if (schema instanceof ZodArray) {\n return new ZodArray({\n ...schema._def,\n type: deepPartialify(schema.element),\n });\n }\n else if (schema instanceof ZodOptional) {\n return ZodOptional.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodNullable) {\n return ZodNullable.create(deepPartialify(schema.unwrap()));\n }\n else if (schema instanceof ZodTuple) {\n return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n }\n else {\n return schema;\n }\n}\nexport class ZodObject extends ZodType {\n constructor() {\n super(...arguments);\n this._cached = null;\n /**\n * @deprecated In most cases, this is no longer needed - unknown properties are now silently stripped.\n * If you want to pass through unknown properties, use `.passthrough()` instead.\n */\n this.nonstrict = this.passthrough;\n // extend<\n // Augmentation extends ZodRawShape,\n // NewOutput extends util.flatten<{\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // }>,\n // NewInput extends util.flatten<{\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }>\n // >(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<T, Augmentation>,\n // UnknownKeys,\n // Catchall,\n // NewOutput,\n // NewInput\n // > {\n // return new ZodObject({\n // ...this._def,\n // shape: () => ({\n // ...this._def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // }\n /**\n * @deprecated Use `.extend` instead\n * */\n this.augment = this.extend;\n }\n _getCached() {\n if (this._cached !== null)\n return this._cached;\n const shape = this._def.shape();\n const keys = util.objectKeys(shape);\n this._cached = { shape, keys };\n return this._cached;\n }\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.object) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const { status, ctx } = this._processInputParams(input);\n const { shape, keys: shapeKeys } = this._getCached();\n const extraKeys = [];\n if (!(this._def.catchall instanceof ZodNever && this._def.unknownKeys === \"strip\")) {\n for (const key in ctx.data) {\n if (!shapeKeys.includes(key)) {\n extraKeys.push(key);\n }\n }\n }\n const pairs = [];\n for (const key of shapeKeys) {\n const keyValidator = shape[key];\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (this._def.catchall instanceof ZodNever) {\n const unknownKeys = this._def.unknownKeys;\n if (unknownKeys === \"passthrough\") {\n for (const key of extraKeys) {\n pairs.push({\n key: { status: \"valid\", value: key },\n value: { status: \"valid\", value: ctx.data[key] },\n });\n }\n }\n else if (unknownKeys === \"strict\") {\n if (extraKeys.length > 0) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.unrecognized_keys,\n keys: extraKeys,\n });\n status.dirty();\n }\n }\n else if (unknownKeys === \"strip\") {\n }\n else {\n throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n }\n }\n else {\n // run catchall validation\n const catchall = this._def.catchall;\n for (const key of extraKeys) {\n const value = ctx.data[key];\n pairs.push({\n key: { status: \"valid\", value: key },\n value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key) //, ctx.child(key), value, getParsedType(value)\n ),\n alwaysSet: key in ctx.data,\n });\n }\n }\n if (ctx.common.async) {\n return Promise.resolve()\n .then(async () => {\n const syncPairs = [];\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n syncPairs.push({\n key,\n value,\n alwaysSet: pair.alwaysSet,\n });\n }\n return syncPairs;\n })\n .then((syncPairs) => {\n return ParseStatus.mergeObjectSync(status, syncPairs);\n });\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get shape() {\n return this._def.shape();\n }\n strict(message) {\n errorUtil.errToObj;\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strict\",\n ...(message !== undefined\n ? {\n errorMap: (issue, ctx) => {\n const defaultError = this._def.errorMap?.(issue, ctx).message ?? ctx.defaultError;\n if (issue.code === \"unrecognized_keys\")\n return {\n message: errorUtil.errToObj(message).message ?? defaultError,\n };\n return {\n message: defaultError,\n };\n },\n }\n : {}),\n });\n }\n strip() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"strip\",\n });\n }\n passthrough() {\n return new ZodObject({\n ...this._def,\n unknownKeys: \"passthrough\",\n });\n }\n // const AugmentFactory =\n // <Def extends ZodObjectDef>(def: Def) =>\n // <Augmentation extends ZodRawShape>(\n // augmentation: Augmentation\n // ): ZodObject<\n // extendShape<ReturnType<Def[\"shape\"]>, Augmentation>,\n // Def[\"unknownKeys\"],\n // Def[\"catchall\"]\n // > => {\n // return new ZodObject({\n // ...def,\n // shape: () => ({\n // ...def.shape(),\n // ...augmentation,\n // }),\n // }) as any;\n // };\n extend(augmentation) {\n return new ZodObject({\n ...this._def,\n shape: () => ({\n ...this._def.shape(),\n ...augmentation,\n }),\n });\n }\n /**\n * Prior to zod@1.0.12 there was a bug in the\n * inferred type of merged objects. Please\n * upgrade if you are experiencing issues.\n */\n merge(merging) {\n const merged = new ZodObject({\n unknownKeys: merging._def.unknownKeys,\n catchall: merging._def.catchall,\n shape: () => ({\n ...this._def.shape(),\n ...merging._def.shape(),\n }),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n });\n return merged;\n }\n // merge<\n // Incoming extends AnyZodObject,\n // Augmentation extends Incoming[\"shape\"],\n // NewOutput extends {\n // [k in keyof Augmentation | keyof Output]: k extends keyof Augmentation\n // ? Augmentation[k][\"_output\"]\n // : k extends keyof Output\n // ? Output[k]\n // : never;\n // },\n // NewInput extends {\n // [k in keyof Augmentation | keyof Input]: k extends keyof Augmentation\n // ? Augmentation[k][\"_input\"]\n // : k extends keyof Input\n // ? Input[k]\n // : never;\n // }\n // >(\n // merging: Incoming\n // ): ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"],\n // NewOutput,\n // NewInput\n // > {\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n setKey(key, schema) {\n return this.augment({ [key]: schema });\n }\n // merge<Incoming extends AnyZodObject>(\n // merging: Incoming\n // ): //ZodObject<T & Incoming[\"_shape\"], UnknownKeys, Catchall> = (merging) => {\n // ZodObject<\n // extendShape<T, ReturnType<Incoming[\"_def\"][\"shape\"]>>,\n // Incoming[\"_def\"][\"unknownKeys\"],\n // Incoming[\"_def\"][\"catchall\"]\n // > {\n // // const mergedShape = objectUtil.mergeShapes(\n // // this._def.shape(),\n // // merging._def.shape()\n // // );\n // const merged: any = new ZodObject({\n // unknownKeys: merging._def.unknownKeys,\n // catchall: merging._def.catchall,\n // shape: () =>\n // objectUtil.mergeShapes(this._def.shape(), merging._def.shape()),\n // typeName: ZodFirstPartyTypeKind.ZodObject,\n // }) as any;\n // return merged;\n // }\n catchall(index) {\n return new ZodObject({\n ...this._def,\n catchall: index,\n });\n }\n pick(mask) {\n const shape = {};\n for (const key of util.objectKeys(mask)) {\n if (mask[key] && this.shape[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n omit(mask) {\n const shape = {};\n for (const key of util.objectKeys(this.shape)) {\n if (!mask[key]) {\n shape[key] = this.shape[key];\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => shape,\n });\n }\n /**\n * @deprecated\n */\n deepPartial() {\n return deepPartialify(this);\n }\n partial(mask) {\n const newShape = {};\n for (const key of util.objectKeys(this.shape)) {\n const fieldSchema = this.shape[key];\n if (mask && !mask[key]) {\n newShape[key] = fieldSchema;\n }\n else {\n newShape[key] = fieldSchema.optional();\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n required(mask) {\n const newShape = {};\n for (const key of util.objectKeys(this.shape)) {\n if (mask && !mask[key]) {\n newShape[key] = this.shape[key];\n }\n else {\n const fieldSchema = this.shape[key];\n let newField = fieldSchema;\n while (newField instanceof ZodOptional) {\n newField = newField._def.innerType;\n }\n newShape[key] = newField;\n }\n }\n return new ZodObject({\n ...this._def,\n shape: () => newShape,\n });\n }\n keyof() {\n return createZodEnum(util.objectKeys(this.shape));\n }\n}\nZodObject.create = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.strictCreate = (shape, params) => {\n return new ZodObject({\n shape: () => shape,\n unknownKeys: \"strict\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nZodObject.lazycreate = (shape, params) => {\n return new ZodObject({\n shape,\n unknownKeys: \"strip\",\n catchall: ZodNever.create(),\n typeName: ZodFirstPartyTypeKind.ZodObject,\n ...processCreateParams(params),\n });\n};\nexport class ZodUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const options = this._def.options;\n function handleResults(results) {\n // return first issue-free validation if it exists\n for (const result of results) {\n if (result.result.status === \"valid\") {\n return result.result;\n }\n }\n for (const result of results) {\n if (result.result.status === \"dirty\") {\n // add issues from dirty option\n ctx.common.issues.push(...result.ctx.common.issues);\n return result.result;\n }\n }\n // return invalid\n const unionErrors = results.map((result) => new ZodError(result.ctx.common.issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return Promise.all(options.map(async (option) => {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n return {\n result: await option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n }),\n ctx: childCtx,\n };\n })).then(handleResults);\n }\n else {\n let dirty = undefined;\n const issues = [];\n for (const option of options) {\n const childCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n parent: null,\n };\n const result = option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: childCtx,\n });\n if (result.status === \"valid\") {\n return result;\n }\n else if (result.status === \"dirty\" && !dirty) {\n dirty = { result, ctx: childCtx };\n }\n if (childCtx.common.issues.length) {\n issues.push(childCtx.common.issues);\n }\n }\n if (dirty) {\n ctx.common.issues.push(...dirty.ctx.common.issues);\n return dirty.result;\n }\n const unionErrors = issues.map((issues) => new ZodError(issues));\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union,\n unionErrors,\n });\n return INVALID;\n }\n }\n get options() {\n return this._def.options;\n }\n}\nZodUnion.create = (types, params) => {\n return new ZodUnion({\n options: types,\n typeName: ZodFirstPartyTypeKind.ZodUnion,\n ...processCreateParams(params),\n });\n};\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\n////////// //////////\n////////// ZodDiscriminatedUnion //////////\n////////// //////////\n/////////////////////////////////////////////////////\n/////////////////////////////////////////////////////\nconst getDiscriminator = (type) => {\n if (type instanceof ZodLazy) {\n return getDiscriminator(type.schema);\n }\n else if (type instanceof ZodEffects) {\n return getDiscriminator(type.innerType());\n }\n else if (type instanceof ZodLiteral) {\n return [type.value];\n }\n else if (type instanceof ZodEnum) {\n return type.options;\n }\n else if (type instanceof ZodNativeEnum) {\n // eslint-disable-next-line ban/ban\n return util.objectValues(type.enum);\n }\n else if (type instanceof ZodDefault) {\n return getDiscriminator(type._def.innerType);\n }\n else if (type instanceof ZodUndefined) {\n return [undefined];\n }\n else if (type instanceof ZodNull) {\n return [null];\n }\n else if (type instanceof ZodOptional) {\n return [undefined, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodNullable) {\n return [null, ...getDiscriminator(type.unwrap())];\n }\n else if (type instanceof ZodBranded) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodReadonly) {\n return getDiscriminator(type.unwrap());\n }\n else if (type instanceof ZodCatch) {\n return getDiscriminator(type._def.innerType);\n }\n else {\n return [];\n }\n};\nexport class ZodDiscriminatedUnion extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const discriminator = this.discriminator;\n const discriminatorValue = ctx.data[discriminator];\n const option = this.optionsMap.get(discriminatorValue);\n if (!option) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_union_discriminator,\n options: Array.from(this.optionsMap.keys()),\n path: [discriminator],\n });\n return INVALID;\n }\n if (ctx.common.async) {\n return option._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n else {\n return option._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n get discriminator() {\n return this._def.discriminator;\n }\n get options() {\n return this._def.options;\n }\n get optionsMap() {\n return this._def.optionsMap;\n }\n /**\n * The constructor of the discriminated union schema. Its behaviour is very similar to that of the normal z.union() constructor.\n * However, it only allows a union of objects, all of which need to share a discriminator property. This property must\n * have a different value for each object in the union.\n * @param discriminator the name of the discriminator property\n * @param types an array of object schemas\n * @param params\n */\n static create(discriminator, options, params) {\n // Get all the valid discriminator values\n const optionsMap = new Map();\n // try {\n for (const type of options) {\n const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n if (!discriminatorValues.length) {\n throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n }\n for (const value of discriminatorValues) {\n if (optionsMap.has(value)) {\n throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n }\n optionsMap.set(value, type);\n }\n }\n return new ZodDiscriminatedUnion({\n typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n discriminator,\n options,\n optionsMap,\n ...processCreateParams(params),\n });\n }\n}\nfunction mergeValues(a, b) {\n const aType = getParsedType(a);\n const bType = getParsedType(b);\n if (a === b) {\n return { valid: true, data: a };\n }\n else if (aType === ZodParsedType.object && bType === ZodParsedType.object) {\n const bKeys = util.objectKeys(b);\n const sharedKeys = util.objectKeys(a).filter((key) => bKeys.indexOf(key) !== -1);\n const newObj = { ...a, ...b };\n for (const key of sharedKeys) {\n const sharedValue = mergeValues(a[key], b[key]);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newObj[key] = sharedValue.data;\n }\n return { valid: true, data: newObj };\n }\n else if (aType === ZodParsedType.array && bType === ZodParsedType.array) {\n if (a.length !== b.length) {\n return { valid: false };\n }\n const newArray = [];\n for (let index = 0; index < a.length; index++) {\n const itemA = a[index];\n const itemB = b[index];\n const sharedValue = mergeValues(itemA, itemB);\n if (!sharedValue.valid) {\n return { valid: false };\n }\n newArray.push(sharedValue.data);\n }\n return { valid: true, data: newArray };\n }\n else if (aType === ZodParsedType.date && bType === ZodParsedType.date && +a === +b) {\n return { valid: true, data: a };\n }\n else {\n return { valid: false };\n }\n}\nexport class ZodIntersection extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const handleParsed = (parsedLeft, parsedRight) => {\n if (isAborted(parsedLeft) || isAborted(parsedRight)) {\n return INVALID;\n }\n const merged = mergeValues(parsedLeft.value, parsedRight.value);\n if (!merged.valid) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_intersection_types,\n });\n return INVALID;\n }\n if (isDirty(parsedLeft) || isDirty(parsedRight)) {\n status.dirty();\n }\n return { status: status.value, value: merged.data };\n };\n if (ctx.common.async) {\n return Promise.all([\n this._def.left._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n this._def.right._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }),\n ]).then(([left, right]) => handleParsed(left, right));\n }\n else {\n return handleParsed(this._def.left._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }), this._def.right._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n }));\n }\n }\n}\nZodIntersection.create = (left, right, params) => {\n return new ZodIntersection({\n left: left,\n right: right,\n typeName: ZodFirstPartyTypeKind.ZodIntersection,\n ...processCreateParams(params),\n });\n};\n// type ZodTupleItems = [ZodTypeAny, ...ZodTypeAny[]];\nexport class ZodTuple extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.array) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.array,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n if (ctx.data.length < this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n return INVALID;\n }\n const rest = this._def.rest;\n if (!rest && ctx.data.length > this._def.items.length) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: this._def.items.length,\n inclusive: true,\n exact: false,\n type: \"array\",\n });\n status.dirty();\n }\n const items = [...ctx.data]\n .map((item, itemIndex) => {\n const schema = this._def.items[itemIndex] || this._def.rest;\n if (!schema)\n return null;\n return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n })\n .filter((x) => !!x); // filter nulls\n if (ctx.common.async) {\n return Promise.all(items).then((results) => {\n return ParseStatus.mergeArray(status, results);\n });\n }\n else {\n return ParseStatus.mergeArray(status, items);\n }\n }\n get items() {\n return this._def.items;\n }\n rest(rest) {\n return new ZodTuple({\n ...this._def,\n rest,\n });\n }\n}\nZodTuple.create = (schemas, params) => {\n if (!Array.isArray(schemas)) {\n throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n }\n return new ZodTuple({\n items: schemas,\n typeName: ZodFirstPartyTypeKind.ZodTuple,\n rest: null,\n ...processCreateParams(params),\n });\n};\nexport class ZodRecord extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.object) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.object,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const pairs = [];\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n for (const key in ctx.data) {\n pairs.push({\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n alwaysSet: key in ctx.data,\n });\n }\n if (ctx.common.async) {\n return ParseStatus.mergeObjectAsync(status, pairs);\n }\n else {\n return ParseStatus.mergeObjectSync(status, pairs);\n }\n }\n get element() {\n return this._def.valueType;\n }\n static create(first, second, third) {\n if (second instanceof ZodType) {\n return new ZodRecord({\n keyType: first,\n valueType: second,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(third),\n });\n }\n return new ZodRecord({\n keyType: ZodString.create(),\n valueType: first,\n typeName: ZodFirstPartyTypeKind.ZodRecord,\n ...processCreateParams(second),\n });\n }\n}\nexport class ZodMap extends ZodType {\n get keySchema() {\n return this._def.keyType;\n }\n get valueSchema() {\n return this._def.valueType;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.map) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.map,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const keyType = this._def.keyType;\n const valueType = this._def.valueType;\n const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n return {\n key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n };\n });\n if (ctx.common.async) {\n const finalMap = new Map();\n return Promise.resolve().then(async () => {\n for (const pair of pairs) {\n const key = await pair.key;\n const value = await pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n });\n }\n else {\n const finalMap = new Map();\n for (const pair of pairs) {\n const key = pair.key;\n const value = pair.value;\n if (key.status === \"aborted\" || value.status === \"aborted\") {\n return INVALID;\n }\n if (key.status === \"dirty\" || value.status === \"dirty\") {\n status.dirty();\n }\n finalMap.set(key.value, value.value);\n }\n return { status: status.value, value: finalMap };\n }\n }\n}\nZodMap.create = (keyType, valueType, params) => {\n return new ZodMap({\n valueType,\n keyType,\n typeName: ZodFirstPartyTypeKind.ZodMap,\n ...processCreateParams(params),\n });\n};\nexport class ZodSet extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.set) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.set,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const def = this._def;\n if (def.minSize !== null) {\n if (ctx.data.size < def.minSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_small,\n minimum: def.minSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.minSize.message,\n });\n status.dirty();\n }\n }\n if (def.maxSize !== null) {\n if (ctx.data.size > def.maxSize.value) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.too_big,\n maximum: def.maxSize.value,\n type: \"set\",\n inclusive: true,\n exact: false,\n message: def.maxSize.message,\n });\n status.dirty();\n }\n }\n const valueType = this._def.valueType;\n function finalizeSet(elements) {\n const parsedSet = new Set();\n for (const element of elements) {\n if (element.status === \"aborted\")\n return INVALID;\n if (element.status === \"dirty\")\n status.dirty();\n parsedSet.add(element.value);\n }\n return { status: status.value, value: parsedSet };\n }\n const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n if (ctx.common.async) {\n return Promise.all(elements).then((elements) => finalizeSet(elements));\n }\n else {\n return finalizeSet(elements);\n }\n }\n min(minSize, message) {\n return new ZodSet({\n ...this._def,\n minSize: { value: minSize, message: errorUtil.toString(message) },\n });\n }\n max(maxSize, message) {\n return new ZodSet({\n ...this._def,\n maxSize: { value: maxSize, message: errorUtil.toString(message) },\n });\n }\n size(size, message) {\n return this.min(size, message).max(size, message);\n }\n nonempty(message) {\n return this.min(1, message);\n }\n}\nZodSet.create = (valueType, params) => {\n return new ZodSet({\n valueType,\n minSize: null,\n maxSize: null,\n typeName: ZodFirstPartyTypeKind.ZodSet,\n ...processCreateParams(params),\n });\n};\nexport class ZodFunction extends ZodType {\n constructor() {\n super(...arguments);\n this.validate = this.implement;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.function) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.function,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n function makeArgsIssue(args, error) {\n return makeIssue({\n data: args,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_arguments,\n argumentsError: error,\n },\n });\n }\n function makeReturnsIssue(returns, error) {\n return makeIssue({\n data: returns,\n path: ctx.path,\n errorMaps: [ctx.common.contextualErrorMap, ctx.schemaErrorMap, getErrorMap(), defaultErrorMap].filter((x) => !!x),\n issueData: {\n code: ZodIssueCode.invalid_return_type,\n returnTypeError: error,\n },\n });\n }\n const params = { errorMap: ctx.common.contextualErrorMap };\n const fn = ctx.data;\n if (this._def.returns instanceof ZodPromise) {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(async function (...args) {\n const error = new ZodError([]);\n const parsedArgs = await me._def.args.parseAsync(args, params).catch((e) => {\n error.addIssue(makeArgsIssue(args, e));\n throw error;\n });\n const result = await Reflect.apply(fn, this, parsedArgs);\n const parsedReturns = await me._def.returns._def.type\n .parseAsync(result, params)\n .catch((e) => {\n error.addIssue(makeReturnsIssue(result, e));\n throw error;\n });\n return parsedReturns;\n });\n }\n else {\n // Would love a way to avoid disabling this rule, but we need\n // an alias (using an arrow function was what caused 2651).\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const me = this;\n return OK(function (...args) {\n const parsedArgs = me._def.args.safeParse(args, params);\n if (!parsedArgs.success) {\n throw new ZodError([makeArgsIssue(args, parsedArgs.error)]);\n }\n const result = Reflect.apply(fn, this, parsedArgs.data);\n const parsedReturns = me._def.returns.safeParse(result, params);\n if (!parsedReturns.success) {\n throw new ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n }\n return parsedReturns.data;\n });\n }\n }\n parameters() {\n return this._def.args;\n }\n returnType() {\n return this._def.returns;\n }\n args(...items) {\n return new ZodFunction({\n ...this._def,\n args: ZodTuple.create(items).rest(ZodUnknown.create()),\n });\n }\n returns(returnType) {\n return new ZodFunction({\n ...this._def,\n returns: returnType,\n });\n }\n implement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n strictImplement(func) {\n const validatedFunc = this.parse(func);\n return validatedFunc;\n }\n static create(args, returns, params) {\n return new ZodFunction({\n args: (args ? args : ZodTuple.create([]).rest(ZodUnknown.create())),\n returns: returns || ZodUnknown.create(),\n typeName: ZodFirstPartyTypeKind.ZodFunction,\n ...processCreateParams(params),\n });\n }\n}\nexport class ZodLazy extends ZodType {\n get schema() {\n return this._def.getter();\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const lazySchema = this._def.getter();\n return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n }\n}\nZodLazy.create = (getter, params) => {\n return new ZodLazy({\n getter: getter,\n typeName: ZodFirstPartyTypeKind.ZodLazy,\n ...processCreateParams(params),\n });\n};\nexport class ZodLiteral extends ZodType {\n _parse(input) {\n if (input.data !== this._def.value) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_literal,\n expected: this._def.value,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n get value() {\n return this._def.value;\n }\n}\nZodLiteral.create = (value, params) => {\n return new ZodLiteral({\n value: value,\n typeName: ZodFirstPartyTypeKind.ZodLiteral,\n ...processCreateParams(params),\n });\n};\nfunction createZodEnum(values, params) {\n return new ZodEnum({\n values,\n typeName: ZodFirstPartyTypeKind.ZodEnum,\n ...processCreateParams(params),\n });\n}\nexport class ZodEnum extends ZodType {\n _parse(input) {\n if (typeof input.data !== \"string\") {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(this._def.values);\n }\n if (!this._cache.has(input.data)) {\n const ctx = this._getOrReturnCtx(input);\n const expectedValues = this._def.values;\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get options() {\n return this._def.values;\n }\n get enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Values() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n get Enum() {\n const enumValues = {};\n for (const val of this._def.values) {\n enumValues[val] = val;\n }\n return enumValues;\n }\n extract(values, newDef = this._def) {\n return ZodEnum.create(values, {\n ...this._def,\n ...newDef,\n });\n }\n exclude(values, newDef = this._def) {\n return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)), {\n ...this._def,\n ...newDef,\n });\n }\n}\nZodEnum.create = createZodEnum;\nexport class ZodNativeEnum extends ZodType {\n _parse(input) {\n const nativeEnumValues = util.getValidEnumValues(this._def.values);\n const ctx = this._getOrReturnCtx(input);\n if (ctx.parsedType !== ZodParsedType.string && ctx.parsedType !== ZodParsedType.number) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n expected: util.joinValues(expectedValues),\n received: ctx.parsedType,\n code: ZodIssueCode.invalid_type,\n });\n return INVALID;\n }\n if (!this._cache) {\n this._cache = new Set(util.getValidEnumValues(this._def.values));\n }\n if (!this._cache.has(input.data)) {\n const expectedValues = util.objectValues(nativeEnumValues);\n addIssueToContext(ctx, {\n received: ctx.data,\n code: ZodIssueCode.invalid_enum_value,\n options: expectedValues,\n });\n return INVALID;\n }\n return OK(input.data);\n }\n get enum() {\n return this._def.values;\n }\n}\nZodNativeEnum.create = (values, params) => {\n return new ZodNativeEnum({\n values: values,\n typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n ...processCreateParams(params),\n });\n};\nexport class ZodPromise extends ZodType {\n unwrap() {\n return this._def.type;\n }\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n if (ctx.parsedType !== ZodParsedType.promise && ctx.common.async === false) {\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.promise,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n const promisified = ctx.parsedType === ZodParsedType.promise ? ctx.data : Promise.resolve(ctx.data);\n return OK(promisified.then((data) => {\n return this._def.type.parseAsync(data, {\n path: ctx.path,\n errorMap: ctx.common.contextualErrorMap,\n });\n }));\n }\n}\nZodPromise.create = (schema, params) => {\n return new ZodPromise({\n type: schema,\n typeName: ZodFirstPartyTypeKind.ZodPromise,\n ...processCreateParams(params),\n });\n};\nexport class ZodEffects extends ZodType {\n innerType() {\n return this._def.schema;\n }\n sourceType() {\n return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n ? this._def.schema.sourceType()\n : this._def.schema;\n }\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n const effect = this._def.effect || null;\n const checkCtx = {\n addIssue: (arg) => {\n addIssueToContext(ctx, arg);\n if (arg.fatal) {\n status.abort();\n }\n else {\n status.dirty();\n }\n },\n get path() {\n return ctx.path;\n },\n };\n checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n if (effect.type === \"preprocess\") {\n const processed = effect.transform(ctx.data, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(processed).then(async (processed) => {\n if (status.value === \"aborted\")\n return INVALID;\n const result = await this._def.schema._parseAsync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return DIRTY(result.value);\n return result;\n });\n }\n else {\n if (status.value === \"aborted\")\n return INVALID;\n const result = this._def.schema._parseSync({\n data: processed,\n path: ctx.path,\n parent: ctx,\n });\n if (result.status === \"aborted\")\n return INVALID;\n if (result.status === \"dirty\")\n return DIRTY(result.value);\n if (status.value === \"dirty\")\n return DIRTY(result.value);\n return result;\n }\n }\n if (effect.type === \"refinement\") {\n const executeRefinement = (acc) => {\n const result = effect.refinement(acc, checkCtx);\n if (ctx.common.async) {\n return Promise.resolve(result);\n }\n if (result instanceof Promise) {\n throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n }\n return acc;\n };\n if (ctx.common.async === false) {\n const inner = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n // return value is ignored\n executeRefinement(inner.value);\n return { status: status.value, value: inner.value };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((inner) => {\n if (inner.status === \"aborted\")\n return INVALID;\n if (inner.status === \"dirty\")\n status.dirty();\n return executeRefinement(inner.value).then(() => {\n return { status: status.value, value: inner.value };\n });\n });\n }\n }\n if (effect.type === \"transform\") {\n if (ctx.common.async === false) {\n const base = this._def.schema._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (!isValid(base))\n return INVALID;\n const result = effect.transform(base.value, checkCtx);\n if (result instanceof Promise) {\n throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n }\n return { status: status.value, value: result };\n }\n else {\n return this._def.schema._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx }).then((base) => {\n if (!isValid(base))\n return INVALID;\n return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({\n status: status.value,\n value: result,\n }));\n });\n }\n }\n util.assertNever(effect);\n }\n}\nZodEffects.create = (schema, effect, params) => {\n return new ZodEffects({\n schema,\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n effect,\n ...processCreateParams(params),\n });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n return new ZodEffects({\n schema,\n effect: { type: \"preprocess\", transform: preprocess },\n typeName: ZodFirstPartyTypeKind.ZodEffects,\n ...processCreateParams(params),\n });\n};\nexport { ZodEffects as ZodTransformer };\nexport class ZodOptional extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.undefined) {\n return OK(undefined);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodOptional.create = (type, params) => {\n return new ZodOptional({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodOptional,\n ...processCreateParams(params),\n });\n};\nexport class ZodNullable extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType === ZodParsedType.null) {\n return OK(null);\n }\n return this._def.innerType._parse(input);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodNullable.create = (type, params) => {\n return new ZodNullable({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodNullable,\n ...processCreateParams(params),\n });\n};\nexport class ZodDefault extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n let data = ctx.data;\n if (ctx.parsedType === ZodParsedType.undefined) {\n data = this._def.defaultValue();\n }\n return this._def.innerType._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n removeDefault() {\n return this._def.innerType;\n }\n}\nZodDefault.create = (type, params) => {\n return new ZodDefault({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodDefault,\n defaultValue: typeof params.default === \"function\" ? params.default : () => params.default,\n ...processCreateParams(params),\n });\n};\nexport class ZodCatch extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n // newCtx is used to not collect issues from inner types in ctx\n const newCtx = {\n ...ctx,\n common: {\n ...ctx.common,\n issues: [],\n },\n };\n const result = this._def.innerType._parse({\n data: newCtx.data,\n path: newCtx.path,\n parent: {\n ...newCtx,\n },\n });\n if (isAsync(result)) {\n return result.then((result) => {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n });\n }\n else {\n return {\n status: \"valid\",\n value: result.status === \"valid\"\n ? result.value\n : this._def.catchValue({\n get error() {\n return new ZodError(newCtx.common.issues);\n },\n input: newCtx.data,\n }),\n };\n }\n }\n removeCatch() {\n return this._def.innerType;\n }\n}\nZodCatch.create = (type, params) => {\n return new ZodCatch({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodCatch,\n catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n ...processCreateParams(params),\n });\n};\nexport class ZodNaN extends ZodType {\n _parse(input) {\n const parsedType = this._getType(input);\n if (parsedType !== ZodParsedType.nan) {\n const ctx = this._getOrReturnCtx(input);\n addIssueToContext(ctx, {\n code: ZodIssueCode.invalid_type,\n expected: ZodParsedType.nan,\n received: ctx.parsedType,\n });\n return INVALID;\n }\n return { status: \"valid\", value: input.data };\n }\n}\nZodNaN.create = (params) => {\n return new ZodNaN({\n typeName: ZodFirstPartyTypeKind.ZodNaN,\n ...processCreateParams(params),\n });\n};\nexport const BRAND = Symbol(\"zod_brand\");\nexport class ZodBranded extends ZodType {\n _parse(input) {\n const { ctx } = this._processInputParams(input);\n const data = ctx.data;\n return this._def.type._parse({\n data,\n path: ctx.path,\n parent: ctx,\n });\n }\n unwrap() {\n return this._def.type;\n }\n}\nexport class ZodPipeline extends ZodType {\n _parse(input) {\n const { status, ctx } = this._processInputParams(input);\n if (ctx.common.async) {\n const handleAsync = async () => {\n const inResult = await this._def.in._parseAsync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return DIRTY(inResult.value);\n }\n else {\n return this._def.out._parseAsync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n };\n return handleAsync();\n }\n else {\n const inResult = this._def.in._parseSync({\n data: ctx.data,\n path: ctx.path,\n parent: ctx,\n });\n if (inResult.status === \"aborted\")\n return INVALID;\n if (inResult.status === \"dirty\") {\n status.dirty();\n return {\n status: \"dirty\",\n value: inResult.value,\n };\n }\n else {\n return this._def.out._parseSync({\n data: inResult.value,\n path: ctx.path,\n parent: ctx,\n });\n }\n }\n }\n static create(a, b) {\n return new ZodPipeline({\n in: a,\n out: b,\n typeName: ZodFirstPartyTypeKind.ZodPipeline,\n });\n }\n}\nexport class ZodReadonly extends ZodType {\n _parse(input) {\n const result = this._def.innerType._parse(input);\n const freeze = (data) => {\n if (isValid(data)) {\n data.value = Object.freeze(data.value);\n }\n return data;\n };\n return isAsync(result) ? result.then((data) => freeze(data)) : freeze(result);\n }\n unwrap() {\n return this._def.innerType;\n }\n}\nZodReadonly.create = (type, params) => {\n return new ZodReadonly({\n innerType: type,\n typeName: ZodFirstPartyTypeKind.ZodReadonly,\n ...processCreateParams(params),\n });\n};\n////////////////////////////////////////\n////////////////////////////////////////\n////////// //////////\n////////// z.custom //////////\n////////// //////////\n////////////////////////////////////////\n////////////////////////////////////////\nfunction cleanParams(params, data) {\n const p = typeof params === \"function\" ? params(data) : typeof params === \"string\" ? { message: params } : params;\n const p2 = typeof p === \"string\" ? { message: p } : p;\n return p2;\n}\nexport function custom(check, _params = {}, \n/**\n * @deprecated\n *\n * Pass `fatal` into the params object instead:\n *\n * ```ts\n * z.string().custom((val) => val.length > 5, { fatal: false })\n * ```\n *\n */\nfatal) {\n if (check)\n return ZodAny.create().superRefine((data, ctx) => {\n const r = check(data);\n if (r instanceof Promise) {\n return r.then((r) => {\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n });\n }\n if (!r) {\n const params = cleanParams(_params, data);\n const _fatal = params.fatal ?? fatal ?? true;\n ctx.addIssue({ code: \"custom\", ...params, fatal: _fatal });\n }\n return;\n });\n return ZodAny.create();\n}\nexport { ZodType as Schema, ZodType as ZodSchema };\nexport const late = {\n object: ZodObject.lazycreate,\n};\nexport var ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n ZodFirstPartyTypeKind[\"ZodReadonly\"] = \"ZodReadonly\";\n})(ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {}));\n// requires TS 4.4+\nclass Class {\n constructor(..._) { }\n}\nconst instanceOfType = (\n// const instanceOfType = <T extends new (...args: any[]) => any>(\ncls, params = {\n message: `Input not instance of ${cls.name}`,\n}) => custom((data) => data instanceof cls, params);\nconst stringType = ZodString.create;\nconst numberType = ZodNumber.create;\nconst nanType = ZodNaN.create;\nconst bigIntType = ZodBigInt.create;\nconst booleanType = ZodBoolean.create;\nconst dateType = ZodDate.create;\nconst symbolType = ZodSymbol.create;\nconst undefinedType = ZodUndefined.create;\nconst nullType = ZodNull.create;\nconst anyType = ZodAny.create;\nconst unknownType = ZodUnknown.create;\nconst neverType = ZodNever.create;\nconst voidType = ZodVoid.create;\nconst arrayType = ZodArray.create;\nconst objectType = ZodObject.create;\nconst strictObjectType = ZodObject.strictCreate;\nconst unionType = ZodUnion.create;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nconst intersectionType = ZodIntersection.create;\nconst tupleType = ZodTuple.create;\nconst recordType = ZodRecord.create;\nconst mapType = ZodMap.create;\nconst setType = ZodSet.create;\nconst functionType = ZodFunction.create;\nconst lazyType = ZodLazy.create;\nconst literalType = ZodLiteral.create;\nconst enumType = ZodEnum.create;\nconst nativeEnumType = ZodNativeEnum.create;\nconst promiseType = ZodPromise.create;\nconst effectsType = ZodEffects.create;\nconst optionalType = ZodOptional.create;\nconst nullableType = ZodNullable.create;\nconst preprocessType = ZodEffects.createWithPreprocess;\nconst pipelineType = ZodPipeline.create;\nconst ostring = () => stringType().optional();\nconst onumber = () => numberType().optional();\nconst oboolean = () => booleanType().optional();\nexport const coerce = {\n string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n boolean: ((arg) => ZodBoolean.create({\n ...arg,\n coerce: true,\n })),\n bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nexport { anyType as any, arrayType as array, bigIntType as bigint, booleanType as boolean, dateType as date, discriminatedUnionType as discriminatedUnion, effectsType as effect, enumType as enum, functionType as function, instanceOfType as instanceof, intersectionType as intersection, lazyType as lazy, literalType as literal, mapType as map, nanType as nan, nativeEnumType as nativeEnum, neverType as never, nullType as null, nullableType as nullable, numberType as number, objectType as object, oboolean, onumber, optionalType as optional, ostring, pipelineType as pipeline, preprocessType as preprocess, promiseType as promise, recordType as record, setType as set, strictObjectType as strictObject, stringType as string, symbolType as symbol, effectsType as transformer, tupleType as tuple, undefinedType as undefined, unionType as union, unknownType as unknown, voidType as void, };\nexport const NEVER = INVALID;\n", "/**\r\n * Hand-written Typert Remote contribution for the `task-engine` namespace.\r\n *\r\n * This is the browser-side declaration of the Remote methods the host\r\n * {@link ../controller.ts} exposes: workflow config read/write, the skill/rule\r\n * catalogs, and skill/rule creation. The generator is not required: the Client\r\n * gateway only consumes a plain `{ package, descriptors }` object, and each\r\n * codec is a plain object wrapping a `{ parse(value) }` validator. zod is\r\n * bundled privately into `lib/client.js`, so this module stays self-contained.\r\n *\r\n * Every strict codec carries BOTH `create` and `schema`. DSH 0.1.6-alpha.2\r\n * changed the contract to a lazy `create: () => TypertSchema` factory and\r\n * rejects a schema-only codec with \"strict codec has no create() factory\";\r\n * earlier releases read the materialized `schema` field and never call\r\n * `create`. Emitting both keeps one artifact loadable on either side of that\r\n * break, and `makeCodec` is the single place that decides the shape.\r\n *\r\n * @module dsh-task-engine/remote\r\n */\r\n\r\nimport { z } from 'zod'\r\n\r\n/** Browser-safe shape of a workflow transition (guard names are plain strings). */\r\nconst transitionSchema = z.object({\r\n from: z.string(),\r\n to: z.string(),\r\n requires: z.array(z.string()).optional(),\r\n})\r\n\r\n/** Browser-safe shape of a stage-owned artifact definition. */\r\nconst artifactSchema = z.object({\r\n stage: z.string(),\r\n id: z.string(),\r\n name: z.string(),\r\n fields: z.array(z.string()),\r\n})\r\n\r\n/** Browser-safe shape of the commit rule. */\r\nconst commitSchema = z.object({\r\n policy: z.string(),\r\n message_pattern: z.string(),\r\n message_hint: z.string(),\r\n checkpoints: z.array(z.string()),\r\n file_scope: z.boolean(),\r\n})\r\n\r\n/** Browser-safe shape of one stage's skill/rule binding. */\r\nconst stageBindingSchema = z.object({\r\n skills: z.array(z.string()).optional(),\r\n rules: z.array(z.string()).optional(),\r\n})\r\n\r\n/** The complete workflow config. Structural only: semantic checks live in `validateWorkflow`. */\r\nconst configSchema = z.object({\r\n stages: z.array(z.string()),\r\n start_stage: z.string(),\r\n transitions: z.array(transitionSchema),\r\n artifacts: z.array(artifactSchema),\r\n commit: commitSchema,\r\n high_risk_requires_verification: z.boolean(),\r\n stage_bindings: z.record(z.string(), stageBindingSchema).optional(),\r\n})\r\n\r\n/** `read`/`write` result: preset flow, resolved workflow, plus validation state. */\r\nconst viewSchema = z.object({\r\n ok: z.boolean(),\r\n source: z.enum(['default', 'project', 'invalid']),\r\n flow: z.string(),\r\n config: configSchema,\r\n problems: z.array(z.string()),\r\n})\r\n\r\n/** `write` request: workspace directory + the flow selection. */\r\nconst writeRequestSchema = z.object({\r\n path: z.string(),\r\n flow: z.string(),\r\n stage_bindings: z.record(z.string(), stageBindingSchema).optional(),\r\n})\r\n\r\n/** `listSkills` result: one entry per mountable skill. */\r\nconst skillCatalogSchema = z.object({\r\n skills: z.array(z.object({\r\n name: z.string(),\r\n description: z.string(),\r\n source: z.string(),\r\n })),\r\n})\r\n\r\n/** `listRules` result: one entry per mountable rule. */\r\nconst ruleCatalogSchema = z.object({\r\n rules: z.array(z.object({\r\n name: z.string(),\r\n source: z.string(),\r\n })),\r\n})\r\n\r\n/** `writeSkill` request: skill content plus target level. */\r\nconst writeSkillRequestSchema = z.object({\r\n name: z.string(),\r\n description: z.string(),\r\n whenToUse: z.string().optional(),\r\n content: z.string(),\r\n level: z.enum(['project', 'user']),\r\n path: z.string().optional(),\r\n})\r\n\r\n/** `installSkill` request: an existing directory-bundle skill plus target level. */\r\nconst installSkillRequestSchema = z.object({\r\n sourceDir: z.string(),\r\n level: z.enum(['project', 'user']),\r\n path: z.string().optional(),\r\n})\r\n\r\n/** `listDirs` request/result for the install directory picker. */\r\nconst listDirsRequestSchema = z.object({ path: z.string() })\r\nconst listDirsViewSchema = z.object({\r\n ok: z.boolean(),\r\n path: z.string(),\r\n entries: z.array(z.object({ name: z.string(), hasSkill: z.boolean() })),\r\n roots: z.array(z.string()),\r\n currentHasSkill: z.boolean(),\r\n error: z.string().optional(),\r\n})\r\n\r\n/** `writeRule` request: rule content plus target level. */\r\nconst writeRuleRequestSchema = z.object({\r\n name: z.string(),\r\n content: z.string(),\r\n level: z.enum(['project', 'user']),\r\n path: z.string().optional(),\r\n})\r\n\r\n/** `writeSkill`/`writeRule` result. */\r\nconst writeResourceResultSchema = z.object({\r\n ok: z.boolean(),\r\n name: z.string(),\r\n path: z.string(),\r\n error: z.string().optional(),\r\n})\r\n\r\n/** `readSkill` request. */\r\nconst readSkillRequestSchema = z.object({\r\n name: z.string(),\r\n level: z.enum(['project', 'user', 'bundled']),\r\n path: z.string().optional(),\r\n})\r\n\r\n/** `readSkill` result: frontmatter fields plus the body. */\r\nconst readSkillResultSchema = z.object({\r\n ok: z.boolean(),\r\n name: z.string(),\r\n description: z.string(),\r\n whenToUse: z.string(),\r\n content: z.string(),\r\n error: z.string().optional(),\r\n})\r\n\r\n/** `readRule` request. */\r\nconst readRuleRequestSchema = z.object({\r\n name: z.string(),\r\n level: z.enum(['project', 'user', 'bundled']),\r\n path: z.string().optional(),\r\n})\r\n\r\n/** `readRule` result: the raw markdown body. */\r\nconst readRuleResultSchema = z.object({\r\n ok: z.boolean(),\r\n name: z.string(),\r\n content: z.string(),\r\n error: z.string().optional(),\r\n})\r\n\r\n/** `deleteSkill` request: name plus the project/user level to remove. */\r\nconst deleteSkillRequestSchema = z.object({\r\n name: z.string(),\r\n level: z.enum(['project', 'user']),\r\n path: z.string().optional(),\r\n})\r\n\r\n/** `deleteRule` request: name plus the project/user level to remove. */\r\nconst deleteRuleRequestSchema = z.object({\r\n name: z.string(),\r\n level: z.enum(['project', 'user']),\r\n path: z.string().optional(),\r\n})\r\n\r\n/** Browser-safe shape of one task ledger item's dispatch/review audit. */\r\nconst taskLedgerItemSchema = z.object({\r\n id: z.string(),\r\n title: z.string(),\r\n status: z.string(),\r\n dispatch: z.object({ description: z.string(), at: z.string() }).optional(),\r\n review: z.object({\r\n spec: z.object({ outcome: z.enum(['pass', 'fail']), notes: z.array(z.string()).optional() }),\r\n quality: z.object({ outcome: z.enum(['pass', 'fail']), notes: z.array(z.string()).optional() }),\r\n }).optional(),\r\n})\r\n\r\n/** `readTasks` result: every task record under the workspace's `.dsh/`. */\r\nconst taskLedgerViewSchema = z.object({\r\n tasks: z.array(z.object({\r\n risk_level: z.string().optional(), updated_at: z.string().optional(),\r\n verification_passed: z.boolean().optional(), review_outcome: z.string().optional(),\r\n task_id: z.string(),\r\n title: z.string(),\r\n stage: z.string(),\r\n branch: z.string(),\r\n items: z.array(taskLedgerItemSchema),\r\n })),\r\n})\r\n\r\n/** `readInit` result: the workspace's root `AGENTS.md`, or absent. */\r\nconst initViewSchema = z.object({\r\n exists: z.boolean(),\r\n content: z.string(),\r\n lines: z.number(),\r\n path: z.string().optional(),\r\n})\r\n\r\n/** `writeInit` request: workspace directory + full body + optional overwrite intent. */\r\nconst initWriteRequestSchema = z.object({\r\n path: z.string(),\r\n content: z.string(),\r\n overwrite: z.boolean().optional(),\r\n})\r\n\r\n/** `writeInit` result: write succeeded, or failed with the offending line count. */\r\nconst initWriteResultSchema = z.object({\r\n ok: z.boolean(),\r\n lines: z.number(),\r\n error: z.string().optional(),\r\n})\r\n\r\n/** `generateInit` request: workspace directory to scan. */\r\nconst initGenerateRequestSchema = z.object({\r\n path: z.string(),\r\n})\r\n\r\n/** `generateInit` result: a model-drafted AGENTS.md body (not yet written). */\r\nconst initDraftSchema = z.object({\r\n ok: z.boolean(),\r\n content: z.string(),\r\n lines: z.number(),\r\n error: z.string().optional(),\r\n})\r\n\r\nconst resourceRequestSchema = z.object({\r\n kind: z.enum(['skill', 'rule']), level: z.enum(['project', 'user']), path: z.string(),\r\n files: z.array(z.object({ path: z.string(), base64: z.string() })).max(1000),\r\n sourceDir: z.string().optional(), expectedHash: z.string().optional(),\r\n})\r\nconst resourcePreviewSchema = z.object({ ok: z.boolean(), name: z.string(), description: z.string(), content: z.string(), target: z.string(), files: z.number(), bytes: z.number(), hash: z.string(), conflict: z.boolean(), error: z.string().optional() })\r\nconst resourceRootsRequestSchema = z.object({ kind: z.enum(['skill', 'rule']), path: z.string() })\r\nconst resourceRootsSchema = z.object({ project: z.string(), user: z.string() })\r\nconst PACKAGE = '@godv61/dsh-task-engine'\r\n\r\nexport const TYPERT_REMOTE = {\r\n package: PACKAGE,\r\n descriptors: [\r\n ...(['previewResource', 'importResource'] as const).map(method => ({\r\n id: `${PACKAGE}#task-engine/${method}`, service: 'taskEngineController', namespace: 'task-engine', method,\r\n invocation: { kind: 'direct' },\r\n parameters: [{ name: 'request', wire: 'request', source: 'json', codec: { mode: 'strict', typeSymbol: `${PACKAGE}/types#ResourceImportRequest`, create: () => resourceRequestSchema, schema: resourceRequestSchema } }],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#ResourcePreview`, create: () => resourcePreviewSchema, schema: resourcePreviewSchema },\r\n })),\r\n {\r\n id: `${PACKAGE}#task-engine/resourceRoots`, service: 'taskEngineController', namespace: 'task-engine', method: 'resourceRoots',\r\n invocation: { kind: 'direct' },\r\n parameters: [{ name: 'request', wire: 'request', source: 'json', codec: { mode: 'strict', typeSymbol: `${PACKAGE}/types#ResourceRootsRequest`, create: () => resourceRootsRequestSchema, schema: resourceRootsRequestSchema } }],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#ResourceRoots`, create: () => resourceRootsSchema, schema: resourceRootsSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/read`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'read',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'path',\r\n wire: 'path',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: 'string', create: () => z.string(), schema: z.string() },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#EngConfigView`, create: () => viewSchema, schema: viewSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/write`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'write',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'request',\r\n wire: 'request',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: `${PACKAGE}/types#EngWriteRequest`, create: () => writeRequestSchema, schema: writeRequestSchema },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#EngConfigView`, create: () => viewSchema, schema: viewSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/listSkills`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'listSkills',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'path',\r\n wire: 'path',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: 'string', create: () => z.string(), schema: z.string() },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#SkillCatalog`, create: () => skillCatalogSchema, schema: skillCatalogSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/listRules`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'listRules',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'path',\r\n wire: 'path',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: 'string', create: () => z.string(), schema: z.string() },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#RuleCatalog`, create: () => ruleCatalogSchema, schema: ruleCatalogSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/writeSkill`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'writeSkill',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'request',\r\n wire: 'request',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: `${PACKAGE}/types#WriteSkillRequest`, create: () => writeSkillRequestSchema, schema: writeSkillRequestSchema },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#WriteResourceResult`, create: () => writeResourceResultSchema, schema: writeResourceResultSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/installSkill`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'installSkill',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'request',\r\n wire: 'request',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: `${PACKAGE}/types#InstallSkillRequest`, create: () => installSkillRequestSchema, schema: installSkillRequestSchema },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#WriteResourceResult`, create: () => writeResourceResultSchema, schema: writeResourceResultSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/listDirs`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'listDirs',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'request',\r\n wire: 'request',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: `${PACKAGE}/types#ListDirsRequest`, create: () => listDirsRequestSchema, schema: listDirsRequestSchema },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#ListDirsView`, create: () => listDirsViewSchema, schema: listDirsViewSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/writeRule`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'writeRule',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'request',\r\n wire: 'request',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: `${PACKAGE}/types#WriteRuleRequest`, create: () => writeRuleRequestSchema, schema: writeRuleRequestSchema },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#WriteResourceResult`, create: () => writeResourceResultSchema, schema: writeResourceResultSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/readSkill`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'readSkill',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'request',\r\n wire: 'request',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: `${PACKAGE}/types#ReadSkillRequest`, create: () => readSkillRequestSchema, schema: readSkillRequestSchema },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#ReadSkillResult`, create: () => readSkillResultSchema, schema: readSkillResultSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/readRule`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'readRule',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'request',\r\n wire: 'request',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: `${PACKAGE}/types#ReadRuleRequest`, create: () => readRuleRequestSchema, schema: readRuleRequestSchema },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#ReadRuleResult`, create: () => readRuleResultSchema, schema: readRuleResultSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/deleteSkill`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'deleteSkill',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'request',\r\n wire: 'request',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: `${PACKAGE}/types#DeleteSkillRequest`, create: () => deleteSkillRequestSchema, schema: deleteSkillRequestSchema },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#WriteResourceResult`, create: () => writeResourceResultSchema, schema: writeResourceResultSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/deleteRule`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'deleteRule',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'request',\r\n wire: 'request',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: `${PACKAGE}/types#DeleteRuleRequest`, create: () => deleteRuleRequestSchema, schema: deleteRuleRequestSchema },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#WriteResourceResult`, create: () => writeResourceResultSchema, schema: writeResourceResultSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/readTasks`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'readTasks',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'path',\r\n wire: 'path',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: 'string', create: () => z.string(), schema: z.string() },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#TaskLedgerView`, create: () => taskLedgerViewSchema, schema: taskLedgerViewSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/readInit`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'readInit',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'path',\r\n wire: 'path',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: 'string', create: () => z.string(), schema: z.string() },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#InitView`, create: () => initViewSchema, schema: initViewSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/writeInit`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'writeInit',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'request',\r\n wire: 'request',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: `${PACKAGE}/types#InitWriteRequest`, create: () => initWriteRequestSchema, schema: initWriteRequestSchema },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#InitWriteResult`, create: () => initWriteResultSchema, schema: initWriteResultSchema },\r\n },\r\n {\r\n id: `${PACKAGE}#task-engine/generateInit`,\r\n service: 'taskEngineController',\r\n namespace: 'task-engine',\r\n method: 'generateInit',\r\n invocation: { kind: 'direct' },\r\n parameters: [\r\n {\r\n name: 'request',\r\n wire: 'request',\r\n source: 'json',\r\n codec: { mode: 'strict', typeSymbol: `${PACKAGE}/types#InitGenerateRequest`, create: () => initGenerateRequestSchema, schema: initGenerateRequestSchema },\r\n },\r\n ],\r\n result: { mode: 'strict', typeSymbol: `${PACKAGE}/types#InitDraft`, create: () => initDraftSchema, schema: initDraftSchema },\r\n },\r\n ],\r\n}\r\n\r\nexport default TYPERT_REMOTE\r\n", "/**\r\n * The full-screen task-engine workbench, registered into `shell.overlay` so it\r\n * covers the whole app frame. It reads the shared visibility store: closed it\r\n * renders nothing (the overlay layer stays click-through), open it paints a\r\n * header, a workspace selector, a tab bar, and the active tab \u2014 the flow\r\n * editor, the skill manager, or the rule manager.\r\n *\r\n * @module dsh-task-engine/Workbench\r\n */\r\n\r\nimport { createElement, useState, type CSSProperties, type ChangeEvent } from 'react'\r\nimport { IconCloseOutline16, IconSettingsOutline16, Pill } from '@deepseek-ai/dsh-client-ui-primitives'\r\nimport { workbenchTheme } from './workbench-theme.ts'\r\nimport { styles } from './styles.ts'\r\nimport type { WorkspaceItem } from './shared.ts'\r\nimport type { TaskEngineRemote } from './TaskEngineSection.ts'\r\nimport { TaskEngineSection } from './TaskEngineSection.tsx'\r\nimport { InitPanel } from './InitPanel.tsx'\r\nimport { SkillManager } from './SkillManager.tsx'\r\nimport { RuleManager } from './RuleManager.tsx'\r\nimport { TaskLedger } from './TaskLedger.tsx'\r\nimport type { VisibilityState } from './visibility.ts'\r\n\r\nconst overlay: CSSProperties = {\r\n position: 'absolute',\r\n inset: 0,\r\n display: 'flex',\r\n flexDirection: 'column',\r\n background: 'var(--dsw-alias-bg-base)',\r\n zIndex: 20,\r\n}\r\n\r\nconst header: CSSProperties = {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n padding: '20px 28px',\r\n borderBottom: '1px solid var(--dsw-alias-border-l2)',\r\n}\r\n\r\nconst headerBrand: CSSProperties = { display: 'flex', alignItems: 'center', gap: 10, minWidth: 0 }\r\nconst headerText: CSSProperties = { display: 'flex', flexDirection: 'column', gap: 1, minWidth: 0 }\r\nconst headerTitle: CSSProperties = { fontSize: 20, fontWeight: 650, color: 'var(--dsw-alias-label-primary)' }\r\nconst headerSub: CSSProperties = { fontSize: 12, color: 'var(--dsw-alias-label-tertiary)', margin: 0 }\r\n\r\nconst tabbar: CSSProperties = {\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: 8,\r\n padding: '12px 28px', flexWrap: 'wrap',\r\n borderBottom: '1px solid var(--dsw-alias-border-l2)',\r\n}\r\n\r\nconst body: CSSProperties = {\r\n flex: 1,\r\n overflowY: 'auto',\r\n padding: '24px clamp(12px, 3vw, 32px)',\r\n}\r\n\r\nconst selectStyle: CSSProperties = {\r\n marginLeft: 'auto',\r\n background: 'var(--dsw-alias-bg-layer-1)',\r\n border: '1px solid var(--dsw-alias-border-l2)',\r\n borderRadius: 8,\r\n padding: '5px 8px',\r\n color: 'var(--dsw-alias-label-primary)',\r\n fontSize: 13,\r\n}\r\n\r\nconst closeStyle: CSSProperties = {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n width: 28,\r\n height: 28,\r\n border: 'none',\r\n background: 'transparent',\r\n cursor: 'pointer',\r\n borderRadius: 6,\r\n color: 'var(--dsw-alias-label-secondary)',\r\n}\r\nconst TABS = [\r\n { id: 'init', label: '\u9879\u76EE\u521D\u59CB\u5316' },\r\n { id: 'flow', label: '\u6D41\u7A0B\u914D\u7F6E' },\r\n { id: 'tasks', label: '\u4EFB\u52A1\u53F0\u8D26' },\r\n { id: 'skills', label: '\u6280\u80FD' },\r\n { id: 'rules', label: '\u89C4\u5219' },\r\n] as const\r\n\r\ntype TabId = (typeof TABS)[number]['id']\r\n\r\nexport function Workbench({ useStore, actions, useWorkspaces, remote }: {\r\n useStore: <S>(selector: (state: VisibilityState) => S) => S\r\n actions: { close(): void }\r\n useWorkspaces: <S>(selector: (state: { items: readonly WorkspaceItem[] }) => S) => S\r\n remote: TaskEngineRemote\r\n}): null | ReturnType<typeof createElement> {\r\n const open = useStore((s) => s.open)\r\n const workspaces = useWorkspaces((s) => s.items)\r\n const [tab, setTab] = useState<TabId>('init')\r\n const [workspace, setWorkspace] = useState('')\r\n\r\n if (!open) return null\r\n\r\n const current = workspaces.some(w => w.path === workspace) ? workspace : (workspaces[0]?.path ?? '')\r\n\r\n return createElement('div', { style: overlay, className: 'te-workbench' },\r\n createElement('style', null, workbenchTheme),\r\n createElement('div', { style: header },\r\n createElement('div', { style: headerBrand },\r\n createElement(IconSettingsOutline16, { size: 18 }),\r\n createElement('div', { style: headerText },\r\n createElement('span', { style: headerTitle }, '\u5DE5\u7A0B\u6D41\u7A0B'),\r\n createElement('p', { style: headerSub }, '\u5DE5\u7A0B\u5316\u4EA4\u4ED8\u5DE5\u4F5C\u53F0 \u00B7 \u9700\u6C42\u8BC4\u5BA1 \u2192 \u8BBE\u8BA1 \u2192 \u5F00\u53D1 \u2192 \u4EA4\u4ED8 \u2192 \u4EE3\u7801\u5BA1\u6838'),\r\n ),\r\n ),\r\n createElement('button', {\r\n type: 'button',\r\n title: '\u5173\u95ED',\r\n onClick: () => { actions.close() },\r\n style: closeStyle,\r\n onMouseEnter: (event: { currentTarget: HTMLButtonElement }) => { event.currentTarget.style.background = 'var(--dsw-alias-bg-layer-2)' },\r\n onMouseLeave: (event: { currentTarget: HTMLButtonElement }) => { event.currentTarget.style.background = 'transparent' },\r\n },\r\n createElement(IconCloseOutline16, { size: 16 })),\r\n ),\r\n createElement('div', { style: tabbar },\r\n ...TABS.map(t => createElement(Pill, { key: t.id, active: tab === t.id, onClick: () => { setTab(t.id) } }, t.label)),\r\n workspaces.length > 0\r\n ? createElement('select', {\r\n style: selectStyle, 'aria-label': '\u5F53\u524D\u5DE5\u4F5C\u533A',\r\n value: current,\r\n onChange: (ev: ChangeEvent<HTMLSelectElement>) => { setWorkspace(ev.target.value) },\r\n }, ...workspaces.map(w => createElement('option', { key: w.path, value: w.path }, w.title || w.path)))\r\n : null,\r\n ),\r\n createElement('div', { style: body },\r\n createElement('div', { className: 'te-content', key: current },\r\n createElement('p', { style: { ...styles.hint, marginBottom: 20 }, title: current }, '\u5DE5\u4F5C\u533A \u00B7 ' + current),\r\n current === ''\r\n ? createElement('p', { style: styles.muted }, '\u5F53\u524D\u6CA1\u6709\u5DE5\u4F5C\u533A\uFF1A\u8BF7\u5148\u5728\u4FA7\u680F\u521B\u5EFA\u4E00\u4E2A\u5DE5\u4F5C\u533A\uFF0C\u518D\u56DE\u6765\u914D\u7F6E\u6D41\u7A0B\u3002')\r\n : tab === 'init'\r\n ? createElement(InitPanel, { workspace: current, remote })\r\n : tab === 'flow'\r\n ? createElement(TaskEngineSection, { workspace: current, remote })\r\n : tab === 'tasks'\r\n ? createElement(TaskLedger, { workspace: current, remote })\r\n : tab === 'skills'\r\n ? createElement(SkillManager, { workspace: current, remote })\r\n : createElement(RuleManager, { workspace: current, remote })),\r\n ),\r\n )\r\n}\r\n", "/** Theme-token-based workbench styles, including portal dialogs. */\r\nexport const workbenchTheme = `\r\n.te-workbench { color:var(--dsw-alias-label-primary); font-size:14px; }\r\n.te-workbench *,.te-modal * { box-sizing:border-box; }\r\n.te-workbench button,.te-modal button { font-family:inherit; }\r\n.te-workbench button:focus-visible,.te-modal button:focus-visible,.te-input:focus-visible { outline:2px solid var(--dsw-alias-state-business-primary); outline-offset:3px; }\r\n.te-workbench h2 { margin:0 0 6px; font-size:24px; letter-spacing:-.5px; }\r\n.te-workbench h3,.te-modal h3 { margin:0; font-size:16px; overflow-wrap:anywhere; }\r\n.te-workbench p,.te-modal p { color:var(--dsw-alias-label-secondary); line-height:1.65; }\r\n.te-content { max-width:1120px; margin:auto; width:100%; }\r\n.te-resource { display:flex; flex-direction:column; gap:20px; }\r\n.te-section-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }\r\n.te-section-heading p { margin:0; }\r\n.te-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }\r\n.te-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }\r\n.te-toolbar>input { flex:1; min-width:180px; }\r\n.te-input { background:var(--dsw-alias-bg-layer-1); border:1px solid var(--dsw-alias-border-l2); border-radius:10px; padding:10px 12px; font:inherit; color:var(--dsw-alias-label-primary); min-width:0; }\r\n.te-resource-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr)); gap:16px; }\r\n.te-resource-card { display:flex; flex-direction:column; gap:14px; background:var(--dsw-alias-bg-layer-1); border:1px solid var(--dsw-alias-border-l2); border-radius:16px; padding:20px; transition:border-color .15s; }\r\n.te-resource-card:hover { border-color:var(--dsw-alias-state-business-primary); }\r\n.te-resource-card p { margin:0; font-size:13px; flex:1; }\r\n.te-card-top { display:flex; justify-content:space-between; align-items:center; }\r\n.te-resource-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:var(--dsw-alias-bg-layer-2); color:var(--dsw-alias-state-business-primary); font-size:25px; }\r\n.te-badge { display:inline-flex; border-radius:20px; background:var(--dsw-alias-bg-layer-2); color:var(--dsw-alias-label-secondary); padding:4px 10px; font-size:12px; }\r\n.te-delete,.te-link { border:none; background:transparent; cursor:pointer; padding:8px; color:var(--dsw-alias-label-secondary); }\r\n.te-delete { margin-left:auto; }\r\n.te-delete:hover { color:var(--dsw-alias-state-error-primary); }\r\n.te-link { text-align:left; align-self:flex-start; text-decoration:underline; }\r\n.te-danger-button { border:0; border-radius:9px; padding:10px 16px; background:var(--dsw-alias-state-error-primary); color:white; cursor:pointer; }\r\n.te-danger-button:disabled { opacity:.5; cursor:wait; }\r\n.te-alert,.te-success { padding:12px 16px; border-radius:10px; border:1px solid currentColor; overflow-wrap:anywhere; font-size:13px; }\r\n.te-alert { color:var(--dsw-alias-state-error-primary); }\r\n.te-success { color:var(--dsw-alias-state-success-primary); }\r\n.te-empty { text-align:center; padding:56px 24px; border:1px dashed var(--dsw-alias-border-l2); border-radius:16px; color:var(--dsw-alias-label-secondary); }\r\n.te-targets { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:4px 0 16px; }\r\n.te-target { display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:16px; border-radius:12px; border:1px solid var(--dsw-alias-border-l2); background:var(--dsw-alias-bg-layer-1); color:var(--dsw-alias-label-primary); cursor:pointer; }\r\n.te-target small { color:var(--dsw-alias-label-secondary); text-align:left; }\r\n.te-target.selected { border-color:var(--dsw-alias-state-business-primary); box-shadow:0 0 0 1px var(--dsw-alias-state-business-primary); }\r\n.te-path { display:block; grid-column:1/-1; padding:10px 12px; font-size:12px; border-radius:8px; background:var(--dsw-alias-bg-layer-1); color:var(--dsw-alias-label-secondary); overflow-wrap:anywhere; white-space:pre-wrap; }\r\n.te-preview { display:flex; flex-direction:column; gap:12px; margin-top:16px; }\r\n.te-markdown { max-height:360px; overflow:auto; padding:16px; border:1px solid var(--dsw-alias-border-l2); border-radius:12px; }\r\n.te-advanced { margin-top:16px; padding:12px; border:1px dashed var(--dsw-alias-border-l2); border-radius:12px; }\r\n.te-dir-list { max-height:160px; overflow:auto; display:flex; flex-direction:column; gap:4px; }\r\n.te-dir-list button { text-align:left; border:0; background:transparent; color:var(--dsw-alias-label-primary); padding:8px; cursor:pointer; }\r\n.te-dir-list button:hover { background:var(--dsw-alias-bg-layer-1); }\r\n.te-form { display:flex; flex-direction:column; gap:16px; }\r\n.te-form label { display:flex; flex-direction:column; gap:8px; font-size:13px; }\r\n.te-editor { min-height:260px; resize:vertical; line-height:1.6; font-family:monospace; }\r\n@media(max-width:640px) { .te-targets {grid-template-columns:1fr;} .te-resource {gap:14px;} .te-section-heading h2 {font-size:21px;} .te-modal {padding:10px !important;} }\r\n`\r\n", "/**\r\n * Shared inline styles for the settings page. Colors come from the DSH theme\r\n * tokens (`--dsw-alias-*`) so the page follows light/dark and brand overrides;\r\n * only neutral layout (gap, padding, wrapping) is literal. Primitive components\r\n * carry their own token styling; this module covers the page's layout chrome.\r\n *\r\n * @module dsh-task-engine/styles\r\n */\r\n\r\nimport type { CSSProperties } from 'react'\r\n\r\nconst text = 'var(--dsw-alias-label-primary)'\r\nconst textSecondary = 'var(--dsw-alias-label-secondary)'\r\nconst textTertiary = 'var(--dsw-alias-label-tertiary)'\r\nconst border = 'var(--dsw-alias-border-l2)'\r\nconst surface = 'var(--dsw-alias-bg-layer-2)'\r\nconst danger = 'var(--dsw-alias-state-error-primary)'\r\nconst success = 'var(--dsw-alias-state-success-primary)'\r\nconst warn = 'var(--dsw-alias-state-warn-primary)'\r\nconst brand = 'var(--dsw-alias-state-business-primary)'\r\n\r\nexport const styles: Record<string, CSSProperties> = {\r\n wrap: { display: 'flex', flexDirection: 'column', gap: 16, padding: 20, maxWidth: 900 },\r\n head: { display: 'flex', flexDirection: 'column', gap: 4 },\r\n title: { margin: 0, color: text },\r\n muted: { margin: 0, color: textSecondary, fontSize: 13, lineHeight: 1.5 },\r\n\r\n sourceRow: { display: 'flex', alignItems: 'center', gap: 8 },\r\n sourceText: { color: textTertiary, fontSize: 13 },\r\n\r\n workspaceRow: { display: 'flex', alignItems: 'center', gap: 8 },\r\n workspaceLabel: { color: textSecondary, fontSize: 13 },\r\n\r\n flowCard: { border: `1px solid ${border}`, borderRadius: 10, background: surface, padding: 12, overflowX: 'auto' },\r\n\r\n section: { display: 'flex', flexDirection: 'column', gap: 12 },\r\n cardBody: { padding: '4px 0 8px', display: 'flex', flexDirection: 'column', gap: 12 },\r\n\r\n row: { display: 'flex', alignItems: 'center', gap: 8, flexWrap: 'wrap' },\r\n field: { display: 'flex', flexDirection: 'column', gap: 4, flex: '1 1 220px', minWidth: 180 },\r\n fieldLabel: { color: textSecondary, fontSize: 13 },\r\n hint: { color: textTertiary, fontSize: 12, margin: 0, lineHeight: 1.4 },\r\n\r\n chips: { display: 'flex', flexWrap: 'wrap', gap: 6, alignItems: 'center' },\r\n\r\n cardRow: {\r\n display: 'flex', alignItems: 'center', gap: 8, flexWrap: 'wrap',\r\n border: `1px solid ${border}`, borderRadius: 8, padding: '8px 10px',\r\n },\r\n\r\n inline: { display: 'inline-flex', alignItems: 'center', gap: 6, marginRight: 8 },\r\n\r\n textarea: {\r\n background: 'var(--dsw-alias-bg-layer-1)',\r\n border: `1px solid ${border}`,\r\n borderRadius: 8,\r\n padding: '8px 10px',\r\n color: text,\r\n fontSize: 13,\r\n minHeight: 90,\r\n resize: 'vertical',\r\n fontFamily: 'inherit',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n },\r\n\r\n sourceBadge: { color: textTertiary, fontSize: 11 },\r\n bindingStage: { display: 'flex', flexDirection: 'column', gap: 6 },\r\n bindingLabel: { color: text, fontSize: 13, fontWeight: 600 },\r\n\r\n problems: {\r\n display: 'flex', flexDirection: 'column', gap: 8,\r\n border: `1px solid ${danger}`, borderRadius: 8, padding: '10px 12px',\r\n },\r\n problemsTitle: { color: danger, fontSize: 13, fontWeight: 600, display: 'flex', alignItems: 'center', gap: 8 },\r\n problemsList: { margin: 0, paddingLeft: 20, color: text, fontSize: 13, display: 'flex', flexDirection: 'column', gap: 4 },\r\n noticeBox: {\r\n border: `1px solid ${warn}`, borderRadius: 8, padding: '10px 12px',\r\n display: 'flex', flexDirection: 'column', gap: 8,\r\n },\r\n noticeTitle: { color: warn, fontSize: 13, fontWeight: 600, display: 'flex', alignItems: 'center', gap: 8 },\r\n\r\n okText: { color: success, fontSize: 13, display: 'flex', alignItems: 'center', gap: 6 },\r\n status: { color: textTertiary, fontSize: 13, display: 'flex', alignItems: 'center', gap: 6 },\r\n\r\n actions: {\r\n display: 'flex', alignItems: 'center', gap: 12, marginTop: 4,\r\n paddingTop: 14, borderTop: `1px solid ${border}`,\r\n },\r\n\r\n // \u2500\u2500 flow preset picker \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n flowGrid: { display: 'grid', gridTemplateColumns: 'repeat(auto-fit, minmax(230px, 1fr))', gap: 10 },\r\n flowOption: {\r\n display: 'flex', flexDirection: 'column', gap: 6, alignItems: 'stretch',\r\n border: `1px solid ${border}`, borderRadius: 10, padding: '10px 12px',\r\n background: surface, cursor: 'pointer', color: text, fontSize: 13,\r\n textAlign: 'left' as const, fontFamily: 'inherit',\r\n transition: 'border-color 120ms ease, box-shadow 120ms ease',\r\n },\r\n flowOptionActive: {\r\n borderColor: brand,\r\n boxShadow: `0 0 0 1px ${brand}`,\r\n },\r\n flowOptionTitle: {\r\n display: 'flex', alignItems: 'center', gap: 7,\r\n fontSize: 13, fontWeight: 600, color: text,\r\n },\r\n flowOptionDesc: { color: textTertiary, fontSize: 12, lineHeight: 1.45, margin: 0 },\r\n\r\n // \u2500\u2500 init preview \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n mdPreview: {\r\n border: `1px solid ${border}`,\r\n borderRadius: 8,\r\n background: 'var(--dsw-alias-bg-layer-1)',\r\n padding: '12px 14px',\r\n maxHeight: 420,\r\n overflowY: 'auto',\r\n },\r\n}\r\n\r\nexport { text, textSecondary, textTertiary, border, surface, danger, success, warn, brand }", "/**\r\n * The \"\u5DE5\u7A0B\u6D41\u7A0B\u914D\u7F6E\" settings section: a picker over preset workflows plus one\r\n * editable surface \u2014 which skill/rule each node mounts. The stage graph, guards,\r\n * artifact fields, commit rule, and verification requirement are fixed by the\r\n * chosen preset, so the page no longer edits those; a project customizes\r\n * behavior by overriding its stage bindings (and by editing skill/rule content\r\n * in the sibling tabs). Editing and saving run the same `validateWorkflow` the\r\n * `dev_task` tool enforces.\r\n *\r\n * @module dsh-task-engine/TaskEngineSection\r\n */\r\n\r\nimport type { ResourceImportRequest, ResourcePreview } from '../resource-types.ts'\r\nimport { createElement, useCallback, useEffect, useMemo, useState, type CSSProperties } from 'react'\r\nimport {\r\n Button, Pill, StateDot, DisclosureRow,\r\n IconBranchOutline16, IconCheckOutline16, IconSettingsOutline16,\r\n} from '@deepseek-ai/dsh-client-ui-primitives'\r\nimport { validateWorkflow, type StageBinding, type WorkflowConfig } from '../engine.ts'\r\nimport { FLOW_PRESETS, FLOW_OPTIONS, resolveFlow } from '../workflows.ts'\r\nimport { styles, border } from './styles.ts'\r\nimport { describeError, sourceLabel } from './shared.ts'\r\n\r\n/** Resolve a flow id plus staged bindings into a complete config for preview (unknown ids preview the standard preset; writes still reject them). */\r\nfunction resolvedConfig(flow: string, stageBindings: Record<string, StageBinding>): WorkflowConfig {\r\n const resolved = resolveFlow(flow, { stage_bindings: stageBindings })\r\n return resolved.ok ? resolved.config : FLOW_PRESETS.standard.config\r\n}\r\n\r\ntype RemoteResult<T> = { ok: true; value: T } | { ok: false; error?: unknown }\r\n\r\n/** The `read`/`write` result: preset flow, resolved workflow, plus validation state. */\r\ninterface EngConfigView {\r\n ok: boolean\r\n source: 'default' | 'project' | 'invalid'\r\n flow: string\r\n config: WorkflowConfig\r\n problems: string[]\r\n}\r\n\r\n/** One skill in the mountable catalog. */\r\nexport interface SkillCatalogEntry {\r\n name: string\r\n description: string\r\n source: string\r\n}\r\n\r\n/** One rule in the mountable catalog. */\r\nexport interface RuleCatalogEntry {\r\n name: string\r\n source: string\r\n}\r\n\r\n/** Result of creating one skill or rule. */\r\nexport interface WriteResourceResult {\r\n ok: boolean\r\n name: string\r\n path: string\r\n error?: string\r\n}\r\n\r\n/** Full editable content of one skill. */\r\nexport interface ReadSkillResult {\r\n ok: boolean\r\n name: string\r\n description: string\r\n whenToUse: string\r\n content: string\r\n error?: string\r\n}\r\n\r\n/** Full editable content of one rule. */\r\nexport interface ReadRuleResult {\r\n ok: boolean\r\n name: string\r\n content: string\r\n error?: string\r\n}\r\n\r\n/** One implementation item's audit trail in the task ledger view. */\r\nexport interface TaskLedgerItem {\r\n id: string\r\n title: string\r\n status: string\r\n dispatch?: { description: string; at: string }\r\n review?: {\r\n spec: { outcome: 'pass' | 'fail'; notes?: string[] }\r\n quality: { outcome: 'pass' | 'fail'; notes?: string[] }\r\n }\r\n}\r\n\r\n/** One task's ledger projection: identity, stage, and per-item audit trail. */\r\nexport interface TaskLedgerEntry {\r\n risk_level?: string\r\n updated_at?: string\r\n verification_passed?: boolean\r\n review_outcome?: string\r\n task_id: string\r\n title: string\r\n stage: string\r\n branch: string\r\n items: TaskLedgerItem[]\r\n}\r\n\r\n/** `readTasks` result: every task record under the workspace's `.dsh/`. */\r\nexport interface TaskLedgerView {\r\n tasks: TaskLedgerEntry[]\r\n}\r\n\r\n/** `readInit` result: the workspace's root `AGENTS.md`, or absent. */\r\nexport interface InitView {\r\n exists: boolean\r\n content: string\r\n lines: number\r\n /** Absolute AGENTS.md location when resolved outside the workspace root. */\r\n path?: string\r\n}\r\n\r\n/** `generateInit` result: a model-drafted AGENTS.md body (not yet written). */\r\nexport interface InitDraft {\r\n ok: boolean\r\n content: string\r\n lines: number\r\n error?: string\r\n}\r\n\r\n/** `writeInit` result: write succeeded, or failed with the offending line count. */\r\nexport interface InitWriteResult {\r\n ok: boolean\r\n lines: number\r\n error?: string\r\n}\r\n\r\n/** The mounted `task-engine` Remote namespace. */\r\nexport interface TaskEngineRemote {\r\n resourceRoots(request: { kind: 'skill' | 'rule'; path: string }): Promise<RemoteResult<{ project: string; user: string }>>\r\n previewResource(request: ResourceImportRequest): Promise<RemoteResult<ResourcePreview>>\r\n importResource(request: ResourceImportRequest): Promise<RemoteResult<ResourcePreview>>\r\n read(path: string): Promise<RemoteResult<EngConfigView>>\r\n write(request: { path: string; flow: string; stage_bindings?: Record<string, StageBinding> }): Promise<RemoteResult<EngConfigView>>\r\n listSkills(path: string): Promise<RemoteResult<{ skills: SkillCatalogEntry[] }>>\r\n listRules(path: string): Promise<RemoteResult<{ rules: RuleCatalogEntry[] }>>\r\n writeSkill(request: { name: string; description: string; whenToUse?: string; content: string; level: 'project' | 'user'; path?: string }): Promise<RemoteResult<WriteResourceResult>>\r\n installSkill(request: { sourceDir: string; level: 'project' | 'user'; path?: string }): Promise<RemoteResult<WriteResourceResult>>\r\n listDirs(request: { path: string }): Promise<RemoteResult<{ ok: boolean; path: string; entries: { name: string; hasSkill: boolean }[]; roots: string[]; currentHasSkill: boolean; error?: string }>>\r\n writeRule(request: { name: string; content: string; level: 'project' | 'user'; path?: string }): Promise<RemoteResult<WriteResourceResult>>\r\n readSkill(request: { name: string; level: 'project' | 'user' | 'bundled'; path?: string }): Promise<RemoteResult<ReadSkillResult>>\r\n readRule(request: { name: string; level: 'project' | 'user' | 'bundled'; path?: string }): Promise<RemoteResult<ReadRuleResult>>\r\n deleteSkill(request: { name: string; level: 'project' | 'user'; path?: string }): Promise<RemoteResult<WriteResourceResult>>\r\n deleteRule(request: { name: string; level: 'project' | 'user'; path?: string }): Promise<RemoteResult<WriteResourceResult>>\r\n readTasks(path: string): Promise<RemoteResult<TaskLedgerView>>\r\n readInit(path: string): Promise<RemoteResult<InitView>>\r\n writeInit(request: { path: string; content: string; overwrite?: boolean }): Promise<RemoteResult<InitWriteResult>>\r\n generateInit(request: { path: string }): Promise<RemoteResult<InitDraft>>\r\n}\r\n\r\n/** Props the workbench hands this flow-editing tab (workspace already selected). */\r\ninterface SectionProps {\r\n workspace: string\r\n remote: TaskEngineRemote\r\n}\r\n\r\nconst cardV: CSSProperties = {\r\n display: 'flex', flexDirection: 'column', gap: 8,\r\n border: `1px solid ${border}`, borderRadius: 8, padding: '10px 12px',\r\n}\r\n\r\nexport function TaskEngineSection(props: SectionProps): ReturnType<typeof createElement> {\r\n const { remote, workspace } = props\r\n\r\n const [flow, setFlow] = useState('standard')\r\n const [stageBindings, setStageBindings] = useState<Record<string, StageBinding>>({})\r\n const [source, setSource] = useState<string>('default')\r\n const [savedAt, setSavedAt] = useState<string>('')\r\n const [loadError, setLoadError] = useState<string>('')\r\n const [saving, setSaving] = useState(false)\r\n const [loading, setLoading] = useState(true)\r\n const [loadAttempt, setLoadAttempt] = useState(0)\r\n const [configProblems, setConfigProblems] = useState<string[]>([])\r\n const [skills, setSkills] = useState<SkillCatalogEntry[]>([])\r\n const [rules, setRules] = useState<RuleCatalogEntry[]>([])\r\n\r\n useEffect(() => {\r\n if (workspace === '') return\r\n let alive = true\r\n setLoadError('')\r\n setLoading(true)\r\n void remote.read(workspace).then((result) => {\r\n if (!alive) return\r\n setLoading(false)\r\n if (result.ok) {\r\n setFlow(result.value.flow)\r\n setStageBindings(result.value.config.stage_bindings ?? {})\r\n setSource(result.value.source)\r\n setConfigProblems(result.value.problems)\r\n setSavedAt('')\r\n } else {\r\n setLoadError('\u8BFB\u53D6\u914D\u7F6E\u5931\u8D25\uFF1A' + describeError(result.error))\r\n }\r\n }, (error: unknown) => {\r\n if (alive) { setLoading(false); setLoadError('\u8BFB\u53D6\u914D\u7F6E\u5931\u8D25\uFF1A' + describeError(error)) }\r\n })\r\n return () => { alive = false }\r\n }, [remote, workspace, loadAttempt])\r\n\r\n const refreshCatalogs = useCallback(() => {\r\n if (workspace === '') return\r\n void remote.listSkills(workspace).then((result) => {\r\n if (result.ok) setSkills(result.value.skills)\r\n }, () => {\r\n /* catalog is best-effort; bindings still render without it */\r\n })\r\n void remote.listRules(workspace).then((result) => {\r\n if (result.ok) setRules(result.value.rules)\r\n }, () => {\r\n /* catalog is best-effort */\r\n })\r\n }, [remote, workspace])\r\n\r\n useEffect(() => {\r\n refreshCatalogs()\r\n }, [refreshCatalogs])\r\n\r\n const stages = useMemo(() => (FLOW_PRESETS[flow] ?? FLOW_PRESETS.standard).config.stages, [flow])\r\n const problems = useMemo(\r\n () => validateWorkflow(resolvedConfig(flow, stageBindings)),\r\n [flow, stageBindings],\r\n )\r\n\r\n const selectFlow = (id: string): void => {\r\n setFlow(id)\r\n setStageBindings({ ...(FLOW_PRESETS[id]?.config.stage_bindings ?? {}) })\r\n }\r\n\r\n if (loadError !== '') {\r\n return (\r\n <div style={styles.wrap}>\r\n <h2 style={styles.title}>\u5DE5\u7A0B\u6D41\u7A0B\u914D\u7F6E</h2>\r\n <div style={styles.problems}>\r\n <span style={styles.problemsTitle}><StateDot state=\"error\" />\u8BFB\u53D6\u5931\u8D25</span>\r\n <p style={styles.muted}>{loadError}</p>\r\n <Button onClick={() => setLoadAttempt(n => n + 1)}>\u91CD\u8BD5</Button>\r\n </div>\r\n </div>\r\n )\r\n }\r\n\r\n if (loading) return <p role=\"status\">\u6B63\u5728\u8BFB\u53D6\u6D41\u7A0B\u914D\u7F6E\u2026</p>\r\n\r\n return (\r\n <div style={styles.wrap}>\r\n {configProblems.length > 0 && <p role=\"alert\" style={styles.problems}>\u539F\u914D\u7F6E\u6709\u95EE\u9898\uFF1A{configProblems.join('\uFF1B')}\u3002\u8BF7\u9009\u62E9\u6709\u6548\u9884\u8BBE\u5E76\u4FDD\u5B58\u4FEE\u590D\u3002</p>}\r\n <div style={styles.head}>\r\n <h2 style={styles.title}>\u5DE5\u7A0B\u6D41\u7A0B\u914D\u7F6E</h2>\r\n <p style={styles.muted}>\u9009\u4E00\u5957\u6D41\u7A0B\uFF0C\u518D\u7ED9\u6BCF\u4E2A\u8282\u70B9\u6302\u4E0A skill / rule\u3002\u9636\u6BB5\u6D41\u8F6C\u3001\u5B88\u536B\u3001\u63D0\u4EA4\u89C4\u5219\u90FD\u7531\u6D41\u7A0B\u9884\u8BBE\u56FA\u5316\uFF0C\u65E0\u9700\u624B\u5DE5\u914D\u7F6E\u3002</p>\r\n </div>\r\n\r\n <div style={styles.sourceRow}>\r\n <StateDot state={source === 'project' ? 'done' : source === 'invalid' ? 'warning' : 'ongoing'} />\r\n <span style={styles.sourceText}>{sourceText(source)}</span>\r\n </div>\r\n\r\n <div style={styles.field}>\r\n <span style={styles.fieldLabel}>\u6D41\u7A0B\u9884\u8BBE</span>\r\n <div style={styles.flowGrid}>\r\n {FLOW_OPTIONS.map(option => {\r\n const active = flow === option.id\r\n return (\r\n <button\r\n key={option.id}\r\n type=\"button\"\r\n aria-pressed={active}\r\n onClick={() => { selectFlow(option.id) }}\r\n style={{ ...styles.flowOption, ...(active ? styles.flowOptionActive : {}) }}\r\n >\r\n <span style={styles.flowOptionTitle}>\r\n <StateDot state={active ? 'done' : 'ongoing'} size={8} />\r\n {option.label}\r\n </span>\r\n <p style={styles.flowOptionDesc}>{option.description}</p>\r\n </button>\r\n )\r\n })}\r\n </div>\r\n <p style={styles.hint}>{FLOW_OPTIONS.find(option => option.id === flow)?.description}</p>\r\n </div>\r\n\r\n <SectionCard icon={<IconBranchOutline16 size={16} />} title=\"\u6D41\u7A0B\u8282\u70B9\" hint=\"\u8BE5\u6D41\u7A0B\u9884\u8BBE\u56FA\u5B9A\u7684\u9636\u6BB5\u987A\u5E8F\uFF1B\u6539\u53D8\u6D41\u7A0B\u8BF7\u5207\u6362\u4E0A\u9762\u7684\u9884\u8BBE\u3002\" >\r\n <div style={styles.chips}>\r\n {stages.map((stage) => (\r\n <Pill key={stage} active={stage === (FLOW_PRESETS[flow]?.config.start_stage ?? '')} title={stage === FLOW_PRESETS[flow]?.config.start_stage ? '\u8D77\u59CB\u9636\u6BB5' : undefined}>\r\n {stage}\r\n </Pill>\r\n ))}\r\n </div>\r\n </SectionCard>\r\n\r\n <SectionCard icon={<IconSettingsOutline16 size={16} />} title=\"\u9636\u6BB5\u6280\u80FD / \u89C4\u5219\" hint=\"\u9009\u4E00\u4E2A\u8282\u70B9\uFF0C\u52FE\u9009\u5B83\u300C\u7528\u4EC0\u4E48 skill\uFF08\u6280\u80FD\uFF09\u300D\u548C\u300C\u5B88\u54EA\u6761 rule\uFF08\u89C4\u5219\uFF09\u300D\u3002\u6D41\u7A0B\u81EA\u5E26\u7684\u9ED8\u8BA4\u7ED1\u5B9A\u4E0D\u4F1A\u56E0\u53D6\u6D88\u52FE\u9009\u800C\u79FB\u9664\uFF08\u53EA\u4F1A\u4FDD\u7559\u5E76\u8FFD\u52A0\u4F60\u65B0\u52FE\u9009\u7684\uFF09\uFF1B\u8981\u65B0\u5EFA\u6216\u6539\u6B63\u6587\uFF0C\u5207\u5230\u4E0A\u65B9\u7684\u300C\u6280\u80FD\u300D/\u300C\u89C4\u5219\u300D\u6807\u7B7E\u9875\u3002\" >\r\n <BindingEditor stages={stages} stageBindings={stageBindings} setStageBindings={setStageBindings} skills={skills} rules={rules} />\r\n </SectionCard>\r\n\r\n {problems.length > 0\r\n ? (\r\n <div style={styles.problems}>\r\n <span style={styles.problemsTitle}><StateDot state=\"error\" />\u6709 {problems.length} \u4E2A\u95EE\u9898\uFF08\u4FDD\u5B58\u4F1A\u88AB\u62D2\u7EDD\uFF09</span>\r\n <ul style={styles.problemsList}>\r\n {problems.map(p => <li key={p}>{p}</li>)}\r\n </ul>\r\n </div>\r\n )\r\n : (\r\n <span style={styles.okText}>\r\n <StateDot state=\"done\" />{source === 'project' ? '\u914D\u7F6E\u6709\u6548' : '\u4F7F\u7528\u6D41\u7A0B\u9884\u8BBE\u9ED8\u8BA4\u7ED1\u5B9A\uFF08\u5C1A\u672A\u4FDD\u5B58\uFF09'}\r\n </span>\r\n )}\r\n\r\n <div style={styles.actions}>\r\n <Button\r\n variant=\"primary\"\r\n size=\"md\"\r\n icon={<IconCheckOutline16 size={16} />}\r\n disabled={problems.length > 0 || saving}\r\n onClick={() => { setSaving(true); void save(remote, flow, stageBindings, workspace, setSavedAt, setSource).then(ok => { if (ok) setConfigProblems([]) }).finally(() => setSaving(false)) }}\r\n >\r\n {saving ? '\u6B63\u5728\u4FDD\u5B58\u2026' : '\u4FDD\u5B58\u5230 .dsh/eng.json'}\r\n </Button>\r\n {savedAt !== ''\r\n ? (\r\n <span style={styles.okText}><StateDot state={savedAt.startsWith('\u5DF2') ? 'done' : 'error'} />{savedAt}</span>\r\n )\r\n : null}\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nfunction sourceText(source: string): string {\r\n switch (source) {\r\n case 'project': return '\u9879\u76EE\u914D\u7F6E\uFF08.dsh/eng.json\uFF09'\r\n case 'invalid': return '\u539F\u6587\u4EF6\u65E0\u6CD5\u89E3\u6790\uFF0C\u663E\u793A\u6807\u51C6\u9884\u8BBE'\r\n default: return '\u6807\u51C6\u9884\u8BBE\uFF08\u5DE5\u4F5C\u533A\u5C1A\u65E0 .dsh/eng.json\uFF09'\r\n }\r\n}\r\n\r\ninterface SectionCardProps {\r\n icon: ReturnType<typeof createElement>\r\n title: string\r\n hint?: string\r\n children: ReturnType<typeof createElement>\r\n}\r\n\r\nfunction SectionCard({ icon, title, hint, children }: SectionCardProps): ReturnType<typeof createElement> {\r\n const [open, setOpen] = useState(true)\r\n return (\r\n <div style={styles.section}>\r\n <DisclosureRow\r\n icon={icon}\r\n title={title}\r\n open={open}\r\n expandable\r\n onToggle={() => { setOpen(!open) }}\r\n keepContentWhenOpen\r\n >\r\n <div style={styles.cardBody}>\r\n {hint !== undefined ? <p style={styles.muted}>{hint}</p> : null}\r\n {children}\r\n </div>\r\n </DisclosureRow>\r\n </div>\r\n )\r\n}\r\n\r\nfunction BindingEditor({ stages, stageBindings, setStageBindings, skills, rules }: {\r\n stages: string[]\r\n stageBindings: Record<string, StageBinding>\r\n setStageBindings: (b: Record<string, StageBinding>) => void\r\n skills: SkillCatalogEntry[]\r\n rules: RuleCatalogEntry[]\r\n}): ReturnType<typeof createElement> {\r\n const [stage, setStage] = useState(stages[0] ?? '')\r\n const currentStage = stages.includes(stage) ? stage : (stages[0] ?? '')\r\n\r\n const toggleSkill = (skill: string): void => {\r\n if (currentStage === '') return\r\n const current = stageBindings[currentStage]?.skills ?? []\r\n const next = current.includes(skill) ? current.filter(s => s !== skill) : [...current, skill].sort()\r\n setStageBindings({ ...stageBindings, [currentStage]: { ...(stageBindings[currentStage] ?? {}), skills: next } })\r\n }\r\n\r\n const toggleRule = (rule: string): void => {\r\n if (currentStage === '') return\r\n const current = stageBindings[currentStage]?.rules ?? []\r\n const next = current.includes(rule) ? current.filter(s => s !== rule) : [...current, rule].sort()\r\n setStageBindings({ ...stageBindings, [currentStage]: { ...(stageBindings[currentStage] ?? {}), rules: next } })\r\n }\r\n\r\n if (currentStage === '') {\r\n return <p style={styles.muted}>\u5F53\u524D\u6D41\u7A0B\u6CA1\u6709\u8282\u70B9\u3002</p>\r\n }\r\n\r\n const boundSkills = stageBindings[currentStage]?.skills ?? []\r\n const boundRules = stageBindings[currentStage]?.rules ?? []\r\n\r\n return (\r\n <div style={styles.section}>\r\n <p style={styles.hint}>\u7ED1\u5B9A\u6309\u540D\u79F0\u751F\u6548\uFF1B\u540C\u540D\u8D44\u6E90\u53EF\u5728\u8D44\u6E90\u7BA1\u7406\u4E2D\u6309\u9879\u76EE\uFF0F\u4E2A\u4EBA\u5206\u522B\u67E5\u770B\u3002\u5B8C\u6210\u8282\u70B9\u7684\u6280\u80FD\u5FC5\u987B\u5728\u8FDB\u5165\u5B8C\u6210\u524D\u6267\u884C\uFF0C\u6D4B\u8BD5\u6280\u80FD\u5EFA\u8BAE\u653E\u5728\u4EA4\u4ED8\u8282\u70B9\u3002</p>\r\n <div style={styles.field}>\r\n <span style={styles.fieldLabel}>\u9009\u62E9\u8282\u70B9\uFF08\u6539\u54EA\u4E2A\u8282\u70B9\u7684\u6302\u8F7D\uFF09</span>\r\n <div style={styles.chips}>\r\n {stages.map(s => (\r\n <Pill key={s} active={s === currentStage} onClick={() => { setStage(s) }}>{s}</Pill>\r\n ))}\r\n </div>\r\n </div>\r\n\r\n <div style={cardV}>\r\n <div style={styles.bindingStage}>\r\n <span style={styles.fieldLabel}>skill\uFF08\u8FD9\u4E2A\u8282\u70B9\u505A\u4EC0\u4E48\uFF09</span>\r\n <div style={styles.chips}>\r\n {skills.length === 0\r\n ? <span style={styles.sourceBadge}>\u6682\u65E0\u53EF\u7528 skill \u2014\u2014 \u5207\u5230\u4E0A\u65B9\u300C\u6280\u80FD\u300D\u6807\u7B7E\u9875\u65B0\u5EFA</span>\r\n : skills.filter((sk, index, all) => all.findIndex(other => other.name === sk.name) === index).map(sk => (\r\n <Pill key={sk.name} active={boundSkills.includes(sk.name)} onClick={() => { toggleSkill(sk.name) }} title={`${sk.description}\uFF08${sourceLabel(sk.source)}\uFF09`}>\r\n {sk.name}\r\n {sk.source !== 'bundled' ? <span style={styles.sourceBadge}>\uFF08{sourceLabel(sk.source)}\uFF09</span> : null}\r\n </Pill>\r\n ))}\r\n </div>\r\n </div>\r\n\r\n <div style={styles.bindingStage}>\r\n <span style={styles.fieldLabel}>rule\uFF08\u8FD9\u4E2A\u8282\u70B9\u5B88\u4EC0\u4E48\uFF09</span>\r\n <div style={styles.chips}>\r\n {rules.length === 0\r\n ? <span style={styles.sourceBadge}>\u6682\u65E0\u53EF\u7528 rule \u2014\u2014 \u5207\u5230\u4E0A\u65B9\u300C\u89C4\u5219\u300D\u6807\u7B7E\u9875\u65B0\u5EFA</span>\r\n : rules.filter((rule, index, all) => all.findIndex(other => other.name === rule.name) === index).map(rule => (\r\n <Pill key={rule.name} active={boundRules.includes(rule.name)} onClick={() => { toggleRule(rule.name) }} title={`\u6765\u6E90\uFF1A${sourceLabel(rule.source)}`}>\r\n {rule.name}\r\n {rule.source !== 'bundled' ? <span style={styles.sourceBadge}>\uFF08{sourceLabel(rule.source)}\uFF09</span> : null}\r\n </Pill>\r\n ))}\r\n </div>\r\n </div>\r\n\r\n {boundSkills.length === 0 && boundRules.length === 0\r\n ? <p style={styles.hint}>\u8FD9\u4E2A\u8282\u70B9\u8FD8\u6CA1\u6302\u4EFB\u4F55 skill / rule \u2014\u2014 \u70B9\u4E0A\u9762\u7684\u540D\u79F0\u52FE\u9009\u3002</p>\r\n : null}\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nasync function save(remote: TaskEngineRemote, flow: string, stageBindings: Record<string, StageBinding>, workspace: string, setSavedAt: (s: string) => void, setSource: (s: string) => void): Promise<boolean> {\r\n try {\r\n const result = await remote.write({ path: workspace, flow, stage_bindings: stageBindings })\r\n if (!result.ok) { setSavedAt('\u4FDD\u5B58\u5931\u8D25\uFF1A' + describeError(result.error)); return false }\r\n if (!result.value.ok) { setSavedAt('\u4FDD\u5B58\u5931\u8D25\uFF1A' + result.value.problems.join('\uFF1B')); return false }\r\n setSource(result.value.source)\r\n setSavedAt('\u5DF2\u4FDD\u5B58')\r\n return true\r\n } catch (error) { setSavedAt('\u4FDD\u5B58\u5931\u8D25\uFF1A' + describeError(error)); return false }\r\n}\r\n", "/**\r\n * Config-driven engineering workflow engine \u2014 pure and harness-free.\r\n *\r\n * `legalTargets`, `assertAdvance`, `validateCommitMessage`, and\r\n * `commitCheckpoint` are pure functions over a `WorkflowConfig` and a `TaskState`.\r\n * They hold every hard gate the `dev_task` tool exposes, so the state machine is\r\n * unit-testable without a harness and the same code enforces the process whatever\r\n * config (stage graph, guards, commit policy) a project supplies.\r\n *\r\n * @module dsh-task-engine/engine\r\n */\r\n\r\nimport type { ProjectType } from './project.ts'\r\n\r\nexport type WorkSize = 'tiny' | 'standard' | 'complex'\r\nexport type RiskLevel = 'standard' | 'high_risk'\r\nexport type ItemStatus = 'todo' | 'doing' | 'done'\r\n\r\n/** Guard names the engine resolves natively. Opaque names are config errors. */\r\nexport type GuardName =\r\n | 'requirement_confirmation'\r\n | 'solution_confirmation'\r\n | 'todos_done'\r\n | 'verified'\r\n | 'review_passed'\r\n | 'artifacts_present'\r\n\r\n/** One allowed stage transition and the guards that must already hold. */\r\nexport interface Transition {\r\n from: string\r\n to: string\r\n requires?: GuardName[]\r\n}\r\n\r\n/** A stage-owned artifact: the `record` operation writes it, `artifacts_present` checks it. */\r\nexport interface ArtifactDef {\r\n /** Stage that owns this artifact (checked against the state's current stage). */\r\n stage: string\r\n /** Stable id the `record` operation writes under (unique per stage). */\r\n id: string\r\n /** Human-readable name surfaced in errors. */\r\n name: string\r\n /** Non-empty field keys; `artifacts_present` requires each to hold a non-empty value. */\r\n fields: string[]\r\n}\r\n\r\n/** Commit policy and message shape. Empty `message_pattern` disables format checking. */\r\nexport interface CommitRule {\r\n policy: 'task' | 'item' | 'manual'\r\n message_pattern: string\r\n message_hint: string\r\n /** Stages at which a commit checkpoint sits (a commit is due before leaving these). */\r\n checkpoints: string[]\r\n /** When true (default), a commit may only touch files listed in the task's `files`. */\r\n file_scope: boolean\r\n}\r\n\r\n/** Skills and rules a stage pins for progressive disclosure when the task enters it. */\r\nexport interface StageBinding {\r\n /** Skill names to load for this stage (resolved through the DSH skill registry). */\r\n skills?: string[]\r\n /** Rule names to read for this stage (resolved under the configured rule roots). */\r\n rules?: string[]\r\n}\r\n\r\nexport interface WorkflowConfig {\r\n stages: string[]\r\n start_stage: string\r\n transitions: Transition[]\r\n /** Artifacts each stage must record before its `artifacts_present` guard passes. */\r\n artifacts: ArtifactDef[]\r\n commit: CommitRule\r\n /** A high_risk task cannot cross an edge guarded by `verified` without passing evidence. */\r\n high_risk_requires_verification: boolean\r\n /** Per-stage skill/rule bindings disclosed when the task enters the stage. */\r\n stage_bindings?: Record<string, StageBinding>\r\n}\r\n\r\n/**\r\n * A task's frozen workflow: the preset id, its version, and the complete\r\n * resolved config at create time. The task's `status`/`advance`/`verify`/\r\n * `review`/`commit` re-read this snapshot instead of re-interpreting the\r\n * project's current `.dsh/eng.json`, so a later config change cannot drift an\r\n * in-flight task's gates.\r\n */\r\nexport interface FlowSnapshot {\r\n flow: string\r\n version: number\r\n config: WorkflowConfig\r\n /** SHA-256 of the canonical JSON of `config`; a mismatch proves the snapshot was edited after creation. Absent on pre-0.22 records. */\r\n hash?: string\r\n}\r\n\r\n/** One delegated implementation unit: a subagent fetch plus its two-stage review. */\r\nexport interface ItemDispatch {\r\n /** Subagent task description (the `description` passed to the `subagent` tool). */\r\n description: string\r\n /** ISO-8601 timestamp when the subagent was dispatched. */\r\n at: string\r\n}\r\n\r\n/** Verdict of one review stage over a completed item. */\r\nexport interface ItemReviewStage {\r\n outcome: 'pass' | 'fail'\r\n /** Key findings: what passed or the defect list when `outcome` is `fail`. */\r\n notes?: string[]\r\n}\r\n\r\n/** Two-stage review of an item: specification conformance then code quality. */\r\nexport interface ItemReview {\r\n /** Stage one: the implementation did the right scope (specification conformance). */\r\n spec: ItemReviewStage\r\n /** Stage two: the code meets quality conventions (boundary, error, naming). */\r\n quality: ItemReviewStage\r\n}\r\n\r\nexport interface TaskItem {\r\n id: string\r\n title: string\r\n status: ItemStatus\r\n /** Agent-reported dispatch intent, not independent proof that a subagent ran. */\r\n dispatch?: ItemDispatch\r\n /** Audit trail: the two-stage review verdicts over the completed item. */\r\n review?: ItemReview\r\n}\r\n\r\n/** A verification receipt from a real command execution, never a model claim. */\r\nexport interface VerificationReceipt {\r\n /** The command that ran. */\r\n command: string\r\n /** Exit code; -1 encodes a signal-killed run (no usable exit code). */\r\n exit_code: number\r\n /** True when the executor's timeout was the first cause to cut the command short. */\r\n timed_out: boolean\r\n /** True when the caller's cancellation aborted the command. */\r\n aborted: boolean\r\n /** ISO timestamp when the run began. */\r\n started_at: string\r\n /** ISO timestamp when the run settled. */\r\n finished_at: string\r\n /** Absolute project root the command ran in; binds the receipt to the task's workspace. */\r\n root?: string\r\n /** Captured stdout tail. */\r\n stdout: string\r\n /** Captured stderr tail. */\r\n stderr: string\r\n sandbox?: { mode: string; denied: boolean; enforcement?: string; runnerFailed?: boolean }\r\n /** Fingerprint of declared task files after validation; code edits invalidate the receipt. */\r\n scope_hash?: string\r\n}\r\n\r\nexport interface TaskState {\r\n schema: 1\r\n id: string\r\n title: string\r\n branch: string\r\n work_size: WorkSize\r\n risk_level: RiskLevel\r\n /** Frozen workflow captured at create time; gates re-read this, not the live config. Absent on pre-snapshot task records. */\r\n flow?: FlowSnapshot\r\n stage: string\r\n requirement_confirmed: boolean\r\n solution_confirmed: boolean\r\n items: TaskItem[]\r\n verification: { passed: boolean; evidence: string[]; receipt?: VerificationReceipt }\r\n review: { outcome: 'pending' | 'pass' | 'blocked' }\r\n /** Recorded artifacts (artifact id -> field -> value). */\r\n artifacts: Record<string, Record<string, string>>\r\n /** Repo-relative paths this task may touch (checked by the file-scope commit gate). */\r\n files: string[]\r\n commits: { label: string; hash?: string }[]\r\n /** Absolute project root recorded at create time; receipts bind to it and writes may not escape it. Absent on pre-0.21 records. */\r\n root?: string\r\n /** Language stack detected at create time. Absent on pre-0.21 records. */\r\n project_type?: ProjectType\r\n /** Audit trail of risk changes; a high_risk \u2192 standard downgrade only appears here after human approval. Absent on pre-0.22 records. */\r\n risk_downgrades?: { from: string; to: string; at: string }[]\r\n /** Fingerprint of the bundled rules at create time; a drift on disclosure means the shipped rules changed since this task froze. Absent on pre-0.22 records. */\r\n bindings_fingerprint?: string\r\n /** Monotonic record revision; every write must compare-and-swap on it so concurrent agents cannot silently overwrite each other. Absent on pre-0.23 records (treated as 0). */\r\n revision?: number\r\n /** Time of the latest successful tool write, absent on older records. */\r\n updated_at?: string\r\n /** New tasks enforce skill evidence and checkpoint completion; old snapshots remain readable. */\r\n execution_version?: 1\r\n skill_results?: Record<string, Record<string, { session_id: string; load_call_id: string; evidence: string[]; receipt?: VerificationReceipt }>>\r\n}\r\n\r\nexport interface Result {\r\n ok: boolean\r\n errors?: string[]\r\n}\r\n\r\n/** The full guard vocabulary. Unknown guard names are configuration errors. */\r\nconst GUARD_NAMES: readonly GuardName[] = [\r\n 'requirement_confirmation',\r\n 'solution_confirmation',\r\n 'todos_done',\r\n 'verified',\r\n 'review_passed',\r\n 'artifacts_present',\r\n]\r\n\r\n/**\r\n * Validate a merged workflow for structural soundness.\r\n *\r\n * Returns one human-readable problem per defect, or an empty list when the\r\n * config can drive the state machine. This is what makes a hand-edited\r\n * `.dsh/eng.json` fail loudly instead of driving gates that reference stages\r\n * or guards that do not exist.\r\n * @param config - the merged workflow to check.\r\n * @returns problem strings; empty means valid.\r\n */\r\nexport function validateWorkflow(config: WorkflowConfig): string[] {\r\n const problems: string[] = []\r\n if (config.stages.length === 0) problems.push('stages must not be empty')\r\n const seen = new Set<string>()\r\n for (const stage of config.stages) {\r\n if (seen.has(stage)) problems.push(`duplicate stage \"${stage}\"`)\r\n seen.add(stage)\r\n }\r\n if (!config.stages.includes(config.start_stage)) {\r\n problems.push(`start_stage \"${config.start_stage}\" is not in stages`)\r\n }\r\n const edges = new Set<string>()\r\n config.transitions.forEach((transition, index) => {\r\n if (!config.stages.includes(transition.from)) {\r\n problems.push(`transition ${index + 1}: from \"${transition.from}\" is not a stage`)\r\n }\r\n if (!config.stages.includes(transition.to)) {\r\n problems.push(`transition ${index + 1}: to \"${transition.to}\" is not a stage`)\r\n }\r\n const edge = `${transition.from}->${transition.to}`\r\n if (edges.has(edge)) problems.push(`duplicate transition \"${edge}\"`)\r\n edges.add(edge)\r\n for (const guard of transition.requires ?? []) {\r\n if (!GUARD_NAMES.includes(guard)) {\r\n problems.push(`transition ${index + 1}: unknown guard \"${String(guard)}\"`)\r\n }\r\n }\r\n })\r\n const artifactKeys = new Set<string>()\r\n config.artifacts.forEach((artifact, index) => {\r\n if (!config.stages.includes(artifact.stage)) {\r\n problems.push(`artifact ${index + 1}: stage \"${artifact.stage}\" is not a stage`)\r\n }\r\n const key = artifact.id\r\n // Artifact ids must be unique across ALL stages, not just within a stage:\r\n // `state.artifacts` is keyed by id, so two stages sharing an id would let a\r\n // later stage silently reuse an earlier stage's recorded values.\r\n if (artifactKeys.has(key)) problems.push(`duplicate artifact id \"${key}\" (ids are unique across all stages)`)\r\n artifactKeys.add(key)\r\n if (artifact.fields.length === 0) {\r\n problems.push(`artifact ${index + 1} (\"${artifact.id}\"): fields must not be empty`)\r\n }\r\n const fieldSet = new Set<string>()\r\n for (const field of artifact.fields) {\r\n if (fieldSet.has(field)) {\r\n problems.push(`artifact ${index + 1} (\"${artifact.id}\"): duplicate field \"${field}\"`)\r\n }\r\n fieldSet.add(field)\r\n }\r\n })\r\n const bindings = config.stage_bindings ?? {}\r\n for (const [stage, binding] of Object.entries(bindings)) {\r\n if (!config.stages.includes(stage)) {\r\n problems.push(`stage_bindings: stage \"${stage}\" is not a stage`)\r\n }\r\n for (const skill of binding.skills ?? []) {\r\n if (typeof skill !== 'string' || skill.trim() === '') {\r\n problems.push(`stage_bindings \"${stage}\": empty skill name`)\r\n }\r\n }\r\n for (const rule of binding.rules ?? []) {\r\n if (typeof rule !== 'string' || rule.trim() === '') {\r\n problems.push(`stage_bindings \"${stage}\": empty rule name`)\r\n }\r\n }\r\n }\r\n if (!['task', 'item', 'manual'].includes(config.commit.policy)) {\r\n problems.push(`commit.policy \"${config.commit.policy}\" is not task|item|manual`)\r\n }\r\n for (const checkpoint of config.commit.checkpoints) {\r\n if (!config.stages.includes(checkpoint)) {\r\n problems.push(`commit.checkpoint \"${checkpoint}\" is not a stage`)\r\n }\r\n }\r\n if (config.commit.message_pattern !== '') {\r\n try {\r\n new RegExp(config.commit.message_pattern)\r\n } catch {\r\n problems.push('commit.message_pattern is not a valid regular expression')\r\n }\r\n }\r\n return problems\r\n}\r\n\r\nfunction requireKnownStage(stage: string, config: WorkflowConfig): Result {\r\n if (!config.stages.includes(stage)) {\r\n return { ok: false, errors: [`unknown stage \"${stage}\"`] }\r\n }\r\n return { ok: true }\r\n}\r\n\r\n/** Artifacts a stage owns; `artifacts_present` checks these against the recorded values. */\r\nexport function artifactsForStage(stage: string, config: WorkflowConfig): ArtifactDef[] {\r\n return config.artifacts.filter(artifact => artifact.stage === stage)\r\n}\r\n\r\n/** Skills and rules a stage pins, or undefined when the stage declares none. */\r\nexport function bindingsForStage(stage: string, config: WorkflowConfig): StageBinding | undefined {\r\n return config.stage_bindings?.[stage]\r\n}\r\n\r\n/** Target stages reachable from `stage` via a configured transition. */\r\nexport function legalTargets(stage: string, config: WorkflowConfig): string[] {\r\n return config.transitions\r\n .filter(transition => transition.from === stage)\r\n .map(transition => transition.to)\r\n}\r\n\r\n/** The edge from `from` to `to`, or undefined when not configured. */\r\nexport function findTransition(from: string, to: string, config: WorkflowConfig): Transition | undefined {\r\n return config.transitions.find(transition => transition.from === from && transition.to === to)\r\n}\r\n\r\n/**\r\n * Structural explanation of a failing `todos_done` gate: which items block it\r\n * and why. Empty means the gate passes. A `done` item must also carry a\r\n * two-stage review whose both stages passed, so the implementation and its\r\n * audit trail are completed together.\r\n */\r\nexport function todosBlockers(state: TaskState): string[] {\r\n if (state.items.length === 0) return ['no implementation items']\r\n const blockers: string[] = []\r\n for (const item of state.items) {\r\n if (item.status !== 'done') {\r\n blockers.push(`item \"${item.id}\" is ${item.status}`)\r\n continue\r\n }\r\n if (item.review === undefined) {\r\n blockers.push(`item \"${item.id}\" is done but has no two-stage review`)\r\n continue\r\n }\r\n if (item.review.spec.outcome !== 'pass') blockers.push(`item \"${item.id}\" spec review is not pass`)\r\n if (item.review.quality.outcome !== 'pass') blockers.push(`item \"${item.id}\" quality review is not pass`)\r\n }\r\n return blockers\r\n}\r\n\r\nfunction guardSatisfied(guard: GuardName, state: TaskState, config: WorkflowConfig): boolean {\r\n switch (guard) {\r\n case 'requirement_confirmation':\r\n return state.requirement_confirmed\r\n case 'solution_confirmation':\r\n return state.solution_confirmed\r\n case 'todos_done':\r\n return todosBlockers(state).length === 0\r\n case 'verified': {\r\n if (!state.verification.passed) return false\r\n if (config.high_risk_requires_verification && state.risk_level === 'high_risk') {\r\n // A high-risk task's `verified` gate demands a real command receipt, not\r\n // a model-declared pass: the receipt must come from a run that exited 0\r\n // and was neither timed out nor aborted.\r\n const receipt = state.verification.receipt\r\n return receipt !== undefined && receipt.exit_code === 0 && !receipt.timed_out && !receipt.aborted\r\n }\r\n return true\r\n }\r\n case 'review_passed':\r\n return state.review.outcome === 'pass'\r\n case 'artifacts_present': {\r\n const required = artifactsForStage(state.stage, config)\r\n return required.every(artifact => {\r\n const recorded = state.artifacts[artifact.id]\r\n if (recorded === undefined) return false\r\n return artifact.fields.every(field => recorded[field] !== undefined && recorded[field].trim() !== '')\r\n })\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Validate an advance from `state.stage` to `targetStage`.\r\n *\r\n * Returns `{ ok: false, errors }` when the target is unknown, the edge is not\r\n * configured, or any declared guard is unmet. This is the hard transition gate:\r\n * the tool rejects rather than degrades.\r\n */\r\nexport function assertAdvance(state: TaskState, targetStage: string, config: WorkflowConfig): Result {\r\n const known = requireKnownStage(targetStage, config)\r\n if (!known.ok) return known\r\n\r\n const transition = findTransition(state.stage, targetStage, config)\r\n if (!transition) {\r\n return {\r\n ok: false,\r\n errors: [`no transition from \"${state.stage}\" to \"${targetStage}\"` +\r\n ` (legal: ${legalTargets(state.stage, config).join(', ') || 'none'})`],\r\n }\r\n }\r\n\r\n const unmet = (transition.requires ?? []).filter(guard => !guardSatisfied(guard, state, config))\r\n if (unmet.length > 0) {\r\n const details = unmet.map(guard => {\r\n if (guard === 'todos_done') return `todos_done (${todosBlockers(state).join('; ')})`\r\n return guard\r\n })\r\n return { ok: false, errors: [`guards unmet: ${details.join(', ')}`] }\r\n }\r\n if (state.execution_version === 1 && config.commit.policy !== 'manual'\r\n && config.commit.checkpoints.includes(state.stage)\r\n && !state.commits.some(commit => commit.label === 'TASK' && commit.hash)) {\r\n return { ok: false, errors: ['commit required before leaving this checkpoint: call commit, perform the approved git commit, then record its hash'] }\r\n }\r\n return { ok: true }\r\n}\r\n\r\n/**\r\n * Structured unmet guards for the edge from `state.stage` to `targetStage`,\r\n * resolved only when the edge exists. Empty when the target is unknown or the\r\n * edge is not configured (in which case {@link assertAdvance} reports its own\r\n * error). Lets the tool split confirmation gates (approved by a human) from the\r\n * rest (which the task record must satisfy before any ask).\r\n */\r\nexport function unmetGuards(state: TaskState, targetStage: string, config: WorkflowConfig): GuardName[] {\r\n const transition = findTransition(state.stage, targetStage, config)\r\n if (!transition) return []\r\n return (transition.requires ?? []).filter(guard => !guardSatisfied(guard, state, config))\r\n}\r\n\r\n/** Validate a commit summary against the configured message pattern. */\r\nexport function validateCommitMessage(message: string, config: WorkflowConfig): Result {\r\n if (config.commit.message_pattern === '') return { ok: true }\r\n const re = new RegExp(config.commit.message_pattern)\r\n if (re.test(message)) return { ok: true }\r\n return {\r\n ok: false,\r\n errors: [`commit summary \"${message}\" does not match ${config.commit.message_hint}`],\r\n }\r\n}\r\n\r\n/**\r\n * Extract the task id from a commit summary. The first capture group of the\r\n * message pattern is the task id by convention (`\u3010<task_id>\u3011\u3010T1\u3011\u2026`). Returns\r\n * `undefined` when the flow declares no pattern (so the summary carries no\r\n * canonical id) or the summary does not match. The commit-msg hook uses the id\r\n * to locate the exact task instead of guessing by branch.\r\n */\r\nexport function taskIdFromMessage(message: string, config: WorkflowConfig): string | undefined {\r\n if (config.commit.message_pattern === '') return undefined\r\n const match = new RegExp(config.commit.message_pattern).exec(message)\r\n return match?.[1]\r\n}\r\n\r\nexport interface CommitCheckpoint {\r\n allowed: boolean\r\n label?: string\r\n reason?: string\r\n}\r\n\r\n/**\r\n * Decide whether the current task state permits a commit and with what label.\r\n *\r\n * `manual` never auto-commits. `task` allows a single `TASK` at a checkpoint\r\n * stage. `item` allows `T<n>` commits mid-flow and a closing `TASK` at a\r\n * checkpoint. A stage only permits a commit once its outgoing guards already\r\n * hold, so the engine cannot be asked to commit before its own state is valid.\r\n */\r\nexport function commitCheckpoint(state: TaskState, config: WorkflowConfig): CommitCheckpoint {\r\n const { policy, checkpoints } = config.commit\r\n if (policy === 'manual') {\r\n return { allowed: false, reason: 'commit policy is manual \u2014 await an explicit user instruction' }\r\n }\r\n\r\n if (checkpoints.includes(state.stage)) {\r\n const ready = config.transitions\r\n .filter(transition => transition.from === state.stage)\r\n .every(transition => (transition.requires ?? []).every(g => guardSatisfied(g, state, config)))\r\n if (!ready) {\r\n return { allowed: false, reason: 'checkpoint stage reached but its outgoing guards are unmet' }\r\n }\r\n return { allowed: true, label: 'TASK' }\r\n }\r\n\r\n if (policy === 'item') {\r\n const done = state.items.filter(item => item.status === 'done').length\r\n if (done > 0) {\r\n return { allowed: true, label: `T${done}` }\r\n }\r\n }\r\n\r\n return { allowed: false, reason: 'no commit is due at this stage under the current policy' }\r\n}\r\n\r\nexport interface FileScopeResult {\r\n ok: boolean\r\n /** Paths outside the declared scope (present only when the scope is set but violated). */\r\n outside: string[]\r\n /** True when the task declared no `files` at all (file_scope on). */\r\n noScope: boolean\r\n}\r\n\r\n/**\r\n * Check a commit's file set against the task's declared scope. No-op when\r\n * `file_scope` is off; an empty declared scope refuses every commit (the task\r\n * must first declare what it may touch).\r\n */\r\n/**\r\n * Engine bookkeeping files that travel with the branch as team-shared facts\r\n * (`.dsh/task-*.json`, `.dsh/eng.json`). They are metadata, not deliverables,\r\n * so the file-scope gate never counts them as out-of-scope.\r\n */\r\nfunction isEngineMeta(file: string): boolean {\r\n return /^\\.dsh\\/(task-[^/]+\\.json|eng\\.json)$/.test(file)\r\n}\r\n\r\nexport function checkFileScope(state: TaskState, committing: string[], config: WorkflowConfig): FileScopeResult {\r\n if (!config.commit.file_scope) return { ok: true, outside: [], noScope: false }\r\n if (state.files.length === 0) return { ok: false, outside: [], noScope: true }\r\n const outside = committing.filter(file => !state.files.includes(file) && !isEngineMeta(file))\r\n return outside.length === 0\r\n ? { ok: true, outside: [], noScope: false }\r\n : { ok: false, outside, noScope: false }\r\n}\r\n\r\n/** A fresh task pinned to its frozen workflow's start stage. */\r\nexport function newTask(input: {\r\n id: string\r\n title: string\r\n branch: string\r\n work_size: WorkSize\r\n risk_level: RiskLevel\r\n flow: FlowSnapshot\r\n root?: string\r\n project_type?: ProjectType\r\n}): TaskState {\r\n return {\r\n schema: 1,\r\n id: input.id,\r\n title: input.title,\r\n branch: input.branch,\r\n work_size: input.work_size,\r\n risk_level: input.risk_level,\r\n flow: input.flow,\r\n stage: input.flow.config.start_stage,\r\n requirement_confirmed: false,\r\n solution_confirmed: false,\r\n items: [],\r\n verification: { passed: false, evidence: [] },\r\n review: { outcome: 'pending' },\r\n artifacts: {},\r\n files: [],\r\n commits: [],\r\n revision: 1,\r\n ...(input.root !== undefined ? { root: input.root } : {}),\r\n ...(input.project_type !== undefined ? { project_type: input.project_type } : {}),\r\n }\r\n}\r\n", "/**\r\n * Built-in engineering workflows. A workflow is a complete, engine-resolved\r\n * `WorkflowConfig` a project adopts by id: the stage graph, transition guards,\r\n * artifacts, commit rule, and default skill/rule bindings are all baked in\r\n * here. A project overrides only its stage bindings by APPENDING skill/rule\r\n * names to the preset defaults; every guard, artifact, and commit field stays\r\n * a fixed property of the chosen preset, so a project cannot hand-edit the gate\r\n * semantics or cancel a core binding.\r\n *\r\n * @module dsh-task-engine/workflows\r\n */\r\n\r\nimport type { StageBinding, WorkflowConfig } from './engine.ts'\r\n\r\n/** A preset workflow a project can select by id. */\r\nexport interface FlowOption {\r\n id: string\r\n label: string\r\n description: string\r\n}\r\n\r\n/** A gate capability a flow either has or lacks; high-risk tasks require a subset. */\r\nexport type WorkflowCapability = 'artifact_gate' | 'verification_gate' | 'file_scope' | 'review_gate'\r\n\r\n/** A versioned preset: fixed gate semantics plus its derived capability set. */\r\nexport interface FlowPreset extends FlowOption {\r\n /** Preset schema version; bumped only by a shipped preset edit (`standard@1` \u2192 `standard@2`). */\r\n version: number\r\n /** Gate capabilities derived from the preset's own structure. */\r\n capabilities: WorkflowCapability[]\r\n /** The complete engine config this preset resolves to. */\r\n config: WorkflowConfig\r\n}\r\n\r\n/** The selectable preset workflows (shown in the workbench flow picker). */\r\nexport const FLOW_OPTIONS: readonly FlowOption[] = [\r\n { id: 'standard', label: '\u6807\u51C6\u7814\u53D1', description: '\u9700\u6C42\u8BC4\u5BA1 \u2192 \u8BBE\u8BA1 \u2192 \u5F00\u53D1 \u2192 \u4EA4\u4ED8 \u2192 \u4EE3\u7801\u5BA1\u6838\uFF0C\u542B\u4EA7\u7269\u95E8 + \u786E\u8BA4\u95E8' },\r\n { id: 'agile', label: '\u654F\u6377\u8F7B\u91CF', description: '\u9700\u6C42 \u2192 \u5F00\u53D1 \u2192 \u4EA4\u4ED8 \u2192 \u5BA1\u67E5\uFF0C\u56DB\u9636\u6BB5\u3001\u5C11\u4EA7\u7269' },\r\n { id: 'minimal', label: '\u7EAF\u4EE3\u7801', description: '\u5F00\u53D1 \u2192 \u4EA4\u4ED8\uFF0C\u4E24\u9636\u6BB5\uFF0C\u53EA\u7559\u63D0\u4EA4\u95E8\u7981' },\r\n]\r\n\r\n/** Standard review-gated delivery: the default workflow. */\r\nconst STANDARD: WorkflowConfig = {\r\n stages: ['\u9700\u6C42\u8BC4\u5BA1', '\u8BBE\u8BA1', '\u5F00\u53D1', '\u4EA4\u4ED8', '\u4EE3\u7801\u5BA1\u6838', '\u5B8C\u6210'],\r\n start_stage: '\u9700\u6C42\u8BC4\u5BA1',\r\n transitions: [\r\n { from: '\u9700\u6C42\u8BC4\u5BA1', to: '\u8BBE\u8BA1', requires: ['requirement_confirmation', 'artifacts_present'] },\r\n { from: '\u8BBE\u8BA1', to: '\u5F00\u53D1', requires: ['solution_confirmation', 'artifacts_present'] },\r\n { from: '\u5F00\u53D1', to: '\u4EA4\u4ED8', requires: ['todos_done'] },\r\n { from: '\u4EA4\u4ED8', to: '\u4EE3\u7801\u5BA1\u6838', requires: ['verified'] },\r\n { from: '\u4EE3\u7801\u5BA1\u6838', to: '\u5B8C\u6210', requires: ['review_passed', 'artifacts_present'] },\r\n ],\r\n artifacts: [\r\n { stage: '\u9700\u6C42\u8BC4\u5BA1', id: 'requirement', name: '\u9700\u6C42\u8BF4\u660E', fields: ['scope', 'acceptance_criteria'] },\r\n { stage: '\u8BBE\u8BA1', id: 'design', name: '\u8BBE\u8BA1\u6587\u6863', fields: ['approach', 'risks', 'impact'] },\r\n { stage: '\u4EE3\u7801\u5BA1\u6838', id: 'review', name: '\u8BC4\u5BA1\u8BB0\u5F55', fields: ['conclusion', 'issues'] },\r\n ],\r\n commit: {\r\n policy: 'task',\r\n message_pattern: '^\u3010(\\\\S+)\u3011\u3010(?:TASK|T\\\\d+)\u3011.+',\r\n message_hint: '\u3010<task_id>\u3011\u3010TASK/T1\u3011\u8BF4\u660E \u2014\u2014 \u7B2C\u4E00\u6BB5\u586B\u672C\u4EFB\u52A1 id\uFF08\u5982 GREET-001\uFF09\uFF0C\u5199\u7ED3\u679C\u4E0D\u5199\u7A7A\u6CDB\u52A8\u4F5C',\r\n checkpoints: ['\u4EE3\u7801\u5BA1\u6838'],\r\n file_scope: true,\r\n },\r\n high_risk_requires_verification: true,\r\n stage_bindings: {\r\n '\u9700\u6C42\u8BC4\u5BA1': { skills: ['requirement-analysis'], rules: ['security-redlines'] },\r\n '\u8BBE\u8BA1': { skills: ['solution-design'] },\r\n '\u5F00\u53D1': { skills: ['code-implement'], rules: ['coding-conventions'] },\r\n '\u4EA4\u4ED8': { skills: ['code-verify'], rules: ['coding-conventions'] },\r\n '\u4EE3\u7801\u5BA1\u6838': { skills: ['code-review', 'code-commit'], rules: ['security-redlines', 'commit-conventions'] },\r\n },\r\n}\r\n\r\n/** Lighter four-stage flow with few artifacts, for fast-moving projects. */\r\nconst AGILE: WorkflowConfig = {\r\n stages: ['\u9700\u6C42', '\u5F00\u53D1', '\u4EA4\u4ED8', '\u5BA1\u67E5'],\r\n start_stage: '\u9700\u6C42',\r\n transitions: [\r\n { from: '\u9700\u6C42', to: '\u5F00\u53D1', requires: ['requirement_confirmation'] },\r\n { from: '\u5F00\u53D1', to: '\u4EA4\u4ED8', requires: ['todos_done'] },\r\n { from: '\u4EA4\u4ED8', to: '\u5BA1\u67E5', requires: [] },\r\n ],\r\n artifacts: [\r\n { stage: '\u9700\u6C42', id: 'requirement', name: '\u9700\u6C42\u8BF4\u660E', fields: ['scope'] },\r\n ],\r\n commit: {\r\n policy: 'item',\r\n message_pattern: '^\u3010(\\\\S+)\u3011\u3010T\\\\d+\u3011.+',\r\n message_hint: '\u3010<task_id>\u3011\u3010T1\u3011\u8BF4\u660E \u2014\u2014 \u7B2C\u4E00\u6BB5\u586B\u672C\u4EFB\u52A1 id',\r\n checkpoints: ['\u4EA4\u4ED8'],\r\n file_scope: true,\r\n },\r\n high_risk_requires_verification: false,\r\n stage_bindings: {\r\n '\u9700\u6C42': { skills: ['requirement-analysis'] },\r\n '\u5F00\u53D1': { skills: ['code-implement'], rules: ['coding-conventions'] },\r\n '\u4EA4\u4ED8': { skills: ['code-verify', 'code-commit'], rules: ['commit-conventions'] },\r\n '\u5BA1\u67E5': { skills: ['code-review'] },\r\n },\r\n}\r\n\r\n/** Minimal two-stage flow: only a commit gate, no artifact doors. */\r\nconst MINIMAL: WorkflowConfig = {\r\n stages: ['\u5F00\u53D1', '\u4EA4\u4ED8'],\r\n start_stage: '\u5F00\u53D1',\r\n transitions: [\r\n { from: '\u5F00\u53D1', to: '\u4EA4\u4ED8', requires: ['todos_done'] },\r\n ],\r\n artifacts: [],\r\n commit: {\r\n policy: 'task',\r\n message_pattern: '',\r\n message_hint: '\u65E0\u683C\u5F0F\u8981\u6C42',\r\n checkpoints: ['\u4EA4\u4ED8'],\r\n file_scope: false,\r\n },\r\n high_risk_requires_verification: false,\r\n stage_bindings: {\r\n '\u5F00\u53D1': { skills: ['code-implement'] },\r\n '\u4EA4\u4ED8': { skills: ['code-commit'], rules: ['commit-conventions'] },\r\n },\r\n}\r\n\r\n/**\r\n * Derive a preset's capability set from its own structure, so the capability\r\n * claims can never drift from the actual gate graph.\r\n */\r\nfunction deriveCapabilities(config: WorkflowConfig): WorkflowCapability[] {\r\n const caps: WorkflowCapability[] = []\r\n const guards = new Set(config.transitions.flatMap(t => t.requires ?? []))\r\n if (guards.has('verified')) caps.push('verification_gate')\r\n if (guards.has('review_passed')) caps.push('review_gate')\r\n if (guards.has('artifacts_present')) caps.push('artifact_gate')\r\n if (config.commit.file_scope) caps.push('file_scope')\r\n return caps\r\n}\r\n\r\nfunction preset(\r\n id: string,\r\n version: number,\r\n label: string,\r\n description: string,\r\n config: WorkflowConfig,\r\n): FlowPreset {\r\n return { id, version, label, description, capabilities: deriveCapabilities(config), config }\r\n}\r\n\r\nexport const FLOW_PRESETS: Record<string, FlowPreset> = {\r\n standard: preset('standard', 2, '\u6807\u51C6\u7814\u53D1', '\u9700\u6C42\u8BC4\u5BA1 \u2192 \u8BBE\u8BA1 \u2192 \u5F00\u53D1 \u2192 \u4EA4\u4ED8 \u2192 \u4EE3\u7801\u5BA1\u6838\uFF0C\u5BA1\u6838\u540E\u63D0\u4EA4', STANDARD),\r\n agile: preset('agile', 1, '\u654F\u6377\u8F7B\u91CF', '\u9700\u6C42 \u2192 \u5F00\u53D1 \u2192 \u4EA4\u4ED8 \u2192 \u5BA1\u67E5\uFF0C\u56DB\u9636\u6BB5\u3001\u5C11\u4EA7\u7269', AGILE),\r\n minimal: preset('minimal', 1, '\u7EAF\u4EE3\u7801', '\u5F00\u53D1 \u2192 \u4EA4\u4ED8\uFF0C\u4E24\u9636\u6BB5\uFF0C\u53EA\u7559\u63D0\u4EA4\u95E8\u7981', MINIMAL),\r\n}\r\n\r\n/** Whether `flow` names a built-in workflow. */\r\nexport function isKnownFlow(flow: string): boolean {\r\n return Object.prototype.hasOwnProperty.call(FLOW_PRESETS, flow)\r\n}\r\n\r\n/**\r\n * The capabilities a high-risk task must have from its flow. A `high_risk`\r\n * task therefore cannot be created on a flow that lacks a verification gate,\r\n * file-scope protection, or a code review gate \u2014 choosing a looser flow can\r\n * never downgrade the risk bar.\r\n */\r\nexport const HIGH_RISK_REQUIRED_CAPABILITIES: readonly WorkflowCapability[] = [\r\n 'verification_gate',\r\n 'file_scope',\r\n 'review_gate',\r\n]\r\n\r\n/** Whether a flow's derived capabilities cover every required capability. */\r\nexport function flowSatisfies(flow: string, required: readonly WorkflowCapability[]): boolean {\r\n const preset = FLOW_PRESETS[flow]\r\n if (preset === undefined) return false\r\n return required.every(cap => preset.capabilities.includes(cap))\r\n}\r\n\r\n/** Resolve an unknown flow id's failure, surprising no caller with a fallback. */\r\nexport interface UnknownFlow {\r\n ok: false\r\n code: 'UNKNOWN_FLOW'\r\n flow: string\r\n knownFlows: string[]\r\n}\r\n\r\n/** Resolve a known flow id's complete config. */\r\nexport interface KnownFlow {\r\n ok: true\r\n config: WorkflowConfig\r\n preset: FlowPreset\r\n}\r\n\r\nexport type FlowResolve = KnownFlow | UnknownFlow\r\n\r\n/** Stable ordered dedupe that keeps each name's first occurrence. */\r\nfunction dedupe(names: string[]): string[] {\r\n return [...new Set(names)]\r\n}\r\n\r\n/**\r\n * Merge a project's stage-binding additions into a preset's defaults without\r\n * ever removing a core binding. A stage's `skills`/`rules` become the preset\r\n * defaults followed by the project additions, de-duplicated in order; the seed\r\n * bindings can therefore never be cancelled by an override, only extended.\r\n */\r\nfunction mergeBindings(base: WorkflowConfig, override?: Record<string, StageBinding>): WorkflowConfig {\r\n if (override === undefined) return base\r\n let changed = false\r\n const merged: Record<string, StageBinding> = { ...base.stage_bindings }\r\n for (const [stage, addition] of Object.entries(override)) {\r\n const existing = merged[stage]\r\n const skills = dedupe([...(existing?.skills ?? []), ...(addition.skills ?? [])])\r\n const rules = dedupe([...(existing?.rules ?? []), ...(addition.rules ?? [])])\r\n const binding: StageBinding = {}\r\n if (skills.length > 0) binding.skills = skills\r\n if (rules.length > 0) binding.rules = rules\r\n merged[stage] = binding\r\n changed = true\r\n }\r\n if (!changed) return base\r\n return { ...base, stage_bindings: merged }\r\n}\r\n\r\n/**\r\n * Resolve a preset workflow plus a project's stage-binding additions into the\r\n * complete engine config. Unknown `flow` ids fail closed with an explicit\r\n * `UNKNOWN_FLOW` result instead of silently falling back to `standard`, so a\r\n * project that names a missing or stale preset stops instead of running the\r\n * wrong gate.\r\n * @param flow - workflow id from the project's `.dsh/eng.json`.\r\n * @param override - optional whole `stage_bindings` map APPENDED to the preset defaults.\r\n */\r\nexport function resolveFlow(flow: string, override?: { stage_bindings?: Record<string, StageBinding> }): FlowResolve {\r\n const preset = FLOW_PRESETS[flow]\r\n if (preset === undefined) {\r\n return { ok: false, code: 'UNKNOWN_FLOW', flow, knownFlows: Object.keys(FLOW_PRESETS) }\r\n }\r\n return { ok: true, config: mergeBindings(preset.config, override?.stage_bindings), preset }\r\n}\r\n", "/**\n * Shared client helpers for the task-engine workbench: the workspace view shape\n * and small pure mappings used by the flow, skill, and rule tabs.\n *\n * @module dsh-task-engine/shared\n */\n\n/** Browser view of one workspace, narrowed to the fields these pages need. */\nexport interface WorkspaceItem {\n path: string\n title: string\n}\n\n/** Map a skill/rule source tag to a short Chinese label. */\nexport function sourceLabel(source: string): string {\n switch (source) {\n case 'bundled': return '\u5185\u7F6E'\n case 'project': case 'project-dsh': case 'project-agents': return '\u9879\u76EE'\n case 'user': case 'user-dsh': case 'user-agents': return '\u7528\u6237'\n case 'custom': return '\u81EA\u5B9A\u4E49'\n default: return source\n }\n}\n\n/** One-line error message from any thrown value. */\nexport function describeError(error: unknown): string {\n if (error instanceof Error) return error.message\n if (typeof error === 'string') return error\n return '\u672A\u77E5\u9519\u8BEF'\n}", "/**\n * The \"\u9879\u76EE\u521D\u59CB\u5316\" tab of the workbench: shows the workspace's root `AGENTS.md`,\n * lets the user regenerate it from an AI scan of the project, or edit and write\n * it by hand. The model draft is a preview only \u2014 nothing is written until the\n * user confirms, so overwriting an existing governance file is always a\n * deliberate, human-actioned step.\n *\n * @module dsh-task-engine/InitPanel\n */\n\nimport { createElement, useCallback, useEffect, useState, type CSSProperties, type ChangeEvent } from 'react'\nimport { Button, MarkdownText, StateDot } from '@deepseek-ai/dsh-client-ui-primitives'\nimport { styles } from './styles.ts'\nimport { describeError } from './shared.ts'\nimport type { InitDraft, InitView, TaskEngineRemote } from './TaskEngineSection.tsx'\n\n/** Stable localized chrome for the Markdown body. */\nconst MD_LABELS = { code: { copyLabel: '\u590D\u5236', copiedLabel: '\u5DF2\u590D\u5236' }, footnotes: '\u811A\u6CE8' }\n\n/** Frontend mirror of the Host generate timeout, for the elapsed counter. */\nconst INIT_TIMEOUT_S = 150\n\nconst card: CSSProperties = {\n display: 'flex', flexDirection: 'column', gap: 12,\n border: '1px solid var(--dsw-alias-border-l2)', borderRadius: 8, padding: '12px 14px',\n}\n\nexport function InitPanel({ workspace, remote }: {\n workspace: string\n remote: TaskEngineRemote\n}): ReturnType<typeof createElement> {\n const [view, setView] = useState<InitView | null>(null)\n const [generating, setGenerating] = useState(false)\n const [elapsed, setElapsed] = useState(0)\n const [draft, setDraft] = useState<InitDraft | null>(null)\n const [editing, setEditing] = useState(false)\n const [body, setBody] = useState('')\n const [msg, setMsg] = useState('')\n\n useEffect(() => {\n if (!generating) {\n setElapsed(0)\n return\n }\n const started = Date.now()\n setElapsed(0)\n const timer = setInterval(() => {\n setElapsed(Math.round((Date.now() - started) / 1000))\n }, 1000)\n return () => { clearInterval(timer) }\n }, [generating])\n\n const refresh = useCallback(() => {\n void remote.readInit(workspace).then((r) => {\n if (r.ok) setView(r.value)\n }, () => {\n /* init view is best-effort */\n })\n }, [remote, workspace])\n\n useEffect(() => { refresh() }, [refresh])\n\n const generate = async (): Promise<void> => {\n setMsg('')\n setGenerating(true)\n setDraft(null)\n setEditing(false)\n const r = await remote.generateInit({ path: workspace })\n setGenerating(false)\n if (!r.ok) {\n setMsg('\u751F\u6210\u5931\u8D25\uFF1A' + describeError(r.error))\n return\n }\n if (!r.value.ok) {\n setMsg('\u751F\u6210\u5931\u8D25\uFF1A' + (r.value.error ?? '\u672A\u77E5\u9519\u8BEF'))\n return\n }\n setDraft(r.value)\n }\n\n const write = async (content: string, overwrite: boolean): Promise<void> => {\n setMsg('')\n const r = await remote.writeInit({ path: workspace, content, overwrite })\n if (!r.ok) {\n setMsg('\u4FDD\u5B58\u5931\u8D25\uFF1A' + describeError(r.error))\n return\n }\n if (!r.value.ok) {\n setMsg('\u4FDD\u5B58\u5931\u8D25\uFF1A' + (r.value.error ?? '\u672A\u77E5\u9519\u8BEF'))\n return\n }\n setDraft(null)\n setEditing(false)\n setMsg(`\u5DF2\u5199\u5165 AGENTS.md\uFF08${r.value.lines} \u884C\uFF09`)\n refresh()\n }\n\n const startEdit = (): void => {\n setEditing(true)\n setDraft(null)\n setBody(view?.content ?? '')\n setMsg('')\n }\n\n const exists = view?.exists === true\n\n return createElement('div', { style: styles.section },\n createElement('div', { style: card },\n createElement('div', { style: { display: 'flex', alignItems: 'center', gap: 8, flexWrap: 'wrap' } },\n createElement(StateDot, { state: exists ? 'done' : 'ongoing' }),\n createElement('span', { style: styles.bindingLabel }, exists ? `\u5DF2\u521D\u59CB\u5316 \u00B7 ${view!.lines} \u884C\uFF08\u4E0A\u9650 200\uFF09` : '\u672A\u521D\u59CB\u5316'),\n view?.path !== undefined\n ? createElement('span', { style: styles.sourceBadge }, `\u5DF2\u5B9A\u4F4D\u5230 ${view.path}`)\n : null,\n ),\n createElement('p', { style: styles.muted },\n '\u9879\u76EE\u6839 AGENTS.md \u4F1A\u88AB DSH \u81EA\u52A8\u6CE8\u5165\u5230\u6BCF\u4E2A\u4F1A\u8BDD\u3002\u521D\u59CB\u5316\u4E00\u6B21\uFF0C\u4E4B\u540E\u6BCF\u6B21\u4EFB\u52A1\u5F00\u5DE5 AI \u90FD\u81EA\u5E26\u8FD9\u4EFD\u9879\u76EE\u8BA4\u77E5\uFF08\u9879\u76EE\u662F\u4EC0\u4E48 \u2192 \u600E\u4E48\u8DD1 \u2192 \u7ED3\u6784 \u2192 \u7EA6\u5B9A \u2192 \u5751\uFF09\u3002'),\n\n exists && !editing && draft === null\n ? createElement('div', { style: styles.mdPreview },\n createElement(MarkdownText, { text: view!.content, labels: MD_LABELS }))\n : null,\n\n draft !== null\n ? createElement('div', { style: styles.section },\n createElement('div', { style: styles.sourceRow },\n createElement(StateDot, { state: 'ongoing', size: 8 }),\n createElement('span', { style: styles.sourceBadge }, `AI \u8349\u7A3F \u00B7 ${draft.lines} \u884C \u00B7 \u5C1A\u672A\u5199\u5165`),\n ),\n createElement('div', { style: styles.mdPreview },\n createElement(MarkdownText, { text: draft.content, labels: MD_LABELS })),\n )\n : null,\n\n editing\n ? createElement('textarea', {\n style: { ...styles.textarea, minHeight: 300 },\n placeholder: 'AGENTS.md \u6B63\u6587\uFF08Markdown\uFF0C\u2264200 \u884C\uFF09',\n value: body,\n onChange: (ev: ChangeEvent<HTMLTextAreaElement>) => { setBody(ev.target.value) },\n })\n : null,\n\n generating\n ? createElement('p', { style: styles.status },\n `AI \u6B63\u5728\u626B\u63CF\u9879\u76EE\u5E76\u751F\u6210\u8349\u7A3F\u2026 \u5DF2\u8017\u65F6 ${elapsed} \u79D2\uFF08\u6700\u957F ${INIT_TIMEOUT_S} \u79D2\uFF09\uFF0C\u8BF7\u7A0D\u5019`)\n : null,\n msg !== '' ? createElement('p', { style: styles.status }, msg) : null,\n\n draft !== null\n ? createElement('div', { style: styles.row },\n createElement(Button, {\n variant: 'primary', size: 'md',\n disabled: draft.lines > 200,\n onClick: () => { if (exists && !window.confirm('\u786E\u5B9A\u8986\u76D6\u73B0\u6709 AGENTS.md\uFF1F')) return; void write(draft.content, exists) },\n }, exists ? '\u4FDD\u5B58\u5E76\u8986\u76D6' : '\u4FDD\u5B58'),\n draft.lines > 200 ? createElement('span', { style: styles.sourceBadge }, `\u8349\u7A3F ${draft.lines} \u884C\u8D85\u9650\uFF0C\u8BF7\u70B9\u300C\u653E\u5F03\u300D\u540E\u91CD\u8BD5`) : null,\n createElement(Button, { variant: 'ghost', size: 'md', onClick: () => { setDraft(null) } }, '\u653E\u5F03'),\n )\n : editing\n ? createElement('div', { style: styles.row },\n createElement(Button, {\n variant: 'primary', size: 'md',\n disabled: body.trim() === '',\n onClick: () => { if (exists && !window.confirm('\u786E\u5B9A\u8986\u76D6\u73B0\u6709 AGENTS.md\uFF1F')) return; void write(body, exists) },\n }, exists ? '\u4FDD\u5B58\u5E76\u8986\u76D6' : '\u4FDD\u5B58'),\n createElement(Button, { variant: 'ghost', size: 'md', onClick: () => { setEditing(false) } }, '\u53D6\u6D88'),\n )\n : createElement('div', { style: styles.row },\n createElement(Button, {\n variant: 'primary', size: 'md',\n disabled: generating,\n title: exists ? '\u7528 AI \u91CD\u65B0\u626B\u63CF\u9879\u76EE\u5E76\u8986\u76D6\u73B0\u6709 AGENTS.md' : '\u7528 AI \u626B\u63CF\u9879\u76EE\u5E76\u751F\u6210 AGENTS.md',\n onClick: () => { void generate() },\n }, exists ? '\u91CD\u65B0\u521D\u59CB\u5316\uFF08AI \u626B\u63CF\u8986\u76D6\uFF09' : '\u8BA9 AI \u521D\u59CB\u5316'),\n exists\n ? createElement(Button, { variant: 'outline', size: 'md', onClick: startEdit }, '\u624B\u52A8\u7F16\u8F91')\n : null,\n ),\n ),\n )\n}", "/** Skill catalog entry point. */\nimport { createElement } from 'react'\nimport { ResourceManager } from './ResourceManager.tsx'\nimport type { TaskEngineRemote } from './TaskEngineSection.tsx'\nexport function SkillManager(props: { workspace: string; remote: TaskEngineRemote }) {\n return createElement(ResourceManager, { ...props, key: props.workspace, kind: 'skill' })\n}\n", "/** Skill and rule catalogs with OS selection, preview, and explicit mutations. */\nimport { createElement as h, useEffect, useRef, useState, type ChangeEvent } from 'react'\nimport { Button, MarkdownText } from '@deepseek-ai/dsh-client-ui-primitives'\nimport { ResourceModal } from './ResourceModal.tsx'\nimport { describeError } from './shared.ts'\nimport type { TaskEngineRemote, ReadSkillResult } from './TaskEngineSection.tsx'\nimport type { ResourceImportRequest, ResourcePreview } from '../resource-types.ts'\n\nconst labels = { code: { copyLabel: '\u590D\u5236', copiedLabel: '\u5DF2\u590D\u5236' }, footnotes: '\u811A\u6CE8' }\ntype Row = { name: string; description?: string; source: string }\ntype Level = 'project' | 'user'\nconst levelOf = (row: Row): Level | 'bundled' => row.source === 'bundled' ? 'bundled' : row.source.startsWith('user') ? 'user' : 'project'\nconst sourceText = (source: string) => source === 'bundled' ? '\u5185\u7F6E' : source.startsWith('user') ? '\u4E2A\u4EBA' : '\u9879\u76EE'\nconst sizeText = (bytes: number) => bytes < 1024 ? `${bytes} B` : bytes < 1024 * 1024 ? `${(bytes / 1024).toFixed(1)} KB` : `${(bytes / 1024 / 1024).toFixed(1)} MB`\nconst fail = (r: { ok: boolean; error?: unknown }) => describeError(r.error ?? '\u64CD\u4F5C\u5931\u8D25')\n\nexport function ResourceManager({ workspace, remote, kind }: { workspace: string; remote: TaskEngineRemote; kind: 'skill' | 'rule' }) {\n const noun = kind === 'skill' ? '\u6280\u80FD' : '\u89C4\u5219'\n const [rows, setRows] = useState<Row[]>([])\n const [query, setQuery] = useState('')\n const [filter, setFilter] = useState('all')\n const [notice, setNotice] = useState('')\n const [error, setError] = useState('')\n const [loading, setLoading] = useState(true)\n const [revision, refresh] = useState(0)\n const [busy, setBusy] = useState(false)\n const [roots, setRoots] = useState<{ project: string; user: string } | null>(null)\n const [importing, setImporting] = useState(false)\n const [request, setRequest] = useState<ResourceImportRequest | null>(null)\n const [preview, setPreview] = useState<ResourcePreview | null>(null)\n const [level, setLevel] = useState<Level>('project')\n const [manual, setManual] = useState(false)\n const [sourceDir, setSourceDir] = useState('')\n const [dirs, setDirs] = useState<{ name: string; hasSkill: boolean }[]>([])\n const [browsePath, setBrowsePath] = useState('')\n const [editing, setEditing] = useState<Row | 'new' | null>(null)\n const [viewing, setViewing] = useState(false)\n const [name, setName] = useState('')\n const [description, setDescription] = useState('')\n const [whenToUse, setWhenToUse] = useState('')\n const [body, setBody] = useState('')\n const [deleting, setDeleting] = useState<Row | null>(null)\n const input = useRef<HTMLInputElement>(null)\n const fileEpoch = useRef(0)\n const browseEpoch = useRef(0)\n const readonly = editing !== null && editing !== 'new' && levelOf(editing) === 'bundled'\n\n useEffect(() => {\n let active = true\n setLoading(true); setRows([]); setError('')\n const run = async () => {\n try {\n const r = kind === 'skill' ? await remote.listSkills(workspace) : await remote.listRules(workspace)\n if (!active) return\n if (!r.ok) throw new Error(fail(r))\n setRows('skills' in r.value ? r.value.skills : r.value.rules)\n } catch (e) { if (active) setError('\u52A0\u8F7D\u5931\u8D25\uFF1A' + describeError(e)) }\n finally { if (active) setLoading(false) }\n }\n void run()\n void remote.resourceRoots({ kind, path: workspace }).then(r => { if (active && r.ok) setRoots(r.value) }, () => { /* Catalog remains usable; importing reports the concrete target on preview. */ })\n return () => { active = false; fileEpoch.current++ }\n }, [workspace, remote, kind, revision])\n\n useEffect(() => {\n let active = true\n setPreview(null)\n if (!request) return\n setBusy(true); setError('')\n void remote.previewResource({ ...request, level, path: workspace }).then(r => {\n if (!active) return\n if (!r.ok) setError(fail(r))\n else if (!r.value.ok) setError(r.value.error ?? '\u9884\u89C8\u5931\u8D25')\n else setPreview(r.value)\n }, e => { if (active) setError(describeError(e)) }).finally(() => { if (active) setBusy(false) })\n return () => { active = false }\n }, [request, level, workspace, remote])\n\n const close = () => { if (busy) return; fileEpoch.current++; setImporting(false); setEditing(null); setDeleting(null); setRequest(null); setError('') }\n const choose = () => { setError(''); if (input.current) { input.current.value = ''; input.current.click() } }\n const selected = async (files: File[]) => {\n if (!files.length) return\n const epoch = ++fileEpoch.current\n setImporting(true); setManual(false); setRequest(null); setPreview(null); setBusy(true); setError(''); setNotice('')\n try {\n files = files.filter(f => !(f.webkitRelativePath || f.name).split('/').some(p => ['node_modules', '.git', '__pycache__', '.venv', 'venv', '.cache', '.DS_Store'].includes(p)))\n if (!files.length || files.length > 1000 || files.reduce((n, f) => n + f.size, 0) > 100 * 1024 * 1024 || files.some(f => f.size > 20 * 1024 * 1024)) throw new Error('\u8BF7\u9009\u62E9\u4E0D\u8D85\u8FC7 1000 \u4E2A\u6587\u4EF6 / 100 MB \u7684\u6280\u80FD\u5305\uFF0C\u5355\u6587\u4EF6\u4E0D\u8D85\u8FC7 20 MB')\n const entries = []\n for (const file of files) {\n const data = new Uint8Array(await file.arrayBuffer())\n let binary = ''\n for (let i = 0; i < data.length; i += 32768) binary += String.fromCharCode(...data.subarray(i, i + 32768))\n entries.push({ path: file.webkitRelativePath || file.name, base64: btoa(binary) })\n }\n if (epoch === fileEpoch.current) setRequest({ kind, level, path: workspace, files: entries })\n } catch (e) { if (epoch === fileEpoch.current) setError(describeError(e)) }\n finally { if (epoch === fileEpoch.current) setBusy(false) }\n }\n const install = async () => {\n if (!request || !preview || preview.conflict || busy) return\n setBusy(true); setError('')\n try {\n const r = await remote.importResource({ ...request, level, path: workspace, expectedHash: preview.hash })\n if (!r.ok) throw new Error(fail(r))\n if (!r.value.ok) throw new Error(r.value.error ?? '\u5B89\u88C5\u5931\u8D25')\n setNotice(`\u5DF2\u5B89\u88C5${noun}\u300C${r.value.name}\u300D \u00B7 ${r.value.target}`)\n setImporting(false); setRequest(null); refresh(n => n + 1)\n } catch (e) { setError(describeError(e)) }\n finally { setBusy(false) }\n }\n const browse = async (path: string) => {\n const epoch = ++browseEpoch.current\n setError('')\n try {\n const r = await remote.listDirs({ path })\n if (epoch !== browseEpoch.current) return\n if (!r.ok) throw new Error(fail(r))\n if (!r.value.ok) throw new Error(r.value.error ?? '\u76EE\u5F55\u8BFB\u53D6\u5931\u8D25')\n setBrowsePath(r.value.path); setSourceDir(r.value.path); setDirs(r.value.entries)\n } catch (e) { if (epoch === browseEpoch.current) setError(describeError(e)) }\n }\n const edit = async (row: Row | 'new', view = false) => {\n setEditing(row); setViewing(view); setName(row === 'new' ? '' : row.name); setDescription(''); setWhenToUse(''); setBody(''); setError('')\n if (row === 'new') { setLevel('project'); return }\n const lvl = levelOf(row); setLevel(lvl === 'user' ? 'user' : 'project'); setBusy(true)\n try {\n const r = kind === 'skill' ? await remote.readSkill({ name: row.name, level: lvl, path: workspace }) : await remote.readRule({ name: row.name, level: lvl, path: workspace })\n if (!r.ok) throw new Error(fail(r))\n if (!r.value.ok) throw new Error(r.value.error ?? '\u8BFB\u53D6\u5931\u8D25')\n setBody(r.value.content)\n if (kind === 'skill') { const skill = r.value as ReadSkillResult; setDescription(skill.description); setWhenToUse(skill.whenToUse) }\n } catch (e) { setError(describeError(e)) }\n finally { setBusy(false) }\n }\n const save = async () => {\n if (busy) return\n setBusy(true); setError('')\n try {\n if (editing === 'new' && rows.some(r => r.name === name && (levelOf(r) === level || levelOf(r) === 'bundled'))) throw new Error('\u540C\u540D\u8D44\u6E90\u5DF2\u5B58\u5728\uFF0C\u8BF7\u6362\u540D\u6216\u7F16\u8F91\u73B0\u6709\u8D44\u6E90')\n const r = kind === 'skill' ? await remote.writeSkill({ name, description, whenToUse, content: body, level, path: workspace }) : await remote.writeRule({ name, content: body, level, path: workspace })\n if (!r.ok) throw new Error(fail(r))\n if (!r.value.ok) throw new Error(r.value.error ?? '\u4FDD\u5B58\u5931\u8D25')\n setNotice(`\u5DF2\u4FDD\u5B58${noun} \u00B7 ${r.value.path}`); setEditing(null); refresh(n => n + 1)\n } catch (e) { setError(describeError(e)) }\n finally { setBusy(false) }\n }\n const remove = async () => {\n if (!deleting || busy) return\n const lvl = levelOf(deleting)\n if (lvl === 'bundled') return\n setBusy(true); setError('')\n try {\n const r = kind === 'skill' ? await remote.deleteSkill({ name: deleting.name, level: lvl, path: workspace }) : await remote.deleteRule({ name: deleting.name, level: lvl, path: workspace })\n if (!r.ok) throw new Error(fail(r))\n if (!r.value.ok) throw new Error(r.value.error ?? '\u5220\u9664\u5931\u8D25')\n setNotice(`\u5DF2\u5220\u9664${noun}\u300C${deleting.name}\u300D`); setDeleting(null); refresh(n => n + 1)\n } catch (e) { setError(describeError(e)) }\n finally { setBusy(false) }\n }\n const status = () => error ? h('div', { className: 'te-alert', role: 'alert' }, error) : null\n const targets = () => h('div', { className: 'te-targets' },\n ...(['project', 'user'] as const).map(lvl => h('button', { type: 'button', key: lvl, className: `te-target ${level === lvl ? 'selected' : ''}`, 'aria-pressed': level === lvl, disabled: busy || (editing !== null && editing !== 'new'), onClick: () => { setPreview(null); setLevel(lvl) } },\n h('strong', null, lvl === 'project' ? '\u9879\u76EE\u5171\u4EAB' : '\u4E2A\u4EBA\u5168\u5C40'), h('small', null, lvl === 'project' ? '\u4EC5\u5F53\u524D\u5DE5\u4F5C\u533A\u4F7F\u7528' : '\u6B64\u4E3B\u673A\u4E0A\u7684\u6240\u6709\u9879\u76EE\u53EF\u7528'))),\n h('code', { className: 'te-path' }, roots?.[level] ?? (level === 'project' ? `${workspace}/.dsh/${kind}s` : `DSH_HOME/${kind}s`)))\n const visible = rows.filter(r => `${r.name} ${r.description ?? ''}`.toLowerCase().includes(query.toLowerCase()) && (filter === 'all' || levelOf(r) === filter))\n return h('section', { className: 'te-resource' },\n h('input', { type: 'file', ref: input, hidden: true, 'aria-label': kind === 'skill' ? '\u9009\u62E9\u6280\u80FD\u6587\u4EF6\u5939' : '\u9009\u62E9\u89C4\u5219\u6587\u4EF6', ...(kind === 'skill' ? { webkitdirectory: '', multiple: true } : { accept: '.md,text/markdown' }), onChange: (e: ChangeEvent<HTMLInputElement>) => { void selected(Array.from(e.target.files ?? [])) } }),\n h('div', { className: 'te-section-heading' }, h('div', null, h('h2', null, `${noun}\u5E93`), h('p', null, kind === 'skill' ? '\u628A\u53EF\u590D\u7528\u7684\u5DE5\u4F5C\u65B9\u6CD5\u5E26\u5165\u9879\u76EE\u3002' : '\u4E3A\u9879\u76EE\u660E\u786E\u7EA6\u5B9A\uFF0C\u8BA9\u6BCF\u6B21\u4EA4\u4ED8\u4FDD\u6301\u4E00\u81F4\u3002')), h('div', { className: 'te-actions' }, h(Button, { variant: 'outline', onClick: () => { void edit('new') } }, `\u65B0\u5EFA${noun}`), h(Button, { variant: 'primary', onClick: choose }, `\u5B89\u88C5${noun}`))),\n h('div', { className: 'te-toolbar' }, h('input', { className: 'te-input', placeholder: `\u641C\u7D22${noun}\u540D\u79F0${kind === 'skill' ? '\u6216\u63CF\u8FF0' : ''}`, value: query, onChange: (e: ChangeEvent<HTMLInputElement>) => setQuery(e.target.value) }), h('select', { className: 'te-input', 'aria-label': '\u7B5B\u9009\u6765\u6E90', value: filter, onChange: (e: ChangeEvent<HTMLSelectElement>) => setFilter(e.target.value) }, h('option', { value: 'all' }, `\u5168\u90E8\u6765\u6E90 \u00B7 ${rows.length}`), h('option', { value: 'bundled' }, '\u5185\u7F6E'), h('option', { value: 'project' }, '\u9879\u76EE'), h('option', { value: 'user' }, '\u4E2A\u4EBA')), h(Button, { variant: 'ghost', onClick: () => refresh(n => n + 1), disabled: loading }, '\u5237\u65B0')),\n notice ? h('div', { className: 'te-success', role: 'status' }, notice) : null,\n !importing && !editing && !deleting ? status() : null,\n loading ? h('div', { className: 'te-empty', role: 'status' }, '\u6B63\u5728\u52A0\u8F7D\u2026') : visible.length === 0 ? h('div', { className: 'te-empty' }, h('h3', null, query || filter !== 'all' ? '\u6CA1\u6709\u5339\u914D\u7684\u7ED3\u679C' : `\u8FD8\u6CA1\u6709${noun}`), h('p', null, '\u8C03\u6574\u7B5B\u9009\uFF0C\u6216\u4F7F\u7528\u53F3\u4E0A\u89D2\u6309\u94AE\u6DFB\u52A0\u3002')) : h('div', { className: 'te-resource-grid' }, ...visible.map(row => h('article', { className: 'te-resource-card', key: row.source + '/' + row.name },\n h('div', { className: 'te-card-top' }, h('span', { className: 'te-resource-icon', 'aria-hidden': true }, kind === 'skill' ? '\u25C7' : '\u2261'), h('span', { className: 'te-badge' }, sourceText(row.source))),\n h('h3', null, row.name), h('p', null, row.description || '\u9879\u76EE\u7EA6\u5B9A\u4E0E\u6267\u884C\u89C4\u5219'),\n h('div', { className: 'te-actions' }, h(Button, { variant: 'outline', size: 'sm', onClick: () => { void edit(row, true) } }, '\u67E5\u770B'), levelOf(row) !== 'bundled' ? h(Button, { variant: 'ghost', size: 'sm', onClick: () => { void edit(row) } }, '\u7F16\u8F91') : null, levelOf(row) !== 'bundled' ? h('button', { className: 'te-delete', onClick: () => { setDeleting(row); setError('') } }, '\u5220\u9664') : null)))),\n kind === 'skill' ? h('button', { className: 'te-link', onClick: () => { setImporting(true); setManual(true); setError('') } }, '\u9AD8\u7EA7\uFF1A\u4ECE Harness \u4E3B\u673A\u8DEF\u5F84\u5B89\u88C5') : null,\n importing ? h(ResourceModal, { title: `\u5B89\u88C5${noun}`, description: '\u5148\u68C0\u67E5\u5185\u5BB9\u548C\u5B89\u88C5\u4F4D\u7F6E\uFF0C\u786E\u8BA4\u540E\u624D\u4F1A\u5199\u5165\u3002', onClose: close, footer: h('div', { className: 'te-actions' }, h(Button, { variant: 'ghost', disabled: busy, onClick: close }, '\u53D6\u6D88'), h(Button, { variant: 'primary', disabled: busy || !preview || preview.conflict, onClick: () => { void install() } }, busy ? '\u5904\u7406\u4E2D\u2026' : '\u786E\u8BA4\u5B89\u88C5')) },\n targets(), h('div', { className: 'te-actions' }, h(Button, { variant: 'outline', disabled: busy, onClick: choose }, '\u91CD\u65B0\u9009\u62E9'), kind === 'skill' ? h(Button, { variant: 'ghost', disabled: busy, onClick: () => setManual(!manual) }, manual ? '\u6536\u8D77\u9AD8\u7EA7\u65B9\u5F0F' : '\u4E3B\u673A\u8DEF\u5F84') : null),\n manual ? h('div', { className: 'te-advanced' }, h('p', null, '\u6B64\u8DEF\u5F84\u4F4D\u4E8E Harness \u4E3B\u673A\uFF1B\u6D4F\u89C8\u5668\u9009\u62E9\u5668\u8BFB\u53D6\u7684\u662F\u4F60\u5F53\u524D\u7535\u8111\u3002'), h('div', { className: 'te-toolbar' }, h('input', { className: 'te-input', 'aria-label': '\u4E3B\u673A\u6280\u80FD\u76EE\u5F55', value: sourceDir, onChange: (e: ChangeEvent<HTMLInputElement>) => { setSourceDir(e.target.value); setRequest(null) } }), h(Button, { variant: 'outline', onClick: () => { void browse(sourceDir) } }, '\u6D4F\u89C8'), h(Button, { variant: 'outline', disabled: busy || !sourceDir.trim(), onClick: () => setRequest({ kind, level, path: workspace, files: [], sourceDir }) }, '\u9884\u89C8\u76EE\u5F55')), h('div', { className: 'te-dir-list' }, browsePath ? h('button', { onClick: () => { void browse(browsePath.replace(/[\\\\/][^\\\\/]+[\\\\/]?$/u, '') || '/') } }, '\u2191 \u4E0A\u7EA7\u76EE\u5F55') : null, ...dirs.map(d => h('button', { key: d.name, onClick: () => { setRequest(null); void browse(browsePath.replace(/[\\\\/]+$/u, '') + '/' + d.name) } }, d.name + (d.hasSkill ? ' \u00B7 SKILL.md' : ''))))) : null,\n busy ? h('p', { role: 'status' }, '\u6B63\u5728\u6821\u9A8C\u6587\u4EF6\uFF0C\u8BF7\u7A0D\u5019\u2026') : null, status(),\n preview ? h('div', { className: 'te-preview' }, h('h3', null, preview.name), h('p', null, preview.description), h('div', { className: 'te-actions' }, h('span', { className: 'te-badge' }, `${preview.files} \u4E2A\u6587\u4EF6`), h('span', { className: 'te-badge' }, sizeText(preview.bytes))), h('code', { className: 'te-path' }, preview.target), preview.conflict ? h('div', { className: 'te-alert', role: 'alert' }, '\u5DF2\u6709\u540C\u540D\u8D44\u6E90\u3002\u8BF7\u53D6\u6D88\u5E76\u68C0\u67E5\u73B0\u6709\u5185\u5BB9\uFF0C\u5B89\u88C5\u4E0D\u4F1A\u8986\u76D6\u5B83\u3002') : null, h('div', { className: 'te-markdown' }, h(MarkdownText, { text: preview.content, labels }))) : null) : null,\n editing ? h(ResourceModal, { title: editing === 'new' ? `\u65B0\u5EFA${noun}` : `${viewing ? '\u67E5\u770B' : '\u7F16\u8F91'}${noun} \u00B7 ${name}`, onClose: close, footer: h('div', { className: 'te-actions' }, h(Button, { variant: 'ghost', disabled: busy, onClick: close }, '\u5173\u95ED'), !readonly ? h(Button, { variant: 'outline', disabled: busy, onClick: () => setViewing(!viewing) }, viewing ? '\u7F16\u8F91\u5185\u5BB9' : '\u9884\u89C8') : null, !readonly ? h(Button, { variant: 'primary', disabled: busy || !name.trim() || !body.trim() || (kind === 'skill' && !description.trim()), onClick: () => { void save() } }, busy ? '\u5904\u7406\u4E2D\u2026' : '\u4FDD\u5B58') : null) },\n !readonly ? targets() : h('p', { className: 'te-badge' }, '\u5185\u7F6E\u8D44\u6E90 \u00B7 \u53EA\u8BFB'), status(),\n viewing ? h('div', { className: 'te-markdown' }, h(MarkdownText, { text: body, labels })) : h('div', { className: 'te-form' }, h('label', null, '\u540D\u79F0', h('input', { className: 'te-input', value: name, disabled: editing !== 'new' || busy, onChange: (e: ChangeEvent<HTMLInputElement>) => setName(e.target.value), placeholder: '\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u548C\u8FDE\u5B57\u7B26' })), kind === 'skill' ? h('label', null, '\u63CF\u8FF0', h('input', { className: 'te-input', value: description, disabled: busy, onChange: (e: ChangeEvent<HTMLInputElement>) => setDescription(e.target.value) })) : null, kind === 'skill' ? h('label', null, '\u4F7F\u7528\u65F6\u673A\uFF08\u53EF\u9009\uFF09', h('input', { className: 'te-input', value: whenToUse, disabled: busy, onChange: (e: ChangeEvent<HTMLInputElement>) => setWhenToUse(e.target.value) })) : null, h('label', null, 'Markdown \u6B63\u6587', h('textarea', { className: 'te-input te-editor', value: body, disabled: busy, onChange: (e: ChangeEvent<HTMLTextAreaElement>) => setBody(e.target.value) })))) : null,\n deleting ? h(ResourceModal, { title: `\u5220\u9664${noun}\u300C${deleting.name}\u300D\uFF1F`, description: levelOf(deleting) === 'user' ? '\u8FD9\u662F\u4E2A\u4EBA\u5168\u5C40\u8D44\u6E90\uFF0C\u5220\u9664\u4F1A\u5F71\u54CD\u6B64\u4E3B\u673A\u4E0A\u7684\u6240\u6709\u9879\u76EE\u3002' : '\u5220\u9664\u5C06\u5F71\u54CD\u5F53\u524D\u9879\u76EE\u3002', onClose: close, footer: h('div', { className: 'te-actions' }, h(Button, { variant: 'outline', disabled: busy, onClick: close }, '\u4FDD\u7559'), h('button', { className: 'te-danger-button', disabled: busy, onClick: () => { void remove() } }, busy ? '\u5220\u9664\u4E2D\u2026' : '\u786E\u8BA4\u6C38\u4E45\u5220\u9664')) }, h('code', { className: 'te-path' }, `${roots?.[levelOf(deleting) === 'user' ? 'user' : 'project'] ?? '\u8D44\u6E90\u76EE\u5F55'}/${deleting.name}${kind === 'rule' ? '.md' : ''}`), h('p', null, '\u6B64\u64CD\u4F5C\u4E0D\u4F1A\u8FDB\u5165\u56DE\u6536\u7AD9\uFF0C\u8BF7\u786E\u8BA4\u5DF2\u6709\u5907\u4EFD\u3002'), status()) : null)\n}\n", "/**\n * A fixed, centered modal for the skill/rule viewer and editor. It gives the\n * markdown view and the edit form a wide, scrollable surface instead of the\n * inline card, using theme tokens so it follows light/dark and brand overrides.\n *\n * @module dsh-task-engine/ResourceModal\n */\n\nimport { createElement, useEffect, useRef } from 'react'\nimport type { CSSProperties, ReactNode } from 'react'\nimport { createPortal } from 'react-dom'\nimport { IconCloseOutline16 } from '@deepseek-ai/dsh-client-ui-primitives'\n\nconst rootStyle: CSSProperties = {\n position: 'fixed', inset: 0, zIndex: 1000,\n display: 'flex', alignItems: 'center', justifyContent: 'center',\n padding: 24,\n}\n\nconst maskStyle: CSSProperties = {\n position: 'absolute', inset: 0,\n background: 'var(--dsw-alias-bg-mask-1)',\n backdropFilter: 'var(--dsw-mask-blur)',\n}\n\nconst dialogStyle: CSSProperties = {\n position: 'relative', zIndex: 1,\n display: 'flex', flexDirection: 'column',\n width: 'min(760px, 100%)', maxHeight: '85vh',\n borderRadius: 24, background: 'var(--dsw-alias-bg-layer-2)',\n boxShadow: 'var(--dsw-elevation-prominent)', overflow: 'hidden',\n}\n\nconst headerStyle: CSSProperties = {\n display: 'flex', alignItems: 'center', justifyContent: 'space-between', gap: 8,\n padding: '18px 18px 10px 24px', flex: 'none',\n}\n\nconst titleStyle: CSSProperties = {\n margin: 0, fontSize: 16, lineHeight: '24px', fontWeight: 500,\n color: 'var(--dsw-alias-label-primary)',\n}\n\nconst closeBtnStyle: CSSProperties = {\n flex: 'none', display: 'inline-flex', alignItems: 'center', justifyContent: 'center',\n width: 28, height: 28, border: 'none', borderRadius: 8, background: 'transparent',\n cursor: 'pointer', color: 'var(--dsw-alias-label-secondary)', padding: 0,\n}\n\nconst descStyle: CSSProperties = {\n margin: 0, padding: '0 24px', fontSize: 13, lineHeight: '20px',\n color: 'var(--dsw-alias-label-secondary)', flex: 'none',\n}\n\nconst bodyStyle: CSSProperties = {\n flex: '1 1 auto', minHeight: 0, overflowY: 'auto',\n padding: '16px 24px 4px', display: 'flex', flexDirection: 'column',\n}\n\nconst footerStyle: CSSProperties = {\n display: 'flex', alignItems: 'center', justifyContent: 'flex-end', gap: 8,\n padding: '12px 24px 20px', flex: 'none',\n}\n\n/**\n * Render a wide centered modal. Escape and mask click close it; the title is\n * the accessible dialog label.\n * @param title - dialog heading.\n * @param children - scrollable body.\n * @param footer - optional action row (Cancel / Save).\n * @param onClose - close from Escape, the mask, or the close button.\n * @param description - optional supporting sentence under the title.\n */\nexport function ResourceModal({ title, description, onClose, footer, children }: {\n title: string\n description?: string\n onClose: () => void\n footer?: ReactNode\n children?: ReactNode\n}): ReactNode {\n const dialog = useRef<HTMLDivElement>(null)\n const closer = useRef(onClose)\n closer.current = onClose\n useEffect(() => {\n const previous = document.activeElement as HTMLElement | null\n dialog.current?.focus()\n const onKey = (e: KeyboardEvent) => {\n if (!dialog.current?.contains(document.activeElement)) return\n if (e.key === 'Escape') { e.preventDefault(); e.stopPropagation(); closer.current(); return }\n if (e.key !== 'Tab') return\n const nodes = Array.from(dialog.current.querySelectorAll<HTMLElement>('button:not(:disabled),input:not(:disabled):not([hidden]),select:not(:disabled),textarea:not(:disabled),[tabindex=\"0\"]')).filter(el => el.getClientRects().length)\n const first = nodes[0], last = nodes[nodes.length - 1]\n if (!first || !last) { e.preventDefault(); return }\n if (e.shiftKey && (document.activeElement === first || document.activeElement === dialog.current)) { e.preventDefault(); last.focus() }\n else if (!e.shiftKey && (document.activeElement === last || document.activeElement === dialog.current)) { e.preventDefault(); first.focus() }\n }\n document.addEventListener('keydown', onKey)\n return () => { document.removeEventListener('keydown', onKey); if (previous?.isConnected) previous.focus() }\n }, [])\n\n return createPortal(\n createElement('div', { style: rootStyle, className: 'te-modal', role: 'presentation' },\n createElement('div', { style: maskStyle, 'aria-hidden': true, onClick: onClose }),\n createElement('div', { style: dialogStyle, ref: dialog, tabIndex: -1, role: 'dialog', 'aria-modal': true, 'aria-label': title },\n createElement('div', { style: headerStyle },\n createElement('h2', { style: titleStyle }, title),\n createElement('button', { type: 'button', style: closeBtnStyle, 'aria-label': '\u5173\u95ED', onClick: onClose },\n createElement(IconCloseOutline16, { size: 14 }),\n ),\n ),\n description !== undefined && description !== ''\n ? createElement('p', { style: descStyle }, description)\n : null,\n createElement('div', { style: bodyStyle }, children),\n footer !== undefined ? createElement('div', { style: footerStyle }, footer) : null,\n ),\n ),\n document.body,\n )\n}\n", "/** Rule catalog entry point. */\nimport { createElement } from 'react'\nimport { ResourceManager } from './ResourceManager.tsx'\nimport type { TaskEngineRemote } from './TaskEngineSection.tsx'\nexport function RuleManager(props: { workspace: string; remote: TaskEngineRemote }) {\n return createElement(ResourceManager, { ...props, key: props.workspace, kind: 'rule' })\n}\n", "/**\r\n * The \"\u4EFB\u52A1\u53F0\u8D26 (tasks)\" tab of the workbench: a read-only audit view of\r\n * every task record under the workspace's `.dsh/`. Each task shows its stage,\r\n * and each implementation item shows its subagent dispatch trail plus the\r\n * two-stage (specification / quality) review verdicts. This is the visible\r\n * mirror of the dispatch/review audit the `dev_task` tool records \u2014 no editing.\r\n *\r\n * @module dsh-task-engine/TaskLedger\r\n */\r\n\r\nimport { createElement, useCallback, useEffect, useState, type CSSProperties } from 'react'\r\nimport { Button, StateDot } from '@deepseek-ai/dsh-client-ui-primitives'\r\nimport { styles } from './styles.ts'\r\nimport { describeError } from './shared.ts'\r\nimport type { TaskEngineRemote, TaskLedgerEntry, TaskLedgerItem } from './TaskEngineSection.ts'\r\n\r\nconst card: CSSProperties = {\r\n display: 'flex', flexDirection: 'column', gap: 10,\r\n border: '1px solid var(--dsw-alias-border-l2)', borderRadius: 8, padding: '12px 14px',\r\n}\r\n\r\nconst headerRow: CSSProperties = {\r\n display: 'flex', alignItems: 'center', gap: 8, flexWrap: 'wrap',\r\n}\r\n\r\nconst itemRow: CSSProperties = {\r\n display: 'flex', flexDirection: 'column', gap: 4,\r\n padding: '8px 0', borderTop: '1px solid var(--dsw-alias-border-l2)',\r\n}\r\n\r\nconst metaLine: CSSProperties = {\r\n display: 'flex', alignItems: 'center', gap: 6, flexWrap: 'wrap',\r\n fontSize: 12, color: 'var(--dsw-alias-label-secondary)',\r\n}\r\n\r\nconst badge: CSSProperties = {\r\n fontSize: 11, padding: '1px 7px', borderRadius: 10,\r\n border: '1px solid var(--dsw-alias-border-l2)',\r\n color: 'var(--dsw-alias-label-secondary)',\r\n}\r\n\r\n/** Tone a review verdict: pass renders green, fail red, todo grey. */\r\nfunction verdictDot(outcome: 'pass' | 'fail'): ReturnType<typeof createElement> {\r\n return createElement(StateDot, { state: outcome === 'pass' ? 'done' : 'error' })\r\n}\r\n\r\nfunction itemStatusDot(status: string): ReturnType<typeof createElement> {\r\n return createElement(StateDot, { state: status === 'done' ? 'done' : 'ongoing' })\r\n}\r\n\r\nfunction timeText(at: string): string {\r\n return at.slice(0, 19).replace('T', ' ')\r\n}\r\n\r\n/** Render one item's audit trail: dispatch + two-stage review (when present). */\r\nfunction itemAudit(item: TaskLedgerItem): ReturnType<typeof createElement> {\r\n const lines: Array<ReturnType<typeof createElement>> = []\r\n if (item.dispatch !== undefined) {\r\n lines.push(createElement('div', { key: 'dispatch', style: metaLine },\r\n createElement('span', { style: badge }, '\u5DF2\u6D3E\u53D1'),\r\n createElement('span', null, item.dispatch.description === '' ? '\uFF08\u65E0\u63CF\u8FF0\uFF09' : item.dispatch.description),\r\n createElement('span', { style: badge }, timeText(item.dispatch.at)),\r\n ))\r\n }\r\n if (item.review !== undefined) {\r\n const spec = item.review.spec\r\n const quality = item.review.quality\r\n lines.push(createElement('div', { key: 'review', style: metaLine },\r\n verdictDot(spec.outcome),\r\n createElement('span', null, `\u89C4\u683C\u7B26\u5408 ${spec.outcome === 'pass' ? '\u901A\u8FC7' : '\u4E0D\u901A\u8FC7'}`),\r\n createElement('span', null, '\u00B7'),\r\n verdictDot(quality.outcome),\r\n createElement('span', null, `\u4EE3\u7801\u8D28\u91CF ${quality.outcome === 'pass' ? '\u901A\u8FC7' : '\u4E0D\u901A\u8FC7'}`),\r\n ))\r\n const failNotes = [spec, quality].flatMap(stage => stage.outcome === 'fail' ? (stage.notes ?? []) : [])\r\n if (failNotes.length > 0) {\r\n lines.push(createElement('div', { key: 'notes', style: metaLine },\r\n ...failNotes.map(note => createElement('span', { key: note, style: badge }, note)),\r\n ))\r\n }\r\n }\r\n if (lines.length === 0) {\r\n lines.push(createElement('div', { key: 'none', style: metaLine }, createElement('span', { style: badge }, '\u672A\u6D3E\u53D1 / \u672A\u5BA1\u67E5')))\r\n }\r\n return createElement('div', { style: { display: 'flex', flexDirection: 'column', gap: 4 } }, ...lines)\r\n}\r\n\r\nexport function TaskLedger({ workspace, remote }: {\r\n workspace: string\r\n remote: TaskEngineRemote\r\n}): ReturnType<typeof createElement> {\r\n const [tasks, setTasks] = useState<TaskLedgerEntry[]>([])\r\n const [error, setError] = useState('')\r\n const [loading, setLoading] = useState(true)\r\n const [query, setQuery] = useState('')\r\n const [risk, setRisk] = useState('all')\r\n const [stage, setStage] = useState('all')\r\n\r\n const refresh = useCallback(() => {\r\n if (workspace === '') return\r\n setError('')\r\n setLoading(true)\r\n void remote.readTasks(workspace).then((result) => {\r\n setLoading(false)\r\n if (result.ok) setTasks(result.value.tasks)\r\n else setError('\u8BFB\u53D6\u53F0\u8D26\u5931\u8D25\uFF1A' + describeError(result.error))\r\n }, (reason: unknown) => {\r\n setLoading(false)\r\n setError('\u8BFB\u53D6\u53F0\u8D26\u5931\u8D25\uFF1A' + describeError(reason))\r\n })\r\n }, [remote, workspace])\r\n\r\n useEffect(() => { refresh() }, [refresh])\r\n\r\n const visible = tasks.filter(task => `${task.task_id} ${task.title} ${task.branch}`.toLowerCase().includes(query.toLowerCase()) && (risk === 'all' || task.risk_level === risk) && (stage === 'all' || task.stage === stage))\r\n return createElement('div', { style: styles.section },\r\n createElement('div', { className: 'te-toolbar' },\r\n createElement('input', { className: 'te-input', placeholder: '\u641C\u7D22\u4EFB\u52A1\u3001\u6807\u9898\u6216\u5206\u652F', value: query, onChange: (e: { target: HTMLInputElement }) => setQuery(e.target.value) }),\r\n createElement('select', { className: 'te-input', 'aria-label': '\u98CE\u9669\u7B5B\u9009', value: risk, onChange: (e: { target: HTMLSelectElement }) => setRisk(e.target.value) }, createElement('option', { value: 'all' }, '\u5168\u90E8\u98CE\u9669'), createElement('option', { value: 'standard' }, '\u6807\u51C6'), createElement('option', { value: 'high_risk' }, '\u9AD8\u98CE\u9669')),\r\n createElement('select', { className: 'te-input', 'aria-label': '\u9636\u6BB5\u7B5B\u9009', value: stage, onChange: (e: { target: HTMLSelectElement }) => setStage(e.target.value) }, createElement('option', { value: 'all' }, '\u5168\u90E8\u9636\u6BB5'), ...Array.from(new Set(tasks.map(t => t.stage))).map(value => createElement('option', { key: value, value }, value))),\r\n ),\r\n createElement('div', { style: headerRow },\r\n createElement('span', { style: styles.bindingLabel }, '\u4EFB\u52A1\u53F0\u8D26'),\r\n createElement('span', { style: styles.sourceBadge }, '\u53EA\u8BFB \u00B7 \u6765\u81EA .dsh/task-*.json'),\r\n createElement(Button, { variant: 'outline', size: 'sm', disabled: loading, onClick: refresh }, loading ? '\u8BFB\u53D6\u4E2D\u2026' : '\u5237\u65B0'),\r\n ),\r\n loading ? createElement('p', { role: 'status' }, '\u6B63\u5728\u8BFB\u53D6\u4EFB\u52A1\u2026') : error !== ''\r\n ? createElement('p', { style: styles.status }, error)\r\n : tasks.length === 0\r\n ? createElement('p', { style: styles.muted }, '\u5F53\u524D\u5DE5\u4F5C\u533A\u8FD8\u6CA1\u6709\u4EFB\u52A1\uFF1A\u5F00\u5DE5\u540E\uFF08dev_task create\uFF09\u4F1A\u5728\u8FD9\u91CC\u5217\u51FA\u6D3E\u53D1\u4E0E\u5BA1\u67E5\u7559\u75D5\u3002')\r\n : visible.length === 0 ? createElement('div', { className: 'te-empty' }, '\u6CA1\u6709\u5339\u914D\u7684\u4EFB\u52A1\uFF0C\u8BF7\u8C03\u6574\u7B5B\u9009\u3002') : createElement('div', { style: { display: 'flex', flexDirection: 'column', gap: 12 } },\r\n ...visible.map(task => createElement('div', { key: task.task_id, style: card },\r\n createElement('div', { style: headerRow },\r\n createElement('span', { style: { fontSize: 14, fontWeight: 600, color: 'var(--dsw-alias-label-primary)' } }, task.task_id),\r\n createElement('span', { style: { fontSize: 13, color: 'var(--dsw-alias-label-primary)' } }, task.title),\r\n createElement('span', { style: badge }, task.stage),\r\n createElement('span', { style: badge }, task.branch),\r\n createElement('span', { className: 'te-badge', style: task.risk_level === 'high_risk' ? { color: 'var(--dsw-alias-state-error-primary)' } : {} }, task.risk_level === 'high_risk' ? '\u9AD8\u98CE\u9669' : '\u6807\u51C6'),\r\n createElement('span', { className: 'te-badge' }, task.verification_passed ? '\u9A8C\u8BC1\u901A\u8FC7' : '\u5F85\u9A8C\u8BC1'),\r\n createElement('span', { className: 'te-badge' }, `\u5BA1\u6838\uFF1A${task.review_outcome ?? 'pending'}`),\r\n task.updated_at ? createElement('span', { style: metaLine }, '\u66F4\u65B0\u4E8E ' + timeText(task.updated_at)) : null,\r\n ),\r\n createElement('div', { style: { display: 'flex', flexDirection: 'column' } },\r\n ...task.items.map(item => createElement('div', { key: item.id, style: itemRow },\r\n createElement('div', { style: headerRow },\r\n itemStatusDot(item.status),\r\n createElement('span', { style: { fontSize: 13, color: 'var(--dsw-alias-label-primary)' } }, item.id),\r\n createElement('span', { style: { fontSize: 12, color: 'var(--dsw-alias-label-secondary)' } }, item.title),\r\n ),\r\n itemAudit(item),\r\n )),\r\n ),\r\n )),\r\n ),\r\n )\r\n}", "/**\n * Sidebar foot trigger for the full-screen task-engine workbench. Rendered in\n * the `sidebar.footer.action` list slot, above Settings: a compact rail icon\n * when the sidebar is collapsed, an icon + label when it is wide. Clicking\n * opens the shared visibility store, which the `shell.overlay` workbench reads.\n *\n * Geometry mirrors the native Settings trigger, measured live on the shell:\n * rail = 36px circle with an 18px icon; expanded = 42px tall, 12px radius,\n * padding `0 10px 0 8px` (icon column at x=18), 14px/22px label. Matching the\n * native row keeps both foot seats on one icon column and one baseline.\n *\n * @module dsh-task-engine/TriggerButton\n */\n\nimport { createElement } from 'react'\nimport { IconSettingsOutline16 } from '@deepseek-ai/dsh-client-ui-primitives'\n\nconst hover = 'var(--dsw-alias-bg-layer-2)'\nconst label = 'var(--dsw-alias-label-primary)'\n\nexport function TriggerButton({ wide, actions }: {\n wide: boolean\n actions: { open(): void }\n}): ReturnType<typeof createElement> {\n return createElement('button', {\n type: 'button',\n title: '\u5DE5\u7A0B\u6D41\u7A0B',\n 'aria-haspopup': 'dialog',\n onClick: () => { actions.open() },\n onMouseEnter: (event: { currentTarget: HTMLButtonElement }) => { event.currentTarget.style.background = hover },\n onMouseLeave: (event: { currentTarget: HTMLButtonElement }) => { event.currentTarget.style.background = 'transparent' },\n style: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: wide ? 'flex-start' : 'center',\n gap: wide ? 8 : 0,\n width: wide ? '100%' : 36,\n minWidth: wide ? 0 : 36,\n height: wide ? 42 : 36,\n flex: wide ? '1 1 auto' : 'none',\n border: 'none',\n background: 'transparent',\n cursor: 'pointer',\n color: label,\n borderRadius: wide ? 12 : '50%',\n padding: wide ? '0 10px 0 8px' : 0,\n // The native settings row bleeds 2px past its seat on both sides so its\n // hover chrome spans the full row; matching keeps both icon columns on\n // the same x.\n margin: wide ? '0 -2px' : '0 auto 2px',\n fontSize: wide ? 14 : undefined,\n lineHeight: wide ? '22px' : undefined,\n boxSizing: 'border-box',\n transition: 'background 120ms ease',\n },\n },\n createElement(IconSettingsOutline16, { size: wide ? 16 : 18 }),\n wide ? createElement('span', { style: { fontSize: 14, lineHeight: '22px' } }, '\u5DE5\u7A0B\u6D41\u7A0B') : null,\n )\n}\n", "/**\n * Shared viewing state for the task-engine workbench: whether the full-screen\n * panel is open. One handle is created in `apply` and passed to both the\n * sidebar trigger and the `shell.overlay` workbench, so a click on the trigger\n * opens the panel and the panel's close button closes it again.\n *\n * @module dsh-task-engine/visibility\n */\n\nimport { defineStore, type EngineStoreHandle, type Baked } from '@deepseek-ai/dsh-client-store'\n\n/** The single fact the two slots share. */\nexport interface VisibilityState {\n open: boolean\n}\n\n/** Baked actions: the engine drops the draft parameter before calling these. */\nexport type VisibilityActions = Baked<{\n open: (state: VisibilityState) => void\n close: (state: VisibilityState) => void\n}>\n\nexport function createVisibilityStore(): EngineStoreHandle<VisibilityState, VisibilityActions> {\n return defineStore<VisibilityState, {\n open: (state: VisibilityState) => void\n close: (state: VisibilityState) => void\n }>({\n init: (): VisibilityState => ({ open: false }),\n actions: {\n open: (d: VisibilityState) => { d.open = true },\n close: (d: VisibilityState) => { d.open = false },\n },\n })\n}"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["util", "objectUtil", "errorUtil", "errorMap", "header", "ctx", "result", "issues", "elements", "processed", "result", "r", "ZodFirstPartyTypeKind", "import_react", "import_dsh_client_ui_primitives", "label", "preset", "import_react", "import_dsh_client_ui_primitives", "body", "import_react", "import_react", "import_dsh_client_ui_primitives", "import_react", "import_dsh_client_ui_primitives", "sourceText", "body", "save", "r", "h", "import_react", "import_react", "import_dsh_client_ui_primitives", "card", "import_react", "import_dsh_client_ui_primitives"]
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["util", "objectUtil", "errorUtil", "errorMap", "header", "ctx", "result", "issues", "elements", "processed", "result", "r", "ZodFirstPartyTypeKind", "import_react", "import_dsh_client_ui_primitives", "text", "label", "preset", "text", "preset", "import_react", "import_dsh_client_ui_primitives", "body", "import_react", "import_react", "import_dsh_client_ui_primitives", "import_react", "import_dsh_client_ui_primitives", "sourceText", "body", "save", "r", "h", "import_react", "import_react", "import_dsh_client_ui_primitives", "card", "import_react", "import_dsh_client_ui_primitives"]
|
|
7
6
|
}
|