pm-github 2026.10.27 → 2026.10.29

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.
Files changed (66) hide show
  1. package/CHANGELOG.md +52 -39
  2. package/README.md +75 -3
  3. package/dist/closeout.d.ts.map +1 -1
  4. package/dist/closeout.js +71 -30
  5. package/dist/closeout.js.map +1 -1
  6. package/dist/discussion-schema.d.ts +110 -0
  7. package/dist/discussion-schema.d.ts.map +1 -0
  8. package/dist/discussion-schema.js +41 -0
  9. package/dist/discussion-schema.js.map +1 -0
  10. package/dist/discussions.d.ts +26 -0
  11. package/dist/discussions.d.ts.map +1 -0
  12. package/dist/discussions.js +215 -0
  13. package/dist/discussions.js.map +1 -0
  14. package/dist/gate.d.ts.map +1 -1
  15. package/dist/gate.js +10 -4
  16. package/dist/gate.js.map +1 -1
  17. package/dist/identity.d.ts.map +1 -1
  18. package/dist/identity.js +2 -1
  19. package/dist/identity.js.map +1 -1
  20. package/dist/import-fidelity.d.ts +8 -3
  21. package/dist/import-fidelity.d.ts.map +1 -1
  22. package/dist/import-fidelity.js +39 -10
  23. package/dist/import-fidelity.js.map +1 -1
  24. package/dist/import-tags.d.ts +15 -0
  25. package/dist/import-tags.d.ts.map +1 -0
  26. package/dist/import-tags.js +35 -0
  27. package/dist/import-tags.js.map +1 -0
  28. package/dist/index.d.ts +52 -41
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +188 -89
  31. package/dist/index.js.map +1 -1
  32. package/dist/issue-forms.d.ts +1 -1
  33. package/dist/issue-forms.d.ts.map +1 -1
  34. package/dist/issue-forms.js +8 -5
  35. package/dist/issue-forms.js.map +1 -1
  36. package/dist/label-names.d.ts +6 -0
  37. package/dist/label-names.d.ts.map +1 -0
  38. package/dist/label-names.js +15 -0
  39. package/dist/label-names.js.map +1 -0
  40. package/dist/labels.d.ts +161 -0
  41. package/dist/labels.d.ts.map +1 -0
  42. package/dist/labels.js +235 -0
  43. package/dist/labels.js.map +1 -0
  44. package/dist/projects.d.ts +6 -4
  45. package/dist/projects.d.ts.map +1 -1
  46. package/dist/projects.js +25 -24
  47. package/dist/projects.js.map +1 -1
  48. package/dist/refresh.d.ts +2 -1
  49. package/dist/refresh.d.ts.map +1 -1
  50. package/dist/refresh.js +19 -9
  51. package/dist/refresh.js.map +1 -1
  52. package/dist/webhooks.d.ts.map +1 -1
  53. package/dist/webhooks.js +5 -2
  54. package/dist/webhooks.js.map +1 -1
  55. package/dist/workflow-diagnostic.d.ts +9 -0
  56. package/dist/workflow-diagnostic.d.ts.map +1 -0
  57. package/dist/workflow-diagnostic.js +62 -0
  58. package/dist/workflow-diagnostic.js.map +1 -0
  59. package/dist/workspace.d.ts +18 -0
  60. package/dist/workspace.d.ts.map +1 -0
  61. package/dist/workspace.js +39 -0
  62. package/dist/workspace.js.map +1 -0
  63. package/docs/discussion-capture-example.json +14 -0
  64. package/docs/discussion-capture.md +44 -0
  65. package/manifest.json +2 -2
  66. package/package.json +15 -10
@@ -55,7 +55,7 @@ export declare function refuseIssueForm(code: IssueFormRefusalCode, checklist: F
55
55
  /** Compile repository form semantics without reading a tracker or contacting GitHub. */
56
56
  export declare function compileIssueForm(value: unknown): IssueFormContract;
57
57
  /** Validate current SDK state, never saved input, before rendering an export body. */
58
- export declare function completeIssueForm(pmRoot: string, value: unknown): Promise<IssueFormCompletion>;
58
+ export declare function completeIssueForm(pmPath: string, value: unknown): Promise<IssueFormCompletion>;
59
59
  /** Fetch boundary reuses the package's authenticated, retrying read-only REST transport. */
60
60
  export type IssueFormReader = (url: string) => Promise<{
61
61
  body: string;
@@ -1 +1 @@
1
- {"version":3,"file":"issue-forms.d.ts","sourceRoot":"","sources":["../issue-forms.ts"],"names":[],"mappings":"AAQA,4EAA4E;AAC5E,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,oBAAoB,CAAC;AAC9I,uFAAuF;AACvF,MAAM,WAAW,UAAU;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC7E,qFAAqF;AACrF,MAAM,WAAW,kBAAkB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC/E,uFAAuF;AACvF,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AACD,gFAAgF;AAChF,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IACnE,QAAQ,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC5E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AACD,uFAAuF;AACvF,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE;AACvH,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9D,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,UAAU,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAC5D;AACD,qFAAqF;AACrF,MAAM,WAAW,mBAAmB;IAAG,MAAM,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAwC9E,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,OAAO,SAAI,GAAG,KAAK,CAKvG;AA8BD,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAAkC;AAErG,sFAAsF;AACtF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA8CpG;AAgBD,4FAA4F;AAC5F,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACzE,qGAAqG;AACrG,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAC9G,KAAK,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAa1I"}
1
+ {"version":3,"file":"issue-forms.d.ts","sourceRoot":"","sources":["../issue-forms.ts"],"names":[],"mappings":"AAUA,4EAA4E;AAC5E,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,oBAAoB,CAAC;AAC9I,uFAAuF;AACvF,MAAM,WAAW,UAAU;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAC7E,qFAAqF;AACrF,MAAM,WAAW,kBAAkB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC/E,uFAAuF;AACvF,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AACD,gFAAgF;AAChF,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;IACnE,QAAQ,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC5E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AACD,uFAAuF;AACvF,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE;AACvH,sFAAsF;AACtF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9D,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,UAAU,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAC5D;AACD,qFAAqF;AACrF,MAAM,WAAW,mBAAmB;IAAG,MAAM,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAwC9E,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,OAAO,SAAI,GAAG,KAAK,CAKvG;AA8BD,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAAkC;AAErG,sFAAsF;AACtF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA+CpG;AAgBD,4FAA4F;AAC5F,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACzE,qGAAqG;AACrG,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAC9G,KAAK,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAa1I"}
@@ -1,10 +1,12 @@
1
+ import { readGithubWorkspace } from "./workspace.js";
1
2
  /** Read-only GitHub issue-form contracts; no cached approvals or remote writes. */
2
3
  import { createHash } from "node:crypto";
3
4
  import { openSync, readSync, closeSync, fstatSync, constants } from "node:fs";
4
5
  import { parseDocument } from "yaml";
5
6
  import { z } from "zod";
6
7
  import { emptyRecord, ownValue } from "./own-record.js";
7
- import { createPmCliExpectedError, readSettings, resolveItemTypeRegistry, getActiveExtensionRegistrations, locateItem, readLocatedItem } from "@unbrained/pm-cli/sdk";
8
+ import { uniqueGithubLabelNames } from "./label-names.js";
9
+ import { createPmCliExpectedError, locateItem, readLocatedItem } from "@unbrained/pm-cli/sdk";
8
10
  const text = z.string().max(32768);
9
11
  const short = z.string().min(1).max(200).regex(/^[^\r\n]+$/);
10
12
  const key = z.string().regex(/^[\p{L}\p{N}_-]{1,100}$/u);
@@ -83,19 +85,20 @@ function compile(request) {
83
85
  refuseIssueForm("invalid_form_input", [{ field: id, reason: "unknown_field", remedy: "Use only answer IDs listed by the compiled contract." }]);
84
86
  }
85
87
  return { repo: request.repo, ref: request.ref, path: request.path,
86
- digest: createHash("sha256").update(JSON.stringify(request.yaml)).digest("hex"), fields: compiled, labels: request.yaml.labels ?? [] };
88
+ digest: createHash("sha256").update(JSON.stringify(request.yaml)).digest("hex"), fields: compiled, labels: uniqueGithubLabelNames(request.yaml.labels ?? []) };
87
89
  }
88
90
  /** Compile repository form semantics without reading a tracker or contacting GitHub. */
89
91
  export function compileIssueForm(value) { return compile(input(value)); }
90
92
  /** Validate current SDK state, never saved input, before rendering an export body. */
91
- export async function completeIssueForm(pmRoot, value) {
93
+ export async function completeIssueForm(pmPath, value) {
92
94
  const request = input(value);
93
95
  const contract = compile(request);
94
96
  let native = emptyRecord();
95
97
  if (request.item !== undefined) {
96
98
  try {
97
- const settings = await readSettings(pmRoot);
98
- const registry = resolveItemTypeRegistry(settings, getActiveExtensionRegistrations());
99
+ const workspace = await readGithubWorkspace(pmPath);
100
+ const pmRoot = workspace.pmRoot;
101
+ const { settings, types: registry } = workspace;
99
102
  const located = await locateItem(pmRoot, request.item, settings.id_prefix, settings.item_format, registry.type_to_folder);
100
103
  if (!located)
101
104
  throw new Error("missing item");
@@ -1 +1 @@
1
- {"version":3,"file":"issue-forms.js","sourceRoot":"","sources":["../issue-forms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"issue-forms.js","sourceRoot":"","sources":["../issue-forms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /** GitHub label-name comparison is separate from opaque label identity and native tag normalization. */
2
+ /** Compare provider names without case while retaining whitespace, punctuation and spelling for output. */
3
+ export declare function githubLabelNameKey(name: string): string;
4
+ /** Keep the first spelling of each effective provider label; never use this to collapse node IDs. */
5
+ export declare function uniqueGithubLabelNames(names: readonly string[]): string[];
6
+ //# sourceMappingURL=label-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-names.d.ts","sourceRoot":"","sources":["../label-names.ts"],"names":[],"mappings":"AAAA,wGAAwG;AAExG,2GAA2G;AAC3G,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAA+B;AAEvF,qGAAqG;AACrG,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAQzE"}
@@ -0,0 +1,15 @@
1
+ /** GitHub label-name comparison is separate from opaque label identity and native tag normalization. */
2
+ /** Compare provider names without case while retaining whitespace, punctuation and spelling for output. */
3
+ export function githubLabelNameKey(name) { return name.toLowerCase(); }
4
+ /** Keep the first spelling of each effective provider label; never use this to collapse node IDs. */
5
+ export function uniqueGithubLabelNames(names) {
6
+ const seen = new Set();
7
+ return names.filter(name => {
8
+ const key = githubLabelNameKey(name);
9
+ if (seen.has(key))
10
+ return false;
11
+ seen.add(key);
12
+ return true;
13
+ });
14
+ }
15
+ //# sourceMappingURL=label-names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label-names.js","sourceRoot":"","sources":["../label-names.ts"],"names":[],"mappings":"AAAA,wGAAwG;AAExG,2GAA2G;AAC3G,MAAM,UAAU,kBAAkB,CAAC,IAAY,IAAY,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAEvF,qGAAqG;AACrG,MAAM,UAAU,sBAAsB,CAAC,KAAwB;IAC7D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACzB,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,161 @@
1
+ import { z } from "zod";
2
+ /** Stable expected refusals; every failure supplies an actionable remedy. */
3
+ export type LabelMigrationRefusalCode = "invalid_input" | "catalog_unavailable" | "stale_labels" | "incomplete_read" | "stale_plan" | "unresolved_choices" | "invalid_output";
4
+ declare const requestSchema: z.ZodObject<{
5
+ repo: z.ZodString;
6
+ sources: z.ZodArray<z.ZodObject<{
7
+ id: z.ZodString;
8
+ name: z.ZodString;
9
+ }, z.core.$strict>>;
10
+ change: z.ZodDiscriminatedUnion<[z.ZodObject<{
11
+ kind: z.ZodLiteral<"rename">;
12
+ name: z.ZodString;
13
+ }, z.core.$strict>, z.ZodObject<{
14
+ kind: z.ZodLiteral<"consolidate">;
15
+ target: z.ZodObject<{
16
+ id: z.ZodString;
17
+ name: z.ZodString;
18
+ }, z.core.$strict>;
19
+ }, z.core.$strict>], "kind">;
20
+ filters: z.ZodArray<z.ZodObject<{
21
+ id: z.ZodString;
22
+ labels: z.ZodArray<z.ZodString>;
23
+ }, z.core.$strict>>;
24
+ mappings: z.ZodArray<z.ZodObject<{
25
+ id: z.ZodString;
26
+ from: z.ZodString;
27
+ to: z.ZodString;
28
+ }, z.core.$strict>>;
29
+ choices: z.ZodObject<{
30
+ tags: z.ZodEnum<{
31
+ keep: "keep";
32
+ replace: "replace";
33
+ review: "review";
34
+ }>;
35
+ filters: z.ZodEnum<{
36
+ keep: "keep";
37
+ replace: "replace";
38
+ review: "review";
39
+ }>;
40
+ mappings: z.ZodEnum<{
41
+ keep: "keep";
42
+ replace: "replace";
43
+ review: "review";
44
+ }>;
45
+ }, z.core.$strict>;
46
+ }, z.core.$strict>;
47
+ declare const catalogSchema: z.ZodObject<{
48
+ complete: z.ZodLiteral<true>;
49
+ labels: z.ZodArray<z.ZodObject<{
50
+ id: z.ZodString;
51
+ name: z.ZodString;
52
+ }, z.core.$strict>>;
53
+ }, z.core.$strict>;
54
+ declare const reportSchema: z.ZodObject<{
55
+ ok: z.ZodLiteral<true>;
56
+ repo: z.ZodString;
57
+ approval: z.ZodString;
58
+ checked: z.ZodBoolean;
59
+ sources: z.ZodArray<z.ZodObject<{
60
+ id: z.ZodString;
61
+ name: z.ZodString;
62
+ }, z.core.$strict>>;
63
+ destination: z.ZodObject<{
64
+ id: z.ZodString;
65
+ name: z.ZodString;
66
+ }, z.core.$strict>;
67
+ counts: z.ZodObject<{
68
+ scanned: z.ZodNumber;
69
+ items: z.ZodNumber;
70
+ tags: z.ZodNumber;
71
+ filters: z.ZodNumber;
72
+ mappings: z.ZodNumber;
73
+ review: z.ZodNumber;
74
+ total: z.ZodNumber;
75
+ }, z.core.$strict>;
76
+ offset: z.ZodNumber;
77
+ next: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
78
+ rows: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
79
+ id: z.ZodString;
80
+ source: z.ZodString;
81
+ before: z.ZodString;
82
+ after: z.ZodString;
83
+ choice: z.ZodEnum<{
84
+ keep: "keep";
85
+ replace: "replace";
86
+ review: "review";
87
+ }>;
88
+ evidence: z.ZodEnum<{
89
+ declared_policy: "declared_policy";
90
+ unverified_name: "unverified_name";
91
+ }>;
92
+ identities: z.ZodArray<z.ZodString>;
93
+ identities_omitted: z.ZodNumber;
94
+ kind: z.ZodLiteral<"tags">;
95
+ local_tag: z.ZodString;
96
+ after_tags: z.ZodArray<z.ZodString>;
97
+ }, z.core.$strict>, z.ZodObject<{
98
+ id: z.ZodString;
99
+ source: z.ZodString;
100
+ before: z.ZodString;
101
+ after: z.ZodString;
102
+ choice: z.ZodEnum<{
103
+ keep: "keep";
104
+ replace: "replace";
105
+ review: "review";
106
+ }>;
107
+ evidence: z.ZodEnum<{
108
+ declared_policy: "declared_policy";
109
+ unverified_name: "unverified_name";
110
+ }>;
111
+ identities: z.ZodArray<z.ZodString>;
112
+ identities_omitted: z.ZodNumber;
113
+ kind: z.ZodLiteral<"filters">;
114
+ local_tag: z.ZodDefault<z.ZodNull>;
115
+ after_tags: z.ZodDefault<z.ZodNull>;
116
+ }, z.core.$strict>, z.ZodObject<{
117
+ id: z.ZodString;
118
+ source: z.ZodString;
119
+ before: z.ZodString;
120
+ after: z.ZodString;
121
+ choice: z.ZodEnum<{
122
+ keep: "keep";
123
+ replace: "replace";
124
+ review: "review";
125
+ }>;
126
+ evidence: z.ZodEnum<{
127
+ declared_policy: "declared_policy";
128
+ unverified_name: "unverified_name";
129
+ }>;
130
+ identities: z.ZodArray<z.ZodString>;
131
+ identities_omitted: z.ZodNumber;
132
+ kind: z.ZodLiteral<"mappings">;
133
+ local_tag: z.ZodString;
134
+ after_tags: z.ZodDefault<z.ZodNull>;
135
+ }, z.core.$strict>], "kind">>>;
136
+ }, z.core.$strict>;
137
+ /** Explicit source IDs and expected names; filters and mappings are caller-declared policy inventories. */
138
+ export type GithubLabelMigrationInput = z.infer<typeof requestSchema>;
139
+ /** A complete, repository-scoped provider catalog; IDs are GitHub node_id values. */
140
+ export type GithubLabelCatalog = z.infer<typeof catalogSchema>;
141
+ /** Adapters must return a fresh complete catalog, or throw; no persistent cache is maintained. */
142
+ export type GithubLabelCatalogReader = (repo: string) => Promise<unknown>;
143
+ /** Compact output carries complete counts and bounded rows; approval is independent of pagination. */
144
+ export type GithubLabelMigrationReport = z.infer<typeof reportSchema>;
145
+ /** Parse producers and consumers with exactly the same strict contract. */
146
+ export declare function validateGithubLabelMigrationReport(value: unknown): GithubLabelMigrationReport;
147
+ /** Drain every provider page with the existing authenticated HTTP client and constrained pagination. */
148
+ export declare function readGithubLabelCatalog(repo: string): Promise<GithubLabelCatalog>;
149
+ /** Read bounded JSON using a descriptor, refusing linked/special files before consuming bytes. */
150
+ export declare function readLabelMigrationJson(file: string): unknown;
151
+ /** Preview or revalidate a plan through complete isolated SDK reads, without creating a journal or writing targets. */
152
+ export declare function planGithubLabelMigration(pmRoot: string, input: GithubLabelMigrationInput, options?: {
153
+ page?: {
154
+ limit?: number;
155
+ offset?: number;
156
+ };
157
+ approval?: string;
158
+ readCatalog?: GithubLabelCatalogReader;
159
+ }): Promise<GithubLabelMigrationReport>;
160
+ export {};
161
+ //# sourceMappingURL=labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../labels.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,6EAA6E;AAC7E,MAAM,MAAM,yBAAyB,GAAG,eAAe,GAAG,qBAAqB,GAAG,cAAc,GAAG,iBAAiB,GAAG,YAAY,GAAG,oBAAoB,GAAG,gBAAgB,CAAC;AAa9K,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAUjB,CAAC;AACH,QAAA,MAAM,aAAa;;;;;;kBAAmF,CAAC;AAWvG,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGqF,CAAC;AAmBxG,2GAA2G;AAC3G,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACtE,qFAAqF;AACrF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC/D,kGAAkG;AAClG,MAAM,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1E,sGAAsG;AACtG,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtE,2EAA2E;AAC3E,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAa7F;AAWD,wGAAwG;AACxG,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwBtF;AAED,kGAAkG;AAClG,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAY5D;AAED,uHAAuH;AACvH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAC7F,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,wBAAwB,CAAA;CAAO,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAgE9J"}
package/dist/labels.js ADDED
@@ -0,0 +1,235 @@
1
+ /** Read-only label policy plans. Provider identities never follow display-name inference. */
2
+ import { createHash } from "node:crypto";
3
+ import { openSync, closeSync, fstatSync, readSync, constants } from "node:fs";
4
+ import { z } from "zod";
5
+ import { createPmCliExpectedError, decodePmTableRows, toImportTags } from "@unbrained/pm-cli/sdk";
6
+ import { readRefreshItems } from "./refresh.js";
7
+ import { githubLabelNameKey } from "./label-names.js";
8
+ import { githubLabelsToTags } from "./import-tags.js";
9
+ import { ownValue } from "./own-record.js";
10
+ import { fetchJSON, githubApiBase, parseNextLink, parseProvenanceTag, resolveGitHubToken } from "./index.js";
11
+ /** Fail without echoing source documents, provider payloads or local paths. */
12
+ function refuse(code, remedy) {
13
+ throw createPmCliExpectedError(`GitHub label migration: ${code}. ${remedy}`, { exitCode: 2, context: { code, required: remedy } });
14
+ }
15
+ /** Bound raw names and SDK-produced tags; Unicode lowercase can expand a raw name. */
16
+ function boundedAtom(maximum) { return z.string().min(1).max(maximum).regex(/^[^\r\n\u0000]+$/).refine(value => value.trim().length > 0); }
17
+ const atom = boundedAtom(200);
18
+ const nativeTag = boundedAtom(600);
19
+ const count = z.number().int().min(0).max(Number.MAX_SAFE_INTEGER);
20
+ const label = z.strictObject({ id: atom, name: atom });
21
+ const choice = z.enum(["review", "keep", "replace"]);
22
+ const requestSchema = z.strictObject({
23
+ repo: z.string().regex(/^[A-Za-z0-9_.-]{1,100}\/[A-Za-z0-9_.-]{1,100}$/),
24
+ sources: z.array(label).min(1).max(20),
25
+ change: z.discriminatedUnion("kind", [
26
+ z.strictObject({ kind: z.literal("rename"), name: atom }),
27
+ z.strictObject({ kind: z.literal("consolidate"), target: label }),
28
+ ]),
29
+ filters: z.array(z.strictObject({ id: atom, labels: z.array(atom).max(100) })).max(1000),
30
+ mappings: z.array(z.strictObject({ id: atom, from: atom, to: atom })).max(1000),
31
+ choices: z.strictObject({ tags: choice, filters: choice, mappings: choice }),
32
+ });
33
+ const catalogSchema = z.strictObject({ complete: z.literal(true), labels: z.array(label).max(10000) });
34
+ const pageSchema = z.strictObject({ limit: z.number().int().min(1).max(100).default(20), offset: count.default(0) });
35
+ const boundarySchema = z.strictObject({ request: requestSchema, page: pageSchema,
36
+ approval: z.string().regex(/^[a-f0-9]{64}$/).optional() });
37
+ const rowFields = { id: atom, source: atom, before: nativeTag, after: atom, choice,
38
+ evidence: z.enum(["unverified_name", "declared_policy"]), identities: z.array(z.string().min(1).max(240)).max(100), identities_omitted: count };
39
+ const rowSchema = z.discriminatedUnion("kind", [
40
+ z.strictObject({ ...rowFields, kind: z.literal("tags"), local_tag: nativeTag, after_tags: z.array(nativeTag).max(200) }),
41
+ z.strictObject({ ...rowFields, kind: z.literal("filters"), local_tag: z.null().default(null), after_tags: z.null().default(null) }),
42
+ z.strictObject({ ...rowFields, kind: z.literal("mappings"), local_tag: nativeTag, after_tags: z.null().default(null) }),
43
+ ]);
44
+ const reportSchema = z.strictObject({ ok: z.literal(true), repo: requestSchema.shape.repo, approval: z.string().regex(/^[a-f0-9]{64}$/),
45
+ checked: z.boolean(), sources: z.array(label).max(20), destination: label,
46
+ counts: z.strictObject({ scanned: count, items: count, tags: count, filters: count, mappings: count, review: count, total: count }),
47
+ offset: count, next: count.nullable().default(null), rows: z.array(rowSchema).max(100).default([]) });
48
+ const rowKeys = z.enum([...new Set(rowSchema.options.flatMap(schema => Object.keys(schema.shape)))]);
49
+ const tableReportSchema = reportSchema.omit({ rows: true }).extend({
50
+ rows: z.array(z.record(z.string().refine(key => rowKeys.options.includes(key)), z.union([z.string().max(131072), count, z.boolean(), z.null()]))).max(100),
51
+ rows_encoding: z.strictObject({ json_columns: z.array(rowKeys).max(rowKeys.options.length),
52
+ absent: z.array(z.tuple([z.number().int().min(0).max(99), rowKeys])).max(100 * rowKeys.options.length) }),
53
+ }).refine(value => new Set(value.rows_encoding.json_columns).size === value.rows_encoding.json_columns.length &&
54
+ new Set(value.rows_encoding.absent.map(coordinate => JSON.stringify(coordinate))).size === value.rows_encoding.absent.length &&
55
+ value.rows_encoding.absent.every(([index, key]) => index < value.rows.length && ownValue(value.rows[index], key) === null));
56
+ const reportBoundarySchema = z.union([reportSchema, tableReportSchema.transform((table, context) => {
57
+ const { rows_encoding, rows, ...report } = table;
58
+ try {
59
+ const parsed = reportSchema.safeParse({ ...report, rows: decodePmTableRows({ rows, encoding: rows_encoding }) });
60
+ if (parsed.success)
61
+ return parsed.data;
62
+ }
63
+ catch { /* Malformed SDK table cells are a refused report, never a leaked payload or stack. */ }
64
+ context.addIssue({ code: "custom", message: "Invalid encoded report rows" });
65
+ return z.NEVER;
66
+ })]);
67
+ /** Parse producers and consumers with exactly the same strict contract. */
68
+ export function validateGithubLabelMigrationReport(value) {
69
+ const result = reportBoundarySchema.safeParse(value);
70
+ if (!result.success)
71
+ refuse("invalid_output", "Discard this report and regenerate it with a supported package version.");
72
+ const report = result.data;
73
+ const c = report.counts;
74
+ const end = BigInt(report.offset) + BigInt(report.rows.length);
75
+ const expectedNext = end < BigInt(c.total) ? Number(end) : null;
76
+ if (BigInt(c.total) !== BigInt(c.tags) + BigInt(c.filters) + BigInt(c.mappings) || c.items > c.scanned || c.review > c.total ||
77
+ end > BigInt(c.total) && report.rows.length > 0 || report.next !== expectedNext ||
78
+ report.next !== null && report.rows.length === 0) {
79
+ refuse("invalid_output", "Regenerate a report with consistent complete counts and continuation.");
80
+ }
81
+ return report;
82
+ }
83
+ /** Hash complete evidence rather than displayed pages; revisions prevent content-only replay approvals. */
84
+ function digest(value) { return createHash("sha256").update(JSON.stringify(value)).digest("hex"); }
85
+ /** Canonical order is bytewise and independent of the host's locale. */
86
+ function order(a, b) { return a < b ? -1 : a > b ? 1 : 0; }
87
+ /** Refuse duplicate identities instead of silently collapsing user policy or provider labels. */
88
+ function unique(ids) {
89
+ if (new Set(ids).size !== ids.length)
90
+ refuse("invalid_input", "Use distinct source, catalog, filter and mapping IDs; remove duplicate identities.");
91
+ }
92
+ /** Drain every provider page with the existing authenticated HTTP client and constrained pagination. */
93
+ export async function readGithubLabelCatalog(repo) {
94
+ if (!requestSchema.shape.repo.safeParse(repo).success)
95
+ refuse("invalid_input", "Supply an explicit owner/repo.");
96
+ const base = `${githubApiBase()}/repos/${repo}/labels`;
97
+ let next = `${base}?per_page=100`;
98
+ const seen = new Set();
99
+ const labels = [];
100
+ try {
101
+ while (next) {
102
+ const url = new URL(next);
103
+ if (url.origin !== new URL(base).origin || url.pathname !== new URL(base).pathname || seen.has(next) || seen.size >= 100)
104
+ throw new Error("incomplete pagination");
105
+ seen.add(next);
106
+ const response = await fetchJSON(next, resolveGitHubToken());
107
+ const page = JSON.parse(response.body);
108
+ if (!Array.isArray(page) || page.length > 100)
109
+ throw new Error("invalid label page");
110
+ for (const entry of page) {
111
+ const node = entry;
112
+ labels.push({ id: node?.node_id, name: node?.name });
113
+ }
114
+ next = parseNextLink(response.linkHeader);
115
+ }
116
+ const catalog = catalogSchema.parse({ complete: true, labels });
117
+ unique(catalog.labels.map(entry => entry.id));
118
+ return catalog;
119
+ }
120
+ catch {
121
+ refuse("catalog_unavailable", "Restore read access to the complete repository label catalog and retry; partial catalogs cannot authorize a plan.");
122
+ }
123
+ }
124
+ /** Read bounded JSON using a descriptor, refusing linked/special files before consuming bytes. */
125
+ export function readLabelMigrationJson(file) {
126
+ try {
127
+ const descriptor = openSync(file, constants.O_RDONLY | constants.O_NOFOLLOW | constants.O_NONBLOCK);
128
+ try {
129
+ const stat = fstatSync(descriptor);
130
+ if (!stat.isFile())
131
+ throw new Error("special input");
132
+ const buffer = Buffer.alloc(1048577);
133
+ const size = readSync(descriptor, buffer, 0, buffer.length, 0);
134
+ if (size > 1048576)
135
+ throw new Error("unbounded input");
136
+ return JSON.parse(buffer.subarray(0, size).toString("utf8"));
137
+ }
138
+ finally {
139
+ closeSync(descriptor);
140
+ }
141
+ }
142
+ catch {
143
+ refuse("invalid_input", "Supply a regular JSON file of at most 1 MiB with the documented label migration contract.");
144
+ }
145
+ }
146
+ /** Preview or revalidate a plan through complete isolated SDK reads, without creating a journal or writing targets. */
147
+ export async function planGithubLabelMigration(pmRoot, input, options = {}) {
148
+ const parsed = boundarySchema.safeParse({ request: input, page: options.page ?? {}, approval: options.approval });
149
+ if (!parsed.success)
150
+ refuse("invalid_input", "Use the strict contract with dense bounded arrays, exact IDs/names, explicit choices, limit 1..100, a safe offset and full approval digest.");
151
+ const { request, page, approval } = parsed.data;
152
+ let catalog;
153
+ try {
154
+ catalog = await (options.readCatalog ?? readGithubLabelCatalog)(request.repo);
155
+ }
156
+ catch {
157
+ refuse("catalog_unavailable", "Fetch a fresh complete label catalog with repository read access, then retry.");
158
+ }
159
+ const catalogResult = catalogSchema.safeParse(catalog);
160
+ if (!catalogResult.success)
161
+ refuse("invalid_input", "Supply the strict complete catalog shape with dense bounded label records.");
162
+ const labels = catalogResult.data.labels.sort((a, b) => order(a.id, b.id));
163
+ for (const entries of [request.sources, labels, request.filters, request.mappings])
164
+ unique(entries.map(entry => entry.id));
165
+ const selected = request.change.kind === "rename" ? request.sources : [...request.sources, request.change.target];
166
+ for (const source of selected)
167
+ if (!labels.some(current => current.id === source.id && current.name === source.name)) {
168
+ refuse("stale_labels", "A selected label ID or expected name changed. Fetch the current catalog, choose exact identities and preview again.");
169
+ }
170
+ const destination = request.change.kind === "rename" ? { id: request.sources[0].id, name: request.change.name } : request.change.target;
171
+ if (request.change.kind === "rename" && (request.sources.length !== 1 || labels.some(current => current.id !== destination.id && githubLabelNameKey(current.name) === githubLabelNameKey(destination.name))) ||
172
+ request.change.kind === "consolidate" && request.sources.some(source => source.id === destination.id)) {
173
+ refuse("invalid_input", "Rename exactly one ID to an unused name, or explicitly consolidate distinct source IDs into a separate target ID.");
174
+ }
175
+ let items;
176
+ try {
177
+ items = await readRefreshItems(pmRoot);
178
+ }
179
+ catch {
180
+ refuse("incomplete_read", "Restore a complete readable tracker copy; omitted or corrupt items cannot produce safe counts.");
181
+ }
182
+ items.sort((a, b) => order(a.id, b.id));
183
+ const rows = [];
184
+ const counts = { scanned: items.length, items: 0, tags: 0, filters: 0, mappings: 0, review: 0, total: 0 };
185
+ const sourceTags = request.sources.map(source => ({ source, tags: githubLabelsToTags([source.name]) }));
186
+ const destinationTags = githubLabelsToTags([destination.name]);
187
+ /** Count every occurrence while retaining only the requested bounded page. */
188
+ function add(row) {
189
+ counts[row.kind]++;
190
+ if (row.choice === "review")
191
+ counts.review++;
192
+ if (counts.total >= page.offset && rows.length < page.limit)
193
+ rows.push(row);
194
+ counts.total++;
195
+ }
196
+ for (const item of items) {
197
+ let affected = false;
198
+ const identities = [...new Set(item.tags.filter(tag => {
199
+ const parsed = parseProvenanceTag(tag);
200
+ return parsed?.repo === request.repo.toLowerCase() && Number.isSafeInteger(parsed.number) && parsed.number > 0 && tag.length <= 240;
201
+ }))].sort(order);
202
+ const localTags = new Set(toImportTags(item.tags));
203
+ for (const { source, tags } of sourceTags)
204
+ for (const tag of tags)
205
+ if (localTags.has(tag)) {
206
+ affected = true;
207
+ add({ kind: "tags", id: item.id, source: source.id, before: tag, after: destination.name, after_tags: destinationTags, local_tag: tag, choice: request.choices.tags,
208
+ evidence: "unverified_name", identities: identities.slice(0, 100), identities_omitted: Math.max(0, identities.length - 100) });
209
+ }
210
+ if (affected)
211
+ counts.items++;
212
+ }
213
+ for (const filter of request.filters)
214
+ for (const source of request.sources) {
215
+ const before = filter.labels.find(name => githubLabelNameKey(name) === githubLabelNameKey(source.name));
216
+ if (before !== undefined)
217
+ add({ kind: "filters", id: filter.id, source: source.id, before, after: destination.name,
218
+ after_tags: null, local_tag: null, choice: request.choices.filters, evidence: "declared_policy", identities: [], identities_omitted: 0 });
219
+ }
220
+ for (const mapping of request.mappings)
221
+ for (const source of request.sources)
222
+ if (githubLabelNameKey(mapping.to) === githubLabelNameKey(source.name)) {
223
+ add({ kind: "mappings", id: mapping.id, source: source.id, before: mapping.to, after: destination.name,
224
+ after_tags: null, local_tag: mapping.from, choice: request.choices.mappings, evidence: "declared_policy", identities: [], identities_omitted: 0 });
225
+ }
226
+ const current = digest({ request, labels, revisions: items.map(item => [item.id, item.updated_at, item.tags]) });
227
+ if (approval !== undefined && approval !== current)
228
+ refuse("stale_plan", "Provider labels, policy or tracker revisions changed. Preview and review the new plan; never replay the saved plan.");
229
+ if (approval !== undefined && counts.review > 0)
230
+ refuse("unresolved_choices", "Resolve every affected policy choice to keep or replace, then preview and check its new approval.");
231
+ return validateGithubLabelMigrationReport({ ok: true, repo: request.repo, approval: current, checked: approval !== undefined,
232
+ sources: request.sources, destination, counts, offset: page.offset,
233
+ next: BigInt(page.offset) + BigInt(rows.length) < BigInt(counts.total) ? page.offset + rows.length : null, rows });
234
+ }
235
+ //# sourceMappingURL=labels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.js","sourceRoot":"","sources":["../labels.ts"],"names":[],"mappings":"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"}