@unbrained/pm-cli 2026.5.1 → 2026.5.2
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/CHANGELOG.md +20 -4
- package/CONTRIBUTING.md +11 -5
- package/PRD.md +17 -1
- package/README.md +49 -1101
- package/SECURITY.md +6 -11
- package/dist/cli/commands/activity.d.ts +10 -0
- package/dist/cli/commands/activity.js +13 -1
- package/dist/cli/commands/activity.js.map +1 -1
- package/dist/cli/commands/aggregate.js.map +1 -1
- package/dist/cli/commands/append.js.map +1 -1
- package/dist/cli/commands/calendar.js +16 -5
- package/dist/cli/commands/calendar.js.map +1 -1
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/comments-audit.js.map +1 -1
- package/dist/cli/commands/comments.js.map +1 -1
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/context.js +22 -0
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.js +2 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/dedupe-audit.js.map +1 -1
- package/dist/cli/commands/delete.js.map +1 -1
- package/dist/cli/commands/deps.js.map +1 -1
- package/dist/cli/commands/docs.js.map +1 -1
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/files.js +14 -2
- package/dist/cli/commands/files.js.map +1 -1
- package/dist/cli/commands/gc.js.map +1 -1
- package/dist/cli/commands/get.js.map +1 -1
- package/dist/cli/commands/health.js +16 -12
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/learnings.js.map +1 -1
- package/dist/cli/commands/list.d.ts +1 -0
- package/dist/cli/commands/list.js +10 -2
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/normalize.js +5 -17
- package/dist/cli/commands/normalize.js.map +1 -1
- package/dist/cli/commands/notes.js.map +1 -1
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/templates.js.map +1 -1
- package/dist/cli/commands/test-all.js.map +1 -1
- package/dist/cli/commands/test-runs.js.map +1 -1
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/update-many.js +1 -6
- package/dist/cli/commands/update-many.js.map +1 -1
- package/dist/cli/commands/update.js +2 -2
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/validate.js +23 -18
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/error-guidance.js +13 -2
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/extension-command-options.js.map +1 -1
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/main.js +29 -13
- package/dist/cli/main.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/core/extensions/extension-types.d.ts +605 -0
- package/dist/core/extensions/extension-types.js +22 -0
- package/dist/core/extensions/extension-types.js.map +1 -0
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/item-fields.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +2 -586
- package/dist/core/extensions/loader.js +3 -21
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runtime-registrations.js.map +1 -1
- package/dist/core/fs/fs-utils.js.map +1 -1
- package/dist/core/fs/index.js.map +1 -1
- package/dist/core/history/history-stream-policy.js.map +1 -1
- package/dist/core/history/history.js.map +1 -1
- package/dist/core/history/index.js.map +1 -1
- package/dist/core/item/id.js.map +1 -1
- package/dist/core/item/index.js.map +1 -1
- package/dist/core/item/item-format.js.map +1 -1
- package/dist/core/item/parent-reference-policy.js.map +1 -1
- package/dist/core/item/parse.js +6 -0
- package/dist/core/item/parse.js.map +1 -1
- package/dist/core/item/sprint-release-format.js.map +1 -1
- package/dist/core/item/status.js.map +1 -1
- package/dist/core/item/type-registry.js.map +1 -1
- package/dist/core/lock/index.js.map +1 -1
- package/dist/core/lock/lock.js +1 -6
- package/dist/core/lock/lock.js.map +1 -1
- package/dist/core/output/command-aware.js.map +1 -1
- package/dist/core/output/output.js.map +1 -1
- package/dist/core/schema/runtime-field-filters.js.map +1 -1
- package/dist/core/schema/runtime-field-values.js.map +1 -1
- package/dist/core/schema/runtime-schema.js.map +1 -1
- package/dist/core/search/cache.js +1 -7
- package/dist/core/search/cache.js.map +1 -1
- package/dist/core/search/embedding-batches.js +4 -0
- package/dist/core/search/embedding-batches.js.map +1 -1
- package/dist/core/search/providers.js +1 -20
- package/dist/core/search/providers.js.map +1 -1
- package/dist/core/search/semantic-defaults.js.map +1 -1
- package/dist/core/search/vector-stores.d.ts +1 -0
- package/dist/core/search/vector-stores.js +23 -27
- package/dist/core/search/vector-stores.js.map +1 -1
- package/dist/core/sentry/helpers.d.ts +6 -0
- package/dist/core/sentry/helpers.js +73 -0
- package/dist/core/sentry/helpers.js.map +1 -0
- package/dist/core/sentry/instrument.d.ts +4 -0
- package/dist/core/sentry/instrument.js +173 -0
- package/dist/core/sentry/instrument.js.map +1 -0
- package/dist/core/shared/command-types.js.map +1 -1
- package/dist/core/shared/conflict-markers.js.map +1 -1
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/shared/errors.js.map +1 -1
- package/dist/core/shared/index.d.ts +1 -0
- package/dist/core/shared/index.js +1 -0
- package/dist/core/shared/index.js.map +1 -1
- package/dist/core/shared/primitives.d.ts +13 -0
- package/dist/core/shared/primitives.js +33 -0
- package/dist/core/shared/primitives.js.map +1 -0
- package/dist/core/shared/serialization.js.map +1 -1
- package/dist/core/shared/text-normalization.js.map +1 -1
- package/dist/core/shared/time.js.map +1 -1
- package/dist/core/store/index.js.map +1 -1
- package/dist/core/store/item-format-migration.js.map +1 -1
- package/dist/core/store/item-store.js +44 -35
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/paths.js.map +1 -1
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/consent.js.map +1 -1
- package/dist/core/telemetry/runtime.d.ts +2 -0
- package/dist/core/telemetry/runtime.js +40 -13
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/core/test/background-runs.js.map +1 -1
- package/dist/core/test/item-test-run-tracking.js.map +1 -1
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sdk/index.js.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types.js.map +1 -1
- package/docs/AGENT_GUIDE.md +125 -0
- package/docs/ARCHITECTURE.md +195 -478
- package/docs/COMMANDS.md +199 -0
- package/docs/CONFIGURATION.md +146 -0
- package/docs/EXTENSIONS.md +146 -645
- package/docs/QUICKSTART.md +108 -0
- package/docs/README.md +70 -0
- package/docs/RELEASING.md +51 -36
- package/docs/SDK.md +127 -68
- package/docs/TESTING.md +125 -0
- package/docs/examples/starter-extension/README.md +39 -25
- package/package.json +17 -9
- package/dist/command-types.d.ts +0 -1
- package/dist/command-types.js +0 -2
- package/dist/command-types.js.map +0 -1
- package/dist/constants.d.ts +0 -1
- package/dist/constants.js +0 -2
- package/dist/constants.js.map +0 -1
- package/dist/errors.d.ts +0 -1
- package/dist/errors.js +0 -2
- package/dist/errors.js.map +0 -1
- package/dist/fs-utils.d.ts +0 -1
- package/dist/fs-utils.js +0 -2
- package/dist/fs-utils.js.map +0 -1
- package/dist/history.d.ts +0 -1
- package/dist/history.js +0 -2
- package/dist/history.js.map +0 -1
- package/dist/id.d.ts +0 -1
- package/dist/id.js +0 -2
- package/dist/id.js.map +0 -1
- package/dist/item-format.d.ts +0 -1
- package/dist/item-format.js +0 -2
- package/dist/item-format.js.map +0 -1
- package/dist/item-store.d.ts +0 -1
- package/dist/item-store.js +0 -2
- package/dist/item-store.js.map +0 -1
- package/dist/lock.d.ts +0 -1
- package/dist/lock.js +0 -2
- package/dist/lock.js.map +0 -1
- package/dist/output.d.ts +0 -1
- package/dist/output.js +0 -2
- package/dist/output.js.map +0 -1
- package/dist/parse.d.ts +0 -1
- package/dist/parse.js +0 -2
- package/dist/parse.js.map +0 -1
- package/dist/paths.d.ts +0 -1
- package/dist/paths.js +0 -2
- package/dist/paths.js.map +0 -1
- package/dist/serialization.d.ts +0 -1
- package/dist/serialization.js +0 -2
- package/dist/serialization.js.map +0 -1
- package/dist/settings.d.ts +0 -1
- package/dist/settings.js +0 -2
- package/dist/settings.js.map +0 -1
- package/dist/time.d.ts +0 -1
- package/dist/time.js +0 -2
- package/dist/time.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/cli/commands/create.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"/","sources":["cli/commands/create.ts"],"names":[],"mappings":"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","sourcesContent":["import { pathExists, removeFileIfExists, writeFileAtomic } from \"../../core/fs/fs-utils.js\";\nimport { appendHistoryEntry, createHistoryEntry } from \"../../core/history/history.js\";\nimport { generateItemId, normalizeItemId } from \"../../core/item/id.js\";\nimport { canonicalDocument, normalizeFrontMatter, serializeItemDocument } from \"../../core/item/item-format.js\";\nimport {\n normalizeParentReferenceValue,\n validateMissingParentReference,\n} from \"../../core/item/parent-reference-policy.js\";\nimport { validateSprintOrReleaseValue } from \"../../core/item/sprint-release-format.js\";\nimport { createStdinTokenResolver, parseCsvKv, parseOptionalNumber, parseTags } from \"../../core/item/parse.js\";\nimport { normalizeStatusInput } from \"../../core/item/status.js\";\nimport {\n canonicalizeCommandOptionKey,\n commandOptionFlagLabel,\n resolveItemTypeRegistry,\n resolveCommandOptionPolicyState,\n type ResolvedItemTypeDefinition,\n resolveTypeDefinition,\n resolveTypeName,\n validateTypeOptions,\n} from \"../../core/item/type-registry.js\";\nimport { acquireLock } from \"../../core/lock/lock.js\";\nimport { collectRuntimeCreateFieldValues } from \"../../core/schema/runtime-field-values.js\";\nimport {\n type RuntimeFieldRegistry,\n resolveRuntimeFieldRegistry,\n resolveRuntimeStatusRegistry,\n type RuntimeStatusRegistry,\n} from \"../../core/schema/runtime-schema.js\";\nimport { EXIT_CODE, FRONT_MATTER_KEY_ORDER } from \"../../core/shared/constants.js\";\nimport type { GlobalOptions } from \"../../core/shared/command-types.js\";\nimport { PmCliError } from \"../../core/shared/errors.js\";\nimport { nowIso, resolveIsoOrRelative } from \"../../core/shared/time.js\";\nimport { getActiveExtensionRegistrations, runActiveOnWriteHooks } from \"../../core/extensions/index.js\";\nimport { applyRegisteredItemFieldDefaultsAndValidation } from \"../../core/extensions/item-fields.js\";\nimport { locateItem } from \"../../core/store/item-store.js\";\nimport { getHistoryPath, getItemPath, getSettingsPath, resolvePmRoot } from \"../../core/store/paths.js\";\nimport { readSettings } from \"../../core/store/settings.js\";\nimport { loadCreateTemplateOptions } from \"./templates.js\";\nimport type {\n CalendarEvent,\n Comment,\n Dependency,\n ItemDocument,\n ItemFrontMatter,\n ItemStatus,\n LinkedDoc,\n LinkedFile,\n LinkedTest,\n LogNote,\n RecurrenceRule,\n Reminder,\n} from \"../../types/index.js\";\nimport {\n CONFIDENCE_TEXT_VALUES,\n DEPENDENCY_KIND_VALUES,\n ISSUE_SEVERITY_VALUES,\n RECURRENCE_FREQUENCY_VALUES,\n RECURRENCE_WEEKDAY_VALUES,\n RISK_VALUES,\n SCOPE_VALUES,\n} from \"../../types/index.js\";\n\nexport interface CreateCommandOptions {\n title?: string;\n description?: string;\n type?: string;\n status?: string;\n priority?: string;\n tags?: string;\n body?: string;\n deadline?: string;\n estimatedMinutes?: string;\n acceptanceCriteria?: string;\n definitionOfReady?: string;\n order?: string;\n rank?: string;\n goal?: string;\n objective?: string;\n value?: string;\n impact?: string;\n outcome?: string;\n whyNow?: string;\n author?: string;\n message?: string;\n assignee?: string;\n parent?: string;\n reviewer?: string;\n risk?: string;\n confidence?: string;\n sprint?: string;\n release?: string;\n blockedBy?: string;\n blockedReason?: string;\n unblockNote?: string;\n reporter?: string;\n severity?: string;\n environment?: string;\n reproSteps?: string;\n resolution?: string;\n expectedResult?: string;\n actualResult?: string;\n affectedVersion?: string;\n fixedVersion?: string;\n component?: string;\n regression?: string;\n customerImpact?: string;\n dep?: string[];\n comment?: string[];\n note?: string[];\n learning?: string[];\n file?: string[];\n test?: string[];\n doc?: string[];\n reminder?: string[];\n event?: string[];\n typeOption?: string[];\n template?: string;\n createMode?: string;\n schedulePreset?: string;\n unset?: string[];\n clearDeps?: boolean;\n clearComments?: boolean;\n clearNotes?: boolean;\n clearLearnings?: boolean;\n clearFiles?: boolean;\n clearTests?: boolean;\n clearDocs?: boolean;\n clearReminders?: boolean;\n clearEvents?: boolean;\n clearTypeOptions?: boolean;\n [key: string]: unknown;\n}\n\nexport interface CreateResult {\n item: ItemFrontMatter;\n changed_fields: string[];\n warnings: string[];\n}\n\ntype CreateMode = \"strict\" | \"progressive\";\nconst CREATE_MODE_VALUES = [\"strict\", \"progressive\"] as const;\ntype ScheduleCreatePreset = \"lightweight\";\nconst SCHEDULE_CREATE_PRESET_VALUES = [\"lightweight\"] as const;\nconst SCHEDULE_CREATE_PRESET_TYPES = new Set([\"Reminder\", \"Meeting\", \"Event\"]);\nconst LOG_SEED_ALLOWED_KEYS = new Set([\"author\", \"created_at\", \"text\"]);\nconst LEGACY_NONE_TOKENS = new Set([\"none\", \"null\"]);\n\ninterface CreateUnsetFieldDefinition {\n optionKey: string;\n frontMatterKey: string;\n}\n\nconst CREATE_UNSET_FIELD_DEFINITIONS: ReadonlyArray<{\n canonical: string;\n aliases: readonly string[];\n optionKey: string;\n frontMatterKey: string;\n}> = [\n { canonical: \"tags\", aliases: [\"tags\"], optionKey: \"tags\", frontMatterKey: \"tags\" },\n { canonical: \"deadline\", aliases: [\"deadline\"], optionKey: \"deadline\", frontMatterKey: \"deadline\" },\n {\n canonical: \"estimate\",\n aliases: [\"estimate\", \"estimated_minutes\", \"estimated-minutes\"],\n optionKey: \"estimatedMinutes\",\n frontMatterKey: \"estimated_minutes\",\n },\n {\n canonical: \"acceptance-criteria\",\n aliases: [\"acceptance_criteria\", \"acceptance-criteria\", \"ac\"],\n optionKey: \"acceptanceCriteria\",\n frontMatterKey: \"acceptance_criteria\",\n },\n {\n canonical: \"definition-of-ready\",\n aliases: [\"definition_of_ready\", \"definition-of-ready\"],\n optionKey: \"definitionOfReady\",\n frontMatterKey: \"definition_of_ready\",\n },\n { canonical: \"order\", aliases: [\"order\", \"rank\"], optionKey: \"order\", frontMatterKey: \"order\" },\n { canonical: \"goal\", aliases: [\"goal\"], optionKey: \"goal\", frontMatterKey: \"goal\" },\n { canonical: \"objective\", aliases: [\"objective\"], optionKey: \"objective\", frontMatterKey: \"objective\" },\n { canonical: \"value\", aliases: [\"value\"], optionKey: \"value\", frontMatterKey: \"value\" },\n { canonical: \"impact\", aliases: [\"impact\"], optionKey: \"impact\", frontMatterKey: \"impact\" },\n { canonical: \"outcome\", aliases: [\"outcome\"], optionKey: \"outcome\", frontMatterKey: \"outcome\" },\n { canonical: \"why-now\", aliases: [\"why_now\", \"why-now\"], optionKey: \"whyNow\", frontMatterKey: \"why_now\" },\n { canonical: \"author\", aliases: [\"author\"], optionKey: \"author\", frontMatterKey: \"author\" },\n { canonical: \"assignee\", aliases: [\"assignee\"], optionKey: \"assignee\", frontMatterKey: \"assignee\" },\n { canonical: \"parent\", aliases: [\"parent\"], optionKey: \"parent\", frontMatterKey: \"parent\" },\n { canonical: \"reviewer\", aliases: [\"reviewer\"], optionKey: \"reviewer\", frontMatterKey: \"reviewer\" },\n { canonical: \"risk\", aliases: [\"risk\"], optionKey: \"risk\", frontMatterKey: \"risk\" },\n { canonical: \"confidence\", aliases: [\"confidence\"], optionKey: \"confidence\", frontMatterKey: \"confidence\" },\n { canonical: \"sprint\", aliases: [\"sprint\"], optionKey: \"sprint\", frontMatterKey: \"sprint\" },\n { canonical: \"release\", aliases: [\"release\"], optionKey: \"release\", frontMatterKey: \"release\" },\n {\n canonical: \"blocked-by\",\n aliases: [\"blocked_by\", \"blocked-by\"],\n optionKey: \"blockedBy\",\n frontMatterKey: \"blocked_by\",\n },\n {\n canonical: \"blocked-reason\",\n aliases: [\"blocked_reason\", \"blocked-reason\"],\n optionKey: \"blockedReason\",\n frontMatterKey: \"blocked_reason\",\n },\n {\n canonical: \"unblock-note\",\n aliases: [\"unblock_note\", \"unblock-note\"],\n optionKey: \"unblockNote\",\n frontMatterKey: \"unblock_note\",\n },\n { canonical: \"reporter\", aliases: [\"reporter\"], optionKey: \"reporter\", frontMatterKey: \"reporter\" },\n { canonical: \"severity\", aliases: [\"severity\"], optionKey: \"severity\", frontMatterKey: \"severity\" },\n {\n canonical: \"environment\",\n aliases: [\"environment\"],\n optionKey: \"environment\",\n frontMatterKey: \"environment\",\n },\n {\n canonical: \"repro-steps\",\n aliases: [\"repro_steps\", \"repro-steps\"],\n optionKey: \"reproSteps\",\n frontMatterKey: \"repro_steps\",\n },\n {\n canonical: \"resolution\",\n aliases: [\"resolution\"],\n optionKey: \"resolution\",\n frontMatterKey: \"resolution\",\n },\n {\n canonical: \"expected-result\",\n aliases: [\"expected_result\", \"expected-result\"],\n optionKey: \"expectedResult\",\n frontMatterKey: \"expected_result\",\n },\n {\n canonical: \"actual-result\",\n aliases: [\"actual_result\", \"actual-result\"],\n optionKey: \"actualResult\",\n frontMatterKey: \"actual_result\",\n },\n {\n canonical: \"affected-version\",\n aliases: [\"affected_version\", \"affected-version\"],\n optionKey: \"affectedVersion\",\n frontMatterKey: \"affected_version\",\n },\n {\n canonical: \"fixed-version\",\n aliases: [\"fixed_version\", \"fixed-version\"],\n optionKey: \"fixedVersion\",\n frontMatterKey: \"fixed_version\",\n },\n { canonical: \"component\", aliases: [\"component\"], optionKey: \"component\", frontMatterKey: \"component\" },\n { canonical: \"regression\", aliases: [\"regression\"], optionKey: \"regression\", frontMatterKey: \"regression\" },\n {\n canonical: \"customer-impact\",\n aliases: [\"customer_impact\", \"customer-impact\"],\n optionKey: \"customerImpact\",\n frontMatterKey: \"customer_impact\",\n },\n];\n\nconst CREATE_UNSET_ALIAS_MAP: Map<string, CreateUnsetFieldDefinition> = (() => {\n const map = new Map<string, CreateUnsetFieldDefinition>();\n for (const definition of CREATE_UNSET_FIELD_DEFINITIONS) {\n for (const alias of definition.aliases) {\n map.set(alias, {\n optionKey: definition.optionKey,\n frontMatterKey: definition.frontMatterKey,\n });\n }\n }\n return map;\n})();\n\nconst CREATE_OPTION_KEY_TO_UNSET_CANONICAL = new Map<string, string>(\n CREATE_UNSET_FIELD_DEFINITIONS.map((definition) => [definition.optionKey, definition.canonical]),\n);\n\nconst CREATE_UNSET_SUPPORTED_CANONICAL_FIELDS = CREATE_UNSET_FIELD_DEFINITIONS.map((definition) => definition.canonical)\n .sort((left, right) => left.localeCompare(right))\n .join(\", \");\n\nfunction buildInvalidLogSeedKeysMessage(\n optionName: \"--comment\" | \"--note\" | \"--learning\",\n unsupportedKeys: string[],\n): string {\n const sortedUnsupported = [...unsupportedKeys].sort((left, right) => left.localeCompare(right));\n const keyLabel = sortedUnsupported.length === 1 ? \"key\" : \"keys\";\n return (\n `${optionName} supports only author, created_at, and text seed fields. ` +\n `Found unsupported ${keyLabel}: ${sortedUnsupported.join(\", \")}. ` +\n `If text contains comma-separated key:value-like fragments, wrap text in quotes ` +\n '(for example text=\"first,scope:project\"), use markdown-style key/value input, ' +\n `or pass ${optionName} - with piped stdin.`\n );\n}\n\nfunction ensureEnumValue<T extends string>(value: string, allowed: readonly T[], label: string): T {\n if (!allowed.includes(value as T)) {\n throw new PmCliError(\n `Invalid ${label} value \"${value}\". Allowed: ${allowed.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n return value as T;\n}\n\nfunction parseStatusValue(value: string, statusRegistry: RuntimeStatusRegistry): ItemStatus {\n const normalized = normalizeStatusInput(value, statusRegistry);\n if (!normalized) {\n const allowedStatuses = statusRegistry.definitions.map((definition) => definition.id);\n throw new PmCliError(`Invalid status value \"${value}\". Allowed: ${allowedStatuses.join(\", \")}`, EXIT_CODE.USAGE);\n }\n return normalized;\n}\n\nfunction normalizeRiskInput(value: string): string {\n const trimmed = value.trim();\n return trimmed.toLowerCase() === \"med\" ? \"medium\" : trimmed;\n}\n\nfunction normalizeSeverityInput(value: string): string {\n const trimmed = value.trim();\n return trimmed.toLowerCase() === \"med\" ? \"medium\" : trimmed;\n}\n\nfunction parseConfidenceInput(value: string): number | \"low\" | \"medium\" | \"high\" {\n const trimmed = value.trim().toLowerCase();\n if (trimmed === \"med\") {\n return \"medium\";\n }\n if (CONFIDENCE_TEXT_VALUES.includes(trimmed as (typeof CONFIDENCE_TEXT_VALUES)[number])) {\n return trimmed as (typeof CONFIDENCE_TEXT_VALUES)[number];\n }\n const parsed = parseOptionalNumber(value, \"confidence\");\n if (!Number.isInteger(parsed) || parsed < 0 || parsed > 100) {\n throw new PmCliError(\"Confidence must be an integer 0..100 or one of low|med|medium|high\", EXIT_CODE.USAGE);\n }\n return parsed;\n}\n\nfunction parseRegressionInput(value: string): boolean {\n const normalized = value.trim().toLowerCase();\n if (normalized === \"true\" || normalized === \"1\") {\n return true;\n }\n if (normalized === \"false\" || normalized === \"0\") {\n return false;\n }\n throw new PmCliError(\"Regression must be one of true|false|1|0\", EXIT_CODE.USAGE);\n}\n\nfunction parseCreatedAt(value: string | undefined, currentIso: string): string {\n if (!value || value.trim() === \"\" || value.trim().toLowerCase() === \"now\") {\n return currentIso;\n }\n const parsed = Date.parse(value);\n if (!Number.isFinite(parsed)) {\n throw new PmCliError(`Invalid created_at timestamp \"${value}\"`, EXIT_CODE.USAGE);\n }\n return new Date(parsed).toISOString();\n}\n\nfunction isLegacyNoneToken(value: string | undefined): boolean {\n if (value === undefined) {\n return false;\n }\n return LEGACY_NONE_TOKENS.has(value.trim().toLowerCase());\n}\n\nfunction assertNoLegacyNoneToken(value: string | undefined, flag: string, replacementHint?: string): void {\n if (!isLegacyNoneToken(value)) {\n return;\n }\n const suffix = replacementHint ? ` ${replacementHint}` : \"\";\n throw new PmCliError(`${flag} no longer accepts \"none\" or \"null\".${suffix}`.trim(), EXIT_CODE.USAGE);\n}\n\nfunction assertNoLegacyNoneTokens(values: string[] | undefined, flag: string, replacementHint?: string): void {\n if (!values || values.length === 0) {\n return;\n }\n const hasLegacyToken = values.some((value) => isLegacyNoneToken(value));\n if (!hasLegacyToken) {\n return;\n }\n const suffix = replacementHint ? ` ${replacementHint}` : \"\";\n throw new PmCliError(`${flag} no longer accepts \"none\" or \"null\".${suffix}`.trim(), EXIT_CODE.USAGE);\n}\n\nfunction parseOptionalString(value: string | undefined): string | undefined {\n if (value === undefined) return undefined;\n return value;\n}\n\nfunction resolveRuntimeCreateUnsetDefinition(\n token: string,\n runtimeFieldRegistry: RuntimeFieldRegistry | undefined,\n): CreateUnsetFieldDefinition | undefined {\n if (!runtimeFieldRegistry) {\n return undefined;\n }\n for (const definition of runtimeFieldRegistry.definitions) {\n if (definition.allow_unset === false) {\n continue;\n }\n const candidates = new Set<string>([\n definition.key,\n definition.front_matter_key,\n definition.cli_flag.replaceAll(\"-\", \"_\"),\n definition.cli_flag,\n ...definition.cli_aliases.map((alias) => alias.replaceAll(\"-\", \"_\")),\n ...definition.cli_aliases,\n ]);\n if (!candidates.has(token)) {\n continue;\n }\n return {\n optionKey: definition.key,\n frontMatterKey: definition.front_matter_key,\n };\n }\n return undefined;\n}\n\nfunction parseCreateUnsetTargets(\n raw: string[] | undefined,\n runtimeFieldRegistry?: RuntimeFieldRegistry,\n): { frontMatterKeys: Set<string>; optionKeys: Set<string> } {\n const frontMatterKeys = new Set<string>();\n const optionKeys = new Set<string>();\n if (!raw || raw.length === 0) {\n return { frontMatterKeys, optionKeys };\n }\n\n for (const entry of raw) {\n const trimmed = entry.trim().toLowerCase();\n if (!trimmed) {\n throw new PmCliError(\"--unset values must not be empty\", EXIT_CODE.USAGE);\n }\n if (isLegacyNoneToken(trimmed)) {\n throw new PmCliError(\n '--unset no longer accepts \"none\" or \"null\". Specify concrete field names such as --unset deadline',\n EXIT_CODE.USAGE,\n );\n }\n const definition = CREATE_UNSET_ALIAS_MAP.get(trimmed) ?? resolveRuntimeCreateUnsetDefinition(trimmed, runtimeFieldRegistry);\n if (!definition) {\n throw new PmCliError(\n `Unsupported --unset field \"${entry}\". Supported fields: ${CREATE_UNSET_SUPPORTED_CANONICAL_FIELDS}`,\n EXIT_CODE.USAGE,\n );\n }\n frontMatterKeys.add(definition.frontMatterKey);\n optionKeys.add(definition.optionKey);\n }\n\n return { frontMatterKeys, optionKeys };\n}\n\nfunction weekdayOrderIndex(value: (typeof RECURRENCE_WEEKDAY_VALUES)[number]): number {\n return RECURRENCE_WEEKDAY_VALUES.indexOf(value);\n}\n\nfunction parseDependencies(\n raw: string[] | undefined,\n nowValue: string,\n prefix: string,\n): { values: Dependency[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--dep\", \"Use --clear-deps to clear dependencies.\");\n const values: Dependency[] = raw.map((entry) => {\n const kv = parseCsvKv(entry, \"--dep\");\n const id = parseOptionalString(kv.id);\n const kind = parseOptionalString(kv.kind);\n if (!id || !kind) {\n throw new PmCliError(\"--dep requires id and kind\", EXIT_CODE.USAGE);\n }\n if (id.trim().toLowerCase() === \"undefined\") {\n throw new PmCliError(\n `--dep id must not use placeholder token \"${id}\". Use --clear-deps to clear dependencies.`,\n EXIT_CODE.USAGE,\n );\n }\n return {\n id: normalizeItemId(id, prefix),\n kind: ensureEnumValue(kind, DEPENDENCY_KIND_VALUES, \"dependency kind\"),\n created_at: parseCreatedAt(kv.created_at, nowValue),\n author: parseOptionalString(kv.author),\n };\n });\n return { values, explicitEmpty: false };\n}\n\nexport function parseLogSeed(\n optionName: \"--comment\" | \"--note\" | \"--learning\",\n raw: string[] | undefined,\n nowValue: string,\n fallbackAuthor: string,\n): { values: LogNote[] | Comment[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n const clearHint =\n optionName === \"--comment\"\n ? \"Use --clear-comments to clear comments.\"\n : optionName === \"--note\"\n ? \"Use --clear-notes to clear notes.\"\n : \"Use --clear-learnings to clear learnings.\";\n assertNoLegacyNoneTokens(raw, optionName, clearHint);\n const values = raw.map((entry) => {\n const trimmedEntry = entry.trim();\n const buildPlainTextCommentSeed = (): Comment => {\n if (trimmedEntry.length === 0) {\n throw new PmCliError(`${optionName} requires text=<value>`, EXIT_CODE.USAGE);\n }\n return {\n created_at: nowValue,\n author: fallbackAuthor,\n text: trimmedEntry,\n };\n };\n let kv: Record<string, string>;\n try {\n kv = parseCsvKv(entry, optionName);\n } catch (error: unknown) {\n if (optionName === \"--comment\") {\n return buildPlainTextCommentSeed();\n }\n throw error;\n }\n const unsupportedKeys = Object.keys(kv).filter((key) => !LOG_SEED_ALLOWED_KEYS.has(key));\n if (unsupportedKeys.length > 0) {\n if (optionName === \"--comment\" && !trimmedEntry.includes(\",\") && !trimmedEntry.includes(\"\\n\")) {\n return buildPlainTextCommentSeed();\n }\n throw new PmCliError(buildInvalidLogSeedKeysMessage(optionName, unsupportedKeys), EXIT_CODE.USAGE);\n }\n const text = kv.text ?? \"\";\n if (text === \"\") {\n throw new PmCliError(`${optionName} requires text=<value>`, EXIT_CODE.USAGE);\n }\n return {\n created_at: parseCreatedAt(kv.created_at, nowValue),\n author: parseOptionalString(kv.author) ?? fallbackAuthor,\n text,\n };\n });\n return { values, explicitEmpty: false };\n}\n\nexport function parseFiles(raw: string[] | undefined): { values: LinkedFile[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--file\", \"Use --clear-files to clear linked files.\");\n const values = raw.map((entry) => {\n const kv = parseCsvKv(entry, \"--file\");\n if (!kv.path) {\n throw new PmCliError(\"--file requires path=<value>\", EXIT_CODE.USAGE);\n }\n return {\n path: kv.path,\n scope: ensureEnumValue(kv.scope ?? \"project\", SCOPE_VALUES, \"file scope\"),\n note: parseOptionalString(kv.note),\n };\n });\n return { values, explicitEmpty: false };\n}\n\nconst LINKED_TEST_PROTECTED_ENV_KEYS = new Set([\"PM_PATH\", \"PM_GLOBAL_PATH\", \"FORCE_COLOR\"]);\nconst LINKED_TEST_ENV_NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/;\nconst LINKED_TEST_PM_CONTEXT_MODE_VALUES = [\"schema\", \"tracker\", \"auto\"] as const;\n\nfunction parseLinkedTestEnvSet(raw: string | undefined, optionName: string): Record<string, string> | undefined {\n const normalized = parseOptionalString(raw);\n if (!normalized) {\n return undefined;\n }\n const assignments = normalized\n .split(/[;\\n]/)\n .map((entry) => entry.trim())\n .filter((entry) => entry.length > 0);\n if (assignments.length === 0) {\n throw new PmCliError(`${optionName} env_set must include at least one KEY=VALUE assignment`, EXIT_CODE.USAGE);\n }\n const envSet: Record<string, string> = {};\n for (const assignment of assignments) {\n const separatorIndex = assignment.indexOf(\"=\");\n if (separatorIndex <= 0) {\n throw new PmCliError(\n `${optionName} env_set entries must use KEY=VALUE and be separated by semicolons. Example: env_set=PORT=0;PLAYWRIGHT_BASE_URL=http://127.0.0.1:4173`,\n EXIT_CODE.USAGE,\n );\n }\n const key = assignment.slice(0, separatorIndex).trim();\n const value = assignment.slice(separatorIndex + 1);\n if (!LINKED_TEST_ENV_NAME_PATTERN.test(key)) {\n throw new PmCliError(`${optionName} env_set key \"${key}\" is invalid`, EXIT_CODE.USAGE);\n }\n if (LINKED_TEST_PROTECTED_ENV_KEYS.has(key.toUpperCase())) {\n throw new PmCliError(`${optionName} env_set key \"${key}\" is reserved for sandbox safety`, EXIT_CODE.USAGE);\n }\n envSet[key] = value;\n }\n return Object.keys(envSet).length > 0 ? envSet : undefined;\n}\n\nfunction parseLinkedTestEnvClear(raw: string | undefined, optionName: string): string[] | undefined {\n const normalized = parseOptionalString(raw);\n if (!normalized) {\n return undefined;\n }\n const keys = [...new Set(normalized.split(/[;,\\n]/).map((entry) => entry.trim()).filter((entry) => entry.length > 0))];\n if (keys.length === 0) {\n throw new PmCliError(`${optionName} env_clear must include at least one environment variable name`, EXIT_CODE.USAGE);\n }\n for (const key of keys) {\n if (!LINKED_TEST_ENV_NAME_PATTERN.test(key)) {\n throw new PmCliError(`${optionName} env_clear key \"${key}\" is invalid`, EXIT_CODE.USAGE);\n }\n if (LINKED_TEST_PROTECTED_ENV_KEYS.has(key.toUpperCase())) {\n throw new PmCliError(`${optionName} env_clear key \"${key}\" is reserved for sandbox safety`, EXIT_CODE.USAGE);\n }\n }\n return keys;\n}\n\nfunction parseLinkedTestBoolean(raw: string | undefined, optionName: string, fieldLabel: string): boolean | undefined {\n const normalized = parseOptionalString(raw);\n if (!normalized) {\n return undefined;\n }\n const value = normalized.trim().toLowerCase();\n if (value === \"true\" || value === \"1\" || value === \"yes\") {\n return true;\n }\n if (value === \"false\" || value === \"0\" || value === \"no\") {\n return false;\n }\n throw new PmCliError(`${optionName} ${fieldLabel} must be one of true|false|1|0|yes|no`, EXIT_CODE.USAGE);\n}\n\nfunction parseLinkedTestContextMode(\n raw: string | undefined,\n optionName: string,\n): LinkedTest[\"pm_context_mode\"] | undefined {\n const normalized = parseOptionalString(raw);\n if (!normalized) {\n return undefined;\n }\n const value = normalized.trim().toLowerCase();\n if ((LINKED_TEST_PM_CONTEXT_MODE_VALUES as readonly string[]).includes(value)) {\n return value as LinkedTest[\"pm_context_mode\"];\n }\n throw new PmCliError(\n `${optionName} pm_context_mode must be one of: ${LINKED_TEST_PM_CONTEXT_MODE_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction parseLinkedTestStringList(raw: string | undefined): string[] | undefined {\n const normalized = parseOptionalString(raw);\n if (!normalized) {\n return undefined;\n }\n const values = [...new Set(normalized.split(/[;\\n]/).map((entry) => entry.trim()).filter((entry) => entry.length > 0))];\n return values.length > 0 ? values : undefined;\n}\n\nfunction parseLinkedTestRegexList(raw: string | undefined, optionName: string, fieldLabel: string): string[] | undefined {\n const values = parseLinkedTestStringList(raw);\n if (!values || values.length === 0) {\n return undefined;\n }\n for (const pattern of values) {\n try {\n // Validate syntax early so malformed assertions fail at mutation time.\n new RegExp(pattern, \"m\");\n } catch (error: unknown) {\n throw new PmCliError(\n `${optionName} ${fieldLabel} includes invalid regex \"${pattern}\": ${error instanceof Error ? error.message : String(error)}`,\n EXIT_CODE.USAGE,\n );\n }\n }\n return values;\n}\n\nfunction parseLinkedTestMinLines(raw: string | undefined, optionName: string): number | undefined {\n const normalized = parseOptionalString(raw);\n if (!normalized) {\n return undefined;\n }\n const parsed = parseOptionalNumber(normalized, \"assert_stdout_min_lines\");\n if (!Number.isInteger(parsed) || parsed < 0) {\n throw new PmCliError(`${optionName} assert_stdout_min_lines must be an integer >= 0`, EXIT_CODE.USAGE);\n }\n return parsed;\n}\n\nfunction parseLinkedTestAssertionEqualsMap(raw: string | undefined, optionName: string): Record<string, string> | undefined {\n const normalized = parseOptionalString(raw);\n if (!normalized) {\n return undefined;\n }\n const assignments = normalized\n .split(/[;\\n]/)\n .map((entry) => entry.trim())\n .filter((entry) => entry.length > 0);\n if (assignments.length === 0) {\n throw new PmCliError(`${optionName} assert_json_field_equals must include at least one path=value assignment`, EXIT_CODE.USAGE);\n }\n const values: Record<string, string> = {};\n for (const assignment of assignments) {\n const separatorIndex = assignment.indexOf(\"=\");\n if (separatorIndex <= 0) {\n throw new PmCliError(\n `${optionName} assert_json_field_equals entries must use path=value and be separated by semicolons`,\n EXIT_CODE.USAGE,\n );\n }\n const key = assignment.slice(0, separatorIndex).trim();\n const value = assignment.slice(separatorIndex + 1).trim();\n if (key.length === 0 || value.length === 0) {\n throw new PmCliError(`${optionName} assert_json_field_equals entries must include non-empty path and value`, EXIT_CODE.USAGE);\n }\n values[key] = value;\n }\n return Object.keys(values).length > 0 ? values : undefined;\n}\n\nfunction parseLinkedTestAssertionGteMap(raw: string | undefined, optionName: string): Record<string, number> | undefined {\n const normalized = parseOptionalString(raw);\n if (!normalized) {\n return undefined;\n }\n const assignments = normalized\n .split(/[;\\n]/)\n .map((entry) => entry.trim())\n .filter((entry) => entry.length > 0);\n if (assignments.length === 0) {\n throw new PmCliError(`${optionName} assert_json_field_gte must include at least one path=value assignment`, EXIT_CODE.USAGE);\n }\n const values: Record<string, number> = {};\n for (const assignment of assignments) {\n const separatorIndex = assignment.indexOf(\"=\");\n if (separatorIndex <= 0) {\n throw new PmCliError(\n `${optionName} assert_json_field_gte entries must use path=value and be separated by semicolons`,\n EXIT_CODE.USAGE,\n );\n }\n const key = assignment.slice(0, separatorIndex).trim();\n const valueRaw = assignment.slice(separatorIndex + 1).trim();\n if (key.length === 0 || valueRaw.length === 0) {\n throw new PmCliError(`${optionName} assert_json_field_gte entries must include non-empty path and value`, EXIT_CODE.USAGE);\n }\n const value = Number.parseFloat(valueRaw);\n if (!Number.isFinite(value)) {\n throw new PmCliError(`${optionName} assert_json_field_gte value for \"${key}\" must be numeric`, EXIT_CODE.USAGE);\n }\n values[key] = value;\n }\n return Object.keys(values).length > 0 ? values : undefined;\n}\n\nexport function parseTests(raw: string[] | undefined): { values: LinkedTest[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--test\", \"Use --clear-tests to clear linked tests.\");\n const values = raw.map((entry) => {\n const kv = parseCsvKv(entry, \"--test\");\n const command = parseOptionalString(kv.command);\n const filePath = parseOptionalString(kv.path);\n if (!command) {\n throw new PmCliError(\"--test requires command=<value> (path=<value> is optional metadata)\", EXIT_CODE.USAGE);\n }\n const timeoutSecondsRaw = parseOptionalString(kv.timeout_seconds);\n const timeoutAliasRaw = parseOptionalString(kv.timeout);\n if (timeoutSecondsRaw && timeoutAliasRaw && timeoutSecondsRaw !== timeoutAliasRaw) {\n throw new PmCliError(\"--test timeout and timeout_seconds must match when both are provided\", EXIT_CODE.USAGE);\n }\n const timeoutRaw = timeoutSecondsRaw ?? timeoutAliasRaw;\n return {\n command,\n path: filePath,\n scope: ensureEnumValue(kv.scope ?? \"project\", SCOPE_VALUES, \"test scope\"),\n timeout_seconds: timeoutRaw ? parseOptionalNumber(timeoutRaw, \"timeout_seconds\") : undefined,\n pm_context_mode: parseLinkedTestContextMode(kv.pm_context_mode, \"--test\"),\n env_set: parseLinkedTestEnvSet(kv.env_set, \"--test\"),\n env_clear: parseLinkedTestEnvClear(kv.env_clear, \"--test\"),\n shared_host_safe: parseLinkedTestBoolean(kv.shared_host_safe, \"--test\", \"shared_host_safe\"),\n assert_stdout_contains: parseLinkedTestStringList(kv.assert_stdout_contains),\n assert_stdout_regex: parseLinkedTestRegexList(kv.assert_stdout_regex, \"--test\", \"assert_stdout_regex\"),\n assert_stderr_contains: parseLinkedTestStringList(kv.assert_stderr_contains),\n assert_stderr_regex: parseLinkedTestRegexList(kv.assert_stderr_regex, \"--test\", \"assert_stderr_regex\"),\n assert_stdout_min_lines: parseLinkedTestMinLines(kv.assert_stdout_min_lines, \"--test\"),\n assert_json_field_equals: parseLinkedTestAssertionEqualsMap(kv.assert_json_field_equals, \"--test\"),\n assert_json_field_gte: parseLinkedTestAssertionGteMap(kv.assert_json_field_gte, \"--test\"),\n note: parseOptionalString(kv.note),\n };\n });\n return { values, explicitEmpty: false };\n}\n\nexport function parseDocs(raw: string[] | undefined): { values: LinkedDoc[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--doc\", \"Use --clear-docs to clear linked docs.\");\n const values = raw.map((entry) => {\n const kv = parseCsvKv(entry, \"--doc\");\n if (!kv.path) {\n throw new PmCliError(\"--doc requires path=<value>\", EXIT_CODE.USAGE);\n }\n return {\n path: kv.path,\n scope: ensureEnumValue(kv.scope ?? \"project\", SCOPE_VALUES, \"doc scope\"),\n note: parseOptionalString(kv.note),\n };\n });\n return { values, explicitEmpty: false };\n}\n\nfunction parseReminders(raw: string[] | undefined, nowValue: string): { values: Reminder[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--reminder\", \"Use --clear-reminders to clear reminders.\");\n const values = raw.map((entry) => {\n const kv = parseCsvKv(entry, \"--reminder\");\n const atRaw = parseOptionalString(kv.at);\n const textRaw = parseOptionalString(kv.text);\n if (!atRaw || !textRaw) {\n throw new PmCliError(\"--reminder requires at=<iso|relative> and text=<value>\", EXIT_CODE.USAGE);\n }\n const text = textRaw.trim();\n if (!text) {\n throw new PmCliError(\"--reminder text must not be empty\", EXIT_CODE.USAGE);\n }\n return {\n at: resolveIsoOrRelative(atRaw, new Date(nowValue), \"reminder.at\"),\n text,\n };\n });\n return { values, explicitEmpty: false };\n}\n\nfunction parseEventBoolean(value: string, flag: string): boolean {\n const normalized = value.trim().toLowerCase();\n if (normalized === \"true\" || normalized === \"1\" || normalized === \"yes\") {\n return true;\n }\n if (normalized === \"false\" || normalized === \"0\" || normalized === \"no\") {\n return false;\n }\n throw new PmCliError(`${flag} must be one of true|false|1|0|yes|no`, EXIT_CODE.USAGE);\n}\n\nfunction parseDelimitedList(raw: string | undefined): string[] {\n if (!raw) {\n return [];\n }\n return raw\n .split(\"|\")\n .map((value) => value.trim())\n .filter((value) => value.length > 0);\n}\n\nfunction parseRecurrenceRule(kv: Record<string, string>, startAt: string, nowValue: Date): RecurrenceRule | undefined {\n const freqRaw = parseOptionalString(kv.recur_freq)?.trim();\n const intervalRaw = parseOptionalString(kv.recur_interval)?.trim();\n const countRaw = parseOptionalString(kv.recur_count)?.trim();\n const untilRaw = parseOptionalString(kv.recur_until)?.trim();\n const byWeekdayRaw = parseOptionalString(kv.recur_by_weekday)?.trim();\n const byMonthDayRaw = parseOptionalString(kv.recur_by_month_day)?.trim();\n const exdatesRaw = parseOptionalString(kv.recur_exdates)?.trim();\n\n const recurrenceInputsProvided = [freqRaw, intervalRaw, countRaw, untilRaw, byWeekdayRaw, byMonthDayRaw, exdatesRaw].some(\n (value) => value !== undefined,\n );\n if (!recurrenceInputsProvided) {\n return undefined;\n }\n if (!freqRaw) {\n throw new PmCliError(\"--event recurrence fields require recur_freq=<daily|weekly|monthly|yearly>\", EXIT_CODE.USAGE);\n }\n\n const freq = ensureEnumValue(freqRaw.toLowerCase(), RECURRENCE_FREQUENCY_VALUES, \"event recurrence frequency\");\n const interval = intervalRaw !== undefined ? parseOptionalNumber(intervalRaw, \"event recur_interval\") : undefined;\n if (interval !== undefined && (!Number.isInteger(interval) || interval < 1)) {\n throw new PmCliError(\"--event recur_interval must be an integer >= 1\", EXIT_CODE.USAGE);\n }\n const count = countRaw !== undefined ? parseOptionalNumber(countRaw, \"event recur_count\") : undefined;\n if (count !== undefined && (!Number.isInteger(count) || count < 1)) {\n throw new PmCliError(\"--event recur_count must be an integer >= 1\", EXIT_CODE.USAGE);\n }\n const until = untilRaw ? resolveIsoOrRelative(untilRaw, nowValue, \"event.recur_until\") : undefined;\n if (until && until < startAt) {\n throw new PmCliError(\"--event recur_until must be at or after start\", EXIT_CODE.USAGE);\n }\n\n const byWeekday = Array.from(\n new Set(\n parseDelimitedList(byWeekdayRaw).map((value) => ensureEnumValue(value.toLowerCase(), RECURRENCE_WEEKDAY_VALUES, \"event weekday\")),\n ),\n ).sort(\n (left, right) =>\n weekdayOrderIndex(left as (typeof RECURRENCE_WEEKDAY_VALUES)[number]) -\n weekdayOrderIndex(right as (typeof RECURRENCE_WEEKDAY_VALUES)[number]),\n );\n\n const byMonthDay = Array.from(\n new Set(\n parseDelimitedList(byMonthDayRaw).map((value) => {\n const day = parseOptionalNumber(value, \"event recur_by_month_day\");\n if (!Number.isInteger(day) || day < 1 || day > 31) {\n throw new PmCliError(\"--event recur_by_month_day values must be integers 1..31\", EXIT_CODE.USAGE);\n }\n return day;\n }),\n ),\n ).sort((left, right) => left - right);\n\n const exdates = Array.from(\n new Set(parseDelimitedList(exdatesRaw).map((value) => resolveIsoOrRelative(value, nowValue, \"event.recur_exdates\"))),\n ).sort((left, right) => left.localeCompare(right));\n\n return {\n freq,\n interval,\n count,\n until,\n by_weekday: byWeekday.length > 0 ? byWeekday : undefined,\n by_month_day: byMonthDay.length > 0 ? byMonthDay : undefined,\n exdates: exdates.length > 0 ? exdates : undefined,\n };\n}\n\nfunction parseEvents(raw: string[] | undefined, nowValue: string): { values: CalendarEvent[] | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) return { values: undefined, explicitEmpty: false };\n assertNoLegacyNoneTokens(raw, \"--event\", \"Use --clear-events to clear linked events.\");\n const referenceDate = new Date(nowValue);\n const values = raw.map((entry) => {\n const kv = parseCsvKv(entry, \"--event\");\n const startRaw = parseOptionalString(kv.start)?.trim();\n if (!startRaw) {\n throw new PmCliError(\"--event requires start=<iso|relative>\", EXIT_CODE.USAGE);\n }\n const startAt = resolveIsoOrRelative(startRaw, referenceDate, \"event.start\");\n const endRaw = parseOptionalString(kv.end)?.trim();\n const endAt = endRaw ? resolveIsoOrRelative(endRaw, referenceDate, \"event.end\") : undefined;\n if (endAt && endAt <= startAt) {\n throw new PmCliError(\"--event end must be after start\", EXIT_CODE.USAGE);\n }\n\n const titleRaw = parseOptionalString(kv.title);\n const descriptionRaw = parseOptionalString(kv.description);\n const locationRaw = parseOptionalString(kv.location);\n const timezoneRaw = parseOptionalString(kv.timezone);\n const title = titleRaw?.trim();\n const description = descriptionRaw?.trim();\n const location = locationRaw?.trim();\n const timezone = timezoneRaw?.trim();\n if (titleRaw !== undefined && !title) {\n throw new PmCliError(\"--event title must not be empty\", EXIT_CODE.USAGE);\n }\n if (descriptionRaw !== undefined && !description) {\n throw new PmCliError(\"--event description must not be empty\", EXIT_CODE.USAGE);\n }\n if (locationRaw !== undefined && !location) {\n throw new PmCliError(\"--event location must not be empty\", EXIT_CODE.USAGE);\n }\n if (timezoneRaw !== undefined && !timezone) {\n throw new PmCliError(\"--event timezone must not be empty\", EXIT_CODE.USAGE);\n }\n\n const allDayRaw = parseOptionalString(kv.all_day)?.trim();\n const recurrence = parseRecurrenceRule(kv, startAt, referenceDate);\n\n return {\n start_at: startAt,\n end_at: endAt,\n title,\n description,\n location,\n all_day: allDayRaw !== undefined ? parseEventBoolean(allDayRaw, \"--event all_day\") : undefined,\n timezone,\n recurrence,\n };\n });\n return { values, explicitEmpty: false };\n}\n\nfunction buildChangedFields(frontMatter: ItemFrontMatter, explicitUnsets: string[]): string[] {\n const changed = [\n ...FRONT_MATTER_KEY_ORDER.filter((key) => frontMatter[key] !== undefined),\n \"body\",\n ...explicitUnsets.map((key) => `unset:${key}`),\n ];\n return Array.from(new Set(changed));\n}\n\nfunction buildHistoryMessage(baseMessage: string | undefined, explicitUnsets: string[]): string | undefined {\n const trimmed = baseMessage ?? \"\";\n if (explicitUnsets.length === 0) {\n return trimmed;\n }\n const suffix = `explicit_unset=${explicitUnsets.join(\",\")}`;\n return trimmed ? `${trimmed} | ${suffix}` : suffix;\n}\n\nfunction normalizeCreatePolicyOptionKey(raw: string, typeName: string, sourceLabel: string): string {\n const canonical = canonicalizeCommandOptionKey(\"create\", raw);\n if (!canonical) {\n throw new PmCliError(\n `Unsupported ${sourceLabel} entry \"${raw}\" for type \"${typeName}\"`,\n EXIT_CODE.CONFLICT,\n );\n }\n return canonical;\n}\n\nfunction parseTypeOptions(raw: string[] | undefined): { values: Record<string, string> | undefined; explicitEmpty: boolean } {\n if (!raw || raw.length === 0) {\n return { values: undefined, explicitEmpty: false };\n }\n assertNoLegacyNoneTokens(raw, \"--type-option\", \"Use --clear-type-options to clear existing type options.\");\n const values: Record<string, string> = {};\n for (const entry of raw) {\n const trimmedEntry = entry.trim();\n if (trimmedEntry.length === 0) {\n throw new PmCliError(\"--type-option values must not be empty\", EXIT_CODE.USAGE);\n }\n let key: string | undefined;\n let value: string | undefined;\n const prefersStructuredKv =\n trimmedEntry.includes(\",\") ||\n trimmedEntry.includes(\"\\n\") ||\n trimmedEntry.startsWith(\"```\") ||\n /^(?:[-*+]\\s+)?(?:key|value)\\s*[:=]/i.test(trimmedEntry);\n if (prefersStructuredKv) {\n const kv = parseCsvKv(trimmedEntry, \"--type-option\");\n key = parseOptionalString(kv.key)?.trim();\n value = parseOptionalString(kv.value)?.trim();\n } else {\n const equalsIndex = trimmedEntry.indexOf(\"=\");\n const colonIndex = trimmedEntry.indexOf(\":\");\n let separatorIndex = equalsIndex;\n if (equalsIndex <= 0 && colonIndex > 0) {\n separatorIndex = colonIndex;\n }\n if (separatorIndex <= 0 || separatorIndex === trimmedEntry.length - 1) {\n throw new PmCliError(\n \"--type-option requires key=value or key=<name>,value=<value> entries\",\n EXIT_CODE.USAGE,\n );\n }\n key = trimmedEntry.slice(0, separatorIndex).trim();\n value = trimmedEntry.slice(separatorIndex + 1).trim();\n }\n if (!key || !value) {\n throw new PmCliError(\"--type-option requires key and value\", EXIT_CODE.USAGE);\n }\n values[key] = value;\n }\n const sortedEntries = Object.entries(values).sort((left, right) => left[0].localeCompare(right[0]));\n return {\n values: Object.fromEntries(sortedEntries),\n explicitEmpty: false,\n };\n}\n\nasync function resolveCreateStdinInputs(options: CreateCommandOptions): Promise<CreateCommandOptions> {\n const stdinResolver = createStdinTokenResolver();\n return {\n ...options,\n body: await stdinResolver.resolveValue(options.body, \"--body\"),\n dep: await stdinResolver.resolveList(options.dep, \"--dep\"),\n comment: await stdinResolver.resolveList(options.comment, \"--comment\"),\n note: await stdinResolver.resolveList(options.note, \"--note\"),\n learning: await stdinResolver.resolveList(options.learning, \"--learning\"),\n file: await stdinResolver.resolveList(options.file, \"--file\"),\n test: await stdinResolver.resolveList(options.test, \"--test\"),\n doc: await stdinResolver.resolveList(options.doc, \"--doc\"),\n reminder: await stdinResolver.resolveList(options.reminder, \"--reminder\"),\n event: await stdinResolver.resolveList(options.event, \"--event\"),\n typeOption: await stdinResolver.resolveList(options.typeOption, \"--type-option\"),\n };\n}\n\nfunction resolveCreateMode(createMode: string | undefined, defaultMode: CreateMode): CreateMode {\n if (createMode === undefined) {\n return defaultMode;\n }\n const normalized = createMode.trim().toLowerCase();\n if (normalized.length === 0) {\n return defaultMode;\n }\n if (normalized === \"strict\" || normalized === \"progressive\") {\n return normalized;\n }\n throw new PmCliError(\n `Invalid --create-mode value \"${createMode}\". Allowed: ${CREATE_MODE_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction resolveScheduleCreatePreset(raw: string | undefined): ScheduleCreatePreset | undefined {\n if (raw === undefined) {\n return undefined;\n }\n const normalized = raw.trim().toLowerCase();\n if (normalized.length === 0) {\n throw new PmCliError(\"--schedule-preset must not be empty\", EXIT_CODE.USAGE);\n }\n if (normalized === \"lightweight\" || normalized === \"lite\" || normalized === \"schedule-lite\") {\n return \"lightweight\";\n }\n throw new PmCliError(\n `Invalid --schedule-preset value \"${raw}\". Allowed: ${SCHEDULE_CREATE_PRESET_VALUES.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n}\n\nfunction resolveEffectiveCreateMode(\n createMode: string | undefined,\n schedulePreset: ScheduleCreatePreset | undefined,\n defaultMode: CreateMode,\n): CreateMode {\n const resolvedMode = resolveCreateMode(createMode, defaultMode);\n if (schedulePreset === undefined) {\n return resolvedMode;\n }\n const createModeWasExplicit = typeof createMode === \"string\" && createMode.trim().length > 0;\n if (createModeWasExplicit && resolvedMode === \"strict\") {\n throw new PmCliError(\n \"--schedule-preset lightweight cannot be combined with --create-mode strict. Use --create-mode progressive or omit --create-mode.\",\n EXIT_CODE.USAGE,\n );\n }\n return \"progressive\";\n}\n\nfunction requireCreateOptionByType(\n typeDefinition: ResolvedItemTypeDefinition,\n options: CreateCommandOptions,\n createMode: CreateMode,\n clearOptionKeys: Set<string>,\n): string[] {\n const typeName = typeDefinition.name;\n const scalarValues: Record<string, unknown> = {\n title: options.title,\n description: options.description,\n type: options.type,\n status: options.status,\n priority: options.priority,\n tags: options.tags,\n body: options.body,\n deadline: options.deadline,\n estimatedMinutes: options.estimatedMinutes,\n acceptanceCriteria: options.acceptanceCriteria,\n definitionOfReady: options.definitionOfReady,\n order: options.order ?? options.rank,\n goal: options.goal,\n objective: options.objective,\n value: options.value,\n impact: options.impact,\n outcome: options.outcome,\n whyNow: options.whyNow,\n author: options.author,\n message: options.message,\n assignee: options.assignee,\n parent: options.parent,\n reviewer: options.reviewer,\n risk: options.risk,\n confidence: options.confidence,\n sprint: options.sprint,\n release: options.release,\n blockedBy: options.blockedBy,\n blockedReason: options.blockedReason,\n unblockNote: options.unblockNote,\n reporter: options.reporter,\n severity: options.severity,\n environment: options.environment,\n reproSteps: options.reproSteps,\n resolution: options.resolution,\n expectedResult: options.expectedResult,\n actualResult: options.actualResult,\n affectedVersion: options.affectedVersion,\n fixedVersion: options.fixedVersion,\n component: options.component,\n regression: options.regression,\n customerImpact: options.customerImpact,\n };\n const repeatableValues: Record<string, unknown> = {\n dep: options.dep,\n comment: options.comment,\n note: options.note,\n learning: options.learning,\n file: options.file,\n test: options.test,\n doc: options.doc,\n reminder: options.reminder,\n event: options.event,\n typeOption: options.typeOption,\n };\n\n const hasOptionValue = (optionKey: string): boolean => {\n if (optionKey in scalarValues) {\n return scalarValues[optionKey] !== undefined;\n }\n if (optionKey in repeatableValues) {\n const value = repeatableValues[optionKey];\n return Array.isArray(value) && value.length > 0;\n }\n return false;\n };\n const hasOptionMutation = (optionKey: string): boolean => hasOptionValue(optionKey) || clearOptionKeys.has(optionKey);\n\n const baseRequiredOptions = new Set<string>([\"title\", \"description\", \"type\"]);\n if (createMode === \"strict\") {\n for (const field of typeDefinition.required_create_fields) {\n baseRequiredOptions.add(normalizeCreatePolicyOptionKey(field, typeName, \"required_create_fields\"));\n }\n for (const field of typeDefinition.required_create_repeatables) {\n baseRequiredOptions.add(normalizeCreatePolicyOptionKey(field, typeName, \"required_create_repeatables\"));\n }\n }\n\n const policyState = resolveCommandOptionPolicyState(typeDefinition, \"create\", baseRequiredOptions);\n if (policyState.errors.length > 0) {\n throw new PmCliError(policyState.errors.join(\"; \"), EXIT_CODE.CONFLICT);\n }\n\n for (const option of policyState.disabled) {\n if (hasOptionMutation(option)) {\n throw new PmCliError(\n `Option ${commandOptionFlagLabel(\"create\", option)} is disabled for type \"${typeName}\" by command_option_policies`,\n EXIT_CODE.USAGE,\n );\n }\n }\n\n if (createMode === \"strict\") {\n const strictRequiredClears = policyState.required.filter((required) => clearOptionKeys.has(required));\n if (strictRequiredClears.length > 0) {\n const requiredFlags = [...new Set(strictRequiredClears.map((required) => commandOptionFlagLabel(\"create\", required)))].sort(\n (left, right) => left.localeCompare(right),\n );\n throw new PmCliError(\n `Strict create mode requires concrete values for ${requiredFlags.join(\", \")}; --unset/--clear-* directives cannot satisfy required options`,\n EXIT_CODE.USAGE,\n );\n }\n }\n\n const missingRequiredOptions = policyState.required.filter((required) => !hasOptionValue(required));\n return [...new Set(missingRequiredOptions.map((required) => commandOptionFlagLabel(\"create\", required)))].sort((left, right) =>\n left.localeCompare(right),\n );\n}\n\nconst MISSING_REQUIRED_TYPE_OPTION_PATTERN = /^Missing required type option \"([^\"]+)\" for type \"([^\"]+)\"$/;\n\nfunction collectMissingRequiredTypeOptionKeys(errors: string[], typeName: string): string[] {\n const missingKeys: string[] = [];\n for (const error of errors) {\n const match = error.match(MISSING_REQUIRED_TYPE_OPTION_PATTERN);\n if (!match) {\n continue;\n }\n if (match[2] !== typeName) {\n continue;\n }\n missingKeys.push(match[1]);\n }\n return [...new Set(missingKeys)].sort((left, right) => left.localeCompare(right));\n}\n\nfunction filterNonMissingTypeOptionErrors(errors: string[], typeName: string): string[] {\n return errors.filter((error) => {\n const match = error.match(MISSING_REQUIRED_TYPE_OPTION_PATTERN);\n return !match || match[2] !== typeName;\n });\n}\n\nfunction typeOptionExampleValue(typeDefinition: ResolvedItemTypeDefinition, key: string): string {\n const optionDefinition = typeDefinition.options.find((option) => option.key === key);\n const firstAllowed = optionDefinition?.values[0];\n if (typeof firstAllowed === \"string\" && firstAllowed.trim().length > 0) {\n return firstAllowed;\n }\n return \"<value>\";\n}\n\nfunction createExampleTokensForFlag(flag: string, typeName: string, openStatus: string): string[] {\n switch (flag) {\n case \"--title\":\n return [\"--title\", `\"${typeName} example title\"`];\n case \"--description\":\n return [\"--description\", `\"${typeName} example description\"`];\n case \"--type\":\n return [\"--type\", typeName];\n case \"--status\":\n return [\"--status\", openStatus];\n case \"--priority\":\n return [\"--priority\", \"1\"];\n case \"--message\":\n return [\"--message\", `\"Create ${typeName} item\"`];\n case \"--dep\":\n return [\"--dep\", \"\\\"id=pm-xxxx,kind=related,author=maintainer,created_at=now\\\"\"];\n case \"--comment\":\n return [\"--comment\", \"\\\"author=maintainer,created_at=now,text=Implementation context\\\"\"];\n case \"--note\":\n return [\"--note\", \"\\\"author=maintainer,created_at=now,text=Design note\\\"\"];\n case \"--learning\":\n return [\"--learning\", \"\\\"author=maintainer,created_at=now,text=Durable lesson\\\"\"];\n case \"--file\":\n return [\"--file\", \"\\\"path=src/example.ts,scope=project,note=implementation file\\\"\"];\n case \"--test\":\n return [\"--test\", \"\\\"command=node scripts/run-tests.mjs test,scope=project,timeout_seconds=240\\\"\"];\n case \"--doc\":\n return [\"--doc\", \"\\\"path=README.md,scope=project,note=reference doc\\\"\"];\n default:\n return [flag, \"\\\"<value>\\\"\"];\n }\n}\n\nfunction buildTypeSpecificCreateExample(\n typeDefinition: ResolvedItemTypeDefinition,\n missingCreateFlags: string[],\n missingTypeOptionKeys: string[],\n openStatus: string,\n): string {\n const tokens = [\"pm\", \"create\", \"--title\", `\"${typeDefinition.name} example title\"`, \"--description\", `\"${typeDefinition.name} example description\"`, \"--type\", typeDefinition.name];\n const optionalRecommendationFlags = [\"--status\", \"--priority\", \"--message\"];\n const orderedFlags = [...new Set([...optionalRecommendationFlags, ...missingCreateFlags])];\n const includedFlags = new Set<string>([\"--title\", \"--description\", \"--type\"]);\n for (const flag of orderedFlags) {\n if (includedFlags.has(flag)) {\n continue;\n }\n tokens.push(...createExampleTokensForFlag(flag, typeDefinition.name, openStatus));\n includedFlags.add(flag);\n }\n for (const key of missingTypeOptionKeys) {\n const value = typeOptionExampleValue(typeDefinition, key);\n tokens.push(\"--type-option\", `${key}=${value}`);\n }\n return tokens.join(\" \");\n}\n\nfunction requireStringOption(value: string | undefined, flag: string): string {\n if (value === undefined) {\n throw new PmCliError(`Missing required option ${flag}`, EXIT_CODE.USAGE);\n }\n return value;\n}\n\nfunction selectAuthor(explicitAuthor: string | undefined, settingsAuthor: string): string {\n const candidate = parseOptionalString(explicitAuthor) ?? process.env.PM_AUTHOR ?? settingsAuthor;\n const trimmed = candidate.trim();\n return trimmed || \"unknown\";\n}\n\nfunction ensurePriority(rawPriority: string): 0 | 1 | 2 | 3 | 4 {\n const parsed = parseOptionalNumber(rawPriority, \"priority (expected 0..4: 0=critical, 1=high, 2=medium, 3=low, 4=minimal)\");\n if (![0, 1, 2, 3, 4].includes(parsed)) {\n throw new PmCliError(\"Priority must be 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal)\", EXIT_CODE.USAGE);\n }\n return parsed as 0 | 1 | 2 | 3 | 4;\n}\n\nfunction mergeCreateOptionsWithTemplate(\n templateOptions: Record<string, string | string[]>,\n explicitOptions: CreateCommandOptions,\n): CreateCommandOptions {\n const merged: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(templateOptions)) {\n merged[key] = Array.isArray(value) ? [...value] : value;\n }\n for (const [key, value] of Object.entries(explicitOptions)) {\n if (value !== undefined) {\n merged[key] = Array.isArray(value) ? [...value] : value;\n }\n }\n return merged as CreateCommandOptions;\n}\n\nfunction ensureInitHasRun(pmRoot: string): Promise<void> {\n return pathExists(getSettingsPath(pmRoot)).then((exists) => {\n if (!exists) {\n throw new PmCliError(`Tracker is not initialized at ${pmRoot}. Run pm init first.`, EXIT_CODE.NOT_FOUND);\n }\n });\n}\n\nexport async function runCreate(options: CreateCommandOptions, global: GlobalOptions): Promise<CreateResult> {\n let resolvedOptions = await resolveCreateStdinInputs(options);\n const pmRoot = resolvePmRoot(process.cwd(), global.path);\n await ensureInitHasRun(pmRoot);\n\n const settings = await readSettings(pmRoot);\n const statusRegistry = resolveRuntimeStatusRegistry(settings.schema);\n const runtimeFieldRegistry = resolveRuntimeFieldRegistry(settings.schema);\n const typeRegistry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());\n assertNoLegacyNoneToken(resolvedOptions.template, \"--template\", \"Omit --template to skip template usage.\");\n if (resolvedOptions.template !== undefined) {\n const templateName = resolvedOptions.template.trim();\n if (templateName.length === 0) {\n throw new PmCliError(\"--template must not be empty. Omit --template to disable template usage.\", EXIT_CODE.USAGE);\n }\n const templateOptions = await loadCreateTemplateOptions(pmRoot, templateName);\n resolvedOptions = mergeCreateOptionsWithTemplate(templateOptions, resolvedOptions);\n }\n if (resolvedOptions.type === undefined) {\n throw new PmCliError(\"Missing required option --type <value>\", EXIT_CODE.USAGE);\n }\n const resolvedTypeName = resolveTypeName(resolvedOptions.type, typeRegistry);\n if (!resolvedTypeName) {\n throw new PmCliError(\n `Invalid type value \"${resolvedOptions.type}\". Allowed: ${typeRegistry.types.join(\", \")}`,\n EXIT_CODE.USAGE,\n );\n }\n const typeDefinition = resolveTypeDefinition(resolvedTypeName, typeRegistry);\n if (!typeDefinition) {\n throw new PmCliError(`Invalid type value \"${resolvedOptions.type}\"`, EXIT_CODE.USAGE);\n }\n const type = typeDefinition.name;\n const schedulePreset = resolveScheduleCreatePreset(resolvedOptions.schedulePreset);\n if (schedulePreset !== undefined && !SCHEDULE_CREATE_PRESET_TYPES.has(type)) {\n throw new PmCliError(\n `--schedule-preset ${schedulePreset} is only supported for Reminder, Meeting, or Event types`,\n EXIT_CODE.USAGE,\n );\n }\n const createMode = resolveEffectiveCreateMode(\n resolvedOptions.createMode,\n schedulePreset,\n settings.governance.create_mode_default,\n );\n const unsetTargets = parseCreateUnsetTargets(resolvedOptions.unset, runtimeFieldRegistry);\n const explicitUnsets = new Set<string>(unsetTargets.frontMatterKeys);\n const clearOptionKeys = new Set<string>(unsetTargets.optionKeys);\n\n const clearCollectionDefinitions: ReadonlyArray<{\n enabled: boolean | undefined;\n optionKey: string;\n clearFlag: string;\n valueFlag: string;\n values: string[] | undefined;\n frontMatterKey: string;\n }> = [\n {\n enabled: resolvedOptions.clearDeps,\n optionKey: \"dep\",\n clearFlag: \"--clear-deps\",\n valueFlag: \"--dep\",\n values: resolvedOptions.dep,\n frontMatterKey: \"dependencies\",\n },\n {\n enabled: resolvedOptions.clearComments,\n optionKey: \"comment\",\n clearFlag: \"--clear-comments\",\n valueFlag: \"--comment\",\n values: resolvedOptions.comment,\n frontMatterKey: \"comments\",\n },\n {\n enabled: resolvedOptions.clearNotes,\n optionKey: \"note\",\n clearFlag: \"--clear-notes\",\n valueFlag: \"--note\",\n values: resolvedOptions.note,\n frontMatterKey: \"notes\",\n },\n {\n enabled: resolvedOptions.clearLearnings,\n optionKey: \"learning\",\n clearFlag: \"--clear-learnings\",\n valueFlag: \"--learning\",\n values: resolvedOptions.learning,\n frontMatterKey: \"learnings\",\n },\n {\n enabled: resolvedOptions.clearFiles,\n optionKey: \"file\",\n clearFlag: \"--clear-files\",\n valueFlag: \"--file\",\n values: resolvedOptions.file,\n frontMatterKey: \"files\",\n },\n {\n enabled: resolvedOptions.clearTests,\n optionKey: \"test\",\n clearFlag: \"--clear-tests\",\n valueFlag: \"--test\",\n values: resolvedOptions.test,\n frontMatterKey: \"tests\",\n },\n {\n enabled: resolvedOptions.clearDocs,\n optionKey: \"doc\",\n clearFlag: \"--clear-docs\",\n valueFlag: \"--doc\",\n values: resolvedOptions.doc,\n frontMatterKey: \"docs\",\n },\n {\n enabled: resolvedOptions.clearReminders,\n optionKey: \"reminder\",\n clearFlag: \"--clear-reminders\",\n valueFlag: \"--reminder\",\n values: resolvedOptions.reminder,\n frontMatterKey: \"reminders\",\n },\n {\n enabled: resolvedOptions.clearEvents,\n optionKey: \"event\",\n clearFlag: \"--clear-events\",\n valueFlag: \"--event\",\n values: resolvedOptions.event,\n frontMatterKey: \"events\",\n },\n {\n enabled: resolvedOptions.clearTypeOptions,\n optionKey: \"typeOption\",\n clearFlag: \"--clear-type-options\",\n valueFlag: \"--type-option\",\n values: resolvedOptions.typeOption,\n frontMatterKey: \"type_options\",\n },\n ];\n for (const definition of clearCollectionDefinitions) {\n if (!definition.enabled) {\n continue;\n }\n if (definition.values && definition.values.length > 0) {\n throw new PmCliError(`Cannot combine ${definition.clearFlag} with ${definition.valueFlag}`, EXIT_CODE.USAGE);\n }\n explicitUnsets.add(definition.frontMatterKey);\n clearOptionKeys.add(definition.optionKey);\n }\n\n const scalarOptionPresence: Record<string, boolean> = {\n tags: resolvedOptions.tags !== undefined,\n deadline: resolvedOptions.deadline !== undefined,\n estimatedMinutes: resolvedOptions.estimatedMinutes !== undefined,\n acceptanceCriteria: resolvedOptions.acceptanceCriteria !== undefined,\n definitionOfReady: resolvedOptions.definitionOfReady !== undefined,\n order: resolvedOptions.order !== undefined || resolvedOptions.rank !== undefined,\n goal: resolvedOptions.goal !== undefined,\n objective: resolvedOptions.objective !== undefined,\n value: resolvedOptions.value !== undefined,\n impact: resolvedOptions.impact !== undefined,\n outcome: resolvedOptions.outcome !== undefined,\n whyNow: resolvedOptions.whyNow !== undefined,\n author: resolvedOptions.author !== undefined,\n assignee: resolvedOptions.assignee !== undefined,\n parent: resolvedOptions.parent !== undefined,\n reviewer: resolvedOptions.reviewer !== undefined,\n risk: resolvedOptions.risk !== undefined,\n confidence: resolvedOptions.confidence !== undefined,\n sprint: resolvedOptions.sprint !== undefined,\n release: resolvedOptions.release !== undefined,\n blockedBy: resolvedOptions.blockedBy !== undefined,\n blockedReason: resolvedOptions.blockedReason !== undefined,\n unblockNote: resolvedOptions.unblockNote !== undefined,\n reporter: resolvedOptions.reporter !== undefined,\n severity: resolvedOptions.severity !== undefined,\n environment: resolvedOptions.environment !== undefined,\n reproSteps: resolvedOptions.reproSteps !== undefined,\n resolution: resolvedOptions.resolution !== undefined,\n expectedResult: resolvedOptions.expectedResult !== undefined,\n actualResult: resolvedOptions.actualResult !== undefined,\n affectedVersion: resolvedOptions.affectedVersion !== undefined,\n fixedVersion: resolvedOptions.fixedVersion !== undefined,\n component: resolvedOptions.component !== undefined,\n regression: resolvedOptions.regression !== undefined,\n customerImpact: resolvedOptions.customerImpact !== undefined,\n };\n for (const [optionKey, hasValue] of Object.entries(scalarOptionPresence)) {\n if (!hasValue || !unsetTargets.optionKeys.has(optionKey)) {\n continue;\n }\n const unsetField = CREATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey) ?? optionKey;\n throw new PmCliError(\n `Cannot combine --unset ${unsetField} with ${commandOptionFlagLabel(\"create\", optionKey)}`,\n EXIT_CODE.USAGE,\n );\n }\n\n const assertNoLegacyScalarToken = (value: string | undefined, optionKey: string): void => {\n const unsetField = CREATE_OPTION_KEY_TO_UNSET_CANONICAL.get(optionKey);\n const hint = unsetField ? `Use --unset ${unsetField} to clear this field.` : undefined;\n assertNoLegacyNoneToken(value, commandOptionFlagLabel(\"create\", optionKey), hint);\n };\n assertNoLegacyScalarToken(resolvedOptions.tags, \"tags\");\n assertNoLegacyScalarToken(resolvedOptions.deadline, \"deadline\");\n assertNoLegacyScalarToken(resolvedOptions.estimatedMinutes, \"estimatedMinutes\");\n assertNoLegacyScalarToken(resolvedOptions.acceptanceCriteria, \"acceptanceCriteria\");\n assertNoLegacyScalarToken(resolvedOptions.definitionOfReady, \"definitionOfReady\");\n assertNoLegacyScalarToken(resolvedOptions.order ?? resolvedOptions.rank, \"order\");\n assertNoLegacyScalarToken(resolvedOptions.goal, \"goal\");\n assertNoLegacyScalarToken(resolvedOptions.objective, \"objective\");\n assertNoLegacyScalarToken(resolvedOptions.value, \"value\");\n assertNoLegacyScalarToken(resolvedOptions.impact, \"impact\");\n assertNoLegacyScalarToken(resolvedOptions.outcome, \"outcome\");\n assertNoLegacyScalarToken(resolvedOptions.whyNow, \"whyNow\");\n assertNoLegacyScalarToken(resolvedOptions.author, \"author\");\n assertNoLegacyScalarToken(resolvedOptions.assignee, \"assignee\");\n assertNoLegacyScalarToken(resolvedOptions.parent, \"parent\");\n assertNoLegacyScalarToken(resolvedOptions.reviewer, \"reviewer\");\n assertNoLegacyScalarToken(resolvedOptions.risk, \"risk\");\n assertNoLegacyScalarToken(resolvedOptions.confidence, \"confidence\");\n assertNoLegacyScalarToken(resolvedOptions.sprint, \"sprint\");\n assertNoLegacyScalarToken(resolvedOptions.release, \"release\");\n assertNoLegacyScalarToken(resolvedOptions.blockedBy, \"blockedBy\");\n assertNoLegacyScalarToken(resolvedOptions.blockedReason, \"blockedReason\");\n assertNoLegacyScalarToken(resolvedOptions.unblockNote, \"unblockNote\");\n assertNoLegacyScalarToken(resolvedOptions.reporter, \"reporter\");\n assertNoLegacyScalarToken(resolvedOptions.severity, \"severity\");\n assertNoLegacyScalarToken(resolvedOptions.environment, \"environment\");\n assertNoLegacyScalarToken(resolvedOptions.reproSteps, \"reproSteps\");\n assertNoLegacyScalarToken(resolvedOptions.resolution, \"resolution\");\n assertNoLegacyScalarToken(resolvedOptions.expectedResult, \"expectedResult\");\n assertNoLegacyScalarToken(resolvedOptions.actualResult, \"actualResult\");\n assertNoLegacyScalarToken(resolvedOptions.affectedVersion, \"affectedVersion\");\n assertNoLegacyScalarToken(resolvedOptions.fixedVersion, \"fixedVersion\");\n assertNoLegacyScalarToken(resolvedOptions.component, \"component\");\n assertNoLegacyScalarToken(resolvedOptions.regression, \"regression\");\n assertNoLegacyScalarToken(resolvedOptions.customerImpact, \"customerImpact\");\n\n const missingRequiredCreateFlags = requireCreateOptionByType(typeDefinition, resolvedOptions, createMode, clearOptionKeys);\n const nowValue = nowIso();\n const author = selectAuthor(resolvedOptions.author, settings.author_default);\n\n const dependencies = parseDependencies(resolvedOptions.dep, nowValue, settings.id_prefix);\n const comments = parseLogSeed(\"--comment\", resolvedOptions.comment, nowValue, author);\n const notes = parseLogSeed(\"--note\", resolvedOptions.note, nowValue, author);\n const learnings = parseLogSeed(\"--learning\", resolvedOptions.learning, nowValue, author);\n const files = parseFiles(resolvedOptions.file);\n const tests = parseTests(resolvedOptions.test);\n const docs = parseDocs(resolvedOptions.doc);\n const reminders = parseReminders(resolvedOptions.reminder, nowValue);\n const events = parseEvents(resolvedOptions.event, nowValue);\n const typeOptions = parseTypeOptions(resolvedOptions.typeOption);\n const validatedTypeOptions = validateTypeOptions(type, typeOptions.values, typeRegistry);\n const runtimeCreateFieldValues = collectRuntimeCreateFieldValues(\n resolvedOptions as Record<string, unknown>,\n runtimeFieldRegistry,\n type,\n );\n for (const fieldKey of Object.keys(runtimeCreateFieldValues.values)) {\n if (!unsetTargets.frontMatterKeys.has(fieldKey)) {\n continue;\n }\n throw new PmCliError(`Cannot combine --unset ${fieldKey.replaceAll(\"_\", \"-\")} with its value flag`, EXIT_CODE.USAGE);\n }\n const missingRequiredTypeOptionKeys = collectMissingRequiredTypeOptionKeys(validatedTypeOptions.errors, type);\n const missingRequiredTypeOptionFlags = missingRequiredTypeOptionKeys.map((key) => `--type-option ${key}=<value>`);\n const combinedMissingFlags = [\n ...new Set([\n ...missingRequiredCreateFlags,\n ...missingRequiredTypeOptionFlags,\n ...runtimeCreateFieldValues.missing_required_flags,\n ]),\n ].sort((left, right) => left.localeCompare(right));\n if (combinedMissingFlags.length > 0) {\n const nextValidExample = buildTypeSpecificCreateExample(\n typeDefinition,\n missingRequiredCreateFlags,\n missingRequiredTypeOptionKeys,\n statusRegistry.open_status,\n );\n const nextSteps = [`Run \"pm create --help --type ${type}\" for type-aware required option guidance.`];\n if (createMode === \"strict\") {\n nextSteps.push('For staged onboarding, retry with \"--create-mode progressive\".');\n if (SCHEDULE_CREATE_PRESET_TYPES.has(type)) {\n nextSteps.push('For minimal scheduling inputs, try \"--schedule-preset lightweight\".');\n }\n }\n const errorMessage =\n combinedMissingFlags.length === 1\n ? `Missing required option ${combinedMissingFlags[0]} for type \"${type}\"`\n : `Missing required options ${combinedMissingFlags.join(\", \")} for type \"${type}\"`;\n throw new PmCliError(errorMessage, EXIT_CODE.USAGE, {\n code: \"missing_required_option\",\n required: `Provide all required create options and type options for type \"${type}\" in one invocation.`,\n examples: [nextValidExample],\n nextSteps,\n });\n }\n const nonMissingTypeOptionErrors = filterNonMissingTypeOptionErrors(validatedTypeOptions.errors, type);\n if (nonMissingTypeOptionErrors.length > 0) {\n const nextValidExample = buildTypeSpecificCreateExample(typeDefinition, [], [], statusRegistry.open_status);\n throw new PmCliError(nonMissingTypeOptionErrors.join(\"; \"), EXIT_CODE.USAGE, {\n code: \"invalid_argument_value\",\n required: `Provide valid --type-option key/value pairs for type \"${type}\".`,\n examples: [nextValidExample],\n nextSteps: [`Run \"pm create --help --type ${type}\" to review allowed type-option keys and values.`],\n });\n }\n\n const id = await generateItemId(pmRoot, settings.id_prefix);\n const status =\n resolvedOptions.status !== undefined ? parseStatusValue(resolvedOptions.status, statusRegistry) : statusRegistry.open_status;\n const priority = resolvedOptions.priority !== undefined ? ensurePriority(resolvedOptions.priority) : 2;\n const tags = unsetTargets.frontMatterKeys.has(\"tags\")\n ? []\n : resolvedOptions.tags !== undefined\n ? parseTags(resolvedOptions.tags)\n : [];\n\n const deadline = unsetTargets.frontMatterKeys.has(\"deadline\")\n ? undefined\n : resolvedOptions.deadline === undefined\n ? undefined\n : resolveIsoOrRelative(resolvedOptions.deadline, new Date(nowValue), \"deadline\");\n const estimatedMinutes = unsetTargets.frontMatterKeys.has(\"estimated_minutes\")\n ? undefined\n : resolvedOptions.estimatedMinutes === undefined\n ? undefined\n : parseOptionalNumber(resolvedOptions.estimatedMinutes, \"estimated-minutes\");\n const acceptanceCriteria = unsetTargets.frontMatterKeys.has(\"acceptance_criteria\")\n ? undefined\n : resolvedOptions.acceptanceCriteria === undefined\n ? undefined\n : resolvedOptions.acceptanceCriteria;\n const definitionOfReady =\n unsetTargets.frontMatterKeys.has(\"definition_of_ready\") || resolvedOptions.definitionOfReady === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.definitionOfReady);\n if (\n resolvedOptions.order !== undefined &&\n resolvedOptions.rank !== undefined &&\n resolvedOptions.order !== resolvedOptions.rank\n ) {\n throw new PmCliError(\"--order and --rank must match when both are provided\", EXIT_CODE.USAGE);\n }\n const orderRaw = resolvedOptions.order ?? resolvedOptions.rank;\n const order =\n unsetTargets.frontMatterKeys.has(\"order\") || orderRaw === undefined ? undefined : parseOptionalNumber(orderRaw, \"order\");\n if (order !== undefined && !Number.isInteger(order)) {\n throw new PmCliError(\"Order must be an integer\", EXIT_CODE.USAGE);\n }\n const goal =\n unsetTargets.frontMatterKeys.has(\"goal\") || resolvedOptions.goal === undefined ? undefined : parseOptionalString(resolvedOptions.goal);\n const objective =\n unsetTargets.frontMatterKeys.has(\"objective\") || resolvedOptions.objective === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.objective);\n const value =\n unsetTargets.frontMatterKeys.has(\"value\") || resolvedOptions.value === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.value);\n const impact =\n unsetTargets.frontMatterKeys.has(\"impact\") || resolvedOptions.impact === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.impact);\n const outcome =\n unsetTargets.frontMatterKeys.has(\"outcome\") || resolvedOptions.outcome === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.outcome);\n const whyNow =\n unsetTargets.frontMatterKeys.has(\"why_now\") || resolvedOptions.whyNow === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.whyNow);\n const assignee =\n unsetTargets.frontMatterKeys.has(\"assignee\") || resolvedOptions.assignee === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.assignee);\n const authorValue = unsetTargets.frontMatterKeys.has(\"author\")\n ? undefined\n : parseOptionalString(resolvedOptions.author) ?? author;\n let parent =\n unsetTargets.frontMatterKeys.has(\"parent\") || resolvedOptions.parent === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.parent);\n const reviewer =\n unsetTargets.frontMatterKeys.has(\"reviewer\") || resolvedOptions.reviewer === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.reviewer);\n const riskRaw =\n unsetTargets.frontMatterKeys.has(\"risk\") || resolvedOptions.risk === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.risk);\n const risk = riskRaw !== undefined ? ensureEnumValue(normalizeRiskInput(riskRaw), RISK_VALUES, \"risk\") : undefined;\n const confidenceRaw =\n unsetTargets.frontMatterKeys.has(\"confidence\") || resolvedOptions.confidence === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.confidence);\n const confidence = confidenceRaw !== undefined ? parseConfidenceInput(confidenceRaw) : undefined;\n const parentReferencePolicy = settings.validation.parent_reference;\n const sprintReleasePolicy = settings.validation.sprint_release_format;\n const validationWarnings: string[] = [];\n if (parent !== undefined) {\n parent = normalizeParentReferenceValue(parent);\n const parentLocated = await locateItem(pmRoot, parent, settings.id_prefix, settings.item_format, typeRegistry.type_to_folder);\n if (!parentLocated) {\n const normalizedParentId = normalizeItemId(parent, settings.id_prefix);\n validationWarnings.push(...validateMissingParentReference(normalizedParentId, parentReferencePolicy).warnings);\n }\n }\n let sprint =\n unsetTargets.frontMatterKeys.has(\"sprint\") || resolvedOptions.sprint === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.sprint);\n if (sprint !== undefined) {\n const sprintValidation = validateSprintOrReleaseValue(\"sprint\", sprint, sprintReleasePolicy);\n sprint = sprintValidation.value;\n validationWarnings.push(...sprintValidation.warnings);\n }\n let release =\n unsetTargets.frontMatterKeys.has(\"release\") || resolvedOptions.release === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.release);\n if (release !== undefined) {\n const releaseValidation = validateSprintOrReleaseValue(\"release\", release, sprintReleasePolicy);\n release = releaseValidation.value;\n validationWarnings.push(...releaseValidation.warnings);\n }\n const blockedBy =\n unsetTargets.frontMatterKeys.has(\"blocked_by\") || resolvedOptions.blockedBy === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.blockedBy);\n const blockedReason =\n unsetTargets.frontMatterKeys.has(\"blocked_reason\") || resolvedOptions.blockedReason === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.blockedReason);\n const unblockNote =\n unsetTargets.frontMatterKeys.has(\"unblock_note\") || resolvedOptions.unblockNote === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.unblockNote);\n const reporter =\n unsetTargets.frontMatterKeys.has(\"reporter\") || resolvedOptions.reporter === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.reporter);\n const severityRaw =\n unsetTargets.frontMatterKeys.has(\"severity\") || resolvedOptions.severity === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.severity);\n const severity =\n severityRaw !== undefined ? ensureEnumValue(normalizeSeverityInput(severityRaw), ISSUE_SEVERITY_VALUES, \"severity\") : undefined;\n const environment =\n unsetTargets.frontMatterKeys.has(\"environment\") || resolvedOptions.environment === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.environment);\n const reproSteps =\n unsetTargets.frontMatterKeys.has(\"repro_steps\") || resolvedOptions.reproSteps === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.reproSteps);\n const resolution =\n unsetTargets.frontMatterKeys.has(\"resolution\") || resolvedOptions.resolution === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.resolution);\n const expectedResult =\n unsetTargets.frontMatterKeys.has(\"expected_result\") || resolvedOptions.expectedResult === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.expectedResult);\n const actualResult =\n unsetTargets.frontMatterKeys.has(\"actual_result\") || resolvedOptions.actualResult === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.actualResult);\n const affectedVersion =\n unsetTargets.frontMatterKeys.has(\"affected_version\") || resolvedOptions.affectedVersion === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.affectedVersion);\n const fixedVersion =\n unsetTargets.frontMatterKeys.has(\"fixed_version\") || resolvedOptions.fixedVersion === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.fixedVersion);\n const component =\n unsetTargets.frontMatterKeys.has(\"component\") || resolvedOptions.component === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.component);\n const regressionRaw =\n unsetTargets.frontMatterKeys.has(\"regression\") || resolvedOptions.regression === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.regression);\n const regression = regressionRaw !== undefined ? parseRegressionInput(regressionRaw) : undefined;\n const customerImpact =\n unsetTargets.frontMatterKeys.has(\"customer_impact\") || resolvedOptions.customerImpact === undefined\n ? undefined\n : parseOptionalString(resolvedOptions.customerImpact);\n const title = requireStringOption(resolvedOptions.title, \"--title\");\n const description = requireStringOption(resolvedOptions.description, \"--description\");\n const body = resolvedOptions.body ?? \"\";\n\n const frontMatter: ItemFrontMatter = normalizeFrontMatter({\n id,\n title,\n description,\n type,\n type_options: validatedTypeOptions.normalized,\n status,\n priority,\n tags,\n created_at: nowValue,\n updated_at: nowValue,\n deadline,\n assignee,\n author: authorValue,\n estimated_minutes: estimatedMinutes,\n acceptance_criteria: acceptanceCriteria,\n definition_of_ready: definitionOfReady,\n order,\n goal,\n objective,\n value,\n impact,\n outcome,\n why_now: whyNow,\n parent,\n reviewer,\n risk,\n confidence,\n sprint,\n release,\n blocked_by: blockedBy,\n blocked_reason: blockedReason,\n unblock_note: unblockNote,\n reporter,\n severity,\n environment,\n repro_steps: reproSteps,\n resolution,\n expected_result: expectedResult,\n actual_result: actualResult,\n affected_version: affectedVersion,\n fixed_version: fixedVersion,\n component,\n regression,\n customer_impact: customerImpact,\n dependencies: dependencies.values,\n comments: comments.values as Comment[] | undefined,\n notes: notes.values as LogNote[] | undefined,\n learnings: learnings.values as LogNote[] | undefined,\n files: files.values,\n tests: tests.values,\n docs: docs.values,\n reminders: reminders.values,\n events: events.values,\n ...runtimeCreateFieldValues.values,\n });\n try {\n applyRegisteredItemFieldDefaultsAndValidation(\n frontMatter as unknown as Record<string, unknown>,\n getActiveExtensionRegistrations(),\n );\n } catch (error: unknown) {\n throw new PmCliError(error instanceof Error ? error.message : \"Invalid extension item field values\", EXIT_CODE.USAGE);\n }\n\n const afterDocument: ItemDocument = canonicalDocument({\n front_matter: frontMatter,\n body,\n }, { schema: settings.schema });\n const beforeDocument: ItemDocument = {\n front_matter: {} as ItemFrontMatter,\n body: \"\",\n };\n\n const itemPath = getItemPath(pmRoot, type, id, settings.item_format, typeRegistry.type_to_folder);\n const historyPath = getHistoryPath(pmRoot, id);\n const lockRelease = await acquireLock(\n pmRoot,\n id,\n settings.locks.ttl_seconds,\n author,\n false,\n settings.governance.force_required_for_stale_lock,\n );\n const explicitUnsetKeys = [...explicitUnsets].sort((left, right) => left.localeCompare(right));\n const historyMessage = buildHistoryMessage(resolvedOptions.message, explicitUnsetKeys);\n let hookWarnings: string[] = [];\n\n try {\n await writeFileAtomic(itemPath, serializeItemDocument(afterDocument, { format: settings.item_format, schema: settings.schema }));\n try {\n const entry = createHistoryEntry({\n nowIso: nowValue,\n author,\n op: \"create\",\n before: beforeDocument,\n after: afterDocument,\n message: historyMessage,\n });\n await appendHistoryEntry(historyPath, entry);\n } catch (error: unknown) {\n await removeFileIfExists(itemPath);\n throw error;\n }\n hookWarnings = [\n ...(await runActiveOnWriteHooks({\n path: itemPath,\n scope: \"project\",\n op: \"create\",\n })),\n ...(await runActiveOnWriteHooks({\n path: historyPath,\n scope: \"project\",\n op: \"create:history\",\n })),\n ];\n } finally {\n await lockRelease();\n }\n\n const changedFields = buildChangedFields(frontMatter, explicitUnsetKeys);\n const outputItem = structuredClone(frontMatter);\n return {\n item: outputItem,\n changed_fields: changedFields,\n warnings: [...validationWarnings, ...hookWarnings],\n };\n}\n"]}
|