@urateam/core 0.1.31 → 0.1.33

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 (177) hide show
  1. package/dist/__tests__/agent-stream.test.js +35 -1
  2. package/dist/__tests__/agent-stream.test.js.map +1 -1
  3. package/dist/__tests__/audit-immutability.test.js +7 -1
  4. package/dist/__tests__/audit-immutability.test.js.map +1 -1
  5. package/dist/__tests__/auth-monitor.test.d.ts +2 -0
  6. package/dist/__tests__/auth-monitor.test.d.ts.map +1 -0
  7. package/dist/__tests__/auth-monitor.test.js +253 -0
  8. package/dist/__tests__/auth-monitor.test.js.map +1 -0
  9. package/dist/__tests__/bec-186-repro.test.d.ts +16 -0
  10. package/dist/__tests__/bec-186-repro.test.d.ts.map +1 -0
  11. package/dist/__tests__/bec-186-repro.test.js +223 -0
  12. package/dist/__tests__/bec-186-repro.test.js.map +1 -0
  13. package/dist/__tests__/control-signals.test.d.ts +2 -0
  14. package/dist/__tests__/control-signals.test.d.ts.map +1 -0
  15. package/dist/__tests__/control-signals.test.js +77 -0
  16. package/dist/__tests__/control-signals.test.js.map +1 -0
  17. package/dist/__tests__/db-migrations.test.d.ts +2 -0
  18. package/dist/__tests__/db-migrations.test.d.ts.map +1 -0
  19. package/dist/__tests__/db-migrations.test.js +237 -0
  20. package/dist/__tests__/db-migrations.test.js.map +1 -0
  21. package/dist/__tests__/executor-issue-id.test.js +2 -0
  22. package/dist/__tests__/executor-issue-id.test.js.map +1 -1
  23. package/dist/__tests__/pm-slack-interface.test.js +45 -0
  24. package/dist/__tests__/pm-slack-interface.test.js.map +1 -1
  25. package/dist/__tests__/pm-triage.test.js +101 -0
  26. package/dist/__tests__/pm-triage.test.js.map +1 -1
  27. package/dist/__tests__/post-fanout-comments.test.js +36 -0
  28. package/dist/__tests__/post-fanout-comments.test.js.map +1 -1
  29. package/dist/__tests__/preflight-claude-auth.test.d.ts +2 -0
  30. package/dist/__tests__/preflight-claude-auth.test.d.ts.map +1 -0
  31. package/dist/__tests__/preflight-claude-auth.test.js +36 -0
  32. package/dist/__tests__/preflight-claude-auth.test.js.map +1 -0
  33. package/dist/__tests__/resolve-claude-auth.test.d.ts +2 -0
  34. package/dist/__tests__/resolve-claude-auth.test.d.ts.map +1 -0
  35. package/dist/__tests__/resolve-claude-auth.test.js +129 -0
  36. package/dist/__tests__/resolve-claude-auth.test.js.map +1 -0
  37. package/dist/__tests__/stage-models.test.js +4 -0
  38. package/dist/__tests__/stage-models.test.js.map +1 -1
  39. package/dist/__tests__/util-linear.test.d.ts +10 -0
  40. package/dist/__tests__/util-linear.test.d.ts.map +1 -0
  41. package/dist/__tests__/util-linear.test.js +244 -0
  42. package/dist/__tests__/util-linear.test.js.map +1 -0
  43. package/dist/audit/events.d.ts +37 -0
  44. package/dist/audit/events.d.ts.map +1 -1
  45. package/dist/audit/events.js +53 -0
  46. package/dist/audit/events.js.map +1 -1
  47. package/dist/db/client.d.ts.map +1 -1
  48. package/dist/db/client.js +8 -0
  49. package/dist/db/client.js.map +1 -1
  50. package/dist/db/migrations/postgres/014_missing_indexes.sql +28 -0
  51. package/dist/db/migrations/sqlite/013_missing_indexes.sql +28 -0
  52. package/dist/executor/agent-stream.d.ts +16 -0
  53. package/dist/executor/agent-stream.d.ts.map +1 -1
  54. package/dist/executor/agent-stream.js +43 -1
  55. package/dist/executor/agent-stream.js.map +1 -1
  56. package/dist/executor/auth-check.d.ts +39 -0
  57. package/dist/executor/auth-check.d.ts.map +1 -1
  58. package/dist/executor/auth-check.js +31 -0
  59. package/dist/executor/auth-check.js.map +1 -1
  60. package/dist/executor/auth-monitor.d.ts +40 -0
  61. package/dist/executor/auth-monitor.d.ts.map +1 -0
  62. package/dist/executor/auth-monitor.js +114 -0
  63. package/dist/executor/auth-monitor.js.map +1 -0
  64. package/dist/executor/executor.d.ts.map +1 -1
  65. package/dist/executor/executor.js +7 -2
  66. package/dist/executor/executor.js.map +1 -1
  67. package/dist/executor/index.d.ts +2 -0
  68. package/dist/executor/index.d.ts.map +1 -1
  69. package/dist/executor/index.js +2 -0
  70. package/dist/executor/index.js.map +1 -1
  71. package/dist/executor/review/post-fanout-comments.d.ts +8 -0
  72. package/dist/executor/review/post-fanout-comments.d.ts.map +1 -1
  73. package/dist/executor/review/post-fanout-comments.js +23 -3
  74. package/dist/executor/review/post-fanout-comments.js.map +1 -1
  75. package/dist/index.d.ts +3 -1
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +3 -1
  78. package/dist/index.js.map +1 -1
  79. package/dist/notifier/composite.d.ts +1 -0
  80. package/dist/notifier/composite.d.ts.map +1 -1
  81. package/dist/notifier/composite.js +3 -0
  82. package/dist/notifier/composite.js.map +1 -1
  83. package/dist/notifier/linear.d.ts +1 -0
  84. package/dist/notifier/linear.d.ts.map +1 -1
  85. package/dist/notifier/linear.js +7 -0
  86. package/dist/notifier/linear.js.map +1 -1
  87. package/dist/pipeline/control-signals.d.ts +49 -0
  88. package/dist/pipeline/control-signals.d.ts.map +1 -0
  89. package/dist/pipeline/control-signals.js +93 -0
  90. package/dist/pipeline/control-signals.js.map +1 -0
  91. package/dist/pipeline/feedback-pipeline.d.ts +140 -0
  92. package/dist/pipeline/feedback-pipeline.d.ts.map +1 -0
  93. package/dist/pipeline/feedback-pipeline.js +427 -0
  94. package/dist/pipeline/feedback-pipeline.js.map +1 -0
  95. package/dist/pipeline/index.d.ts +1 -0
  96. package/dist/pipeline/index.d.ts.map +1 -1
  97. package/dist/pipeline/index.js +1 -0
  98. package/dist/pipeline/index.js.map +1 -1
  99. package/dist/pipeline/runner.d.ts +49 -33
  100. package/dist/pipeline/runner.d.ts.map +1 -1
  101. package/dist/pipeline/runner.js +143 -350
  102. package/dist/pipeline/runner.js.map +1 -1
  103. package/dist/pm/actions/promote.d.ts.map +1 -1
  104. package/dist/pm/actions/promote.js +15 -11
  105. package/dist/pm/actions/promote.js.map +1 -1
  106. package/dist/pm/actions/recover-stuck.d.ts.map +1 -1
  107. package/dist/pm/actions/recover-stuck.js +9 -5
  108. package/dist/pm/actions/recover-stuck.js.map +1 -1
  109. package/dist/pm/actions/triage.d.ts.map +1 -1
  110. package/dist/pm/actions/triage.js +67 -1
  111. package/dist/pm/actions/triage.js.map +1 -1
  112. package/dist/pm/linear-helpers.d.ts +10 -0
  113. package/dist/pm/linear-helpers.d.ts.map +1 -1
  114. package/dist/pm/linear-helpers.js +13 -21
  115. package/dist/pm/linear-helpers.js.map +1 -1
  116. package/dist/pm/pause-state.d.ts +29 -0
  117. package/dist/pm/pause-state.d.ts.map +1 -0
  118. package/dist/pm/pause-state.js +34 -0
  119. package/dist/pm/pause-state.js.map +1 -0
  120. package/dist/pm/scheduler.d.ts.map +1 -1
  121. package/dist/pm/scheduler.js +19 -0
  122. package/dist/pm/scheduler.js.map +1 -1
  123. package/dist/pm/slack-bulk.d.ts +34 -0
  124. package/dist/pm/slack-bulk.d.ts.map +1 -0
  125. package/dist/pm/slack-bulk.js +110 -0
  126. package/dist/pm/slack-bulk.js.map +1 -0
  127. package/dist/pm/slack-commands.d.ts +101 -0
  128. package/dist/pm/slack-commands.d.ts.map +1 -0
  129. package/dist/pm/slack-commands.js +309 -0
  130. package/dist/pm/slack-commands.js.map +1 -0
  131. package/dist/pm/slack-helpers.d.ts +10 -0
  132. package/dist/pm/slack-helpers.d.ts.map +1 -1
  133. package/dist/pm/slack-helpers.js +32 -0
  134. package/dist/pm/slack-helpers.js.map +1 -1
  135. package/dist/pm/slack-interface.d.ts +32 -58
  136. package/dist/pm/slack-interface.d.ts.map +1 -1
  137. package/dist/pm/slack-interface.js +150 -320
  138. package/dist/pm/slack-interface.js.map +1 -1
  139. package/dist/rbac/matrix.d.ts +2 -0
  140. package/dist/rbac/matrix.d.ts.map +1 -1
  141. package/dist/rbac/matrix.js +2 -0
  142. package/dist/rbac/matrix.js.map +1 -1
  143. package/dist/release-manager/index.d.ts +2 -0
  144. package/dist/release-manager/index.d.ts.map +1 -1
  145. package/dist/release-manager/index.js +2 -0
  146. package/dist/release-manager/index.js.map +1 -1
  147. package/dist/release-manager/release-helpers.d.ts +112 -0
  148. package/dist/release-manager/release-helpers.d.ts.map +1 -0
  149. package/dist/release-manager/release-helpers.js +164 -0
  150. package/dist/release-manager/release-helpers.js.map +1 -0
  151. package/dist/release-manager/release-tick.d.ts +101 -0
  152. package/dist/release-manager/release-tick.d.ts.map +1 -0
  153. package/dist/release-manager/release-tick.js +374 -0
  154. package/dist/release-manager/release-tick.js.map +1 -0
  155. package/dist/release-manager/scheduler.d.ts +28 -3
  156. package/dist/release-manager/scheduler.d.ts.map +1 -1
  157. package/dist/release-manager/scheduler.js +41 -417
  158. package/dist/release-manager/scheduler.js.map +1 -1
  159. package/dist/server.d.ts.map +1 -1
  160. package/dist/server.js +10 -0
  161. package/dist/server.js.map +1 -1
  162. package/dist/sync/gh-linear-sync.d.ts.map +1 -1
  163. package/dist/sync/gh-linear-sync.js +2 -2
  164. package/dist/sync/gh-linear-sync.js.map +1 -1
  165. package/dist/types.d.ts +22 -4
  166. package/dist/types.d.ts.map +1 -1
  167. package/dist/types.js +10 -0
  168. package/dist/types.js.map +1 -1
  169. package/dist/util/linear.d.ts +70 -0
  170. package/dist/util/linear.d.ts.map +1 -0
  171. package/dist/util/linear.js +108 -0
  172. package/dist/util/linear.js.map +1 -0
  173. package/dist/webhook/github-handler.d.ts +7 -1
  174. package/dist/webhook/github-handler.d.ts.map +1 -1
  175. package/dist/webhook/github-handler.js +82 -38
  176. package/dist/webhook/github-handler.js.map +1 -1
  177. package/package.json +1 -1
@@ -1,10 +1,31 @@
1
1
  import { parseJsonObject } from "../../executor/agent-stream.js";
2
2
  import { resolveWorkflowStates } from "../linear-helpers.js";
3
+ import { resolveIssueRelations } from "../../util/linear.js";
3
4
  import { createLogger } from "../../logger.js";
4
5
  import { logAuditEventUnchecked, pmTriageClassifiedEvent } from "../../audit/index.js";
5
6
  const log = createLogger({ component: "PmAgent:triage" });
6
7
  const MAX_ISSUES_PER_TICK = 10;
7
8
  const DEFAULT_BATCH_SIZE = 3;
9
+ /**
10
+ * Marker embedded in the body of every GitHub issue filed by the urateam
11
+ * quality-observer. `gh-linear-sync` copies the GitHub body verbatim into the
12
+ * Linear ticket description, so the marker survives the sync and is the
13
+ * authoritative way to detect observer-origin tickets on the Linear side
14
+ * (labels are not propagated by gh-linear-sync).
15
+ *
16
+ * Source of truth: urateam-quality-observer/src/github-issue-writer.ts.
17
+ */
18
+ const OBSERVER_BODY_MARKER = "<!-- urateam-qo-observer:";
19
+ /**
20
+ * Pipeline label assigned to observer-origin tickets. `needs-design` includes
21
+ * an `await-approval` stage that blocks until a human approves, so these
22
+ * findings surface without burning implement-stage tokens on a non-actionable
23
+ * diagnostic. See CLAUDE.md "Quality Observer" for the rationale.
24
+ */
25
+ const OBSERVER_PIPELINE_LABEL = "needs-design";
26
+ function isObserverOriginIssue(description) {
27
+ return typeof description === "string" && description.includes(OBSERVER_BODY_MARKER);
28
+ }
8
29
  /**
9
30
  * Process an array of items in batches of `size`, awaiting each batch before
10
31
  * starting the next. Returns a flat array of results (preserving order).
@@ -38,6 +59,49 @@ export async function triageNewIssues(input) {
38
59
  }
39
60
  const results = (await runInBatches(issues.slice(0, MAX_ISSUES_PER_TICK), batchSize, async (issue) => {
40
61
  try {
62
+ if (isObserverOriginIssue(issue.description)) {
63
+ const team = await issue.team;
64
+ const teamId = team?.id;
65
+ const backlogStateId = teamId ? stateMap.get(`${teamId}:Backlog`) : undefined;
66
+ const issueLabels = [OBSERVER_PIPELINE_LABEL];
67
+ const labelIds = issueLabels
68
+ .map((l) => labelMap.get(l.toLowerCase()))
69
+ .filter(Boolean);
70
+ if (labelIds.length === 0) {
71
+ log.warn({ issueId: issue.identifier, label: OBSERVER_PIPELINE_LABEL }, "observer-origin gate: '" + OBSERVER_PIPELINE_LABEL +
72
+ "' label not found in Linear — issue will move to Backlog without pipeline label and won't be routed by promote");
73
+ }
74
+ const rationale = "Observer-origin finding (body marker detected) — routed to needs-design so the await-approval stage gates a human before any implement-stage work runs.";
75
+ const updatePayload = { priority: 3 };
76
+ if (labelIds.length > 0)
77
+ updatePayload.labelIds = labelIds;
78
+ if (backlogStateId)
79
+ updatePayload.stateId = backlogStateId;
80
+ await linearClient.updateIssue(issue.id, updatePayload);
81
+ await linearClient.createComment({
82
+ issueId: issue.id,
83
+ body: `🤖 **PM Agent — Triaged (Quality Observer finding)**\n\n` +
84
+ `**Pipeline:** ${OBSERVER_PIPELINE_LABEL}\n` +
85
+ `**Rationale:** ${rationale}`,
86
+ });
87
+ const result = {
88
+ issueId: issue.identifier,
89
+ priority: 3,
90
+ labels: issueLabels,
91
+ complexity: "medium",
92
+ rationale,
93
+ acceptanceCriteria: [],
94
+ };
95
+ if (input.db) {
96
+ void logAuditEventUnchecked(input.db, pmTriageClassifiedEvent({
97
+ issueId: issue.identifier,
98
+ label: OBSERVER_PIPELINE_LABEL,
99
+ rationale,
100
+ }));
101
+ }
102
+ log.info({ issueId: issue.identifier, pipelineLabel: OBSERVER_PIPELINE_LABEL }, "triaged observer-origin issue (skipped Claude classification)");
103
+ return result;
104
+ }
41
105
  const sanitizedDesc = sanitize(issue.description ?? "");
42
106
  const prompt = `Classify this software issue and generate acceptance criteria. Respond with ONLY a JSON object, no other text.\n\n` +
43
107
  `Issue: ${issue.identifier}\n` +
@@ -67,7 +131,9 @@ export async function triageNewIssues(input) {
67
131
  const labelIds = issueLabels
68
132
  .map((l) => labelMap.get(l.toLowerCase()))
69
133
  .filter(Boolean);
70
- const team = await issue.team;
134
+ // Resolve the issue's team relation (parallelised with state/labels via
135
+ // resolveIssueRelations for consistency; only team is needed here).
136
+ const { team } = await resolveIssueRelations(issue);
71
137
  const teamId = team?.id;
72
138
  const backlogStateId = teamId ? stateMap.get(`${teamId}:Backlog`) : undefined;
73
139
  const acceptanceCriteria = Array.isArray(parsed.acceptanceCriteria)
@@ -1 +1 @@
1
- {"version":3,"file":"triage.js","sourceRoot":"","sources":["../../../src/pm/actions/triage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"triage.js","sourceRoot":"","sources":["../../../src/pm/actions/triage.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,19 @@
8
8
  * const linear = await getClient(); // null if apiKey is undefined
9
9
  *
10
10
  * @param apiKey Linear API key. When undefined/empty, `getClient()` returns null.
11
+ *
12
+ * @deprecated Prefer `getLinearClient(apiKey)` from `util/linear.ts` directly.
13
+ * This wrapper is retained for backwards compatibility with existing callers.
11
14
  */
12
15
  export declare function createLazyLinearClient(apiKey: string | undefined): {
13
16
  getClient: () => Promise<any>;
14
17
  };
18
+ /**
19
+ * Fetches workflow states for the given teams and builds a
20
+ * `${teamId}:${stateName}` → stateId map.
21
+ *
22
+ * Delegates to `resolveWorkflowStatesByTeam` from `util/linear.ts`, which
23
+ * parallelizes all `state.team` relation fetches via Promise.all.
24
+ */
15
25
  export declare function resolveWorkflowStates(linearClient: any, teamIds: string[]): Promise<Map<string, string>>;
16
26
  //# sourceMappingURL=linear-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"linear-helpers.d.ts","sourceRoot":"","sources":["../../src/pm/linear-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG;IAClE,SAAS,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;CAC/B,CAWA;AAED,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,GAAG,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAa9B"}
1
+ {"version":3,"file":"linear-helpers.d.ts","sourceRoot":"","sources":["../../src/pm/linear-helpers.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG;IAClE,SAAS,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;CAC/B,CAIA;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,EAAE,GAAG,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE9B"}
@@ -1,3 +1,4 @@
1
+ import { getLinearClient, resolveWorkflowStatesByTeam } from "../util/linear.js";
1
2
  /**
2
3
  * Creates a lazy-initialized Linear client singleton.
3
4
  * The client is instantiated on the first call to `getClient()` and reused
@@ -8,32 +9,23 @@
8
9
  * const linear = await getClient(); // null if apiKey is undefined
9
10
  *
10
11
  * @param apiKey Linear API key. When undefined/empty, `getClient()` returns null.
12
+ *
13
+ * @deprecated Prefer `getLinearClient(apiKey)` from `util/linear.ts` directly.
14
+ * This wrapper is retained for backwards compatibility with existing callers.
11
15
  */
12
16
  export function createLazyLinearClient(apiKey) {
13
- let _client = null;
14
17
  return {
15
- async getClient() {
16
- if (!_client && apiKey) {
17
- const { LinearClient } = await import("@linear/sdk");
18
- _client = new LinearClient({ apiKey });
19
- }
20
- return _client;
21
- },
18
+ getClient: () => getLinearClient(apiKey),
22
19
  };
23
20
  }
21
+ /**
22
+ * Fetches workflow states for the given teams and builds a
23
+ * `${teamId}:${stateName}` → stateId map.
24
+ *
25
+ * Delegates to `resolveWorkflowStatesByTeam` from `util/linear.ts`, which
26
+ * parallelizes all `state.team` relation fetches via Promise.all.
27
+ */
24
28
  export async function resolveWorkflowStates(linearClient, teamIds) {
25
- const allStates = await linearClient.workflowStates({
26
- filter: { team: { id: { in: teamIds } } },
27
- first: 100,
28
- });
29
- const stateMap = new Map();
30
- for (const state of allStates.nodes ?? []) {
31
- // state.team is a lazy relation in the Linear SDK — must await to resolve
32
- const team = await state.team;
33
- const teamId = team?.id;
34
- if (teamId)
35
- stateMap.set(`${teamId}:${state.name}`, state.id);
36
- }
37
- return stateMap;
29
+ return resolveWorkflowStatesByTeam(linearClient, teamIds);
38
30
  }
39
31
  //# sourceMappingURL=linear-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"linear-helpers.js","sourceRoot":"","sources":["../../src/pm/linear-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA0B;IAG/D,IAAI,OAAO,GAAQ,IAAI,CAAC;IACxB,OAAO;QACL,KAAK,CAAC,SAAS;YACb,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;gBACrD,OAAO,GAAG,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,YAAiB,EACjB,OAAiB;IAEjB,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC;QAClD,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACzC,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QAC1C,0EAA0E;QAC1E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,EAAE,EAAE,CAAC;QACxB,IAAI,MAAM;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"linear-helpers.js","sourceRoot":"","sources":["../../src/pm/linear-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEjF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA0B;IAG/D,OAAO;QACL,SAAS,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;KACzC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,YAAiB,EACjB,OAAiB;IAEjB,OAAO,2BAA2B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * PM Agent pause state — single-process shared mutable state for the pause/resume
3
+ * Slack commands. Extracted to a micro-module so that `slack-commands.ts` can read
4
+ * and write the flag without importing from `slack-interface.ts`, which would create
5
+ * a circular dependency (slack-interface imports slack-commands; slack-commands must
6
+ * not import back from slack-interface).
7
+ *
8
+ * Note: single-process only. For multi-process deploys, replace with a Redis-backed
9
+ * implementation.
10
+ */
11
+ /**
12
+ * Returns `true` if the PM Agent is currently paused.
13
+ *
14
+ * Pause is active when EITHER of the following is true (OR logic):
15
+ * - `process.env.PM_AGENT_PAUSED === "true"` — env-var path for no-Slack incident
16
+ * response. Toggling requires a container restart (env vars are read at each
17
+ * tick invocation, not at module load time).
18
+ * - `setPmPaused(true)` has been called via the Slack `/pm pause` command.
19
+ *
20
+ * The env-var takes priority: setting `PM_AGENT_PAUSED=true` keeps the agent
21
+ * paused even if `setPmPaused(false)` is subsequently called via Slack.
22
+ */
23
+ export declare function isPmPaused(): boolean;
24
+ /**
25
+ * Sets the Slack-driven pause flag. Use `setPmPaused(true)` when the user
26
+ * sends `/pm pause` and `setPmPaused(false)` for `/pm resume`.
27
+ */
28
+ export declare function setPmPaused(value: boolean): void;
29
+ //# sourceMappingURL=pause-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pause-state.d.ts","sourceRoot":"","sources":["../../src/pm/pause-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAEhD"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * PM Agent pause state — single-process shared mutable state for the pause/resume
3
+ * Slack commands. Extracted to a micro-module so that `slack-commands.ts` can read
4
+ * and write the flag without importing from `slack-interface.ts`, which would create
5
+ * a circular dependency (slack-interface imports slack-commands; slack-commands must
6
+ * not import back from slack-interface).
7
+ *
8
+ * Note: single-process only. For multi-process deploys, replace with a Redis-backed
9
+ * implementation.
10
+ */
11
+ let paused = false;
12
+ /**
13
+ * Returns `true` if the PM Agent is currently paused.
14
+ *
15
+ * Pause is active when EITHER of the following is true (OR logic):
16
+ * - `process.env.PM_AGENT_PAUSED === "true"` — env-var path for no-Slack incident
17
+ * response. Toggling requires a container restart (env vars are read at each
18
+ * tick invocation, not at module load time).
19
+ * - `setPmPaused(true)` has been called via the Slack `/pm pause` command.
20
+ *
21
+ * The env-var takes priority: setting `PM_AGENT_PAUSED=true` keeps the agent
22
+ * paused even if `setPmPaused(false)` is subsequently called via Slack.
23
+ */
24
+ export function isPmPaused() {
25
+ return process.env.PM_AGENT_PAUSED === "true" || paused;
26
+ }
27
+ /**
28
+ * Sets the Slack-driven pause flag. Use `setPmPaused(true)` when the user
29
+ * sends `/pm pause` and `setPmPaused(false)` for `/pm resume`.
30
+ */
31
+ export function setPmPaused(value) {
32
+ paused = value;
33
+ }
34
+ //# sourceMappingURL=pause-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pause-state.js","sourceRoot":"","sources":["../../src/pm/pause-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,IAAI,MAAM,GAAG,KAAK,CAAC;AAEnB;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,MAAM,IAAI,MAAM,CAAC;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,MAAM,GAAG,KAAK,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/pm/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/pm/scheduler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE5E,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAA2B,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC5F,OAAO,EAAyB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAoB,KAAK,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC3H,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAgC,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACjG,OAAO,EAAmB,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAkB,MAAM,eAAe,CAAC;AAInF,OAAO,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAejD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,EAAE,CAAC;IACP,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE;QACP,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACtH,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACvC;AAED,UAAU,kBAAkB;IAC1B,cAAc,EAAE,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3F,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,oBAAoB,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7D,4BAA4B,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC3E,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACxE,eAAe,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,gBAAgB,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACpF,kBAAkB,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,uBAAuB,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,qBAAqB,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjE,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,eAAe,EAAE,OAAO,eAAe,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,CAwepE"}
@@ -25,12 +25,23 @@ import { createLogger } from "../logger.js";
25
25
  import { logAuditEventUnchecked, budgetRefusedEvent, pruneAuditLog } from "../audit/index.js";
26
26
  import { pruneExpiredSessions } from "../auth/index.js";
27
27
  import { recomputeCostRollups } from "../cost/index.js";
28
+ import { createAuthMonitor } from "../executor/auth-monitor.js";
28
29
  const log = createLogger({ component: "PmAgent:scheduler" });
29
30
  export function createPmScheduler(deps) {
30
31
  const actions = deps.actions;
31
32
  const { getClient: getLinearClient } = createLazyLinearClient(deps.linearApiKey);
32
33
  let slackNotifier = null;
33
34
  const callClaudeFn = makeCallClaude();
35
+ // BEC-207: AuthMonitor — periodic Claude session health-check (every 6h).
36
+ // Alerts to the PM agent's Slack channel when SLACK_ERROR_ALERTS=true.
37
+ // No-ops when CLAUDE_CODE_OAUTH_TOKEN or ANTHROPIC_API_KEY is set.
38
+ const authMonitor = createAuthMonitor({
39
+ slackBotToken: deps.slackBotToken || undefined,
40
+ slackErrorChannel: process.env.SLACK_ERROR_ALERTS === "true"
41
+ ? deps.config.slackChannelId
42
+ : undefined,
43
+ db: deps.db,
44
+ });
34
45
  function getSlackNotifier() {
35
46
  if (!slackNotifier) {
36
47
  slackNotifier = new PmSlackNotifier({
@@ -457,6 +468,14 @@ export function createPmScheduler(deps) {
457
468
  catch (err) {
458
469
  log.warn({ err }, "cost rollup failed");
459
470
  }
471
+ // BEC-207: AuthMonitor — periodic Claude session health-check (every 6h).
472
+ // Throttled internally; fire-and-forget safe.
473
+ try {
474
+ await authMonitor.tick();
475
+ }
476
+ catch (err) {
477
+ log.warn({ err }, "auth monitor tick failed");
478
+ }
460
479
  log.info({
461
480
  triaged: tick.triaged.length,
462
481
  promoted: tick.promoted.filter((p) => p.promoted).length,
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/pm/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/pm/scheduler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * PM Agent — bulk issue creation via Claude analysis.
3
+ *
4
+ * Responsibility: given a free-text request from a Slack user, ask Claude Sonnet
5
+ * to produce a structured list of issue specifications that can be bulk-created
6
+ * in Linear.
7
+ *
8
+ * Extracted from `slack-interface.ts` (BEC-195) so that this single concern has
9
+ * its own file and can be unit-tested independently.
10
+ */
11
+ /**
12
+ * A single issue specification produced by `analyzeBulkCreateRequest`.
13
+ * Each field maps directly to a Linear issue field; `acceptanceCriteria` are
14
+ * appended to the issue description as a checklist.
15
+ */
16
+ export interface BulkIssueSpec {
17
+ title: string;
18
+ description: string;
19
+ priority: number;
20
+ acceptanceCriteria: string[];
21
+ }
22
+ /**
23
+ * Uses a capable Claude model (Sonnet) to analyze a bulk create request and
24
+ * produce a structured list of issue specifications ready for Linear creation.
25
+ *
26
+ * @param request - Free-text user request describing what issues to create
27
+ * (e.g. "find all gaps in error handling and create tickets for them").
28
+ * @param callClaudeSonnet - Callable that sends a prompt to Claude Sonnet and
29
+ * returns the raw text response.
30
+ * @returns Array of up to 10 `BulkIssueSpec` objects, or an empty array when
31
+ * the request cannot be analyzed or Claude returns malformed JSON.
32
+ */
33
+ export declare function analyzeBulkCreateRequest(request: string, callClaudeSonnet: (prompt: string) => Promise<string>): Promise<BulkIssueSpec[]>;
34
+ //# sourceMappingURL=slack-bulk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-bulk.d.ts","sourceRoot":"","sources":["../../src/pm/slack-bulk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAiCH;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GACpD,OAAO,CAAC,aAAa,EAAE,CAAC,CAkE1B"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * PM Agent — bulk issue creation via Claude analysis.
3
+ *
4
+ * Responsibility: given a free-text request from a Slack user, ask Claude Sonnet
5
+ * to produce a structured list of issue specifications that can be bulk-created
6
+ * in Linear.
7
+ *
8
+ * Extracted from `slack-interface.ts` (BEC-195) so that this single concern has
9
+ * its own file and can be unit-tested independently.
10
+ */
11
+ import { createLogger } from "../logger.js";
12
+ import { sanitize } from "../executor/prompt/sanitizer.js";
13
+ const log = createLogger({ component: "PmAgent:slack-bulk" });
14
+ // ---------------------------------------------------------------------------
15
+ // Constants
16
+ // ---------------------------------------------------------------------------
17
+ /** Valid numeric priority values accepted by Linear (1=Urgent … 4=Low). */
18
+ const VALID_PRIORITIES = [1, 2, 3, 4];
19
+ /** Default priority used when a generated issue omits or has an invalid value. */
20
+ const DEFAULT_PRIORITY = 3;
21
+ /** Maximum allowed character length for an issue title. */
22
+ const MAX_ISSUE_TITLE_LENGTH = 200;
23
+ /** Maximum allowed character length for an issue description. */
24
+ const MAX_ISSUE_DESCRIPTION_LENGTH = 5000;
25
+ /** Maximum number of acceptance criteria strings per issue. */
26
+ const MAX_ACCEPTANCE_CRITERIA_COUNT = 10;
27
+ /** Maximum number of issue specs returned by a single bulk create request. */
28
+ const MAX_BULK_ISSUE_SPECS = 10;
29
+ // ---------------------------------------------------------------------------
30
+ // Public API
31
+ // ---------------------------------------------------------------------------
32
+ /**
33
+ * Uses a capable Claude model (Sonnet) to analyze a bulk create request and
34
+ * produce a structured list of issue specifications ready for Linear creation.
35
+ *
36
+ * @param request - Free-text user request describing what issues to create
37
+ * (e.g. "find all gaps in error handling and create tickets for them").
38
+ * @param callClaudeSonnet - Callable that sends a prompt to Claude Sonnet and
39
+ * returns the raw text response.
40
+ * @returns Array of up to 10 `BulkIssueSpec` objects, or an empty array when
41
+ * the request cannot be analyzed or Claude returns malformed JSON.
42
+ */
43
+ export async function analyzeBulkCreateRequest(request, callClaudeSonnet) {
44
+ const safe = sanitize(request);
45
+ const prompt = `You are a software PM Agent. A user asked: "${safe}"\n\n` +
46
+ `Analyze this request and generate a list of concrete, actionable software issues to create.\n` +
47
+ `Each issue must have a clear title, description, priority (1=urgent, 2=high, 3=medium, 4=low), and acceptance criteria.\n\n` +
48
+ `Respond ONLY with a JSON array (no other text), e.g.:\n` +
49
+ `[\n` +
50
+ ` {\n` +
51
+ ` "title": "Issue title",\n` +
52
+ ` "description": "Clear description of what needs to be done",\n` +
53
+ ` "priority": 2,\n` +
54
+ ` "acceptanceCriteria": ["Criterion 1", "Criterion 2"]\n` +
55
+ ` }\n` +
56
+ `]\n\n` +
57
+ `Rules:\n` +
58
+ `- Generate between 1 and 10 issues\n` +
59
+ `- Each issue must be specific and actionable\n` +
60
+ `- Priority must be 1, 2, 3, or 4\n` +
61
+ `- acceptanceCriteria must be a non-empty array of strings\n` +
62
+ `- Respond ONLY with the JSON array, no markdown fences or explanation`;
63
+ try {
64
+ const raw = await callClaudeSonnet(prompt);
65
+ // Parse the array — look for a JSON array in the response
66
+ const arrayMatch = raw.match(/\[[\s\S]*\]/);
67
+ if (!arrayMatch) {
68
+ log.warn({ responsePreview: raw.slice(0, 200) }, "bulk create: no JSON array in Claude response");
69
+ return [];
70
+ }
71
+ let parsed;
72
+ try {
73
+ parsed = JSON.parse(arrayMatch[0]);
74
+ }
75
+ catch {
76
+ log.warn({ responsePreview: raw.slice(0, 200) }, "bulk create: failed to parse JSON array");
77
+ return [];
78
+ }
79
+ if (!Array.isArray(parsed))
80
+ return [];
81
+ const specs = [];
82
+ for (const item of parsed) {
83
+ if (typeof item !== "object" || item === null)
84
+ continue;
85
+ const title = typeof item.title === "string" ? item.title.trim() : "";
86
+ const description = typeof item.description === "string" ? item.description.trim() : "";
87
+ const priority = typeof item.priority === "number" && VALID_PRIORITIES.includes(item.priority)
88
+ ? item.priority
89
+ : DEFAULT_PRIORITY;
90
+ const acceptanceCriteria = Array.isArray(item.acceptanceCriteria)
91
+ ? item.acceptanceCriteria.filter((c) => typeof c === "string" && c.trim().length > 0)
92
+ : [];
93
+ if (!title)
94
+ continue;
95
+ // Cap field lengths to prevent excessively large Linear issues.
96
+ specs.push({
97
+ title: title.slice(0, MAX_ISSUE_TITLE_LENGTH),
98
+ description: description.slice(0, MAX_ISSUE_DESCRIPTION_LENGTH),
99
+ priority,
100
+ acceptanceCriteria: acceptanceCriteria.slice(0, MAX_ACCEPTANCE_CRITERIA_COUNT),
101
+ });
102
+ }
103
+ return specs.slice(0, MAX_BULK_ISSUE_SPECS);
104
+ }
105
+ catch (err) {
106
+ log.warn({ err }, "bulk create: failed to analyze request");
107
+ return [];
108
+ }
109
+ }
110
+ //# sourceMappingURL=slack-bulk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-bulk.js","sourceRoot":"","sources":["../../src/pm/slack-bulk.ts"],"names":[],"mappings":"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"}