@on-par/factory-core 0.9.28-next.26 → 0.9.28-next.28

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 (46) hide show
  1. package/dist/internal.d.ts +1 -0
  2. package/dist/internal.d.ts.map +1 -1
  3. package/dist/internal.js +1 -0
  4. package/dist/internal.js.map +1 -1
  5. package/dist/kpis/index.d.ts.map +1 -1
  6. package/dist/kpis/index.js +2 -1
  7. package/dist/kpis/index.js.map +1 -1
  8. package/dist/kpis/park.d.ts.map +1 -1
  9. package/dist/kpis/park.js +2 -1
  10. package/dist/kpis/park.js.map +1 -1
  11. package/dist/phases/ship-open-pr.d.ts +5 -0
  12. package/dist/phases/ship-open-pr.d.ts.map +1 -1
  13. package/dist/phases/ship-open-pr.js +12 -8
  14. package/dist/phases/ship-open-pr.js.map +1 -1
  15. package/dist/phases/ship.d.ts.map +1 -1
  16. package/dist/phases/ship.js +6 -3
  17. package/dist/phases/ship.js.map +1 -1
  18. package/dist/reports/pr-body.d.ts +5 -2
  19. package/dist/reports/pr-body.d.ts.map +1 -1
  20. package/dist/reports/pr-body.js +3 -2
  21. package/dist/reports/pr-body.js.map +1 -1
  22. package/dist/run/linear-run.d.ts +23 -0
  23. package/dist/run/linear-run.d.ts.map +1 -0
  24. package/dist/run/linear-run.js +18 -0
  25. package/dist/run/linear-run.js.map +1 -0
  26. package/dist/run/park-comment.d.ts +9 -0
  27. package/dist/run/park-comment.d.ts.map +1 -1
  28. package/dist/run/park-comment.js +12 -0
  29. package/dist/run/park-comment.js.map +1 -1
  30. package/dist/run/run-issue.d.ts +2 -1
  31. package/dist/run/run-issue.d.ts.map +1 -1
  32. package/dist/run/run-issue.js +22 -21
  33. package/dist/run/run-issue.js.map +1 -1
  34. package/dist/work/internal-exports.d.ts +3 -0
  35. package/dist/work/internal-exports.d.ts.map +1 -0
  36. package/dist/work/internal-exports.js +4 -0
  37. package/dist/work/internal-exports.js.map +1 -0
  38. package/dist/work/ticket-writeback.d.ts +22 -0
  39. package/dist/work/ticket-writeback.d.ts.map +1 -0
  40. package/dist/work/ticket-writeback.js +73 -0
  41. package/dist/work/ticket-writeback.js.map +1 -0
  42. package/dist/work/work-key.d.ts +2 -0
  43. package/dist/work/work-key.d.ts.map +1 -1
  44. package/dist/work/work-key.js +4 -0
  45. package/dist/work/work-key.js.map +1 -1
  46. package/package.json +5 -5
@@ -0,0 +1,22 @@
1
+ import type { LinearQueueLifecycleClient } from '../queue/linear-queue-lifecycle.js';
2
+ import type { SlicePlanStore } from '../readiness/slice-plan-store.js';
3
+ import type { WorkRequest } from './index.js';
4
+ import type { WorkKey } from './work-key.js';
5
+ export type TicketTrackerKind = 'github' | 'linear';
6
+ export type LinearTicketClient = Pick<LinearQueueLifecycleClient, 'findIssue' | 'addComment'>;
7
+ export interface TicketWriteback {
8
+ comment(key: WorkKey, body: string): Promise<void>;
9
+ labels(key: WorkKey): Promise<string[]>;
10
+ }
11
+ /** The tracker a work request lives in; undefined for a work source with no ticket (e.g. a local brief). */
12
+ export declare function ticketTrackerOf(work: Pick<WorkRequest, 'kind'> | undefined): TicketTrackerKind | undefined;
13
+ /** The Linear issue key of a work request; undefined for any other work. */
14
+ export declare function ticketKeyOf(work: Pick<WorkRequest, 'kind' | 'key'> | undefined): WorkKey | undefined;
15
+ /** The single PR-body trailer line: closes the ticket on the final slice, otherwise only references it. */
16
+ export declare function closesTrailer(tracker: TicketTrackerKind, key: WorkKey, finalSlice: boolean): string;
17
+ export declare function createLinearTicketWriteback(client: LinearTicketClient): TicketWriteback;
18
+ /** Posts a comment to the ticket; never throws. A missing writeback or a failed post only warns. */
19
+ export declare function postTicketComment(writeback: TicketWriteback | undefined, key: WorkKey, body: string, warn: (msg: string) => void): Promise<boolean>;
20
+ /** A slice-plan store that also mirrors each saved plan to the ticket; the inner store stays the source of truth. */
21
+ export declare function mirrorSlicePlanToTicket(store: SlicePlanStore, writeback: TicketWriteback | undefined, key: WorkKey, warn: (msg: string) => void): SlicePlanStore;
22
+ //# sourceMappingURL=ticket-writeback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-writeback.d.ts","sourceRoot":"","sources":["../../src/work/ticket-writeback.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,0BAA0B,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;AAC9F,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACzC;AAED,4GAA4G;AAC5G,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAI1G;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAEpG;AAED,2GAA2G;AAC3G,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,CAGnG;AAOD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,kBAAkB,GAAG,eAAe,CAgBvF;AAED,oGAAoG;AACpG,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,eAAe,GAAG,SAAS,EACtC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC1B,OAAO,CAAC,OAAO,CAAC,CAalB;AAED,qHAAqH;AACrH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,eAAe,GAAG,SAAS,EACtC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC1B,cAAc,CAShB"}
@@ -0,0 +1,73 @@
1
+ // packages/core/src/work/ticket-writeback.ts — write-back to a Linear ticket: closing trailer, comments, labels (#3894).
2
+ import { renderSlicePlanComment } from '../readiness/slice-plan.js';
3
+ import { GITHUB_ISSUE_SOURCE } from './github-issue.js';
4
+ import { LINEAR_ISSUE_SOURCE } from './linear-issue.js';
5
+ import { stripHiddenContent } from '../filing/sanitize.js';
6
+ /** The tracker a work request lives in; undefined for a work source with no ticket (e.g. a local brief). */
7
+ export function ticketTrackerOf(work) {
8
+ if (work === undefined || work.kind === GITHUB_ISSUE_SOURCE)
9
+ return 'github';
10
+ if (work.kind === LINEAR_ISSUE_SOURCE)
11
+ return 'linear';
12
+ return undefined;
13
+ }
14
+ /** The Linear issue key of a work request; undefined for any other work. */
15
+ export function ticketKeyOf(work) {
16
+ return ticketTrackerOf(work) === 'linear' && work?.key !== undefined ? work.key : undefined;
17
+ }
18
+ /** The single PR-body trailer line: closes the ticket on the final slice, otherwise only references it. */
19
+ export function closesTrailer(tracker, key, finalSlice) {
20
+ if (tracker === 'github')
21
+ return finalSlice ? `Closes #${key}` : `Part of #${key}`;
22
+ return finalSlice ? `Fixes ${key}` : `Part of ${key}`;
23
+ }
24
+ /** Linear renders HTML comments literally, so factory markers (and any hidden content) are removed before posting. */
25
+ function stripMarkers(body) {
26
+ return stripHiddenContent(body).trim();
27
+ }
28
+ export function createLinearTicketWriteback(client) {
29
+ async function find(key) {
30
+ const issue = await client.findIssue(key);
31
+ if (!issue)
32
+ throw new Error(`Linear issue ${key} not found`);
33
+ return issue;
34
+ }
35
+ return {
36
+ async comment(key, body) {
37
+ const issue = await find(key);
38
+ await client.addComment(issue.id, stripMarkers(body));
39
+ },
40
+ async labels(key) {
41
+ const issue = await find(key);
42
+ return issue.labels.map((l) => l.name);
43
+ },
44
+ };
45
+ }
46
+ /** Posts a comment to the ticket; never throws. A missing writeback or a failed post only warns. */
47
+ export async function postTicketComment(writeback, key, body, warn) {
48
+ if (!writeback) {
49
+ warn(`no Linear writeback is wired; could not post to ${key}`);
50
+ return false;
51
+ }
52
+ try {
53
+ await writeback.comment(key, body);
54
+ return true;
55
+ }
56
+ catch (err) {
57
+ const message = err instanceof Error ? err.message : String(err);
58
+ warn(`could not post to Linear issue ${key}: ${message}`);
59
+ return false;
60
+ }
61
+ }
62
+ /** A slice-plan store that also mirrors each saved plan to the ticket; the inner store stays the source of truth. */
63
+ export function mirrorSlicePlanToTicket(store, writeback, key, warn) {
64
+ return {
65
+ find: () => store.find(),
66
+ async save(plan) {
67
+ const saved = await store.save(plan);
68
+ await postTicketComment(writeback, key, renderSlicePlanComment(plan), warn);
69
+ return saved;
70
+ },
71
+ };
72
+ }
73
+ //# sourceMappingURL=ticket-writeback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-writeback.js","sourceRoot":"","sources":["../../src/work/ticket-writeback.ts"],"names":[],"mappings":"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"}
@@ -11,5 +11,7 @@ export declare function toWorkKey(raw: string): WorkKey;
11
11
  export declare function isNumericWorkKey(key: WorkKey): boolean;
12
12
  /** The only sanctioned path from a key to an Octokit `issue_number`; throws for non-numeric keys. */
13
13
  export declare function issueNumberOf(key: WorkKey): number;
14
+ /** True for a real ticket key in the event log: a GitHub issue number or an upper-case tracker key like ON-12. */
15
+ export declare function isTicketKey(issue: string): boolean;
14
16
  export {};
15
17
  //# sourceMappingURL=work-key.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"work-key.d.ts","sourceRoot":"","sources":["../../src/work/work-key.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,YAAY,EAAE,OAAO,MAAM,CAAC;AAE1C,8GAA8G;AAC9G,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEjE,gGAAgG;AAChG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKvD;AAED,wFAAwF;AACxF,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ9C;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEtD;AAED,qGAAqG;AACrG,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGlD"}
1
+ {"version":3,"file":"work-key.d.ts","sourceRoot":"","sources":["../../src/work/work-key.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,YAAY,EAAE,OAAO,MAAM,CAAC;AAE1C,8GAA8G;AAC9G,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEjE,gGAAgG;AAChG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKvD;AAED,wFAAwF;AACxF,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ9C;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAEtD;AAED,qGAAqG;AACrG,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGlD;AAED,kHAAkH;AAClH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD"}
@@ -24,4 +24,8 @@ export function issueNumberOf(key) {
24
24
  throw new Error(`work key "${key}" is not a numeric GitHub issue number`);
25
25
  return Number(key);
26
26
  }
27
+ /** True for a real ticket key in the event log: a GitHub issue number or an upper-case tracker key like ON-12. */
28
+ export function isTicketKey(issue) {
29
+ return /^\d+$/.test(issue) || /^[A-Z][A-Z0-9]*-[1-9]\d*$/.test(issue);
30
+ }
27
31
  //# sourceMappingURL=work-key.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"work-key.js","sourceRoot":"","sources":["../../src/work/work-key.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAOhF,gGAAgG;AAChG,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,UAAU,CAAC,yDAAyD,KAAK,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAY,CAAC;AAClC,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,qBAAqB,GAAG,+EAA+E,CACxG,CAAC;IACJ,CAAC;IACD,OAAO,GAAc,CAAC;AACxB,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;AAC1D,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,wCAAwC,CAAC,CAAC;IACtG,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"work-key.js","sourceRoot":"","sources":["../../src/work/work-key.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAOhF,gGAAgG;AAChG,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,UAAU,CAAC,yDAAyD,KAAK,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAY,CAAC;AAClC,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,qBAAqB,GAAG,+EAA+E,CACxG,CAAC;IACJ,CAAC;IACD,OAAO,GAAc,CAAC;AACxB,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;AAC1D,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,wCAAwC,CAAC,CAAC;IACtG,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,kHAAkH;AAClH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@on-par/factory-core",
3
- "version": "0.9.28-next.26",
3
+ "version": "0.9.28-next.28",
4
4
  "description": "Core engine: model router, constitutions, checkers, and pipeline phases for the Software Factory.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -54,10 +54,10 @@
54
54
  "prepack": "node ../../scripts/pack-hygiene-cli.ts prepack"
55
55
  },
56
56
  "dependencies": {
57
- "@on-par/adr-kit": "0.9.28-next.26",
58
- "@on-par/contracts": "0.9.28-next.26",
59
- "@on-par/factory-config": "0.9.28-next.26",
60
- "@on-par/repo-context": "0.9.28-next.26",
57
+ "@on-par/adr-kit": "0.9.28-next.28",
58
+ "@on-par/contracts": "0.9.28-next.28",
59
+ "@on-par/factory-config": "0.9.28-next.28",
60
+ "@on-par/repo-context": "0.9.28-next.28",
61
61
  "@octokit/rest": "^22.0.0",
62
62
  "execa": "^10.2.1",
63
63
  "gray-matter": "^4.0.3",