@unbrained/pm-cli 2026.5.29 → 2026.5.30
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 +29 -12
- package/dist/cli/bootstrap-args.d.ts +1 -1
- package/dist/cli/bootstrap-args.js +59 -9
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commands/activity.js +4 -4
- package/dist/cli/commands/activity.js.map +1 -1
- package/dist/cli/commands/calendar.js +4 -4
- package/dist/cli/commands/calendar.js.map +1 -1
- package/dist/cli/commands/close.js +4 -4
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/completion.js +4 -4
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/create.js +18 -5
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/deps.js +4 -4
- package/dist/cli/commands/deps.js.map +1 -1
- package/dist/cli/commands/extension/install-sources.d.ts +1 -0
- package/dist/cli/commands/extension/install-sources.js +20 -2
- package/dist/cli/commands/extension/install-sources.js.map +1 -1
- package/dist/cli/commands/extension.js +26 -5
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/get.js +6 -3
- package/dist/cli/commands/get.js.map +1 -1
- package/dist/cli/commands/list.js +25 -6
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/search.js +3 -3
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/stats.js +4 -4
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/test-all.js +4 -4
- package/dist/cli/commands/test-all.js.map +1 -1
- package/dist/cli/main.d.ts +2 -0
- package/dist/cli/main.js +39 -11
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/register-list-query.js +3 -3
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-setup.js +3 -3
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli-bundle/chunks/chunk-PB2YU2E3.js +164 -0
- package/dist/cli-bundle/chunks/chunk-PB2YU2E3.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-RJONRNXN.js +682 -0
- package/dist/cli-bundle/chunks/chunk-RJONRNXN.js.map +7 -0
- package/dist/cli-bundle/chunks/chunk-SW5BMMCU.js +13864 -0
- package/dist/cli-bundle/chunks/chunk-SW5BMMCU.js.map +7 -0
- package/dist/cli-bundle/chunks/commands-XJ4TJ5UN.js +24225 -0
- package/dist/cli-bundle/chunks/commands-XJ4TJ5UN.js.map +7 -0
- package/dist/cli-bundle/chunks/register-list-query-EIVQ5FMR.js +223 -0
- package/dist/cli-bundle/chunks/register-list-query-EIVQ5FMR.js.map +7 -0
- package/dist/cli-bundle/chunks/register-mutation-RSZNPSGI.js +702 -0
- package/dist/cli-bundle/chunks/register-mutation-RSZNPSGI.js.map +7 -0
- package/dist/cli-bundle/chunks/register-operations-APUSYDMR.js +355 -0
- package/dist/cli-bundle/chunks/register-operations-APUSYDMR.js.map +7 -0
- package/dist/cli-bundle/chunks/register-setup-OZOKSMPJ.js +237 -0
- package/dist/cli-bundle/chunks/register-setup-OZOKSMPJ.js.map +7 -0
- package/dist/cli-bundle/main.js +6896 -0
- package/dist/cli-bundle/main.js.map +7 -0
- package/dist/cli.js +1 -1
- package/dist/core/config/nested-settings.d.ts +2 -0
- package/dist/core/config/nested-settings.js +17 -2
- package/dist/core/config/nested-settings.js.map +1 -1
- package/dist/core/item/type-synonyms.d.ts +20 -0
- package/dist/core/item/type-synonyms.js +42 -0
- package/dist/core/item/type-synonyms.js.map +1 -0
- package/dist/core/search/cache.js +46 -4
- package/dist/core/search/cache.js.map +1 -1
- package/dist/core/search/semantic-defaults.js +73 -32
- package/dist/core/search/semantic-defaults.js.map +1 -1
- package/dist/core/sentry/helpers.d.ts +1 -1
- package/dist/core/sentry/helpers.js +4 -4
- package/dist/core/sentry/helpers.js.map +1 -1
- package/dist/core/shared/constants.js +3 -2
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/shared/html-entity-decode.d.ts +2 -1
- package/dist/core/shared/html-entity-decode.js +14 -9
- package/dist/core/shared/html-entity-decode.js.map +1 -1
- package/dist/core/shared/time.js +52 -2
- package/dist/core/shared/time.js.map +1 -1
- package/dist/core/store/front-matter-cache.d.ts +24 -0
- package/dist/core/store/front-matter-cache.js +119 -8
- package/dist/core/store/front-matter-cache.js.map +1 -1
- package/dist/core/store/item-store.d.ts +7 -0
- package/dist/core/store/item-store.js +13 -3
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/settings-validator.d.ts +1 -0
- package/dist/core/store/settings-validator.js +3 -2
- package/dist/core/store/settings-validator.js.map +1 -1
- package/dist/core/store/settings.js +19 -3
- package/dist/core/store/settings.js.map +1 -1
- package/dist/mcp/server.js +3 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/sdk/cli-contracts.js +5 -5
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.js +2 -2
- package/dist/types.js.map +1 -1
- package/docs/CONFIGURATION.md +11 -0
- package/package.json +7 -4
- package/packages/pm-calendar/extensions/calendar/index.js +27 -2
- package/packages/pm-calendar/extensions/calendar/index.ts +28 -2
- package/scripts/bundle-cli.mjs +39 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a9e9e59a-9be5-5285-96a5-093e23264246")}catch(e){}}();
|
|
3
3
|
import { pathExists, removeFileIfExists, writeFileAtomic } from "../../core/fs/fs-utils.js";
|
|
4
4
|
import { appendHistoryEntry, createHistoryEntry } from "../../core/history/history.js";
|
|
5
5
|
import { generateItemId, normalizeItemId } from "../../core/item/id.js";
|
|
@@ -13,6 +13,7 @@ import { canonicalizeCommandOptionKey, commandOptionFlagLabel, resolveItemTypeRe
|
|
|
13
13
|
import { acquireLock } from "../../core/lock/lock.js";
|
|
14
14
|
import { printError } from "../../core/output/output.js";
|
|
15
15
|
import { buildInvalidTypeError } from "../../core/schema/item-types-file.js";
|
|
16
|
+
import { resolveTypeSynonym } from "../../core/item/type-synonyms.js";
|
|
16
17
|
import { collectRuntimeCreateFieldValues } from "../../core/schema/runtime-field-values.js";
|
|
17
18
|
import { resolveRuntimeFieldRegistry, resolveRuntimeStatusRegistry, } from "../../core/schema/runtime-schema.js";
|
|
18
19
|
import { EXIT_CODE, FRONT_MATTER_KEY_ORDER } from "../../core/shared/constants.js";
|
|
@@ -963,9 +964,21 @@ export async function runCreate(options, global) {
|
|
|
963
964
|
if (resolvedOptions.type === undefined) {
|
|
964
965
|
throw new PmCliError("Missing required option --type <value>", EXIT_CODE.USAGE);
|
|
965
966
|
}
|
|
966
|
-
|
|
967
|
+
let resolvedTypeName = resolveTypeName(resolvedOptions.type, typeRegistry);
|
|
967
968
|
if (!resolvedTypeName) {
|
|
968
|
-
|
|
969
|
+
// Never block on a near-miss type: map a known synonym (e.g. Bug -> Issue,
|
|
970
|
+
// Change -> Chore) to its canonical built-in type when that type exists in the
|
|
971
|
+
// active registry, and tell the agent how to make it a distinct custom type.
|
|
972
|
+
const synonymCanonical = resolveTypeSynonym(resolvedOptions.type);
|
|
973
|
+
const synonymResolved = synonymCanonical ? resolveTypeName(synonymCanonical, typeRegistry) : undefined;
|
|
974
|
+
if (synonymResolved) {
|
|
975
|
+
printError(`[pm] note: type '${resolvedOptions.type.trim()}' is not defined; using closest match '${synonymResolved}'. Run 'pm schema add-type "${resolvedOptions.type.trim()}"' to track it as a distinct type.`);
|
|
976
|
+
resolvedOptions.type = synonymResolved;
|
|
977
|
+
resolvedTypeName = synonymResolved;
|
|
978
|
+
}
|
|
979
|
+
else {
|
|
980
|
+
throw new PmCliError(buildInvalidTypeError(resolvedOptions.type, typeRegistry.types), EXIT_CODE.USAGE);
|
|
981
|
+
}
|
|
969
982
|
}
|
|
970
983
|
const typeDefinition = resolveTypeDefinition(resolvedTypeName, typeRegistry);
|
|
971
984
|
if (!typeDefinition) {
|
|
@@ -1531,7 +1544,7 @@ export async function runCreate(options, global) {
|
|
|
1531
1544
|
// automation reads; this stderr line is the human/agent-facing version with a
|
|
1532
1545
|
// copy-pasteable `pm update` recipe.
|
|
1533
1546
|
if (calendarRelevantTypes.has(type.toLowerCase()) && !hasDeadline && !hasReminders && !hasEvents) {
|
|
1534
|
-
printError(`[pm] warning: ${type} '${id}' has no deadline/reminder/event — it will not appear on the calendar. Add one via 'pm update ${id} --deadline <ISO>' or 'pm update ${id} --event "
|
|
1547
|
+
printError(`[pm] warning: ${type} '${id}' has no deadline/reminder/event — it will not appear on the calendar. Add one via 'pm update ${id} --deadline <ISO>' or 'pm update ${id} --event "start=<ISO>,end=<ISO>"'.`);
|
|
1535
1548
|
}
|
|
1536
1549
|
return {
|
|
1537
1550
|
item: outputItem,
|
|
@@ -1540,4 +1553,4 @@ export async function runCreate(options, global) {
|
|
|
1540
1553
|
};
|
|
1541
1554
|
}
|
|
1542
1555
|
//# sourceMappingURL=create.js.map
|
|
1543
|
-
//# debugId=
|
|
1556
|
+
//# debugId=a9e9e59a-9be5-5285-96a5-093e23264246
|